<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def heightmap_dig_bezier( hm: np.ndarray, px: Tuple[int, int, int, int], py: Tuple[int, int, int, int], startRadius: float, startDepth: float, endRadius: float, endDepth: float, ) -> None: """Carve a path along a cubic Bezier curve. Both radius and depth can vary linearly along the path. Args: hm (numpy.ndarray):
 A numpy.ndarray formatted for heightmap functions. px (Sequence[int]):
 The 4 `x` coordinates of the Bezier curve. py (Sequence[int]):
 The 4 `y` coordinates of the Bezier curve. startRadius (float):
 The starting radius size. startDepth (float):
 The starting depth. endRadius (float):
 The ending radius size. endDepth (float):
 The ending depth. """

    lib.TCOD_heightmap_dig_bezier(
        _heightmap_cdata(hm),
        px,
        py,
        startRadius,
        startDepth,
        endRadius,
        endDepth,
    )