<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def details_dict(obj, existing, ignore_missing, opt):
 """Output the changes, if any, for a dict"""

    existing = dict_unicodeize(existing)
    obj = dict_unicodeize(obj)
    for ex_k, ex_v in iteritems(existing):
        new_value = normalize_val(obj.get(ex_k))
        og_value = normalize_val(ex_v)
        if ex_k in obj and og_value != new_value:
            print(maybe_colored("-- %s: %s" % (ex_k, og_value),
                                'red', opt))
            print(maybe_colored("++ %s: %s" % (ex_k, new_value),
                                'green', opt))

        if (not ignore_missing) and (ex_k not in obj):
            print(maybe_colored("-- %s: %s" % (ex_k, og_value),
                                'red', opt))

    for ob_k, ob_v in iteritems(obj):
        val = normalize_val(ob_v)
        if ob_k not in existing:
            print(maybe_colored("++ %s: %s" % (ob_k, val),
                                'green', opt))

    return