
"""simple docstring"""


from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_sentencepiece_available


_lowercase				 =					{}


try:
		if not is_sentencepiece_available():
				raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
		pass
else:
		_lowercase				 =					['''MLukeTokenizer''']

if TYPE_CHECKING:
		try:
				if not is_sentencepiece_available():
						raise OptionalDependencyNotAvailable()
		except OptionalDependencyNotAvailable:
				pass
		else:
				from .tokenization_mluke import MLukeTokenizer


else:
		import sys

		_lowercase				 =					_LazyModule(__name__, globals()['''__file__'''], _import_structure, module_spec=__spec__)

"""simple docstring"""


from typing import Callable, Optional

from .. import Features
from ..packaged_modules.generator.generator import Generator
from .abc import AbstractDatasetInputStream







class 					lowerCAmelCase_					(   _lowercase     ):



						'''simple docstring'''


						def __init__(			self  :   Any	,A_  :   Callable	,A_  :   Optional[Features] = None	,A_  :   str = None	,A_  :   bool = False	,A_  :   bool = False	,A_  :   Optional[dict] = None	,A_  :   Optional[int] = None	,**A_  :   int	,)  -> str:
							super().__init__(
							    features=A_	,cache_dir=A_	,keep_in_memory=A_	,streaming=A_	,num_proc=A_	,**A_	,)
							A     = Generator(
							    cache_dir=A_	,features=A_	,generator=A_	,gen_kwargs=A_	,**A_	,)




						def     _SCREAMING_SNAKE_CASE   (			self  :   Optional[int]   )  -> Optional[int]:
							# Build iterable dataset
							if self.streaming:
								A     = self.builder.as_streaming_dataset(split='train'   )
							# Build regular (map-style) dataset
							else:
								A     = None
								A     = None
								A     = None
								A     = None

								self.builder.download_and_prepare(
								    download_config=A_	,download_mode=A_	,verification_mode=A_	,base_path=A_	,num_proc=self.num_proc	,)
								A     = self.builder.as_dataset(
								    split='train'	,verification_mode=A_	,in_memory=self.keep_in_memory   )
							return dataset