
def     a__			(    snake_case    ):





  """simple docstring"""
  if number != int(snake_case    ):
    raise ValueError('''factorial() only accepts integral values'''    )
  if number < 0:
    raise ValueError('''factorial() not defined for negative values'''    )
  __SCREAMING_SNAKE_CASE     :					Optional[Any]			=						1
  for i in range(1   ,	number + 1    ):
    value *= i
  return value


def     a__			(    snake_case    ):





  """simple docstring"""
  if not isinstance(snake_case   ,	snake_case    ):
    raise ValueError('''factorial() only accepts integral values'''    )
  if n < 0:
    raise ValueError('''factorial() not defined for negative values'''    )
  return 1 if n == 0 or n == 1 else n * factorial(n - 1    )


if __name__ == "__main__":
   import doctest

   doctest.testmod()

   lowercase_											=	int(input("""Enter a positive integer: """).strip() or 0)
   print(f'''factorial{n} is {factorial(n)}''')


from typing import Optional

from ..utils.logging import get_logger
from .audio_classificiation import AudioClassification
from .automatic_speech_recognition import AutomaticSpeechRecognition
from .base import TaskTemplate
from .image_classification import ImageClassification
from .language_modeling import LanguageModeling
from .question_answering import QuestionAnsweringExtractive
from .summarization import Summarization
from .text_classification import TextClassification


lowercase_											=	[
    """AutomaticSpeechRecognition""",
    """AudioClassification""",
    """ImageClassification""",
    """LanguageModeling""",
    """QuestionAnsweringExtractive""",
    """Summarization""",
    """TaskTemplate""",
    """TextClassification""",
]

lowercase_											=	get_logger(__name__)


lowercase_											=	{
    AutomaticSpeechRecognition.task: AutomaticSpeechRecognition,
    AudioClassification.task: AudioClassification,
    ImageClassification.task: ImageClassification,
    LanguageModeling.task: LanguageModeling,
    QuestionAnsweringExtractive.task: QuestionAnsweringExtractive,
    Summarization.task: Summarization,
    TextClassification.task: TextClassification,
}


def     a__			(    snake_case    ):





  """simple docstring"""
  __SCREAMING_SNAKE_CASE     :					str			=						task_template_dict.get('''task'''    )
  if task_name is None:
    logger.warning(F'''Couldn\'t find template for task \'{task_name}\'. Available templates: {list(snake_case    )}'''    )
    return None
  __SCREAMING_SNAKE_CASE     :					Any			=						NAMEaTEMPLATE.get(snake_case    )
  return template.from_dict(snake_case    )
