code: def _fft_core_2d(
      func_name: str,
      fft_type: xla_client.FftType,
      a: ArrayLike,
      s: Shape | None,
      axes: Sequence[int],
      norm: str | None,
  ) -> Array:
      full_name = f"jax.numpy.fft.{func_name}"
      if len(axes) != 2:
          raise ValueError(
              "%s only supports 2 axes. Got axes = %r."
              % (full_name, axes)
          )
      return _fft_core(func_name, fft_type, a, s, axes, norm)
  
imports: from __future__ import annotations
  from collections.abc import Sequence
  import operator
  import numpy
  from jax import dtypes
  from jax import lax
  from jax._src.lib import xla_client
  from jax._src.util import safe_zip
  from jax._src.numpy.util import check_arraylike, _wraps
  from jax._src.numpy import lax_numpy
  from jax._src.numpy import ufuncs, reductions
  from jax._src.typing import Array, ArrayLike
label_desc: Use image node_id 15 for calling a global function with example usage: _fft_core_2d(func_name, fft_type, a, s, axes, norm) and returns: _fft_core