def  extract_relic_info(soup):
    """
    Extracts relic information from dedicated relic page.
        return: {
        'relic name': {
            'drops': [Parts],
            'drop_locations': [
                {
                    'mission_type': mission,
                    'tier': tier,
                    'rotation': rotation,
                    'chance': chance
                }
            ]
        }
    }
    """

    drop_table = soup.find('table', {'class': 'emodtable'})
    drop_table_rows = drop_table.findChildren('tr', recursive=False)

    drop_items = drop_table_rows[1:7]
    item_names = list(map(lambda r: r.find('td').text.strip(), drop_items))

    drop_loc_table = drop_table_rows[-1].find('table')
    drop_loc_rows = drop_loc_table.findAll('tr', recursive=False)[1:]

    def extract_drop_info(r):
        info = list(map(lambda cell: cell.text.strip(), r.findAll('td')))
        return {
            "tier": info[1],
            "mission_type": info[0], 
            "chance": info[3], 
            "rotation": info[2]
        }

    drop_locations = list(map(extract_drop_info, drop_loc_rows))

    return {
        'drops': item_names,
        'drop_locations': drop_locations
    }