code: def test_names_preserved_through_flatten(self):
      dist = AutoNormal(0.0, scale=3.0, name="ScaleThreeNormal")
      flat = tf.nest.flatten(dist, expand_composites=True)
      unflat = tf.nest.pack_sequence_as(
          dist, flat, expand_composites=True
      )
      unflat_name = (
          "ScaleThreeNormal"
          if tf.executing_eagerly()
          else "ScaleThreeNormal_1"
      )
      self.assertEqual(unflat.name, unflat_name)
  
imports: import functools
  import os
  from absl import flags
  from absl.testing import parameterized
  import tensorflow.compat.v2
  from tensorflow_probability.python.bijectors import bijector
  from tensorflow_probability.python.bijectors import reshape
  from tensorflow_probability.python.bijectors import scale
  from tensorflow_probability.python.bijectors import shift
  from tensorflow_probability.python.bijectors import transform_diagonal
  from tensorflow_probability.python.distributions import independent
  from tensorflow_probability.python.distributions import normal
  from tensorflow_probability.python.distributions import transformed_distribution
  from tensorflow_probability.python.experimental.distributions import mvn_precision_factor_linop
  from tensorflow_probability.python.internal import auto_composite_tensor
  from tensorflow_probability.python.internal import tensor_util
  from tensorflow_probability.python.internal import test_util
  from absl.testing import absltest
label_desc: Use image node_id 21 for calling the AutoCompositeTensorTest obj's underlying member method code with example usage: obj.test_names_preserved_through_flatten() without return types