def parse_ids(ids_string):
    """
    Parse a list of icon object IDs.
    :param ids_string: extract command output string list of icon object IDs (e.g. `"1-3, 23, 99-123"`)
    :return: list of icon object IDs as ints (e.g. `[1, 2, 3, 23, 99, 100, ...]`)
    """
    ids = []
    for id_string in ids_string.split(', '):
        if '-' in id_string:
            ids_range = id_string.split('-')
            first = int(ids_range[0])
            last = int(ids_range[1])
            ids.extend(range(first, last + 1))
        else:
            ids.append(int(id_string))
    return ids