def _parse_blast(jsondata: dict) -> dict:
    """
    Parse BLAST results and clean up final outputs.

    Args:
        jsondata (dict): the parsed BLAST results

    Returns:
        dict: BLAST results with reduced redundancy
    """
    results = {"program": None, 'queries': {}}
    for row in jsondata['BlastOutput2']:
        report = row['report']
        if not results["program"]:
            results['program'] = report['program']
            results['version'] = report['version']
            results['db'] = report['search_target']['db']
            results['params'] = report['params']

        search = report['results']['search']
        query_id = search['query_id']
        if query_id not in results['queries']:
            results['queries'][query_id] = {'query_len': search['query_len'], 'hits': [], 'message': ''}

        if 'query_title' in search:
            results['queries'][query_id]['query_title'] = search['query_title'],

        if search['hits']:
            for hit in search['hits']:
                results['queries'][query_id]['hits'].append({
                    'subject_title': hit['description'][0]['title'].split()[0],
                    'subject_len': hit['len'],
                    'hsps': hit['hsps']
                })
        
        if 'message' in search:
            results['queries'][query_id]['message'] = search['message']
    return results