Contract 0xd3d20d0bd31751f084cb4e4ff98e568c8c2132fb 3

Txn Hash Method
Block
From
To
Value [Txn Fee]
0xe5c39d8121ace588bd50e1c280f6ee331c04b25fd4001443d275d0c567848bf9Transfer From(pending)2022-05-17 4:10:343 secs ago0xab9b3fec165b83b154850f0654a349c9781c6394 IN 0xd3d20d0bd31751f084cb4e4ff98e568c8c2132fb0 HT(Pending)
0xe25339d0e6fe837c6445adb9334a04c8a73630f5627b299171f3ed973a1eb5b2Transfer From(pending)2022-05-17 4:10:343 secs ago0xeed66d920f899708e67fbb07fbdf85cbdef5e587 IN 0xd3d20d0bd31751f084cb4e4ff98e568c8c2132fb0 HT(Pending)
0x85f446cd7823a87b65404befeca787ddd0258a13f8019e277e6bb7ecce77275dTransfer From(pending)2022-05-17 4:10:343 secs ago0x7b0a45629b26cbdb3692ab7de0de65f31b84a010 IN 0xd3d20d0bd31751f084cb4e4ff98e568c8c2132fb0 HT(Pending)
0x5d2159c1faba1de3249c41983034f9221977e24a16486d8691d173bda116d6c9Transfer From(pending)2022-05-17 4:10:343 secs ago0x03991425abefae4f531f6d2db27b8ae449c261c6 IN 0xd3d20d0bd31751f084cb4e4ff98e568c8c2132fb0 HT(Pending)
0x6dcfd9864f726b003ae25a8ff00e35322562cf211f677341fffddfabf748853aTransfer From(pending)2022-05-17 4:10:343 secs ago0xdf8fc4d0166ae5f98a4927d593c8aa6909e4fe32 IN 0xd3d20d0bd31751f084cb4e4ff98e568c8c2132fb0 HT(Pending)
0x7d4f0461b4cce12c778cf08d9c924ccac056aa4b6f2b495d834732f68fd45c11Transfer From(pending)2022-05-17 4:10:343 secs ago0xc45fc946bb2000b48ff4d8c3c0ecb8c6e8dade38 IN 0xd3d20d0bd31751f084cb4e4ff98e568c8c2132fb0 HT(Pending)
0x518be0e1cf3d2dd6ecc966377bf68e85da31be8804f220d42016010192a8fab6Transfer From(pending)2022-05-17 4:10:343 secs ago0x2b310b76181ff36d1bcd0e0e358316e9ff599bf1 IN 0xd3d20d0bd31751f084cb4e4ff98e568c8c2132fb0 HT(Pending)
0x5f338975beaa27f31d73ad5bb72673b9dba790e061ce780850e1f8a07e8479e5Transfer From(pending)2022-05-17 4:10:343 secs ago0xb1b5387fb4334c2b9dd4e24aa6a8ebfc72d3bbb8 IN 0xd3d20d0bd31751f084cb4e4ff98e568c8c2132fb0 HT(Pending)
0xb99fca76e16ee1d9fb171294c145ea70bf25259671f744af9baab3e346788ae4Transfer From152888382022-05-17 4:10:334 secs ago0x67ea96360a2df9c896de78fac41e511ea903deb4 IN  0xd3d20d0bd31751f084cb4e4ff98e568c8c2132fb0 HT0.00018577352.25
0x845eb82c3bdc2744b1080fe6ba89e1351296b590a6d9e4a29af1028d4834ad4eTransfer From152888382022-05-17 4:10:334 secs ago0x9b77b06d191e0d65467998e4d9fc8eb9db405436 IN  0xd3d20d0bd31751f084cb4e4ff98e568c8c2132fb0 HT0.00020714852.25
0xf2cdc5911c6369933da1849b9b5175a36c7a4046f902fc76691da858eae5cb80Transfer From152888382022-05-17 4:10:334 secs ago0xa71ff03dfb145431dae8afe0e231aa89e4da4d39 IN  0xd3d20d0bd31751f084cb4e4ff98e568c8c2132fb0 HT0.000161763752.25
0x30ca4787996655b00d202f2eae9af1ca96b202baadcf4029b959b354894525a1Transfer From152888382022-05-17 4:10:334 secs ago0xb3b354c5db698cfe8ffa6c3927c8d8f5e0d5a346 IN  0xd3d20d0bd31751f084cb4e4ff98e568c8c2132fb0 HT0.00018577352.25
0x7671351da62306ee9c965d4bc45df044d55eef2831ed5ac327439677195e914cTransfer From152888382022-05-17 4:10:334 secs ago0xa3b54d00ffcec9bd35276532b5fe40a5418b1454 IN  0xd3d20d0bd31751f084cb4e4ff98e568c8c2132fb0 HT0.00021342152.25
0xdbf92ffb622f26f9b61cf2f850dfd1bd218010dd5619e2c597f397baaf397299Transfer From152888382022-05-17 4:10:334 secs ago0x7a9d5de97df7d3157cef60b8c2f9f11205eac96e IN  0xd3d20d0bd31751f084cb4e4ff98e568c8c2132fb0 HT0.000183138752.25
0xb593fa0a7ef46a3655f444246be5461a16a6bae52a279f45cae4d2ad4972ec75Transfer From152888382022-05-17 4:10:334 secs ago0xb25983b65661f2f442ccfeb5c52f47a0af417f09 IN  0xd3d20d0bd31751f084cb4e4ff98e568c8c2132fb0 HT0.000161763752.25
0x1d3820c3e29e4fd0aaea9d4daf02b4f7be166f91c5b56ee65a4b94708e7be0c1Transfer From152888382022-05-17 4:10:334 secs ago0x5005e827b16728c6c5fc01c7e63d6dd518e223dd IN  0xd3d20d0bd31751f084cb4e4ff98e568c8c2132fb0 HT0.00018577352.25
0xe41aa8e926ffb6bde8591f7ca85558f9529007c8c9e8858224ea8b2508787cfcTransfer From152888382022-05-17 4:10:334 secs ago0x65e119bddd7010010d33de91c6b89ec8c61ac27c IN  0xd3d20d0bd31751f084cb4e4ff98e568c8c2132fb0 HT0.000161763752.25
0xad8c532b22da721cc5d2360ecf2f77ec737c60dbf3b732136d9d9433d4e61de8Transfer From152888382022-05-17 4:10:334 secs ago0x9372041e4d240ef7f6578c9ba57c4b0a037f7e0f IN  0xd3d20d0bd31751f084cb4e4ff98e568c8c2132fb0 HT0.00017947352.25
0x4100eb15cb070f37bfce8f071e19a6f8c31f20ce3feb4d0425b809740fd2a894Transfer From152888382022-05-17 4:10:334 secs ago0xcd4158d8fb76a627f566089da3f73d8d51136229 IN  0xd3d20d0bd31751f084cb4e4ff98e568c8c2132fb0 HT0.00021344852.25
0x33d58ced6903e2cd57a014e55a9d60e2ab4273c07ca0423761d6b3c31673ad07Transfer From152888372022-05-17 4:10:307 secs ago0x1e247b722c73e516764a8434bc2e6b43d4fa545d IN  0xd3d20d0bd31751f084cb4e4ff98e568c8c2132fb0 HT0.00021344852.25
0x4b5e680527c51174546efbd6c174af0f2f4aabe4f5bc0b119998173ce3b94df1Transfer From152888372022-05-17 4:10:307 secs ago0x03023c6f6779baad6ef5321aee56c4d0dd03f083 IN  0xd3d20d0bd31751f084cb4e4ff98e568c8c2132fb0 HT0.00018577352.25
0xe32a68df12f6b9d9ecc419a71deb3442fe5c687ee74a71d2746b5c76bbc4ab8bTransfer From152888372022-05-17 4:10:307 secs ago0x2d0958a7984173125758d85512b4afb871da1a5b IN  0xd3d20d0bd31751f084cb4e4ff98e568c8c2132fb0 HT0.00018577352.25
0x53bd968f07eeac76df741280e59d4c5c6ebad873503beca4d8268d061d55b5f7Transfer From152888372022-05-17 4:10:307 secs ago0x0eaae69100859a941c4eb5db29205cb736fcdd87 IN  0xd3d20d0bd31751f084cb4e4ff98e568c8c2132fb0 HT0.000161736752.25
0x25899662e2348e41a00d511a6460f82b885a862546b6354ea5ee910b30d1c13dTransfer From152888372022-05-17 4:10:307 secs ago0xec3c49acf2538ba36d45f4c22d33b1ba5d8a97f9 IN  0xd3d20d0bd31751f084cb4e4ff98e568c8c2132fb0 HT0.00021344852.25
0x506f079c2d4a557da6499814f52fdbb56ca2e177df1b452d4bc2aae2206f4232Transfer From152888372022-05-17 4:10:307 secs ago0x47d7254b442a0f165ac742d486dda5a24559c20c IN  0xd3d20d0bd31751f084cb4e4ff98e568c8c2132fb0 HT0.00021344852.25
[ Download CSV Export 
Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
NFTBox

Compiler Version
v0.5.17+commit.d19bba13

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at hecoinfo.com on 2021-05-20
*/

pragma solidity ^0.5.8;

library SafeMath{
    
    /**
    * List of revert message codes. Implementing dApp should handle showing the correct message.
    * Based on 0xcert framework error codes.
    */
    string constant OVERFLOW = "008001";
    string constant SUBTRAHEND_GREATER_THEN_MINUEND = "008002";
    string constant DIVISION_BY_ZERO = "008003";

    /**
    * @dev Multiplies two numbers, reverts on overflow.
    * @param _factor1 Factor number.
    * @param _factor2 Factor number.
    * @return product The product of the two factors.
    */
    function mul(uint256 _factor1,uint256 _factor2)
    internal
    pure
    returns (uint256 product){
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522
        if (_factor1 == 0){return 0;}

        product = _factor1 * _factor2;
        require(product / _factor1 == _factor2, OVERFLOW);
    }

    /**
    * @dev Integer division of two numbers, truncating the quotient, reverts on division by zero.
    * @param _dividend Dividend number.
    * @param _divisor Divisor number.
    * @return quotient The quotient.
    */
    function div(uint256 _dividend,uint256 _divisor)
    internal
    pure
    returns (uint256 quotient){
        // Solidity automatically asserts when dividing by 0, using all gas.
        require(_divisor > 0, DIVISION_BY_ZERO);
        quotient = _dividend / _divisor;
        // assert(_dividend == _divisor * quotient + _dividend % _divisor); // There is no case in which this doesn't hold.
    }

    /**
    * @dev Substracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend).
    * @param _minuend Minuend number.
    * @param _subtrahend Subtrahend number.
    * @return difference Difference.
    */
    function sub(uint256 _minuend,uint256 _subtrahend)
    internal
    pure
    returns (uint256 difference){
        require(_subtrahend <= _minuend, SUBTRAHEND_GREATER_THEN_MINUEND);
        difference = _minuend - _subtrahend;
    }

    /**
    * @dev Adds two numbers, reverts on overflow.
    * @param _addend1 Number.
    * @param _addend2 Number.
    * @return sum Sum.
    */
    function add(uint256 _addend1,uint256 _addend2)
    internal
    pure
    returns (uint256 sum){
        sum = _addend1 + _addend2;
        require(sum >= _addend1, OVERFLOW);
    }

    /**
    * @dev Divides two numbers and returns the remainder (unsigned integer modulo), reverts when
    * dividing by zero.
    * @param _dividend Number.
    * @param _divisor Number.
    * @return remainder Remainder.
    */
    function mod(uint256 _dividend,uint256 _divisor)
    internal
    pure
    returns (uint256 remainder){
        require(_divisor != 0, DIVISION_BY_ZERO);
        remainder = _dividend % _divisor;
    }
}

library AddressUtils{
    /**
   * @dev Returns whether the target address is a contract.
   * @param _addr Address to check.
   * @return addressCheck True if _addr is a contract, false if not.
   */
   function isContract(address _addr)
    internal
    view
    returns (bool addressCheck){
        // This method relies in extcodesize, which returns 0 for contracts in
        // construction, since the code is only stored at the end of the
        // constructor execution.

        // According to EIP-1052, 0x0 is the value returned for not-yet created accounts
        // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned
        // for accounts without code, i.e. `keccak256('')`
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
        assembly { codehash := extcodehash(_addr) } // solhint-disable-line
        addressCheck = (codehash != 0x0 && codehash != accountHash);
    }
}

interface ERC721{
    
  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 safeTransferFrom(address _from,address _to,uint256 _tokenId,bytes calldata _data) external;
    
  function safeTransferFrom(address _from,address _to,uint256 _tokenId) external;
    
  function transferFrom(address _from,address _to,uint256 _tokenId) external;

  function approve(address _approved,uint256 _tokenId) external;
    
  function setApprovalForAll(address _operator,bool _approved) external;

  function balanceOf(address _owner) external view returns (uint256);

  function ownerOf(uint256 _tokenId) external view returns (address);

  function getApproved(uint256 _tokenId) external view returns (address);

  function isApprovedForAll(address _owner,address _operator) external view returns (bool);
}

interface ERC721TokenReceiver{
    
    function onERC721Received(address _operator,address _from,uint256 _tokenId,bytes calldata _data) external returns(bytes4);
}

contract Ownable{
    /**
    * @dev Error constants.
    */
    string public constant NOT_CURRENT_OWNER = "018001";
    string public constant CANNOT_TRANSFER_TO_ZERO_ADDRESS = "018002";
    string public constant NOT_CURRENT_MANAGER = "018003";

    address public owner;
    mapping(address=>bool) public Manager;


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


    constructor() public {
        owner = msg.sender;
    }
    
    modifier onlyOwner(){
        require(msg.sender == owner, NOT_CURRENT_OWNER);
        _;
    }
  
    modifier onlyManager(){
        require(Manager[msg.sender], NOT_CURRENT_MANAGER);
        _;
    }

    function addManager(address _maddr) public onlyOwner{
        Manager[_maddr] = true;
    }
  
    function delManager(address _maddr) public onlyOwner{
        Manager[_maddr] = false;
    }
    
    function transferOwnership(address _newOwner) public onlyOwner{
        require(_newOwner != address(0), CANNOT_TRANSFER_TO_ZERO_ADDRESS);
        emit OwnershipTransferred(owner, _newOwner);
        owner = _newOwner;
    }

}

contract NFToken is ERC721 {
    
    using SafeMath for uint256;
    using AddressUtils for address;

    string constant ZERO_ADDRESS = "003001";
    string constant NOT_VALID_NFT = "003002";
    string constant NOT_OWNER_OR_OPERATOR = "003003";
    string constant NOT_OWNER_APPROWED_OR_OPERATOR = "003004";
    string constant NOT_ABLE_TO_RECEIVE_NFT = "003005";
    string constant NFT_ALREADY_EXISTS = "003006";
    string constant NOT_OWNER = "003007";
    string constant IS_OWNER = "003008";

    bytes4 internal constant MAGIC_ON_ERC721_RECEIVED = 0x150b7a02;

  
    mapping (uint256 => address) public idToOwner;

    uint256 internal tokenID;
    mapping (uint256 => address) internal idToApproval;

    mapping (address => uint256) private ownerToNFTokenCount;

    mapping (address => mapping (address => bool)) internal ownerToOperators;

    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);


    modifier canOperate(uint256 _tokenId) {
        address tokenOwner = idToOwner[_tokenId];
        require(tokenOwner == msg.sender || ownerToOperators[tokenOwner][msg.sender], NOT_OWNER_OR_OPERATOR);
        _;
    }

    modifier canTransfer(uint256 _tokenId){
        address tokenOwner = idToOwner[_tokenId];
        require(
            tokenOwner == msg.sender
            || idToApproval[_tokenId] == msg.sender
            || ownerToOperators[tokenOwner][msg.sender],
            NOT_OWNER_APPROWED_OR_OPERATOR
        );
        _;
    }


    modifier validNFToken(uint256 _tokenId){
        require(idToOwner[_tokenId] != address(0), NOT_VALID_NFT);
        _;
    }

    constructor() public{
        //supportedInterfaces[0x80ac58cd] = true; // ERC721
    }
  
    function viewTokenID() view public returns(uint256){
        return tokenID;
    }
  
    function safeTransferFrom(address _from,address _to,uint256 _tokenId,bytes calldata _data)external
        //override
    {
        _safeTransferFrom(_from, _to, _tokenId, _data);
    }

    function safeTransferFrom(address _from,address _to,uint256 _tokenId) external{
        _safeTransferFrom(_from, _to, _tokenId, "");
    }

 
    function transferFrom(address _from,address _to,uint256 _tokenId) external
    canTransfer(_tokenId)
    validNFToken(_tokenId){
        address tokenOwner = idToOwner[_tokenId];
        require(tokenOwner == _from, NOT_OWNER);
        require(_to != address(0), ZERO_ADDRESS);

        _transfer(_to, _tokenId);
    }
  
    function transferList(address _to,uint256[] calldata _tokenIdList) external{
        uint256 len = _tokenIdList.length;
        address tokenOwner;// = idToOwner[_tokenId];
        uint256 _tokenId;
        require(len <= 100,"token list too length");
        for(uint256 i=0;i<len;i++){
            _tokenId = _tokenIdList[i];
            tokenOwner = idToOwner[_tokenId];
            require(tokenOwner != address(0), NOT_VALID_NFT);
            require(
                tokenOwner == msg.sender
                || idToApproval[_tokenId] == msg.sender
                || ownerToOperators[tokenOwner][msg.sender],
                NOT_OWNER_APPROWED_OR_OPERATOR
            );
            _transfer(_to, _tokenId);
        }
      
    }

    
    function approve(address _approved,uint256 _tokenId) external
    canOperate(_tokenId)
    validNFToken(_tokenId){
        address tokenOwner = idToOwner[_tokenId];
        require(_approved != tokenOwner, IS_OWNER);

        idToApproval[_tokenId] = _approved;
        emit Approval(tokenOwner, _approved, _tokenId);
    }

 
    function setApprovalForAll(address _operator,bool _approved) external{
        ownerToOperators[msg.sender][_operator] = _approved;
        emit ApprovalForAll(msg.sender, _operator, _approved);
    }

 
    function balanceOf(address _owner) external view returns (uint256) {
        require(_owner != address(0), ZERO_ADDRESS);
        return _getOwnerNFTCount(_owner);
    }

 
    function ownerOf(uint256 _tokenId) external view returns (address _owner){
        _owner = idToOwner[_tokenId];
        require(_owner != address(0), NOT_VALID_NFT);
    }

    function getApproved(uint256 _tokenId) external view validNFToken(_tokenId) returns (address) {
        return idToApproval[_tokenId];
    }


    function isApprovedForAll( address _owner,  address _operator) external view returns (bool) {
        return ownerToOperators[_owner][_operator];
    }

    function _transfer(address _to,uint256 _tokenId) internal{
        address from = idToOwner[_tokenId];
        _clearApproval(_tokenId);

        _removeNFToken(from, _tokenId);
        _addNFToken(_to, _tokenId);

        emit Transfer(from, _to, _tokenId);
    }

    function _mint(address _to,uint256 _tokenId)internal{
        require(_to != address(0), ZERO_ADDRESS);
        require(idToOwner[_tokenId] == address(0), NFT_ALREADY_EXISTS);
        tokenID++;
        _addNFToken(_to, _tokenId);

        emit Transfer(address(0), _to, _tokenId);
    }


    function _burn(uint256 _tokenId) internal validNFToken(_tokenId){
        address tokenOwner = idToOwner[_tokenId];
        _clearApproval(_tokenId);
        _removeNFToken(tokenOwner, _tokenId);
        emit Transfer(tokenOwner, address(0), _tokenId);
    }
    
    function _removeNFToken(address _from,uint256 _tokenId) internal{
        require(idToOwner[_tokenId] == _from, NOT_OWNER);
        ownerToNFTokenCount[_from] = ownerToNFTokenCount[_from] - 1;
        delete idToOwner[_tokenId];
    }

    function _addNFToken(address _to,uint256 _tokenId) internal{
        require(idToOwner[_tokenId] == address(0), NFT_ALREADY_EXISTS);

        idToOwner[_tokenId] = _to;
        ownerToNFTokenCount[_to] = ownerToNFTokenCount[_to].add(1);
    }

    function _getOwnerNFTCount(address _owner) internal view returns (uint256) {
        return ownerToNFTokenCount[_owner];
    }

    function _safeTransferFrom(address _from,address _to,uint256 _tokenId,bytes memory _data) private
    canTransfer(_tokenId)
    validNFToken(_tokenId){
        address tokenOwner = idToOwner[_tokenId];
        require(tokenOwner == _from, NOT_OWNER);
        require(_to != address(0), ZERO_ADDRESS);

        _transfer(_to, _tokenId);

        if (_to.isContract()){
            bytes4 retval = ERC721TokenReceiver(_to).onERC721Received(msg.sender, _from, _tokenId, _data);
            require(retval == MAGIC_ON_ERC721_RECEIVED, NOT_ABLE_TO_RECEIVE_NFT);
        }
    }

    function _clearApproval(uint256 _tokenId)private{
        if (idToApproval[_tokenId] != address(0)){
            delete idToApproval[_tokenId];
        }
    }
}

