





import functools
import operator

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


_lowerCAmelCase 				=     logging.get_logger(__name__)

_lowerCAmelCase 				=     {
    '''microsoft/wavlm-base''': '''https://huggingface.co/microsoft/wavlm-base/resolve/main/config.json''',
    # See all WavLM models at https://huggingface.co/models?filter=wavlm
}

class    _UpperCAmelCase							(		_UpperCAmelCase     ):
      a						       =							'wavlm'
      def __init__(		self      ,       a__=32      ,       a__=768      ,       a__=12      ,       a__=12      ,       a__=3072      ,       a__="gelu"      ,       a__=0.1      ,       a__=0.1      ,       a__=0.1      ,       a__=0.0      ,       a__=0.1      ,       a__=0.1      ,       a__=0.02      ,       a__=1E-5      ,       a__="group"      ,       a__="gelu"      ,       a__=(512, 512, 512, 512, 512, 512, 512)      ,       a__=(5, 2, 2, 2, 2, 2, 2)      ,       a__=(10, 3, 3, 3, 3, 2, 2)      ,       a__=False      ,       a__=128      ,       a__=16      ,       a__=320      ,       a__=800      ,       a__=False      ,       a__=True      ,       a__=0.05      ,       a__=10      ,       a__=2      ,       a__=0.0      ,       a__=10      ,       a__=320      ,       a__=2      ,       a__=0.1      ,       a__=100      ,       a__=256      ,       a__=256      ,       a__=0.1      ,       a__="mean"      ,       a__=False      ,       a__=False      ,       a__=256      ,       a__=(512, 512, 512, 512, 1500)      ,       a__=(5, 3, 3, 1, 1)      ,       a__=(1, 2, 3, 1, 1)      ,       a__=512      ,       a__=80      ,       a__=0      ,       a__=1      ,       a__=2      ,       a__=False      ,       a__=3      ,       a__=2      ,       a__=3      ,       a__=None      ,       **a__      ,       ):
         super().__init__(**__UpperCamelCase      ,       pad_token_id=__UpperCamelCase      ,       bos_token_id=__UpperCamelCase      ,       eos_token_id=__UpperCamelCase       )
         A_     :				List[Any]			      =	hidden_size
         A_     :				Optional[Any]			      =	feat_extract_norm
         A_     :				Optional[int]			      =	feat_extract_activation
         A_     :				Dict			      =	list(__UpperCamelCase       )
         A_     :				str			      =	list(__UpperCamelCase       )
         A_     :				int			      =	list(__UpperCamelCase       )
         A_     :				List[Any]			      =	conv_bias
         A_     :				int			      =	num_buckets
         A_     :				int			      =	max_bucket_distance
         A_     :				Any			      =	num_conv_pos_embeddings
         A_     :				Dict			      =	num_conv_pos_embedding_groups
         A_     :				Optional[Any]			      =	len(self.conv_dim       )
         A_     :				Tuple			      =	num_hidden_layers
         A_     :				Any			      =	intermediate_size
         A_     :				Tuple			      =	hidden_act
         A_     :				List[Any]			      =	num_attention_heads
         A_     :				Dict			      =	hidden_dropout
         A_     :				Union[str, Any]			      =	attention_dropout
         A_     :				str			      =	activation_dropout
         A_     :				Tuple			      =	feat_proj_dropout
         A_     :				Optional[Any]			      =	final_dropout
         A_     :				Optional[int]			      =	layerdrop
         A_     :				Optional[int]			      =	layer_norm_eps
         A_     :				Tuple			      =	initializer_range
         A_     :				Optional[Any]			      =	num_ctc_classes
         A_     :				List[Any]			      =	vocab_size
         A_     :				Optional[Any]			      =	do_stable_layer_norm
         A_     :				Dict			      =	use_weighted_layer_sum
         A_     :				Any			      =	classifier_proj_size

         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
         A_     :				Union[str, Any]			      =	apply_spec_augment
         A_     :				Optional[int]			      =	mask_time_prob
         A_     :				Optional[int]			      =	mask_time_length
         A_     :				Optional[int]			      =	mask_time_min_masks
         A_     :				int			      =	mask_feature_prob
         A_     :				List[Any]			      =	mask_feature_length

         # parameters for pretraining with codevector quantized representations
         A_     :				List[Any]			      =	num_codevectors_per_group
         A_     :				List[Any]			      =	num_codevector_groups
         A_     :				List[str]			      =	contrastive_logits_temperature
         A_     :				Any			      =	num_negatives
         A_     :				Union[str, Any]			      =	codevector_dim
         A_     :				int			      =	proj_codevector_dim
         A_     :				Dict			      =	diversity_loss_weight

         # ctc loss
         A_     :				Optional[int]			      =	ctc_loss_reduction
         A_     :				Optional[Any]			      =	ctc_zero_infinity

         # adapter
         A_     :				Optional[Any]			      =	add_adapter
         A_     :				Union[str, Any]			      =	adapter_kernel_size
         A_     :				List[Any]			      =	adapter_stride
         A_     :				Optional[Any]			      =	num_adapter_layers
         A_     :				Any			      =	output_hidden_size or hidden_size

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

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






      @property
      def 		_lowerCamelCase      (		self       ):
         return functools.reduce(operator.mul      ,       self.conv_stride      ,       1       )






import re



def     _lowerCAmelCase		(  _lowerCAmelCase     ):
   '''simple docstring'''


   A_     :				Any			      =	re.compile(r"""^(\+91[\-\s]?)?[0]?(91)?[789]\d{9}$"""     )
   if match := re.search(_lowerCAmelCase  ,_lowerCAmelCase     ):
      return match.string == phone
   return False


if __name__ == "__main__":
      print(indian_phone_validator("""+918827897895"""))






