from collections.abc import Iterable
from typing import Generic, TypeVar

__SCREAMING_SNAKE_CASE						:   List[Any]         =			TypeVar('_T')



class        lowercase_   (					Generic[_T]		):



							def __init__(						self				,    lowercase_ = None    ):
													_snake_case						:					list[_T]    =   list(iterable or []    )
													_snake_case						:					list[_T]    =   []



							def __len__(						self    ):
													return len(self._stacka    ) + len(self._stacka    )



							def __repr__(						self    ):
													return f"""Queue({tuple(self._stacka[::-1] + self._stacka    )})"""



							def 	UpperCamelCase	(						self				,    lowercase_    ):
													self._stacka.append(lowercase_    )



							def 	UpperCamelCase	(						self    ):
													_snake_case						:					int    =   self._stacka.pop
													_snake_case						:					Optional[int]    =   self._stacka.append

													if not self._stacka:
																			while self._stacka:
																									stacka_append(stacka_pop()    )

													if not self._stacka:
																			raise IndexError("Queue is empty"    )
													return self._stacka.pop()


if __name__ == "__main__":
				from doctest import testmod

				testmod()
from typing import TYPE_CHECKING

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


__SCREAMING_SNAKE_CASE						:   Optional[int]         =			{
    'configuration_distilbert': [
        'DISTILBERT_PRETRAINED_CONFIG_ARCHIVE_MAP',
        'DistilBertConfig',
        'DistilBertOnnxConfig',
    ],
    'tokenization_distilbert': ['DistilBertTokenizer'],
}

try:
				if not is_tokenizers_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				__SCREAMING_SNAKE_CASE						:   Optional[int]         =			['DistilBertTokenizerFast']

try:
				if not is_torch_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				__SCREAMING_SNAKE_CASE						:   int         =			[
				    'DISTILBERT_PRETRAINED_MODEL_ARCHIVE_LIST',
				    'DistilBertForMaskedLM',
				    'DistilBertForMultipleChoice',
				    'DistilBertForQuestionAnswering',
				    'DistilBertForSequenceClassification',
				    'DistilBertForTokenClassification',
				    'DistilBertModel',
				    'DistilBertPreTrainedModel',
				]

try:
				if not is_tf_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				__SCREAMING_SNAKE_CASE						:   Any         =			[
				    'TF_DISTILBERT_PRETRAINED_MODEL_ARCHIVE_LIST',
				    'TFDistilBertForMaskedLM',
				    'TFDistilBertForMultipleChoice',
				    'TFDistilBertForQuestionAnswering',
				    'TFDistilBertForSequenceClassification',
				    'TFDistilBertForTokenClassification',
				    'TFDistilBertMainLayer',
				    'TFDistilBertModel',
				    'TFDistilBertPreTrainedModel',
				]

try:
				if not is_flax_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				__SCREAMING_SNAKE_CASE						:   Optional[Any]         =			[
				    'FlaxDistilBertForMaskedLM',
				    'FlaxDistilBertForMultipleChoice',
				    'FlaxDistilBertForQuestionAnswering',
				    'FlaxDistilBertForSequenceClassification',
				    'FlaxDistilBertForTokenClassification',
				    'FlaxDistilBertModel',
				    'FlaxDistilBertPreTrainedModel',
				]


if TYPE_CHECKING:
				from .configuration_distilbert import (
				    DISTILBERT_PRETRAINED_CONFIG_ARCHIVE_MAP,
				    DistilBertConfig,
				    DistilBertOnnxConfig,
				)
				from .tokenization_distilbert import DistilBertTokenizer

				try:
								if not is_tokenizers_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .tokenization_distilbert_fast import DistilBertTokenizerFast

				try:
								if not is_torch_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .modeling_distilbert import (
								    DISTILBERT_PRETRAINED_MODEL_ARCHIVE_LIST,
								    DistilBertForMaskedLM,
								    DistilBertForMultipleChoice,
								    DistilBertForQuestionAnswering,
								    DistilBertForSequenceClassification,
								    DistilBertForTokenClassification,
								    DistilBertModel,
								    DistilBertPreTrainedModel,
								)

				try:
								if not is_tf_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .modeling_tf_distilbert import (
								    TF_DISTILBERT_PRETRAINED_MODEL_ARCHIVE_LIST,
								    TFDistilBertForMaskedLM,
								    TFDistilBertForMultipleChoice,
								    TFDistilBertForQuestionAnswering,
								    TFDistilBertForSequenceClassification,
								    TFDistilBertForTokenClassification,
								    TFDistilBertMainLayer,
								    TFDistilBertModel,
								    TFDistilBertPreTrainedModel,
								)

				try:
								if not is_flax_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .modeling_flax_distilbert import (
								    FlaxDistilBertForMaskedLM,
								    FlaxDistilBertForMultipleChoice,
								    FlaxDistilBertForQuestionAnswering,
								    FlaxDistilBertForSequenceClassification,
								    FlaxDistilBertForTokenClassification,
								    FlaxDistilBertModel,
								    FlaxDistilBertPreTrainedModel,
								)

else:
				import sys

				__SCREAMING_SNAKE_CASE						:   str         =			_LazyModule(__name__, globals()['__file__'], _import_structure, module_spec=__spec__)