code: def _draw_core_dimensions(self, data):
      # Draw gufunc core dimensions, with None standing for optional dimensions
      # that will not be present in the final shape.  We track omitted dims so
      # that we can do an accurate per-shape length cap.
      dims = {}
      shapes = []
      for shape in self.signature.input_shapes + (
          self.signature.result_shape,
      ):
          shapes.append([])
          for name in shape:
              if name.isdigit():
                  shapes[-1].append(int(name))
                  continue
              if name not in dims:
                  dim = name.strip("?")
                  dims[dim] = data.draw(self.side_strat)
                  if self.min_dims == 0 and not data.draw_bits(3):
                      dims[dim + "?"] = None
                  else:
                      dims[dim + "?"] = dims[dim]
              shapes[-1].append(dims[name])
      return tuple(tuple(s) for s in shapes[:-1]), tuple(shapes[-1])
  
imports: from __future__ import absolute_import, division, print_function
  import math
  import re
  from collections import namedtuple
  import numpy
  import hypothesis.internal.conjecture.utils
  import hypothesis.strategies._internal.core
  from hypothesis import Verbosity, assume
  from hypothesis._settings import note_deprecation
  from hypothesis.errors import InvalidArgument
  from hypothesis.internal.compat import PY2, hrange, integer_types, quiet_raise, string_types
  from hypothesis.internal.coverage import check_function
  from hypothesis.internal.reflection import proxies, reserved_means_kwonly_star
  from hypothesis.internal.validation import check_type, check_valid_interval
  from hypothesis.reporting import current_verbosity
  from hypothesis.strategies._internal import SearchStrategy
  from hypothesis.utils.conventions import UniqueIdentifier, not_set
label_desc: Use image node_id 3 for calling the MutuallyBroadcastableShapesStrategy obj's underlying member method code with example usage: obj._draw_core_dimensions(data) and returns: tuple,  tuple