


'''simple docstring'''







import functools
import operator

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


lowerCAmelCase    :     Optional[int]					=						logging.get_logger(__name__)

lowerCAmelCase    :     Any					=						{
    """microsoft/unispeech-sat-base-100h-libri-ft""": (
        """https://huggingface.co/microsoft/unispeech-sat-base-100h-libri-ft/resolve/main/config.json"""
    ),
    # See all UniSpeechSat models at https://huggingface.co/models?filter=unispeech_sat
}
class 	UpperCamelCase__					( SCREAMING_SNAKE_CASE_	):



     """simple docstring"""






     __magic_name__    			=    "unispeech-sat"







     def __init__( self      ,	snake_case__=32      ,	snake_case__=768      ,	snake_case__=12      ,	snake_case__=12      ,	snake_case__=3072      ,	snake_case__="gelu"      ,	snake_case__=0.1      ,	snake_case__=0.1      ,	snake_case__=0.1      ,	snake_case__=0.0      ,	snake_case__=0.0      ,	snake_case__=0.1      ,	snake_case__=0.1      ,	snake_case__=0.02      ,	snake_case__=1E-5      ,	snake_case__="group"      ,	snake_case__="gelu"      ,	snake_case__=(512, 512, 512, 512, 512, 512, 512)      ,	snake_case__=(5, 2, 2, 2, 2, 2, 2)      ,	snake_case__=(10, 3, 3, 3, 3, 2, 2)      ,	snake_case__=False      ,	snake_case__=128      ,	snake_case__=16      ,	snake_case__=False      ,	snake_case__=True      ,	snake_case__=0.05      ,	snake_case__=10      ,	snake_case__=2      ,	snake_case__=0.0      ,	snake_case__=10      ,	snake_case__=0      ,	snake_case__=320      ,	snake_case__=2      ,	snake_case__=0.1      ,	snake_case__=100      ,	snake_case__=256      ,	snake_case__=256      ,	snake_case__=0.1      ,	snake_case__="mean"      ,	snake_case__=False      ,	snake_case__=False      ,	snake_case__=256      ,	snake_case__=(512, 512, 512, 512, 1500)      ,	snake_case__=(5, 3, 3, 1, 1)      ,	snake_case__=(1, 2, 3, 1, 1)      ,	snake_case__=512      ,	snake_case__=0      ,	snake_case__=1      ,	snake_case__=2      ,	snake_case__=504      ,	**snake_case__      ,	):

            '''simple docstring'''

            super().__init__(**snake_case__      ,	pad_token_id=snake_case__      ,	bos_token_id=snake_case__      ,	eos_token_id=snake_case__   )
            _lowerCAmelCase    :							str   			=       hidden_size
            _lowerCAmelCase    :							Union[str, Any]   			=       feat_extract_norm
            _lowerCAmelCase    :							Optional[int]   			=       feat_extract_activation
            _lowerCAmelCase    :							Any   			=       list(snake_case__   )
            _lowerCAmelCase    :							Any   			=       list(snake_case__   )
            _lowerCAmelCase    :							int   			=       list(snake_case__   )
            _lowerCAmelCase    :							Optional[int]   			=       conv_bias
            _lowerCAmelCase    :							str   			=       num_conv_pos_embeddings
            _lowerCAmelCase    :							Dict   			=       num_conv_pos_embedding_groups
            _lowerCAmelCase    :							Union[str, Any]   			=       len(self.conv_dim   )
            _lowerCAmelCase    :							int   			=       num_hidden_layers
            _lowerCAmelCase    :							Tuple   			=       intermediate_size
            _lowerCAmelCase    :							int   			=       hidden_act
            _lowerCAmelCase    :							Tuple   			=       num_attention_heads
            _lowerCAmelCase    :							Tuple   			=       hidden_dropout
            _lowerCAmelCase    :							Dict   			=       attention_dropout
            _lowerCAmelCase    :							Tuple   			=       activation_dropout
            _lowerCAmelCase    :							int   			=       feat_proj_dropout
            _lowerCAmelCase    :							str   			=       final_dropout
            _lowerCAmelCase    :							Optional[Any]   			=       layerdrop
            _lowerCAmelCase    :							Optional[Any]   			=       layer_norm_eps
            _lowerCAmelCase    :							Optional[Any]   			=       initializer_range
            _lowerCAmelCase    :							Tuple   			=       vocab_size
            _lowerCAmelCase    :							Optional[int]   			=       num_clusters
            _lowerCAmelCase    :							Any   			=       do_stable_layer_norm
            _lowerCAmelCase    :							Any   			=       use_weighted_layer_sum

            if (
                (len(self.conv_stride   ) != self.num_feat_extract_layers)
                or (len(self.conv_kernel   ) != self.num_feat_extract_layers)
                or (len(self.conv_dim   ) != self.num_feat_extract_layers)
            ):
                   raise ValueError(
                       'Configuration for convolutional layers is incorrect. It is required that `len(config.conv_dim)` =='
                       ' `len(config.conv_stride)` == `len(config.conv_kernel)`, but is `len(config.conv_dim) ='
                       F' {len(self.conv_dim   )}`, `len(config.conv_stride) = {len(self.conv_stride   )}`,'
                       F' `len(config.conv_kernel) = {len(self.conv_kernel   )}`.'   )

            # fine-tuning config parameters for SpecAugment: https://arxiv.org/abs/1904.08779
            _lowerCAmelCase    :							Tuple   			=       apply_spec_augment
            _lowerCAmelCase    :							Dict   			=       mask_time_prob
            _lowerCAmelCase    :							List[Any]   			=       mask_time_length
            _lowerCAmelCase    :							str   			=       mask_time_min_masks
            _lowerCAmelCase    :							Optional[int]   			=       mask_feature_prob
            _lowerCAmelCase    :							Dict   			=       mask_feature_length
            _lowerCAmelCase    :							Optional[Any]   			=       mask_feature_min_masks

            # parameters for pretraining with codevector quantized representations
            _lowerCAmelCase    :							Any   			=       num_codevectors_per_group
            _lowerCAmelCase    :							int   			=       num_codevector_groups
            _lowerCAmelCase    :							str   			=       contrastive_logits_temperature
            _lowerCAmelCase    :							Optional[Any]   			=       feat_quantizer_dropout
            _lowerCAmelCase    :							Tuple   			=       num_negatives
            _lowerCAmelCase    :							Dict   			=       codevector_dim
            _lowerCAmelCase    :							List[str]   			=       proj_codevector_dim
            _lowerCAmelCase    :							Any   			=       diversity_loss_weight

            # ctc loss
            _lowerCAmelCase    :							Dict   			=       ctc_loss_reduction
            _lowerCAmelCase    :							Any   			=       ctc_zero_infinity

            # SequenceClassification-specific parameter. Feel free to ignore for other classes.
            _lowerCAmelCase    :							Optional[Any]   			=       classifier_proj_size

            # XVector-specific parameters. Feel free to ignore for other classes.
            _lowerCAmelCase    :							Tuple   			=       list(snake_case__   )
            _lowerCAmelCase    :							Optional[Any]   			=       list(snake_case__   )
            _lowerCAmelCase    :							List[str]   			=       list(snake_case__   )
            _lowerCAmelCase    :							Union[str, Any]   			=       xvector_output_dim







     @property
     def a	( self   ):

            '''simple docstring'''

            return functools.reduce(operator.mul      ,	self.conv_stride      ,	1   )





