ETH Price: $3,526.49 (+6.95%)

Token

Lonely Bones Club (LB)
 

Overview

Max Total Supply

4,444 LB

Holders

545

Market

Volume (24H)

N/A

Min Price (24H)

N/A

Max Price (24H)

N/A

Other Info

Balance
4 LB
0x4cab324924bef71bf88e686487d0487ff0dad400
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

An NFT collection of 4444 Lonely Bones – unique characters built with a wide variety of unique traits on the Ethereum blockchain.

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
lonelyBonesClub

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: MIT


//  https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/utils/introspection/IERC165.sol
pragma solidity ^0.8.0;

interface IERC165 {
   
    function supportsInterface(bytes4 interfaceId) external view returns (bool);
}

// https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC721/IERC721.sol
pragma solidity ^0.8.0;

interface IERC721 is IERC165 {
  
    event Transfer(address indexed from, address indexed to, uint256 indexed tokenId);

  
    event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId);

 
    event ApprovalForAll(address indexed owner, address indexed operator, bool approved);

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

 
    function ownerOf(uint256 tokenId) external view returns (address owner);

    function safeTransferFrom(
        address from,
        address to,
        uint256 tokenId
    ) external;

    
    function transferFrom(
        address from,
        address to,
        uint256 tokenId
    ) external;

   
    function approve(address to, uint256 tokenId) external;

 
    function getApproved(uint256 tokenId) external view returns (address operator);

    function setApprovalForAll(address operator, bool _approved) external;

   
    function isApprovedForAll(address owner, address operator) external view returns (bool);

    function safeTransferFrom(
        address from,
        address to,
        uint256 tokenId,
        bytes calldata data
    ) external;
}



// File: @openzeppelin/contracts/utils/introspection/ERC165.sol
pragma solidity ^0.8.0;

abstract contract ERC165 is IERC165 {
 
    function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {
        return interfaceId == type(IERC165).interfaceId;
    }
}


pragma solidity ^0.8.0;
// conerts to ASCII
library Strings {
    bytes16 private constant _HEX_SYMBOLS = "0123456789abcdef";


    function toString(uint256 value) internal pure returns (string memory) {
        // Inspired by OraclizeAPI's implementation - MIT licence
        // https://github.com/oraclize/ethereum-api/blob/b42146b063c7d6ee1358846c198246239e9360e8/oraclizeAPI_0.4.25.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 toHexString(uint256 value) internal pure returns (string memory) {
        if (value == 0) {
            return "0x00";
        }
        uint256 temp = value;
        uint256 length = 0;
        while (temp != 0) {
            length++;
            temp >>= 8;
        }
        return toHexString(value, length);
    }

   
    function toHexString(uint256 value, uint256 length) internal pure returns (string memory) {
        bytes memory buffer = new bytes(2 * length + 2);
        buffer[0] = "0";
        buffer[1] = "x";
        for (uint256 i = 2 * length + 1; i > 1; --i) {
            buffer[i] = _HEX_SYMBOLS[value & 0xf];
            value >>= 4;
        }
        require(value == 0, "Strings: hex length insufficient");
        return string(buffer);
    }
}

// https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/utils/Address.sol

pragma solidity ^0.8.0;
//address functions
library Address {
  
    function isContract(address account) internal view returns (bool) {

        uint256 size;
        assembly {
            size := extcodesize(account)
        }
        return size > 0;
    }

 
    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");

        (bool success, ) = recipient.call{value: amount}("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }


    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionCall(target, data, "Address: low-level call failed");
    }

  
    function functionCall(
        address target,
        bytes memory data,
        string memory errorMessage
    ) internal returns (bytes memory) {
        return functionCallWithValue(target, data, 0, errorMessage);
    }

  
    function functionCallWithValue(
        address target,
        bytes memory data,
        uint256 value
    ) internal returns (bytes memory) {
        return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
    }

   
    function functionCallWithValue(
        address target,
        bytes memory data,
        uint256 value,
        string memory errorMessage
    ) internal returns (bytes memory) {
        require(address(this).balance >= value, "Address: insufficient balance for call");
        require(isContract(target), "Address: call to non-contract");

        (bool success, bytes memory returndata) = target.call{value: value}(data);
        return verifyCallResult(success, returndata, errorMessage);
    }

   
    function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {
        return functionStaticCall(target, data, "Address: low-level static call failed");
    }

   
    function functionStaticCall(
        address target,
        bytes memory data,
        string memory errorMessage
    ) internal view returns (bytes memory) {
        require(isContract(target), "Address: static call to non-contract");

        (bool success, bytes memory returndata) = target.staticcall(data);
        return verifyCallResult(success, returndata, errorMessage);
    }

  
    function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionDelegateCall(target, data, "Address: low-level delegate call failed");
    }


    function functionDelegateCall(
        address target,
        bytes memory data,
        string memory errorMessage
    ) internal returns (bytes memory) {
        require(isContract(target), "Address: delegate call to non-contract");

        (bool success, bytes memory returndata) = target.delegatecall(data);
        return verifyCallResult(success, returndata, errorMessage);
    }

  
    function verifyCallResult(
        bool success,
        bytes memory returndata,
        string memory errorMessage
    ) internal pure returns (bytes memory) {
        if (success) {
            return returndata;
        } else {
            
            if (returndata.length > 0) {
                

                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}

// https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC721/extensions/IERC721Metadata.sol

pragma solidity ^0.8.0;


//ERC-721 Token Standard
 
interface IERC721Metadata is IERC721 {
   
    function name() external view returns (string memory);

   
    function symbol() external view returns (string memory);

  
    function tokenURI(uint256 tokenId) external view returns (string memory);
}

// https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC721/IERC721Receiver.sol

pragma solidity ^0.8.0;



interface IERC721Receiver {

    function onERC721Received(
        address operator,
        address from,
        uint256 tokenId,
        bytes calldata data
    ) external returns (bytes4);
}

// https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/utils/Context.sol
pragma solidity ^0.8.0;

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

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


// https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC721/ERC721.sol
pragma solidity ^0.8.0;

contract ERC721 is Context, ERC165, IERC721, IERC721Metadata {
    using Address for address;
    using Strings for uint256;

    string private _name;

    string private _symbol;

    mapping(uint256 => address) private _owners;

    mapping(address => uint256) private _balances;

    mapping(uint256 => address) private _tokenApprovals;

    mapping(address => mapping(address => bool)) private _operatorApprovals;
//coolection constructor
    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

   
    function supportsInterface(bytes4 interfaceId) public view virtual override(ERC165, IERC165) returns (bool) {
        return
            interfaceId == type(IERC721).interfaceId ||
            interfaceId == type(IERC721Metadata).interfaceId ||
            super.supportsInterface(interfaceId);
    }


    function balanceOf(address owner) public view virtual override returns (uint256) {
        require(owner != address(0), "ERC721: balance query for the zero address");
        return _balances[owner];
    }


    function ownerOf(uint256 tokenId) public view virtual override returns (address) {
        address owner = _owners[tokenId];
        require(owner != address(0), "ERC721: owner query for nonexistent token");
        return owner;
    }

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

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

  
    function tokenURI(uint256 tokenId) public view virtual override returns (string memory) {
        require(_exists(tokenId), "ERC721Metadata: URI query for nonexistent token");

        string memory baseURI = _baseURI();
        return bytes(baseURI).length > 0 ? string(abi.encodePacked(baseURI, tokenId.toString())) : "";
    }

 
    function _baseURI() internal view virtual returns (string memory) {
        return "";
    }

    function approve(address to, uint256 tokenId) public virtual override {
        address owner = ERC721.ownerOf(tokenId);
        require(to != owner, "ERC721: approval to current owner");

        require(
            _msgSender() == owner || isApprovedForAll(owner, _msgSender()),
            "ERC721: approve caller is not owner nor approved for all"
        );

        _approve(to, tokenId);
    }

   
    function getApproved(uint256 tokenId) public view virtual override returns (address) {
        require(_exists(tokenId), "ERC721: approved query for nonexistent token");

        return _tokenApprovals[tokenId];
    }

   
    function setApprovalForAll(address operator, bool approved) public virtual override {
        require(operator != _msgSender(), "ERC721: approve to caller");

        _operatorApprovals[_msgSender()][operator] = approved;
        emit ApprovalForAll(_msgSender(), operator, approved);
    }

  
    function isApprovedForAll(address owner, address operator) public view virtual override returns (bool) {
        return _operatorApprovals[owner][operator];
    }

    function transferFrom(
        address from,
        address to,
        uint256 tokenId
    ) public virtual override {
        
        require(_isApprovedOrOwner(_msgSender(), tokenId), "ERC721: transfer caller is not owner nor approved");

        _transfer(from, to, tokenId);
    }

 
    function safeTransferFrom(
        address from,
        address to,
        uint256 tokenId
    ) public virtual override {
        safeTransferFrom(from, to, tokenId, "");
    }

  
    function safeTransferFrom(
        address from,
        address to,
        uint256 tokenId,
        bytes memory _data
    ) public virtual override {
        require(_isApprovedOrOwner(_msgSender(), tokenId), "ERC721: transfer caller is not owner nor approved");
        _safeTransfer(from, to, tokenId, _data);
    }

   
    function _safeTransfer(
        address from,
        address to,
        uint256 tokenId,
        bytes memory _data
    ) internal virtual {
        _transfer(from, to, tokenId);
        require(_checkOnERC721Received(from, to, tokenId, _data), "ERC721: transfer to non ERC721Receiver implementer");
    }


    function _exists(uint256 tokenId) internal view virtual returns (bool) {
        return _owners[tokenId] != address(0);
    }

  
    function _isApprovedOrOwner(address spender, uint256 tokenId) internal view virtual returns (bool) {
        require(_exists(tokenId), "ERC721: operator query for nonexistent token");
        address owner = ERC721.ownerOf(tokenId);
        return (spender == owner || getApproved(tokenId) == spender || isApprovedForAll(owner, spender));
    }

   
    function _safeMint(address to, uint256 tokenId) internal virtual {
        _safeMint(to, tokenId, "");
    }

  
    function _safeMint(
        address to,
        uint256 tokenId,
        bytes memory _data
    ) internal virtual {
        _mint(to, tokenId);
        require(
            _checkOnERC721Received(address(0), to, tokenId, _data),
            "ERC721: transfer to non ERC721Receiver implementer"
        );
    }

 
    function _mint(address to, uint256 tokenId) internal virtual {
        require(to != address(0), "ERC721: mint to the zero address");
        require(!_exists(tokenId), "ERC721: token already minted");

        _beforeTokenTransfer(address(0), to, tokenId);

        _balances[to] += 1;
        _owners[tokenId] = to;

        emit Transfer(address(0), to, tokenId);
    }

   
    function _burn(uint256 tokenId) internal virtual {
        address owner = ERC721.ownerOf(tokenId);

        _beforeTokenTransfer(owner, address(0), tokenId);


        _approve(address(0), tokenId);

        _balances[owner] -= 1;
        delete _owners[tokenId];

        emit Transfer(owner, address(0), tokenId);
    }

   
    function _transfer(
        address from,
        address to,
        uint256 tokenId
    ) internal virtual {
        require(ERC721.ownerOf(tokenId) == from, "ERC721: transfer of token that is not own");
        require(to != address(0), "ERC721: transfer to the zero address");

        _beforeTokenTransfer(from, to, tokenId);

    
        _approve(address(0), tokenId);

        _balances[from] -= 1;
        _balances[to] += 1;
        _owners[tokenId] = to;

        emit Transfer(from, to, tokenId);
    }

  
    function _approve(address to, uint256 tokenId) internal virtual {
        _tokenApprovals[tokenId] = to;
        emit Approval(ERC721.ownerOf(tokenId), to, tokenId);
    }

    
    function _checkOnERC721Received(
        address from,
        address to,
        uint256 tokenId,
        bytes memory _data
    ) private returns (bool) {
        if (to.isContract()) {
            try IERC721Receiver(to).onERC721Received(_msgSender(), from, tokenId, _data) returns (bytes4 retval) {
                return retval == IERC721Receiver.onERC721Received.selector;
            } catch (bytes memory reason) {
                if (reason.length == 0) {
                    revert("ERC721: transfer to non ERC721Receiver implementer");
                } else {
                    assembly {
                        revert(add(32, reason), mload(reason))
                    }
                }
            }
        } else {
            return true;
        }
    }

    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 tokenId
    ) internal virtual {}
}




// https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/access/Ownable.sol

pragma solidity ^0.8.0;
// owner only commands
abstract contract Ownable is Context {
    address private _owner;

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

 //owner constructor
    constructor() {
        _setOwner(_msgSender());
    }

  
    function owner() public view virtual returns (address) {
        return _owner;
    }

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


    function renounceOwnership() public virtual onlyOwner {
        _setOwner(address(0));
    }

 
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _setOwner(newOwner);
    }

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}



/*   __        ______   ______  __  ________   __      ___  ___
    |  |      /       \ |     \|  | |   ____| |  |     \  \/  /
    |  |      |   _   | |  |\  |  | |  | ___  |  |      \    /
    |  |      |  |_|  | |  | \    | |   ____| |  |       |  |
    |  |_____ |       | |  |  \   | |  |____  |  |____   |  |
    |______ /  \ _ __/  |__|   \__| |_______| |______/   |__|
	
 	 ______      ______   _____   ___  ________     _________
    |   __  \   /       \ |     \|  | |   _____|   |  _______|
    |  |__|  |  |   _   | |  |\  |  | |  |_____    |  |___
    |   __ <    |  |_|  | |  | \    | |   _____|   |       \
    |  |__|  |  |       | |  |  \   | |  |_____    \____    |
    |______ /   \_______/ |__|   \__| |________|        /  /
 	 __________________________________________________/  /  
	 \___________________________________________________/
	

                        f i r e b u g 5 0 9                     
*/
pragma solidity >=0.7.0 <0.9.0;

