code: def sort_vertex(points_x, points_y):
      # TODO Add typehints & test
      """Sort box vertices in clockwise order from left-top first.
  
      Args:
          points_x (list[float]): x of four vertices.
          points_y (list[float]): y of four vertices.
  
      Returns:
          tuple[list[float], list[float]]: Sorted x and y of four vertices.
  
          - sorted_points_x (list[float]): x of sorted four vertices.
          - sorted_points_y (list[float]): y of sorted four vertices.
      """
      assert is_list_of(points_x, (float, int))
      assert is_list_of(points_y, (float, int))
      assert len(points_x) == 4
      assert len(points_y) == 4
      vertices = np.stack((points_x, points_y), axis=-1).astype(
          np.float32
      )
      vertices = _sort_vertex(vertices)
      sorted_points_x = list(vertices[:, 0])
      sorted_points_y = list(vertices[:, 1])
      return sorted_points_x, sorted_points_y
  
imports: import math
  import operator
  from functools import reduce
  from typing import List, Optional, Sequence, Tuple, Union
  import numpy
  import pyclipper
  import shapely
  from mmengine.utils import is_list_of
  from shapely.geometry import MultiPolygon, Polygon
  from mmocr.utils import bbox2poly, valid_boundary
  from mmocr.utils.check_argument import is_2dlist
  from mmocr.utils.typing_utils import ArrayLike
label_desc: Use image node_id 16 for calling a global function with example usage: sort_vertex(points_x, points_y) and returns: sorted_points_x,  sorted_points_y