'''simple docstring'''







import math
from datetime import datetime, timedelta






def 			lowercase				(_A					):







       """simple docstring"""







       _lowerCAmelCase    :							Optional[Any]   			=       year % 1_9
       _lowerCAmelCase    :							Any   			=       year % 4
       _lowerCAmelCase    :							Optional[int]   			=       year % 7
       _lowerCAmelCase    :							int   			=       math.floor(year / 1_0_0					)
       _lowerCAmelCase    :							Dict   			=       math.floor((1_3 + 8 * leap_day_inhibits) / 2_5					)
       _lowerCAmelCase    :							Optional[Any]   			=       leap_day_inhibits / 4
       _lowerCAmelCase    :							Dict   			=       (
           1_5 - lunar_orbit_correction + leap_day_inhibits - leap_day_reinstall_number
       ) % 3_0
       _lowerCAmelCase    :							List[Any]   			=       (4 + leap_day_inhibits - leap_day_reinstall_number) % 7

       # days to be added to March 21
       _lowerCAmelCase    :							Dict   			=       (1_9 * metonic_cycle + secular_moon_shift) % 3_0

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

       if days_to_add == 2_9 and days_from_phm_to_sunday == 6:
              return datetime(_A   ,						4   ,						1_9					)
       elif days_to_add == 2_8 and days_from_phm_to_sunday == 6:
              return datetime(_A   ,						4   ,						1_8					)
       else:
              return datetime(_A   ,						3   ,						2_2					) + 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)}''')