contract lonelyBonesClub is ERC721, Ownable {
  using Strings for uint256;
 
  string public _collectionName= "Lonely Bones Club";
  string public _collectionSymbol="LB";

  string baseURI="ipfs://CID/";
  string public baseExtension = ".json";

  uint256 public cost = 0.05 ether;
  uint256 public whiteListCost = 0.035 ether;

  uint256 public maxSupply = 4444;
  uint256 public maxMintAmount = 3;
  uint256 public whiteListMintAmount=2;

  //track mints
  uint256 public amountMinted;

  bool public paused = true;
  bool public revealed = false;
  string public notRevealedUri;


  //white list toggle
  bool public whiteListActive=false;
  //claim list toggle
  bool public claimListActive=false;
 

    //payable adresses on withdraw
    //address one = community wallet
    address private addressOne = 0x2FA32ec6d1207b2327766b58993B8428ebeCb7Ac;
    address private addressTwo = 0x7e54507e286a3C54699a8B457294A5B219aE116b;

    //whitelist mapping
    mapping(address => uint256) private _whiteList;
    uint256 public addressCount;
    //claim list mapping
    mapping(address => uint256) private _claimList;
    uint256 public claimCount;


  constructor(string memory _unRevealedURI) 
  
  ERC721(_collectionName, _collectionSymbol)
   {
    setNotRevealedURI(_unRevealedURI);
  
  }

  function _baseURI() internal view virtual override returns (string memory) {
    return baseURI;
  }

  // public minting fuction + WL check
  function mint(uint256 _mintAmount) public payable {

    uint256 mintSupply = totalSupply();

//manage whitelist request

    if(_whiteList[msg.sender]>0){
        require(whiteListActive, "whitelist not active");
        require(_mintAmount<=_whiteList[msg.sender],"Exceeded max available to purchase");
        require(_mintAmount > 0, "mint amount cant be 0");
        require(_mintAmount <= whiteListMintAmount, "Cant mint over the max mint amount");
        require(mintSupply + _mintAmount <= maxSupply, "Purchase would exceed max supply");
        require(msg.value>= whiteListCost*_mintAmount,"Eth value sent is not correct");

        _whiteList[msg.sender] -= _mintAmount;
          for (uint256 i = 1; i <= _mintAmount; i++) {
      
      _safeMint(msg.sender, mintSupply + i);
      
    }
     if(_whiteList[msg.sender]==0){
          addressCount-=1;
      }
    amountMinted+=_mintAmount;
    }
 
//manage public mint
  else{
      mintSupply=totalSupply();
    require(!paused, "Contract is paused");
    require(_mintAmount > 0, "mint amount cant be 0");
    require(_mintAmount <= maxMintAmount, "Cant mint over the max mint amount");
    require(mintSupply + _mintAmount <= maxSupply, "Mint amount is too high there may not be enough left to mint that many");

    if (msg.sender != owner()) {
      require(msg.value >= cost * _mintAmount);
    }
  

    for (uint256 i = 1; i <= _mintAmount; i++) {
      
      _safeMint(msg.sender, mintSupply + i);
    }
    amountMinted+=_mintAmount;
  }

  }

  //claimable list mint funtion

function mintClaimList(uint256 numberOfTokens) external payable {
    uint256 currentSupply = totalSupply();

    require(claimListActive, "Claim list is not active");
    require(numberOfTokens <= _claimList[msg.sender], "Exceeded max available to purchase");
    require(currentSupply + numberOfTokens <= maxSupply, "Purchase would exceed max supply");
    // cost taken down to 0 for claims
    //require(cost * numberOfTokens <= msg.value, "Eth value sent is not correct");

    _claimList[msg.sender] -= numberOfTokens;
    for (uint256 i = 1; i <= (numberOfTokens); i++) {
        _safeMint(msg.sender, currentSupply + i);
    }
    if(_claimList[msg.sender]==0){
          claimCount-=1;
      }
    amountMinted+=numberOfTokens;
 }

//return total supply minted
 function totalSupply() public view returns (uint256) {
    return amountMinted;
  }
//gas efficient function to find token ids owned by address

   function walletOfOwner(address _owner)
    public
    view
    returns (uint256[] memory)
  {
    uint256 ownerTokenCount = balanceOf(_owner);
    uint256[] memory ownedTokenIds = new uint256[](ownerTokenCount);
    uint256 currentTokenId = 1;
    uint256 ownedTokenIndex = 0;

    while (ownedTokenIndex < ownerTokenCount && currentTokenId <= maxSupply) {
      address currentTokenOwner = ownerOf(currentTokenId);

      if (currentTokenOwner == _owner) {
        ownedTokenIds[ownedTokenIndex] = currentTokenId;

        ownedTokenIndex++;
      }

      currentTokenId++;
    }

    return ownedTokenIds;
  }


  function tokenURI(uint256 tokenId)
    public
    view
    virtual
    override
    returns (string memory)
  {
    require(_exists(tokenId),"ERC721Metadata: URI query for nonexistent token");
    
    if(revealed == false) {
        return notRevealedUri;
    }

    string memory currentBaseURI = _baseURI();
    return bytes(currentBaseURI).length > 0
        ? string(abi.encodePacked(currentBaseURI, tokenId.toString(), baseExtension))
        : "";
  }

  //actions for the owner to interact with contract
  function setReveal(bool _newBool) public onlyOwner() {
      revealed = _newBool;
  }

// update mint cost
  function setCost(uint256 _newCost) public onlyOwner() {
    cost = _newCost;
  }
  // update WL mint cost
  function setWhiteListCost(uint256 _newCost) public onlyOwner() {
    whiteListCost = _newCost;
  }
// max mint amount
  function setmaxMintAmount(uint256 _newmaxMintAmount) public onlyOwner() {
    maxMintAmount = _newmaxMintAmount;
  }
//revealed bool  
  function setNotRevealedURI(string memory _notRevealedURI) public onlyOwner {
    notRevealedUri = _notRevealedURI;
  }
//base URI extension
  function setBaseURI(string memory _newBaseURI) public onlyOwner {
    baseURI = _newBaseURI;
  }
//set extension (.json)
  function setBaseExtension(string memory _newBaseExtension) public onlyOwner {
    baseExtension = _newBaseExtension;
  }
//contract paused state
  function pause(bool _state) public onlyOwner {
    paused = _state;
  }
  //white list fuctions
//set single address
  function setwhiteList(address addressInput, uint256 numAllowedToMint) external onlyOwner {
       
            _whiteList[addressInput] = numAllowedToMint;
            addressCount+=1;
    }
//set white list to true or false for active
    function setwhiteListActive(bool _whiteListActive) external onlyOwner {
        whiteListActive = _whiteListActive;
    }
//reset addressCount (white list count)
    function addressCountReset(uint256 _newCount) public onlyOwner {
       addressCount=_newCount;
    }
//set a full address list 
function setFullwhiteList(address[] calldata addresses, uint256 numAllowedToMint) external onlyOwner {
    for (uint256 i = 0; i < addresses.length; i++) {
        _whiteList[addresses[i]] = numAllowedToMint;
    
    }
    addressCount+=addresses.length;
}
//claim functions
//set single claim address
function setClaimList(address addressInput, uint256 numAllowedToMint) external onlyOwner {
       
            _claimList[addressInput] = numAllowedToMint;
            addressCount+=1;
    }
//set claim list to true or false for active
    function setClaimListActive(bool _claimListActive) external onlyOwner {
        claimListActive = _claimListActive;
    }
//reset claimCount (claim list count)
    function claimCountReset(uint256 _newCount) public onlyOwner {
        claimCount=_newCount;
    }
//set a full claim address list 
function setFullClaimList(address[] calldata addresses, uint256 numAllowedToMint) external onlyOwner {
    for (uint256 i = 0; i < addresses.length; i++) {
        _claimList[addresses[i]] = numAllowedToMint;
    }
    claimCount+=addresses.length;
}

 //primary withdraw, withdraw % to address 1 % to address 2
  function primaryWithdraw() public payable onlyOwner {
   uint256 CurrentBalance = address(this).balance;
        payable(addressOne).transfer((CurrentBalance * 50) / 100);
        payable(addressTwo).transfer((CurrentBalance * 50) / 100);

  }

}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"_unRevealedURI","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","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":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_collectionName","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_collectionSymbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"addressCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newCount","type":"uint256"}],"name":"addressCountReset","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"amountMinted","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"baseExtension","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claimCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newCount","type":"uint256"}],"name":"claimCountReset","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claimListActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"cost","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","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":"maxMintAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_mintAmount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"numberOfTokens","type":"uint256"}],"name":"mintClaimList","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"notRevealedUri","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":"tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_state","type":"bool"}],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"primaryWithdraw","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"revealed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","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":"tokenId","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":"string","name":"_newBaseExtension","type":"string"}],"name":"setBaseExtension","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_newBaseURI","type":"string"}],"name":"setBaseURI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addressInput","type":"address"},{"internalType":"uint256","name":"numAllowedToMint","type":"uint256"}],"name":"setClaimList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_claimListActive","type":"bool"}],"name":"setClaimListActive","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newCost","type":"uint256"}],"name":"setCost","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"uint256","name":"numAllowedToMint","type":"uint256"}],"name":"setFullClaimList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"uint256","name":"numAllowedToMint","type":"uint256"}],"name":"setFullwhiteList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_notRevealedURI","type":"string"}],"name":"setNotRevealedURI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_newBool","type":"bool"}],"name":"setReveal","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newCost","type":"uint256"}],"name":"setWhiteListCost","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newmaxMintAmount","type":"uint256"}],"name":"setmaxMintAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addressInput","type":"address"},{"internalType":"uint256","name":"numAllowedToMint","type":"uint256"}],"name":"setwhiteList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_whiteListActive","type":"bool"}],"name":"setwhiteListActive","outputs":[],"stateMutability":"nonpayable","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":"uint256","name":"tokenId","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","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":"address","name":"_owner","type":"address"}],"name":"walletOfOwner","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"whiteListActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"whiteListCost","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"whiteListMintAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]

