

import os
import sys
from contextlib import contextmanager


# Windows only
if os.name == "nt":
							import ctypes
							import msvcrt  # noqa







							class 	lowercase    (				ctypes.Structure							):


									"""simple docstring"""




									a__					       =  [("size", ctypes.c_int), ("visible", ctypes.c_byte)]






def 					lowerCamelCase_     (							)						->				Dict:




	'''simple docstring'''




	if os.name == "nt":
		_UpperCamelCase   :		Tuple			=						CursorInfo()
		_UpperCamelCase   :		Optional[int]			=						ctypes.windll.kernelaa.GetStdHandle(-1_1	)
		ctypes.windll.kernelaa.GetConsoleCursorInfo(UpperCAmelCase_							,       ctypes.byref(UpperCAmelCase_	)	)
		_UpperCamelCase   :		Optional[int]			=						False
		ctypes.windll.kernelaa.SetConsoleCursorInfo(UpperCAmelCase_							,       ctypes.byref(UpperCAmelCase_	)	)
	elif os.name == "posix":
		sys.stdout.write('\033[?25l'	)
		sys.stdout.flush()






def 					lowerCamelCase_     (							)						->				Any:




	'''simple docstring'''




	if os.name == "nt":
		_UpperCamelCase   :		int			=						CursorInfo()
		_UpperCamelCase   :		Union[str, Any]			=						ctypes.windll.kernelaa.GetStdHandle(-1_1	)
		ctypes.windll.kernelaa.GetConsoleCursorInfo(UpperCAmelCase_							,       ctypes.byref(UpperCAmelCase_	)	)
		_UpperCamelCase   :		Union[str, Any]			=						True
		ctypes.windll.kernelaa.SetConsoleCursorInfo(UpperCAmelCase_							,       ctypes.byref(UpperCAmelCase_	)	)
	elif os.name == "posix":
		sys.stdout.write('\033[?25h'	)
		sys.stdout.flush()







@contextmanager
def 					lowerCamelCase_     (							)						->				Union[str, Any]:




	'''simple docstring'''




	try:
		hide_cursor()
		yield
	finally:
		show_cursor()







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


lowerCAmelCase__								=		logging.get_logger(__name__)

lowerCAmelCase__								=		{
    """RWKV/rwkv-4-169m-pile""": """https://huggingface.co/RWKV/rwkv-4-169m-pile/resolve/main/config.json""",
    """RWKV/rwkv-4-430m-pile""": """https://huggingface.co/RWKV/rwkv-4-430m-pile/resolve/main/config.json""",
    """RWKV/rwkv-4-1b5-pile""": """https://huggingface.co/RWKV/rwkv-4-1b5-pile/resolve/main/config.json""",
    """RWKV/rwkv-4-3b-pile""": """https://huggingface.co/RWKV/rwkv-4-3b-pile/resolve/main/config.json""",
    """RWKV/rwkv-4-7b-pile""": """https://huggingface.co/RWKV/rwkv-4-7b-pile/resolve/main/config.json""",
    """RWKV/rwkv-4-14b-pile""": """https://huggingface.co/RWKV/rwkv-4-14b-pile/resolve/main/config.json""",
    """RWKV/rwkv-raven-1b5""": """https://huggingface.co/RWKV/rwkv-raven-1b5/resolve/main/config.json""",
    """RWKV/rwkv-raven-3b""": """https://huggingface.co/RWKV/rwkv-raven-3b/resolve/main/config.json""",
    """RWKV/rwkv-raven-7b""": """https://huggingface.co/RWKV/rwkv-raven-7b/resolve/main/config.json""",
    """RWKV/rwkv-raven-14b""": """https://huggingface.co/RWKV/rwkv-raven-14b/resolve/main/config.json""",
}







class 	lowercase    (				_lowercase							):


		"""simple docstring"""




		a__					       =  "rwkv"
		a__					       =  {"max_position_embeddings": "context_length"}


		def __init__(				self	,       __snake_case=5_02_77	,       __snake_case=10_24	,       __snake_case=40_96	,       __snake_case=32	,       __snake_case=None	,       __snake_case=None	,       __snake_case=1e-5	,       __snake_case=0	,       __snake_case=0	,       __snake_case=6	,       __snake_case=False	,       __snake_case=True	,       **__snake_case	,       ):
			_UpperCamelCase   :		str			=						vocab_size
			_UpperCamelCase   :		int			=						context_length
			_UpperCamelCase   :		Tuple			=						hidden_size
			_UpperCamelCase   :		Tuple			=						num_hidden_layers
			_UpperCamelCase   :		Dict			=						attention_hidden_size if attention_hidden_size is not None else hidden_size
			_UpperCamelCase   :		Tuple			=						intermediate_size if intermediate_size is not None else 4 * hidden_size
			_UpperCamelCase   :		Union[str, Any]			=						layer_norm_epsilon
			_UpperCamelCase   :		Dict			=						rescale_every
			_UpperCamelCase   :		Optional[Any]			=						use_cache

			_UpperCamelCase   :		str			=						bos_token_id
			_UpperCamelCase   :		Optional[Any]			=						eos_token_id

			super().__init__(
			    tie_word_embeddings=__snake_case	,       bos_token_id=__snake_case	,       eos_token_id=__snake_case	,       **__snake_case)




