from typing import List
from typing import Callable
from typing import Tuple


def _parse_input_vars(line: List[str], getline_fn: Callable[[], List[str]]) -> Tuple[List[str], List[str]]:
    """ Given the current line, continue to parse all input names.
    :param line: the split line to start
    :param getline_fn: call to get the next line from file
    :return: the parsed input variable names, and the next line to parse subsequently
    """
    _input_vars = []
    while True:
        if len(line) != 2:
            break

        assert line[0] == 'Input'
        _input_vars.append(line[1])
        line = getline_fn()
    return _input_vars, line