// SPDX-License-Identifier: GPL-3.0-only pragma solidity ^0.8.0; library UnsafeMath { /// @dev Division by 0 has unspecified behavior, and must be checked externally. function ceilDiv(uint256 x, uint256 y) internal pure returns (uint256 z) { assembly { z := add(div(x, y), gt(mod(x, y), 0)) } } }