





"""simple docstring"""
from scipy.stats import pearsonr

import datasets


lowerCamelCase_       =		"\nPearson correlation coefficient and p-value for testing non-correlation.\nThe Pearson correlation coefficient measures the linear relationship between two datasets. The calculation of the p-value relies on the assumption that each dataset is normally distributed. Like other correlation coefficients, this one varies between -1 and +1 with 0 implying no correlation. Correlations of -1 or +1 imply an exact linear relationship. Positive correlations imply that as x increases, so does y. Negative correlations imply that as x increases, y decreases.\nThe p-value roughly indicates the probability of an uncorrelated system producing datasets that have a Pearson correlation at least as extreme as the one computed from these datasets.\n"


lowerCamelCase_       =		"\nArgs:\n    predictions (`list` of `int`): Predicted class labels, as returned by a model.\n    references (`list` of `int`): Ground truth labels.\n    return_pvalue (`boolean`): If `True`, returns the p-value, along with the correlation coefficient. If `False`, returns only the correlation coefficient. Defaults to `False`.\n\nReturns:\n    pearsonr (`float`): Pearson correlation coefficient. Minimum possible value is -1. Maximum possible value is 1. Values of 1 and -1 indicate exact linear positive and negative relationships, respectively. A value of 0 implies no correlation.\n    p-value (`float`): P-value, which roughly indicates the probability of an The p-value roughly indicates the probability of an uncorrelated system producing datasets that have a Pearson correlation at least as extreme as the one computed from these datasets. Minimum possible value is 0. Maximum possible value is 1. Higher values indicate higher probabilities.\n\nExamples:\n\n    Example 1-A simple example using only predictions and references.\n        >>> pearsonr_metric = datasets.load_metric(\"pearsonr\")\n        >>> results = pearsonr_metric.compute(predictions=[10, 9, 2.5, 6, 4], references=[1, 2, 3, 4, 5])\n        >>> print(round(results['pearsonr'], 2))\n        -0.74\n\n    Example 2-The same as Example 1, but that also returns the `p-value`.\n        >>> pearsonr_metric = datasets.load_metric(\"pearsonr\")\n        >>> results = pearsonr_metric.compute(predictions=[10, 9, 2.5, 6, 4], references=[1, 2, 3, 4, 5], return_pvalue=True)\n        >>> print(sorted(list(results.keys())))\n        ['p-value', 'pearsonr']\n        >>> print(round(results['pearsonr'], 2))\n        -0.74\n        >>> print(round(results['p-value'], 2))\n        0.15\n"


lowerCamelCase_       =		"\n@article{2020SciPy-NMeth,\nauthor  = {Virtanen, Pauli and Gommers, Ralf and Oliphant, Travis E. and\n      Haberland, Matt and Reddy, Tyler and Cournapeau, David and\n      Burovski, Evgeni and Peterson, Pearu and Weckesser, Warren and\n      Bright, Jonathan and {van der Walt}, St{\'e}fan J. and\n      Brett, Matthew and Wilson, Joshua and Millman, K. Jarrod and\n      Mayorov, Nikolay and Nelson, Andrew R. J. and Jones, Eric and\n      Kern, Robert and Larson, Eric and Carey, C J and\n      Polat, Ilhan and Feng, Yu and Moore, Eric W. and\n      {VanderPlas}, Jake and Laxalde, Denis and Perktold, Josef and\n      Cimrman, Robert and Henriksen, Ian and Quintero, E. A. and\n      Harris, Charles R. and Archibald, Anne M. and\n      Ribeiro, Antonio H. and Pedregosa, Fabian and\n      {van Mulbregt}, Paul and {SciPy 1.0 Contributors}},\ntitle   = {{{SciPy} 1.0: Fundamental Algorithms for Scientific\n      Computing in Python}},\njournal = {Nature Methods},\nyear    = {2020},\nvolume  = {17},\npages   = {261--272},\nadsurl  = {https://rdcu.be/b08Wh},\ndoi = {10.1038/s41592-019-0686-2},\n}\n"






