class_docstr: Applies distinct bijectors to initial + transition states of a chain.
code: def _inverse_event_shape(self, event_shape):
      num_steps = tf.nest.flatten(event_shape)[0][0]
      head_shape = tf.nest.map_structure(lambda s: s[1:], event_shape)
      tail_shape = tf.nest.map_structure(
          lambda s: tensorshape_util.concatenate(
              [num_steps - 1], s[1:]
          ),
          event_shape,
      )
      return (
          self.initial_bijector.inverse_event_shape(head_shape),
          self.transition_bijector.inverse_event_shape(tail_shape),
      )
  
imports: import functools
  import tensorflow.compat.v2
  from tensorflow_probability.python.bijectors import bijector
  from tensorflow_probability.python.distributions import distribution
  from tensorflow_probability.python.distributions import log_prob_ratio
  from tensorflow_probability.python.internal import assert_util
  from tensorflow_probability.python.internal import distribution_util
  from tensorflow_probability.python.internal import parameter_properties
  from tensorflow_probability.python.internal import prefer_static
  from tensorflow_probability.python.internal import samplers
  from tensorflow_probability.python.internal import tensor_util
  from tensorflow_probability.python.internal import tensorshape_util
  from tensorflow_probability.python.math import generic
label_desc: Use image node_id 15 for calling the _MarkovChainBijector obj's underlying member method code with example usage: obj._inverse_event_shape(event_shape) and returns: self,  self