60c060405260116080819052702637b732b63c902137b732b99021b63ab160791b60a0908152620000349160079190620003c7565b5060408051808201909152600280825261262160f11b60209092019182526200006091600891620003c7565b5060408051808201909152600b8082526a697066733a2f2f4349442f60a81b60209092019182526200009591600991620003c7565b5060408051808201909152600580825264173539b7b760d91b6020909201918252620000c491600a91620003c7565b5066b1a2bc2ec50000600b55667c585087238000600c5561115c600d556003600e556002600f556011805461ffff1916600117905560138054752fa32ec6d1207b2327766b58993b8428ebecb7ac00006001600160b01b0319909116179055601480546001600160a01b031916737e54507e286a3c54699a8b457294a5b219ae116b1790553480156200015657600080fd5b50604051620032543803806200325483398101604081905262000179916200046d565b60078054620001889062000549565b80601f0160208091040260200160405190810160405280929190818152602001828054620001b69062000549565b8015620002075780601f10620001db5761010080835404028352916020019162000207565b820191906000526020600020905b815481529060010190602001808311620001e957829003601f168201915b5050505050600880546200021b9062000549565b80601f0160208091040260200160405190810160405280929190818152602001828054620002499062000549565b80156200029a5780601f106200026e576101008083540402835291602001916200029a565b820191906000526020600020905b8154815290600101906020018083116200027c57829003601f168201915b50508451620002b4935060009250602086019150620003c7565b508051620002ca906001906020840190620003c7565b505050620002e7620002e1620002f960201b60201c565b620002fd565b620002f2816200034f565b506200059c565b3390565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6006546001600160a01b03163314620003ae5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640160405180910390fd5b8051620003c3906012906020840190620003c7565b5050565b828054620003d59062000549565b90600052602060002090601f016020900481019282620003f9576000855562000444565b82601f106200041457805160ff191683800117855562000444565b8280016001018555821562000444579182015b828111156200044457825182559160200191906001019062000427565b506200045292915062000456565b5090565b5b8082111562000452576000815560010162000457565b600060208083850312156200048157600080fd5b82516001600160401b03808211156200049957600080fd5b818501915085601f830112620004ae57600080fd5b815181811115620004c357620004c362000586565b604051601f8201601f19908116603f01168101908382118183101715620004ee57620004ee62000586565b8160405282815288868487010111156200050757600080fd5b600093505b828410156200052b57848401860151818501870152928501926200050c565b828411156200053d5760008684830101525b98975050505050505050565b600181811c908216806200055e57607f821691505b602082108114156200058057634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052604160045260246000fd5b612ca880620005ac6000396000f3fe60806040526004361061031a5760003560e01c806370a08231116101ab578063a22cb465116100f7578063c904a7f011610095578063e985e9c51161006f578063e985e9c5146108b7578063f2c4ce1e14610900578063f2fde38b14610920578063fab1f9b11461094057600080fd5b8063c904a7f01461086b578063d5abeb0114610881578063da3ef23f1461089757600080fd5b8063ba07689e116100d1578063ba07689e1461080e578063c668286214610816578063c7e9d1411461082b578063c87b56dd1461084b57600080fd5b8063a22cb465146107ae578063b518f0ea146107ce578063b88d4fde146107ee57600080fd5b80638da4d3c91161016457806395d89b411161013e57806395d89b41146107505780639b2c36df146107655780639d80c81814610785578063a0712d681461079b57600080fd5b80638da4d3c9146107065780638da5cb5b1461071c5780639257e0441461073a57600080fd5b806370a082311461065b578063715018a61461067b578063771a25b2146106905780637af284d5146106b05780637f00c7a6146106c65780638aed67f8146106e657600080fd5b80632e4355cd1161026a5780634f56282c1161022357806359391040116101fd57806359391040146105e15780635c975abb14610601578063618c15491461061b5780636352211e1461063b57600080fd5b80634f56282c1461058257806351830227146105a257806355f804b3146105c157600080fd5b80632e4355cd146104c6578063349cd113146104e0578063367c718f146104f557806342842e0e14610515578063438b63001461053557806344a0d68a1461056257600080fd5b806313faede6116102d7578063239c70ae116102b1578063239c70ae1461045d57806323b872dd146104735780632a3f300c146104935780632dca3366146104b357600080fd5b806313faede61461040557806318160ddd146104295780631bd558cf1461043e57600080fd5b806301ffc9a71461031f57806302329a291461035457806306fdde0314610376578063081812fc14610398578063081c8c44146103d0578063095ea7b3146103e5575b600080fd5b34801561032b57600080fd5b5061033f61033a366004612790565b610955565b60405190151581526020015b60405180910390f35b34801561036057600080fd5b5061037461036f366004612775565b6109a7565b005b34801561038257600080fd5b5061038b6109ed565b60405161034b919061299d565b3480156103a457600080fd5b506103b86103b3366004612813565b610a7f565b6040516001600160a01b03909116815260200161034b565b3480156103dc57600080fd5b5061038b610b14565b3480156103f157600080fd5b506103746104003660046126d0565b610ba2565b34801561041157600080fd5b5061041b600b5481565b60405190815260200161034b565b34801561043557600080fd5b5060105461041b565b34801561044a57600080fd5b5060135461033f90610100900460ff1681565b34801561046957600080fd5b5061041b600e5481565b34801561047f57600080fd5b5061037461048e3660046125ee565b610cb8565b34801561049f57600080fd5b506103746104ae366004612775565b610ce9565b6103746104c1366004612813565b610d2d565b3480156104d257600080fd5b5060135461033f9060ff1681565b3480156104ec57600080fd5b5061038b610eb9565b34801561050157600080fd5b50610374610510366004612775565b610ec6565b34801561052157600080fd5b506103746105303660046125ee565b610f0a565b34801561054157600080fd5b506105556105503660046125a0565b610f25565b60405161034b9190612959565b34801561056e57600080fd5b5061037461057d366004612813565b611006565b34801561058e57600080fd5b5061037461059d366004612775565b611035565b3480156105ae57600080fd5b5060115461033f90610100900460ff1681565b3480156105cd57600080fd5b506103746105dc3660046127ca565b611072565b3480156105ed57600080fd5b506103746105fc3660046126d0565b6110b3565b34801561060d57600080fd5b5060115461033f9060ff1681565b34801561062757600080fd5b50610374610636366004612813565b61110b565b34801561064757600080fd5b506103b8610656366004612813565b61113a565b34801561066757600080fd5b5061041b6106763660046125a0565b6111b1565b34801561068757600080fd5b50610374611238565b34801561069c57600080fd5b506103746106ab3660046126d0565b61126e565b3480156106bc57600080fd5b5061041b60105481565b3480156106d257600080fd5b506103746106e1366004612813565b6112c6565b3480156106f257600080fd5b506103746107013660046126fa565b6112f5565b34801561071257600080fd5b5061041b60185481565b34801561072857600080fd5b506006546001600160a01b03166103b8565b34801561074657600080fd5b5061041b600c5481565b34801561075c57600080fd5b5061038b6113a2565b34801561077157600080fd5b506103746107803660046126fa565b6113b1565b34801561079157600080fd5b5061041b60165481565b6103746107a9366004612813565b611454565b3480156107ba57600080fd5b506103746107c93660046126a6565b61185a565b3480156107da57600080fd5b506103746107e9366004612813565b61191f565b3480156107fa57600080fd5b5061037461080936600461262a565b61194e565b610374611986565b34801561082257600080fd5b5061038b611a55565b34801561083757600080fd5b50610374610846366004612813565b611a62565b34801561085757600080fd5b5061038b610866366004612813565b611a91565b34801561087757600080fd5b5061041b600f5481565b34801561088d57600080fd5b5061041b600d5481565b3480156108a357600080fd5b506103746108b23660046127ca565b611c10565b3480156108c357600080fd5b5061033f6108d23660046125bb565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b34801561090c57600080fd5b5061037461091b3660046127ca565b611c4d565b34801561092c57600080fd5b5061037461093b3660046125a0565b611c8a565b34801561094c57600080fd5b5061038b611d25565b60006001600160e01b031982166380ac58cd60e01b148061098657506001600160e01b03198216635b5e139f60e01b145b806109a157506301ffc9a760e01b6001600160e01b03198316145b92915050565b6006546001600160a01b031633146109da5760405162461bcd60e51b81526004016109d190612a44565b60405180910390fd5b6011805460ff1916911515919091179055565b6060600080546109fc90612b9a565b80601f0160208091040260200160405190810160405280929190818152602001828054610a2890612b9a565b8015610a755780601f10610a4a57610100808354040283529160200191610a75565b820191906000526020600020905b815481529060010190602001808311610a5857829003601f168201915b5050505050905090565b6000818152600260205260408120546001600160a01b0316610af85760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084016109d1565b506000908152600460205260409020546001600160a01b031690565b60128054610b2190612b9a565b80601f0160208091040260200160405190810160405280929190818152602001828054610b4d90612b9a565b8015610b9a5780601f10610b6f57610100808354040283529160200191610b9a565b820191906000526020600020905b815481529060010190602001808311610b7d57829003601f168201915b505050505081565b6000610bad8261113a565b9050806001600160a01b0316836001600160a01b03161415610c1b5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084016109d1565b336001600160a01b0382161480610c375750610c3781336108d2565b610ca95760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c000000000000000060648201526084016109d1565b610cb38383611d32565b505050565b610cc23382611da0565b610cde5760405162461bcd60e51b81526004016109d190612abb565b610cb3838383611e97565b6006546001600160a01b03163314610d135760405162461bcd60e51b81526004016109d190612a44565b601180549115156101000261ff0019909216919091179055565b6000610d3860105490565b601354909150610100900460ff16610d925760405162461bcd60e51b815260206004820152601860248201527f436c61696d206c697374206973206e6f7420616374697665000000000000000060448201526064016109d1565b33600090815260176020526040902054821115610dc15760405162461bcd60e51b81526004016109d190612a79565b600d54610dce8383612b0c565b1115610e1c5760405162461bcd60e51b815260206004820181905260248201527f507572636861736520776f756c6420657863656564206d617820737570706c7960448201526064016109d1565b3360009081526017602052604081208054849290610e3b908490612b57565b90915550600190505b828111610e7057610e5e33610e598385612b0c565b612037565b80610e6881612bd5565b915050610e44565b5033600090815260176020526040902054610e9e57600160186000828254610e989190612b57565b90915550505b8160106000828254610eb09190612b0c565b90915550505050565b60078054610b2190612b9a565b6006546001600160a01b03163314610ef05760405162461bcd60e51b81526004016109d190612a44565b601380549115156101000261ff0019909216919091179055565b610cb38383836040518060200160405280600081525061194e565b60606000610f32836111b1565b905060008167ffffffffffffffff811115610f4f57610f4f612c46565b604051908082528060200260200182016040528015610f78578160200160208202803683370190505b509050600160005b8381108015610f915750600d548211155b15610ffc576000610fa18361113a565b9050866001600160a01b0316816001600160a01b03161415610fe95782848381518110610fd057610fd0612c30565b602090810291909101015281610fe581612bd5565b9250505b82610ff381612bd5565b93505050610f80565b5090949350505050565b6006546001600160a01b031633146110305760405162461bcd60e51b81526004016109d190612a44565b600b55565b6006546001600160a01b0316331461105f5760405162461bcd60e51b81526004016109d190612a44565b6013805460ff1916911515919091179055565b6006546001600160a01b0316331461109c5760405162461bcd60e51b81526004016109d190612a44565b80516110af906009906020840190612465565b5050565b6006546001600160a01b031633146110dd5760405162461bcd60e51b81526004016109d190612a44565b6001600160a01b03821660009081526017602052604081208290556016805460019290610eb0908490612b0c565b6006546001600160a01b031633146111355760405162461bcd60e51b81526004016109d190612a44565b601855565b6000818152600260205260408120546001600160a01b0316806109a15760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b60648201526084016109d1565b60006001600160a01b03821661121c5760405162461bcd60e51b815260206004820152602a60248201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604482015269726f206164647265737360b01b60648201526084016109d1565b506001600160a01b031660009081526003602052604090205490565b6006546001600160a01b031633146112625760405162461bcd60e51b81526004016109d190612a44565b61126c6000612051565b565b6006546001600160a01b031633146112985760405162461bcd60e51b81526004016109d190612a44565b6001600160a01b03821660009081526015602052604081208290556016805460019290610eb0908490612b0c565b6006546001600160a01b031633146112f05760405162461bcd60e51b81526004016109d190612a44565b600e55565b6006546001600160a01b0316331461131f5760405162461bcd60e51b81526004016109d190612a44565b60005b8281101561138257816015600086868581811061134157611341612c30565b905060200201602081019061135691906125a0565b6001600160a01b031681526020810191909152604001600020558061137a81612bd5565b915050611322565b5082829050601660008282546113989190612b0c565b9091555050505050565b6060600180546109fc90612b9a565b6006546001600160a01b031633146113db5760405162461bcd60e51b81526004016109d190612a44565b60005b8281101561143e5781601760008686858181106113fd576113fd612c30565b905060200201602081019061141291906125a0565b6001600160a01b031681526020810191909152604001600020558061143681612bd5565b9150506113de565b5082829050601860008282546113989190612b0c565b600061145f60105490565b33600090815260156020526040902054909150156116ab5760135460ff166114c05760405162461bcd60e51b815260206004820152601460248201527377686974656c697374206e6f742061637469766560601b60448201526064016109d1565b336000908152601560205260409020548211156114ef5760405162461bcd60e51b81526004016109d190612a79565b600082116115375760405162461bcd60e51b815260206004820152601560248201527406d696e7420616d6f756e742063616e74206265203605c1b60448201526064016109d1565b600f548211156115595760405162461bcd60e51b81526004016109d1906129b0565b600d546115668383612b0c565b11156115b45760405162461bcd60e51b815260206004820181905260248201527f507572636861736520776f756c6420657863656564206d617820737570706c7960448201526064016109d1565b81600c546115c29190612b38565b3410156116115760405162461bcd60e51b815260206004820152601d60248201527f4574682076616c75652073656e74206973206e6f7420636f727265637400000060448201526064016109d1565b3360009081526015602052604081208054849290611630908490612b57565b90915550600190505b8281116116605761164e33610e598385612b0c565b8061165881612bd5565b915050611639565b503360009081526015602052604090205461168e576001601660008282546116889190612b57565b90915550505b81601060008282546116a09190612b0c565b909155506110af9050565b5060105460115460ff16156116f75760405162461bcd60e51b815260206004820152601260248201527110dbdb9d1c9858dd081a5cc81c185d5cd95960721b60448201526064016109d1565b6000821161173f5760405162461bcd60e51b815260206004820152601560248201527406d696e7420616d6f756e742063616e74206265203605c1b60448201526064016109d1565b600e548211156117615760405162461bcd60e51b81526004016109d1906129b0565b600d5461176e8383612b0c565b11156117f15760405162461bcd60e51b815260206004820152604660248201527f4d696e7420616d6f756e7420697320746f6f2068696768207468657265206d6160448201527f79206e6f7420626520656e6f756768206c65667420746f206d696e742074686160648201526574206d616e7960d01b608482015260a4016109d1565b6006546001600160a01b0316331461181d5781600b546118119190612b38565b34101561181d57600080fd5b60015b8281116118475761183533610e598385612b0c565b8061183f81612bd5565b915050611820565b508160106000828254610eb09190612b0c565b6001600160a01b0382163314156118b35760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016109d1565b3360008181526005602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6006546001600160a01b031633146119495760405162461bcd60e51b81526004016109d190612a44565b601655565b6119583383611da0565b6119745760405162461bcd60e51b81526004016109d190612abb565b611980848484846120a3565b50505050565b6006546001600160a01b031633146119b05760405162461bcd60e51b81526004016109d190612a44565b60135447906201000090046001600160a01b03166108fc60646119d4846032612b38565b6119de9190612b24565b6040518115909202916000818181858888f19350505050158015611a06573d6000803e3d6000fd5b506014546001600160a01b03166108fc6064611a23846032612b38565b611a2d9190612b24565b6040518115909202916000818181858888f193505050501580156110af573d6000803e3d6000fd5b600a8054610b2190612b9a565b6006546001600160a01b03163314611a8c5760405162461bcd60e51b81526004016109d190612a44565b600c55565b6000818152600260205260409020546060906001600160a01b0316611b105760405162461bcd60e51b815260206004820152602f60248201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60448201526e3732bc34b9ba32b73a103a37b5b2b760891b60648201526084016109d1565b601154610100900460ff16611bb15760128054611b2c90612b9a565b80601f0160208091040260200160405190810160405280929190818152602001828054611b5890612b9a565b8015611ba55780601f10611b7a57610100808354040283529160200191611ba5565b820191906000526020600020905b815481529060010190602001808311611b8857829003601f168201915b50505050509050919050565b6000611bbb6120d6565b90506000815111611bdb5760405180602001604052806000815250611c09565b80611be5846120e5565b600a604051602001611bf993929190612858565b6040516020818303038152906040525b9392505050565b6006546001600160a01b03163314611c3a5760405162461bcd60e51b81526004016109d190612a44565b80516110af90600a906020840190612465565b6006546001600160a01b03163314611c775760405162461bcd60e51b81526004016109d190612a44565b80516110af906012906020840190612465565b6006546001600160a01b03163314611cb45760405162461bcd60e51b81526004016109d190612a44565b6001600160a01b038116611d195760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016109d1565b611d2281612051565b50565b60088054610b2190612b9a565b600081815260046020526040902080546001600160a01b0319166001600160a01b0384169081179091558190611d678261113a565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000818152600260205260408120546001600160a01b0316611e195760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084016109d1565b6000611e248361113a565b9050806001600160a01b0316846001600160a01b03161480611e5f5750836001600160a01b0316611e5484610a7f565b6001600160a01b0316145b80611e8f57506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b949350505050565b826001600160a01b0316611eaa8261113a565b6001600160a01b031614611f125760405162461bcd60e51b815260206004820152602960248201527f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960448201526839903737ba1037bbb760b91b60648201526084016109d1565b6001600160a01b038216611f745760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016109d1565b611f7f600082611d32565b6001600160a01b0383166000908152600360205260408120805460019290611fa8908490612b57565b90915550506001600160a01b0382166000908152600360205260408120805460019290611fd6908490612b0c565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6110af8282604051806020016040528060008152506121e3565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6120ae848484611e97565b6120ba84848484612216565b6119805760405162461bcd60e51b81526004016109d1906129f2565b6060600980546109fc90612b9a565b6060816121095750506040805180820190915260018152600360fc1b602082015290565b8160005b8115612133578061211d81612bd5565b915061212c9050600a83612b24565b915061210d565b60008167ffffffffffffffff81111561214e5761214e612c46565b6040519080825280601f01601f191660200182016040528015612178576020820181803683370190505b5090505b8415611e8f5761218d600183612b57565b915061219a600a86612bf0565b6121a5906030612b0c565b60f81b8183815181106121ba576121ba612c30565b60200101906001600160f81b031916908160001a9053506121dc600a86612b24565b945061217c565b6121ed8383612323565b6121fa6000848484612216565b610cb35760405162461bcd60e51b81526004016109d1906129f2565b60006001600160a01b0384163b1561231857604051630a85bd0160e11b81526001600160a01b0385169063150b7a029061225a90339089908890889060040161291c565b602060405180830381600087803b15801561227457600080fd5b505af19250505080156122a4575060408051601f3d908101601f191682019092526122a1918101906127ad565b60015b6122fe573d8080156122d2576040519150601f19603f3d011682016040523d82523d6000602084013e6122d7565b606091505b5080516122f65760405162461bcd60e51b81526004016109d1906129f2565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611e8f565b506001949350505050565b6001600160a01b0382166123795760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016109d1565b6000818152600260205260409020546001600160a01b0316156123de5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016109d1565b6001600160a01b0382166000908152600360205260408120805460019290612407908490612b0c565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b82805461247190612b9a565b90600052602060002090601f01602090048101928261249357600085556124d9565b82601f106124ac57805160ff19168380011785556124d9565b828001600101855582156124d9579182015b828111156124d95782518255916020019190600101906124be565b506124e59291506124e9565b5090565b5b808211156124e557600081556001016124ea565b600067ffffffffffffffff8084111561251957612519612c46565b604051601f8501601f19908116603f0116810190828211818310171561254157612541612c46565b8160405280935085815286868601111561255a57600080fd5b858560208301376000602087830101525050509392505050565b80356001600160a01b038116811461258b57600080fd5b919050565b8035801515811461258b57600080fd5b6000602082840312156125b257600080fd5b611c0982612574565b600080604083850312156125ce57600080fd5b6125d783612574565b91506125e560208401612574565b90509250929050565b60008060006060848603121561260357600080fd5b61260c84612574565b925061261a60208501612574565b9150604084013590509250925092565b6000806000806080858703121561264057600080fd5b61264985612574565b935061265760208601612574565b925060408501359150606085013567ffffffffffffffff81111561267a57600080fd5b8501601f8101871361268b57600080fd5b61269a878235602084016124fe565b91505092959194509250565b600080604083850312156126b957600080fd5b6126c283612574565b91506125e560208401612590565b600080604083850312156126e357600080fd5b6126ec83612574565b946020939093013593505050565b60008060006040848603121561270f57600080fd5b833567ffffffffffffffff8082111561272757600080fd5b818601915086601f83011261273b57600080fd5b81358181111561274a57600080fd5b8760208260051b850101111561275f57600080fd5b6020928301989097509590910135949350505050565b60006020828403121561278757600080fd5b611c0982612590565b6000602082840312156127a257600080fd5b8135611c0981612c5c565b6000602082840312156127bf57600080fd5b8151611c0981612c5c565b6000602082840312156127dc57600080fd5b813567ffffffffffffffff8111156127f357600080fd5b8201601f8101841361280457600080fd5b611e8f848235602084016124fe565b60006020828403121561282557600080fd5b5035919050565b60008151808452612844816020860160208601612b6e565b601f01601f19169290920160200192915050565b60008451602061286b8285838a01612b6e565b85519184019161287e8184848a01612b6e565b8554920191600090600181811c908083168061289b57607f831692505b8583108114156128b957634e487b7160e01b85526022600452602485fd5b8080156128cd57600181146128de5761290b565b60ff1985168852838801955061290b565b60008b81526020902060005b858110156129035781548a8201529084019088016128ea565b505083880195505b50939b9a5050505050505050505050565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061294f9083018461282c565b9695505050505050565b6020808252825182820181905260009190848201906040850190845b8181101561299157835183529284019291840191600101612975565b50909695505050505050565b602081526000611c09602083018461282c565b60208082526022908201527f43616e74206d696e74206f76657220746865206d6178206d696e7420616d6f756040820152611b9d60f21b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526022908201527f4578636565646564206d617820617661696c61626c6520746f20707572636861604082015261736560f01b606082015260800190565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b60008219821115612b1f57612b1f612c04565b500190565b600082612b3357612b33612c1a565b500490565b6000816000190483118215151615612b5257612b52612c04565b500290565b600082821015612b6957612b69612c04565b500390565b60005b83811015612b89578181015183820152602001612b71565b838111156119805750506000910152565b600181811c90821680612bae57607f821691505b60208210811415612bcf57634e487b7160e01b600052602260045260246000fd5b50919050565b6000600019821415612be957612be9612c04565b5060010190565b600082612bff57612bff612c1a565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160e01b031981168114611d2257600080fdfea264697066735822122067573f610901eed94ac9a589bf7fa78765e36c8bc9a19d68d5ad939b5791c5c564736f6c6343000807003300000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000049697066733a2f2f516d57443169774c4c645238354c4d776e38457a515769583967335271334b793137563478354b4d32426b6634432f48696464656e4d657461646174612e6a736f6e0000000000000000000000000000000000000000000000