contract NFTMdata is NFToken {
    

    string internal nftName;
    string internal nftSymbol;

    string constant INVALID_INDEX = "005007";

    uint256[] public tokens;
    mapping(uint256 => uint256) public idToIndex;
    mapping(address => uint256[]) public ownerToIds;
    mapping(uint256 => uint256) public idToOwnerIndex;
    mapping(uint256 => string) public typeName;
    
    mapping (uint256 => string) internal idToUri;
    mapping(uint256 => cAttributesStruct) public cAttributes;
    
    struct cAttributesStruct{
        string  atterbutes1;
        string  atterbutes2; 
        uint256 atterbutes3; // this for cid
        uint256 atterbutes4;
        uint256 atterbutes5;
        uint256 atterbutes6;
        uint256[] atterbutes7;
    }
  
    function name() external view returns (string memory _name){
      return nftName;
    }
    function symbol() external view returns (string memory _symbol){
      return nftSymbol;
    }
    function totalSupply() external view returns (uint256) {
        return tokens.length;
    }

    function tokenByIndex(uint256 _index) external view returns (uint256){
        require(_index < tokens.length, INVALID_INDEX);
        return tokens[_index];
    }

    function tokenOfOwnerByIndex(address _owner,uint256 _index) external view returns (uint256){
        require(_index < ownerToIds[_owner].length, INVALID_INDEX);
        return ownerToIds[_owner][_index];
    }
    
    function _mint(address _to,uint256 _tokenId) internal {
        super._mint(_to, _tokenId);
        tokens.push(_tokenId);
        idToIndex[_tokenId] = tokens.length - 1;
      
    }

    function _burn(uint256 _tokenId) internal {
        super._burn(_tokenId);

        uint256 tokenIndex = idToIndex[_tokenId];
        uint256 lastTokenIndex = tokens.length - 1;
        uint256 lastToken = tokens[lastTokenIndex];

        tokens[tokenIndex] = lastToken;

        tokens.pop();
        // This wastes gas if you are burning the last token but saves a little gas if you are not.
        idToIndex[lastToken] = tokenIndex;
        idToIndex[_tokenId] = 0;
    }


    function _removeNFToken(address _from,uint256 _tokenId) internal {
        require(idToOwner[_tokenId] == _from, NOT_OWNER);
        delete idToOwner[_tokenId];

        uint256 tokenToRemoveIndex = idToOwnerIndex[_tokenId];
        uint256 lastTokenIndex = ownerToIds[_from].length - 1;

        if (lastTokenIndex != tokenToRemoveIndex){
            uint256 lastToken = ownerToIds[_from][lastTokenIndex];
            ownerToIds[_from][tokenToRemoveIndex] = lastToken;
            idToOwnerIndex[lastToken] = tokenToRemoveIndex;
        }

        ownerToIds[_from].pop();
    }


    function _addNFToken(address _to,uint256 _tokenId) internal {
        require(idToOwner[_tokenId] == address(0), NFT_ALREADY_EXISTS);
        idToOwner[_tokenId] = _to;

        ownerToIds[_to].push(_tokenId);
        idToOwnerIndex[_tokenId] = ownerToIds[_to].length - 1;
    }
    
    function _getOwnerNFTCount(address _owner) internal view returns (uint256){
        return ownerToIds[_owner].length;
        
    }
    function tokenURI(uint256 _tokenId) public view returns(string memory _uri){
        _uri = idToUri[_tokenId];
    }
    function _setTokenUri(uint256 _tokenId, string memory _uri) internal validNFToken(_tokenId) {
        idToUri[_tokenId] = _uri;
        
    }
    
    
    function _setTokenAttributes(uint256 _tokenId,uint8 _typeAttributes,string memory _tvalue,uint256 _tUintValue) 
    internal validNFToken(_tokenId) {
        if(_typeAttributes == 1){
            cAttributes[_tokenId].atterbutes1 = _tvalue;
        }else if(_typeAttributes == 2){
            cAttributes[_tokenId].atterbutes2 = _tvalue; 
        }else if(_typeAttributes == 3){
            cAttributes[_tokenId].atterbutes3 = _tUintValue;
        }else if(_typeAttributes == 4){
            cAttributes[_tokenId].atterbutes4 = _tUintValue;
        }else if(_typeAttributes == 5){
            cAttributes[_tokenId].atterbutes5 = _tUintValue;
        }else if(_typeAttributes == 6){
            cAttributes[_tokenId].atterbutes6 = _tUintValue;
        }
    }
    
    function _setToken7Attributes(uint256 _tokenId,uint256 _index,uint256 _tvalue) internal validNFToken(_tokenId){
        cAttributes[_tokenId].atterbutes7[_index] = _tvalue;
    }
    
    function _addToken7Attributes(uint256 _tokenId,uint256 _tvalue) internal validNFToken(_tokenId){
        cAttributes[_tokenId].atterbutes7.push(_tvalue);
    }
    
    function getAttributes7Length(uint256 _tokenId) public view returns(uint256){
        return cAttributes[_tokenId].atterbutes7.length;
    }
    
    function getAttributes7ValuebyIndex(uint256 _tokenId,uint256 _index) public view returns(uint256){
        return cAttributes[_tokenId].atterbutes7[_index];
    }
    
}

