<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def parse_rune_links(html: str) -> dict: """A function which parses the main Runeforge website into dict format. Parameters html : str The string representation of the html obtained via a GET request. Returns ------- dict The nested rune_links champ rune pages from runeforge. """

    soup = BeautifulSoup(html, 'lxml')

    # Champs with only a single runepage
    single_page_raw = soup.find_all('li', class_='champion')
    single_page = {re.split('\W+', x.a.div.div['style'])[-3].lower():
                       [x.a['href']] for x in single_page_raw if x.a is not None}

    # Champs with two (or more) runepages
    double_page_raw = soup.find_all('div', class_='champion-modal-open')
    # This is JSON data which just needs to be decoded
    double_page_decode = [json.loads(x['data-loadouts']) for x in double_page_raw]
    # This lowers the champ name in the structure, 
    # and pulls out the champ links, after it's been decoded
    double_page = {re.sub('[^A-Za-z0-9]+', '', x[0]['champion'].lower()):
                       [x[0]['link'], x[1]['link']] for x in double_page_decode}

    # Combine the two dicts
    champs_combined = {**single_page, **double_page}

    return champs_combined