Deployed Bytecode

0x60806040526004361061031a5760003560e01c806370a08231116101ab578063a22cb465116100f7578063c904a7f011610095578063e985e9c51161006f578063e985e9c5146108b7578063f2c4ce1e14610900578063f2fde38b14610920578063fab1f9b11461094057600080fd5b8063c904a7f01461086b578063d5abeb0114610881578063da3ef23f1461089757600080fd5b8063ba07689e116100d1578063ba07689e1461080e578063c668286214610816578063c7e9d1411461082b578063c87b56dd1461084b57600080fd5b8063a22cb465146107ae578063b518f0ea146107ce578063b88d4fde146107ee57600080fd5b80638da4d3c91161016457806395d89b411161013e57806395d89b41146107505780639b2c36df146107655780639d80c81814610785578063a0712d681461079b57600080fd5b80638da4d3c9146107065780638da5cb5b1461071c5780639257e0441461073a57600080fd5b806370a082311461065b578063715018a61461067b578063771a25b2146106905780637af284d5146106b05780637f00c7a6146106c65780638aed67f8146106e657600080fd5b80632e4355cd1161026a5780634f56282c1161022357806359391040116101fd57806359391040146105e15780635c975abb14610601578063618c15491461061b5780636352211e1461063b57600080fd5b80634f56282c1461058257806351830227146105a257806355f804b3146105c157600080fd5b80632e4355cd146104c6578063349cd113146104e0578063367c718f146104f557806342842e0e14610515578063438b63001461053557806344a0d68a1461056257600080fd5b806313faede6116102d7578063239c70ae116102b1578063239c70ae1461045d57806323b872dd146104735780632a3f300c146104935780632dca3366146104b357600080fd5b806313faede61461040557806318160ddd146104295780631bd558cf1461043e57600080fd5b806301ffc9a71461031f57806302329a291461035457806306fdde0314610376578063081812fc14610398578063081c8c44146103d0578063095ea7b3146103e5575b600080fd5b34801561032b57600080fd5b5061033f61033a366004612790565b610955565b60405190151581526020015b60405180910390f35b34801561036057600080fd5b5061037461036f366004612775565b6109a7565b005b34801561038257600080fd5b5061038b6109ed565b60405161034b919061299d565b3480156103a457600080fd5b506103b86103b3366004612813565b610a7f565b6040516001600160a01b03909116815260200161034b565b3480156103dc57600080fd5b5061038b610b14565b3480156103f157600080fd5b506103746104003660046126d0565b610ba2565b34801561041157600080fd5b5061041b600b5481565b60405190815260200161034b565b34801561043557600080fd5b5060105461041b565b34801561044a57600080fd5b5060135461033f90610100900460ff1681565b34801561046957600080fd5b5061041b600e5481565b34801561047f57600080fd5b5061037461048e3660046125ee565b610cb8565b34801561049f57600080fd5b506103746104ae366004612775565b610ce9565b6103746104c1366004612813565b610d2d565b3480156104d257600080fd5b5060135461033f9060ff1681565b3480156104ec57600080fd5b5061038b610eb9565b34801561050157600080fd5b50610374610510366004612775565b610ec6565b34801561052157600080fd5b506103746105303660046125ee565b610f0a565b34801561054157600080fd5b506105556105503660046125a0565b610f25565b60405161034b9190612959565b34801561056e57600080fd5b5061037461057d366004612813565b611006565b34801561058e57600080fd5b5061037461059d366004612775565b611035565b3480156105ae57600080fd5b5060115461033f90610100900460ff1681565b3480156105cd57600080fd5b506103746105dc3660046127ca565b611072565b3480156105ed57600080fd5b506103746105fc3660046126d0565b6110b3565b34801561060d57600080fd5b5060115461033f9060ff1681565b34801561062757600080fd5b50610374610636366004612813565b61110b565b34801561064757600080fd5b506103b8610656366004612813565b61113a565b34801561066757600080fd5b5061041b6106763660046125a0565b6111b1565b34801561068757600080fd5b50610374611238565b34801561069c57600080fd5b506103746106ab3660046126d0565b61126e565b3480156106bc57600080fd5b5061041b60105481565b3480156106d257600080fd5b506103746106e1366004612813565b6112c6565b3480156106f257600080fd5b506103746107013660046126fa565b6112f5565b34801561071257600080fd5b5061041b60185481565b34801561072857600080fd5b506006546001600160a01b03166103b8565b34801561074657600080fd5b5061041b600c5481565b34801561075c57600080fd5b5061038b6113a2565b34801561077157600080fd5b506103746107803660046126fa565b6113b1565b34801561079157600080fd5b5061041b60165481565b6103746107a9366004612813565b611454565b3480156107ba57600080fd5b506103746107c93660046126a6565b61185a565b3480156107da57600080fd5b506103746107e9366004612813565b61191f565b3480156107fa57600080fd5b5061037461080936600461262a565b61194e565b610374611986565b34801561082257600080fd5b5061038b611a55565b34801561083757600080fd5b50610374610846366004612813565b611a62565b34801561085757600080fd5b5061038b610866366004612813565b611a91565b34801561087757600080fd5b5061041b600f5481565b34801561088d57600080fd5b5061041b600d5481565b3480156108a357600080fd5b506103746108b23660046127ca565b611c10565b3480156108c357600080fd5b5061033f6108d23660046125bb565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b34801561090c57600080fd5b5061037461091b3660046127ca565b611c4d565b34801561092c57600080fd5b5061037461093b3660046125a0565b611c8a565b34801561094c57600080fd5b5061038b611d25565b60006001600160e01b031982166380ac58cd60e01b148061098657506001600160e01b03198216635b5e139f60e01b145b806109a157506301ffc9a760e01b6001600160e01b03198316145b92915050565b6006546001600160a01b031633146109da5760405162461bcd60e51b81526004016109d190612a44565b60405180910390fd5b6011805460ff1916911515919091179055565b6060600080546109fc90612b9a565b80601f0160208091040260200160405190810160405280929190818152602001828054610a2890612b9a565b8015610a755780601f10610a4a57610100808354040283529160200191610a75565b820191906000526020600020905b815481529060010190602001808311610a5857829003601f168201915b5050505050905090565b6000818152600260205260408120546001600160a01b0316610af85760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084016109d1565b506000908152600460205260409020546001600160a01b031690565b60128054610b2190612b9a565b80601f0160208091040260200160405190810160405280929190818152602001828054610b4d90612b9a565b8015610b9a5780601f10610b6f57610100808354040283529160200191610b9a565b820191906000526020600020905b815481529060010190602001808311610b7d57829003601f168201915b505050505081565b6000610bad8261113a565b9050806001600160a01b0316836001600160a01b03161415610c1b5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084016109d1565b336001600160a01b0382161480610c375750610c3781336108d2565b610ca95760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c000000000000000060648201526084016109d1565b610cb38383611d32565b505050565b610cc23382611da0565b610cde5760405162461bcd60e51b81526004016109d190612abb565b610cb3838383611e97565b6006546001600160a01b03163314610d135760405162461bcd60e51b81526004016109d190612a44565b601180549115156101000261ff0019909216919091179055565b6000610d3860105490565b601354909150610100900460ff16610d925760405162461bcd60e51b815260206004820152601860248201527f436c61696d206c697374206973206e6f7420616374697665000000000000000060448201526064016109d1565b33600090815260176020526040902054821115610dc15760405162461bcd60e51b81526004016109d190612a79565b600d54610dce8383612b0c565b1115610e1c5760405162461bcd60e51b815260206004820181905260248201527f507572636861736520776f756c6420657863656564206d617820737570706c7960448201526064016109d1565b3360009081526017602052604081208054849290610e3b908490612b57565b90915550600190505b828111610e7057610e5e33610e598385612b0c565b612037565b80610e6881612bd5565b915050610e44565b5033600090815260176020526040902054610e9e57600160186000828254610e989190612b57565b90915550505b8160106000828254610eb09190612b0c565b90915550505050565b60078054610b2190612b9a565b6006546001600160a01b03163314610ef05760405162461bcd60e51b81526004016109d190612a44565b601380549115156101000261ff0019909216919091179055565b610cb38383836040518060200160405280600081525061194e565b60606000610f32836111b1565b905060008167ffffffffffffffff811115610f4f57610f4f612c46565b604051908082528060200260200182016040528015610f78578160200160208202803683370190505b509050600160005b8381108015610f915750600d548211155b15610ffc576000610fa18361113a565b9050866001600160a01b0316816001600160a01b03161415610fe95782848381518110610fd057610fd0612c30565b602090810291909101015281610fe581612bd5565b9250505b82610ff381612bd5565b93505050610f80565b5090949350505050565b6006546001600160a01b031633146110305760405162461bcd60e51b81526004016109d190612a44565b600b55565b6006546001600160a01b0316331461105f5760405162461bcd60e51b81526004016109d190612a44565b6013805460ff1916911515919091179055565b6006546001600160a01b0316331461109c5760405162461bcd60e51b81526004016109d190612a44565b80516110af906009906020840190612465565b5050565b6006546001600160a01b031633146110dd5760405162461bcd60e51b81526004016109d190612a44565b6001600160a01b03821660009081526017602052604081208290556016805460019290610eb0908490612b0c565b6006546001600160a01b031633146111355760405162461bcd60e51b81526004016109d190612a44565b601855565b6000818152600260205260408120546001600160a01b0316806109a15760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b60648201526084016109d1565b60006001600160a01b03821661121c5760405162461bcd60e51b815260206004820152602a60248201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604482015269726f206164647265737360b01b60648201526084016109d1565b506001600160a01b031660009081526003602052604090205490565b6006546001600160a01b031633146112625760405162461bcd60e51b81526004016109d190612a44565b61126c6000612051565b565b6006546001600160a01b031633146112985760405162461bcd60e51b81526004016109d190612a44565b6001600160a01b03821660009081526015602052604081208290556016805460019290610eb0908490612b0c565b6006546001600160a01b031633146112f05760405162461bcd60e51b81526004016109d190612a44565b600e55565b6006546001600160a01b0316331461131f5760405162461bcd60e51b81526004016109d190612a44565b60005b8281101561138257816015600086868581811061134157611341612c30565b905060200201602081019061135691906125a0565b6001600160a01b031681526020810191909152604001600020558061137a81612bd5565b915050611322565b5082829050601660008282546113989190612b0c565b9091555050505050565b6060600180546109fc90612b9a565b6006546001600160a01b031633146113db5760405162461bcd60e51b81526004016109d190612a44565b60005b8281101561143e5781601760008686858181106113fd576113fd612c30565b905060200201602081019061141291906125a0565b6001600160a01b031681526020810191909152604001600020558061143681612bd5565b9150506113de565b5082829050601860008282546113989190612b0c565b600061145f60105490565b33600090815260156020526040902054909150156116ab5760135460ff166114c05760405162461bcd60e51b815260206004820152601460248201527377686974656c697374206e6f742061637469766560601b60448201526064016109d1565b336000908152601560205260409020548211156114ef5760405162461bcd60e51b81526004016109d190612a79565b600082116115375760405162461bcd60e51b815260206004820152601560248201527406d696e7420616d6f756e742063616e74206265203605c1b60448201526064016109d1565b600f548211156115595760405162461bcd60e51b81526004016109d1906129b0565b600d546115668383612b0c565b11156115b45760405162461bcd60e51b815260206004820181905260248201527f507572636861736520776f756c6420657863656564206d617820737570706c7960448201526064016109d1565b81600c546115c29190612b38565b3410156116115760405162461bcd60e51b815260206004820152601d60248201527f4574682076616c75652073656e74206973206e6f7420636f727265637400000060448201526064016109d1565b3360009081526015602052604081208054849290611630908490612b57565b90915550600190505b8281116116605761164e33610e598385612b0c565b8061165881612bd5565b915050611639565b503360009081526015602052604090205461168e576001601660008282546116889190612b57565b90915550505b81601060008282546116a09190612b0c565b909155506110af9050565b5060105460115460ff16156116f75760405162461bcd60e51b815260206004820152601260248201527110dbdb9d1c9858dd081a5cc81c185d5cd95960721b60448201526064016109d1565b6000821161173f5760405162461bcd60e51b815260206004820152601560248201527406d696e7420616d6f756e742063616e74206265203605c1b60448201526064016109d1565b600e548211156117615760405162461bcd60e51b81526004016109d1906129b0565b600d5461176e8383612b0c565b11156117f15760405162461bcd60e51b815260206004820152604660248201527f4d696e7420616d6f756e7420697320746f6f2068696768207468657265206d6160448201527f79206e6f7420626520656e6f756768206c65667420746f206d696e742074686160648201526574206d616e7960d01b608482015260a4016109d1565b6006546001600160a01b0316331461181d5781600b546118119190612b38565b34101561181d57600080fd5b60015b8281116118475761183533610e598385612b0c565b8061183f81612bd5565b915050611820565b508160106000828254610eb09190612b0c565b6001600160a01b0382163314156118b35760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016109d1565b3360008181526005602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6006546001600160a01b031633146119495760405162461bcd60e51b81526004016109d190612a44565b601655565b6119583383611da0565b6119745760405162461bcd60e51b81526004016109d190612abb565b611980848484846120a3565b50505050565b6006546001600160a01b031633146119b05760405162461bcd60e51b81526004016109d190612a44565b60135447906201000090046001600160a01b03166108fc60646119d4846032612b38565b6119de9190612b24565b6040518115909202916000818181858888f19350505050158015611a06573d6000803e3d6000fd5b506014546001600160a01b03166108fc6064611a23846032612b38565b611a2d9190612b24565b6040518115909202916000818181858888f193505050501580156110af573d6000803e3d6000fd5b600a8054610b2190612b9a565b6006546001600160a01b03163314611a8c5760405162461bcd60e51b81526004016109d190612a44565b600c55565b6000818152600260205260409020546060906001600160a01b0316611b105760405162461bcd60e51b815260206004820152602f60248201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60448201526e3732bc34b9ba32b73a103a37b5b2b760891b60648201526084016109d1565b601154610100900460ff16611bb15760128054611b2c90612b9a565b80601f0160208091040260200160405190810160405280929190818152602001828054611b5890612b9a565b8015611ba55780601f10611b7a57610100808354040283529160200191611ba5565b820191906000526020600020905b815481529060010190602001808311611b8857829003601f168201915b50505050509050919050565b6000611bbb6120d6565b90506000815111611bdb5760405180602001604052806000815250611c09565b80611be5846120e5565b600a604051602001611bf993929190612858565b6040516020818303038152906040525b9392505050565b6006546001600160a01b03163314611c3a5760405162461bcd60e51b81526004016109d190612a44565b80516110af90600a906020840190612465565b6006546001600160a01b03163314611c775760405162461bcd60e51b81526004016109d190612a44565b80516110af906012906020840190612465565b6006546001600160a01b03163314611cb45760405162461bcd60e51b81526004016109d190612a44565b6001600160a01b038116611d195760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016109d1565b611d2281612051565b50565b60088054610b2190612b9a565b600081815260046020526040902080546001600160a01b0319166001600160a01b0384169081179091558190611d678261113a565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000818152600260205260408120546001600160a01b0316611e195760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084016109d1565b6000611e248361113a565b9050806001600160a01b0316846001600160a01b03161480611e5f5750836001600160a01b0316611e5484610a7f565b6001600160a01b0316145b80611e8f57506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b949350505050565b826001600160a01b0316611eaa8261113a565b6001600160a01b031614611f125760405162461bcd60e51b815260206004820152602960248201527f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960448201526839903737ba1037bbb760b91b60648201526084016109d1565b6001600160a01b038216611f745760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016109d1565b611f7f600082611d32565b6001600160a01b0383166000908152600360205260408120805460019290611fa8908490612b57565b90915550506001600160a01b0382166000908152600360205260408120805460019290611fd6908490612b0c565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6110af8282604051806020016040528060008152506121e3565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6120ae848484611e97565b6120ba84848484612216565b6119805760405162461bcd60e51b81526004016109d1906129f2565b6060600980546109fc90612b9a565b6060816121095750506040805180820190915260018152600360fc1b602082015290565b8160005b8115612133578061211d81612bd5565b915061212c9050600a83612b24565b915061210d565b60008167ffffffffffffffff81111561214e5761214e612c46565b6040519080825280601f01601f191660200182016040528015612178576020820181803683370190505b5090505b8415611e8f5761218d600183612b57565b915061219a600a86612bf0565b6121a5906030612b0c565b60f81b8183815181106121ba576121ba612c30565b60200101906001600160f81b031916908160001a9053506121dc600a86612b24565b945061217c565b6121ed8383612323565b6121fa6000848484612216565b610cb35760405162461bcd60e51b81526004016109d1906129f2565b60006001600160a01b0384163b1561231857604051630a85bd0160e11b81526001600160a01b0385169063150b7a029061225a90339089908890889060040161291c565b602060405180830381600087803b15801561227457600080fd5b505af19250505080156122a4575060408051601f3d908101601f191682019092526122a1918101906127ad565b60015b6122fe573d8080156122d2576040519150601f19603f3d011682016040523d82523d6000602084013e6122d7565b606091505b5080516122f65760405162461bcd60e51b81526004016109d1906129f2565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611e8f565b506001949350505050565b6001600160a01b0382166123795760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016109d1565b6000818152600260205260409020546001600160a01b0316156123de5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016109d1565b6001600160a01b0382166000908152600360205260408120805460019290612407908490612b0c565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b82805461247190612b9a565b90600052602060002090601f01602090048101928261249357600085556124d9565b82601f106124ac57805160ff19168380011785556124d9565b828001600101855582156124d9579182015b828111156124d95782518255916020019190600101906124be565b506124e59291506124e9565b5090565b5b808211156124e557600081556001016124ea565b600067ffffffffffffffff8084111561251957612519612c46565b604051601f8501601f19908116603f0116810190828211818310171561254157612541612c46565b8160405280935085815286868601111561255a57600080fd5b858560208301376000602087830101525050509392505050565b80356001600160a01b038116811461258b57600080fd5b919050565b8035801515811461258b57600080fd5b6000602082840312156125b257600080fd5b611c0982612574565b600080604083850312156125ce57600080fd5b6125d783612574565b91506125e560208401612574565b90509250929050565b60008060006060848603121561260357600080fd5b61260c84612574565b925061261a60208501612574565b9150604084013590509250925092565b6000806000806080858703121561264057600080fd5b61264985612574565b935061265760208601612574565b925060408501359150606085013567ffffffffffffffff81111561267a57600080fd5b8501601f8101871361268b57600080fd5b61269a878235602084016124fe565b91505092959194509250565b600080604083850312156126b957600080fd5b6126c283612574565b91506125e560208401612590565b600080604083850312156126e357600080fd5b6126ec83612574565b946020939093013593505050565b60008060006040848603121561270f57600080fd5b833567ffffffffffffffff8082111561272757600080fd5b818601915086601f83011261273b57600080fd5b81358181111561274a57600080fd5b8760208260051b850101111561275f57600080fd5b6020928301989097509590910135949350505050565b60006020828403121561278757600080fd5b611c0982612590565b6000602082840312156127a257600080fd5b8135611c0981612c5c565b6000602082840312156127bf57600080fd5b8151611c0981612c5c565b6000602082840312156127dc57600080fd5b813567ffffffffffffffff8111156127f357600080fd5b8201601f8101841361280457600080fd5b611e8f848235602084016124fe565b60006020828403121561282557600080fd5b5035919050565b60008151808452612844816020860160208601612b6e565b601f01601f19169290920160200192915050565b60008451602061286b8285838a01612b6e565b85519184019161287e8184848a01612b6e565b8554920191600090600181811c908083168061289b57607f831692505b8583108114156128b957634e487b7160e01b85526022600452602485fd5b8080156128cd57600181146128de5761290b565b60ff1985168852838801955061290b565b60008b81526020902060005b858110156129035781548a8201529084019088016128ea565b505083880195505b50939b9a5050505050505050505050565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061294f9083018461282c565b9695505050505050565b6020808252825182820181905260009190848201906040850190845b8181101561299157835183529284019291840191600101612975565b50909695505050505050565b602081526000611c09602083018461282c565b60208082526022908201527f43616e74206d696e74206f76657220746865206d6178206d696e7420616d6f756040820152611b9d60f21b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526022908201527f4578636565646564206d617820617661696c61626c6520746f20707572636861604082015261736560f01b606082015260800190565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b60008219821115612b1f57612b1f612c04565b500190565b600082612b3357612b33612c1a565b500490565b6000816000190483118215151615612b5257612b52612c04565b500290565b600082821015612b6957612b69612c04565b500390565b60005b83811015612b89578181015183820152602001612b71565b838111156119805750506000910152565b600181811c90821680612bae57607f821691505b60208210811415612bcf57634e487b7160e01b600052602260045260246000fd5b50919050565b6000600019821415612be957612be9612c04565b5060010190565b600082612bff57612bff612c1a565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160e01b031981168114611d2257600080fdfea264697066735822122067573f610901eed94ac9a589bf7fa78765e36c8bc9a19d68d5ad939b5791c5c564736f6c63430008070033

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

