contract ERC721Metadata {
    /// @dev Given a token Id, returns a byte array that is supposed to be converted into string.
    function getMetadata(uint256 _tokenId, string) public view returns (bytes32[4] buffer, uint256 count) {
        if (_tokenId == 1) {
            buffer[0] = "Hello World! :D";
            count = 15;
        } else if (_tokenId == 2) {
            buffer[0] = "I would definitely choose a medi";
            buffer[1] = "um length string.";
            count = 49;
        } else if (_tokenId == 3) {
            buffer[0] = "Lorem ipsum dolor sit amet, mi e";
            buffer[1] = "st accumsan dapibus augue lorem,";
            buffer[2] = " tristique vestibulum id, libero";
            buffer[3] = " suscipit varius sapien aliquam.";
            count = 128;
        }
    }
}
/// @title The external contract that is responsible for generating metadata for the kitties,
///  it has one function that will return the data as bytes.
function getMetadata(uint256 _tokenId, string) public view returns (bytes32[4] buffer, uint256 count) {
    if (_tokenId == 1) {
        buffer[0] = "Hello World! :D";
        count = 15;
    } else if (_tokenId == 2) {
        buffer[0] = "I would definitely choose a medi";
        buffer[1] = "um length string.";
        count = 49;
    } else if (_tokenId == 3) {
        buffer[0] = "Lorem ipsum dolor sit amet, mi e";
        buffer[1] = "st accumsan dapibus augue lorem,";
        buffer[2] = " tristique vestibulum id, libero";
        buffer[3] = " suscipit varius sapien aliquam.";
        count = 128;
    }
}

/// @dev Given a token Id, returns a byte array that is supposed to be converted into string.