code: def _parse_args(args: List[str]) -> _UpdateArgumentsRunConfig:
      
      parser = argparse.ArgumentParser(
          prog="gitlab-update-variables", description="Tool for setting a GitLab project's build variables")
      add_common_arguments(parser)
      parser.add_argument("config_location", type=str, help="Location of the configuration file")
      parser.add_argument("--setting-repository", dest="setting_repository", nargs="+", type=str,
                          help="Directory from which variable settings groups may be sourced")
      parser.add_argument("--default-setting-extension", dest="default_setting_extensions",nargs="+", type=str,
                          help="Extensions to try adding to the variable to source location if it does not exist")
  
      arguments = parser.parse_args(args)
      return _UpdateArgumentsRunConfig(
          arguments.config_location, arguments.setting_repository, arguments.default_setting_extensions,
          url=arguments.url, token=arguments.token, debug=arguments.debug)
docs: Parses the given CLI arguments to get a run configuration.
      :param args: CLI arguments
      :return: run configuration derived from the given CLI arguments