human
Complete this python program:
def get_local_addresses_async(target='198.41.0.4'):
assistant
#Here is the Python program you requested.

    """Return a Deferred that fires with a list of IPv4 addresses (as dotted-quad
    strings) that are currently configured on this host, sorted in descending
    order of how likely we think they are to work.
    @param target: we want to learn an IP address they could try using to
    connect to us; The default value is fine, but it might help if you
    pass the address of a host that you are actually trying to be
    reachable to.
    """
    addresses = []
    local_ip = get_local_ip_for(target)
    if local_ip:
        addresses.append(local_ip)
    if (sys.platform == 'cygwin'):
        d = _cygwin_hack_find_addresses(target)
    else:
        d = _find_addresses_via_config()
    def _collect(res):
        for addr in res:
            if ((addr != '0.0.0.0') and (not (addr in addresses))):
                addresses.append(addr)
        return addresses
    d.addCallback(_collect)
    return d