def METHOD_NAME(
        page: ExercisePage,
        remote_page: RemotePage,
        exercise: 'LearningObject',
        ) -> None:
    """
    Parses exercise page elements.
    """
    page.is_loaded = True
    max_points = remote_page.meta("max-points")
    if max_points is not None:
        page.max_points = int(max_points)
    max_points = remote_page.meta("max_points")
    if max_points is not None:
        page.max_points = int(max_points)
    s = remote_page.meta("status")
    if s == "accepted":
        page.is_accepted = True
        if remote_page.meta("wait"):
            page.is_wait = True
    elif s == "rejected":
        page.is_rejected = True
    meta_title = remote_page.meta("DC.Title")
    if meta_title:
        page.meta["title"] = meta_title
    else:
        page.meta["title"] = remote_page.title()
    description = remote_page.meta("DC.Description")
    if description:
        page.meta["description"] = description
    points = remote_page.meta("points")
    if points is not None:
        page.points = int(points)
        page.is_graded = True
        page.is_accepted = True
        page.is_wait = False
    remote_page.fix_relative_urls()
    remote_page.find_and_replace('data-aplus-exercise', [{
        'id': ('chapter-exercise-' + str(o.order)),
        'data-aplus-exercise': o.get_absolute_url(),
    } for i,o in enumerate(exercise.children.all())])
    page.head = remote_page.head({'data-aplus':True})
    element_selectors = (
        {'id':'aplus'},
        {'id':'exercise'},
        {'id':'chapter'},
        {'class':'entry-content'},
    )
    id_attrs_to_remove = ('exercise', 'chapter', 'aplus')
    page.content, page.clean_content = remote_page.element_or_body(element_selectors, id_attrs_to_remove)
    page.last_modified = remote_page.last_modified()
    page.expires = remote_page.expires()