"""simple docstring"""





import unittest

from transformers import is_flax_available
from transformers.testing_utils import require_flax, require_sentencepiece, require_tokenizers, require_torch, slow


if is_flax_available():
				import optax
				from flax.training.common_utils import onehot

				from transformers import AutoTokenizer, FlaxMTaForConditionalGeneration
				from transformers.models.ta.modeling_flax_ta import shift_tokens_right
@require_torch
@require_sentencepiece
@require_tokenizers
@require_flax
class  _snake_case     (					unittest.TestCase		):






						@slow
						def       lowerCamelCase__     (       self      :			Union[str, Any]    ):
													__lowerCamelCase					:		Any		   =     FlaxMTaForConditionalGeneration.from_pretrained("google/mt5-small"    )
													__lowerCamelCase					:		Dict		   =     AutoTokenizer.from_pretrained("google/mt5-small"    )

													__lowerCamelCase					:		List[Any]		   =     tokenizer("Hello there"							,					return_tensors="np"    ).input_ids
													__lowerCamelCase					:		Optional[int]		   =     tokenizer("Hi I am"							,					return_tensors="np"    ).input_ids

													__lowerCamelCase					:		Tuple		   =     shift_tokens_right(UpperCAmelCase							,					model.config.pad_token_id							,					model.config.decoder_start_token_id    )

													__lowerCamelCase					:		Union[str, Any]		   =     model(UpperCAmelCase							,					decoder_input_ids=UpperCAmelCase    ).logits
													__lowerCamelCase					:		Union[str, Any]		   =     optax.softmax_cross_entropy(UpperCAmelCase							,					onehot(UpperCAmelCase							,					logits.shape[-1]    )    ).mean()

													__lowerCamelCase					:		Optional[Any]		   =     -(labels.shape[-1] * loss.item())

													__lowerCamelCase					:		Any		   =     -84.9127
													self.assertTrue(abs(mtf_score - EXPECTED_SCORE    ) < 1E-4    )
"""simple docstring"""





import math
from datetime import datetime, timedelta


def    lowercase_   (   _lowerCamelCase:	int      ) ->      datetime:



							'''simple docstring'''

							__lowerCamelCase					:		List[Any]		   =     year % 19
							__lowerCamelCase					:		List[str]		   =     year % 4
							__lowerCamelCase					:		Dict		   =     year % 7
							__lowerCamelCase					:		Optional[Any]		   =     math.floor(year / 100      )
							__lowerCamelCase					:		Tuple		   =     math.floor((13 + 8 * leap_day_inhibits) / 25      )
							__lowerCamelCase					:		List[str]		   =     leap_day_inhibits / 4
							__lowerCamelCase					:		Optional[Any]		   =     (
							    15 - lunar_orbit_correction + leap_day_inhibits - leap_day_reinstall_number
							) % 30
							__lowerCamelCase					:		Union[str, Any]		   =     (4 + leap_day_inhibits - leap_day_reinstall_number) % 7

							# days to be added to March 21
							__lowerCamelCase					:		Union[str, Any]		   =     (19 * metonic_cycle + secular_moon_shift) % 30

							# PHM -> Paschal Full Moon
							__lowerCamelCase					:		List[Any]		   =     (
							    2 * julian_leap_year
							    + 4 * non_leap_year
							    + 6 * days_to_add
							    + century_starting_point
							) % 7

							if days_to_add == 29 and days_from_phm_to_sunday == 6:
														return datetime(_lowerCamelCase						,   4						,   19      )
							elif days_to_add == 28 and days_from_phm_to_sunday == 6:
														return datetime(_lowerCamelCase						,   4						,   18      )
							else:
														return datetime(_lowerCamelCase						,   3						,   22      ) + timedelta(
														    days=int(days_to_add + days_from_phm_to_sunday      )      )


if __name__ == "__main__":
				for year in (1994, 2000, 2010, 2021, 2023):
								__A  =				'''will be''' if year > datetime.now().year else '''was'''
								print(F"""Easter in {year} {tense} {gauss_easter(year)}""")