code: def get_broadcasted_shape(
      shape_x: tf.TensorShape, shape_y: tf.TensorShape
  ) -> Optional[List[Any]]:
      """Returns the common shape for broadcast compatible shapes.
  
      Args:
        shape_x: A `TensorShape`.
        shape_y: A `TensorShape`.
  
      Returns:
        Returns None if the shapes are not broadcast compatible, or a list
        containing the broadcasted dimensions otherwise.
      """
      if shape_x.ndims is None or shape_y.ndims is None:
          return None
      return _broadcast_shape_helper(shape_x, shape_y)
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import itertools
  from typing import Any, List, Optional, Tuple, Union
  import numpy
  import six
  from six.moves import range
  from six.moves import zip
  import tensorflow
label_desc: Use image node_id 3 for calling a global function with example usage: get_broadcasted_shape(shape_x, shape_y) and returns: _broadcast_shape_helper, None