from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available


_SCREAMING_SNAKE_CASE   		=			{"""configuration_nat""": ["""NAT_PRETRAINED_CONFIG_ARCHIVE_MAP""", """NatConfig"""]}


try:
					if not is_torch_available():
										raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
					pass
else:
					_SCREAMING_SNAKE_CASE   		=			[
					    """NAT_PRETRAINED_MODEL_ARCHIVE_LIST""",
					    """NatForImageClassification""",
					    """NatModel""",
					    """NatPreTrainedModel""",
					    """NatBackbone""",
					]

if TYPE_CHECKING:
					from .configuration_nat import NAT_PRETRAINED_CONFIG_ARCHIVE_MAP, NatConfig

					try:
										if not is_torch_available():
															raise OptionalDependencyNotAvailable()
					except OptionalDependencyNotAvailable:
										pass
					else:
										from .modeling_nat import (
										    NAT_PRETRAINED_MODEL_ARCHIVE_LIST,
										    NatBackbone,
										    NatForImageClassification,
										    NatModel,
										    NatPreTrainedModel,
										)

else:
					import sys

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

from ...configuration_utils import PretrainedConfig
from ...utils import logging


_SCREAMING_SNAKE_CASE   		=			logging.get_logger(__name__)

_SCREAMING_SNAKE_CASE   		=			{
    """tau/splinter-base""": """https://huggingface.co/tau/splinter-base/resolve/main/config.json""",
    """tau/splinter-base-qass""": """https://huggingface.co/tau/splinter-base-qass/resolve/main/config.json""",
    """tau/splinter-large""": """https://huggingface.co/tau/splinter-large/resolve/main/config.json""",
    """tau/splinter-large-qass""": """https://huggingface.co/tau/splinter-large-qass/resolve/main/config.json""",
    # See all Splinter models at https://huggingface.co/models?filter=splinter
}
class SCREAMING_SNAKE_CASE_		(			__lowerCAmelCase		):
   __lowerCAmelCase											=							"""splinter"""







   def __init__(    self	:	List[Any]      ,      lowerCamelCase_	:	int=3_0522      ,      lowerCamelCase_	:	Any=768      ,      lowerCamelCase_	:	List[Any]=12      ,      lowerCamelCase_	:	Tuple=12      ,      lowerCamelCase_	:	Tuple=3072      ,      lowerCamelCase_	:	Any="gelu"      ,      lowerCamelCase_	:	Union[str, Any]=0.1      ,      lowerCamelCase_	:	str=0.1      ,      lowerCamelCase_	:	int=512      ,      lowerCamelCase_	:	List[Any]=2      ,      lowerCamelCase_	:	List[Any]=0.0_2      ,      lowerCamelCase_	:	Dict=1E-12      ,      lowerCamelCase_	:	Tuple=True      ,      lowerCamelCase_	:	str=0      ,      lowerCamelCase_	:	Any=104      ,      **lowerCamelCase_	:	Dict      ,      ):





    """simple docstring"""


    super().__init__(pad_token_id=lowerCamelCase_      ,      **lowerCamelCase_							)

    UpperCamelCase      =			vocab_size
    UpperCamelCase      =			max_position_embeddings
    UpperCamelCase      =			hidden_size
    UpperCamelCase      =			num_hidden_layers
    UpperCamelCase      =			num_attention_heads
    UpperCamelCase      =			intermediate_size
    UpperCamelCase      =			hidden_act
    UpperCamelCase      =			hidden_dropout_prob
    UpperCamelCase      =			attention_probs_dropout_prob
    UpperCamelCase      =			initializer_range
    UpperCamelCase      =			type_vocab_size
    UpperCamelCase      =			layer_norm_eps
    UpperCamelCase      =			use_cache
    UpperCamelCase      =			question_token_id
