<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_data_slots(value):
 """Parse data-slots value into slots used to wrap node, prepend to node or append to node. ([], [], []) (['foo', 'bar'], [], []) (['foo', 'bar'], ['foobar'], []) ([], ['foobar'], []) ([], ['foo'], ['bar']) (['foobar'], ['foo'], ['bar']) (['foo'], [], ['bar']) """

    value = unquote(value)
    if '>' in value:
        wrappers, children = value.split('>', 1)
    else:
        wrappers = value
        children = ''
    if '*' in children:
        prepends, appends = children.split('*', 1)
    else:
        prepends = children
        appends = ''

    wrappers = list(filter(bool, list(map(str.strip, wrappers.split()))))
    prepends = list(filter(bool, list(map(str.strip, prepends.split()))))
    appends = list(filter(bool, list(map(str.strip, appends.split()))))

    return wrappers, prepends, appends