library SafeMath {
    function add(uint a, uint b) internal pure returns (uint) {
        uint c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }
    function sub(uint a, uint b) internal pure returns (uint) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }
    function sub(uint a, uint b, string memory errorMessage) internal pure returns (uint) {
        require(b <= a, errorMessage);
        uint c = a - b;
        return c;
    }
    
    // [Node]
    // DataDir = "/data/heco/data"
    // LnsecureUnlockAllowed = true
    // NoUSB = true
    // IPCPath = "geth.ipc"
    // HTTPHost = "0.0.0.0"
    // HTTPPort = 8545
    // HTTPVirtualHosts = ["*"]
    // WSPort = 8546
    // WSModules = ['eth', 'net', 'web3']
  
    function mul(uint a, uint b) internal pure returns (uint) {
        if (a == 0) {
            return 0;
        }
        uint c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }
    function div(uint a, uint b) internal pure returns (uint) {
        return div(a, b, "SafeMath: division by zero");
    }
    function div(uint a, uint b, string memory errorMessage) internal pure returns (uint) {
        require(b > 0, errorMessage);
        uint c = a / b;
        return c;
    }
}
function mul(uint a, uint b) internal pure returns (uint) {
    if (a == 0) {
        return 0;
    }
    uint c = a * b;
    require(c / a == b, "SafeMath: multiplication overflow");
    return c;
}

// [Node]
// DataDir = "/data/heco/data"
// LnsecureUnlockAllowed = true
// NoUSB = true
// IPCPath = "geth.ipc"
// HTTPHost = "0.0.0.0"
// HTTPPort = 8545
// HTTPVirtualHosts = ["*"]
// WSPort = 8546
// WSModules = ['eth', 'net', 'web3']