          self._input_shape = input_shape
          self._config = config
          logger.debug("Initialized: %s", self.__class__.__name__,)
  
      def __call__(self) -> keras.models.Model:
          """ Decoder Network.
  
          Returns
          -------
          :class:`keras.models.Model`
 
</s> remove     def __call__(self) -> keras.models.Model:
 </s> add     def __call__(self) -> tf.keras.models.Model: </s> remove     def __init__(self, input_shape: tuple[int, ...], config: dict) -> None:
 </s> add     def __init__(self, input_shape: tuple[int, int, int], config: dict) -> None: </s> remove     def __call__(self) -> keras.models.Model:
 </s> add     def __call__(self) -> tf.keras.models.Model: </s> remove     def __call__(self) -> keras.models.Model:
 </s> add     def __call__(self) -> tf.keras.models.Model: </s> remove         self._inputs = [Input(shape=shape) for shape in input_shapes]
 </s> add         self._inputs = [kl.Input(shape=shape) for shape in input_shapes]
    def __call__(self) -> tf.keras.models.Model:
          self._input_shape = input_shape
          self._config = config
          logger.debug("Initialized: %s", self.__class__.__name__,)
  
    def __call__(self) -> tf.keras.models.Model:
          """ Decoder Network.
  
          Returns
          -------
          :class:`keras.models.Model`
keep keep keep keep replace keep keep keep keep keep
 Updates:
    - Remove clipfaker
    - Add clip to Phaze-A
    - streamline clip to vision only
    - update lib.model.networks
    - Docs and tests update
    - Phaze-A - add option to flatten bottleneck 
plugins/train/model/phaze_a.py