def METHOD_NAME(source: alt.Chart, subset: List[str], name: str) -> alt.Chart:
    chart = source.transform_filter(
        alt.FieldOneOfPredicate(field="airport", oneOf=subset)
    )
    highlight = alt.selection(
        type="single", nearest=True, on="mouseover", fields=["airport"]
    )
    points = (
        chart.mark_point()
        .encode(
            x="day",
            y=alt.Y("count", title="# of departing flights"),
            color=alt.Color("airport", legend=alt.Legend(title=name)),
            tooltip=["day", "airport", "city", "count"],
            opacity=alt.value(0),
        )
        .add_selection(highlight)
    )
    lines = (
        chart.mark_line()
        .encode(
            x="day",
            y="count",
            color="airport",
            size=alt.condition(~highlight, alt.value(1), alt.value(3)),
        )
        .transform_loess("day", "count", groupby=["airport"], bandwidth=0.05)
    )
    return lines + points