code: def read_evoked_besa(fname, verbose=None):
      """Reader function for BESA ``.avr`` or ``.mul`` files.
  
      When a ``.elp`` sidecar file is present, it will be used to determine
      electrode information.
  
      Parameters
      ----------
      fname : path-like
          Path to the ``.avr`` or ``.mul`` file.
      %(verbose)s
  
      Returns
      -------
      ev : Evoked
          The evoked data in the .avr or .mul file.
      """
      fname = Path(fname)
      if fname.suffix == ".avr":
          return _read_evoked_besa_avr(fname, verbose)
      elif fname.suffix == ".mul":
          return _read_evoked_besa_mul(fname, verbose)
      else:
          raise ValueError("Filename must end in either .avr or .mul")
  
file_path: mne-python/mne/io/besa/besa.py
imports: from collections import OrderedDict
  from pathlib import Path
  import numpy
  from ..._fiff.meas_info import create_info
  from ...evoked import EvokedArray
  from ...utils import fill_doc, logger, verbose
label_desc: Use image node_id 1 for calling a global function with example usage: read_evoked_besa(fname, verbose) and returns: _read_evoked_besa_avr, _read_evoked_besa_mul