contract NFTBox is NFTMdata,Ownable{
   
    constructor(string memory _name,string memory _symbol) public {
        nftName = _name;
        nftSymbol = _symbol;
    }

    function mint(address _to,uint256 _tokenId,string calldata _uri) external onlyManager{
        super._mint(_to, _tokenId);
        super._setTokenUri(_tokenId, _uri);
    }
    
    function burn(uint256 _tokenId) external onlyManager {
        super._burn(_tokenId);
    }
    
    function setTokenAttributes(uint256 _tokenId,uint8 _typeAttributes,string calldata _tvalue,uint256 _tUintValue) external onlyManager{
        super._setTokenAttributes(_tokenId,_typeAttributes,_tvalue,_tUintValue);
    }
    
    function setAttribute7(uint256 _tokenId,uint256 _index,uint256 _tvalue) external onlyManager{
        super._setToken7Attributes(_tokenId,_index,_tvalue);
    }
    
    function addToken7Attributes(uint256 _tokenId,uint256 _tvalue) external onlyManager{
        super._addToken7Attributes(_tokenId,_tvalue);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"}],"payable":false,"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"},{"constant":true,"inputs":[],"name":"CANNOT_TRANSFER_TO_ZERO_ADDRESS","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"Manager","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"NOT_CURRENT_MANAGER","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"NOT_CURRENT_OWNER","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_maddr","type":"address"}],"name":"addManager","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"uint256","name":"_tvalue","type":"uint256"}],"name":"addToken7Attributes","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_approved","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"approve","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"cAttributes","outputs":[{"internalType":"string","name":"atterbutes1","type":"string"},{"internalType":"string","name":"atterbutes2","type":"string"},{"internalType":"uint256","name":"atterbutes3","type":"uint256"},{"internalType":"uint256","name":"atterbutes4","type":"uint256"},{"internalType":"uint256","name":"atterbutes5","type":"uint256"},{"internalType":"uint256","name":"atterbutes6","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_maddr","type":"address"}],"name":"delManager","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"getAttributes7Length","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"uint256","name":"_index","type":"uint256"}],"name":"getAttributes7ValuebyIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"idToIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"idToOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"idToOwnerIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"string","name":"_uri","type":"string"}],"name":"mint","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"_name","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"_owner","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"ownerToIds","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"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":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_operator","type":"address"},{"internalType":"bool","name":"_approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"uint256","name":"_index","type":"uint256"},{"internalType":"uint256","name":"_tvalue","type":"uint256"}],"name":"setAttribute7","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"uint8","name":"_typeAttributes","type":"uint8"},{"internalType":"string","name":"_tvalue","type":"string"},{"internalType":"uint256","name":"_tUintValue","type":"uint256"}],"name":"setTokenAttributes","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"_symbol","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"_index","type":"uint256"}],"name":"tokenByIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"uint256","name":"_index","type":"uint256"}],"name":"tokenOfOwnerByIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"_uri","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"tokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256[]","name":"_tokenIdList","type":"uint256[]"}],"name":"transferList","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"typeName","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"viewTokenID","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"}]

