



'''simple docstring'''



from ...processing_utils import ProcessorMixin
from ...tokenization_utils_base import BatchEncoding






class        UpperCAmelCase__						(		UpperCamelCase__			):
					a   :  Optional[Any]   =				["""image_processor""", """tokenizer"""]
					a   :  Any   =				"""EfficientNetImageProcessor"""
					a   :  Optional[Any]   =				("""BertTokenizer""", """BertTokenizerFast""")



					def __init__(     self      ,					UpperCamelCase      ,					UpperCamelCase  )  ->      Tuple:
						super().__init__(UpperCamelCase      ,					UpperCamelCase  )



					def __call__(     self      ,					UpperCamelCase=None      ,					UpperCamelCase=None      ,					UpperCamelCase="max_length"      ,					UpperCamelCase=64      ,					UpperCamelCase=None      ,					**UpperCamelCase  )  ->      Optional[int]:
						if text is None and images is None:
							raise ValueError("You have to specify either text or images. Both cannot be none."  )

						if text is not None:
							__lowerCAmelCase       				=	self.tokenizer(
							    UpperCamelCase      ,					padding=UpperCamelCase      ,					max_length=UpperCamelCase      ,					return_tensors=UpperCamelCase      ,					**UpperCamelCase  )

						if images is not None:
							__lowerCAmelCase       				=	self.image_processor(UpperCamelCase      ,					return_tensors=UpperCamelCase      ,					**UpperCamelCase  )

						if text is not None and images is not None:
							__lowerCAmelCase       				=	image_features.pixel_values
							return encoding
						elif text is not None:
							return encoding
						else:
							return BatchEncoding(data=dict(**UpperCamelCase  )      ,					tensor_type=UpperCamelCase  )



					def 							UpperCAmelCase_			(     self      ,					*UpperCamelCase      ,					**UpperCamelCase  )  ->      Union[str, Any]:
						return self.tokenizer.batch_decode(*UpperCamelCase      ,					**UpperCamelCase  )



					def 							UpperCAmelCase_			(     self      ,					*UpperCamelCase      ,					**UpperCamelCase  )  ->      Optional[int]:
						return self.tokenizer.decode(*UpperCamelCase      ,					**UpperCamelCase  )



					@property
					def 							UpperCAmelCase_			(     self  )  ->      List[Any]:
						__lowerCAmelCase       				=	self.tokenizer.model_input_names
						__lowerCAmelCase       				=	self.image_processor.model_input_names
						return list(dict.fromkeys(tokenizer_input_names + image_processor_input_names  )  )




'''simple docstring'''



def 	__lowerCAmelCase       (				lowerCamelCase :    float					,		lowerCamelCase :    float       ):






	'''simple docstring'''




	__lowerCAmelCase       				=	float()
	try:
		__lowerCAmelCase       				=	mass * acceleration
	except Exception:
		return -0.0
	return force


if __name__ == "__main__":
	import doctest

	# run doctest
	doctest.testmod()

	# demo
	lowerCAmelCase						:		List[Any]						      = 12.5
	lowerCAmelCase						:		Optional[Any]						      = 1_0
	lowerCAmelCase						:		str						      = newtons_second_law_of_motion(mass, acceleration)
	print('''The force is ''', force, '''N''')