﻿£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyÊ¦•êŽ…È®FÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~èŠ©ÊÇí`ÔÑ©úë™µ'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶ê×Ó¼ãžªéUWŸÈË%DÒÕ¬ï‘]/Åcx  ‰ï2ß]ä6G[]S£ÔÏ¯rs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ                  ¯¹ægƒÛowÐø^d™ý½ßB7áyMä9ÜÖUã
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<html>
import datetime
from .utils import format_rfc3339

try:
    _string_types = (str, unicode)
    _int_types = (int, long)
except NameError:
    _string_types = str
    _int_types = int

def translate_to_test(v):
    if isinstance(v, dict):
        return { k: translate_to_test(v) for k, v in v.items() }
    if isinstance(v, list):
        a = [translate_to_test(x) for x in v]
        if v and isinstance(v[0], dict):
            return a
        else:
            return {'type': 'array', 'value': a}
    if isinstance(v, datetime.datetime):
        return {'type': 'datetime', 'value': format_rfc3339(v)}
    if isinstance(v, bool):
        return {'type': 'bool', 'value': 'true' if v else 'false'}
    if isinstance(v, _int_types):
        return {'type': 'integer', 'value': str(v)}
    if isinstance(v, float):
        return {'type': 'float', 'value': '{:.17}'.format(v)}
    if isinstance(v, _string_types):
        return {'type': 'string', 'value': v}
    raise RuntimeError('unexpected value: {!r}'.format(v))
