code: def _read_events_curry(fname):
      """Read events from Curry event files.
  
      Parameters
      ----------
      fname : path-like
          Path to a curry event file with extensions .cef, .ceo,
          .cdt.cef, or .cdt.ceo
  
      Returns
      -------
      events : ndarray, shape (n_events, 3)
          The array of events.
      """
      check_fname(
          fname,
          "curry event",
          (".cef", ".ceo", ".cdt.cef", ".cdt.ceo"),
          endings_err=(".cef", ".ceo", ".cdt.cef", ".cdt.ceo"),
      )
  
      events_dict = _read_curry_lines(fname, ["NUMBER_LIST"])
      # The first 3 column seem to contain the event information
      curry_events = np.array(events_dict["NUMBER_LIST"], dtype=int)[
          :, 0:3
      ]
  
      return curry_events
  
imports: import os.path
  import re
  from collections import namedtuple
  from datetime import datetime, timezone
  from pathlib import Path
  import numpy
  from ..._fiff._digitization import _make_dig_points
  from ..._fiff.constants import FIFF
  from ..._fiff.meas_info import create_info
  from ..._fiff.tag import _coil_trans_to_loc
  from ..._fiff.utils import _mult_cal_one, _read_segments_file
  from ...annotations import Annotations
  from ...surface import _normal_orth
  from ...transforms import Transform, _angle_between_quats, apply_trans, combine_transforms, get_ras_to_neuromag_trans, invert_transform, rot_to_quat
  from ...utils import _check_fname, check_fname, logger, verbose
  from ..base import BaseRaw
  from ..ctf.trans import _quaternion_align
label_desc: Use image node_id 8 for calling a global function with example usage: _read_events_curry(fname) and returns: curry_events