
import torch

from diffusers import EulerDiscreteScheduler
from diffusers.utils import torch_device

from .test_schedulers import SchedulerCommonTest





class 	_lowerCAmelCase					(	__a       ):
				_lowercase					=(EulerDiscreteScheduler,)
				_lowercase					=10




				def      __a						(					self				,				**_UpperCamelCase     )				->      Optional[int]:
							lowerCAmelCase_						=	{
							    "num_train_timesteps": 1_100,
							    "beta_start": 0.0001,
							    "beta_end": 0.02,
							    "beta_schedule": "linear",
							}

							config.update(**_UpperCamelCase     )
							return config




				def      __a						(					self     )				->      Union[str, Any]:
							for timesteps in [10, 50, 100, 1_000]:
										self.check_over_configs(num_train_timesteps=_UpperCamelCase     )




				def      __a						(					self     )				->      Dict:
							for beta_start, beta_end in zip([0.00001, 0.0001, 0.001]				,				[0.0002, 0.002, 0.02]     ):
										self.check_over_configs(beta_start=_UpperCamelCase				,				beta_end=_UpperCamelCase     )




				def      __a						(					self     )				->      List[str]:
							for schedule in ["linear", "scaled_linear"]:
										self.check_over_configs(beta_schedule=_UpperCamelCase     )




				def      __a						(					self     )				->      List[str]:
							for prediction_type in ["epsilon", "v_prediction"]:
										self.check_over_configs(prediction_type=_UpperCamelCase     )




				def      __a						(					self     )				->      Optional[int]:
							lowerCAmelCase_						=	self.scheduler_classes[0]
							lowerCAmelCase_						=	self.get_scheduler_config()
							lowerCAmelCase_						=	scheduler_class(**_UpperCamelCase     )

							scheduler.set_timesteps(self.num_inference_steps     )

							lowerCAmelCase_						=	torch.manual_seed(0     )

							lowerCAmelCase_						=	self.dummy_model()
							lowerCAmelCase_						=	self.dummy_sample_deter * scheduler.init_noise_sigma
							lowerCAmelCase_						=	sample.to(_UpperCamelCase     )

							for i, t in enumerate(scheduler.timesteps     ):
										lowerCAmelCase_						=	scheduler.scale_model_input(_UpperCamelCase				,				_UpperCamelCase     )

										lowerCAmelCase_						=	model(_UpperCamelCase				,				_UpperCamelCase     )

										lowerCAmelCase_						=	scheduler.step(_UpperCamelCase				,				_UpperCamelCase				,				_UpperCamelCase				,				generator=_UpperCamelCase     )
										lowerCAmelCase_						=	output.prev_sample

							lowerCAmelCase_						=	torch.sum(torch.abs(_UpperCamelCase     )     )
							lowerCAmelCase_						=	torch.mean(torch.abs(_UpperCamelCase     )     )

							assert abs(result_sum.item() - 10.0807     ) < 1e-2
							assert abs(result_mean.item() - 0.0131     ) < 1e-3




				def      __a						(					self     )				->      Optional[int]:
							lowerCAmelCase_						=	self.scheduler_classes[0]
							lowerCAmelCase_						=	self.get_scheduler_config(prediction_type="v_prediction"     )
							lowerCAmelCase_						=	scheduler_class(**_UpperCamelCase     )

							scheduler.set_timesteps(self.num_inference_steps     )

							lowerCAmelCase_						=	torch.manual_seed(0     )

							lowerCAmelCase_						=	self.dummy_model()
							lowerCAmelCase_						=	self.dummy_sample_deter * scheduler.init_noise_sigma
							lowerCAmelCase_						=	sample.to(_UpperCamelCase     )

							for i, t in enumerate(scheduler.timesteps     ):
										lowerCAmelCase_						=	scheduler.scale_model_input(_UpperCamelCase				,				_UpperCamelCase     )

										lowerCAmelCase_						=	model(_UpperCamelCase				,				_UpperCamelCase     )

										lowerCAmelCase_						=	scheduler.step(_UpperCamelCase				,				_UpperCamelCase				,				_UpperCamelCase				,				generator=_UpperCamelCase     )
										lowerCAmelCase_						=	output.prev_sample

							lowerCAmelCase_						=	torch.sum(torch.abs(_UpperCamelCase     )     )
							lowerCAmelCase_						=	torch.mean(torch.abs(_UpperCamelCase     )     )

							assert abs(result_sum.item() - 0.0002     ) < 1e-2
							assert abs(result_mean.item() - 2.2_6_7_6e-0_6     ) < 1e-3




				def      __a						(					self     )				->      int:
							lowerCAmelCase_						=	self.scheduler_classes[0]
							lowerCAmelCase_						=	self.get_scheduler_config()
							lowerCAmelCase_						=	scheduler_class(**_UpperCamelCase     )

							scheduler.set_timesteps(self.num_inference_steps				,				device=_UpperCamelCase     )

							lowerCAmelCase_						=	torch.manual_seed(0     )

							lowerCAmelCase_						=	self.dummy_model()
							lowerCAmelCase_						=	self.dummy_sample_deter * scheduler.init_noise_sigma.cpu()
							lowerCAmelCase_						=	sample.to(_UpperCamelCase     )

							for t in scheduler.timesteps:
										lowerCAmelCase_						=	scheduler.scale_model_input(_UpperCamelCase				,				_UpperCamelCase     )

										lowerCAmelCase_						=	model(_UpperCamelCase				,				_UpperCamelCase     )

										lowerCAmelCase_						=	scheduler.step(_UpperCamelCase				,				_UpperCamelCase				,				_UpperCamelCase				,				generator=_UpperCamelCase     )
										lowerCAmelCase_						=	output.prev_sample

							lowerCAmelCase_						=	torch.sum(torch.abs(_UpperCamelCase     )     )
							lowerCAmelCase_						=	torch.mean(torch.abs(_UpperCamelCase     )     )

							assert abs(result_sum.item() - 10.0807     ) < 1e-2
							assert abs(result_mean.item() - 0.0131     ) < 1e-3




				def      __a						(					self     )				->      List[str]:
							lowerCAmelCase_						=	self.scheduler_classes[0]
							lowerCAmelCase_						=	self.get_scheduler_config()
							lowerCAmelCase_						=	scheduler_class(**_UpperCamelCase				,				use_karras_sigmas=_UpperCamelCase     )

							scheduler.set_timesteps(self.num_inference_steps				,				device=_UpperCamelCase     )

							lowerCAmelCase_						=	torch.manual_seed(0     )

							lowerCAmelCase_						=	self.dummy_model()
							lowerCAmelCase_						=	self.dummy_sample_deter * scheduler.init_noise_sigma.cpu()
							lowerCAmelCase_						=	sample.to(_UpperCamelCase     )

							for t in scheduler.timesteps:
										lowerCAmelCase_						=	scheduler.scale_model_input(_UpperCamelCase				,				_UpperCamelCase     )

										lowerCAmelCase_						=	model(_UpperCamelCase				,				_UpperCamelCase     )

										lowerCAmelCase_						=	scheduler.step(_UpperCamelCase				,				_UpperCamelCase				,				_UpperCamelCase				,				generator=_UpperCamelCase     )
										lowerCAmelCase_						=	output.prev_sample

							lowerCAmelCase_						=	torch.sum(torch.abs(_UpperCamelCase     )     )
							lowerCAmelCase_						=	torch.mean(torch.abs(_UpperCamelCase     )     )

							assert abs(result_sum.item() - 124.52299499511719     ) < 1e-2
							assert abs(result_mean.item() - 0.16213932633399963     ) < 1e-3





