code: def _normalize_axis_tuple(
      axis: Union[int, list, tuple], ndim: int
  ) -> Tuple[int, ...]:
      if type(axis) not in (tuple, list):
          try:
              axis = [operator.index(axis)]
          except TypeError:
              pass
      axis = tuple(_normalize_axis_index(ax, ndim) for ax in axis)
      if len(set(axis)) != len(axis):
          raise ValueError("repeated axis")
      return axis
  
imports: import operator
  from typing import Optional, Union, Tuple, List, Sequence
  from numbers import Number
  from ivy import promote_types_of_inputs, default_float_dtype, is_float_dtype
  from ivy.func_wrapper import with_supported_dtypes
  from ivy.functional.backends.jax import JaxArray
  import jax.numpy
  import jax.scipy
  import jax.lax
  from ..None import backend_version
label_desc: Use image node_id 19 for calling a global function with example usage: _normalize_axis_tuple(axis, ndim) and returns: axis