'''simple docstring'''




import argparse
import os

from accelerate.utils import ComputeEnvironment

from .cluster import get_cluster_input
from .config_args import cache_dir, default_config_file, default_yaml_config_file, load_config_from_file  # noqa: F401
from .config_utils import _ask_field, _ask_options, _convert_compute_environment  # noqa: F401
from .sagemaker import get_sagemaker_input


__UpperCAmelCase												=	"Launches a series of prompts to create and save a `default_config.yaml` configuration file for your training system. Should always be ran first on your machine"






def __lowerCAmelCase			(							)     ->   Tuple:
    __lowerCamelCase          =  _ask_options(
        '''In which compute environment are you running?'''    ,  ['''This machine''', '''AWS (Amazon SageMaker)''']    ,  _convert_compute_environment    ,  )
    if compute_environment == ComputeEnvironment.AMAZON_SAGEMAKER:
        __lowerCamelCase          =  get_sagemaker_input()
    else:
        __lowerCamelCase          =  get_cluster_input()
    return config






def __lowerCAmelCase			(							UpperCamelCase__=None    )     ->   Optional[Any]:





    if subparsers is not None:
        __lowerCamelCase          =  subparsers.add_parser('''config'''    ,  description=SCREAMING_SNAKE_CASE__    )
    else:
        __lowerCamelCase          =  argparse.ArgumentParser('''Accelerate config command'''    ,  description=SCREAMING_SNAKE_CASE__    )

    parser.add_argument(
        '''--config_file'''    ,  default=SCREAMING_SNAKE_CASE__    ,  help=(
            '''The path to use to store the config file. Will default to a file named default_config.yaml in the cache '''
            '''location, which is the content of the environment `HF_HOME` suffixed with \'accelerate\', or if you don\'t have '''
            '''such an environment variable, your cache directory (\'~/.cache\' or the content of `XDG_CACHE_HOME`) suffixed '''
            '''with \'huggingface\'.'''
        )    ,  )

    if subparsers is not None:
        parser.set_defaults(func=SCREAMING_SNAKE_CASE__    )
    return parser






def __lowerCAmelCase			(							UpperCamelCase__    )     ->   Any:
    __lowerCamelCase          =  get_user_input()
    if args.config_file is not None:
        __lowerCamelCase          =  args.config_file
    else:
        if not os.path.isdir(SCREAMING_SNAKE_CASE__    ):
            os.makedirs(SCREAMING_SNAKE_CASE__    )
        __lowerCamelCase          =  default_yaml_config_file

    if config_file.endswith('''.json'''    ):
        config.to_json_file(SCREAMING_SNAKE_CASE__    )
    else:
        config.to_yaml_file(SCREAMING_SNAKE_CASE__    )
    print(f"""accelerate configuration saved at {config_file}"""    )






def __lowerCAmelCase			(							)     ->   int:
    __lowerCamelCase          =  config_command_parser()
    __lowerCamelCase          =  parser.parse_args()
    config_command(SCREAMING_SNAKE_CASE__    )


if __name__ == "__main__":
  main()

'''simple docstring'''




from __future__ import annotations

from typing import Any






def __lowerCAmelCase			(							UpperCamelCase__    )     ->   None:
    create_state_space_tree(UpperCamelCase__    ,  []    ,  0    )






def __lowerCAmelCase			(							UpperCamelCase__    ,  UpperCamelCase__    ,  UpperCamelCase__    )     ->   None:

    if index == len(UpperCamelCase__    ):
        print(UpperCamelCase__    )
        return

    create_state_space_tree(UpperCamelCase__    ,  UpperCamelCase__    ,  index + 1    )
    current_subsequence.append(sequence[index]    )
    create_state_space_tree(UpperCamelCase__    ,  UpperCamelCase__    ,  index + 1    )
    current_subsequence.pop()


if __name__ == "__main__":
  __UpperCAmelCase												=[3, 1, 2, 4]
  generate_all_subsequences(seq)

  seq.clear()
  seq.extend(["A", "B", "C"])
  generate_all_subsequences(seq)
