

import inspect

from diffusers.utils import is_flax_available
from diffusers.utils.testing_utils import require_flax


if is_flax_available():
    import jax







@require_flax
class 					__lowerCamelCase							:







      def       lowerCAmelCase_       (	self  )		->			Optional[int]:
        snake_case_		,							snake_case_					= self.prepare_init_args_and_inputs_for_common()

        snake_case_					= self.model_class(**__A  )
        snake_case_					= model.init(inputs_dict["""prng_key"""]				,    inputs_dict["""sample"""]  )
        jax.lax.stop_gradient(__A  )

        snake_case_					= model.apply(__A				,    inputs_dict["""sample"""]  )

        if isinstance(__A				,    __A  ):
          snake_case_					= output.sample

        self.assertIsNotNone(__A  )
        snake_case_					= inputs_dict["""sample"""].shape
        self.assertEqual(output.shape				,    __A				,    """Input and output shapes do not match"""  )







      def       lowerCAmelCase_       (	self  )		->			Tuple:
        snake_case_		,							snake_case_					= self.prepare_init_args_and_inputs_for_common()

        snake_case_					= 16
        snake_case_					= (16, 32)

        snake_case_					= self.model_class(**__A  )
        snake_case_					= model.init(inputs_dict["""prng_key"""]				,    inputs_dict["""sample"""]  )
        jax.lax.stop_gradient(__A  )

        snake_case_					= model.apply(__A				,    inputs_dict["""sample"""]  )

        if isinstance(__A				,    __A  ):
          snake_case_					= output.sample

        self.assertIsNotNone(__A  )
        snake_case_					= inputs_dict["""sample"""].shape
        self.assertEqual(output.shape				,    __A				,    """Input and output shapes do not match"""  )







      def       lowerCAmelCase_       (	self  )		->			List[Any]:
        snake_case_					= """kwargs""" in inspect.signature(self.model_class.__init__  ).parameters
        snake_case_					= len(self.model_class._deprecated_kwargs  ) > 0

        if has_kwarg_in_model_class and not has_deprecated_kwarg:
          raise ValueError(
              f'''{self.model_class} has `**kwargs` in its __init__ method but has not defined any deprecated kwargs'''
              """ under the `_deprecated_kwargs` class attribute. Make sure to either remove `**kwargs` if there are"""
              """ no deprecated arguments or add the deprecated argument with `_deprecated_kwargs ="""
              """ [<deprecated_argument>]`"""  )

        if not has_kwarg_in_model_class and has_deprecated_kwarg:
          raise ValueError(
              f'''{self.model_class} doesn\'t have `**kwargs` in its __init__ method but has defined deprecated kwargs'''
              """ under the `_deprecated_kwargs` class attribute. Make sure to either add the `**kwargs` argument to"""
              f''' {self.model_class}.__init__ if there are deprecated arguments or remove the deprecated argument'''
              """ from `_deprecated_kwargs = [<deprecated_argument>]`"""  )
'''simple docstring'''

from ..utils import DummyObject, requires_backends
class 	SCREAMING_SNAKE_CASE      (    metaclass=__lowercase):







		"""simple docstring"""
		lowercase :   List[Any]							=				['tensorflow_text']






		def __init__( self		,    *__A		,    **__A					)			->  List[Any]:
								requires_backends(self		,    ['tensorflow_text']					)





