"""simple docstring"""
from ...configuration_utils import PretrainedConfig
from ...utils import logging


SCREAMING_SNAKE_CASE__   :      List[Any]							=logging.get_logger(__name__)

SCREAMING_SNAKE_CASE__   :      List[Any]							={
    'microsoft/swinv2-tiny-patch4-window8-256': (
        'https://huggingface.co/microsoft/swinv2-tiny-patch4-window8-256/resolve/main/config.json'
    ),
}



class      _UpperCAmelCase						( UpperCAmelCase__						):






    """simple docstring"""
    __snake_case    =       '''swinv2'''

    __snake_case    =       {
        '''num_attention_heads''': '''num_heads''',
        '''num_hidden_layers''': '''num_layers''',
    }







    def __init__(			self    , _lowercase=224    , _lowercase=4    , _lowercase=3    , _lowercase=96    , _lowercase=[2, 2, 6, 2]    , _lowercase=[3, 6, 12, 24]    , _lowercase=7    , _lowercase=4.0    , _lowercase=True    , _lowercase=0.0    , _lowercase=0.0    , _lowercase=0.1    , _lowercase="gelu"    , _lowercase=False    , _lowercase=0.02    , _lowercase=1E-5    , _lowercase=32    , **_lowercase    , )	->	str:
        super().__init__(**__lowerCAmelCase					)

        _lowerCamelCase	: List[Any]       =       image_size
        _lowerCamelCase	: Any       =       patch_size
        _lowerCamelCase	: List[str]       =       num_channels
        _lowerCamelCase	: List[Any]       =       embed_dim
        _lowerCamelCase	: Any       =       depths
        _lowerCamelCase	: Dict       =       len(__lowerCAmelCase					)
        _lowerCamelCase	: Union[str, Any]       =       num_heads
        _lowerCamelCase	: Union[str, Any]       =       window_size
        _lowerCamelCase	: Optional[int]       =       mlp_ratio
        _lowerCamelCase	: List[str]       =       qkv_bias
        _lowerCamelCase	: Tuple       =       hidden_dropout_prob
        _lowerCamelCase	: Tuple       =       attention_probs_dropout_prob
        _lowerCamelCase	: Dict       =       drop_path_rate
        _lowerCamelCase	: Union[str, Any]       =       hidden_act
        _lowerCamelCase	: List[Any]       =       use_absolute_embeddings
        _lowerCamelCase	: Union[str, Any]       =       layer_norm_eps
        _lowerCamelCase	: Tuple       =       initializer_range
        _lowerCamelCase	: int       =       encoder_stride
        # we set the hidden_size attribute in order to make Swinv2 work with VisionEncoderDecoderModel
        # this indicates the channel dimension after the last stage of the model
        _lowerCamelCase	: List[Any]       =       int(embed_dim * 2 ** (len(__lowerCAmelCase					) - 1)					)
        _lowerCamelCase	: Optional[int]       =       (0, 0, 0, 0)








'''simple docstring'''


def 						lowerCamelCase__   (				a							):
						if not all(x.isalpha() for x in string							):
												raise ValueError('String must only contain alphabetic characters.'							)

						__snake_case						 =   sorted(string.lower()							)
						return len(a							) == len(set(a							)							)


if __name__ == "__main__":
	_lowercase  =			input("""Enter a string """).strip()

	_lowercase  =			is_isogram(input_str)
	print(f'''{input_str} is {'an' if isogram else 'not an'} isogram.''')