00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000049697066733a2f2f516d57443169774c4c645238354c4d776e38457a515769583967335271334b793137563478354b4d32426b6634432f48696464656e4d657461646174612e6a736f6e0000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _unRevealedURI (string): ipfs://QmWD1iwLLdR85LMwn8EzQWiX9g3Rq3Ky17V4x5KM2Bkf4C/HiddenMetadata.json

-----Encoded View---------------
5 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000020
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000049
Arg [2] : 697066733a2f2f516d57443169774c4c645238354c4d776e38457a5157695839
Arg [3] : 67335271334b793137563478354b4d32426b6634432f48696464656e4d657461
Arg [4] : 646174612e6a736f6e0000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

18560:8246:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9307:305;;;;;;;;;;-1:-1:-1;9307:305:0;;;;;:::i;:::-;;:::i;:::-;;;8291:14:1;;8284:22;8266:41;;8254:2;8239:18;9307:305:0;;;;;;;;24696:73;;;;;;;;;;-1:-1:-1;24696:73:0;;;;;:::i;:::-;;:::i;:::-;;10092:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;11190:221::-;;;;;;;;;;-1:-1:-1;11190:221:0;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;6952:32:1;;;6934:51;;6922:2;6907:18;11190:221:0;6788:203:1;19133:28:0;;;;;;;;;;;;;:::i;10766:411::-;;;;;;;;;;-1:-1:-1;10766:411:0;;;;;:::i;:::-;;:::i;18817:32::-;;;;;;;;;;;;;;;;;;;18473:25:1;;;18461:2;18446:18;18817:32:0;18327:177:1;22451:85:0;;;;;;;;;;-1:-1:-1;22518:12:0;;22451:85;;19254:33;;;;;;;;;;-1:-1:-1;19254:33:0;;;;;;;;;;;18939:32;;;;;;;;;;;;;;;;11903:296;;;;;;;;;;-1:-1:-1;11903:296:0;;;;;:::i;:::-;;:::i;23781:87::-;;;;;;;;;;-1:-1:-1;23781:87:0;;;;;:::i;:::-;;:::i;21660:756::-;;;;;;:::i;:::-;;:::i;19193:33::-;;;;;;;;;;-1:-1:-1;19193:33:0;;;;;;;;18642:50;;;;;;;;;;;;;:::i;25927:123::-;;;;;;;;;;-1:-1:-1;25927:123:0;;;;;:::i;:::-;;:::i;12210:185::-;;;;;;;;;;-1:-1:-1;12210:185:0;;;;;:::i;:::-;;:::i;22604:635::-;;;;;;;;;;-1:-1:-1;22604:635:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;23895:82::-;;;;;;;;;;-1:-1:-1;23895:82:0;;;;;:::i;:::-;;:::i;25066:123::-;;;;;;;;;;-1:-1:-1;25066:123:0;;;;;:::i;:::-;;:::i;19100:28::-;;;;;;;;;;-1:-1:-1;19100:28:0;;;;;;;;;;;24418:98;;;;;;;;;;-1:-1:-1;24418:98:0;;;;;:::i;:::-;;:::i;25681:194::-;;;;;;;;;;-1:-1:-1;25681:194:0;;;;;:::i;:::-;;:::i;19070:25::-;;;;;;;;;;-1:-1:-1;19070:25:0;;;;;;;;26095:100;;;;;;;;;;-1:-1:-1;26095:100:0;;;;;:::i;:::-;;:::i;9840:239::-;;;;;;;;;;-1:-1:-1;9840:239:0;;;;;:::i;:::-;;:::i;9622:208::-;;;;;;;;;;-1:-1:-1;9622:208:0;;;;;:::i;:::-;;:::i;17085:94::-;;;;;;;;;;;;;:::i;24820:194::-;;;;;;;;;;-1:-1:-1;24820:194:0;;;;;:::i;:::-;;:::i;19036:27::-;;;;;;;;;;;;;;;;24131:118;;;;;;;;;;-1:-1:-1;24131:118:0;;;;;:::i;:::-;;:::i;25369:263::-;;;;;;;;;;-1:-1:-1;25369:263:0;;;;;:::i;:::-;;:::i;19722:25::-;;;;;;;;;;;;;;;;16855:87;;;;;;;;;;-1:-1:-1;16928:6:0;;-1:-1:-1;;;;;16928:6:0;16855:87;;18854:42;;;;;;;;;;;;;;;;10203:104;;;;;;;;;;;;;:::i;26231:255::-;;;;;;;;;;-1:-1:-1;26231:255:0;;;;;:::i;:::-;;:::i;19609:27::-;;;;;;;;;;;;;;;;20057:1564;;;;;;:::i;:::-;;:::i;11424:295::-;;;;;;;;;;-1:-1:-1;11424:295:0;;;;;:::i;:::-;;:::i;25236:103::-;;;;;;;;;;-1:-1:-1;25236:103:0;;;;;:::i;:::-;;:::i;12407:328::-;;;;;;;;;;-1:-1:-1;12407:328:0;;;;;:::i;:::-;;:::i;26553:248::-;;;:::i;18773:37::-;;;;;;;;;;;;;:::i;24007:100::-;;;;;;;;;;-1:-1:-1;24007:100:0;;;;;:::i;:::-;;:::i;23247:475::-;;;;;;;;;;-1:-1:-1;23247:475:0;;;;;:::i;:::-;;:::i;18976:36::-;;;;;;;;;;;;;;;;18903:31;;;;;;;;;;;;;;;;24545:122;;;;;;;;;;-1:-1:-1;24545:122:0;;;;;:::i;:::-;;:::i;11731:164::-;;;;;;;;;;-1:-1:-1;11731:164:0;;;;;:::i;:::-;-1:-1:-1;;;;;11852:25:0;;;11828:4;11852:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;11731:164;24272:120;;;;;;;;;;-1:-1:-1;24272:120:0;;;;;:::i;:::-;;:::i;17190:192::-;;;;;;;;;;-1:-1:-1;17190:192:0;;;;;:::i;:::-;;:::i;18697:36::-;;;;;;;;;;;;;:::i;9307:305::-;9409:4;-1:-1:-1;;;;;;9446:40:0;;-1:-1:-1;;;9446:40:0;;:105;;-1:-1:-1;;;;;;;9503:48:0;;-1:-1:-1;;;9503:48:0;9446:105;:158;;;-1:-1:-1;;;;;;;;;;1901:40:0;;;9568:36;9426:178;9307:305;-1:-1:-1;;9307:305:0:o;24696:73::-;16928:6;;-1:-1:-1;;;;;16928:6:0;8446:10;16995:23;16987:68;;;;-1:-1:-1;;;16987:68:0;;;;;;;:::i;:::-;;;;;;;;;24748:6:::1;:15:::0;;-1:-1:-1;;24748:15:0::1;::::0;::::1;;::::0;;;::::1;::::0;;24696:73::o;10092:100::-;10146:13;10179:5;10172:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10092:100;:::o;11190:221::-;11266:7;13162:16;;;:7;:16;;;;;;-1:-1:-1;;;;;13162:16:0;11286:73;;;;-1:-1:-1;;;11286:73:0;;15009:2:1;11286:73:0;;;14991:21:1;15048:2;15028:18;;;15021:30;15087:34;15067:18;;;15060:62;-1:-1:-1;;;15138:18:1;;;15131:42;15190:19;;11286:73:0;14807:408:1;11286:73:0;-1:-1:-1;11379:24:0;;;;:15;:24;;;;;;-1:-1:-1;;;;;11379:24:0;;11190:221::o;19133:28::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;10766:411::-;10847:13;10863:23;10878:7;10863:14;:23::i;:::-;10847:39;;10911:5;-1:-1:-1;;;;;10905:11:0;:2;-1:-1:-1;;;;;10905:11:0;;;10897:57;;;;-1:-1:-1;;;10897:57:0;;16609:2:1;10897:57:0;;;16591:21:1;16648:2;16628:18;;;16621:30;16687:34;16667:18;;;16660:62;-1:-1:-1;;;16738:18:1;;;16731:31;16779:19;;10897:57:0;16407:397:1;10897:57:0;8446:10;-1:-1:-1;;;;;10989:21:0;;;;:62;;-1:-1:-1;11014:37:0;11031:5;8446:10;11731:164;:::i;11014:37::-;10967:168;;;;-1:-1:-1;;;10967:168:0;;12204:2:1;10967:168:0;;;12186:21:1;12243:2;12223:18;;;12216:30;12282:34;12262:18;;;12255:62;12353:26;12333:18;;;12326:54;12397:19;;10967:168:0;12002:420:1;10967:168:0;11148:21;11157:2;11161:7;11148:8;:21::i;:::-;10836:341;10766:411;;:::o;11903:296::-;12055:41;8446:10;12088:7;12055:18;:41::i;:::-;12047:103;;;;-1:-1:-1;;;12047:103:0;;;;;;;:::i;:::-;12163:28;12173:4;12179:2;12183:7;12163:9;:28::i;23781:87::-;16928:6;;-1:-1:-1;;;;;16928:6:0;8446:10;16995:23;16987:68;;;;-1:-1:-1;;;16987:68:0;;;;;;;:::i;:::-;23843:8:::1;:19:::0;;;::::1;;;;-1:-1:-1::0;;23843:19:0;;::::1;::::0;;;::::1;::::0;;23781:87::o;21660:756::-;21731:21;21755:13;22518:12;;;22451:85;21755:13;21785:15;;21731:37;;-1:-1:-1;21785:15:0;;;;;21777:52;;;;-1:-1:-1;;;21777:52:0;;8744:2:1;21777:52:0;;;8726:21:1;8783:2;8763:18;;;8756:30;8822:26;8802:18;;;8795:54;8866:18;;21777:52:0;8542:348:1;21777:52:0;21873:10;21862:22;;;;:10;:22;;;;;;21844:40;;;21836:87;;;;-1:-1:-1;;;21836:87:0;;;;;;;:::i;:::-;21972:9;;21938:30;21954:14;21938:13;:30;:::i;:::-;:43;;21930:88;;;;-1:-1:-1;;;21930:88:0;;14287:2:1;21930:88:0;;;14269:21:1;;;14306:18;;;14299:30;14365:34;14345:18;;;14338:62;14417:18;;21930:88:0;14085:356:1;21930:88:0;22163:10;22152:22;;;;:10;:22;;;;;:40;;22178:14;;22152:22;:40;;22178:14;;22152:40;:::i;:::-;;;;-1:-1:-1;22216:1:0;;-1:-1:-1;22199:107:0;22225:14;22219:1;:21;22199:107;;22258:40;22268:10;22280:17;22296:1;22280:13;:17;:::i;:::-;22258:9;:40::i;:::-;22242:3;;;;:::i;:::-;;;;22199:107;;;-1:-1:-1;22326:10:0;22315:22;;;;:10;:22;;;;;;22312:65;;22366:1;22354:10;;:13;;;;;;;:::i;:::-;;;;-1:-1:-1;;22312:65:0;22397:14;22383:12;;:28;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;21660:756:0:o;18642:50::-;;;;;;;:::i;25927:123::-;16928:6;;-1:-1:-1;;;;;16928:6:0;8446:10;16995:23;16987:68;;;;-1:-1:-1;;;16987:68:0;;;;;;;:::i;:::-;26008:15:::1;:34:::0;;;::::1;;;;-1:-1:-1::0;;26008:34:0;;::::1;::::0;;;::::1;::::0;;25927:123::o;12210:185::-;12348:39;12365:4;12371:2;12375:7;12348:39;;;;;;;;;;;;:16;:39::i;22604:635::-;22679:16;22707:23;22733:17;22743:6;22733:9;:17::i;:::-;22707:43;;22757:30;22804:15;22790:30;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;22790:30:0;-1:-1:-1;22757:63:0;-1:-1:-1;22852:1:0;22827:22;22896:309;22921:15;22903;:33;:64;;;;;22958:9;;22940:14;:27;;22903:64;22896:309;;;22978:25;23006:23;23014:14;23006:7;:23::i;:::-;22978:51;;23065:6;-1:-1:-1;;;;;23044:27:0;:17;-1:-1:-1;;;;;23044:27:0;;23040:131;;;23117:14;23084:13;23098:15;23084:30;;;;;;;;:::i;:::-;;;;;;;;;;:47;23144:17;;;;:::i;:::-;;;;23040:131;23181:16;;;;:::i;:::-;;;;22969:236;22896:309;;;-1:-1:-1;23220:13:0;;22604:635;-1:-1:-1;;;;22604:635:0:o;23895:82::-;16928:6;;-1:-1:-1;;;;;16928:6:0;8446:10;16995:23;16987:68;;;;-1:-1:-1;;;16987:68:0;;;;;;;:::i;:::-;23956:4:::1;:15:::0;23895:82::o;25066:123::-;16928:6;;-1:-1:-1;;;;;16928:6:0;8446:10;16995:23;16987:68;;;;-1:-1:-1;;;16987:68:0;;;;;;;:::i;:::-;25147:15:::1;:34:::0;;-1:-1:-1;;25147:34:0::1;::::0;::::1;;::::0;;;::::1;::::0;;25066:123::o;24418:98::-;16928:6;;-1:-1:-1;;;;;16928:6:0;8446:10;16995:23;16987:68;;;;-1:-1:-1;;;16987:68:0;;;;;;;:::i;:::-;24489:21;;::::1;::::0;:7:::1;::::0;:21:::1;::::0;::::1;::::0;::::1;:::i;:::-;;24418:98:::0;:::o;25681:194::-;16928:6;;-1:-1:-1;;;;;16928:6:0;8446:10;16995:23;16987:68;;;;-1:-1:-1;;;16987:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;25794:24:0;::::1;;::::0;;;:10:::1;:24;::::0;;;;:43;;;25852:12:::1;:15:::0;;25866:1:::1;::::0;25794:24;25852:15:::1;::::0;25866:1;;25852:15:::1;:::i;26095:100::-:0;16928:6;;-1:-1:-1;;;;;16928:6:0;8446:10;16995:23;16987:68;;;;-1:-1:-1;;;16987:68:0;;;;;;;:::i;:::-;26167:10:::1;:20:::0;26095:100::o;9840:239::-;9912:7;9948:16;;;:7;:16;;;;;;-1:-1:-1;;;;;9948:16:0;9983:19;9975:73;;;;-1:-1:-1;;;9975:73:0;;13398:2:1;9975:73:0;;;13380:21:1;13437:2;13417:18;;;13410:30;13476:34;13456:18;;;13449:62;-1:-1:-1;;;13527:18:1;;;13520:39;13576:19;;9975:73:0;13196:405:1;9622:208:0;9694:7;-1:-1:-1;;;;;9722:19:0;;9714:74;;;;-1:-1:-1;;;9714:74:0;;12987:2:1;9714:74:0;;;12969:21:1;13026:2;13006:18;;;12999:30;13065:34;13045:18;;;13038:62;-1:-1:-1;;;13116:18:1;;;13109:40;13166:19;;9714:74:0;12785:406:1;9714:74:0;-1:-1:-1;;;;;;9806:16:0;;;;;:9;:16;;;;;;;9622:208::o;17085:94::-;16928:6;;-1:-1:-1;;;;;16928:6:0;8446:10;16995:23;16987:68;;;;-1:-1:-1;;;16987:68:0;;;;;;;:::i;:::-;17150:21:::1;17168:1;17150:9;:21::i;:::-;17085:94::o:0;24820:194::-;16928:6;;-1:-1:-1;;;;;16928:6:0;8446:10;16995:23;16987:68;;;;-1:-1:-1;;;16987:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;24933:24:0;::::1;;::::0;;;:10:::1;:24;::::0;;;;:43;;;24991:12:::1;:15:::0;;25005:1:::1;::::0;24933:24;24991:15:::1;::::0;25005:1;;24991:15:::1;:::i;24131:118::-:0;16928:6;;-1:-1:-1;;;;;16928:6:0;8446:10;16995:23;16987:68;;;;-1:-1:-1;;;16987:68:0;;;;;;;:::i;:::-;24210:13:::1;:33:::0;24131:118::o;25369:263::-;16928:6;;-1:-1:-1;;;;;16928:6:0;8446:10;16995:23;16987:68;;;;-1:-1:-1;;;16987:68:0;;;;;;;:::i;:::-;25482:9:::1;25477:115;25497:20:::0;;::::1;25477:115;;;25562:16;25535:10;:24;25546:9;;25556:1;25546:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;25535:24:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;25535:24:0;:43;25519:3;::::1;::::0;::::1;:::i;:::-;;;;25477:115;;;;25612:9;;:16;;25598:12;;:30;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;;;;25369:263:0:o;10203:104::-;10259:13;10292:7;10285:14;;;;;:::i;26231:255::-;16928:6;;-1:-1:-1;;;;;16928:6:0;8446:10;16995:23;16987:68;;;;-1:-1:-1;;;16987:68:0;;;;;;;:::i;:::-;26344:9:::1;26339:109;26359:20:::0;;::::1;26339:109;;;26424:16;26397:10;:24;26408:9;;26418:1;26408:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;26397:24:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;26397:24:0;:43;26381:3;::::1;::::0;::::1;:::i;:::-;;;;26339:109;;;;26466:9;;:16;;26454:10;;:28;;;;;;;:::i;20057:1564::-:0;20116:18;20137:13;22518:12;;;22451:85;20137:13;20203:10;20215:1;20192:22;;;:10;:22;;;;;;20116:34;;-1:-1:-1;20192:24:0;20189:1425;;20236:15;;;;20228:48;;;;-1:-1:-1;;;20228:48:0;;11442:2:1;20228:48:0;;;11424:21:1;11481:2;11461:18;;;11454:30;-1:-1:-1;;;11500:18:1;;;11493:50;11560:18;;20228:48:0;11240:344:1;20228:48:0;20319:10;20308:22;;;;:10;:22;;;;;;20295:35;;;20287:81;;;;-1:-1:-1;;;20287:81:0;;;;;;;:::i;:::-;20401:1;20387:11;:15;20379:49;;;;-1:-1:-1;;;20379:49:0;;17011:2:1;20379:49:0;;;16993:21:1;17050:2;17030:18;;;17023:30;-1:-1:-1;;;17069:18:1;;;17062:51;17130:18;;20379:49:0;16809:345:1;20379:49:0;20462:19;;20447:11;:34;;20439:81;;;;-1:-1:-1;;;20439:81:0;;;;;;;:::i;:::-;20567:9;;20539:24;20552:11;20539:10;:24;:::i;:::-;:37;;20531:82;;;;-1:-1:-1;;;20531:82:0;;14287:2:1;20531:82:0;;;14269:21:1;;;14306:18;;;14299:30;14365:34;14345:18;;;14338:62;14417:18;;20531:82:0;14085:356:1;20531:82:0;20658:11;20644:13;;:25;;;;:::i;:::-;20632:9;:37;;20624:78;;;;-1:-1:-1;;;20624:78:0;;12629:2:1;20624:78:0;;;12611:21:1;12668:2;12648:18;;;12641:30;12707:31;12687:18;;;12680:59;12756:18;;20624:78:0;12427:353:1;20624:78:0;20726:10;20715:22;;;;:10;:22;;;;;:37;;20741:11;;20715:22;:37;;20741:11;;20715:37;:::i;:::-;;;;-1:-1:-1;20782:1:0;;-1:-1:-1;20765:113:0;20790:11;20785:1;:16;20765:113;;20825:37;20835:10;20847:14;20860:1;20847:10;:14;:::i;20825:37::-;20803:3;;;;:::i;:::-;;;;20765:113;;;-1:-1:-1;20899:10:0;20888:22;;;;:10;:22;;;;;;20885:67;;20941:1;20927:12;;:15;;;;;;;:::i;:::-;;;;-1:-1:-1;;20885:67:0;20972:11;20958:12;;:25;;;;;;;:::i;:::-;;;;-1:-1:-1;20189:1425:0;;-1:-1:-1;20189:1425:0;;-1:-1:-1;22518:12:0;;21073:6;;;;21072:7;21064:38;;;;-1:-1:-1;;;21064:38:0;;18182:2:1;21064:38:0;;;18164:21:1;18221:2;18201:18;;;18194:30;-1:-1:-1;;;18240:18:1;;;18233:48;18298:18;;21064:38:0;17980:342:1;21064:38:0;21131:1;21117:11;:15;21109:49;;;;-1:-1:-1;;;21109:49:0;;17011:2:1;21109:49:0;;;16993:21:1;17050:2;17030:18;;;17023:30;-1:-1:-1;;;17069:18:1;;;17062:51;17130:18;;21109:49:0;16809:345:1;21109:49:0;21188:13;;21173:11;:28;;21165:75;;;;-1:-1:-1;;;21165:75:0;;;;;;;:::i;:::-;21283:9;;21255:24;21268:11;21255:10;:24;:::i;:::-;:37;;21247:120;;;;-1:-1:-1;;;21247:120:0;;13808:2:1;21247:120:0;;;13790:21:1;13847:2;13827:18;;;13820:30;13886:34;13866:18;;;13859:62;13957:34;13937:18;;;13930:62;-1:-1:-1;;;14008:19:1;;;14001:37;14055:19;;21247:120:0;13606:474:1;21247:120:0;16928:6;;-1:-1:-1;;;;;16928:6:0;21380:10;:21;21376:84;;21440:11;21433:4;;:18;;;;:::i;:::-;21420:9;:31;;21412:40;;;;;;21489:1;21472:105;21497:11;21492:1;:16;21472:105;;21532:37;21542:10;21554:14;21567:1;21554:10;:14;:::i;21532:37::-;21510:3;;;;:::i;:::-;;;;21472:105;;;;21597:11;21583:12;;:25;;;;;;;:::i;11424:295::-;-1:-1:-1;;;;;11527:24:0;;8446:10;11527:24;;11519:62;;;;-1:-1:-1;;;11519:62:0;;11088:2:1;11519:62:0;;;11070:21:1;11127:2;11107:18;;;11100:30;11166:27;11146:18;;;11139:55;11211:18;;11519:62:0;10886:349:1;11519:62:0;8446:10;11594:32;;;;:18;:32;;;;;;;;-1:-1:-1;;;;;11594:42:0;;;;;;;;;;;;:53;;-1:-1:-1;;11594:53:0;;;;;;;;;;11663:48;;8266:41:1;;;11594:42:0;;8446:10;11663:48;;8239:18:1;11663:48:0;;;;;;;11424:295;;:::o;25236:103::-;16928:6;;-1:-1:-1;;;;;16928:6:0;8446:10;16995:23;16987:68;;;;-1:-1:-1;;;16987:68:0;;;;;;;:::i;:::-;25309:12:::1;:22:::0;25236:103::o;12407:328::-;12582:41;8446:10;12615:7;12582:18;:41::i;:::-;12574:103;;;;-1:-1:-1;;;12574:103:0;;;;;;;:::i;:::-;12688:39;12702:4;12708:2;12712:7;12721:5;12688:13;:39::i;:::-;12407:328;;;;:::o;26553:248::-;16928:6;;-1:-1:-1;;;;;16928:6:0;8446:10;16995:23;16987:68;;;;-1:-1:-1;;;16987:68:0;;;;;;;:::i;:::-;26676:10:::1;::::0;26636:21:::1;::::0;26676:10;;::::1;-1:-1:-1::0;;;;;26676:10:0::1;26668:57;26721:3;26698:19;26636:21:::0;26715:2:::1;26698:19;:::i;:::-;26697:27;;;;:::i;:::-;26668:57;::::0;;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;26744:10:0::1;::::0;-1:-1:-1;;;;;26744:10:0::1;26736:57;26789:3;26766:19;:14:::0;26783:2:::1;26766:19;:::i;:::-;26765:27;;;;:::i;:::-;26736:57;::::0;;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;::::1;;;;;;;;;;;;;::::0;::::1;;;;18773:37:::0;;;;;;;:::i;24007:100::-;16928:6;;-1:-1:-1;;;;;16928:6:0;8446:10;16995:23;16987:68;;;;-1:-1:-1;;;16987:68:0;;;;;;;:::i;:::-;24077:13:::1;:24:::0;24007:100::o;23247:475::-;13138:4;13162:16;;;:7;:16;;;;;;23345:13;;-1:-1:-1;;;;;13162:16:0;23370:75;;;;-1:-1:-1;;;23370:75:0;;16193:2:1;23370:75:0;;;16175:21:1;16232:2;16212:18;;;16205:30;16271:34;16251:18;;;16244:62;-1:-1:-1;;;16322:18:1;;;16315:45;16377:19;;23370:75:0;15991:411:1;23370:75:0;23461:8;;;;;;;23458:62;;23498:14;23491:21;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23247:475;;;:::o;23458:62::-;23528:28;23559:10;:8;:10::i;:::-;23528:41;;23614:1;23589:14;23583:28;:32;:133;;;;;;;;;;;;;;;;;23651:14;23667:18;:7;:16;:18::i;:::-;23687:13;23634:67;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;23583:133;23576:140;23247:475;-1:-1:-1;;;23247:475:0:o;24545:122::-;16928:6;;-1:-1:-1;;;;;16928:6:0;8446:10;16995:23;16987:68;;;;-1:-1:-1;;;16987:68:0;;;;;;;:::i;:::-;24628:33;;::::1;::::0;:13:::1;::::0;:33:::1;::::0;::::1;::::0;::::1;:::i;24272:120::-:0;16928:6;;-1:-1:-1;;;;;16928:6:0;8446:10;16995:23;16987:68;;;;-1:-1:-1;;;16987:68:0;;;;;;;:::i;:::-;24354:32;;::::1;::::0;:14:::1;::::0;:32:::1;::::0;::::1;::::0;::::1;:::i;17190:192::-:0;16928:6;;-1:-1:-1;;;;;16928:6:0;8446:10;16995:23;16987:68;;;;-1:-1:-1;;;16987:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;17279:22:0;::::1;17271:73;;;::::0;-1:-1:-1;;;17271:73:0;;9919:2:1;17271:73:0::1;::::0;::::1;9901:21:1::0;9958:2;9938:18;;;9931:30;9997:34;9977:18;;;9970:62;-1:-1:-1;;;10048:18:1;;;10041:36;10094:19;;17271:73:0::1;9717:402:1::0;17271:73:0::1;17355:19;17365:8;17355:9;:19::i;:::-;17190:192:::0;:::o;18697:36::-;;;;;;;:::i;15313:174::-;15388:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;;;;;15388:29:0;-1:-1:-1;;;;;15388:29:0;;;;;;;;:24;;15442:23;15388:24;15442:14;:23::i;:::-;-1:-1:-1;;;;;15433:46:0;;;;;;;;;;;15313:174;;:::o;13212:348::-;13305:4;13162:16;;;:7;:16;;;;;;-1:-1:-1;;;;;13162:16:0;13322:73;;;;-1:-1:-1;;;13322:73:0;;11791:2:1;13322:73:0;;;11773:21:1;11830:2;11810:18;;;11803:30;11869:34;11849:18;;;11842:62;-1:-1:-1;;;11920:18:1;;;11913:42;11972:19;;13322:73:0;11589:408:1;13322:73:0;13406:13;13422:23;13437:7;13422:14;:23::i;:::-;13406:39;;13475:5;-1:-1:-1;;;;;13464:16:0;:7;-1:-1:-1;;;;;13464:16:0;;:51;;;;13508:7;-1:-1:-1;;;;;13484:31:0;:20;13496:7;13484:11;:20::i;:::-;-1:-1:-1;;;;;13484:31:0;;13464:51;:87;;;-1:-1:-1;;;;;;11852:25:0;;;11828:4;11852:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;13519:32;13456:96;13212:348;-1:-1:-1;;;;13212:348:0:o;14769:532::-;14928:4;-1:-1:-1;;;;;14901:31:0;:23;14916:7;14901:14;:23::i;:::-;-1:-1:-1;;;;;14901:31:0;;14893:85;;;;-1:-1:-1;;;14893:85:0;;15783:2:1;14893:85:0;;;15765:21:1;15822:2;15802:18;;;15795:30;15861:34;15841:18;;;15834:62;-1:-1:-1;;;15912:18:1;;;15905:39;15961:19;;14893:85:0;15581:405:1;14893:85:0;-1:-1:-1;;;;;14997:16:0;;14989:65;;;;-1:-1:-1;;;14989:65:0;;10683:2:1;14989:65:0;;;10665:21:1;10722:2;10702:18;;;10695:30;10761:34;10741:18;;;10734:62;-1:-1:-1;;;10812:18:1;;;10805:34;10856:19;;14989:65:0;10481:400:1;14989:65:0;15125:29;15142:1;15146:7;15125:8;:29::i;:::-;-1:-1:-1;;;;;15167:15:0;;;;;;:9;:15;;;;;:20;;15186:1;;15167:15;:20;;15186:1;;15167:20;:::i;:::-;;;;-1:-1:-1;;;;;;;15198:13:0;;;;;;:9;:13;;;;;:18;;15215:1;;15198:13;:18;;15215:1;;15198:18;:::i;:::-;;;;-1:-1:-1;;15227:16:0;;;;:7;:16;;;;;;:21;;-1:-1:-1;;;;;;15227:21:0;-1:-1:-1;;;;;15227:21:0;;;;;;;;;15266:27;;15227:16;;15266:27;;;;;;;14769:532;;;:::o;13573:110::-;13649:26;13659:2;13663:7;13649:26;;;;;;;;;;;;:9;:26::i;17390:173::-;17465:6;;;-1:-1:-1;;;;;17482:17:0;;;-1:-1:-1;;;;;;17482:17:0;;;;;;;17515:40;;17465:6;;;17482:17;17465:6;;17515:40;;17446:16;;17515:40;17435:128;17390:173;:::o;12748:315::-;12905:28;12915:4;12921:2;12925:7;12905:9;:28::i;:::-;12952:48;12975:4;12981:2;12985:7;12994:5;12952:22;:48::i;:::-;12944:111;;;;-1:-1:-1;;;12944:111:0;;;;;;;:::i;19909:102::-;19969:13;19998:7;19991:14;;;;;:::i;2096:723::-;2152:13;2373:10;2369:53;;-1:-1:-1;;2400:10:0;;;;;;;;;;;;-1:-1:-1;;;2400:10:0;;;;;2096:723::o;2369:53::-;2447:5;2432:12;2488:78;2495:9;;2488:78;;2521:8;;;;:::i;:::-;;-1:-1:-1;2544:10:0;;-1:-1:-1;2552:2:0;2544:10;;:::i;:::-;;;2488:78;;;2576:19;2608:6;2598:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2598:17:0;;2576:39;;2626:154;2633:10;;2626:154;;2660:11;2670:1;2660:11;;:::i;:::-;;-1:-1:-1;2729:10:0;2737:2;2729:5;:10;:::i;:::-;2716:24;;:2;:24;:::i;:::-;2703:39;;2686:6;2693;2686:14;;;;;;;;:::i;:::-;;;;:56;-1:-1:-1;;;;;2686:56:0;;;;;;;;-1:-1:-1;2757:11:0;2766:2;2757:11;;:::i;:::-;;;2626:154;;13695:321;13825:18;13831:2;13835:7;13825:5;:18::i;:::-;13876:54;13907:1;13911:2;13915:7;13924:5;13876:22;:54::i;:::-;13854:154;;;;-1:-1:-1;;;13854:154:0;;;;;;;:::i;15501:799::-;15656:4;-1:-1:-1;;;;;15677:13:0;;3950:20;3998:8;15673:620;;15713:72;;-1:-1:-1;;;15713:72:0;;-1:-1:-1;;;;;15713:36:0;;;;;:72;;8446:10;;15764:4;;15770:7;;15779:5;;15713:72;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15713:72:0;;;;;;;;-1:-1:-1;;15713:72:0;;;;;;;;;;;;:::i;:::-;;;15709:529;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15955:13:0;;15951:272;;15998:60;;-1:-1:-1;;;15998:60:0;;;;;;;:::i;15951:272::-;16173:6;16167:13;16158:6;16154:2;16150:15;16143:38;15709:529;-1:-1:-1;;;;;;15836:51:0;-1:-1:-1;;;15836:51:0;;-1:-1:-1;15829:58:0;;15673:620;-1:-1:-1;16277:4:0;15501:799;;;;;;:::o;14027:382::-;-1:-1:-1;;;;;14107:16:0;;14099:61;;;;-1:-1:-1;;;14099:61:0;;14648:2:1;14099:61:0;;;14630:21:1;;;14667:18;;;14660:30;14726:34;14706:18;;;14699:62;14778:18;;14099:61:0;14446:356:1;14099:61:0;13138:4;13162:16;;;:7;:16;;;;;;-1:-1:-1;;;;;13162:16:0;:30;14171:58;;;;-1:-1:-1;;;14171:58:0;;10326:2:1;14171:58:0;;;10308:21:1;10365:2;10345:18;;;10338:30;10404;10384:18;;;10377:58;10452:18;;14171:58:0;10124:352:1;14171:58:0;-1:-1:-1;;;;;14300:13:0;;;;;;:9;:13;;;;;:18;;14317:1;;14300:13;:18;;14317:1;;14300:18;:::i;:::-;;;;-1:-1:-1;;14329:16:0;;;;:7;:16;;;;;;:21;;-1:-1:-1;;;;;;14329:21:0;-1:-1:-1;;;;;14329:21:0;;;;;;;;14368:33;;14329:16;;;14368:33;;14329:16;;14368:33;14027:382;;:::o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;14:631:1;78:5;108:18;149:2;141:6;138:14;135:40;;;155:18;;:::i;:::-;230:2;224:9;198:2;284:15;;-1:-1:-1;;280:24:1;;;306:2;276:33;272:42;260:55;;;330:18;;;350:22;;;327:46;324:72;;;376:18;;:::i;:::-;416:10;412:2;405:22;445:6;436:15;;475:6;467;460:22;515:3;506:6;501:3;497:16;494:25;491:45;;;532:1;529;522:12;491:45;582:6;577:3;570:4;562:6;558:17;545:44;637:1;630:4;621:6;613;609:19;605:30;598:41;;;;14:631;;;;;:::o;650:173::-;718:20;;-1:-1:-1;;;;;767:31:1;;757:42;;747:70;;813:1;810;803:12;747:70;650:173;;;:::o;828:160::-;893:20;;949:13;;942:21;932:32;;922:60;;978:1;975;968:12;993:186;1052:6;1105:2;1093:9;1084:7;1080:23;1076:32;1073:52;;;1121:1;1118;1111:12;1073:52;1144:29;1163:9;1144:29;:::i;1184:260::-;1252:6;1260;1313:2;1301:9;1292:7;1288:23;1284:32;1281:52;;;1329:1;1326;1319:12;1281:52;1352:29;1371:9;1352:29;:::i;:::-;1342:39;;1400:38;1434:2;1423:9;1419:18;1400:38;:::i;:::-;1390:48;;1184:260;;;;;:::o;1449:328::-;1526:6;1534;1542;1595:2;1583:9;1574:7;1570:23;1566:32;1563:52;;;1611:1;1608;1601:12;1563:52;1634:29;1653:9;1634:29;:::i;:::-;1624:39;;1682:38;1716:2;1705:9;1701:18;1682:38;:::i;:::-;1672:48;;1767:2;1756:9;1752:18;1739:32;1729:42;;1449:328;;;;;:::o;1782:666::-;1877:6;1885;1893;1901;1954:3;1942:9;1933:7;1929:23;1925:33;1922:53;;;1971:1;1968;1961:12;1922:53;1994:29;2013:9;1994:29;:::i;:::-;1984:39;;2042:38;2076:2;2065:9;2061:18;2042:38;:::i;:::-;2032:48;;2127:2;2116:9;2112:18;2099:32;2089:42;;2182:2;2171:9;2167:18;2154:32;2209:18;2201:6;2198:30;2195:50;;;2241:1;2238;2231:12;2195:50;2264:22;;2317:4;2309:13;;2305:27;-1:-1:-1;2295:55:1;;2346:1;2343;2336:12;2295:55;2369:73;2434:7;2429:2;2416:16;2411:2;2407;2403:11;2369:73;:::i;:::-;2359:83;;;1782:666;;;;;;;:::o;2453:254::-;2518:6;2526;2579:2;2567:9;2558:7;2554:23;2550:32;2547:52;;;2595:1;2592;2585:12;2547:52;2618:29;2637:9;2618:29;:::i;:::-;2608:39;;2666:35;2697:2;2686:9;2682:18;2666:35;:::i;2712:254::-;2780:6;2788;2841:2;2829:9;2820:7;2816:23;2812:32;2809:52;;;2857:1;2854;2847:12;2809:52;2880:29;2899:9;2880:29;:::i;:::-;2870:39;2956:2;2941:18;;;;2928:32;;-1:-1:-1;;;2712:254:1:o;2971:689::-;3066:6;3074;3082;3135:2;3123:9;3114:7;3110:23;3106:32;3103:52;;;3151:1;3148;3141:12;3103:52;3191:9;3178:23;3220:18;3261:2;3253:6;3250:14;3247:34;;;3277:1;3274;3267:12;3247:34;3315:6;3304:9;3300:22;3290:32;;3360:7;3353:4;3349:2;3345:13;3341:27;3331:55;;3382:1;3379;3372:12;3331:55;3422:2;3409:16;3448:2;3440:6;3437:14;3434:34;;;3464:1;3461;3454:12;3434:34;3519:7;3512:4;3502:6;3499:1;3495:14;3491:2;3487:23;3483:34;3480:47;3477:67;;;3540:1;3537;3530:12;3477:67;3571:4;3563:13;;;;3595:6;;-1:-1:-1;3633:20:1;;;;3620:34;;2971:689;-1:-1:-1;;;;2971:689:1:o;3665:180::-;3721:6;3774:2;3762:9;3753:7;3749:23;3745:32;3742:52;;;3790:1;3787;3780:12;3742:52;3813:26;3829:9;3813:26;:::i;3850:245::-;3908:6;3961:2;3949:9;3940:7;3936:23;3932:32;3929:52;;;3977:1;3974;3967:12;3929:52;4016:9;4003:23;4035:30;4059:5;4035:30;:::i;4100:249::-;4169:6;4222:2;4210:9;4201:7;4197:23;4193:32;4190:52;;;4238:1;4235;4228:12;4190:52;4270:9;4264:16;4289:30;4313:5;4289:30;:::i;4354:450::-;4423:6;4476:2;4464:9;4455:7;4451:23;4447:32;4444:52;;;4492:1;4489;4482:12;4444:52;4532:9;4519:23;4565:18;4557:6;4554:30;4551:50;;;4597:1;4594;4587:12;4551:50;4620:22;;4673:4;4665:13;;4661:27;-1:-1:-1;4651:55:1;;4702:1;4699;4692:12;4651:55;4725:73;4790:7;4785:2;4772:16;4767:2;4763;4759:11;4725:73;:::i;4809:180::-;4868:6;4921:2;4909:9;4900:7;4896:23;4892:32;4889:52;;;4937:1;4934;4927:12;4889:52;-1:-1:-1;4960:23:1;;4809:180;-1:-1:-1;4809:180:1:o;4994:257::-;5035:3;5073:5;5067:12;5100:6;5095:3;5088:19;5116:63;5172:6;5165:4;5160:3;5156:14;5149:4;5142:5;5138:16;5116:63;:::i;:::-;5233:2;5212:15;-1:-1:-1;;5208:29:1;5199:39;;;;5240:4;5195:50;;4994:257;-1:-1:-1;;4994:257:1:o;5256:1527::-;5480:3;5518:6;5512:13;5544:4;5557:51;5601:6;5596:3;5591:2;5583:6;5579:15;5557:51;:::i;:::-;5671:13;;5630:16;;;;5693:55;5671:13;5630:16;5715:15;;;5693:55;:::i;:::-;5837:13;;5770:20;;;5810:1;;5897;5919:18;;;;5972;;;;5999:93;;6077:4;6067:8;6063:19;6051:31;;5999:93;6140:2;6130:8;6127:16;6107:18;6104:40;6101:167;;;-1:-1:-1;;;6167:33:1;;6223:4;6220:1;6213:15;6253:4;6174:3;6241:17;6101:167;6284:18;6311:110;;;;6435:1;6430:328;;;;6277:481;;6311:110;-1:-1:-1;;6346:24:1;;6332:39;;6391:20;;;;-1:-1:-1;6311:110:1;;6430:328;18582:1;18575:14;;;18619:4;18606:18;;6525:1;6539:169;6553:8;6550:1;6547:15;6539:169;;;6635:14;;6620:13;;;6613:37;6678:16;;;;6570:10;;6539:169;;;6543:3;;6739:8;6732:5;6728:20;6721:27;;6277:481;-1:-1:-1;6774:3:1;;5256:1527;-1:-1:-1;;;;;;;;;;;5256:1527:1:o;6996:488::-;-1:-1:-1;;;;;7265:15:1;;;7247:34;;7317:15;;7312:2;7297:18;;7290:43;7364:2;7349:18;;7342:34;;;7412:3;7407:2;7392:18;;7385:31;;;7190:4;;7433:45;;7458:19;;7450:6;7433:45;:::i;:::-;7425:53;6996:488;-1:-1:-1;;;;;;6996:488:1:o;7489:632::-;7660:2;7712:21;;;7782:13;;7685:18;;;7804:22;;;7631:4;;7660:2;7883:15;;;;7857:2;7842:18;;;7631:4;7926:169;7940:6;7937:1;7934:13;7926:169;;;8001:13;;7989:26;;8070:15;;;;8035:12;;;;7962:1;7955:9;7926:169;;;-1:-1:-1;8112:3:1;;7489:632;-1:-1:-1;;;;;;7489:632:1:o;8318:219::-;8467:2;8456:9;8449:21;8430:4;8487:44;8527:2;8516:9;8512:18;8504:6;8487:44;:::i;8895:398::-;9097:2;9079:21;;;9136:2;9116:18;;;9109:30;9175:34;9170:2;9155:18;;9148:62;-1:-1:-1;;;9241:2:1;9226:18;;9219:32;9283:3;9268:19;;8895:398::o;9298:414::-;9500:2;9482:21;;;9539:2;9519:18;;;9512:30;9578:34;9573:2;9558:18;;9551:62;-1:-1:-1;;;9644:2:1;9629:18;;9622:48;9702:3;9687:19;;9298:414::o;15220:356::-;15422:2;15404:21;;;15441:18;;;15434:30;15500:34;15495:2;15480:18;;15473:62;15567:2;15552:18;;15220:356::o;17159:398::-;17361:2;17343:21;;;17400:2;17380:18;;;17373:30;17439:34;17434:2;17419:18;;17412:62;-1:-1:-1;;;17505:2:1;17490:18;;17483:32;17547:3;17532:19;;17159:398::o;17562:413::-;17764:2;17746:21;;;17803:2;17783:18;;;17776:30;17842:34;17837:2;17822:18;;17815:62;-1:-1:-1;;;17908:2:1;17893:18;;17886:47;17965:3;17950:19;;17562:413::o;18635:128::-;18675:3;18706:1;18702:6;18699:1;18696:13;18693:39;;;18712:18;;:::i;:::-;-1:-1:-1;18748:9:1;;18635:128::o;18768:120::-;18808:1;18834;18824:35;;18839:18;;:::i;:::-;-1:-1:-1;18873:9:1;;18768:120::o;18893:168::-;18933:7;18999:1;18995;18991:6;18987:14;18984:1;18981:21;18976:1;18969:9;18962:17;18958:45;18955:71;;;19006:18;;:::i;:::-;-1:-1:-1;19046:9:1;;18893:168::o;19066:125::-;19106:4;19134:1;19131;19128:8;19125:34;;;19139:18;;:::i;:::-;-1:-1:-1;19176:9:1;;19066:125::o;19196:258::-;19268:1;19278:113;19292:6;19289:1;19286:13;19278:113;;;19368:11;;;19362:18;19349:11;;;19342:39;19314:2;19307:10;19278:113;;;19409:6;19406:1;19403:13;19400:48;;;-1:-1:-1;;19444:1:1;19426:16;;19419:27;19196:258::o;19459:380::-;19538:1;19534:12;;;;19581;;;19602:61;;19656:4;19648:6;19644:17;19634:27;;19602:61;19709:2;19701:6;19698:14;19678:18;19675:38;19672:161;;;19755:10;19750:3;19746:20;19743:1;19736:31;19790:4;19787:1;19780:15;19818:4;19815:1;19808:15;19672:161;;19459:380;;;:::o;19844:135::-;19883:3;-1:-1:-1;;19904:17:1;;19901:43;;;19924:18;;:::i;:::-;-1:-1:-1;19971:1:1;19960:13;;19844:135::o;19984:112::-;20016:1;20042;20032:35;;20047:18;;:::i;:::-;-1:-1:-1;20081:9:1;;19984:112::o;20101:127::-;20162:10;20157:3;20153:20;20150:1;20143:31;20193:4;20190:1;20183:15;20217:4;20214:1;20207:15;20233:127;20294:10;20289:3;20285:20;20282:1;20275:31;20325:4;20322:1;20315:15;20349:4;20346:1;20339:15;20365:127;20426:10;20421:3;20417:20;20414:1;20407:31;20457:4;20454:1;20447:15;20481:4;20478:1;20471:15;20497:127;20558:10;20553:3;20549:20;20546:1;20539:31;20589:4;20586:1;20579:15;20613:4;20610:1;20603:15;20629:131;-1:-1:-1;;;;;;20703:32:1;;20693:43;;20683:71;;20750:1;20747;20740:12

Swarm Source

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