



from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_flax_available,
    is_sentencepiece_available,
    is_tf_available,
    is_tokenizers_available,
    is_torch_available,
)


snake_case_         = {
    """configuration_big_bird""": ["""BIG_BIRD_PRETRAINED_CONFIG_ARCHIVE_MAP""", """BigBirdConfig""", """BigBirdOnnxConfig"""],
}

try:
				if not is_sentencepiece_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				snake_case_         = ["""BigBirdTokenizer"""]

try:
				if not is_tokenizers_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				snake_case_         = ["""BigBirdTokenizerFast"""]

try:
				if not is_torch_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				snake_case_         = [
				    """BIG_BIRD_PRETRAINED_MODEL_ARCHIVE_LIST""",
				    """BigBirdForCausalLM""",
				    """BigBirdForMaskedLM""",
				    """BigBirdForMultipleChoice""",
				    """BigBirdForPreTraining""",
				    """BigBirdForQuestionAnswering""",
				    """BigBirdForSequenceClassification""",
				    """BigBirdForTokenClassification""",
				    """BigBirdLayer""",
				    """BigBirdModel""",
				    """BigBirdPreTrainedModel""",
				    """load_tf_weights_in_big_bird""",
				]

try:
				if not is_flax_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				snake_case_         = [
				    """FlaxBigBirdForCausalLM""",
				    """FlaxBigBirdForMaskedLM""",
				    """FlaxBigBirdForMultipleChoice""",
				    """FlaxBigBirdForPreTraining""",
				    """FlaxBigBirdForQuestionAnswering""",
				    """FlaxBigBirdForSequenceClassification""",
				    """FlaxBigBirdForTokenClassification""",
				    """FlaxBigBirdModel""",
				    """FlaxBigBirdPreTrainedModel""",
				]

if TYPE_CHECKING:
				from .configuration_big_bird import BIG_BIRD_PRETRAINED_CONFIG_ARCHIVE_MAP, BigBirdConfig, BigBirdOnnxConfig

				try:
								if not is_sentencepiece_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .tokenization_big_bird import BigBirdTokenizer

				try:
								if not is_tokenizers_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .tokenization_big_bird_fast import BigBirdTokenizerFast

				try:
								if not is_torch_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .modeling_big_bird import (
								    BIG_BIRD_PRETRAINED_MODEL_ARCHIVE_LIST,
								    BigBirdForCausalLM,
								    BigBirdForMaskedLM,
								    BigBirdForMultipleChoice,
								    BigBirdForPreTraining,
								    BigBirdForQuestionAnswering,
								    BigBirdForSequenceClassification,
								    BigBirdForTokenClassification,
								    BigBirdLayer,
								    BigBirdModel,
								    BigBirdPreTrainedModel,
								    load_tf_weights_in_big_bird,
								)

				try:
								if not is_flax_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .modeling_flax_big_bird import (
								    FlaxBigBirdForCausalLM,
								    FlaxBigBirdForMaskedLM,
								    FlaxBigBirdForMultipleChoice,
								    FlaxBigBirdForPreTraining,
								    FlaxBigBirdForQuestionAnswering,
								    FlaxBigBirdForSequenceClassification,
								    FlaxBigBirdForTokenClassification,
								    FlaxBigBirdModel,
								    FlaxBigBirdPreTrainedModel,
								)

else:
				import sys

				snake_case_         = _LazyModule(__name__, globals()["""__file__"""], _import_structure, module_spec=__spec__)










"""simple docstring"""


from dataclasses import dataclass
from typing import Callable, Optional

import datasets







@dataclass
class    A_    (  datasets.BuilderConfig       ):



						"""simple docstring"""
						__UpperCamelCase	       =							None
						__UpperCamelCase	       =							None
						__UpperCamelCase	       =							None






						def 			UpperCAmelCase__  (      self				:str      )       ->    Optional[Any]:
												assert self.generator is not None, "generator must be specified"

												if self.gen_kwargs is None:
																		UpperCAmelCase    =				{}







class    A_    (  datasets.GeneratorBasedBuilder       ):



						"""simple docstring"""
						__UpperCamelCase	       =							GeneratorConfig






						def 			UpperCAmelCase__  (      self				:Union[str, Any]      )       ->    str:
												return datasets.DatasetInfo(features=self.config.features      )






						def 			UpperCAmelCase__  (      self				:List[Any]     ,						lowercase_				:List[Any]      )       ->    Union[str, Any]:
												return [datasets.SplitGenerator(name=datasets.Split.TRAIN     ,						gen_kwargs=self.config.gen_kwargs      )]






						def 			UpperCAmelCase__  (      self				:Optional[int]     ,						**lowercase_				:Dict      )       ->    str:
												for idx, ex in enumerate(self.config.generator(**lowercase_      )      ):
																		yield idx, ex





