code: def _xy_as_variable_sized_list(xy: ColumnBase):
      """Given an array of interleaved x-y coordinate, construct a cuDF ListDtype
      type array, where each row is the coordinate.
      """
      if len(xy) % 2 != 0:
          raise ValueError("xy must have an even number of elements")
  
      num_points = len(xy) // 2
      indices = as_column(
          range(0, num_points * 2 + 1, 2), dtype="int32"
      )
      return build_list_column(
          indices=indices, elements=xy, size=num_points
      )
  
imports: from enum import Enum
  from functools import cached_property
  from typing import Tuple, TypeVar
  import cupy
  import pyarrow
  import cudf
  from cudf.core.column import ColumnBase, as_column, build_list_column
  from cuspatial.core._column.geometa import Feature_Enum, GeoMeta
  from cuspatial.utils.column_utils import empty_geometry_column
label_desc: Use image node_id 1 for calling a global function with example usage: _xy_as_variable_sized_list(xy) and returns: build_list_column