60806040523480156200001157600080fd5b50604051620030da380380620030da833981810160405260408110156200003757600080fd5b81019080805160405193929190846401000000008211156200005857600080fd5b9083019060208201858111156200006e57600080fd5b82516401000000008111828201881017156200008957600080fd5b82525081516020918201929091019080838360005b83811015620000b85781810151838201526020016200009e565b50505050905090810190601f168015620000e65780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200010a57600080fd5b9083019060208201858111156200012057600080fd5b82516401000000008111828201881017156200013b57600080fd5b82525081516020918201929091019080838360005b838110156200016a57818101518382015260200162000150565b50505050905090810190601f168015620001985780820380516001836020036101000a031916815260200191505b506040525050600e80546001600160a01b03191633179055508151620001c6906005906020850190620001e5565b508051620001dc906006906020840190620001e5565b5050506200028a565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200022857805160ff191683800117855562000258565b8280016001018555821562000258579182015b82811115620002585782518255916020019190600101906200023b565b50620002669291506200026a565b5090565b6200028791905b8082111562000266576000815560010162000271565b90565b612e40806200029a6000396000f3fe608060405234801561001057600080fd5b506004361061023d5760003560e01c806370a082311161013b578063bfc206ed116100b8578063e985e9c51161007c578063e985e9c514610986578063f2fde38b146109b4578063f3fe3bc3146109da578063f46f6e3d146109e2578063feb3d3d6146109ea5761023d565b8063bfc206ed1461078f578063c1e0515e146107ac578063c87b56dd146108c3578063cf3bd01a146108e0578063d3fc9864146109035761023d565b806398d974d9116100ff57806398d974d91461066d578063a22cb46514610690578063a65eacdc146106be578063a98b69a5146106e4578063b88d4fde146107015761023d565b806370a0823114610606578063860d248a1461062c57806386563356146106345780638da5cb5b1461065d57806395d89b41146106655761023d565b806340adac5f116101c95780634f6ccce71161018d5780634f6ccce714610529578063505d162414610546578063568d4d9d1461054e578063611ec833146105cc5780636352211e146105e95761023d565b806340adac5f1461046257806342842e0e1461047f57806342966c68146104b55780634b0697e4146104d25780634f64b2be1461050c5761023d565b80631b4f71d7116102105780631b4f71d71461034057806323b872dd146103bd5780632d06177a146103f35780632f745c59146104195780633df6db72146104455761023d565b806306fdde0314610242578063081812fc146102bf578063095ea7b3146102f857806318160ddd14610326575b600080fd5b61024a610a16565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561028457818101518382015260200161026c565b50505050905090810190601f1680156102b15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102dc600480360360208110156102d557600080fd5b5035610aad565b604080516001600160a01b039092168252519081900360200190f35b6103246004803603604081101561030e57600080fd5b506001600160a01b038135169060200135610b8f565b005b61032e610db7565b60408051918252519081900360200190f35b6103246004803603608081101561035657600080fd5b81359160ff60208201351691810190606081016040820135600160201b81111561037f57600080fd5b82018360208201111561039157600080fd5b803590602001918460018302840111600160201b831117156103b257600080fd5b919350915035610dbd565b610324600480360360608110156103d357600080fd5b506001600160a01b03813581169160208101359091169060400135610e87565b6103246004803603602081101561040957600080fd5b50356001600160a01b03166110f6565b61032e6004803603604081101561042f57600080fd5b506001600160a01b038135169060200135611192565b61032e6004803603602081101561045b57600080fd5b5035611251565b61032e6004803603602081101561047857600080fd5b5035611263565b6103246004803603606081101561049557600080fd5b506001600160a01b03813581169160208101359091169060400135611275565b610324600480360360208110156104cb57600080fd5b5035611295565b6104f8600480360360208110156104e857600080fd5b50356001600160a01b0316611321565b604080519115158252519081900360200190f35b61032e6004803603602081101561052257600080fd5b5035611336565b61032e6004803603602081101561053f57600080fd5b5035611354565b61032e6113e4565b6103246004803603604081101561056457600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561058e57600080fd5b8201836020820111156105a057600080fd5b803590602001918460208302840111600160201b831117156105c157600080fd5b5090925090506113ea565b61032e600480360360208110156105e257600080fd5b50356115bf565b6102dc600480360360208110156105ff57600080fd5b50356115d4565b61032e6004803603602081101561061c57600080fd5b50356001600160a01b0316611658565b61024a6116dd565b6103246004803603606081101561064a57600080fd5b50803590602081013590604001356116ff565b6102dc61178a565b61024a611799565b61032e6004803603604081101561068357600080fd5b50803590602001356117fa565b610324600480360360408110156106a657600080fd5b506001600160a01b0381351690602001351515611817565b610324600480360360208110156106d457600080fd5b50356001600160a01b0316611885565b61024a600480360360208110156106fa57600080fd5b503561191e565b6103246004803603608081101561071757600080fd5b6001600160a01b03823581169260208101359091169160408201359190810190608081016060820135600160201b81111561075157600080fd5b82018360208201111561076357600080fd5b803590602001918460018302840111600160201b8311171561078457600080fd5b5090925090506119b9565b6102dc600480360360208110156107a557600080fd5b50356119fb565b6107c9600480360360208110156107c257600080fd5b5035611a16565b604051808060200180602001878152602001868152602001858152602001848152602001838103835289818151815260200191508051906020019080838360005b8381101561082257818101518382015260200161080a565b50505050905090810190601f16801561084f5780820380516001836020036101000a031916815260200191505b5083810382528851815288516020918201918a019080838360005b8381101561088257818101518382015260200161086a565b50505050905090810190601f1680156108af5780820380516001836020036101000a031916815260200191505b509850505050505050505060405180910390f35b61024a600480360360208110156108d957600080fd5b5035611b6d565b610324600480360360408110156108f657600080fd5b5080359060200135611c0e565b6103246004803603606081101561091957600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b81111561094857600080fd5b82018360208201111561095a57600080fd5b803590602001918460018302840111600160201b8311171561097b57600080fd5b509092509050611c9c565b6104f86004803603604081101561099c57600080fd5b506001600160a01b0381358116916020013516611d6c565b610324600480360360208110156109ca57600080fd5b50356001600160a01b0316611d9a565b61024a611ee1565b61024a611f03565b61032e60048036036040811015610a0057600080fd5b506001600160a01b038135169060200135611f25565b60058054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015610aa25780601f10610a7757610100808354040283529160200191610aa2565b820191906000526020600020905b815481529060010190602001808311610a8557829003601f168201915b505050505090505b90565b600081815260208181526040808320548151808301909252600682526518181998181960d11b9282019290925283916001600160a01b0316610b6d5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610b32578181015183820152602001610b1a565b50505050905090810190601f168015610b5f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838152600260205260409020546001600160a01b031691505b50919050565b60008181526020819052604090205481906001600160a01b031633811480610bda57506001600160a01b038116600090815260046020908152604080832033845290915290205460ff165b6040518060400160405280600681526020016530303330303360d01b81525090610c455760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610b32578181015183820152602001610b1a565b5060008381526020818152604091829020548251808401909352600683526518181998181960d11b918301919091528491906001600160a01b0316610ccb5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610b32578181015183820152602001610b1a565b5060008481526020818152604091829020548251808401909352600683526506060666060760d31b918301919091526001600160a01b0390811691908716821415610d575760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610b32578181015183820152602001610b1a565b5060008581526002602052604080822080546001600160a01b0319166001600160a01b038a811691821790925591518893918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050505050565b60075490565b336000908152600f6020908152604091829020548251808401909352600683526530313830303360d01b9183019190915260ff16610e3c5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610b32578181015183820152602001610b1a565b50610e80858585858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250879250611f53915050565b5050505050565b60008181526020819052604090205481906001600160a01b031633811480610ec557506000828152600260205260409020546001600160a01b031633145b80610ef357506001600160a01b038116600090815260046020908152604080832033845290915290205460ff165b604051806040016040528060068152602001650c0c0ccc0c0d60d21b81525090610f5e5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610b32578181015183820152602001610b1a565b5060008381526020818152604091829020548251808401909352600683526518181998181960d11b918301919091528491906001600160a01b0316610fe45760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610b32578181015183820152602001610b1a565b5060008481526020818152604091829020548251808401909352600683526530303330303760d01b918301919091526001600160a01b0390811691908816821461106f5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610b32578181015183820152602001610b1a565b5060408051808201909152600681526530303330303160d01b60208201526001600160a01b0387166110e25760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610b32578181015183820152602001610b1a565b506110ed86866120d1565b50505050505050565b600e5460408051808201909152600681526530313830303160d01b6020820152906001600160a01b0316331461116d5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610b32578181015183820152602001610b1a565b506001600160a01b03166000908152600f60205260409020805460ff19166001179055565b6001600160a01b0382166000908152600960209081526040808320548151808301909252600682526530303530303760d01b928201929092529083106112195760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610b32578181015183820152602001610b1a565b506001600160a01b038316600090815260096020526040902080548390811061123e57fe5b9060005260206000200154905092915050565b60086020526000908152604090205481565b600a6020526000908152604090205481565b6112908383836040518060200160405280600081525061214c565b505050565b336000908152600f6020908152604091829020548251808401909352600683526530313830303360d01b9183019190915260ff166113145760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610b32578181015183820152602001610b1a565b5061131e8161254a565b50565b600f6020526000908152604090205460ff1681565b6007818154811061134357fe5b600091825260209091200154905081565b60075460408051808201909152600681526530303530303760d01b602082015260009183106113c45760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610b32578181015183820152602001610b1a565b50600782815481106113d257fe5b90600052602060002001549050919050565b60015490565b80600080606483111561143c576040805162461bcd60e51b81526020600482015260156024820152740e8ded6cadc40d8d2e6e840e8dede40d8cadccee8d605b1b604482015290519081900360640190fd5b60005b838110156110ed5785858281811061145357fe5b602090810292909201356000818152808452604090819020548151808301909252600682526518181998181960d11b948201949094526001600160a01b039093169550935050836114e55760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610b32578181015183820152602001610b1a565b506001600160a01b03831633148061151357506000828152600260205260409020546001600160a01b031633145b8061154157506001600160a01b038316600090815260046020908152604080832033845290915290205460ff165b604051806040016040528060068152602001650c0c0ccc0c0d60d21b815250906115ac5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610b32578181015183820152602001610b1a565b506115b787836120d1565b60010161143f565b6000908152600d602052604090206006015490565b60008181526020818152604091829020548251808401909352600683526518181998181960d11b918301919091526001600160a01b03169081610b895760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610b32578181015183820152602001610b1a565b60408051808201909152600681526530303330303160d01b60208201526000906001600160a01b0383166116cd5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610b32578181015183820152602001610b1a565b506116d7826125e2565b92915050565b6040518060400160405280600681526020016518189c18181960d11b81525081565b336000908152600f6020908152604091829020548251808401909352600683526530313830303360d01b9183019190915260ff1661177e5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610b32578181015183820152602001610b1a565b506112908383836125fd565b600e546001600160a01b031681565b60068054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015610aa25780601f10610a7757610100808354040283529160200191610aa2565b6000828152600d6020526040812060060180548390811061123e57fe5b3360008181526004602090815260408083206001600160a01b03871680855290835292819020805460ff1916861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b600e5460408051808201909152600681526530313830303160d01b6020820152906001600160a01b031633146118fc5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610b32578181015183820152602001610b1a565b506001600160a01b03166000908152600f60205260409020805460ff19169055565b600b6020908152600091825260409182902080548351601f6002600019610100600186161502019093169290920491820184900484028101840190945280845290918301828280156119b15780601f10611986576101008083540402835291602001916119b1565b820191906000526020600020905b81548152906001019060200180831161199457829003601f168201915b505050505081565b610e8085858585858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061214c92505050565b6000602081905290815260409020546001600160a01b031681565b600d6020908152600091825260409182902080548351601f60026000196101006001861615020190931692909204918201849004840281018401909452808452909291839190830182828015611aad5780601f10611a8257610100808354040283529160200191611aad565b820191906000526020600020905b815481529060010190602001808311611a9057829003601f168201915b505050505090806001018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611b4b5780601f10611b2057610100808354040283529160200191611b4b565b820191906000526020600020905b815481529060010190602001808311611b2e57829003601f168201915b5050505050908060020154908060030154908060040154908060050154905086565b6000818152600c602090815260409182902080548351601f6002600019610100600186161502019093169290920491820184900484028101840190945280845260609392830182828015611c025780601f10611bd757610100808354040283529160200191611c02565b820191906000526020600020905b815481529060010190602001808311611be557829003601f168201915b50505050509050919050565b336000908152600f6020908152604091829020548251808401909352600683526530313830303360d01b9183019190915260ff16611c8d5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610b32578181015183820152602001610b1a565b50611c9882826126b5565b5050565b336000908152600f6020908152604091829020548251808401909352600683526530313830303360d01b9183019190915260ff16611d1b5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610b32578181015183820152602001610b1a565b50611d268484612762565b611d668383838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506127b692505050565b50505050565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205460ff1690565b600e5460408051808201909152600681526530313830303160d01b6020820152906001600160a01b03163314611e115760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610b32578181015183820152602001610b1a565b5060408051808201909152600681526518189c18181960d11b60208201526001600160a01b038216611e845760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610b32578181015183820152602001610b1a565b50600e546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600e80546001600160a01b0319166001600160a01b0392909216919091179055565b6040518060400160405280600681526020016530313830303160d01b81525081565b6040518060400160405280600681526020016530313830303360d01b81525081565b60096020528160005260406000208181548110611f3e57fe5b90600052602060002001600091509150505481565b60008481526020818152604091829020548251808401909352600683526518181998181960d11b918301919091528591906001600160a01b0316611fd85760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610b32578181015183820152602001610b1a565b508360ff166001141561200a576000858152600d60209081526040909120845161200492860190612d73565b50610e80565b8360ff166002141561203b576000858152600d60209081526040909120845161200492600190920191860190612d73565b8360ff1660031415612060576000858152600d60205260409020600201829055610e80565b8360ff1660041415612085576000858152600d60205260409020600301829055610e80565b8360ff16600514156120aa576000858152600d60205260409020600401829055610e80565b8360ff1660061415610e80576000858152600d602052604090206005018290555050505050565b6000818152602081905260409020546001600160a01b03166120f28261285b565b6120fc8183612896565b6121068383612a22565b81836001600160a01b0316826001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b60008281526020819052604090205482906001600160a01b03163381148061218a57506000828152600260205260409020546001600160a01b031633145b806121b857506001600160a01b038116600090815260046020908152604080832033845290915290205460ff165b604051806040016040528060068152602001650c0c0ccc0c0d60d21b815250906122235760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610b32578181015183820152602001610b1a565b5060008481526020818152604091829020548251808401909352600683526518181998181960d11b918301919091528591906001600160a01b03166122a95760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610b32578181015183820152602001610b1a565b5060008581526020818152604091829020548251808401909352600683526530303330303760d01b918301919091526001600160a01b039081169190891682146123345760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610b32578181015183820152602001610b1a565b5060408051808201909152600681526530303330303160d01b60208201526001600160a01b0388166123a75760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610b32578181015183820152602001610b1a565b506123b287876120d1565b6123c4876001600160a01b0316612b04565b1561254057604051630a85bd0160e11b815233600482018181526001600160a01b038b81166024850152604484018a9052608060648501908152895160848601528951600095928d169463150b7a029490938f938e938e939260a4019060208501908083838e5b8381101561244357818101518382015260200161242b565b50505050905090810190601f1680156124705780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b15801561249257600080fd5b505af11580156124a6573d6000803e3d6000fd5b505050506040513d60208110156124bc57600080fd5b505160408051808201909152600681526530303330303560d01b60208201529091506001600160e01b03198216630a85bd0160e11b1461253d5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610b32578181015183820152602001610b1a565b50505b5050505050505050565b61255381612b40565b6000818152600860205260408120546007805491926000198301929091908390811061257b57fe5b90600052602060002001549050806007848154811061259657fe5b60009182526020909120015560078054806125ad57fe5b600082815260208082208301600019908101839055909201909255918152600890915260408082209390935592835250812055565b6001600160a01b031660009081526009602052604090205490565b60008381526020818152604091829020548251808401909352600683526518181998181960d11b918301919091528491906001600160a01b03166126825760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610b32578181015183820152602001610b1a565b506000848152600d602052604090206006018054839190859081106126a357fe5b60009182526020909120015550505050565b60008281526020818152604091829020548251808401909352600683526518181998181960d11b918301919091528391906001600160a01b031661273a5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610b32578181015183820152602001610b1a565b50506000918252600d6020908152604083206006018054600181018255908452922090910155565b61276c8282612c2e565b600780546001810182557fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6880182905554600091825260086020526040909120600019909101905550565b60008281526020818152604091829020548251808401909352600683526518181998181960d11b918301919091528391906001600160a01b031661283b5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610b32578181015183820152602001610b1a565b506000838152600c602090815260409091208351611d6692850190612d73565b6000818152600260205260409020546001600160a01b03161561131e57600090815260026020526040902080546001600160a01b0319169055565b60008181526020818152604091829020548251808401909352600683526530303330303760d01b918301919091526001600160a01b0384811691161461291d5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610b32578181015183820152602001610b1a565b5060008181526020818152604080832080546001600160a01b0319169055600a8252808320546001600160a01b0386168452600990925290912054600019018082146129e5576001600160a01b038416600090815260096020526040812080548390811061298757fe5b906000526020600020015490508060096000876001600160a01b03166001600160a01b0316815260200190815260200160002084815481106129c557fe5b6000918252602080832090910192909255918252600a9052604090208290555b6001600160a01b0384166000908152600960205260409020805480612a0657fe5b6001900381819060005260206000200160009055905550505050565b60008181526020818152604091829020548251808401909352600683526518181998181b60d11b918301919091526001600160a01b031615612aa55760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610b32578181015183820152602001610b1a565b5060008181526020818152604080832080546001600160a01b0319166001600160a01b039690961695861790559382526009815283822080546001810182558184528284200184905554928252600a9052919091206000199091019055565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708115801590612b385750808214155b949350505050565b60008181526020818152604091829020548251808401909352600683526518181998181960d11b918301919091528291906001600160a01b0316612bc55760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610b32578181015183820152602001610b1a565b506000828152602081905260409020546001600160a01b0316612be78361285b565b612bf18184612896565b60405183906000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a4505050565b60408051808201909152600681526530303330303160d01b60208201526001600160a01b038316612ca05760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610b32578181015183820152602001610b1a565b5060008181526020818152604091829020548251808401909352600683526518181998181b60d11b918301919091526001600160a01b031615612d245760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610b32578181015183820152602001610b1a565b506001805481019055612d378282612a22565b60405181906001600160a01b038416906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10612db457805160ff1916838001178555612de1565b82800160010185558215612de1579182015b82811115612de1578251825591602001919060010190612dc6565b50612ded929150612df1565b5090565b610aaa91905b80821115612ded5760008155600101612df756fea265627a7a72315820177d766699a53668ddb26b3b36e4e360d0ca3f8b21687fb1ba84551f480c47fb64736f6c6343000511003200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000469426f7800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000469426f7800000000000000000000000000000000000000000000000000000000

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

