def parse_output_table(txt):
    """
    Returns list of dictionary values that maps tsv output with a header row
    """
    lines = txt.splitlines()

    header = lines[0].lower()
    tokens = [h.replace(" ", "_") for h in header.split()]

    parse_list = []
    for token in tokens:
        i_token = header.index(token)
        parse_list.append(dict(token=token, i=i_token))
    for i in range(len(tokens) - 1):
        parse_list[i]["j"] = parse_list[i + 1]["i"]
    parse_list[-1]["j"] = len(header) + 100

    rows = []
    for line in lines[1:]:
        row = {}
        for parse in parse_list:
            val = line[parse["i"] : parse["j"]]
            row[parse["token"]] = val.strip()
        rows.append(row)

    return rows