"""simple docstring"""




from ...configuration_utils import PretrainedConfig
from ...utils import logging


__lowerCAmelCase     :				Dict    				=    logging.get_logger(__name__)

__lowerCAmelCase     :				Union[str, Any]    				=    {
    "facebook/nllb-moe-54B": "https://huggingface.co/facebook/nllb-moe-54b/resolve/main/config.json",
}

class    a_   (  __UpperCamelCase      ):
					UpperCamelCase_			:						int      =     "nllb-moe"
					UpperCamelCase_			:						int      =     ["past_key_values"]
					UpperCamelCase_			:						List[Any]      =     {"num_attention_heads": "encoder_attention_heads", "hidden_size": "d_model"}




					def __init__(						self    :  str	,    snake_case__    :  List[str]=128112	,    snake_case__    :  Dict=1024	,    snake_case__    :  List[str]=12	,    snake_case__    :  int=4096	,    snake_case__    :  Optional[Any]=16	,    snake_case__    :  List[str]=12	,    snake_case__    :  Union[str, Any]=4096	,    snake_case__    :  List[str]=16	,    snake_case__    :  str=0.05	,    snake_case__    :  Tuple=0.05	,    snake_case__    :  Dict=True	,    snake_case__    :  Optional[Any]=True	,    snake_case__    :  int="relu"	,    snake_case__    :  int=1024	,    snake_case__    :  Tuple=0.1	,    snake_case__    :  Optional[int]=0.1	,    snake_case__    :  Any=0.0	,    snake_case__    :  int=0.02	,    snake_case__    :  List[str]=2	,    snake_case__    :  Dict=True	,    snake_case__    :  Tuple=False	,    snake_case__    :  Optional[Any]="float32"	,    snake_case__    :  Optional[Any]=False	,    snake_case__    :  Optional[int]=128	,    snake_case__    :  List[str]=64	,    snake_case__    :  Any=4	,    snake_case__    :  Any=4	,    snake_case__    :  int=0.001	,    snake_case__    :  str=0.001	,    snake_case__    :  Optional[Any]="all"	,    snake_case__    :  Optional[int]=False	,    snake_case__    :  Any=False	,    snake_case__    :  Union[str, Any]=1.0	,    snake_case__    :  Tuple=0.2	,    snake_case__    :  Tuple=1	,    snake_case__    :  List[str]=0	,    snake_case__    :  Any=2	,    snake_case__    :  Union[str, Any]=False	,    **snake_case__    :  Union[str, Any]	,    ):
							lowerCAmelCase__   = vocab_size
							lowerCAmelCase__   = max_position_embeddings
							lowerCAmelCase__   = d_model
							lowerCAmelCase__   = encoder_ffn_dim
							lowerCAmelCase__   = encoder_layers
							lowerCAmelCase__   = encoder_attention_heads
							lowerCAmelCase__   = decoder_ffn_dim
							lowerCAmelCase__   = decoder_layers
							lowerCAmelCase__   = decoder_attention_heads
							lowerCAmelCase__   = dropout
							lowerCAmelCase__   = attention_dropout
							lowerCAmelCase__   = activation_dropout
							lowerCAmelCase__   = activation_function
							lowerCAmelCase__   = init_std
							lowerCAmelCase__   = encoder_layerdrop
							lowerCAmelCase__   = decoder_layerdrop
							lowerCAmelCase__   = use_cache
							lowerCAmelCase__   = encoder_layers
							lowerCAmelCase__   = scale_embedding  # scale factor will be sqrt(d_model) if True
							lowerCAmelCase__   = router_z_loss_coef
							lowerCAmelCase__   = router_aux_loss_coef
							lowerCAmelCase__   = decoder_sparse_step
							lowerCAmelCase__   = encoder_sparse_step
							lowerCAmelCase__   = num_experts
							lowerCAmelCase__   = expert_capacity
							lowerCAmelCase__   = router_bias
							if router_dtype not in ["float32", "float16", "bfloat16"]:
									raise ValueError(F"""`router_dtype` must be one of 'float32', 'float16' or 'bfloat16', got {router_dtype}"""  )
							lowerCAmelCase__   = router_dtype

							lowerCAmelCase__   = router_ignore_padding_tokens
							lowerCAmelCase__   = batch_prioritized_routing
							lowerCAmelCase__   = second_expert_policy
							lowerCAmelCase__   = normalize_router_prob_before_dropping
							lowerCAmelCase__   = moe_eval_capacity_token_fraction
							lowerCAmelCase__   = moe_token_dropout
							lowerCAmelCase__   = output_router_logits
							super().__init__(
							    pad_token_id=snake_case__	,    bos_token_id=snake_case__	,    eos_token_id=snake_case__	,    is_encoder_decoder=snake_case__	,    decoder_start_token_id=snake_case__	,    **snake_case__	,    )





"""simple docstring"""




import math
from datetime import datetime, timedelta







def 				_UpperCAmelCase		(							lowerCamelCase__  ):





		"""simple docstring"""




		lowerCAmelCase__   = year % 19
		lowerCAmelCase__   = year % 4
		lowerCAmelCase__   = year % 7
		lowerCAmelCase__   = math.floor(year / 100  )
		lowerCAmelCase__   = math.floor((13 + 8 * leap_day_inhibits) / 25  )
		lowerCAmelCase__   = leap_day_inhibits / 4
		lowerCAmelCase__   = (
		    15 - lunar_orbit_correction + leap_day_inhibits - leap_day_reinstall_number
		) % 30
		lowerCAmelCase__   = (4 + leap_day_inhibits - leap_day_reinstall_number) % 7

		# days to be added to March 21
		lowerCAmelCase__   = (19 * metonic_cycle + secular_moon_shift) % 30

		# PHM -> Paschal Full Moon
		lowerCAmelCase__   = (
		    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 (19_94, 20_00, 20_10, 20_21, 20_23):
						__lowerCAmelCase     :				List[str]    				=    "will be" if year > datetime.now().year else "was"
						print(F"Easter in {year} {tense} {gauss_easter(year)}")




