<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def decode_async_options(options):
 """Decode Async options from JSON decoding."""

    async_options = copy.deepcopy(options)

    # JSON don't like datetimes.
    eta = async_options.get('task_args', {}).get('eta')
    if eta:
        from datetime import datetime

        async_options['task_args']['eta'] = datetime.fromtimestamp(eta)

    # If there are callbacks, reconstitute them.
    callbacks = async_options.get('callbacks', {})
    if callbacks:
        async_options['callbacks'] = decode_callbacks(callbacks)

    if '__context_checker' in options:
        _checker = options['__context_checker']
        async_options['_context_checker'] = path_to_reference(_checker)

    if '__process_results' in options:
        _processor = options['__process_results']
        async_options['_process_results'] = path_to_reference(_processor)
    return async_options