
from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available


A		: List[str]								=     {'''configuration_vit_msn''': ['''VIT_MSN_PRETRAINED_CONFIG_ARCHIVE_MAP''', '''ViTMSNConfig''']}

try:
		if not is_torch_available():
				raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
		pass
else:
		A		: Dict								=     [
		    '''VIT_MSN_PRETRAINED_MODEL_ARCHIVE_LIST''',
		    '''ViTMSNModel''',
		    '''ViTMSNForImageClassification''',
		    '''ViTMSNPreTrainedModel''',
		]

if TYPE_CHECKING:
		from .configuration_vit_msn import VIT_MSN_PRETRAINED_CONFIG_ARCHIVE_MAP, ViTMSNConfig

		try:
				if not is_torch_available():
						raise OptionalDependencyNotAvailable()
		except OptionalDependencyNotAvailable:
				pass
		else:
				from .modeling_vit_msn import (
				    VIT_MSN_PRETRAINED_MODEL_ARCHIVE_LIST,
				    ViTMSNForImageClassification,
				    ViTMSNModel,
				    ViTMSNPreTrainedModel,
				)

else:
		import sys

		A		: Optional[Any]								=     _LazyModule(__name__, globals()['''__file__'''], _import_structure, module_spec=__spec__)

def 	UpperCamelCase__  (     SCREAMING_SNAKE_CASE_	:	list[int]		,   SCREAMING_SNAKE_CASE_	:	int       )  ->     bool:
						_lowercase					       =					len(SCREAMING_SNAKE_CASE_       )
						_lowercase					       =					[[False] * (required_sum + 1) for _ in range(arr_len + 1       )]

						# for each arr value, a sum of zero(0) can be formed by not taking any element
						# hence True/1
						for i in range(arr_len + 1       ):
												_lowercase					       =					True

						# sum is not zero and set is empty then false
						for i in range(1		,   required_sum + 1       ):
												_lowercase					       =					False

						for i in range(1		,   arr_len + 1       ):
												for j in range(1		,   required_sum + 1       ):
																		if arr[i - 1] > j:
																								_lowercase					       =					subset[i - 1][j]
																		if arr[i - 1] <= j:
																								_lowercase					       =					subset[i - 1][j] or subset[i - 1][j - arr[i - 1]]

						return subset[arr_len][required_sum]


if __name__ == "__main__":
		import doctest

		doctest.testmod()