def load_user_config(vcs):
config_path = os.path.join(vcs.path, '<STR_LIT>')<EOL>if not os.path.exists(config_path):<EOL><INDENT>raise ConfigNotFoundError<EOL><DEDENT>with open(config_path, '<STR_LIT:r>') as f:<EOL><INDENT>try:<EOL><INDENT>config = yaml.safe_load(f)<EOL><DEDENT>except yaml.YAMLError:<EOL><INDENT>raise ConfigFormatError<EOL><DEDENT><DEDENT>if not isinstance(config, dict):<EOL><INDENT>raise ConfigFormatError<EOL><DEDENT>for k, v in _default_config.iteritems():<EOL><INDENT>config.setdefault(k, v)<EOL><DEDENT>for k, v in _config_types.iteritems():<EOL><INDENT>if not isinstance(config[k], v):<EOL><INDENT>raise ConfigFormatError<EOL><DEDENT><DEDENT>return config<EOL>
Load the user config

    Args:
        vcs (easyci.vcs.base.Vcs) - the vcs object for the current project

    Returns:
        dict - the config

    Raises:
        ConfigFormatError
        ConfigNotFoundError