@datasets.utils.file_utils.add_start_docstrings(_DESCRIPTION   ,     _KWARGS_DESCRIPTION  )
class  _SCREAMING_SNAKE_CASE(       datasets.Metric  ):




       def    _UpperCamelCase					(						self							)      ->				List[str]:





             """simple docstring"""






             return datasets.MetricInfo(
                 description=_DESCRIPTION		,citation=_CITATION		,inputs_description=_KWARGS_DESCRIPTION		,features=datasets.Features(
                     {
                         '''predictions''': datasets.Value('''float'''							),
                         '''references''': datasets.Value('''float'''							),
                     }							)		,reference_urls=['''https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.pearsonr.html''']		,)




       def    _UpperCamelCase					(						self		,SCREAMING_SNAKE_CASE__		,SCREAMING_SNAKE_CASE__		,SCREAMING_SNAKE_CASE__=False							)      ->				Optional[int]:





             """simple docstring"""






             if return_pvalue:
                   __SCREAMING_SNAKE_CASE       :Union[str, Any]		    =  pearsonr(SCREAMING_SNAKE_CASE__		,SCREAMING_SNAKE_CASE__							)
                   return {"pearsonr": results[0], "p-value": results[1]}
             else:
                   return {"pearsonr": float(pearsonr(SCREAMING_SNAKE_CASE__		,SCREAMING_SNAKE_CASE__							)[0]							)}






"""simple docstring"""
import warnings
from collections import OrderedDict
from typing import Any, Mapping, Optional

from ... import PreTrainedTokenizer
from ...configuration_utils import PretrainedConfig
from ...onnx import OnnxConfig, OnnxConfigWithPast, OnnxSeqaSeqConfigWithPast
from ...onnx.utils import compute_effective_axis_dimension
from ...utils import TensorType, is_torch_available, logging


lowerCamelCase_       =		logging.get_logger(__name__)

lowerCamelCase_       =		{
    "facebook/bart-large": "https://huggingface.co/facebook/bart-large/resolve/main/config.json",
    # See all BART models at https://huggingface.co/models?filter=bart
}






class  _SCREAMING_SNAKE_CASE(       A  ):
       SCREAMING_SNAKE_CASE_       :				str     						=  '''bart'''
       SCREAMING_SNAKE_CASE_       :				str     						=  ['''past_key_values''']
       SCREAMING_SNAKE_CASE_       :				str     						=  {'''num_attention_heads''': '''encoder_attention_heads''', '''hidden_size''': '''d_model'''}




       def __init__(						self		,SCREAMING_SNAKE_CASE__=5_02_65		,SCREAMING_SNAKE_CASE__=10_24		,SCREAMING_SNAKE_CASE__=12		,SCREAMING_SNAKE_CASE__=40_96		,SCREAMING_SNAKE_CASE__=16		,SCREAMING_SNAKE_CASE__=12		,SCREAMING_SNAKE_CASE__=40_96		,SCREAMING_SNAKE_CASE__=16		,SCREAMING_SNAKE_CASE__=0.0		,SCREAMING_SNAKE_CASE__=0.0		,SCREAMING_SNAKE_CASE__="gelu"		,SCREAMING_SNAKE_CASE__=10_24		,SCREAMING_SNAKE_CASE__=0.1		,SCREAMING_SNAKE_CASE__=0.0		,SCREAMING_SNAKE_CASE__=0.0		,SCREAMING_SNAKE_CASE__=0.0_2		,SCREAMING_SNAKE_CASE__=0.0		,SCREAMING_SNAKE_CASE__=False		,SCREAMING_SNAKE_CASE__=True		,SCREAMING_SNAKE_CASE__=3		,SCREAMING_SNAKE_CASE__=1		,SCREAMING_SNAKE_CASE__=0		,SCREAMING_SNAKE_CASE__=2		,SCREAMING_SNAKE_CASE__=True		,SCREAMING_SNAKE_CASE__=2		,SCREAMING_SNAKE_CASE__=2		,**SCREAMING_SNAKE_CASE__		,)      ->				int:





             """simple docstring"""






             __SCREAMING_SNAKE_CASE       :str		    =  vocab_size
             __SCREAMING_SNAKE_CASE       :Union[str, Any]		    =  max_position_embeddings
             __SCREAMING_SNAKE_CASE       :Any		    =  d_model
             __SCREAMING_SNAKE_CASE       :Optional[int]		    =  encoder_ffn_dim
             __SCREAMING_SNAKE_CASE       :List[str]		    =  encoder_layers
             __SCREAMING_SNAKE_CASE       :Tuple		    =  encoder_attention_heads
             __SCREAMING_SNAKE_CASE       :List[Any]		    =  decoder_ffn_dim
             __SCREAMING_SNAKE_CASE       :Any		    =  decoder_layers
             __SCREAMING_SNAKE_CASE       :Optional[int]		    =  decoder_attention_heads
             __SCREAMING_SNAKE_CASE       :Optional[Any]		    =  dropout
             __SCREAMING_SNAKE_CASE       :Optional[Any]		    =  attention_dropout
             __SCREAMING_SNAKE_CASE       :Dict		    =  activation_dropout
             __SCREAMING_SNAKE_CASE       :Union[str, Any]		    =  activation_function
             __SCREAMING_SNAKE_CASE       :Union[str, Any]		    =  init_std
             __SCREAMING_SNAKE_CASE       :int		    =  encoder_layerdrop
             __SCREAMING_SNAKE_CASE       :Any		    =  decoder_layerdrop
             __SCREAMING_SNAKE_CASE       :str		    =  classifier_dropout
             __SCREAMING_SNAKE_CASE       :List[str]		    =  use_cache
             __SCREAMING_SNAKE_CASE       :List[str]		    =  encoder_layers
             __SCREAMING_SNAKE_CASE       :Tuple		    =  scale_embedding  # scale factor will be sqrt(d_model) if True

             super().__init__(
                 num_labels=SCREAMING_SNAKE_CASE__		,pad_token_id=SCREAMING_SNAKE_CASE__		,bos_token_id=SCREAMING_SNAKE_CASE__		,eos_token_id=SCREAMING_SNAKE_CASE__		,is_encoder_decoder=SCREAMING_SNAKE_CASE__		,decoder_start_token_id=SCREAMING_SNAKE_CASE__		,forced_eos_token_id=SCREAMING_SNAKE_CASE__		,**SCREAMING_SNAKE_CASE__		,)

             # ensure backward compatibility for BART CNN models
             if self.forced_bos_token_id is None and kwargs.get('''force_bos_token_to_be_generated'''		,SCREAMING_SNAKE_CASE__							):
                   __SCREAMING_SNAKE_CASE       :str		    =  self.bos_token_id
                   warnings.warn(
                       f'''Please make sure the config includes `forced_bos_token_id={self.bos_token_id}` in future versions. '''
                       '''The config can simply be saved and uploaded again to be fixed.'''							)