from ..utils import DummyObject, requires_backends





class 	_lowerCAmelCase					(	metaclass=__a       ):
				_lowercase					=['''torch''']




				def __init__(					self				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Dict:
							requires_backends(self				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Optional[int]:
							requires_backends(cls				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      str:
							requires_backends(cls				,				["torch"]     )





class 	_lowerCAmelCase					(	metaclass=__a       ):
				_lowercase					=['''torch''']




				def __init__(					self				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Any:
							requires_backends(self				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Any:
							requires_backends(cls				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Optional[Any]:
							requires_backends(cls				,				["torch"]     )





class 	_lowerCAmelCase					(	metaclass=__a       ):
				_lowercase					=['''torch''']




				def __init__(					self				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Optional[Any]:
							requires_backends(self				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      int:
							requires_backends(cls				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Optional[Any]:
							requires_backends(cls				,				["torch"]     )





class 	_lowerCAmelCase					(	metaclass=__a       ):
				_lowercase					=['''torch''']




				def __init__(					self				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Dict:
							requires_backends(self				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Optional[Any]:
							requires_backends(cls				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      int:
							requires_backends(cls				,				["torch"]     )





class 	_lowerCAmelCase					(	metaclass=__a       ):
				_lowercase					=['''torch''']




				def __init__(					self				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      int:
							requires_backends(self				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      List[Any]:
							requires_backends(cls				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      List[str]:
							requires_backends(cls				,				["torch"]     )





class 	_lowerCAmelCase					(	metaclass=__a       ):
				_lowercase					=['''torch''']




				def __init__(					self				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Dict:
							requires_backends(self				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      int:
							requires_backends(cls				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Tuple:
							requires_backends(cls				,				["torch"]     )





class 	_lowerCAmelCase					(	metaclass=__a       ):
				_lowercase					=['''torch''']




				def __init__(					self				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      int:
							requires_backends(self				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Dict:
							requires_backends(cls				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Tuple:
							requires_backends(cls				,				["torch"]     )





class 	_lowerCAmelCase					(	metaclass=__a       ):
				_lowercase					=['''torch''']




				def __init__(					self				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      int:
							requires_backends(self				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      int:
							requires_backends(cls				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Optional[Any]:
							requires_backends(cls				,				["torch"]     )





class 	_lowerCAmelCase					(	metaclass=__a       ):
				_lowercase					=['''torch''']




				def __init__(					self				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      str:
							requires_backends(self				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      List[str]:
							requires_backends(cls				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      int:
							requires_backends(cls				,				["torch"]     )





class 	_lowerCAmelCase					(	metaclass=__a       ):
				_lowercase					=['''torch''']




				def __init__(					self				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Dict:
							requires_backends(self				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Optional[int]:
							requires_backends(cls				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Optional[Any]:
							requires_backends(cls				,				["torch"]     )





class 	_lowerCAmelCase					(	metaclass=__a       ):
				_lowercase					=['''torch''']




				def __init__(					self				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      List[str]:
							requires_backends(self				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      int:
							requires_backends(cls				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Optional[int]:
							requires_backends(cls				,				["torch"]     )






def    lowerCamelCase__				(				*__lowerCAmelCase  :  Union[str, Any]    ,							**__lowerCAmelCase  :  Dict				):




			"""simple docstring"""


			requires_backends(__lowerCAmelCase    ,							["torch"]				)






def    lowerCamelCase__				(				*__lowerCAmelCase  :  Optional[int]    ,							**__lowerCAmelCase  :  int				):




			"""simple docstring"""


			requires_backends(__lowerCAmelCase    ,							["torch"]				)






def    lowerCamelCase__				(				*__lowerCAmelCase  :  List[str]    ,							**__lowerCAmelCase  :  int				):




			"""simple docstring"""


			requires_backends(__lowerCAmelCase    ,							["torch"]				)






def    lowerCamelCase__				(				*__lowerCAmelCase  :  Union[str, Any]    ,							**__lowerCAmelCase  :  Optional[Any]				):




			"""simple docstring"""


			requires_backends(__lowerCAmelCase    ,							["torch"]				)






def    lowerCamelCase__				(				*__lowerCAmelCase  :  Dict    ,							**__lowerCAmelCase  :  Any				):




			"""simple docstring"""


			requires_backends(__lowerCAmelCase    ,							["torch"]				)






def    lowerCamelCase__				(				*__lowerCAmelCase  :  Optional[int]    ,							**__lowerCAmelCase  :  Dict				):




			"""simple docstring"""


			requires_backends(__lowerCAmelCase    ,							["torch"]				)






def    lowerCamelCase__				(				*__lowerCAmelCase  :  int    ,							**__lowerCAmelCase  :  Any				):




			"""simple docstring"""


			requires_backends(__lowerCAmelCase    ,							["torch"]				)





class 	_lowerCAmelCase					(	metaclass=__a       ):
				_lowercase					=['''torch''']




				def __init__(					self				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      int:
							requires_backends(self				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      List[str]:
							requires_backends(cls				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      List[str]:
							requires_backends(cls				,				["torch"]     )





class 	_lowerCAmelCase					(	metaclass=__a       ):
				_lowercase					=['''torch''']




				def __init__(					self				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Tuple:
							requires_backends(self				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Dict:
							requires_backends(cls				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      int:
							requires_backends(cls				,				["torch"]     )





class 	_lowerCAmelCase					(	metaclass=__a       ):
				_lowercase					=['''torch''']




				def __init__(					self				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      List[str]:
							requires_backends(self				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Union[str, Any]:
							requires_backends(cls				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Optional[int]:
							requires_backends(cls				,				["torch"]     )





class 	_lowerCAmelCase					(	metaclass=__a       ):
				_lowercase					=['''torch''']




				def __init__(					self				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Optional[int]:
							requires_backends(self				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      int:
							requires_backends(cls				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      List[Any]:
							requires_backends(cls				,				["torch"]     )





class 	_lowerCAmelCase					(	metaclass=__a       ):
				_lowercase					=['''torch''']




				def __init__(					self				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Tuple:
							requires_backends(self				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      List[str]:
							requires_backends(cls				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Union[str, Any]:
							requires_backends(cls				,				["torch"]     )





class 	_lowerCAmelCase					(	metaclass=__a       ):
				_lowercase					=['''torch''']




				def __init__(					self				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Optional[int]:
							requires_backends(self				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Tuple:
							requires_backends(cls				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      List[Any]:
							requires_backends(cls				,				["torch"]     )





class 	_lowerCAmelCase					(	metaclass=__a       ):
				_lowercase					=['''torch''']




				def __init__(					self				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Any:
							requires_backends(self				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Optional[int]:
							requires_backends(cls				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      List[Any]:
							requires_backends(cls				,				["torch"]     )





class 	_lowerCAmelCase					(	metaclass=__a       ):
				_lowercase					=['''torch''']




				def __init__(					self				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Optional[Any]:
							requires_backends(self				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      str:
							requires_backends(cls				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Optional[Any]:
							requires_backends(cls				,				["torch"]     )





class 	_lowerCAmelCase					(	metaclass=__a       ):
				_lowercase					=['''torch''']




				def __init__(					self				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Optional[Any]:
							requires_backends(self				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      List[Any]:
							requires_backends(cls				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      List[Any]:
							requires_backends(cls				,				["torch"]     )





class 	_lowerCAmelCase					(	metaclass=__a       ):
				_lowercase					=['''torch''']




				def __init__(					self				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Optional[int]:
							requires_backends(self				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      List[Any]:
							requires_backends(cls				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      List[Any]:
							requires_backends(cls				,				["torch"]     )





class 	_lowerCAmelCase					(	metaclass=__a       ):
				_lowercase					=['''torch''']




				def __init__(					self				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Dict:
							requires_backends(self				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      int:
							requires_backends(cls				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Any:
							requires_backends(cls				,				["torch"]     )





class 	_lowerCAmelCase					(	metaclass=__a       ):
				_lowercase					=['''torch''']




				def __init__(					self				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Dict:
							requires_backends(self				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Tuple:
							requires_backends(cls				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Tuple:
							requires_backends(cls				,				["torch"]     )





class 	_lowerCAmelCase					(	metaclass=__a       ):
				_lowercase					=['''torch''']




				def __init__(					self				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      List[Any]:
							requires_backends(self				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Tuple:
							requires_backends(cls				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Optional[int]:
							requires_backends(cls				,				["torch"]     )





class 	_lowerCAmelCase					(	metaclass=__a       ):
				_lowercase					=['''torch''']




				def __init__(					self				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Union[str, Any]:
							requires_backends(self				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      List[Any]:
							requires_backends(cls				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      List[str]:
							requires_backends(cls				,				["torch"]     )





class 	_lowerCAmelCase					(	metaclass=__a       ):
				_lowercase					=['''torch''']




				def __init__(					self				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Optional[int]:
							requires_backends(self				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Tuple:
							requires_backends(cls				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      List[str]:
							requires_backends(cls				,				["torch"]     )





class 	_lowerCAmelCase					(	metaclass=__a       ):
				_lowercase					=['''torch''']




				def __init__(					self				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      int:
							requires_backends(self				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Any:
							requires_backends(cls				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Optional[int]:
							requires_backends(cls				,				["torch"]     )





class 	_lowerCAmelCase					(	metaclass=__a       ):
				_lowercase					=['''torch''']




				def __init__(					self				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Dict:
							requires_backends(self				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      List[str]:
							requires_backends(cls				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Optional[int]:
							requires_backends(cls				,				["torch"]     )





class 	_lowerCAmelCase					(	metaclass=__a       ):
				_lowercase					=['''torch''']




				def __init__(					self				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Optional[int]:
							requires_backends(self				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      List[Any]:
							requires_backends(cls				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Dict:
							requires_backends(cls				,				["torch"]     )





class 	_lowerCAmelCase					(	metaclass=__a       ):
				_lowercase					=['''torch''']




				def __init__(					self				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Any:
							requires_backends(self				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Optional[int]:
							requires_backends(cls				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Optional[Any]:
							requires_backends(cls				,				["torch"]     )





class 	_lowerCAmelCase					(	metaclass=__a       ):
				_lowercase					=['''torch''']




				def __init__(					self				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Union[str, Any]:
							requires_backends(self				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Any:
							requires_backends(cls				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Dict:
							requires_backends(cls				,				["torch"]     )





class 	_lowerCAmelCase					(	metaclass=__a       ):
				_lowercase					=['''torch''']




				def __init__(					self				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      int:
							requires_backends(self				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Any:
							requires_backends(cls				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Optional[Any]:
							requires_backends(cls				,				["torch"]     )





class 	_lowerCAmelCase					(	metaclass=__a       ):
				_lowercase					=['''torch''']




				def __init__(					self				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Optional[Any]:
							requires_backends(self				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Tuple:
							requires_backends(cls				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Optional[Any]:
							requires_backends(cls				,				["torch"]     )





class 	_lowerCAmelCase					(	metaclass=__a       ):
				_lowercase					=['''torch''']




				def __init__(					self				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Tuple:
							requires_backends(self				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Dict:
							requires_backends(cls				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      List[Any]:
							requires_backends(cls				,				["torch"]     )





class 	_lowerCAmelCase					(	metaclass=__a       ):
				_lowercase					=['''torch''']




				def __init__(					self				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      str:
							requires_backends(self				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      List[Any]:
							requires_backends(cls				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Tuple:
							requires_backends(cls				,				["torch"]     )





class 	_lowerCAmelCase					(	metaclass=__a       ):
				_lowercase					=['''torch''']




				def __init__(					self				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Dict:
							requires_backends(self				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      List[Any]:
							requires_backends(cls				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Tuple:
							requires_backends(cls				,				["torch"]     )





class 	_lowerCAmelCase					(	metaclass=__a       ):
				_lowercase					=['''torch''']




				def __init__(					self				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Optional[Any]:
							requires_backends(self				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      int:
							requires_backends(cls				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      List[Any]:
							requires_backends(cls				,				["torch"]     )





class 	_lowerCAmelCase					(	metaclass=__a       ):
				_lowercase					=['''torch''']




				def __init__(					self				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      int:
							requires_backends(self				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Dict:
							requires_backends(cls				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Any:
							requires_backends(cls				,				["torch"]     )





class 	_lowerCAmelCase					(	metaclass=__a       ):
				_lowercase					=['''torch''']




				def __init__(					self				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Dict:
							requires_backends(self				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Any:
							requires_backends(cls				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      str:
							requires_backends(cls				,				["torch"]     )





class 	_lowerCAmelCase					(	metaclass=__a       ):
				_lowercase					=['''torch''']




				def __init__(					self				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Dict:
							requires_backends(self				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      int:
							requires_backends(cls				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      List[Any]:
							requires_backends(cls				,				["torch"]     )





class 	_lowerCAmelCase					(	metaclass=__a       ):
				_lowercase					=['''torch''']




				def __init__(					self				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Optional[Any]:
							requires_backends(self				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      List[str]:
							requires_backends(cls				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Optional[Any]:
							requires_backends(cls				,				["torch"]     )





class 	_lowerCAmelCase					(	metaclass=__a       ):
				_lowercase					=['''torch''']




				def __init__(					self				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Tuple:
							requires_backends(self				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Union[str, Any]:
							requires_backends(cls				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Union[str, Any]:
							requires_backends(cls				,				["torch"]     )





class 	_lowerCAmelCase					(	metaclass=__a       ):
				_lowercase					=['''torch''']




				def __init__(					self				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Optional[Any]:
							requires_backends(self				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      int:
							requires_backends(cls				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Optional[Any]:
							requires_backends(cls				,				["torch"]     )





class 	_lowerCAmelCase					(	metaclass=__a       ):
				_lowercase					=['''torch''']




				def __init__(					self				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Optional[Any]:
							requires_backends(self				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      List[Any]:
							requires_backends(cls				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Dict:
							requires_backends(cls				,				["torch"]     )





class 	_lowerCAmelCase					(	metaclass=__a       ):
				_lowercase					=['''torch''']




				def __init__(					self				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Dict:
							requires_backends(self				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      int:
							requires_backends(cls				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      List[str]:
							requires_backends(cls				,				["torch"]     )





class 	_lowerCAmelCase					(	metaclass=__a       ):
				_lowercase					=['''torch''']




				def __init__(					self				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Tuple:
							requires_backends(self				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Any:
							requires_backends(cls				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      List[Any]:
							requires_backends(cls				,				["torch"]     )





class 	_lowerCAmelCase					(	metaclass=__a       ):
				_lowercase					=['''torch''']




				def __init__(					self				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Optional[Any]:
							requires_backends(self				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Dict:
							requires_backends(cls				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Optional[Any]:
							requires_backends(cls				,				["torch"]     )





class 	_lowerCAmelCase					(	metaclass=__a       ):
				_lowercase					=['''torch''']




				def __init__(					self				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Dict:
							requires_backends(self				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Optional[Any]:
							requires_backends(cls				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      List[str]:
							requires_backends(cls				,				["torch"]     )





class 	_lowerCAmelCase					(	metaclass=__a       ):
				_lowercase					=['''torch''']




				def __init__(					self				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Optional[int]:
							requires_backends(self				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Union[str, Any]:
							requires_backends(cls				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Tuple:
							requires_backends(cls				,				["torch"]     )





class 	_lowerCAmelCase					(	metaclass=__a       ):
				_lowercase					=['''torch''']




				def __init__(					self				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      str:
							requires_backends(self				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      Dict:
							requires_backends(cls				,				["torch"]     )




				@classmethod
				def      __a						(					cls				,				*_UpperCamelCase				,				**_UpperCamelCase     )				->      List[str]:
							requires_backends(cls				,				["torch"]     )



