



"""simple docstring"""




from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_torch_available,
)


UpperCAmelCase				:							Tuple								={
    """configuration_rwkv""": ["""RWKV_PRETRAINED_CONFIG_ARCHIVE_MAP""", """RwkvConfig""", """RwkvOnnxConfig"""],
}

try:
	if not is_torch_available():
		raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
	pass
else:
	UpperCAmelCase				:							str								=[
	    """RWKV_PRETRAINED_MODEL_ARCHIVE_LIST""",
	    """RwkvForCausalLM""",
	    """RwkvModel""",
	    """RwkvPreTrainedModel""",
	]


if TYPE_CHECKING:
	from .configuration_rwkv import RWKV_PRETRAINED_CONFIG_ARCHIVE_MAP, RwkvConfig, RwkvOnnxConfig

	try:
		if not is_torch_available():
			raise OptionalDependencyNotAvailable()
	except OptionalDependencyNotAvailable:
		pass
	else:
		from .modeling_rwkv import (
		    RWKV_PRETRAINED_MODEL_ARCHIVE_LIST,
		    RwkvForCausalLM,
		    RwkvModel,
		    RwkvPreTrainedModel,
		)
else:
	import sys

	UpperCAmelCase				:							str								=_LazyModule(__name__, globals()["""__file__"""], _import_structure, module_spec=__spec__)





def 				_lowerCAmelCase      (_lowerCAmelCase				,		_lowerCAmelCase):
					UpperCamelCase_											=				0
					for ele in arr:
										total_sum += product_sum(_lowerCAmelCase				,		depth + 1) if isinstance(_lowerCAmelCase				,		_lowerCAmelCase) else ele
					return total_sum * depth



def 				_lowerCAmelCase      (_lowerCAmelCase):
					return product_sum(_lowerCAmelCase				,		1)


if __name__ == "__main__":
	import doctest

	doctest.testmod()