class  _SCREAMING_SNAKE_CASE(       A  ):




       @property
       def    _UpperCamelCase					(						self							)      ->				Mapping[str, Mapping[int, str]]:





             """simple docstring"""






             if self.task in ["default", "seq2seq-lm"]:
                   __SCREAMING_SNAKE_CASE       :Optional[Any]		    =  OrderedDict(
                       [
                           ('''input_ids''', {0: '''batch''', 1: '''encoder_sequence'''}),
                           ('''attention_mask''', {0: '''batch''', 1: '''encoder_sequence'''}),
                       ]							)

                   if self.use_past:
                         __SCREAMING_SNAKE_CASE       :int		    =  {0: '''batch'''}
                         __SCREAMING_SNAKE_CASE       :int		    =  {0: '''batch''', 1: '''past_decoder_sequence + sequence'''}
                   else:
                         __SCREAMING_SNAKE_CASE       :Tuple		    =  {0: '''batch''', 1: '''decoder_sequence'''}
                         __SCREAMING_SNAKE_CASE       :Any		    =  {0: '''batch''', 1: '''decoder_sequence'''}

                   if self.use_past:
                         self.fill_with_past_key_values_(SCREAMING_SNAKE_CASE__		,direction='''inputs'''							)
             elif self.task == "causal-lm":
                   # TODO: figure this case out.
                   __SCREAMING_SNAKE_CASE       :Optional[int]		    =  OrderedDict(
                       [
                           ('''input_ids''', {0: '''batch''', 1: '''encoder_sequence'''}),
                           ('''attention_mask''', {0: '''batch''', 1: '''encoder_sequence'''}),
                       ]							)
                   if self.use_past:
                         __SCREAMING_SNAKE_CASE    ,__SCREAMING_SNAKE_CASE       :List[Any]		    =  self.num_layers
                         for i in range(SCREAMING_SNAKE_CASE__							):
                               __SCREAMING_SNAKE_CASE       :List[str]		    =  {0: '''batch''', 2: '''past_sequence + sequence'''}
                               __SCREAMING_SNAKE_CASE       :List[Any]		    =  {0: '''batch''', 2: '''past_sequence + sequence'''}
             else:
                   __SCREAMING_SNAKE_CASE       :int		    =  OrderedDict(
                       [
                           ('''input_ids''', {0: '''batch''', 1: '''encoder_sequence'''}),
                           ('''attention_mask''', {0: '''batch''', 1: '''encoder_sequence'''}),
                           ('''decoder_input_ids''', {0: '''batch''', 1: '''decoder_sequence'''}),
                           ('''decoder_attention_mask''', {0: '''batch''', 1: '''decoder_sequence'''}),
                       ]							)

             return common_inputs




       @property
       def    _UpperCamelCase					(						self							)      ->				Mapping[str, Mapping[int, str]]:





             """simple docstring"""






             if self.task in ["default", "seq2seq-lm"]:
                   __SCREAMING_SNAKE_CASE       :str		    =  super().outputs
             else:
                   __SCREAMING_SNAKE_CASE       :List[str]		    =  super(SCREAMING_SNAKE_CASE__		,self							).outputs
                   if self.use_past:
                         __SCREAMING_SNAKE_CASE    ,__SCREAMING_SNAKE_CASE       :Dict		    =  self.num_layers
                         for i in range(SCREAMING_SNAKE_CASE__							):
                               __SCREAMING_SNAKE_CASE       :str		    =  {0: '''batch''', 2: '''past_sequence + sequence'''}
                               __SCREAMING_SNAKE_CASE       :Any		    =  {0: '''batch''', 2: '''past_sequence + sequence'''}
             return common_outputs




       def    _UpperCamelCase					(						self		,SCREAMING_SNAKE_CASE__		,SCREAMING_SNAKE_CASE__ = -1		,SCREAMING_SNAKE_CASE__ = -1		,SCREAMING_SNAKE_CASE__ = False		,SCREAMING_SNAKE_CASE__ = None		,)      ->				Mapping[str, Any]:





             """simple docstring"""






             __SCREAMING_SNAKE_CASE       :int		    =  self._generate_dummy_inputs_for_sequence_classification_and_question_answering(
                 SCREAMING_SNAKE_CASE__		,SCREAMING_SNAKE_CASE__		,SCREAMING_SNAKE_CASE__		,SCREAMING_SNAKE_CASE__		,SCREAMING_SNAKE_CASE__							)

             # Generate decoder inputs
             __SCREAMING_SNAKE_CASE       :Union[str, Any]		    =  seq_length if not self.use_past else 1
             __SCREAMING_SNAKE_CASE       :Dict		    =  self._generate_dummy_inputs_for_sequence_classification_and_question_answering(
                 SCREAMING_SNAKE_CASE__		,SCREAMING_SNAKE_CASE__		,SCREAMING_SNAKE_CASE__		,SCREAMING_SNAKE_CASE__		,SCREAMING_SNAKE_CASE__							)
             __SCREAMING_SNAKE_CASE       :List[str]		    =  {f'''decoder_{name}''': tensor for name, tensor in decoder_inputs.items()}
             __SCREAMING_SNAKE_CASE       :Any		    =  dict(**SCREAMING_SNAKE_CASE__		,**SCREAMING_SNAKE_CASE__							)

             if self.use_past:
                   if not is_torch_available():
                         raise ValueError('''Cannot generate dummy past_keys inputs without PyTorch installed.'''							)
                   else:
                         import torch
                   __SCREAMING_SNAKE_CASE    ,__SCREAMING_SNAKE_CASE       :Dict		    =  common_inputs['''input_ids'''].shape
                   __SCREAMING_SNAKE_CASE       :Optional[Any]		    =  common_inputs['''decoder_input_ids'''].shape[1]
                   __SCREAMING_SNAKE_CASE    ,__SCREAMING_SNAKE_CASE       :Union[str, Any]		    =  self.num_attention_heads
                   __SCREAMING_SNAKE_CASE       :Union[str, Any]		    =  (
                       batch,
                       num_encoder_attention_heads,
                       encoder_seq_length,
                       self._config.hidden_size // num_encoder_attention_heads,
                   )
                   __SCREAMING_SNAKE_CASE       :Optional[int]		    =  decoder_seq_length + 3
                   __SCREAMING_SNAKE_CASE       :Tuple		    =  (
                       batch,
                       num_decoder_attention_heads,
                       decoder_past_length,
                       self._config.hidden_size // num_decoder_attention_heads,
                   )

                   __SCREAMING_SNAKE_CASE       :Union[str, Any]		    =  torch.cat(
                       [common_inputs['''decoder_attention_mask'''], torch.ones(SCREAMING_SNAKE_CASE__		,SCREAMING_SNAKE_CASE__							)]		,dim=1							)

                   __SCREAMING_SNAKE_CASE       :Optional[Any]		    =  []
                   # If the number of encoder and decoder layers are present in the model configuration, both are considered
                   __SCREAMING_SNAKE_CASE    ,__SCREAMING_SNAKE_CASE       :Dict		    =  self.num_layers
                   __SCREAMING_SNAKE_CASE       :int		    =  min(SCREAMING_SNAKE_CASE__		,SCREAMING_SNAKE_CASE__							)
                   __SCREAMING_SNAKE_CASE       :Any		    =  max(SCREAMING_SNAKE_CASE__		,SCREAMING_SNAKE_CASE__							) - min_num_layers
                   __SCREAMING_SNAKE_CASE       :int		    =  '''encoder''' if num_encoder_layers > num_decoder_layers else '''decoder'''

                   for _ in range(SCREAMING_SNAKE_CASE__							):
                         common_inputs["past_key_values"].append(
                             (
                                 torch.zeros(SCREAMING_SNAKE_CASE__							),
                                 torch.zeros(SCREAMING_SNAKE_CASE__							),
                                 torch.zeros(SCREAMING_SNAKE_CASE__							),
                                 torch.zeros(SCREAMING_SNAKE_CASE__							),
                             )							)
                   # TODO: test this.
                   __SCREAMING_SNAKE_CASE       :Optional[int]		    =  encoder_shape if remaining_side_name == '''encoder''' else decoder_shape
                   for _ in range(SCREAMING_SNAKE_CASE__		,SCREAMING_SNAKE_CASE__							):
                         common_inputs["past_key_values"].append((torch.zeros(SCREAMING_SNAKE_CASE__							), torch.zeros(SCREAMING_SNAKE_CASE__							))							)
             return common_inputs




       def    _UpperCamelCase					(						self		,SCREAMING_SNAKE_CASE__		,SCREAMING_SNAKE_CASE__ = -1		,SCREAMING_SNAKE_CASE__ = -1		,SCREAMING_SNAKE_CASE__ = False		,SCREAMING_SNAKE_CASE__ = None		,)      ->				Mapping[str, Any]:





             """simple docstring"""






             __SCREAMING_SNAKE_CASE       :Dict		    =  self._generate_dummy_inputs_for_sequence_classification_and_question_answering(
                 SCREAMING_SNAKE_CASE__		,SCREAMING_SNAKE_CASE__		,SCREAMING_SNAKE_CASE__		,SCREAMING_SNAKE_CASE__		,SCREAMING_SNAKE_CASE__							)

             if self.use_past:
                   if not is_torch_available():
                         raise ValueError('''Cannot generate dummy past_keys inputs without PyTorch installed.'''							)
                   else:
                         import torch
                   __SCREAMING_SNAKE_CASE    ,__SCREAMING_SNAKE_CASE       :str		    =  common_inputs['''input_ids'''].shape
                   # Not using the same length for past_key_values
                   __SCREAMING_SNAKE_CASE       :List[str]		    =  seqlen + 2
                   __SCREAMING_SNAKE_CASE    ,__SCREAMING_SNAKE_CASE       :Union[str, Any]		    =  self.num_layers
                   __SCREAMING_SNAKE_CASE    ,__SCREAMING_SNAKE_CASE       :int		    =  self.num_attention_heads
                   __SCREAMING_SNAKE_CASE       :Tuple		    =  (
                       batch,
                       num_encoder_attention_heads,
                       past_key_values_length,
                       self._config.hidden_size // num_encoder_attention_heads,
                   )

                   __SCREAMING_SNAKE_CASE       :Tuple		    =  common_inputs['''attention_mask'''].dtype
                   __SCREAMING_SNAKE_CASE       :Union[str, Any]		    =  torch.cat(
                       [common_inputs['''attention_mask'''], torch.ones(SCREAMING_SNAKE_CASE__		,SCREAMING_SNAKE_CASE__		,dtype=SCREAMING_SNAKE_CASE__							)]		,dim=1							)
                   __SCREAMING_SNAKE_CASE       :str		    =  [
                       (torch.zeros(SCREAMING_SNAKE_CASE__							), torch.zeros(SCREAMING_SNAKE_CASE__							)) for _ in range(SCREAMING_SNAKE_CASE__							)
                   ]
             return common_inputs




       def    _UpperCamelCase					(						self		,SCREAMING_SNAKE_CASE__		,SCREAMING_SNAKE_CASE__ = -1		,SCREAMING_SNAKE_CASE__ = -1		,SCREAMING_SNAKE_CASE__ = False		,SCREAMING_SNAKE_CASE__ = None		,)      ->				Mapping[str, Any]:





             """simple docstring"""






             __SCREAMING_SNAKE_CASE       :List[Any]		    =  compute_effective_axis_dimension(
                 SCREAMING_SNAKE_CASE__		,fixed_dimension=OnnxConfig.default_fixed_batch		,num_token_to_add=0							)

             # If dynamic axis (-1) we forward with a fixed dimension of 8 tokens to avoid optimizations made by ONNX
             __SCREAMING_SNAKE_CASE       :Optional[Any]		    =  tokenizer.num_special_tokens_to_add(SCREAMING_SNAKE_CASE__							)
             __SCREAMING_SNAKE_CASE       :List[Any]		    =  compute_effective_axis_dimension(
                 SCREAMING_SNAKE_CASE__		,fixed_dimension=OnnxConfig.default_fixed_sequence		,num_token_to_add=SCREAMING_SNAKE_CASE__							)

             # Generate dummy inputs according to compute batch and sequence
             __SCREAMING_SNAKE_CASE       :List[Any]		    =  [''' '''.join([tokenizer.unk_token]							) * seq_length] * batch_size
             __SCREAMING_SNAKE_CASE       :str		    =  dict(tokenizer(SCREAMING_SNAKE_CASE__		,return_tensors=SCREAMING_SNAKE_CASE__							)							)
             return common_inputs




       def    _UpperCamelCase					(						self		,SCREAMING_SNAKE_CASE__		,SCREAMING_SNAKE_CASE__ = -1		,SCREAMING_SNAKE_CASE__ = -1		,SCREAMING_SNAKE_CASE__ = False		,SCREAMING_SNAKE_CASE__ = None		,)      ->				Mapping[str, Any]:





             """simple docstring"""






             if self.task in ["default", "seq2seq-lm"]:
                   __SCREAMING_SNAKE_CASE       :str		    =  self._generate_dummy_inputs_for_default_and_seqaseq_lm(
                       SCREAMING_SNAKE_CASE__		,batch_size=SCREAMING_SNAKE_CASE__		,seq_length=SCREAMING_SNAKE_CASE__		,is_pair=SCREAMING_SNAKE_CASE__		,framework=SCREAMING_SNAKE_CASE__							)

             elif self.task == "causal-lm":
                   __SCREAMING_SNAKE_CASE       :int		    =  self._generate_dummy_inputs_for_causal_lm(
                       SCREAMING_SNAKE_CASE__		,batch_size=SCREAMING_SNAKE_CASE__		,seq_length=SCREAMING_SNAKE_CASE__		,is_pair=SCREAMING_SNAKE_CASE__		,framework=SCREAMING_SNAKE_CASE__							)
             else:
                   __SCREAMING_SNAKE_CASE       :int		    =  self._generate_dummy_inputs_for_sequence_classification_and_question_answering(
                       SCREAMING_SNAKE_CASE__		,batch_size=SCREAMING_SNAKE_CASE__		,seq_length=SCREAMING_SNAKE_CASE__		,is_pair=SCREAMING_SNAKE_CASE__		,framework=SCREAMING_SNAKE_CASE__							)

             return common_inputs




       def    _UpperCamelCase					(						self		,SCREAMING_SNAKE_CASE__		,SCREAMING_SNAKE_CASE__		,SCREAMING_SNAKE_CASE__		,SCREAMING_SNAKE_CASE__							)      ->				str:





             """simple docstring"""






             if self.task in ["default", "seq2seq-lm"]:
                   __SCREAMING_SNAKE_CASE       :Dict		    =  super()._flatten_past_key_values_(SCREAMING_SNAKE_CASE__		,SCREAMING_SNAKE_CASE__		,SCREAMING_SNAKE_CASE__		,SCREAMING_SNAKE_CASE__							)
             else:
                   __SCREAMING_SNAKE_CASE       :Dict		    =  super(SCREAMING_SNAKE_CASE__		,self							)._flatten_past_key_values_(
                       SCREAMING_SNAKE_CASE__		,SCREAMING_SNAKE_CASE__		,SCREAMING_SNAKE_CASE__		,SCREAMING_SNAKE_CASE__							)