00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000469426f7800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000469426f7800000000000000000000000000000000000000000000000000000000

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

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


Deployed ByteCode Sourcemap

18419:1030:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18419:1030:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14218:90;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;14218:90:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10852:142;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10852:142:0;;:::i;:::-;;;;-1:-1:-1;;;;;10852:142:0;;;;;;;;;;;;;;9930:331;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;9930:331:0;;;;;;;;:::i;:::-;;14416:94;;;:::i;:::-;;;;;;;;;;;;;;;;18892:222;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;18892:222:0;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;18892:222:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;18892:222:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;18892:222:0;;-1:-1:-1;18892:222:0;-1:-1:-1;18892:222:0;;:::i;8825:326::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;8825:326:0;;;;;;;;;;;;;;;;;:::i;5963:93::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5963:93:0;-1:-1:-1;;;;;5963:93:0;;:::i;14692:212::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;14692:212:0;;;;;;;;:::i;13611:44::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;13611:44:0;;:::i;13716:49::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;13716:49:0;;:::i;8674:140::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;8674:140:0;;;;;;;;;;;;;;;;;:::i;18787:93::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;18787:93:0;;:::i;5534:37::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5534:37:0;-1:-1:-1;;;;;5534:37:0;;:::i;:::-;;;;;;;;;;;;;;;;;;13581:23;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;13581:23:0;;:::i;14518:166::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;14518:166:0;;:::i;8383:84::-;;;:::i;9161:755::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;9161:755:0;;;;;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;9161:755:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;9161:755:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;-1:-1;9161:755:0;;-1:-1:-1;9161:755:0;-1:-1:-1;9161:755:0;:::i;18088:142::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;18088:142:0;;:::i;10669:175::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10669:175:0;;:::i;10486:172::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10486:172:0;-1:-1:-1;;;;;10486:172:0;;:::i;5373:65::-;;;:::i;19126:162::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;19126:162:0;;;;;;;;;;;;:::i;5507:20::-;;;:::i;14314:96::-;;;:::i;18242:164::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;18242:164:0;;;;;;;:::i;10272:203::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;10272:203:0;;;;;;;;;;:::i;6066:94::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6066:94:0;-1:-1:-1;;;;;6066:94:0;;:::i;13772:42::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;13772:42:0;;:::i;8477:189::-;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;;;;;8477:189:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;8477:189:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;8477:189:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;-1:-1;8477:189:0;;-1:-1:-1;8477:189:0;-1:-1:-1;8477:189:0;:::i;7004:45::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7004:45:0;;:::i;13878:56::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;13878:56:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;13878:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13878:56:0;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;13878:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16651:118;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16651:118:0;;:::i;19300:146::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;19300:146:0;;;;;;;:::i;18600:175::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;18600:175:0;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;18600:175:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;18600:175:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;-1:-1;18600:175:0;;-1:-1:-1;18600:175:0;-1:-1:-1;18600:175:0;:::i;11004:153::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;11004:153:0;;;;;;;;;;:::i;6172:228::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6172:228:0;-1:-1:-1;;;;;6172:228:0;;:::i;5315:51::-;;;:::i;5445:53::-;;;:::i;13662:47::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;13662:47:0;;;;;;;;:::i;14218:90::-;14293:7;14286:14;;;;;;;;-1:-1:-1;;14286:14:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14257:19;;14286:14;;14293:7;;14286:14;;14293:7;14286:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14218:90;;:::o;10852:142::-;10937:7;8207:19;;;;;;;;;;;;8242:13;;;;;;;;;;;-1:-1:-1;;;8242:13:0;;;;;;;10918:8;;-1:-1:-1;;;;;8207:19:0;8199:57;;;;-1:-1:-1;;;8199:57:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;8199:57:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10964:22:0;;;;:12;:22;;;;;;-1:-1:-1;;;;;10964:22:0;;-1:-1:-1;8267:1:0;10852:142;;;;:::o;9930:331::-;7628:18;7649:19;;;;;;;;;;;10008:8;;-1:-1:-1;;;;;7649:19:0;7701:10;7687:24;;;:68;;-1:-1:-1;;;;;;7715:28:0;;;;;;:16;:28;;;;;;;;7744:10;7715:40;;;;;;;;;;7687:68;7757:21;;;;;;;;;;;;;-1:-1:-1;;;7757:21:0;;;7679:100;;;;;-1:-1:-1;;;7679:100:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;7679::0;-1:-1:-1;8238:1:0;8207:19;;;;;;;;;;;;;8242:13;;;;;;;;;;;-1:-1:-1;;;8242:13:0;;;;;;;10036:8;;8242:13;-1:-1:-1;;;;;8207:19:0;8199:57;;;;-1:-1:-1;;;8199:57:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;8199:57:0;-1:-1:-1;10056:18:0;10077:19;;;;;;;;;;;;;10140:8;;;;;;;;;;;-1:-1:-1;;;10140:8:0;;;;;;;-1:-1:-1;;;;;10077:19:0;;;;10140:8;10115:23;;;;;10107:42;;;;-1:-1:-1;;;10107:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;10107:42:0;-1:-1:-1;10162:22:0;;;;:12;:22;;;;;;:34;;-1:-1:-1;;;;;;10162:34:0;-1:-1:-1;;;;;10162:34:0;;;;;;;;;10212:41;;10162:22;;10212:41;;;;;;;8267:1;7790;9930:331;;;;:::o;14416:94::-;14489:6;:13;14416:94;:::o;18892:222::-;5902:10;5894:19;;;;:7;:19;;;;;;;;;;5915;;;;;;;;;;;-1:-1:-1;;;5915:19:0;;;;;;;5894;;5886:49;;;;-1:-1:-1;;;5886:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;5886:49:0;;19035:71;19061:8;19070:15;19086:7;;19035:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;19094:11:0;;-1:-1:-1;19035:25:0;;-1:-1:-1;;19035:71:0:i;:::-;18892:222;;;;;:::o;8825:326::-;7856:18;7877:19;;;;;;;;;;;8917:8;;-1:-1:-1;;;;;7877:19:0;7943:10;7929:24;;;:77;;-1:-1:-1;7970:22:0;;;;:12;:22;;;;;;-1:-1:-1;;;;;7970:22:0;7996:10;7970:36;7929:77;:134;;;-1:-1:-1;;;;;;8023:28:0;;;;;;:16;:28;;;;;;;;8052:10;8023:40;;;;;;;;;;7929:134;8078:30;;;;;;;;;;;;;-1:-1:-1;;;8078:30:0;;;7907:212;;;;;-1:-1:-1;;;7907:212:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;7907:212:0;-1:-1:-1;8238:1:0;8207:19;;;;;;;;;;;;;8242:13;;;;;;;;;;;-1:-1:-1;;;8242:13:0;;;;;;;8945:8;;8242:13;-1:-1:-1;;;;;8207:19:0;8199:57;;;;-1:-1:-1;;;8199:57:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;8199:57:0;-1:-1:-1;8965:18:0;8986:19;;;;;;;;;;;;;9045:9;;;;;;;;;;;-1:-1:-1;;;9045:9:0;;;;;;;-1:-1:-1;;;;;8986:19:0;;;;9045:9;9024:19;;;;9016:39;;;;-1:-1:-1;;;9016:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;9016:39:0;-1:-1:-1;9093:12:0;;;;;;;;;;;;-1:-1:-1;;;9093:12:0;;;;-1:-1:-1;;;;;9074:17:0;;9066:40;;;;-1:-1:-1;;;9066:40:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;9066:40:0;;9119:24;9129:3;9134:8;9119:9;:24::i;:::-;8267:1;8130;8825:326;;;;;:::o;5963:93::-;5798:5;;5805:17;;;;;;;;;;;;-1:-1:-1;;;5805:17:0;;;;;-1:-1:-1;;;;;5798:5:0;5784:10;:19;5776:47;;;;-1:-1:-1;;;5776:47:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;5776:47:0;-1:-1:-1;;;;;;6026:15:0;;;;;:7;:15;;;;;:22;;-1:-1:-1;;6026:22:0;6044:4;6026:22;;;5963:93::o;14692:212::-;-1:-1:-1;;;;;14811:18:0;;14775:7;14811:18;;;:10;:18;;;;;;;;:25;14838:13;;;;;;;;;;;-1:-1:-1;;;14838:13:0;;;;;;;;14802:34;;14794:58;;;;-1:-1:-1;;;14794:58:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;14794:58:0;-1:-1:-1;;;;;;14870:18:0;;;;;;:10;:18;;;;;:26;;14889:6;;14870:26;;;;;;;;;;;;;;14863:33;;14692:212;;;;:::o;13611:44::-;;;;;;;;;;;;;:::o;13716:49::-;;;;;;;;;;;;;:::o;8674:140::-;8763:43;8781:5;8788:3;8793:8;8763:43;;;;;;;;;;;;:17;:43::i;:::-;8674:140;;;:::o;18787:93::-;5902:10;5894:19;;;;:7;:19;;;;;;;;;;5915;;;;;;;;;;;-1:-1:-1;;;5915:19:0;;;;;;;5894;;5886:49;;;;-1:-1:-1;;;5886:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;5886:49:0;;18851:21;18863:8;18851:11;:21::i;:::-;18787:93;:::o;5534:37::-;;;;;;;;;;;;;;;:::o;13581:23::-;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13581:23:0;:::o;14518:166::-;14615:6;:13;14630;;;;;;;;;;;;-1:-1:-1;;;14630:13:0;;;;14579:7;;14606:22;;14598:46;;;;-1:-1:-1;;;14598:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;14598:46:0;;14662:6;14669;14662:14;;;;;;;;;;;;;;;;14655:21;;14518:166;;;:::o;8383:84::-;8452:7;;8383:84;:::o;9161:755::-;9261:12;9247:11;;9387:3;9380:10;;;9372:43;;;;;-1:-1:-1;;;9372:43:0;;;;;;;;;;;;-1:-1:-1;;;9372:43:0;;;;;;;;;;;;;;;9430:9;9426:475;9444:3;9442:1;:5;9426:475;;;9478:12;;9491:1;9478:15;;;;;;;;;;;;;;;;9521:9;:19;;;;;;;;;;;;9589:13;;;;;;;;;;;-1:-1:-1;;;9589:13:0;;;;;;;-1:-1:-1;;;;;9521:19:0;;;;-1:-1:-1;9478:15:0;-1:-1:-1;;9563:24:0;9555:48;;;;-1:-1:-1;;;9555:48:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;9555:48:0;-1:-1:-1;;;;;;9644:24:0;;9658:10;9644:24;;:81;;-1:-1:-1;9689:22:0;;;;:12;:22;;;;;;-1:-1:-1;;;;;9689:22:0;9715:10;9689:36;9644:81;:142;;;-1:-1:-1;;;;;;9746:28:0;;;;;;:16;:28;;;;;;;;9775:10;9746:40;;;;;;;;;;9644:142;9805:30;;;;;;;;;;;;;-1:-1:-1;;;9805:30:0;;;9618:232;;;;;-1:-1:-1;;;9618:232:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;9618:232:0;;9865:24;9875:3;9880:8;9865:9;:24::i;:::-;9448:3;;9426:475;;18088:142;18156:7;18182:21;;;:11;:21;;;;;:33;;:40;;18088:142::o;10669:175::-;10727:14;10762:19;;;;;;;;;;;;;10822:13;;;;;;;;;;;-1:-1:-1;;;10822:13:0;;;;;;;-1:-1:-1;;;;;10762:19:0;;10800:20;10792:44;;;;-1:-1:-1;;;10792:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;10486:172:0;10594:12;;;;;;;;;;;;-1:-1:-1;;;10594:12:0;;;;10544:7;;-1:-1:-1;;;;;10572:20:0;;10564:43;;;;-1:-1:-1;;;10564:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;10564:43:0;;10625:25;10643:6;10625:17;:25::i;:::-;10618:32;10486:172;-1:-1:-1;;10486:172:0:o;5373:65::-;;;;;;;;;;;;;;-1:-1:-1;;;5373:65:0;;;;:::o;19126:162::-;5902:10;5894:19;;;;:7;:19;;;;;;;;;;5915;;;;;;;;;;;-1:-1:-1;;;5915:19:0;;;;;;;5894;;5886:49;;;;-1:-1:-1;;;5886:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;5886:49:0;;19229:51;19256:8;19265:6;19272:7;19229:26;:51::i;5507:20::-;;;-1:-1:-1;;;;;5507:20:0;;:::o;14314:96::-;14393:9;14386:16;;;;;;;;-1:-1:-1;;14386:16:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14355:21;;14386:16;;14393:9;;14386:16;;14393:9;14386:16;;;;;;;;;;;;;;;;;;;;;;;;18242:164;18331:7;18357:21;;;:11;:21;;;;;:33;;:41;;18391:6;;18357:41;;;;;10272:203;10369:10;10352:28;;;;:16;:28;;;;;;;;-1:-1:-1;;;;;10352:39:0;;;;;;;;;;;;:51;;-1:-1:-1;;10352:51:0;;;;;;;;;;10419:48;;;;;;;10352:39;;10369:10;10419:48;;;;;;;;;;;10272:203;;:::o;6066:94::-;5798:5;;5805:17;;;;;;;;;;;;-1:-1:-1;;;5805:17:0;;;;;-1:-1:-1;;;;;5798:5:0;5784:10;:19;5776:47;;;;-1:-1:-1;;;5776:47:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;5776:47:0;-1:-1:-1;;;;;;6129:15:0;6147:5;6129:15;;;:7;:15;;;;;:23;;-1:-1:-1;;6129:23:0;;;6066:94::o;13772:42::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;13772:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;8477:189::-;8612:46;8630:5;8637:3;8642:8;8652:5;;8612:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;8612:17:0;;-1:-1:-1;;;8612:46:0:i;7004:45::-;;;;;;;;;;;;;-1:-1:-1;;;;;7004:45:0;;:::o;13878:56::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;13878:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;16651:118::-;16744:17;;;;:7;:17;;;;;;;;;16737:24;;;;;;-1:-1:-1;;16737:24:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16707:18;;16737:24;;;16744:17;16737:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16651:118;;;:::o;19300:146::-;5902:10;5894:19;;;;:7;:19;;;;;;;;;;5915;;;;;;;;;;;-1:-1:-1;;;5915:19:0;;;;;;;5894;;5886:49;;;;-1:-1:-1;;;5886:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;5886:49:0;;19394:44;19421:8;19430:7;19394:26;:44::i;:::-;19300:146;;:::o;18600:175::-;5902:10;5894:19;;;;:7;:19;;;;;;;;;;5915;;;;;;;;;;;-1:-1:-1;;;5915:19:0;;;;;;;5894;;5886:49;;;;-1:-1:-1;;;5886:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;5886:49:0;;18696:26;18708:3;18713:8;18696:11;:26::i;:::-;18733:34;18752:8;18762:4;;18733:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;18733:18:0;;-1:-1:-1;;;18733:34:0:i;:::-;18600:175;;;;:::o;11004:153::-;-1:-1:-1;;;;;11114:24:0;;;11090:4;11114:24;;;:16;:24;;;;;;;;:35;;;;;;;;;;;;;;;11004:153::o;6172:228::-;5798:5;;5805:17;;;;;;;;;;;;-1:-1:-1;;;5805:17:0;;;;;-1:-1:-1;;;;;5798:5:0;5784:10;:19;5776:47;;;;-1:-1:-1;;;5776:47:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;5776:47:0;-1:-1:-1;6278:31:0;;;;;;;;;;;;-1:-1:-1;;;6278:31:0;;;;-1:-1:-1;;;;;6253:23:0;;6245:65;;;;-1:-1:-1;;;6245:65:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;6245:65:0;-1:-1:-1;6347:5:0;;6326:38;;-1:-1:-1;;;;;6326:38:0;;;;6347:5;;6326:38;;6347:5;;6326:38;6375:5;:17;;-1:-1:-1;;;;;;6375:17:0;-1:-1:-1;;;;;6375:17:0;;;;;;;;;;6172:228::o;5315:51::-;;;;;;;;;;;;;;-1:-1:-1;;;5315:51:0;;;;:::o;5445:53::-;;;;;;;;;;;;;;-1:-1:-1;;;5445:53:0;;;;:::o;13662:47::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;16938:773::-;8238:1;8207:19;;;;;;;;;;;;;8242:13;;;;;;;;;;;-1:-1:-1;;;8242:13:0;;;;;;;17077:8;;8242:13;-1:-1:-1;;;;;8207:19:0;8199:57;;;;-1:-1:-1;;;8199:57:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;8199:57:0;;17101:15;:20;;17120:1;17101:20;17098:606;;;17137:21;;;;:11;:21;;;;;;;;:43;;;;;;;;:::i;:::-;;17098:606;;;17200:15;:20;;17219:1;17200:20;17197:507;;;17236:21;;;;:11;:21;;;;;;;;:43;;;;:33;;;;;:43;;;;:::i;17197:507::-;17300:15;:20;;17319:1;17300:20;17297:407;;;17336:21;;;;:11;:21;;;;;:33;;:47;;;17297:407;;;17403:15;:20;;17422:1;17403:20;17400:304;;;17439:21;;;;:11;:21;;;;;:33;;:47;;;17400:304;;;17506:15;:20;;17525:1;17506:20;17503:201;;;17542:21;;;;:11;:21;;;;;:33;;:47;;;17503:201;;;17609:15;:20;;17628:1;17609:20;17606:98;;;17645:21;;;;:11;:21;;;;;:33;;:47;;;16938:773;;;;;:::o;11165:272::-;11233:12;11248:19;;;;;;;;;;;-1:-1:-1;;;;;11248:19:0;11278:24;11258:8;11278:14;:24::i;:::-;11315:30;11330:4;11336:8;11315:14;:30::i;:::-;11356:26;11368:3;11373:8;11356:11;:26::i;:::-;11420:8;11415:3;-1:-1:-1;;;;;11400:29:0;11409:4;-1:-1:-1;;;;;11400:29:0;;;;;;;;;;;11165:272;;;:::o;12661:585::-;7856:18;7877:19;;;;;;;;;;;12776:8;;-1:-1:-1;;;;;7877:19:0;7943:10;7929:24;;;:77;;-1:-1:-1;7970:22:0;;;;:12;:22;;;;;;-1:-1:-1;;;;;7970:22:0;7996:10;7970:36;7929:77;:134;;;-1:-1:-1;;;;;;8023:28:0;;;;;;:16;:28;;;;;;;;8052:10;8023:40;;;;;;;;;;7929:134;8078:30;;;;;;;;;;;;;-1:-1:-1;;;8078:30:0;;;7907:212;;;;;-1:-1:-1;;;7907:212:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;7907:212:0;-1:-1:-1;8238:1:0;8207:19;;;;;;;;;;;;;8242:13;;;;;;;;;;;-1:-1:-1;;;8242:13:0;;;;;;;12804:8;;8242:13;-1:-1:-1;;;;;8207:19:0;8199:57;;;;-1:-1:-1;;;8199:57:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;8199:57:0;-1:-1:-1;12824:18:0;12845:19;;;;;;;;;;;;;12904:9;;;;;;;;;;;-1:-1:-1;;;12904:9:0;;;;;;;-1:-1:-1;;;;;12845:19:0;;;;12904:9;12883:19;;;;12875:39;;;;-1:-1:-1;;;12875:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;12875:39:0;-1:-1:-1;12952:12:0;;;;;;;;;;;;-1:-1:-1;;;12952:12:0;;;;-1:-1:-1;;;;;12933:17:0;;12925:40;;;;-1:-1:-1;;;12925:40:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;12925:40:0;;12978:24;12988:3;12993:8;12978:9;:24::i;:::-;13019:16;:3;-1:-1:-1;;;;;13019:14:0;;:16::i;:::-;13015:224;;;13067:77;;-1:-1:-1;;;13067:77:0;;13109:10;13067:77;;;;;;-1:-1:-1;;;;;13067:77:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;13051:13;;13067:41;;;;;;13109:10;;13121:5;;13128:8;;13138:5;;13067:77;;;;;;;;;;;13051:13;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;13067:77:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13067:77:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13067:77:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;13067:77:0;13203:23;;;;;;;;;;;;-1:-1:-1;;;13067:77:0;13203:23;;;13067:77;;-1:-1:-1;;;;;;;13167:34:0;;-1:-1:-1;;;13167:34:0;13159:68;;;;-1:-1:-1;;;13159:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;13159:68:0;;13015:224;;8267:1;8130;12661:585;;;;;;:::o;15113:488::-;15166:21;15178:8;15166:11;:21::i;:::-;15200:18;15221:19;;;:9;:19;;;;;;15276:6;:13;;15221:19;;-1:-1:-1;;15276:17:0;;;15200:18;;15276:6;:17;;15324:22;;;;;;;;;;;;;;15304:42;;15380:9;15359:6;15366:10;15359:18;;;;;;;;;;;;;;;;;:30;15402:6;:12;;;;;;;;;;;;;;;;;-1:-1:-1;;15402:12:0;;;;;;;;;;;;15526:20;;;:9;:20;;;;;;;:33;;;;15570:19;;;-1:-1:-1;15570:19:0;;:23;15113:488::o;16510:135::-;-1:-1:-1;;;;;16602:18:0;16576:7;16602:18;;;:10;:18;;;;;:25;;16510:135::o;17723:180::-;8238:1;8207:19;;;;;;;;;;;;;8242:13;;;;;;;;;;;-1:-1:-1;;;8242:13:0;;;;;;;17824:8;;8242:13;-1:-1:-1;;;;;8207:19:0;8199:57;;;;-1:-1:-1;;;8199:57:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;8199:57:0;-1:-1:-1;17844:21:0;;;;:11;:21;;;;;:33;;:41;;17888:7;;17844:33;17878:6;;17844:41;;;;;;;;;;;;;;;:51;-1:-1:-1;;;;17723:180:0:o;17915:161::-;8238:1;8207:19;;;;;;;;;;;;;8242:13;;;;;;;;;;;-1:-1:-1;;;8242:13:0;;;;;;;18001:8;;8242:13;-1:-1:-1;;;;;8207:19:0;8199:57;;;;-1:-1:-1;;;8199:57:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;8199:57:0;-1:-1:-1;;18021:21:0;;;;:11;:21;;;;;;;:33;;27:10:-1;;39:1;23:18;;45:23;;18021:47:0;;;;;;;;;17915:161::o;14916:189::-;14981:26;14993:3;14998:8;14981:11;:26::i;:::-;15018:6;27:10:-1;;39:1;23:18;;45:23;;15018:21:0;;;;;15072:13;-1:-1:-1;15050:19:0;;;:9;15018:21;15050:19;;;;;-1:-1:-1;;15072:17:0;;;15050:39;;-1:-1:-1;14916:189:0:o;16775:145::-;8238:1;8207:19;;;;;;;;;;;;;8242:13;;;;;;;;;;;-1:-1:-1;;;8242:13:0;;;;;;;16857:8;;8242:13;-1:-1:-1;;;;;8207:19:0;8199:57;;;;-1:-1:-1;;;8199:57:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;8199:57:0;-1:-1:-1;16878:17:0;;;;:7;:17;;;;;;;;:24;;;;;;;;:::i;13254:163::-;13351:1;13317:22;;;:12;:22;;;;;;-1:-1:-1;;;;;13317:22:0;:36;13313:97;;13376:22;;;;:12;:22;;;;;13369:29;;-1:-1:-1;;;;;;13369:29:0;;;13254:163::o;15611:593::-;15695:9;:19;;;;;;;;;;;;;15725:9;;;;;;;;;;;-1:-1:-1;;;15725:9:0;;;;;;;-1:-1:-1;;;;;15695:28:0;;;:19;;:28;15687:48;;;;-1:-1:-1;;;15687:48:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;15687:48:0;-1:-1:-1;15753:9:0;:19;;;;;;;;;;;15746:26;;-1:-1:-1;;;;;;15746:26:0;;;15814:14;:24;;;;;;-1:-1:-1;;;;;15874:17:0;;;;:10;:17;;;;;;:24;-1:-1:-1;;15874:28:0;15919:36;;;15915:246;;-1:-1:-1;;;;;15991:17:0;;15971;15991;;;:10;:17;;;;;:33;;16009:14;;15991:33;;;;;;;;;;;;;;15971:53;;16079:9;16039:10;:17;16050:5;-1:-1:-1;;;;;16039:17:0;-1:-1:-1;;;;;16039:17:0;;;;;;;;;;;;16057:18;16039:37;;;;;;;;;;;;;;;;;;;:49;;;;16103:25;;;:14;:25;;;;;:46;;;15915:246;-1:-1:-1;;;;;16173:17:0;;;;;;:10;:17;;;;;:23;;;;;;;;;;;;;;;;;;;;;;;;15611:593;;;;:::o;16214:284::-;16324:1;16293:19;;;;;;;;;;;;;16328:18;;;;;;;;;;;-1:-1:-1;;;16328:18:0;;;;;;;-1:-1:-1;;;;;16293:19:0;:33;16285:62;;;;-1:-1:-1;;;16285:62:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;16285:62:0;-1:-1:-1;16358:9:0;:19;;;;;;;;;;;:25;;-1:-1:-1;;;;;;16358:25:0;-1:-1:-1;;;;;16358:25:0;;;;;;;;;16396:15;;;:10;:15;;;;;27:10:-1;;-1:-1;23:18;;45:23;;16396:30:0;;;;;;;;;;16464:22;16437:24;;;:14;:24;;;;;;-1:-1:-1;;16464:26:0;;;16437:53;;16214:284::o;3207:808::-;3280:17;3894:18;;3794:66;3964:15;;;;;:42;;;3995:11;3983:8;:23;;3964:42;3948:59;3207:808;-1:-1:-1;;;;3207:808:0:o;11749:263::-;8238:1;8207:19;;;;;;;;;;;;;8242:13;;;;;;;;;;;-1:-1:-1;;;8242:13:0;;;;;;;11804:8;;8242:13;-1:-1:-1;;;;;8207:19:0;8199:57;;;;-1:-1:-1;;;8199:57:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;8199:57:0;-1:-1:-1;11824:18:0;11845:19;;;;;;;;;;;-1:-1:-1;;;;;11845:19:0;11875:24;11855:8;11875:14;:24::i;:::-;11910:36;11925:10;11937:8;11910:14;:36::i;:::-;11962:42;;11995:8;;11991:1;;-1:-1:-1;;;;;11962:42:0;;;;;11991:1;;11962:42;8267:1;11749:263;;:::o;11445:294::-;11535:12;;;;;;;;;;;;-1:-1:-1;;;11535:12:0;;;;-1:-1:-1;;;;;11516:17:0;;11508:40;;;;-1:-1:-1;;;11508:40:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;11508:40:0;-1:-1:-1;11598:1:0;11567:19;;;;;;;;;;;;;11602:18;;;;;;;;;;;-1:-1:-1;;;11602:18:0;;;;;;;-1:-1:-1;;;;;11567:19:0;:33;11559:62;;;;-1:-1:-1;;;11559:62:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;11559:62:0;-1:-1:-1;11632:7:0;:9;;;;;;11652:26;11664:3;11669:8;11652:11;:26::i;:::-;11696:35;;11722:8;;-1:-1:-1;;;;;11696:35:0;;;11713:1;;11696:35;;11713:1;;11696:35;11445:294;;:::o;18419:1030::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;18419:1030:0;;;-1:-1:-1;18419:1030:0;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;

Swarm Source

bzzr://177d766699a53668ddb26b3b36e4e360d0ca3f8b21687fb1ba84551f480c47fb
Block Transaction Gas Used Reward
Age Block Fee Address Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading