let con3 = console.log
let con4 = console.log
con3 = function () {
}
con4 = function () {
}
let sortRandom = function() {
    return .5 - _random();
}
function protectProp(target){
    let r = {}
    Object.keys(Object.getOwnPropertyDescriptors(target.prototype)).forEach(e => {
        r[e] = {}
        if (Object.getOwnPropertyDescriptor(target.prototype, e)['value']) {
            r[e]['value'] = v_saf(Object.getOwnPropertyDescriptor(target.prototype, e)['value'])
        }

        if (Object.getOwnPropertyDescriptor(target.prototype, e)['get']) {
            r[e]['get'] = v_saf(Object.getOwnPropertyDescriptor(target.prototype, e)['get'], undefined, 'get ')
        }
        if (Object.getOwnPropertyDescriptor(target.prototype, e)['set']) {
            r[e]['set'] = v_saf(Object.getOwnPropertyDescriptor(target.prototype, e)['set'], undefined, 'set ')
        }
        r[e]['enumerable'] = true
    })
    Object.defineProperties(target.prototype, r)
    return target;
}
print = console.log
var _random = Math.random
_process = process;
let scales = [0.95,0.75,0.85,0.9,0.8,0.7]
let scale = scales[parseInt(_random() * scales.length)]
scale = 1;
const Canvas = require('canvas')
const {
    Worker, isMainThread, parentPort, workerData
} = require('worker_threads');
var v_saf;
!function () {
    var n = Function.toString, t = [], i = [], o = [].indexOf.bind(t), e = [].push.bind(t), r = [].push.bind(i);

    function u(n, t) {
        return -1 == o(n) && (e(n), r(`function ${t || n.name || ""}() { [native code] }`)), n
    }

    Object.defineProperty(Function.prototype, "toString", {
        enumerable: !1,
        configurable: !0,
        writable: !0,
        value: function () {
            return "function" == typeof this && i[o(this)] || n.call(this)
        }
    }), u(Function.prototype.toString, "toString"), v_saf = u
}();
const fss = require("fs");
var ENVS = JSON.parse(fss.readFileSync('env.json').toString())
// dc6a639f12738c9276d68c74
let keys = Object.keys(ENVS);
for (let i = 0; i < keys.length; i++) {
    console.log(keys[i], ENVS[keys[i]].navigatorparams.useragent)

}

let timeout = false;
let randomEvent = false;

let sid = process.argv[2] || keys[parseInt(Math.random() * keys.length)]
// let sid = process.argv[2] || 'a74b38e7115cf4d1b1f6976c';
// sid = 'f9755a246dc4bd1e073e0361'
if (process.argv[3]){
    console.log =  function(){}
}

// sid = "b93e97591189a5841d0288ba"
let ENV = ENVS[sid]
























// ENV = {"windowparams":{"innerheight":938,"innerwidth":1920,"outerheight":1055,"outerwidth":1920,"screenx":1728,"screeny":25,"screentop":25,"screenleft":1728,"pageyoffset":0,"devicepixelratio":1},"screenparams":{"height":1080,"width":1920,"availheight":1055,"availwidth":1920,"pixeldepth":24,"colordepth":24,"availtop":25,"availleft":1728},"navigatorparams":{"appname":"Netscape","appncodename":"Mozilla","appversion":"5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36","appcodename":"Mozilla","hardwareconcurrency":10,"maxtouchpoints":0,"platform":"MacIntel","product":"Gecko","productsub":"20030107","useragent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36","vendor":"Google Inc.","vendorsub":"","donottrack":null,"oscpu":"","buildid":""},"featurepolicy":{"features":["geolocation","storage-access","gamepad","ch-ect","midi","display-capture","usb","browsing-topics","local-fonts","picture-in-picture","join-ad-interest-group","publickey-credentials-get","otp-credentials","ch-ua-form-factor","encrypted-media","ch-save-data","ch-ua-full-version-list","ch-ua-wow64","shared-storage","ch-downlink","ch-prefers-color-scheme","sync-xhr","ch-ua-model","serial","camera","ch-prefers-reduced-motion","private-state-token-issuance","bluetooth","identity-credentials-get","ch-ua-full-version","fullscreen","ch-dpr","unload","keyboard-map","ch-ua-platform","shared-storage-select-url","gyroscope","interest-cohort","window-placement","ch-ua-mobile","ch-ua","run-ad-auction","magnetometer","accelerometer","private-state-token-redemption","ch-ua-arch","xr-spatial-tracking","idle-detection","ch-ua-platform-version","ch-width","clipboard-read","ch-viewport-width","payment","ch-viewport-height","ch-rtt","autoplay","cross-origin-isolated","hid","ch-ua-bitness","screen-wake-lock","private-aggregation","clipboard-write","attribution-reporting","ch-device-memory","microphone"],"allowedfeatures":["geolocation","storage-access","gamepad","ch-ect","midi","display-capture","usb","browsing-topics","local-fonts","picture-in-picture","join-ad-interest-group","publickey-credentials-get","otp-credentials","ch-ua-form-factor","encrypted-media","ch-save-data","ch-ua-full-version-list","ch-ua-wow64","shared-storage","ch-downlink","ch-prefers-color-scheme","sync-xhr","ch-ua-model","serial","camera","ch-prefers-reduced-motion","private-state-token-issuance","bluetooth","identity-credentials-get","ch-ua-full-version","fullscreen","ch-dpr","unload","keyboard-map","ch-ua-platform","shared-storage-select-url","gyroscope","interest-cohort","window-placement","ch-ua-mobile","ch-ua","run-ad-auction","magnetometer","accelerometer","private-state-token-redemption","ch-ua-arch","xr-spatial-tracking","idle-detection","ch-ua-platform-version","ch-width","clipboard-read","ch-viewport-width","payment","ch-viewport-height","ch-rtt","autoplay","cross-origin-isolated","hid","ch-ua-bitness","screen-wake-lock","private-aggregation","clipboard-write","attribution-reporting","ch-device-memory","microphone"]},"plugins":{"0":{"0":{"description":"Portable Document Format","suffixes":"pdf","type":"application/pdf","enabledPlugin":[]},"1":{"description":"Portable Document Format","suffixes":"pdf","type":"text/pdf","enabledPlugin":[]},"application/pdf":{"description":"Portable Document Format","suffixes":"pdf","type":"application/pdf","enabledPlugin":[]},"text/pdf":{"description":"Portable Document Format","suffixes":"pdf","type":"text/pdf","enabledPlugin":[]},"description":"Portable Document Format","filename":"internal-pdf-viewer","length":2,"name":"PDF Viewer"},"1":{"0":{"description":"Portable Document Format","suffixes":"pdf","type":"application/pdf","enabledPlugin":[]},"1":{"description":"Portable Document Format","suffixes":"pdf","type":"text/pdf","enabledPlugin":[]},"application/pdf":{"description":"Portable Document Format","suffixes":"pdf","type":"application/pdf","enabledPlugin":[]},"text/pdf":{"description":"Portable Document Format","suffixes":"pdf","type":"text/pdf","enabledPlugin":[]},"description":"Portable Document Format","filename":"internal-pdf-viewer","length":2,"name":"Chrome PDF Viewer"},"2":{"0":{"description":"Portable Document Format","suffixes":"pdf","type":"application/pdf","enabledPlugin":[]},"1":{"description":"Portable Document Format","suffixes":"pdf","type":"text/pdf","enabledPlugin":[]},"application/pdf":{"description":"Portable Document Format","suffixes":"pdf","type":"application/pdf","enabledPlugin":[]},"text/pdf":{"description":"Portable Document Format","suffixes":"pdf","type":"text/pdf","enabledPlugin":[]},"description":"Portable Document Format","filename":"internal-pdf-viewer","length":2,"name":"Chromium PDF Viewer"},"3":{"0":{"description":"Portable Document Format","suffixes":"pdf","type":"application/pdf","enabledPlugin":[]},"1":{"description":"Portable Document Format","suffixes":"pdf","type":"text/pdf","enabledPlugin":[]},"application/pdf":{"description":"Portable Document Format","suffixes":"pdf","type":"application/pdf","enabledPlugin":[]},"text/pdf":{"description":"Portable Document Format","suffixes":"pdf","type":"text/pdf","enabledPlugin":[]},"description":"Portable Document Format","filename":"internal-pdf-viewer","length":2,"name":"Microsoft Edge PDF Viewer"},"4":{"0":{"description":"Portable Document Format","suffixes":"pdf","type":"application/pdf","enabledPlugin":[]},"1":{"description":"Portable Document Format","suffixes":"pdf","type":"text/pdf","enabledPlugin":[]},"application/pdf":{"description":"Portable Document Format","suffixes":"pdf","type":"application/pdf","enabledPlugin":[]},"text/pdf":{"description":"Portable Document Format","suffixes":"pdf","type":"text/pdf","enabledPlugin":[]},"description":"Portable Document Format","filename":"internal-pdf-viewer","length":2,"name":"WebKit built-in PDF"}},"mimetypes":[{"description":"Portable Document Format","suffixes":"pdf","type":"application/pdf"},{"description":"Portable Document Format","suffixes":"pdf","type":"text/pdf"}],"fontsres":{"50px  sans-serif":{"0-_{w.":{"width":152.84999084472656,"actualboundingboxascent":41.35000228881836,"actualboundingboxleft":-2.5,"actualboundingboxright":149.3000030517578,"fontboundingboxascent":53,"actualboundingboxdescent":7}},"50px  serif":{"0-_{w.":{"width":132.39996337890625,"actualboundingboxascent":38.70000076293945,"actualboundingboxleft":-1.600000023841858,"actualboundingboxright":129.59996032714844,"fontboundingboxascent":53,"actualboundingboxdescent":6.950000762939453}},"50px 'Andale Mono',  sans-serif":{"0-_{w.":{"width":180.029296875,"actualboundingboxascent":35.107421875,"actualboundingboxleft":-3.5888671875,"actualboundingboxright":167.919921875,"fontboundingboxascent":45,"actualboundingboxdescent":10.888671875}},"50px 'Arial Narrow',  sans-serif":{"0-_{w.":{"width":111.6943359375,"actualboundingboxascent":36.4013671875,"actualboundingboxleft":-1.6357421875,"actualboundingboxright":108.1787109375,"fontboundingboxascent":47,"actualboundingboxdescent":10.5224609375}},"50px 'Arial Unicode MS',  sans-serif":{"0-_{w.":{"width":136.1572265625,"actualboundingboxascent":36.4013671875,"actualboundingboxleft":-2.24609375,"actualboundingboxright":131.7138671875,"fontboundingboxascent":53,"actualboundingboxdescent":10.498046875}},"50px 'Batang',  sans-serif":{"0-_{w.":{"width":152.84999084472656,"actualboundingboxascent":41.35000228881836,"actualboundingboxleft":-2.5,"actualboundingboxright":149.3000030517578,"fontboundingboxascent":53,"actualboundingboxdescent":7}},"50px 'Batang',  serif":{"0-_{w.":{"width":132.39996337890625,"actualboundingboxascent":38.70000076293945,"actualboundingboxleft":-1.600000023841858,"actualboundingboxright":129.59996032714844,"fontboundingboxascent":53,"actualboundingboxdescent":6.950000762939453}},"50px 'Bell MT',  sans-serif":{"0-_{w.":{"width":152.84999084472656,"actualboundingboxascent":41.35000228881836,"actualboundingboxleft":-2.5,"actualboundingboxright":149.3000030517578,"fontboundingboxascent":53,"actualboundingboxdescent":7}},"50px 'Bell MT',  serif":{"0-_{w.":{"width":132.39996337890625,"actualboundingboxascent":38.70000076293945,"actualboundingboxleft":-1.600000023841858,"actualboundingboxright":129.59996032714844,"fontboundingboxascent":53,"actualboundingboxdescent":6.950000762939453}},"50px 'Brush Script',  sans-serif":{"0-_{w.":{"width":152.84999084472656,"actualboundingboxascent":41.35000228881836,"actualboundingboxleft":-2.5,"actualboundingboxright":149.3000030517578,"fontboundingboxascent":53,"actualboundingboxdescent":7}},"50px 'Brush Script',  serif":{"0-_{w.":{"width":132.39996337890625,"actualboundingboxascent":38.70000076293945,"actualboundingboxleft":-1.600000023841858,"actualboundingboxright":129.59996032714844,"fontboundingboxascent":53,"actualboundingboxdescent":6.950000762939453}},"50px 'Brush Script MT',  sans-serif":{"0-_{w.":{"width":133.740234375,"actualboundingboxascent":32.958984375,"actualboundingboxleft":-0.29296875,"actualboundingboxright":124.4873046875,"fontboundingboxascent":44,"actualboundingboxdescent":13.9892578125}},"50px 'Calibri',  sans-serif":{"0-_{w.":{"width":152.84999084472656,"actualboundingboxascent":41.35000228881836,"actualboundingboxleft":-2.5,"actualboundingboxright":149.3000030517578,"fontboundingboxascent":53,"actualboundingboxdescent":7}},"50px 'Calibri',  serif":{"0-_{w.":{"width":132.39996337890625,"actualboundingboxascent":38.70000076293945,"actualboundingboxleft":-1.600000023841858,"actualboundingboxright":129.59996032714844,"fontboundingboxascent":53,"actualboundingboxdescent":6.950000762939453}},"50px 'Charter',  sans-serif":{"0-_{w.":{"width":139.55078125,"actualboundingboxascent":35.15625,"actualboundingboxleft":-2.05078125,"actualboundingboxright":135.7666015625,"fontboundingboxascent":49,"actualboundingboxdescent":11.7919921875}},"50px 'Courier',  sans-serif":{"0-_{w.":{"width":180.029296875,"actualboundingboxascent":31.640625,"actualboundingboxleft":-5.0048828125,"actualboundingboxright":169.82421875,"fontboundingboxascent":46,"actualboundingboxdescent":11.7919921875}},"50px 'Courier New',  sans-serif":{"0-_{w.":{"width":180.029296875,"actualboundingboxascent":31.3720703125,"actualboundingboxleft":-5.5908203125,"actualboundingboxright":168.798828125,"fontboundingboxascent":42,"actualboundingboxdescent":13.6962890625}},"50px 'Curlz MT',  sans-serif":{"0-_{w.":{"width":152.84999084472656,"actualboundingboxascent":41.35000228881836,"actualboundingboxleft":-2.5,"actualboundingboxright":149.3000030517578,"fontboundingboxascent":53,"actualboundingboxdescent":7}},"50px 'Curlz MT',  serif":{"0-_{w.":{"width":132.39996337890625,"actualboundingboxascent":38.70000076293945,"actualboundingboxleft":-1.600000023841858,"actualboundingboxright":129.59996032714844,"fontboundingboxascent":53,"actualboundingboxdescent":6.950000762939453}},"50px 'DejaVu Sans',  sans-serif":{"0-_{w.":{"width":152.84999084472656,"actualboundingboxascent":41.35000228881836,"actualboundingboxleft":-2.5,"actualboundingboxright":149.3000030517578,"fontboundingboxascent":53,"actualboundingboxdescent":7}},"50px 'DejaVu Sans',  serif":{"0-_{w.":{"width":132.39996337890625,"actualboundingboxascent":38.70000076293945,"actualboundingboxleft":-1.600000023841858,"actualboundingboxright":129.59996032714844,"fontboundingboxascent":53,"actualboundingboxdescent":6.950000762939453}},"50px 'DejaVu Sans Mono',  sans-serif":{"0-_{w.":{"width":152.84999084472656,"actualboundingboxascent":41.35000228881836,"actualboundingboxleft":-2.5,"actualboundingboxright":149.3000030517578,"fontboundingboxascent":53,"actualboundingboxdescent":7}},"50px 'DejaVu Sans Mono',  serif":{"0-_{w.":{"width":132.39996337890625,"actualboundingboxascent":38.70000076293945,"actualboundingboxleft":-1.600000023841858,"actualboundingboxright":129.59996032714844,"fontboundingboxascent":53,"actualboundingboxdescent":6.950000762939453}},"50px 'DejaVu Serif Condensed',  sans-serif":{"0-_{w.":{"width":152.84999084472656,"actualboundingboxascent":41.35000228881836,"actualboundingboxleft":-2.5,"actualboundingboxright":149.3000030517578,"fontboundingboxascent":53,"actualboundingboxdescent":7}},"50px 'DejaVu Serif Condensed',  serif":{"0-_{w.":{"width":132.39996337890625,"actualboundingboxascent":38.70000076293945,"actualboundingboxleft":-1.600000023841858,"actualboundingboxright":129.59996032714844,"fontboundingboxascent":53,"actualboundingboxdescent":6.950000762939453}},"50px 'Droid Sans',  sans-serif":{"0-_{w.":{"width":152.84999084472656,"actualboundingboxascent":41.35000228881836,"actualboundingboxleft":-2.5,"actualboundingboxright":149.3000030517578,"fontboundingboxascent":53,"actualboundingboxdescent":7}},"50px 'Droid Sans',  serif":{"0-_{w.":{"width":132.39996337890625,"actualboundingboxascent":38.70000076293945,"actualboundingboxleft":-1.600000023841858,"actualboundingboxright":129.59996032714844,"fontboundingboxascent":53,"actualboundingboxdescent":6.950000762939453}},"50px 'Droid Sans Fallback',  sans-serif":{"0-_{w.":{"width":152.84999084472656,"actualboundingboxascent":41.35000228881836,"actualboundingboxleft":-2.5,"actualboundingboxright":149.3000030517578,"fontboundingboxascent":53,"actualboundingboxdescent":7}},"50px 'Droid Sans Fallback',  serif":{"0-_{w.":{"width":132.39996337890625,"actualboundingboxascent":38.70000076293945,"actualboundingboxleft":-1.600000023841858,"actualboundingboxright":129.59996032714844,"fontboundingboxascent":53,"actualboundingboxdescent":6.950000762939453}},"50px 'Droid Serif',  sans-serif":{"0-_{w.":{"width":152.84999084472656,"actualboundingboxascent":41.35000228881836,"actualboundingboxleft":-2.5,"actualboundingboxright":149.3000030517578,"fontboundingboxascent":53,"actualboundingboxdescent":7}},"50px 'Droid Serif',  serif":{"0-_{w.":{"width":132.39996337890625,"actualboundingboxascent":38.70000076293945,"actualboundingboxleft":-1.600000023841858,"actualboundingboxright":129.59996032714844,"fontboundingboxascent":53,"actualboundingboxdescent":6.950000762939453}},"50px 'Forte',  sans-serif":{"0-_{w.":{"width":152.84999084472656,"actualboundingboxascent":41.35000228881836,"actualboundingboxleft":-2.5,"actualboundingboxright":149.3000030517578,"fontboundingboxascent":53,"actualboundingboxdescent":7}},"50px 'Forte',  serif":{"0-_{w.":{"width":132.39996337890625,"actualboundingboxascent":38.70000076293945,"actualboundingboxleft":-1.600000023841858,"actualboundingboxright":129.59996032714844,"fontboundingboxascent":53,"actualboundingboxdescent":6.950000762939453}},"50px 'Futura',  sans-serif":{"0-_{w.":{"width":139.35546875,"actualboundingboxascent":41.650390625,"actualboundingboxleft":-2.1240234375,"actualboundingboxright":135.0341796875,"fontboundingboxascent":52,"actualboundingboxdescent":10.44921875}},"50px 'Geneva',  sans-serif":{"0-_{w.":{"width":162.3046875,"actualboundingboxascent":40.1611328125,"actualboundingboxleft":-2.83203125,"actualboundingboxright":157.9345703125,"fontboundingboxascent":50,"actualboundingboxdescent":9.08203125}},"50px 'Hei',  sans-serif":{"0-_{w.":{"width":153.41796875,"actualboundingboxascent":38.3544921875,"actualboundingboxleft":-2.294921875,"actualboundingboxright":150.3662109375,"fontboundingboxascent":40,"actualboundingboxdescent":5.0048828125}},"50px 'Leelawadee',  sans-serif":{"0-_{w.":{"width":152.84999084472656,"actualboundingboxascent":41.35000228881836,"actualboundingboxleft":-2.5,"actualboundingboxright":149.3000030517578,"fontboundingboxascent":53,"actualboundingboxdescent":7}},"50px 'Leelawadee',  serif":{"0-_{w.":{"width":132.39996337890625,"actualboundingboxascent":38.70000076293945,"actualboundingboxleft":-1.600000023841858,"actualboundingboxright":129.59996032714844,"fontboundingboxascent":53,"actualboundingboxdescent":6.950000762939453}},"50px 'Levenim MT',  sans-serif":{"0-_{w.":{"width":152.84999084472656,"actualboundingboxascent":41.35000228881836,"actualboundingboxleft":-2.5,"actualboundingboxright":149.3000030517578,"fontboundingboxascent":53,"actualboundingboxdescent":7}},"50px 'Levenim MT',  serif":{"0-_{w.":{"width":132.39996337890625,"actualboundingboxascent":38.70000076293945,"actualboundingboxleft":-1.600000023841858,"actualboundingboxright":129.59996032714844,"fontboundingboxascent":53,"actualboundingboxdescent":6.950000762939453}},"50px 'Liberation Sans',  sans-serif":{"0-_{w.":{"width":152.84999084472656,"actualboundingboxascent":41.35000228881836,"actualboundingboxleft":-2.5,"actualboundingboxright":149.3000030517578,"fontboundingboxascent":53,"actualboundingboxdescent":7}},"50px 'Liberation Sans',  serif":{"0-_{w.":{"width":132.39996337890625,"actualboundingboxascent":38.70000076293945,"actualboundingboxleft":-1.600000023841858,"actualboundingboxright":129.59996032714844,"fontboundingboxascent":53,"actualboundingboxdescent":6.950000762939453}},"50px 'Liberation Sans Narrow',  sans-serif":{"0-_{w.":{"width":152.84999084472656,"actualboundingboxascent":41.35000228881836,"actualboundingboxleft":-2.5,"actualboundingboxright":149.3000030517578,"fontboundingboxascent":53,"actualboundingboxdescent":7}},"50px 'Liberation Sans Narrow',  serif":{"0-_{w.":{"width":132.39996337890625,"actualboundingboxascent":38.70000076293945,"actualboundingboxleft":-1.600000023841858,"actualboundingboxright":129.59996032714844,"fontboundingboxascent":53,"actualboundingboxdescent":6.950000762939453}},"50px 'Marlett',  sans-serif":{"0-_{w.":{"width":152.84999084472656,"actualboundingboxascent":41.35000228881836,"actualboundingboxleft":-2.5,"actualboundingboxright":149.3000030517578,"fontboundingboxascent":53,"actualboundingboxdescent":7}},"50px 'Marlett',  serif":{"0-_{w.":{"width":132.39996337890625,"actualboundingboxascent":38.70000076293945,"actualboundingboxleft":-1.600000023841858,"actualboundingboxright":129.59996032714844,"fontboundingboxascent":53,"actualboundingboxdescent":6.950000762939453}},"50px 'Meiryo UI',  sans-serif":{"0-_{w.":{"width":152.84999084472656,"actualboundingboxascent":41.35000228881836,"actualboundingboxleft":-2.5,"actualboundingboxright":149.3000030517578,"fontboundingboxascent":53,"actualboundingboxdescent":7}},"50px 'Meiryo UI',  serif":{"0-_{w.":{"width":132.39996337890625,"actualboundingboxascent":38.70000076293945,"actualboundingboxleft":-1.600000023841858,"actualboundingboxright":129.59996032714844,"fontboundingboxascent":53,"actualboundingboxdescent":6.950000762939453}},"50px 'Microsoft Uighur',  sans-serif":{"0-_{w.":{"width":152.84999084472656,"actualboundingboxascent":41.35000228881836,"actualboundingboxleft":-2.5,"actualboundingboxright":149.3000030517578,"fontboundingboxascent":53,"actualboundingboxdescent":7}},"50px 'Microsoft Uighur',  serif":{"0-_{w.":{"width":132.39996337890625,"actualboundingboxascent":38.70000076293945,"actualboundingboxleft":-1.600000023841858,"actualboundingboxright":129.59996032714844,"fontboundingboxascent":53,"actualboundingboxdescent":6.950000762939453}},"50px 'Microsoft YaHei UI',  sans-serif":{"0-_{w.":{"width":152.84999084472656,"actualboundingboxascent":41.35000228881836,"actualboundingboxleft":-2.5,"actualboundingboxright":149.3000030517578,"fontboundingboxascent":53,"actualboundingboxdescent":7}},"50px 'Microsoft YaHei UI',  serif":{"0-_{w.":{"width":132.39996337890625,"actualboundingboxascent":38.70000076293945,"actualboundingboxleft":-1.600000023841858,"actualboundingboxright":129.59996032714844,"fontboundingboxascent":53,"actualboundingboxdescent":6.950000762939453}},"50px 'MS Mincho',  sans-serif":{"0-_{w.":{"width":152.84999084472656,"actualboundingboxascent":41.35000228881836,"actualboundingboxleft":-2.5,"actualboundingboxright":149.3000030517578,"fontboundingboxascent":53,"actualboundingboxdescent":7}},"50px 'MS Mincho',  serif":{"0-_{w.":{"width":132.39996337890625,"actualboundingboxascent":38.70000076293945,"actualboundingboxleft":-1.600000023841858,"actualboundingboxright":129.59996032714844,"fontboundingboxascent":53,"actualboundingboxdescent":6.950000762939453}},"50px 'MS UI Gothic',  sans-serif":{"0-_{w.":{"width":152.84999084472656,"actualboundingboxascent":41.35000228881836,"actualboundingboxleft":-2.5,"actualboundingboxright":149.3000030517578,"fontboundingboxascent":53,"actualboundingboxdescent":7}},"50px 'MS UI Gothic',  serif":{"0-_{w.":{"width":132.39996337890625,"actualboundingboxascent":38.70000076293945,"actualboundingboxleft":-1.600000023841858,"actualboundingboxright":129.59996032714844,"fontboundingboxascent":53,"actualboundingboxdescent":6.950000762939453}},"50px 'NanumGothic',  sans-serif":{"0-_{w.":{"width":148.39996337890625,"actualboundingboxascent":38.95000076293945,"actualboundingboxleft":-3.049999952316284,"actualboundingboxright":143.64996337890625,"fontboundingboxascent":46,"actualboundingboxdescent":8.800003051757812}},"50px 'Nirmala UI',  sans-serif":{"0-_{w.":{"width":152.84999084472656,"actualboundingboxascent":41.35000228881836,"actualboundingboxleft":-2.5,"actualboundingboxright":149.3000030517578,"fontboundingboxascent":53,"actualboundingboxdescent":7}},"50px 'Nirmala UI',  serif":{"0-_{w.":{"width":132.39996337890625,"actualboundingboxascent":38.70000076293945,"actualboundingboxleft":-1.600000023841858,"actualboundingboxright":129.59996032714844,"fontboundingboxascent":53,"actualboundingboxdescent":6.950000762939453}},"50px 'Palatino',  sans-serif":{"0-_{w.":{"width":132.91015625,"actualboundingboxascent":36.3037109375,"actualboundingboxleft":-1.513671875,"actualboundingboxright":129.5654296875,"fontboundingboxascent":41,"actualboundingboxdescent":8.69140625}},"50px 'Papyrus',  sans-serif":{"0-_{w.":{"width":139.84375,"actualboundingboxascent":34.08203125,"actualboundingboxleft":-1.66015625,"actualboundingboxright":136.1572265625,"fontboundingboxascent":47,"actualboundingboxdescent":10.2783203125}},"50px 'PMingLiU',  sans-serif":{"0-_{w.":{"width":152.84999084472656,"actualboundingboxascent":41.35000228881836,"actualboundingboxleft":-2.5,"actualboundingboxright":149.3000030517578,"fontboundingboxascent":53,"actualboundingboxdescent":7}},"50px 'PMingLiU',  serif":{"0-_{w.":{"width":132.39996337890625,"actualboundingboxascent":38.70000076293945,"actualboundingboxleft":-1.600000023841858,"actualboundingboxright":129.59996032714844,"fontboundingboxascent":53,"actualboundingboxdescent":6.950000762939453}},"50px 'PT Serif',  sans-serif":{"0-_{w.":{"width":134.0999755859375,"actualboundingboxascent":35.60000228881836,"actualboundingboxleft":-1.75,"actualboundingboxright":130.54998779296875,"fontboundingboxascent":51,"actualboundingboxdescent":11.5}},"50px 'SimHei',  sans-serif":{"0-_{w.":{"width":152.84999084472656,"actualboundingboxascent":41.35000228881836,"actualboundingboxleft":-2.5,"actualboundingboxright":149.3000030517578,"fontboundingboxascent":53,"actualboundingboxdescent":7}},"50px 'SimHei',  serif":{"0-_{w.":{"width":132.39996337890625,"actualboundingboxascent":38.70000076293945,"actualboundingboxleft":-1.600000023841858,"actualboundingboxright":129.59996032714844,"fontboundingboxascent":53,"actualboundingboxdescent":6.950000762939453}},"50px 'STIXVariants',  sans-serif":{"0-_{w.":{"width":140.84999084472656,"actualboundingboxascent":41.35000228881836,"actualboundingboxleft":-2.5,"actualboundingboxright":137.3000030517578,"fontboundingboxascent":53,"actualboundingboxdescent":12.200000762939453}},"50px 'STSong',  sans-serif":{"0-_{w.":{"width":132.94996643066406,"actualboundingboxascent":38.70000076293945,"actualboundingboxleft":-1.649999976158142,"actualboundingboxright":130.0999755859375,"fontboundingboxascent":43,"actualboundingboxdescent":6.950000762939453}},"50px 'Traditional Arabic',  sans-serif":{"0-_{w.":{"width":152.84999084472656,"actualboundingboxascent":41.35000228881836,"actualboundingboxleft":-2.5,"actualboundingboxright":149.3000030517578,"fontboundingboxascent":53,"actualboundingboxdescent":7}},"50px 'Traditional Arabic',  serif":{"0-_{w.":{"width":132.39996337890625,"actualboundingboxascent":38.70000076293945,"actualboundingboxleft":-1.600000023841858,"actualboundingboxright":129.59996032714844,"fontboundingboxascent":53,"actualboundingboxdescent":6.950000762939453}},"50px 'Urdu Typesetting',  sans-serif":{"0-_{w.":{"width":152.84999084472656,"actualboundingboxascent":41.35000228881836,"actualboundingboxleft":-2.5,"actualboundingboxright":149.3000030517578,"fontboundingboxascent":53,"actualboundingboxdescent":7}},"50px 'Urdu Typesetting',  serif":{"0-_{w.":{"width":132.39996337890625,"actualboundingboxascent":38.70000076293945,"actualboundingboxleft":-1.600000023841858,"actualboundingboxright":129.59996032714844,"fontboundingboxascent":53,"actualboundingboxdescent":6.950000762939453}},"50px 'Verdana',  sans-serif":{"0-_{w.":{"width":175.4150390625,"actualboundingboxascent":37.98828125,"actualboundingboxleft":-3.3447265625,"actualboundingboxright":169.23828125,"fontboundingboxascent":50,"actualboundingboxdescent":9.5703125}},"50px 'Wingdings',  sans-serif":{"0-_{w.":{"width":311.5966796875,"actualboundingboxascent":39.5751953125,"actualboundingboxleft":-4.2236328125,"actualboundingboxright":307.3974609375,"fontboundingboxascent":45,"actualboundingboxdescent":10.2294921875}},"50px 'Wingdings 3',  sans-serif":{"0-_{w.":{"width":244.5068359375,"actualboundingboxascent":38.9404296875,"actualboundingboxleft":-4.8095703125,"actualboundingboxright":240.3076171875,"fontboundingboxascent":46,"actualboundingboxdescent":2.783203125}},"50px 'Helkevtrica',  sans-serif":{"0-_{w.":{"width":152.84999084472656,"actualboundingboxascent":41.35000228881836,"actualboundingboxleft":-2.5,"actualboundingboxright":149.3000030517578,"fontboundingboxascent":53,"actualboundingboxdescent":7}},"50px 'Helkevtrica',  serif":{"0-_{w.":{"width":132.39996337890625,"actualboundingboxascent":38.70000076293945,"actualboundingboxleft":-1.600000023841858,"actualboundingboxright":129.59996032714844,"fontboundingboxascent":53,"actualboundingboxdescent":6.950000762939453}},"1000px sans-serif":{"₹":{"width":600,"actualboundingboxascent":714,"actualboundingboxleft":-64,"actualboundingboxright":537,"fontboundingboxascent":1060,"actualboundingboxdescent":0},"▁":{"width":1000,"actualboundingboxascent":-11,"actualboundingboxleft":0,"actualboundingboxright":1000,"fontboundingboxascent":1060,"actualboundingboxdescent":140},"₺":{"width":556.15234375,"actualboundingboxascent":702.63671875,"actualboundingboxleft":-45.8984375,"actualboundingboxright":514.16015625,"fontboundingboxascent":1060,"actualboundingboxdescent":2.44140625},"ꜽ":{"width":739.2578125,"actualboundingboxascent":561.03515625,"actualboundingboxleft":-42.96875,"actualboundingboxright":717.28515625,"fontboundingboxascent":1060,"actualboundingboxdescent":211.9140625},"�":{"width":1000,"actualboundingboxascent":875,"actualboundingboxleft":0,"actualboundingboxright":1000,"fontboundingboxascent":1060,"actualboundingboxdescent":125},"₸":{"width":556.15234375,"actualboundingboxascent":696.77734375,"actualboundingboxleft":-22.94921875,"actualboundingboxright":532.2265625,"fontboundingboxascent":1060,"actualboundingboxdescent":0},"׆":{"width":401.5927429199219,"actualboundingboxascent":596.1319580078125,"actualboundingboxleft":-83.04891967773438,"actualboundingboxright":367.4630126953125,"fontboundingboxascent":1060,"actualboundingboxdescent":0},"ẞ":{"width":679.19921875,"actualboundingboxascent":693.84765625,"actualboundingboxleft":-78.61328125,"actualboundingboxright":631.34765625,"fontboundingboxascent":1060,"actualboundingboxdescent":12.6953125},"ॿ":{"width":567,"actualboundingboxascent":642,"actualboundingboxleft":22,"actualboundingboxright":589,"fontboundingboxascent":1060,"actualboundingboxdescent":7},"":{"width":1000,"actualboundingboxascent":0,"actualboundingboxleft":0,"actualboundingboxright":0,"fontboundingboxascent":1060,"actualboundingboxdescent":0},"᳚":{"width":0,"actualboundingboxascent":809,"actualboundingboxleft":377,"actualboundingboxright":-179,"fontboundingboxascent":1060,"actualboundingboxdescent":-598},"៝":{"width":477.05078125,"actualboundingboxascent":890.13671875,"actualboundingboxleft":17.08984375,"actualboundingboxright":475.09765625,"fontboundingboxascent":1060,"actualboundingboxdescent":0},"⎮":{"width":602.05078125,"actualboundingboxascent":769.53125,"actualboundingboxleft":-250.48828125,"actualboundingboxright":347.16796875,"fontboundingboxascent":1060,"actualboundingboxdescent":250},"ം":{"width":385.25390625,"actualboundingboxascent":330.078125,"actualboundingboxleft":-31.25,"actualboundingboxright":344.7265625,"fontboundingboxascent":1060,"actualboundingboxdescent":5.859375},"ஂ":{"width":626.953125,"actualboundingboxascent":746.09375,"actualboundingboxleft":-55.17578125,"actualboundingboxright":571.77734375,"fontboundingboxascent":1060,"actualboundingboxdescent":11.23046875},"ᅚ":{"width":1000,"actualboundingboxascent":0,"actualboundingboxleft":0,"actualboundingboxright":0,"fontboundingboxascent":1060,"actualboundingboxdescent":0},"␥":{"width":628.41796875,"actualboundingboxascent":543.45703125,"actualboundingboxleft":-62.5,"actualboundingboxright":565.91796875,"fontboundingboxascent":1060,"actualboundingboxdescent":-40.0390625},"〮":{"width":1600.09765625,"actualboundingboxascent":588.8671875,"actualboundingboxleft":-84.9609375,"actualboundingboxright":1514.16015625,"fontboundingboxascent":1060,"actualboundingboxdescent":-161.1328125},"꠰":{"width":237,"actualboundingboxascent":622,"actualboundingboxleft":-78,"actualboundingboxright":159,"fontboundingboxascent":1060,"actualboundingboxdescent":0},"⬆":{"width":1000,"actualboundingboxascent":834,"actualboundingboxleft":-133,"actualboundingboxright":867,"fontboundingboxascent":1060,"actualboundingboxdescent":62},"⇤":{"width":1000,"actualboundingboxascent":572.265625,"actualboundingboxleft":-84.47265625,"actualboundingboxright":916.015625,"fontboundingboxascent":1060,"actualboundingboxdescent":-150.390625},"₽":{"width":495,"actualboundingboxascent":630,"actualboundingboxleft":-26,"actualboundingboxright":470,"fontboundingboxascent":1060,"actualboundingboxdescent":0},"ⱻ":{"width":407.2265625,"actualboundingboxascent":545.41015625,"actualboundingboxleft":-24.4140625,"actualboundingboxright":382.8125,"fontboundingboxascent":1060,"actualboundingboxdescent":0},"₰":{"width":901.85546875,"actualboundingboxascent":734.86328125,"actualboundingboxleft":-96.19140625,"actualboundingboxright":901.3671875,"fontboundingboxascent":1060,"actualboundingboxdescent":96.19140625},"ﯮ":{"width":687.1609497070312,"actualboundingboxascent":661.844482421875,"actualboundingboxleft":68.2640380859375,"actualboundingboxright":683.9963989257812,"fontboundingboxascent":1060,"actualboundingboxdescent":181.283935546875},"":{"width":1000,"actualboundingboxascent":0,"actualboundingboxleft":0,"actualboundingboxright":0,"fontboundingboxascent":1060,"actualboundingboxdescent":0},"":{"width":1000,"actualboundingboxascent":0,"actualboundingboxleft":0,"actualboundingboxright":0,"fontboundingboxascent":1060,"actualboundingboxdescent":0},"":{"width":0,"actualboundingboxascent":0,"actualboundingboxleft":0,"actualboundingboxright":0,"fontboundingboxascent":1060,"actualboundingboxdescent":0},"Ⴀ":{"width":662.109375,"actualboundingboxascent":715.8203125,"actualboundingboxleft":-41.9921875,"actualboundingboxright":632.8125,"fontboundingboxascent":1060,"actualboundingboxdescent":15.13671875},"𝞐":{"width":553,"actualboundingboxascent":657,"actualboundingboxleft":66,"actualboundingboxright":512,"fontboundingboxascent":1060,"actualboundingboxdescent":0},"܀":{"width":591,"actualboundingboxascent":382,"actualboundingboxleft":-114,"actualboundingboxright":478,"fontboundingboxascent":1060,"actualboundingboxdescent":0},"ᥐ":{"width":513,"actualboundingboxascent":546,"actualboundingboxleft":10,"actualboundingboxright":469,"fontboundingboxascent":1060,"actualboundingboxdescent":10},"ゕ":{"width":1000,"actualboundingboxascent":629,"actualboundingboxleft":-150,"actualboundingboxright":875,"fontboundingboxascent":1060,"actualboundingboxdescent":44},"匭":{"width":1000,"actualboundingboxascent":784,"actualboundingboxleft":-114,"actualboundingboxright":952,"fontboundingboxascent":1060,"actualboundingboxdescent":86},"؜":{"width":0,"actualboundingboxascent":0,"actualboundingboxleft":0,"actualboundingboxright":0,"fontboundingboxascent":1060,"actualboundingboxdescent":0},"⃣":{"width":0,"actualboundingboxascent":1010.7421875,"actualboundingboxleft":1015.13671875,"actualboundingboxright":266.6015625,"fontboundingboxascent":1060,"actualboundingboxdescent":270.99609375},"￹":{"width":602.05078125,"actualboundingboxascent":0,"actualboundingboxleft":0,"actualboundingboxright":0,"fontboundingboxascent":1060,"actualboundingboxdescent":0},"Ș":{"width":632,"actualboundingboxascent":728,"actualboundingboxleft":-32,"actualboundingboxright":943,"fontboundingboxascent":1060,"actualboundingboxdescent":211},"֏":{"width":732,"actualboundingboxascent":724,"actualboundingboxleft":-59,"actualboundingboxright":708,"fontboundingboxascent":1060,"actualboundingboxdescent":0},"ࣤ":{"width":0,"actualboundingboxascent":619.62890625,"actualboundingboxleft":-73.2421875,"actualboundingboxright":285.64453125,"fontboundingboxascent":1060,"actualboundingboxdescent":-469.23828125},"঳":{"width":1000,"actualboundingboxascent":0,"actualboundingboxleft":0,"actualboundingboxright":0,"fontboundingboxascent":1060,"actualboundingboxdescent":0},"᱐":{"width":572,"actualboundingboxascent":725,"actualboundingboxleft":-49,"actualboundingboxright":523,"fontboundingboxascent":1060,"actualboundingboxdescent":10},"☙":{"width":602.05078125,"actualboundingboxascent":556.640625,"actualboundingboxleft":-22.94921875,"actualboundingboxright":579.1015625,"fontboundingboxascent":1060,"actualboundingboxdescent":-203.61328125}},"1000px serif":{"₹":{"width":568,"actualboundingboxascent":711,"actualboundingboxleft":4,"actualboundingboxright":575,"fontboundingboxascent":1060,"actualboundingboxdescent":-56},"▁":{"width":1000,"actualboundingboxascent":-75,"actualboundingboxleft":0,"actualboundingboxright":1000,"fontboundingboxascent":1060,"actualboundingboxdescent":200},"₺":{"width":556.15234375,"actualboundingboxascent":702.63671875,"actualboundingboxleft":-45.8984375,"actualboundingboxright":514.16015625,"fontboundingboxascent":1060,"actualboundingboxdescent":2.44140625},"ꜽ":{"width":739.2578125,"actualboundingboxascent":561.03515625,"actualboundingboxleft":-42.96875,"actualboundingboxright":717.28515625,"fontboundingboxascent":1060,"actualboundingboxdescent":211.9140625},"�":{"width":1000,"actualboundingboxascent":875,"actualboundingboxleft":0,"actualboundingboxright":1000,"fontboundingboxascent":1060,"actualboundingboxdescent":125},"₸":{"width":556.15234375,"actualboundingboxascent":696.77734375,"actualboundingboxleft":-22.94921875,"actualboundingboxright":532.2265625,"fontboundingboxascent":1060,"actualboundingboxdescent":0},"׆":{"width":401.5927429199219,"actualboundingboxascent":596.1319580078125,"actualboundingboxleft":-83.04891967773438,"actualboundingboxright":367.4630126953125,"fontboundingboxascent":1060,"actualboundingboxdescent":0},"ẞ":{"width":679.19921875,"actualboundingboxascent":693.84765625,"actualboundingboxleft":-78.61328125,"actualboundingboxright":631.34765625,"fontboundingboxascent":1060,"actualboundingboxdescent":12.6953125},"ॿ":{"width":560,"actualboundingboxascent":651,"actualboundingboxleft":48,"actualboundingboxright":595,"fontboundingboxascent":1060,"actualboundingboxdescent":5},"":{"width":1000,"actualboundingboxascent":750,"actualboundingboxleft":-125,"actualboundingboxright":875,"fontboundingboxascent":1060,"actualboundingboxdescent":0},"᳚":{"width":0,"actualboundingboxascent":902,"actualboundingboxleft":278,"actualboundingboxright":-90,"fontboundingboxascent":1060,"actualboundingboxdescent":-700},"៝":{"width":600.5859375,"actualboundingboxascent":908.203125,"actualboundingboxleft":-64.94140625,"actualboundingboxright":532.71484375,"fontboundingboxascent":1060,"actualboundingboxdescent":0},"⎮":{"width":686.03515625,"actualboundingboxascent":772.94921875,"actualboundingboxleft":-290.0390625,"actualboundingboxright":391.11328125,"fontboundingboxascent":1060,"actualboundingboxdescent":246.09375},"ം":{"width":392.578125,"actualboundingboxascent":268.5546875,"actualboundingboxleft":-24.90234375,"actualboundingboxright":321.2890625,"fontboundingboxascent":1060,"actualboundingboxdescent":5.859375},"ஂ":{"width":626.953125,"actualboundingboxascent":746.09375,"actualboundingboxleft":-55.17578125,"actualboundingboxright":571.77734375,"fontboundingboxascent":1060,"actualboundingboxdescent":11.23046875},"ᅚ":{"width":1000,"actualboundingboxascent":750,"actualboundingboxleft":-125,"actualboundingboxright":875,"fontboundingboxascent":1060,"actualboundingboxdescent":0},"␥":{"width":628.41796875,"actualboundingboxascent":543.45703125,"actualboundingboxleft":-62.5,"actualboundingboxright":565.91796875,"fontboundingboxascent":1060,"actualboundingboxdescent":-40.0390625},"〮":{"width":1600.09765625,"actualboundingboxascent":588.8671875,"actualboundingboxleft":-84.9609375,"actualboundingboxright":1514.16015625,"fontboundingboxascent":1060,"actualboundingboxdescent":-161.1328125},"꠰":{"width":237,"actualboundingboxascent":622,"actualboundingboxleft":-78,"actualboundingboxright":159,"fontboundingboxascent":1060,"actualboundingboxdescent":0},"⬆":{"width":1000,"actualboundingboxascent":834,"actualboundingboxleft":-133,"actualboundingboxright":867,"fontboundingboxascent":1060,"actualboundingboxdescent":62},"⇤":{"width":1000,"actualboundingboxascent":572.265625,"actualboundingboxleft":-84.47265625,"actualboundingboxright":916.015625,"fontboundingboxascent":1060,"actualboundingboxdescent":-150.390625},"₽":{"width":495,"actualboundingboxascent":630,"actualboundingboxleft":-26,"actualboundingboxright":470,"fontboundingboxascent":1060,"actualboundingboxdescent":0},"ⱻ":{"width":407.2265625,"actualboundingboxascent":545.41015625,"actualboundingboxleft":-24.4140625,"actualboundingboxright":382.8125,"fontboundingboxascent":1060,"actualboundingboxdescent":0},"₰":{"width":901.85546875,"actualboundingboxascent":734.86328125,"actualboundingboxleft":-96.19140625,"actualboundingboxright":901.3671875,"fontboundingboxascent":1060,"actualboundingboxdescent":96.19140625},"ﯮ":{"width":687.1609497070312,"actualboundingboxascent":661.844482421875,"actualboundingboxleft":68.2640380859375,"actualboundingboxright":683.9963989257812,"fontboundingboxascent":1060,"actualboundingboxdescent":181.283935546875},"":{"width":1000,"actualboundingboxascent":750,"actualboundingboxleft":-125,"actualboundingboxright":875,"fontboundingboxascent":1060,"actualboundingboxdescent":0},"":{"width":1000,"actualboundingboxascent":750,"actualboundingboxleft":-125,"actualboundingboxright":875,"fontboundingboxascent":1060,"actualboundingboxdescent":0},"":{"width":501,"actualboundingboxascent":0,"actualboundingboxleft":0,"actualboundingboxright":0,"fontboundingboxascent":1060,"actualboundingboxdescent":0},"Ⴀ":{"width":662.109375,"actualboundingboxascent":715.8203125,"actualboundingboxleft":-41.9921875,"actualboundingboxright":632.8125,"fontboundingboxascent":1060,"actualboundingboxdescent":15.13671875},"𝞐":{"width":553,"actualboundingboxascent":657,"actualboundingboxleft":66,"actualboundingboxright":512,"fontboundingboxascent":1060,"actualboundingboxdescent":0},"܀":{"width":591,"actualboundingboxascent":382,"actualboundingboxleft":-114,"actualboundingboxright":478,"fontboundingboxascent":1060,"actualboundingboxdescent":0},"ᥐ":{"width":513,"actualboundingboxascent":546,"actualboundingboxleft":10,"actualboundingboxright":469,"fontboundingboxascent":1060,"actualboundingboxdescent":10},"ゕ":{"width":1000,"actualboundingboxascent":620,"actualboundingboxleft":-175,"actualboundingboxright":867,"fontboundingboxascent":1060,"actualboundingboxdescent":13},"匭":{"width":1000,"actualboundingboxascent":759,"actualboundingboxleft":-63,"actualboundingboxright":936,"fontboundingboxascent":1060,"actualboundingboxdescent":153},"؜":{"width":0,"actualboundingboxascent":0,"actualboundingboxleft":0,"actualboundingboxright":0,"fontboundingboxascent":1060,"actualboundingboxdescent":0},"⃣":{"width":0,"actualboundingboxascent":1010.7421875,"actualboundingboxleft":1015.13671875,"actualboundingboxright":266.6015625,"fontboundingboxascent":1060,"actualboundingboxdescent":270.99609375},"￹":{"width":602.05078125,"actualboundingboxascent":0,"actualboundingboxleft":0,"actualboundingboxright":0,"fontboundingboxascent":1060,"actualboundingboxdescent":0},"Ș":{"width":477,"actualboundingboxascent":695,"actualboundingboxleft":-36,"actualboundingboxright":437,"fontboundingboxascent":1060,"actualboundingboxdescent":189.5},"֏":{"width":732,"actualboundingboxascent":724,"actualboundingboxleft":-59,"actualboundingboxright":708,"fontboundingboxascent":1060,"actualboundingboxdescent":0},"ࣤ":{"width":0,"actualboundingboxascent":619.62890625,"actualboundingboxleft":-73.2421875,"actualboundingboxright":285.64453125,"fontboundingboxascent":1060,"actualboundingboxdescent":-469.23828125},"঳":{"width":1000,"actualboundingboxascent":750,"actualboundingboxleft":-125,"actualboundingboxright":875,"fontboundingboxascent":1060,"actualboundingboxdescent":0},"᱐":{"width":572,"actualboundingboxascent":725,"actualboundingboxleft":-49,"actualboundingboxright":523,"fontboundingboxascent":1060,"actualboundingboxdescent":10},"☙":{"width":602.05078125,"actualboundingboxascent":556.640625,"actualboundingboxleft":-22.94921875,"actualboundingboxright":579.1015625,"fontboundingboxascent":1060,"actualboundingboxdescent":-203.61328125}},"1000px monospace":{"₹":{"width":600,"actualboundingboxascent":714,"actualboundingboxleft":-64,"actualboundingboxright":537,"fontboundingboxascent":904,"actualboundingboxdescent":0},"▁":{"width":1000,"actualboundingboxascent":-11,"actualboundingboxleft":0,"actualboundingboxright":1000,"fontboundingboxascent":904,"actualboundingboxdescent":140},"₺":{"width":556.15234375,"actualboundingboxascent":702.63671875,"actualboundingboxleft":-45.8984375,"actualboundingboxright":514.16015625,"fontboundingboxascent":904,"actualboundingboxdescent":2.44140625},"ꜽ":{"width":739.2578125,"actualboundingboxascent":561.03515625,"actualboundingboxleft":-42.96875,"actualboundingboxright":717.28515625,"fontboundingboxascent":904,"actualboundingboxdescent":211.9140625},"�":{"width":602.05078125,"actualboundingboxascent":886.71875,"actualboundingboxleft":-40.0390625,"actualboundingboxright":561.5234375,"fontboundingboxascent":904,"actualboundingboxdescent":83.984375},"₸":{"width":556.15234375,"actualboundingboxascent":696.77734375,"actualboundingboxleft":-22.94921875,"actualboundingboxright":532.2265625,"fontboundingboxascent":904,"actualboundingboxdescent":0},"׆":{"width":600.09765625,"actualboundingboxascent":478.02734375,"actualboundingboxleft":-183.10546875,"actualboundingboxright":417.96875,"fontboundingboxascent":904,"actualboundingboxdescent":0},"ẞ":{"width":679.19921875,"actualboundingboxascent":693.84765625,"actualboundingboxleft":-78.61328125,"actualboundingboxright":631.34765625,"fontboundingboxascent":904,"actualboundingboxdescent":12.6953125},"ॿ":{"width":567,"actualboundingboxascent":642,"actualboundingboxleft":22,"actualboundingboxright":589,"fontboundingboxascent":904,"actualboundingboxdescent":7},"":{"width":600.09765625,"actualboundingboxascent":705.078125,"actualboundingboxleft":-49.8046875,"actualboundingboxright":549.8046875,"fontboundingboxascent":904,"actualboundingboxdescent":176.7578125},"᳚":{"width":0,"actualboundingboxascent":809,"actualboundingboxleft":377,"actualboundingboxright":-179,"fontboundingboxascent":904,"actualboundingboxdescent":-598},"៝":{"width":477.05078125,"actualboundingboxascent":890.13671875,"actualboundingboxleft":17.08984375,"actualboundingboxright":475.09765625,"fontboundingboxascent":904,"actualboundingboxdescent":0},"⎮":{"width":602.05078125,"actualboundingboxascent":769.53125,"actualboundingboxleft":-250.48828125,"actualboundingboxright":347.16796875,"fontboundingboxascent":904,"actualboundingboxdescent":250},"ം":{"width":385.25390625,"actualboundingboxascent":330.078125,"actualboundingboxleft":-31.25,"actualboundingboxright":344.7265625,"fontboundingboxascent":904,"actualboundingboxdescent":5.859375},"ஂ":{"width":626.953125,"actualboundingboxascent":746.09375,"actualboundingboxleft":-55.17578125,"actualboundingboxright":571.77734375,"fontboundingboxascent":904,"actualboundingboxdescent":11.23046875},"ᅚ":{"width":600.09765625,"actualboundingboxascent":705.078125,"actualboundingboxleft":-49.8046875,"actualboundingboxright":549.8046875,"fontboundingboxascent":904,"actualboundingboxdescent":176.7578125},"␥":{"width":628.41796875,"actualboundingboxascent":543.45703125,"actualboundingboxleft":-62.5,"actualboundingboxright":565.91796875,"fontboundingboxascent":904,"actualboundingboxdescent":-40.0390625},"〮":{"width":1600.09765625,"actualboundingboxascent":588.8671875,"actualboundingboxleft":-84.9609375,"actualboundingboxright":1514.16015625,"fontboundingboxascent":904,"actualboundingboxdescent":-161.1328125},"꠰":{"width":237,"actualboundingboxascent":622,"actualboundingboxleft":-78,"actualboundingboxright":159,"fontboundingboxascent":904,"actualboundingboxdescent":0},"⬆":{"width":1000,"actualboundingboxascent":834,"actualboundingboxleft":-133,"actualboundingboxright":867,"fontboundingboxascent":904,"actualboundingboxdescent":62},"⇤":{"width":602.05078125,"actualboundingboxascent":436.03515625,"actualboundingboxleft":-32.2265625,"actualboundingboxright":569.82421875,"fontboundingboxascent":904,"actualboundingboxdescent":-111.81640625},"₽":{"width":495,"actualboundingboxascent":630,"actualboundingboxleft":-26,"actualboundingboxright":470,"fontboundingboxascent":904,"actualboundingboxdescent":0},"ⱻ":{"width":407.2265625,"actualboundingboxascent":545.41015625,"actualboundingboxleft":-24.4140625,"actualboundingboxright":382.8125,"fontboundingboxascent":904,"actualboundingboxdescent":0},"₰":{"width":602.05078125,"actualboundingboxascent":742.1875,"actualboundingboxleft":-22.4609375,"actualboundingboxright":569.3359375,"fontboundingboxascent":904,"actualboundingboxdescent":14.16015625},"ﯮ":{"width":687.1609497070312,"actualboundingboxascent":661.844482421875,"actualboundingboxleft":68.2640380859375,"actualboundingboxright":683.9963989257812,"fontboundingboxascent":904,"actualboundingboxdescent":181.283935546875},"":{"width":600.09765625,"actualboundingboxascent":705.078125,"actualboundingboxleft":-49.8046875,"actualboundingboxright":549.8046875,"fontboundingboxascent":904,"actualboundingboxdescent":176.7578125},"":{"width":600.09765625,"actualboundingboxascent":705.078125,"actualboundingboxleft":-49.8046875,"actualboundingboxright":549.8046875,"fontboundingboxascent":904,"actualboundingboxdescent":176.7578125},"":{"width":0,"actualboundingboxascent":0,"actualboundingboxleft":0,"actualboundingboxright":0,"fontboundingboxascent":904,"actualboundingboxdescent":0},"Ⴀ":{"width":662.109375,"actualboundingboxascent":715.8203125,"actualboundingboxleft":-41.9921875,"actualboundingboxright":632.8125,"fontboundingboxascent":904,"actualboundingboxdescent":15.13671875},"𝞐":{"width":553,"actualboundingboxascent":657,"actualboundingboxleft":66,"actualboundingboxright":512,"fontboundingboxascent":904,"actualboundingboxdescent":0},"܀":{"width":591,"actualboundingboxascent":382,"actualboundingboxleft":-114,"actualboundingboxright":478,"fontboundingboxascent":904,"actualboundingboxdescent":0},"ᥐ":{"width":513,"actualboundingboxascent":546,"actualboundingboxleft":10,"actualboundingboxright":469,"fontboundingboxascent":904,"actualboundingboxdescent":10},"ゕ":{"width":1000,"actualboundingboxascent":629,"actualboundingboxleft":-150,"actualboundingboxright":875,"fontboundingboxascent":904,"actualboundingboxdescent":44},"匭":{"width":1000,"actualboundingboxascent":784,"actualboundingboxleft":-114,"actualboundingboxright":952,"fontboundingboxascent":904,"actualboundingboxdescent":86},"؜":{"width":0,"actualboundingboxascent":0,"actualboundingboxleft":0,"actualboundingboxright":0,"fontboundingboxascent":904,"actualboundingboxdescent":0},"⃣":{"width":0,"actualboundingboxascent":1010.7421875,"actualboundingboxleft":1015.13671875,"actualboundingboxright":266.6015625,"fontboundingboxascent":904,"actualboundingboxdescent":270.99609375},"￹":{"width":602.05078125,"actualboundingboxascent":0,"actualboundingboxleft":0,"actualboundingboxright":0,"fontboundingboxascent":904,"actualboundingboxdescent":0},"Ș":{"width":600.09765625,"actualboundingboxascent":596.19140625,"actualboundingboxleft":-69.82421875,"actualboundingboxright":524.90234375,"fontboundingboxascent":904,"actualboundingboxdescent":359.177734375},"֏":{"width":732,"actualboundingboxascent":724,"actualboundingboxleft":-59,"actualboundingboxright":708,"fontboundingboxascent":904,"actualboundingboxdescent":0},"ࣤ":{"width":0,"actualboundingboxascent":619.62890625,"actualboundingboxleft":-73.2421875,"actualboundingboxright":285.64453125,"fontboundingboxascent":904,"actualboundingboxdescent":-469.23828125},"঳":{"width":600.09765625,"actualboundingboxascent":705.078125,"actualboundingboxleft":-49.8046875,"actualboundingboxright":549.8046875,"fontboundingboxascent":904,"actualboundingboxdescent":176.7578125},"᱐":{"width":572,"actualboundingboxascent":725,"actualboundingboxleft":-49,"actualboundingboxright":523,"fontboundingboxascent":904,"actualboundingboxdescent":10},"☙":{"width":602.05078125,"actualboundingboxascent":556.640625,"actualboundingboxleft":-22.94921875,"actualboundingboxright":579.1015625,"fontboundingboxascent":904,"actualboundingboxdescent":-203.61328125}},"1000px cursive":{"₹":{"width":568,"actualboundingboxascent":708,"actualboundingboxleft":0,"actualboundingboxright":571,"fontboundingboxascent":1060,"actualboundingboxdescent":-59},"▁":{"width":1000,"actualboundingboxascent":-75,"actualboundingboxleft":0,"actualboundingboxright":1000,"fontboundingboxascent":1060,"actualboundingboxdescent":200},"₺":{"width":556.15234375,"actualboundingboxascent":702.63671875,"actualboundingboxleft":-45.8984375,"actualboundingboxright":514.16015625,"fontboundingboxascent":1060,"actualboundingboxdescent":2.44140625},"ꜽ":{"width":739.2578125,"actualboundingboxascent":561.03515625,"actualboundingboxleft":-42.96875,"actualboundingboxright":717.28515625,"fontboundingboxascent":1060,"actualboundingboxdescent":211.9140625},"�":{"width":1000,"actualboundingboxascent":875,"actualboundingboxleft":0,"actualboundingboxright":1000,"fontboundingboxascent":1060,"actualboundingboxdescent":125},"₸":{"width":556.15234375,"actualboundingboxascent":696.77734375,"actualboundingboxleft":-22.94921875,"actualboundingboxright":532.2265625,"fontboundingboxascent":1060,"actualboundingboxdescent":0},"׆":{"width":401.5927429199219,"actualboundingboxascent":596.1319580078125,"actualboundingboxleft":-83.04891967773438,"actualboundingboxright":367.4630126953125,"fontboundingboxascent":1060,"actualboundingboxdescent":0},"ẞ":{"width":679.19921875,"actualboundingboxascent":693.84765625,"actualboundingboxleft":-78.61328125,"actualboundingboxright":631.34765625,"fontboundingboxascent":1060,"actualboundingboxdescent":12.6953125},"ॿ":{"width":560,"actualboundingboxascent":651,"actualboundingboxleft":48,"actualboundingboxright":595,"fontboundingboxascent":1060,"actualboundingboxdescent":5},"":{"width":1000,"actualboundingboxascent":750,"actualboundingboxleft":-125,"actualboundingboxright":875,"fontboundingboxascent":1060,"actualboundingboxdescent":0},"᳚":{"width":0,"actualboundingboxascent":902,"actualboundingboxleft":278,"actualboundingboxright":-90,"fontboundingboxascent":1060,"actualboundingboxdescent":-700},"៝":{"width":600.5859375,"actualboundingboxascent":908.203125,"actualboundingboxleft":-64.94140625,"actualboundingboxright":532.71484375,"fontboundingboxascent":1060,"actualboundingboxdescent":0},"⎮":{"width":686.03515625,"actualboundingboxascent":772.94921875,"actualboundingboxleft":-290.0390625,"actualboundingboxright":391.11328125,"fontboundingboxascent":1060,"actualboundingboxdescent":246.09375},"ം":{"width":392.578125,"actualboundingboxascent":268.5546875,"actualboundingboxleft":-24.90234375,"actualboundingboxright":321.2890625,"fontboundingboxascent":1060,"actualboundingboxdescent":5.859375},"ஂ":{"width":626.953125,"actualboundingboxascent":746.09375,"actualboundingboxleft":-55.17578125,"actualboundingboxright":571.77734375,"fontboundingboxascent":1060,"actualboundingboxdescent":11.23046875},"ᅚ":{"width":1000,"actualboundingboxascent":750,"actualboundingboxleft":-125,"actualboundingboxright":875,"fontboundingboxascent":1060,"actualboundingboxdescent":0},"␥":{"width":628.41796875,"actualboundingboxascent":543.45703125,"actualboundingboxleft":-62.5,"actualboundingboxright":565.91796875,"fontboundingboxascent":1060,"actualboundingboxdescent":-40.0390625},"〮":{"width":1600.09765625,"actualboundingboxascent":588.8671875,"actualboundingboxleft":-84.9609375,"actualboundingboxright":1514.16015625,"fontboundingboxascent":1060,"actualboundingboxdescent":-161.1328125},"꠰":{"width":237,"actualboundingboxascent":622,"actualboundingboxleft":-78,"actualboundingboxright":159,"fontboundingboxascent":1060,"actualboundingboxdescent":0},"⬆":{"width":1000,"actualboundingboxascent":834,"actualboundingboxleft":-133,"actualboundingboxright":867,"fontboundingboxascent":1060,"actualboundingboxdescent":62},"⇤":{"width":1000,"actualboundingboxascent":572.265625,"actualboundingboxleft":-84.47265625,"actualboundingboxright":916.015625,"fontboundingboxascent":1060,"actualboundingboxdescent":-150.390625},"₽":{"width":495,"actualboundingboxascent":630,"actualboundingboxleft":-26,"actualboundingboxright":470,"fontboundingboxascent":1060,"actualboundingboxdescent":0},"ⱻ":{"width":407.2265625,"actualboundingboxascent":545.41015625,"actualboundingboxleft":-24.4140625,"actualboundingboxright":382.8125,"fontboundingboxascent":1060,"actualboundingboxdescent":0},"₰":{"width":901.85546875,"actualboundingboxascent":734.86328125,"actualboundingboxleft":-96.19140625,"actualboundingboxright":901.3671875,"fontboundingboxascent":1060,"actualboundingboxdescent":96.19140625},"ﯮ":{"width":687.1609497070312,"actualboundingboxascent":661.844482421875,"actualboundingboxleft":68.2640380859375,"actualboundingboxright":683.9963989257812,"fontboundingboxascent":1060,"actualboundingboxdescent":181.283935546875},"":{"width":1000,"actualboundingboxascent":750,"actualboundingboxleft":-125,"actualboundingboxright":875,"fontboundingboxascent":1060,"actualboundingboxdescent":0},"":{"width":1000,"actualboundingboxascent":750,"actualboundingboxleft":-125,"actualboundingboxright":875,"fontboundingboxascent":1060,"actualboundingboxdescent":0},"":{"width":501,"actualboundingboxascent":0,"actualboundingboxleft":0,"actualboundingboxright":0,"fontboundingboxascent":1060,"actualboundingboxdescent":0},"Ⴀ":{"width":662.109375,"actualboundingboxascent":715.8203125,"actualboundingboxleft":-41.9921875,"actualboundingboxright":632.8125,"fontboundingboxascent":1060,"actualboundingboxdescent":15.13671875},"𝞐":{"width":553,"actualboundingboxascent":657,"actualboundingboxleft":66,"actualboundingboxright":512,"fontboundingboxascent":1060,"actualboundingboxdescent":0},"܀":{"width":591,"actualboundingboxascent":382,"actualboundingboxleft":-114,"actualboundingboxright":478,"fontboundingboxascent":1060,"actualboundingboxdescent":0},"ᥐ":{"width":513,"actualboundingboxascent":546,"actualboundingboxleft":10,"actualboundingboxright":469,"fontboundingboxascent":1060,"actualboundingboxdescent":10},"ゕ":{"width":1000,"actualboundingboxascent":620,"actualboundingboxleft":-175,"actualboundingboxright":867,"fontboundingboxascent":1060,"actualboundingboxdescent":13},"匭":{"width":1000,"actualboundingboxascent":682,"actualboundingboxleft":-108,"actualboundingboxright":855,"fontboundingboxascent":1060,"actualboundingboxdescent":107},"؜":{"width":0,"actualboundingboxascent":0,"actualboundingboxleft":0,"actualboundingboxright":0,"fontboundingboxascent":1060,"actualboundingboxdescent":0},"⃣":{"width":0,"actualboundingboxascent":1010.7421875,"actualboundingboxleft":1015.13671875,"actualboundingboxright":266.6015625,"fontboundingboxascent":1060,"actualboundingboxdescent":270.99609375},"￹":{"width":602.05078125,"actualboundingboxascent":0,"actualboundingboxleft":0,"actualboundingboxright":0,"fontboundingboxascent":1060,"actualboundingboxdescent":0},"Ș":{"width":484,"actualboundingboxascent":695,"actualboundingboxleft":-38,"actualboundingboxright":437,"fontboundingboxascent":1060,"actualboundingboxdescent":189.5},"֏":{"width":732,"actualboundingboxascent":724,"actualboundingboxleft":-59,"actualboundingboxright":708,"fontboundingboxascent":1060,"actualboundingboxdescent":0},"ࣤ":{"width":0,"actualboundingboxascent":619.62890625,"actualboundingboxleft":-73.2421875,"actualboundingboxright":285.64453125,"fontboundingboxascent":1060,"actualboundingboxdescent":-469.23828125},"঳":{"width":1000,"actualboundingboxascent":750,"actualboundingboxleft":-125,"actualboundingboxright":875,"fontboundingboxascent":1060,"actualboundingboxdescent":0},"᱐":{"width":572,"actualboundingboxascent":725,"actualboundingboxleft":-49,"actualboundingboxright":523,"fontboundingboxascent":1060,"actualboundingboxdescent":10},"☙":{"width":602.05078125,"actualboundingboxascent":556.640625,"actualboundingboxleft":-22.94921875,"actualboundingboxright":579.1015625,"fontboundingboxascent":1060,"actualboundingboxdescent":-203.61328125}},"1000px fantasy":{"₹":{"width":600,"actualboundingboxascent":714,"actualboundingboxleft":-64,"actualboundingboxright":537,"fontboundingboxascent":940,"actualboundingboxdescent":0},"▁":{"width":1000,"actualboundingboxascent":-11,"actualboundingboxleft":0,"actualboundingboxright":1000,"fontboundingboxascent":940,"actualboundingboxdescent":140},"₺":{"width":556.15234375,"actualboundingboxascent":702.63671875,"actualboundingboxleft":-45.8984375,"actualboundingboxright":514.16015625,"fontboundingboxascent":940,"actualboundingboxdescent":2.44140625},"ꜽ":{"width":739.2578125,"actualboundingboxascent":561.03515625,"actualboundingboxleft":-42.96875,"actualboundingboxright":717.28515625,"fontboundingboxascent":940,"actualboundingboxdescent":211.9140625},"�":{"width":1000,"actualboundingboxascent":875,"actualboundingboxleft":0,"actualboundingboxright":1000,"fontboundingboxascent":940,"actualboundingboxdescent":125},"₸":{"width":556.15234375,"actualboundingboxascent":696.77734375,"actualboundingboxleft":-22.94921875,"actualboundingboxright":532.2265625,"fontboundingboxascent":940,"actualboundingboxdescent":0},"׆":{"width":401.5927429199219,"actualboundingboxascent":596.1319580078125,"actualboundingboxleft":-83.04891967773438,"actualboundingboxright":367.4630126953125,"fontboundingboxascent":940,"actualboundingboxdescent":0},"ẞ":{"width":679.19921875,"actualboundingboxascent":693.84765625,"actualboundingboxleft":-78.61328125,"actualboundingboxright":631.34765625,"fontboundingboxascent":940,"actualboundingboxdescent":12.6953125},"ॿ":{"width":567,"actualboundingboxascent":642,"actualboundingboxleft":22,"actualboundingboxright":589,"fontboundingboxascent":940,"actualboundingboxdescent":7},"":{"width":500,"actualboundingboxascent":750,"actualboundingboxleft":-24.90234375,"actualboundingboxright":475.09765625,"fontboundingboxascent":940,"actualboundingboxdescent":0},"᳚":{"width":0,"actualboundingboxascent":809,"actualboundingboxleft":377,"actualboundingboxright":-179,"fontboundingboxascent":940,"actualboundingboxdescent":-598},"៝":{"width":477.05078125,"actualboundingboxascent":890.13671875,"actualboundingboxleft":17.08984375,"actualboundingboxright":475.09765625,"fontboundingboxascent":940,"actualboundingboxdescent":0},"⎮":{"width":602.05078125,"actualboundingboxascent":769.53125,"actualboundingboxleft":-250.48828125,"actualboundingboxright":347.16796875,"fontboundingboxascent":940,"actualboundingboxdescent":250},"ം":{"width":385.25390625,"actualboundingboxascent":330.078125,"actualboundingboxleft":-31.25,"actualboundingboxright":344.7265625,"fontboundingboxascent":940,"actualboundingboxdescent":5.859375},"ஂ":{"width":626.953125,"actualboundingboxascent":746.09375,"actualboundingboxleft":-55.17578125,"actualboundingboxright":571.77734375,"fontboundingboxascent":940,"actualboundingboxdescent":11.23046875},"ᅚ":{"width":500,"actualboundingboxascent":750,"actualboundingboxleft":-24.90234375,"actualboundingboxright":475.09765625,"fontboundingboxascent":940,"actualboundingboxdescent":0},"␥":{"width":628.41796875,"actualboundingboxascent":543.45703125,"actualboundingboxleft":-62.5,"actualboundingboxright":565.91796875,"fontboundingboxascent":940,"actualboundingboxdescent":-40.0390625},"〮":{"width":1600.09765625,"actualboundingboxascent":588.8671875,"actualboundingboxleft":-84.9609375,"actualboundingboxright":1514.16015625,"fontboundingboxascent":940,"actualboundingboxdescent":-161.1328125},"꠰":{"width":237,"actualboundingboxascent":622,"actualboundingboxleft":-78,"actualboundingboxright":159,"fontboundingboxascent":940,"actualboundingboxdescent":0},"⬆":{"width":1000,"actualboundingboxascent":834,"actualboundingboxleft":-133,"actualboundingboxright":867,"fontboundingboxascent":940,"actualboundingboxdescent":62},"⇤":{"width":1000,"actualboundingboxascent":572.265625,"actualboundingboxleft":-84.47265625,"actualboundingboxright":916.015625,"fontboundingboxascent":940,"actualboundingboxdescent":-150.390625},"₽":{"width":495,"actualboundingboxascent":630,"actualboundingboxleft":-26,"actualboundingboxright":470,"fontboundingboxascent":940,"actualboundingboxdescent":0},"ⱻ":{"width":407.2265625,"actualboundingboxascent":545.41015625,"actualboundingboxleft":-24.4140625,"actualboundingboxright":382.8125,"fontboundingboxascent":940,"actualboundingboxdescent":0},"₰":{"width":901.85546875,"actualboundingboxascent":734.86328125,"actualboundingboxleft":-96.19140625,"actualboundingboxright":901.3671875,"fontboundingboxascent":940,"actualboundingboxdescent":96.19140625},"ﯮ":{"width":687.1609497070312,"actualboundingboxascent":661.844482421875,"actualboundingboxleft":68.2640380859375,"actualboundingboxright":683.9963989257812,"fontboundingboxascent":940,"actualboundingboxdescent":181.283935546875},"":{"width":500,"actualboundingboxascent":750,"actualboundingboxleft":-24.90234375,"actualboundingboxright":475.09765625,"fontboundingboxascent":940,"actualboundingboxdescent":0},"":{"width":500,"actualboundingboxascent":750,"actualboundingboxleft":-24.90234375,"actualboundingboxright":475.09765625,"fontboundingboxascent":940,"actualboundingboxdescent":0},"":{"width":0,"actualboundingboxascent":0,"actualboundingboxleft":0,"actualboundingboxright":0,"fontboundingboxascent":940,"actualboundingboxdescent":0},"Ⴀ":{"width":662.109375,"actualboundingboxascent":715.8203125,"actualboundingboxleft":-41.9921875,"actualboundingboxright":632.8125,"fontboundingboxascent":940,"actualboundingboxdescent":15.13671875},"𝞐":{"width":553,"actualboundingboxascent":657,"actualboundingboxleft":66,"actualboundingboxright":512,"fontboundingboxascent":940,"actualboundingboxdescent":0},"܀":{"width":591,"actualboundingboxascent":382,"actualboundingboxleft":-114,"actualboundingboxright":478,"fontboundingboxascent":940,"actualboundingboxdescent":0},"ᥐ":{"width":513,"actualboundingboxascent":546,"actualboundingboxleft":10,"actualboundingboxright":469,"fontboundingboxascent":940,"actualboundingboxdescent":10},"ゕ":{"width":1000,"actualboundingboxascent":629,"actualboundingboxleft":-150,"actualboundingboxright":875,"fontboundingboxascent":940,"actualboundingboxdescent":44},"匭":{"width":1000,"actualboundingboxascent":784,"actualboundingboxleft":-114,"actualboundingboxright":952,"fontboundingboxascent":940,"actualboundingboxdescent":86},"؜":{"width":0,"actualboundingboxascent":0,"actualboundingboxleft":0,"actualboundingboxright":0,"fontboundingboxascent":940,"actualboundingboxdescent":0},"⃣":{"width":0,"actualboundingboxascent":1010.7421875,"actualboundingboxleft":1015.13671875,"actualboundingboxright":266.6015625,"fontboundingboxascent":940,"actualboundingboxdescent":270.99609375},"￹":{"width":602.05078125,"actualboundingboxascent":0,"actualboundingboxleft":0,"actualboundingboxright":0,"fontboundingboxascent":940,"actualboundingboxdescent":0},"Ș":{"width":651.85546875,"actualboundingboxascent":665.0390625,"actualboundingboxleft":-9.765625,"actualboundingboxright":611.81640625,"fontboundingboxascent":940,"actualboundingboxdescent":282.71484375},"֏":{"width":732,"actualboundingboxascent":724,"actualboundingboxleft":-59,"actualboundingboxright":708,"fontboundingboxascent":940,"actualboundingboxdescent":0},"ࣤ":{"width":0,"actualboundingboxascent":619.62890625,"actualboundingboxleft":-73.2421875,"actualboundingboxright":285.64453125,"fontboundingboxascent":940,"actualboundingboxdescent":-469.23828125},"঳":{"width":500,"actualboundingboxascent":750,"actualboundingboxleft":-24.90234375,"actualboundingboxright":475.09765625,"fontboundingboxascent":940,"actualboundingboxdescent":0},"᱐":{"width":572,"actualboundingboxascent":725,"actualboundingboxleft":-49,"actualboundingboxright":523,"fontboundingboxascent":940,"actualboundingboxdescent":10},"☙":{"width":602.05078125,"actualboundingboxascent":556.640625,"actualboundingboxleft":-22.94921875,"actualboundingboxright":579.1015625,"fontboundingboxascent":940,"actualboundingboxdescent":-203.61328125}},"72px monospace":{"mmmmmmmmlli":{"width":475.27734375,"actualboundingboxascent":48.375,"actualboundingboxleft":0.0703125,"actualboundingboxright":470.8828125,"fontboundingboxascent":65,"actualboundingboxdescent":0}},"72px sans-serif":{"mmmmmmmmlli":{"width":544.751953125,"actualboundingboxascent":52.41600036621094,"actualboundingboxleft":-4.4639997482299805,"actualboundingboxright":539.9279174804688,"fontboundingboxascent":76,"actualboundingboxdescent":0}},"72px serif":{"mmmmmmmmlli":{"width":510.76788330078125,"actualboundingboxascent":51.840003967285156,"actualboundingboxleft":-1.7280000448226929,"actualboundingboxright":509.0398864746094,"fontboundingboxascent":76,"actualboundingboxdescent":-4.0319976806640625}},"72px ARNOPRO, monospace":{"mmmmmmmmlli":{"width":475.27734375,"actualboundingboxascent":48.375,"actualboundingboxleft":0.0703125,"actualboundingboxright":470.8828125,"fontboundingboxascent":65,"actualboundingboxdescent":0}},"72px ARNOPRO, sans-serif":{"mmmmmmmmlli":{"width":544.751953125,"actualboundingboxascent":52.41600036621094,"actualboundingboxleft":-4.4639997482299805,"actualboundingboxright":539.9279174804688,"fontboundingboxascent":76,"actualboundingboxdescent":0}},"72px ARNOPRO, serif":{"mmmmmmmmlli":{"width":510.76788330078125,"actualboundingboxascent":51.840003967285156,"actualboundingboxleft":-1.7280000448226929,"actualboundingboxright":509.0398864746094,"fontboundingboxascent":76,"actualboundingboxdescent":-4.0319976806640625}},"72px AgencyFB, monospace":{"mmmmmmmmlli":{"width":475.27734375,"actualboundingboxascent":48.375,"actualboundingboxleft":0.0703125,"actualboundingboxright":470.8828125,"fontboundingboxascent":65,"actualboundingboxdescent":0}},"72px AgencyFB, sans-serif":{"mmmmmmmmlli":{"width":544.751953125,"actualboundingboxascent":52.41600036621094,"actualboundingboxleft":-4.4639997482299805,"actualboundingboxright":539.9279174804688,"fontboundingboxascent":76,"actualboundingboxdescent":0}},"72px AgencyFB, serif":{"mmmmmmmmlli":{"width":510.76788330078125,"actualboundingboxascent":51.840003967285156,"actualboundingboxleft":-1.7280000448226929,"actualboundingboxright":509.0398864746094,"fontboundingboxascent":76,"actualboundingboxdescent":-4.0319976806640625}},"72px ArabicTypesetting, monospace":{"mmmmmmmmlli":{"width":475.27734375,"actualboundingboxascent":48.375,"actualboundingboxleft":0.0703125,"actualboundingboxright":470.8828125,"fontboundingboxascent":65,"actualboundingboxdescent":0}},"72px ArabicTypesetting, sans-serif":{"mmmmmmmmlli":{"width":544.751953125,"actualboundingboxascent":52.41600036621094,"actualboundingboxleft":-4.4639997482299805,"actualboundingboxright":539.9279174804688,"fontboundingboxascent":76,"actualboundingboxdescent":0}},"72px ArabicTypesetting, serif":{"mmmmmmmmlli":{"width":510.76788330078125,"actualboundingboxascent":51.840003967285156,"actualboundingboxleft":-1.7280000448226929,"actualboundingboxright":509.0398864746094,"fontboundingboxascent":76,"actualboundingboxdescent":-4.0319976806640625}},"72px ArialUnicodeMS, monospace":{"mmmmmmmmlli":{"width":527.80078125,"actualboundingboxascent":51.5390625,"actualboundingboxleft":-4.67578125,"actualboundingboxright":522.94921875,"fontboundingboxascent":77,"actualboundingboxdescent":0}},"72px ArialUnicodeMS, sans-serif":{"mmmmmmmmlli":{"width":527.80078125,"actualboundingboxascent":51.5390625,"actualboundingboxleft":-4.67578125,"actualboundingboxright":522.94921875,"fontboundingboxascent":77,"actualboundingboxdescent":0}},"72px ArialUnicodeMS, serif":{"mmmmmmmmlli":{"width":527.80078125,"actualboundingboxascent":51.5390625,"actualboundingboxleft":-4.67578125,"actualboundingboxright":522.94921875,"fontboundingboxascent":77,"actualboundingboxdescent":0}},"72px AvantGardeBkBT, monospace":{"mmmmmmmmlli":{"width":475.27734375,"actualboundingboxascent":48.375,"actualboundingboxleft":0.0703125,"actualboundingboxright":470.8828125,"fontboundingboxascent":65,"actualboundingboxdescent":0}},"72px AvantGardeBkBT, sans-serif":{"mmmmmmmmlli":{"width":544.751953125,"actualboundingboxascent":52.41600036621094,"actualboundingboxleft":-4.4639997482299805,"actualboundingboxright":539.9279174804688,"fontboundingboxascent":76,"actualboundingboxdescent":0}},"72px AvantGardeBkBT, serif":{"mmmmmmmmlli":{"width":510.76788330078125,"actualboundingboxascent":51.840003967285156,"actualboundingboxleft":-1.7280000448226929,"actualboundingboxright":509.0398864746094,"fontboundingboxascent":76,"actualboundingboxdescent":-4.0319976806640625}},"72px BankGothicMdBT, monospace":{"mmmmmmmmlli":{"width":475.27734375,"actualboundingboxascent":48.375,"actualboundingboxleft":0.0703125,"actualboundingboxright":470.8828125,"fontboundingboxascent":65,"actualboundingboxdescent":0}},"72px BankGothicMdBT, sans-serif":{"mmmmmmmmlli":{"width":544.751953125,"actualboundingboxascent":52.41600036621094,"actualboundingboxleft":-4.4639997482299805,"actualboundingboxright":539.9279174804688,"fontboundingboxascent":76,"actualboundingboxdescent":0}},"72px BankGothicMdBT, serif":{"mmmmmmmmlli":{"width":510.76788330078125,"actualboundingboxascent":51.840003967285156,"actualboundingboxleft":-1.7280000448226929,"actualboundingboxright":509.0398864746094,"fontboundingboxascent":76,"actualboundingboxdescent":-4.0319976806640625}},"72px Batang, monospace":{"mmmmmmmmlli":{"width":475.27734375,"actualboundingboxascent":48.375,"actualboundingboxleft":0.0703125,"actualboundingboxright":470.8828125,"fontboundingboxascent":65,"actualboundingboxdescent":0}},"72px Batang, sans-serif":{"mmmmmmmmlli":{"width":544.751953125,"actualboundingboxascent":52.41600036621094,"actualboundingboxleft":-4.4639997482299805,"actualboundingboxright":539.9279174804688,"fontboundingboxascent":76,"actualboundingboxdescent":0}},"72px Batang, serif":{"mmmmmmmmlli":{"width":510.76788330078125,"actualboundingboxascent":51.840003967285156,"actualboundingboxleft":-1.7280000448226929,"actualboundingboxright":509.0398864746094,"fontboundingboxascent":76,"actualboundingboxdescent":-4.0319976806640625}},"72px BitstreamVeraSansMono, monospace":{"mmmmmmmmlli":{"width":475.27734375,"actualboundingboxascent":48.375,"actualboundingboxleft":0.0703125,"actualboundingboxright":470.8828125,"fontboundingboxascent":65,"actualboundingboxdescent":0}},"72px BitstreamVeraSansMono, sans-serif":{"mmmmmmmmlli":{"width":544.751953125,"actualboundingboxascent":52.41600036621094,"actualboundingboxleft":-4.4639997482299805,"actualboundingboxright":539.9279174804688,"fontboundingboxascent":76,"actualboundingboxdescent":0}},"72px BitstreamVeraSansMono, serif":{"mmmmmmmmlli":{"width":510.76788330078125,"actualboundingboxascent":51.840003967285156,"actualboundingboxleft":-1.7280000448226929,"actualboundingboxright":509.0398864746094,"fontboundingboxascent":76,"actualboundingboxdescent":-4.0319976806640625}},"72px Calibri, monospace":{"mmmmmmmmlli":{"width":475.27734375,"actualboundingboxascent":48.375,"actualboundingboxleft":0.0703125,"actualboundingboxright":470.8828125,"fontboundingboxascent":65,"actualboundingboxdescent":0}},"72px Calibri, sans-serif":{"mmmmmmmmlli":{"width":544.751953125,"actualboundingboxascent":52.41600036621094,"actualboundingboxleft":-4.4639997482299805,"actualboundingboxright":539.9279174804688,"fontboundingboxascent":76,"actualboundingboxdescent":0}},"72px Calibri, serif":{"mmmmmmmmlli":{"width":510.76788330078125,"actualboundingboxascent":51.840003967285156,"actualboundingboxleft":-1.7280000448226929,"actualboundingboxright":509.0398864746094,"fontboundingboxascent":76,"actualboundingboxdescent":-4.0319976806640625}},"72px Century, monospace":{"mmmmmmmmlli":{"width":475.27734375,"actualboundingboxascent":48.375,"actualboundingboxleft":0.0703125,"actualboundingboxright":470.8828125,"fontboundingboxascent":65,"actualboundingboxdescent":0}},"72px Century, sans-serif":{"mmmmmmmmlli":{"width":544.751953125,"actualboundingboxascent":52.41600036621094,"actualboundingboxleft":-4.4639997482299805,"actualboundingboxright":539.9279174804688,"fontboundingboxascent":76,"actualboundingboxdescent":0}},"72px Century, serif":{"mmmmmmmmlli":{"width":510.76788330078125,"actualboundingboxascent":51.840003967285156,"actualboundingboxleft":-1.7280000448226929,"actualboundingboxright":509.0398864746094,"fontboundingboxascent":76,"actualboundingboxdescent":-4.0319976806640625}},"72px CenturyGothic, monospace":{"mmmmmmmmlli":{"width":475.27734375,"actualboundingboxascent":48.375,"actualboundingboxleft":0.0703125,"actualboundingboxright":470.8828125,"fontboundingboxascent":65,"actualboundingboxdescent":0}},"72px CenturyGothic, sans-serif":{"mmmmmmmmlli":{"width":544.751953125,"actualboundingboxascent":52.41600036621094,"actualboundingboxleft":-4.4639997482299805,"actualboundingboxright":539.9279174804688,"fontboundingboxascent":76,"actualboundingboxdescent":0}},"72px CenturyGothic, serif":{"mmmmmmmmlli":{"width":510.76788330078125,"actualboundingboxascent":51.840003967285156,"actualboundingboxleft":-1.7280000448226929,"actualboundingboxright":509.0398864746094,"fontboundingboxascent":76,"actualboundingboxdescent":-4.0319976806640625}},"72px Clarendon, monospace":{"mmmmmmmmlli":{"width":475.27734375,"actualboundingboxascent":48.375,"actualboundingboxleft":0.0703125,"actualboundingboxright":470.8828125,"fontboundingboxascent":65,"actualboundingboxdescent":0}},"72px Clarendon, sans-serif":{"mmmmmmmmlli":{"width":544.751953125,"actualboundingboxascent":52.41600036621094,"actualboundingboxleft":-4.4639997482299805,"actualboundingboxright":539.9279174804688,"fontboundingboxascent":76,"actualboundingboxdescent":0}},"72px Clarendon, serif":{"mmmmmmmmlli":{"width":510.76788330078125,"actualboundingboxascent":51.840003967285156,"actualboundingboxleft":-1.7280000448226929,"actualboundingboxright":509.0398864746094,"fontboundingboxascent":76,"actualboundingboxdescent":-4.0319976806640625}},"72px EUROSTILE, monospace":{"mmmmmmmmlli":{"width":475.27734375,"actualboundingboxascent":48.375,"actualboundingboxleft":0.0703125,"actualboundingboxright":470.8828125,"fontboundingboxascent":65,"actualboundingboxdescent":0}},"72px EUROSTILE, sans-serif":{"mmmmmmmmlli":{"width":544.751953125,"actualboundingboxascent":52.41600036621094,"actualboundingboxleft":-4.4639997482299805,"actualboundingboxright":539.9279174804688,"fontboundingboxascent":76,"actualboundingboxdescent":0}},"72px EUROSTILE, serif":{"mmmmmmmmlli":{"width":510.76788330078125,"actualboundingboxascent":51.840003967285156,"actualboundingboxleft":-1.7280000448226929,"actualboundingboxright":509.0398864746094,"fontboundingboxascent":76,"actualboundingboxdescent":-4.0319976806640625}},"72px FranklinGothic, monospace":{"mmmmmmmmlli":{"width":475.27734375,"actualboundingboxascent":48.375,"actualboundingboxleft":0.0703125,"actualboundingboxright":470.8828125,"fontboundingboxascent":65,"actualboundingboxdescent":0}},"72px FranklinGothic, sans-serif":{"mmmmmmmmlli":{"width":544.751953125,"actualboundingboxascent":52.41600036621094,"actualboundingboxleft":-4.4639997482299805,"actualboundingboxright":539.9279174804688,"fontboundingboxascent":76,"actualboundingboxdescent":0}},"72px FranklinGothic, serif":{"mmmmmmmmlli":{"width":510.76788330078125,"actualboundingboxascent":51.840003967285156,"actualboundingboxleft":-1.7280000448226929,"actualboundingboxright":509.0398864746094,"fontboundingboxascent":76,"actualboundingboxdescent":-4.0319976806640625}},"72px FuturaBkBT, monospace":{"mmmmmmmmlli":{"width":475.27734375,"actualboundingboxascent":48.375,"actualboundingboxleft":0.0703125,"actualboundingboxright":470.8828125,"fontboundingboxascent":65,"actualboundingboxdescent":0}},"72px FuturaBkBT, sans-serif":{"mmmmmmmmlli":{"width":544.751953125,"actualboundingboxascent":52.41600036621094,"actualboundingboxleft":-4.4639997482299805,"actualboundingboxright":539.9279174804688,"fontboundingboxascent":76,"actualboundingboxdescent":0}},"72px FuturaBkBT, serif":{"mmmmmmmmlli":{"width":510.76788330078125,"actualboundingboxascent":51.840003967285156,"actualboundingboxleft":-1.7280000448226929,"actualboundingboxright":509.0398864746094,"fontboundingboxascent":76,"actualboundingboxdescent":-4.0319976806640625}},"72px FuturaMdBT, monospace":{"mmmmmmmmlli":{"width":475.27734375,"actualboundingboxascent":48.375,"actualboundingboxleft":0.0703125,"actualboundingboxright":470.8828125,"fontboundingboxascent":65,"actualboundingboxdescent":0}},"72px FuturaMdBT, sans-serif":{"mmmmmmmmlli":{"width":544.751953125,"actualboundingboxascent":52.41600036621094,"actualboundingboxleft":-4.4639997482299805,"actualboundingboxright":539.9279174804688,"fontboundingboxascent":76,"actualboundingboxdescent":0}},"72px FuturaMdBT, serif":{"mmmmmmmmlli":{"width":510.76788330078125,"actualboundingboxascent":51.840003967285156,"actualboundingboxleft":-1.7280000448226929,"actualboundingboxright":509.0398864746094,"fontboundingboxascent":76,"actualboundingboxdescent":-4.0319976806640625}},"72px GOTHAM, monospace":{"mmmmmmmmlli":{"width":475.27734375,"actualboundingboxascent":48.375,"actualboundingboxleft":0.0703125,"actualboundingboxright":470.8828125,"fontboundingboxascent":65,"actualboundingboxdescent":0}},"72px GOTHAM, sans-serif":{"mmmmmmmmlli":{"width":544.751953125,"actualboundingboxascent":52.41600036621094,"actualboundingboxleft":-4.4639997482299805,"actualboundingboxright":539.9279174804688,"fontboundingboxascent":76,"actualboundingboxdescent":0}},"72px GOTHAM, serif":{"mmmmmmmmlli":{"width":510.76788330078125,"actualboundingboxascent":51.840003967285156,"actualboundingboxleft":-1.7280000448226929,"actualboundingboxright":509.0398864746094,"fontboundingboxascent":76,"actualboundingboxdescent":-4.0319976806640625}},"72px GillSans, monospace":{"mmmmmmmmlli":{"width":491.44921875,"actualboundingboxascent":49.11328125,"actualboundingboxleft":-4.25390625,"actualboundingboxright":487.3359375,"fontboundingboxascent":66,"actualboundingboxdescent":0}},"72px GillSans, sans-serif":{"mmmmmmmmlli":{"width":491.44921875,"actualboundingboxascent":49.11328125,"actualboundingboxleft":-4.25390625,"actualboundingboxright":487.3359375,"fontboundingboxascent":66,"actualboundingboxdescent":0}},"72px GillSans, serif":{"mmmmmmmmlli":{"width":491.44921875,"actualboundingboxascent":49.11328125,"actualboundingboxleft":-4.25390625,"actualboundingboxright":487.3359375,"fontboundingboxascent":66,"actualboundingboxdescent":0}},"72px HELV, monospace":{"mmmmmmmmlli":{"width":475.27734375,"actualboundingboxascent":48.375,"actualboundingboxleft":0.0703125,"actualboundingboxright":470.8828125,"fontboundingboxascent":65,"actualboundingboxdescent":0}},"72px HELV, sans-serif":{"mmmmmmmmlli":{"width":544.751953125,"actualboundingboxascent":52.41600036621094,"actualboundingboxleft":-4.4639997482299805,"actualboundingboxright":539.9279174804688,"fontboundingboxascent":76,"actualboundingboxdescent":0}},"72px HELV, serif":{"mmmmmmmmlli":{"width":510.76788330078125,"actualboundingboxascent":51.840003967285156,"actualboundingboxleft":-1.7280000448226929,"actualboundingboxright":509.0398864746094,"fontboundingboxascent":76,"actualboundingboxdescent":-4.0319976806640625}},"72px Haettenschweiler, monospace":{"mmmmmmmmlli":{"width":475.27734375,"actualboundingboxascent":48.375,"actualboundingboxleft":0.0703125,"actualboundingboxright":470.8828125,"fontboundingboxascent":65,"actualboundingboxdescent":0}},"72px Haettenschweiler, sans-serif":{"mmmmmmmmlli":{"width":544.751953125,"actualboundingboxascent":52.41600036621094,"actualboundingboxleft":-4.4639997482299805,"actualboundingboxright":539.9279174804688,"fontboundingboxascent":76,"actualboundingboxdescent":0}},"72px Haettenschweiler, serif":{"mmmmmmmmlli":{"width":510.76788330078125,"actualboundingboxascent":51.840003967285156,"actualboundingboxleft":-1.7280000448226929,"actualboundingboxright":509.0398864746094,"fontboundingboxascent":76,"actualboundingboxdescent":-4.0319976806640625}},"72px HelveticaNeue, monospace":{"mmmmmmmmlli":{"width":539.2800903320312,"actualboundingboxascent":51.407997131347656,"actualboundingboxleft":-4.6080002784729,"actualboundingboxright":534.3840942382812,"fontboundingboxascent":69,"actualboundingboxdescent":0}},"72px HelveticaNeue, sans-serif":{"mmmmmmmmlli":{"width":539.2800903320312,"actualboundingboxascent":51.407997131347656,"actualboundingboxleft":-4.6080002784729,"actualboundingboxright":534.3840942382812,"fontboundingboxascent":69,"actualboundingboxdescent":0}},"72px HelveticaNeue, serif":{"mmmmmmmmlli":{"width":539.2800903320312,"actualboundingboxascent":51.407997131347656,"actualboundingboxleft":-4.6080002784729,"actualboundingboxright":534.3840942382812,"fontboundingboxascent":69,"actualboundingboxdescent":0}},"72px Humanst521BT, monospace":{"mmmmmmmmlli":{"width":475.27734375,"actualboundingboxascent":48.375,"actualboundingboxleft":0.0703125,"actualboundingboxright":470.8828125,"fontboundingboxascent":65,"actualboundingboxdescent":0}},"72px Humanst521BT, sans-serif":{"mmmmmmmmlli":{"width":544.751953125,"actualboundingboxascent":52.41600036621094,"actualboundingboxleft":-4.4639997482299805,"actualboundingboxright":539.9279174804688,"fontboundingboxascent":76,"actualboundingboxdescent":0}},"72px Humanst521BT, serif":{"mmmmmmmmlli":{"width":510.76788330078125,"actualboundingboxascent":51.840003967285156,"actualboundingboxleft":-1.7280000448226929,"actualboundingboxright":509.0398864746094,"fontboundingboxascent":76,"actualboundingboxdescent":-4.0319976806640625}},"72px Leelawadee, monospace":{"mmmmmmmmlli":{"width":475.27734375,"actualboundingboxascent":48.375,"actualboundingboxleft":0.0703125,"actualboundingboxright":470.8828125,"fontboundingboxascent":65,"actualboundingboxdescent":0}},"72px Leelawadee, sans-serif":{"mmmmmmmmlli":{"width":544.751953125,"actualboundingboxascent":52.41600036621094,"actualboundingboxleft":-4.4639997482299805,"actualboundingboxright":539.9279174804688,"fontboundingboxascent":76,"actualboundingboxdescent":0}},"72px Leelawadee, serif":{"mmmmmmmmlli":{"width":510.76788330078125,"actualboundingboxascent":51.840003967285156,"actualboundingboxleft":-1.7280000448226929,"actualboundingboxright":509.0398864746094,"fontboundingboxascent":76,"actualboundingboxdescent":-4.0319976806640625}},"72px LetterGothic, monospace":{"mmmmmmmmlli":{"width":475.27734375,"actualboundingboxascent":48.375,"actualboundingboxleft":0.0703125,"actualboundingboxright":470.8828125,"fontboundingboxascent":65,"actualboundingboxdescent":0}},"72px LetterGothic, sans-serif":{"mmmmmmmmlli":{"width":544.751953125,"actualboundingboxascent":52.41600036621094,"actualboundingboxleft":-4.4639997482299805,"actualboundingboxright":539.9279174804688,"fontboundingboxascent":76,"actualboundingboxdescent":0}},"72px LetterGothic, serif":{"mmmmmmmmlli":{"width":510.76788330078125,"actualboundingboxascent":51.840003967285156,"actualboundingboxleft":-1.7280000448226929,"actualboundingboxright":509.0398864746094,"fontboundingboxascent":76,"actualboundingboxdescent":-4.0319976806640625}},"72px LevenimMT, monospace":{"mmmmmmmmlli":{"width":475.27734375,"actualboundingboxascent":48.375,"actualboundingboxleft":0.0703125,"actualboundingboxright":470.8828125,"fontboundingboxascent":65,"actualboundingboxdescent":0}},"72px LevenimMT, sans-serif":{"mmmmmmmmlli":{"width":544.751953125,"actualboundingboxascent":52.41600036621094,"actualboundingboxleft":-4.4639997482299805,"actualboundingboxright":539.9279174804688,"fontboundingboxascent":76,"actualboundingboxdescent":0}},"72px LevenimMT, serif":{"mmmmmmmmlli":{"width":510.76788330078125,"actualboundingboxascent":51.840003967285156,"actualboundingboxleft":-1.7280000448226929,"actualboundingboxright":509.0398864746094,"fontboundingboxascent":76,"actualboundingboxdescent":-4.0319976806640625}},"72px LucidaBright, monospace":{"mmmmmmmmlli":{"width":475.27734375,"actualboundingboxascent":48.375,"actualboundingboxleft":0.0703125,"actualboundingboxright":470.8828125,"fontboundingboxascent":65,"actualboundingboxdescent":0}},"72px LucidaBright, sans-serif":{"mmmmmmmmlli":{"width":544.751953125,"actualboundingboxascent":52.41600036621094,"actualboundingboxleft":-4.4639997482299805,"actualboundingboxright":539.9279174804688,"fontboundingboxascent":76,"actualboundingboxdescent":0}},"72px LucidaBright, serif":{"mmmmmmmmlli":{"width":510.76788330078125,"actualboundingboxascent":51.840003967285156,"actualboundingboxleft":-1.7280000448226929,"actualboundingboxright":509.0398864746094,"fontboundingboxascent":76,"actualboundingboxdescent":-4.0319976806640625}},"72px LucidaSans, monospace":{"mmmmmmmmlli":{"width":475.27734375,"actualboundingboxascent":48.375,"actualboundingboxleft":0.0703125,"actualboundingboxright":470.8828125,"fontboundingboxascent":65,"actualboundingboxdescent":0}},"72px LucidaSans, sans-serif":{"mmmmmmmmlli":{"width":544.751953125,"actualboundingboxascent":52.41600036621094,"actualboundingboxleft":-4.4639997482299805,"actualboundingboxright":539.9279174804688,"fontboundingboxascent":76,"actualboundingboxdescent":0}},"72px LucidaSans, serif":{"mmmmmmmmlli":{"width":510.76788330078125,"actualboundingboxascent":51.840003967285156,"actualboundingboxleft":-1.7280000448226929,"actualboundingboxright":509.0398864746094,"fontboundingboxascent":76,"actualboundingboxdescent":-4.0319976806640625}},"72px MSMincho, monospace":{"mmmmmmmmlli":{"width":475.27734375,"actualboundingboxascent":48.375,"actualboundingboxleft":0.0703125,"actualboundingboxright":470.8828125,"fontboundingboxascent":65,"actualboundingboxdescent":0}},"72px MSMincho, sans-serif":{"mmmmmmmmlli":{"width":544.751953125,"actualboundingboxascent":52.41600036621094,"actualboundingboxleft":-4.4639997482299805,"actualboundingboxright":539.9279174804688,"fontboundingboxascent":76,"actualboundingboxdescent":0}},"72px MSMincho, serif":{"mmmmmmmmlli":{"width":510.76788330078125,"actualboundingboxascent":51.840003967285156,"actualboundingboxleft":-1.7280000448226929,"actualboundingboxright":509.0398864746094,"fontboundingboxascent":76,"actualboundingboxdescent":-4.0319976806640625}},"72px MSOutlook, monospace":{"mmmmmmmmlli":{"width":475.27734375,"actualboundingboxascent":48.375,"actualboundingboxleft":0.0703125,"actualboundingboxright":470.8828125,"fontboundingboxascent":65,"actualboundingboxdescent":0}},"72px MSOutlook, sans-serif":{"mmmmmmmmlli":{"width":544.751953125,"actualboundingboxascent":52.41600036621094,"actualboundingboxleft":-4.4639997482299805,"actualboundingboxright":539.9279174804688,"fontboundingboxascent":76,"actualboundingboxdescent":0}},"72px MSOutlook, serif":{"mmmmmmmmlli":{"width":510.76788330078125,"actualboundingboxascent":51.840003967285156,"actualboundingboxleft":-1.7280000448226929,"actualboundingboxright":509.0398864746094,"fontboundingboxascent":76,"actualboundingboxdescent":-4.0319976806640625}},"72px MSReferenceSpecialty, monospace":{"mmmmmmmmlli":{"width":475.27734375,"actualboundingboxascent":48.375,"actualboundingboxleft":0.0703125,"actualboundingboxright":470.8828125,"fontboundingboxascent":65,"actualboundingboxdescent":0}},"72px MSReferenceSpecialty, sans-serif":{"mmmmmmmmlli":{"width":544.751953125,"actualboundingboxascent":52.41600036621094,"actualboundingboxleft":-4.4639997482299805,"actualboundingboxright":539.9279174804688,"fontboundingboxascent":76,"actualboundingboxdescent":0}},"72px MSReferenceSpecialty, serif":{"mmmmmmmmlli":{"width":510.76788330078125,"actualboundingboxascent":51.840003967285156,"actualboundingboxleft":-1.7280000448226929,"actualboundingboxright":509.0398864746094,"fontboundingboxascent":76,"actualboundingboxdescent":-4.0319976806640625}},"72px MSUIGothic, monospace":{"mmmmmmmmlli":{"width":475.27734375,"actualboundingboxascent":48.375,"actualboundingboxleft":0.0703125,"actualboundingboxright":470.8828125,"fontboundingboxascent":65,"actualboundingboxdescent":0}},"72px MSUIGothic, sans-serif":{"mmmmmmmmlli":{"width":544.751953125,"actualboundingboxascent":52.41600036621094,"actualboundingboxleft":-4.4639997482299805,"actualboundingboxright":539.9279174804688,"fontboundingboxascent":76,"actualboundingboxdescent":0}},"72px MSUIGothic, serif":{"mmmmmmmmlli":{"width":510.76788330078125,"actualboundingboxascent":51.840003967285156,"actualboundingboxleft":-1.7280000448226929,"actualboundingboxright":509.0398864746094,"fontboundingboxascent":76,"actualboundingboxdescent":-4.0319976806640625}},"72px MTExtra, monospace":{"mmmmmmmmlli":{"width":475.27734375,"actualboundingboxascent":48.375,"actualboundingboxleft":0.0703125,"actualboundingboxright":470.8828125,"fontboundingboxascent":65,"actualboundingboxdescent":0}},"72px MTExtra, sans-serif":{"mmmmmmmmlli":{"width":544.751953125,"actualboundingboxascent":52.41600036621094,"actualboundingboxleft":-4.4639997482299805,"actualboundingboxright":539.9279174804688,"fontboundingboxascent":76,"actualboundingboxdescent":0}},"72px MTExtra, serif":{"mmmmmmmmlli":{"width":510.76788330078125,"actualboundingboxascent":51.840003967285156,"actualboundingboxleft":-1.7280000448226929,"actualboundingboxright":509.0398864746094,"fontboundingboxascent":76,"actualboundingboxdescent":-4.0319976806640625}},"72px MYRIADPRO, monospace":{"mmmmmmmmlli":{"width":475.27734375,"actualboundingboxascent":48.375,"actualboundingboxleft":0.0703125,"actualboundingboxright":470.8828125,"fontboundingboxascent":65,"actualboundingboxdescent":0}},"72px MYRIADPRO, sans-serif":{"mmmmmmmmlli":{"width":544.751953125,"actualboundingboxascent":52.41600036621094,"actualboundingboxleft":-4.4639997482299805,"actualboundingboxright":539.9279174804688,"fontboundingboxascent":76,"actualboundingboxdescent":0}},"72px MYRIADPRO, serif":{"mmmmmmmmlli":{"width":510.76788330078125,"actualboundingboxascent":51.840003967285156,"actualboundingboxleft":-1.7280000448226929,"actualboundingboxright":509.0398864746094,"fontboundingboxascent":76,"actualboundingboxdescent":-4.0319976806640625}},"72px Marlett, monospace":{"mmmmmmmmlli":{"width":475.27734375,"actualboundingboxascent":48.375,"actualboundingboxleft":0.0703125,"actualboundingboxright":470.8828125,"fontboundingboxascent":65,"actualboundingboxdescent":0}},"72px Marlett, sans-serif":{"mmmmmmmmlli":{"width":544.751953125,"actualboundingboxascent":52.41600036621094,"actualboundingboxleft":-4.4639997482299805,"actualboundingboxright":539.9279174804688,"fontboundingboxascent":76,"actualboundingboxdescent":0}},"72px Marlett, serif":{"mmmmmmmmlli":{"width":510.76788330078125,"actualboundingboxascent":51.840003967285156,"actualboundingboxleft":-1.7280000448226929,"actualboundingboxright":509.0398864746094,"fontboundingboxascent":76,"actualboundingboxdescent":-4.0319976806640625}},"72px MeiryoUI, monospace":{"mmmmmmmmlli":{"width":475.27734375,"actualboundingboxascent":48.375,"actualboundingboxleft":0.0703125,"actualboundingboxright":470.8828125,"fontboundingboxascent":65,"actualboundingboxdescent":0}},"72px MeiryoUI, sans-serif":{"mmmmmmmmlli":{"width":544.751953125,"actualboundingboxascent":52.41600036621094,"actualboundingboxleft":-4.4639997482299805,"actualboundingboxright":539.9279174804688,"fontboundingboxascent":76,"actualboundingboxdescent":0}},"72px MeiryoUI, serif":{"mmmmmmmmlli":{"width":510.76788330078125,"actualboundingboxascent":51.840003967285156,"actualboundingboxleft":-1.7280000448226929,"actualboundingboxright":509.0398864746094,"fontboundingboxascent":76,"actualboundingboxdescent":-4.0319976806640625}},"72px MicrosoftUighur, monospace":{"mmmmmmmmlli":{"width":475.27734375,"actualboundingboxascent":48.375,"actualboundingboxleft":0.0703125,"actualboundingboxright":470.8828125,"fontboundingboxascent":65,"actualboundingboxdescent":0}},"72px MicrosoftUighur, sans-serif":{"mmmmmmmmlli":{"width":544.751953125,"actualboundingboxascent":52.41600036621094,"actualboundingboxleft":-4.4639997482299805,"actualboundingboxright":539.9279174804688,"fontboundingboxascent":76,"actualboundingboxdescent":0}},"72px MicrosoftUighur, serif":{"mmmmmmmmlli":{"width":510.76788330078125,"actualboundingboxascent":51.840003967285156,"actualboundingboxleft":-1.7280000448226929,"actualboundingboxright":509.0398864746094,"fontboundingboxascent":76,"actualboundingboxdescent":-4.0319976806640625}},"72px MinionPro, monospace":{"mmmmmmmmlli":{"width":475.27734375,"actualboundingboxascent":48.375,"actualboundingboxleft":0.0703125,"actualboundingboxright":470.8828125,"fontboundingboxascent":65,"actualboundingboxdescent":0}},"72px MinionPro, sans-serif":{"mmmmmmmmlli":{"width":544.751953125,"actualboundingboxascent":52.41600036621094,"actualboundingboxleft":-4.4639997482299805,"actualboundingboxright":539.9279174804688,"fontboundingboxascent":76,"actualboundingboxdescent":0}},"72px MinionPro, serif":{"mmmmmmmmlli":{"width":510.76788330078125,"actualboundingboxascent":51.840003967285156,"actualboundingboxleft":-1.7280000448226929,"actualboundingboxright":509.0398864746094,"fontboundingboxascent":76,"actualboundingboxdescent":-4.0319976806640625}},"72px MonotypeCorsiva, monospace":{"mmmmmmmmlli":{"width":475.27734375,"actualboundingboxascent":48.375,"actualboundingboxleft":0.0703125,"actualboundingboxright":470.8828125,"fontboundingboxascent":65,"actualboundingboxdescent":0}},"72px MonotypeCorsiva, sans-serif":{"mmmmmmmmlli":{"width":544.751953125,"actualboundingboxascent":52.41600036621094,"actualboundingboxleft":-4.4639997482299805,"actualboundingboxright":539.9279174804688,"fontboundingboxascent":76,"actualboundingboxdescent":0}},"72px MonotypeCorsiva, serif":{"mmmmmmmmlli":{"width":510.76788330078125,"actualboundingboxascent":51.840003967285156,"actualboundingboxleft":-1.7280000448226929,"actualboundingboxright":509.0398864746094,"fontboundingboxascent":76,"actualboundingboxdescent":-4.0319976806640625}},"72px PMingLiU, monospace":{"mmmmmmmmlli":{"width":475.27734375,"actualboundingboxascent":48.375,"actualboundingboxleft":0.0703125,"actualboundingboxright":470.8828125,"fontboundingboxascent":65,"actualboundingboxdescent":0}},"72px PMingLiU, sans-serif":{"mmmmmmmmlli":{"width":544.751953125,"actualboundingboxascent":52.41600036621094,"actualboundingboxleft":-4.4639997482299805,"actualboundingboxright":539.9279174804688,"fontboundingboxascent":76,"actualboundingboxdescent":0}},"72px PMingLiU, serif":{"mmmmmmmmlli":{"width":510.76788330078125,"actualboundingboxascent":51.840003967285156,"actualboundingboxleft":-1.7280000448226929,"actualboundingboxright":509.0398864746094,"fontboundingboxascent":76,"actualboundingboxdescent":-4.0319976806640625}},"72px Pristina, monospace":{"mmmmmmmmlli":{"width":475.27734375,"actualboundingboxascent":48.375,"actualboundingboxleft":0.0703125,"actualboundingboxright":470.8828125,"fontboundingboxascent":65,"actualboundingboxdescent":0}},"72px Pristina, sans-serif":{"mmmmmmmmlli":{"width":544.751953125,"actualboundingboxascent":52.41600036621094,"actualboundingboxleft":-4.4639997482299805,"actualboundingboxright":539.9279174804688,"fontboundingboxascent":76,"actualboundingboxdescent":0}},"72px Pristina, serif":{"mmmmmmmmlli":{"width":510.76788330078125,"actualboundingboxascent":51.840003967285156,"actualboundingboxleft":-1.7280000448226929,"actualboundingboxright":509.0398864746094,"fontboundingboxascent":76,"actualboundingboxdescent":-4.0319976806640625}},"72px SCRIPTINA, monospace":{"mmmmmmmmlli":{"width":475.27734375,"actualboundingboxascent":48.375,"actualboundingboxleft":0.0703125,"actualboundingboxright":470.8828125,"fontboundingboxascent":65,"actualboundingboxdescent":0}},"72px SCRIPTINA, sans-serif":{"mmmmmmmmlli":{"width":544.751953125,"actualboundingboxascent":52.41600036621094,"actualboundingboxleft":-4.4639997482299805,"actualboundingboxright":539.9279174804688,"fontboundingboxascent":76,"actualboundingboxdescent":0}},"72px SCRIPTINA, serif":{"mmmmmmmmlli":{"width":510.76788330078125,"actualboundingboxascent":51.840003967285156,"actualboundingboxleft":-1.7280000448226929,"actualboundingboxright":509.0398864746094,"fontboundingboxascent":76,"actualboundingboxdescent":-4.0319976806640625}},"72px SegoeUILight, monospace":{"mmmmmmmmlli":{"width":475.27734375,"actualboundingboxascent":48.375,"actualboundingboxleft":0.0703125,"actualboundingboxright":470.8828125,"fontboundingboxascent":65,"actualboundingboxdescent":0}},"72px SegoeUILight, sans-serif":{"mmmmmmmmlli":{"width":544.751953125,"actualboundingboxascent":52.41600036621094,"actualboundingboxleft":-4.4639997482299805,"actualboundingboxright":539.9279174804688,"fontboundingboxascent":76,"actualboundingboxdescent":0}},"72px SegoeUILight, serif":{"mmmmmmmmlli":{"width":510.76788330078125,"actualboundingboxascent":51.840003967285156,"actualboundingboxleft":-1.7280000448226929,"actualboundingboxright":509.0398864746094,"fontboundingboxascent":76,"actualboundingboxdescent":-4.0319976806640625}},"72px Serifa, monospace":{"mmmmmmmmlli":{"width":475.27734375,"actualboundingboxascent":48.375,"actualboundingboxleft":0.0703125,"actualboundingboxright":470.8828125,"fontboundingboxascent":65,"actualboundingboxdescent":0}},"72px Serifa, sans-serif":{"mmmmmmmmlli":{"width":544.751953125,"actualboundingboxascent":52.41600036621094,"actualboundingboxleft":-4.4639997482299805,"actualboundingboxright":539.9279174804688,"fontboundingboxascent":76,"actualboundingboxdescent":0}},"72px Serifa, serif":{"mmmmmmmmlli":{"width":510.76788330078125,"actualboundingboxascent":51.840003967285156,"actualboundingboxleft":-1.7280000448226929,"actualboundingboxright":509.0398864746094,"fontboundingboxascent":76,"actualboundingboxdescent":-4.0319976806640625}},"72px SimHei, monospace":{"mmmmmmmmlli":{"width":475.27734375,"actualboundingboxascent":48.375,"actualboundingboxleft":0.0703125,"actualboundingboxright":470.8828125,"fontboundingboxascent":65,"actualboundingboxdescent":0}},"72px SimHei, sans-serif":{"mmmmmmmmlli":{"width":544.751953125,"actualboundingboxascent":52.41600036621094,"actualboundingboxleft":-4.4639997482299805,"actualboundingboxright":539.9279174804688,"fontboundingboxascent":76,"actualboundingboxdescent":0}},"72px SimHei, serif":{"mmmmmmmmlli":{"width":510.76788330078125,"actualboundingboxascent":51.840003967285156,"actualboundingboxleft":-1.7280000448226929,"actualboundingboxright":509.0398864746094,"fontboundingboxascent":76,"actualboundingboxdescent":-4.0319976806640625}},"72px SmallFonts, monospace":{"mmmmmmmmlli":{"width":475.27734375,"actualboundingboxascent":48.375,"actualboundingboxleft":0.0703125,"actualboundingboxright":470.8828125,"fontboundingboxascent":65,"actualboundingboxdescent":0}},"72px SmallFonts, sans-serif":{"mmmmmmmmlli":{"width":544.751953125,"actualboundingboxascent":52.41600036621094,"actualboundingboxleft":-4.4639997482299805,"actualboundingboxright":539.9279174804688,"fontboundingboxascent":76,"actualboundingboxdescent":0}},"72px SmallFonts, serif":{"mmmmmmmmlli":{"width":510.76788330078125,"actualboundingboxascent":51.840003967285156,"actualboundingboxleft":-1.7280000448226929,"actualboundingboxright":509.0398864746094,"fontboundingboxascent":76,"actualboundingboxdescent":-4.0319976806640625}},"72px Staccato222BT, monospace":{"mmmmmmmmlli":{"width":475.27734375,"actualboundingboxascent":48.375,"actualboundingboxleft":0.0703125,"actualboundingboxright":470.8828125,"fontboundingboxascent":65,"actualboundingboxdescent":0}},"72px Staccato222BT, sans-serif":{"mmmmmmmmlli":{"width":544.751953125,"actualboundingboxascent":52.41600036621094,"actualboundingboxleft":-4.4639997482299805,"actualboundingboxright":539.9279174804688,"fontboundingboxascent":76,"actualboundingboxdescent":0}},"72px Staccato222BT, serif":{"mmmmmmmmlli":{"width":510.76788330078125,"actualboundingboxascent":51.840003967285156,"actualboundingboxleft":-1.7280000448226929,"actualboundingboxright":509.0398864746094,"fontboundingboxascent":76,"actualboundingboxdescent":-4.0319976806640625}},"72px TRAJANPRO, monospace":{"mmmmmmmmlli":{"width":475.27734375,"actualboundingboxascent":48.375,"actualboundingboxleft":0.0703125,"actualboundingboxright":470.8828125,"fontboundingboxascent":65,"actualboundingboxdescent":0}},"72px TRAJANPRO, sans-serif":{"mmmmmmmmlli":{"width":544.751953125,"actualboundingboxascent":52.41600036621094,"actualboundingboxleft":-4.4639997482299805,"actualboundingboxright":539.9279174804688,"fontboundingboxascent":76,"actualboundingboxdescent":0}},"72px TRAJANPRO, serif":{"mmmmmmmmlli":{"width":510.76788330078125,"actualboundingboxascent":51.840003967285156,"actualboundingboxleft":-1.7280000448226929,"actualboundingboxright":509.0398864746094,"fontboundingboxascent":76,"actualboundingboxdescent":-4.0319976806640625}},"72px UniversCE55Medium, monospace":{"mmmmmmmmlli":{"width":475.27734375,"actualboundingboxascent":48.375,"actualboundingboxleft":0.0703125,"actualboundingboxright":470.8828125,"fontboundingboxascent":65,"actualboundingboxdescent":0}},"72px UniversCE55Medium, sans-serif":{"mmmmmmmmlli":{"width":544.751953125,"actualboundingboxascent":52.41600036621094,"actualboundingboxleft":-4.4639997482299805,"actualboundingboxright":539.9279174804688,"fontboundingboxascent":76,"actualboundingboxdescent":0}},"72px UniversCE55Medium, serif":{"mmmmmmmmlli":{"width":510.76788330078125,"actualboundingboxascent":51.840003967285156,"actualboundingboxleft":-1.7280000448226929,"actualboundingboxright":509.0398864746094,"fontboundingboxascent":76,"actualboundingboxdescent":-4.0319976806640625}},"72px Vrinda, monospace":{"mmmmmmmmlli":{"width":475.27734375,"actualboundingboxascent":48.375,"actualboundingboxleft":0.0703125,"actualboundingboxright":470.8828125,"fontboundingboxascent":65,"actualboundingboxdescent":0}},"72px Vrinda, sans-serif":{"mmmmmmmmlli":{"width":544.751953125,"actualboundingboxascent":52.41600036621094,"actualboundingboxleft":-4.4639997482299805,"actualboundingboxright":539.9279174804688,"fontboundingboxascent":76,"actualboundingboxdescent":0}},"72px Vrinda, serif":{"mmmmmmmmlli":{"width":510.76788330078125,"actualboundingboxascent":51.840003967285156,"actualboundingboxleft":-1.7280000448226929,"actualboundingboxright":509.0398864746094,"fontboundingboxascent":76,"actualboundingboxdescent":-4.0319976806640625}},"72px ZWAdobeF, monospace":{"mmmmmmmmlli":{"width":475.27734375,"actualboundingboxascent":48.375,"actualboundingboxleft":0.0703125,"actualboundingboxright":470.8828125,"fontboundingboxascent":65,"actualboundingboxdescent":0}},"72px ZWAdobeF, sans-serif":{"mmmmmmmmlli":{"width":544.751953125,"actualboundingboxascent":52.41600036621094,"actualboundingboxleft":-4.4639997482299805,"actualboundingboxright":539.9279174804688,"fontboundingboxascent":76,"actualboundingboxdescent":0}},"72px ZWAdobeF, serif":{"mmmmmmmmlli":{"width":510.76788330078125,"actualboundingboxascent":51.840003967285156,"actualboundingboxleft":-1.7280000448226929,"actualboundingboxright":509.0398864746094,"fontboundingboxascent":76,"actualboundingboxdescent":-4.0319976806640625}}},"imgsres":{"94px sans-serif":{"18,90,1,1":"214,122,6,255","38,77,1,1":"255,255,255,255","48,28,1,1":"0,0,0,0","94,23,1,1":"0,0,0,0","26,46,1,1":"253,243,245,255","47,23,1,1":"0,0,0,0","37,17,1,1":"0,0,0,255","62,28,1,1":"204,131,217,255"}},"glres":{"3379":16384,"3410":8,"3411":8,"3412":8,"3413":8,"3414":24,"3415":0,"7936":"WebKit","7937":"WebKit WebGL","7938":"WebGL 1.0 (OpenGL ES 2.0 Chromium)","34024":16384,"34047":16,"34076":16384,"34921":16,"34930":16,"35660":16,"35661":32,"35724":"WebGL GLSL ES 1.0 (OpenGL ES GLSL ES 1.0 Chromium)","36347":1024,"36348":31,"36349":1024,"37445":"Google Inc. (Apple)","37446":"ANGLE (Apple, Apple M1 Max, OpenGL 4.1)"},"jpg":"data:image/png;base64, ","jpg2":{"data":"0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255","url":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAAXNSR0IArs4c6QAAABNJREFUGFdjZGBg+M+ABhhpIAgAJ4wFAdoS1GgAAAAASUVORK5CYII="},"canplay":{"audio/aac; codecs=\"flac\"":"","audio/flac":"probably","audio/mpeg; codecs=\"mp3\"":"probably","audio/mpeg; codecs=\"vp9\"":"","audio/webm; codecs=\"vp8\"":"","audio/webz":"","audio/x-m4a; codecs=\"mp3\"":"","audio/x-m4a; codecs=\"vp8, mp4a.40\"":"","audio/x-m4a; codecs=\"vp9, mp4a.40.2\"":"","video/mp4":"maybe","video/mp4; codecs=\"ac-3\"":"","video/mp4; codecs=\"avc1.42011E\"":"","video/mp4; codecs=\"avc1.42E009\"":"maybe","video/mp4; codecs=\"avc1.42E034\"":"probably","video/mp4; codecs=\"avc1.42F01E\"":"probably","video/mp4; codecs=\"avc1.4D001E\"":"probably","video/mp4; codecs=\"avc3.42001E\"":"probably","video/mp4; codecs=\"avc3.42E01E, mp4a.40.29\"":"probably","video/mp4; codecs=\"flac\"":"probably","video/mp4; codecs=\"hev1\"":"","video/mp4; codecs=\"hvc1x\"":"","video/mp4; codecs=\"lavc1337\"":"","video/mp4; codecs=\"mp4a.40.02\"":"probably","video/mp4; codecs=\"mp4a.40.5\"":"probably","video/mp4; codecs=\"mp4a.67\"":"probably","video/mp4; codecs=\"opus\"":"probably","video/ogg; codecs=\"flac\"":"probably","video/ogg; codecs=\"opus\"":"probably","video/ogg; codecs=\"vp8\"":"probably","video/webm":"maybe","video/webm; codecs=\"av01.0.04M.08\"":"probably","video/webm; codecs=\"vp09.02.10.08\"":"probably","video/x-dv":"","video/x-m4v; codecs=\"avc1.42AC23\"":"maybe"},"useragentdata":{"highvalue":{"architecture":"arm","bitness":"64","brands":[{"brand":"Google Chrome","version":"117"},{"brand":"Not;A=Brand","version":"8"},{"brand":"Chromium","version":"117"}],"fullVersionList":[{"brand":"Google Chrome","version":"117.0.5938.149"},{"brand":"Not;A=Brand","version":"8.0.0.0"},{"brand":"Chromium","version":"117.0.5938.149"}],"mobile":false,"model":"","platform":"macOS","platformVersion":"13.5.0","uaFullVersion":"117.0.5938.149","wow64":false},"brands":[{"brand":"Google Chrome","version":"117"},{"brand":"Not;A=Brand","version":"8"},{"brand":"Chromium","version":"117"}],"mobile":false,"platform":"macOS"},"webglimg":{"strs":"|0-6040|171|1-2|191|169|0|3|191|112|0|4|128|111|0|5|128|55|0|3|64|0-380|170|2|0|191|225|2|3|255|222|2|6|255|220|2|9|255|218|1|12|255|215|1|15|255|160|1|14|191|106|0|11|128|105|0|12|128|52|0|7|64|0-360|57|1|0|64|224|4|2|255|222|4|5|255|219|4|8|255|217|3|11|255|215|3|14|255|212|3|17|255|210|2|20|255|208|2|23|255|205|1|26|255|203|1|29|255|201|1|32|255|148|0|26|191|98|0|19|128|97|0|20|128|48|0|11|64|0-340|223|6|1|255|221|6|4|255|218|6|7|255|216|5|10|255|214|5|13|255|211|4|16|255|209|4|19|255|207|4|22|255|204|3|25|255|202|3|28|255|200|3|31|255|198|2|34|255|195|2|37|255|193|2|40|255|191|1|42|255|188|1|45|255|139|1|36|191|92|0|26|128|91|0|27|128|45|0|14|64|0-320|166|6|0|191|220|8|3|255|218|7|6|255|215|7|9|255|213|7|12|255|211|6|15|255|208|6|18|255|206|6|21|255|204|5|24|255|201|5|27|255|199|5|30|255|197|4|33|255|194|4|36|255|192|4|39|255|190|3|42|255|187|3|45|255|185|3|47|255|183|2|50|255|180|2|53|255|178|1|56|255|176|1|59|255|174|1|62|255|128|0|49|191|85|0|34|128|84|0|36|128|41|0|19|64|0-296|55|3|0|64|219|10|2|255|217|9|5|255|214|9|8|255|212|9|11|255|210|8|14|255|207|8|17|255|205|8|20|255|203|7|23|255|200|7|26|255|198|7|29|255|196|6|32|255|194|6|35|255|191|6|38|255|189|5|41|255|187|5|44|255|184|4|47|255|182|4|50|255|180|4|52|255|177|3|55|255|175|3|58|255|173|3|61|255|170|2|64|255|168|2|67|255|166|2|70|255|163|1|73|255|161|1|76|255|119|1|59|191|78|0|41|128|77|0|43|128|38|0|22|64|0-280|218|12|1|255|216|11|4|255|214|11|7|255|211|11|10|255|209|10|13|255|207|10|16|255|204|10|19|255|202|9|22|255|200|9|25|255|197|9|28|255|195|8|31|255|193|8|34|255|190|7|37|255|188|7|40|255|186|7|43|255|183|6|46|255|181|6|49|255|179|6|52|255|176|5|55|255|174|5|57|255|172|5|60|255|169|4|63|255|167|4|66|255|165|4|69|255|163|3|72|255|160|3|75|255|158|3|78|255|156|2|81|255|153|2|84|255|151|1|87|255|149|1|90|255|146|1|93|255|108|0|72|191|71|0|50|128|70|0|51|128|34|0|26|64|0-256|163|11|1|191|215|13|4|255|213|13|6|255|210|13|9|255|208|12-2|255|206|12|15|255|203|12|18|255|201|11|21|255|199|11|24|255|196|10|27|255|194|10|30|255|192|10|33|255|189|9|36|255|187|9|39|255|185|9|42|255|183|8|45|255|180|8|48|255|178|8|51|255|176|7|54|255|173|7|57|255|171|7|59|255|169|6|62|255|166|6|65|255|164|6|68|255|162|5|71|255|159|5|74|255|157|4|77|255|155|4|80|255|152|4|83|255|150|3|86|255|148|3|89|255|145|3|92|255|143|2|95|255|141|2|98|255|139|2|101|255|136|1|104|255|134|1|107|255|99|1|83|191|65|0|57|128|64|0|58|128|31|0|30|64|0-236|54|4|0|64|214|15|3|255|212|15|6|255|209|15|8|255|207|14|11|255|205|14-2|255|203|13|17|255|200|13|20|255|198|13|23|255|196|12|26|255|193|12|29|255|191|12|32|255|189|11|35|255|186|11|38|255|184|11|41|255|182|10|44|255|179|10|47|255|177|10|50|255|175|9|53|255|172|9|56|255|170|9|59|255|168|8|62|255|165|8|64|255|163|7|67|255|161|7|70|255|159|7|73|255|156|6|76|255|154|6|79|255|152|6|82|255|149|5|85|255|147|5|88|255|145|5|91|255|142|4|94|255|140|4|97|255|138|4|100|255|135|3|103|255|133|3|106|255|131|3|109|255|128|2|112|255|126|2|115|255|124|1|118|255|121|1|120|255|119|1|123|255|88|0|95|191|57|0|65|128|56|0|66|128|28|0|34|64|0-216|213|17|2|255|211|17|5|255|209|16|8|255|206|16|11|255|204|16|13|255|202|15|16|255|199|15|19|255|197|15|22|255|195|14|25|255|192|14|28|255|190|14|31|255|188|13|34|255|185|13|37|255|183|13|40|255|181|12|43|255|178|12|46|255|176|12|49|255|174|11|52|255|172|11|55|255|169|10|58|255|167|10|61|255|165|10|64|255|162|9|67|255|160|9|69|255|158|9|72|255|155|8|75|255|153|8|78|255|151|8|81|255|148|7|84|255|146|7|87|255|144|7|90|255|141|6|93|255|139|6|96|255|137|6|99|255|134|5|102|255|132|5|105|255|130|4|108|255|128|4|111|255|125|4|114|255|123|3|117|255|121|3|120|255|118|3|123|255|116|2|125|255|114|2|128|255|111|2|131|255|109|1|134|255|107|1|137|255|78|1|105|191|51|0|72|128|50|0|73|128|24|0|37|64|0-196|159|14|1|191|210|19|4|255|208|18|7|255|205|18|10|255|203|18|13|255|201|17|16|255|198|17|18|255|196|17|21|255|194|16|24|255|192|16|27|255|189|16|30|255|187|15|33|255|185|15|36|255|182|15|39|255|180|14|42|255|178|14|45|255|175|13|48|255|173|13|51|255|171|13|54|255|168|12|57|255|166|12|60|255|164|12|63|255|161|11|66|255|159|11|69|255|157|11|72|255|154|10|74|255|152|10|77|255|150|10|80|255|148|9|83|255|145|9|86|255|143|9|89|255|141|8|92|255|138|8|95|255|136|7|98|255|134|7|101|255|131|7|104|255|129|6|107|255|127|6|110|255|124|6|113|255|122|5|116|255|120|5|119|255|117|5|122|255|115|4|125|255|113|4|127|255|110|4|130|255|108|3|133|255|106|3|136|255|103|3|139|255|101|2|142|255|99|2|145|255|97|1|148|255|94|1|151|255|92|1|154|255|68|0|118|191|44|0|80|128|43|0|82|128|21|0|42|64|0-172|53|5|0|64|209|21|3|255|207|20|6|255|205|20|9|255|202|20|12|255|200|19|15|255|198|19|18|255|195|19|21|255|193|18|23|255|191|18|26|255|188|18|29|255|186|17|32|255|184|17|35|255|181|16|38|255|179|16|41|255|177|16|44|255|174|15|47|255|172|15|50|255|170|15|53|255|168|14|56|255|165|14|59|255|163|14|62|255|161|13|65|255|158|13|68|255|156|13|71|255|154|12|74|255|151|12|76|255|149|12|79|255|147|11|82|255|144|11|85|255|142|10|88|255|140|10|91|255|137|10|94|255|135|9|97|255|133|9|100|255|130|9|103|255|128|8|106|255|126|8|109|255|123|8|112|255|121|7|115|255|119|7|118|255|117|7|121|255|114|6|124|255|112|6|127|255|110|6|130|255|107|5|132|255|105|5|135|255|103|4|138|255|100|4|141|255|98|4|144|255|96|3|147|255|93|3|150|255|91|3|153|255|89|2|156|255|86|2|159|255|84|2|162|255|82|1|165|255|79|1|168|255|58|1|128|191|38|0|87|128|37|0|89|128|18|0|45|64|0-152|53|6|0|64|208|23|2|255|206|22|5|255|204|22|8|255|201|22|11|255|199|21|14|255|197|21|17|255|194|21|20|255|192|20|23|255|190|20|25|255|188|19|28|255|185|19|31|255|183|19|34|255|181|18|37|255|178|18|40|255|176|18|43|255|174|17|46|255|171|17|49|255|169|17|52|255|167|16|55|255|164|16|58|255|162|16|61|255|160|15|64|255|157|15|67|255|155|15|70|255|153|14|73|255|150|14|76|255|148|13|79|255|146|13|81|255|143|13|84|255|141|12|87|255|139|12|90|255|137|12|93|255|134|11|96|255|132|11|99|255|130|11|102|255|127|10|105|255|125|10|108|255|123|10|111|255|120|9|114|255|118|9|117|255|116|9|120|255|113|8|123|255|111|8|126|255|109|7|129|255|106|7|132|255|104|7|135|255|102|6|137|255|99|6|140|255|97|6|143|255|95|5|146|255|93|5|149|255|90|5|152|255|88|4|155|255|86|4|158|255|83|4|161|255|81|3|164|255|79|3|167|255|76|3|170|255|74|2|173|255|72|2|176|255|69|1|179|255|67|1|182|255|65|1|185|255|47|0|141|191|30|0|96|128|29|0|97|128|14|0|49|64|0-132|156|19|1|191|205|24|4|255|203|24|7|255|201|24|10|255|198|23|13|255|196|23|16|255|194|22|19|255|191|22-2|255|189|22|25|255|187|21|28|255|184|21|30|255|182|21|33|255|180|20|36|255|177|20|39|255|175|20|42|255|173|19|45|255|170|19|48|255|168|19|51|255|166|18|54|255|163|18|57|255|161|18|60|255|159|17|63|255|157|17|66|255|154|16|69|255|152|16|72|255|150|16|75|255|147|15|78|255|145|15|81|255|143|15|84|255|140|14|86|255|138|14|89|255|136|14|92|255|133|13|95|255|131|13|98|255|129|13|101|255|126|12|104|255|124|12|107|255|122|12|110|255|119|11|113|255|117|11|116|255|115|10|119|255|113|10|122|255|110|10|125|255|108|9|128|255|106|9|131|255|103|9|134|255|101|8|137|255|99|8|140|255|96|8|142|255|94|7|145|255|92|7|148|255|89|7|151|255|87|6|154|255|85|6|157|255|82|6|160|255|80|5|163|255|78|5|166|255|75|4|169|255|73|4|172|255|71|4|175|255|68|3|178|255|66|3|181|255|64|3|184|255|62|2|187|255|59|2|190|255|57|2|193|255|55|1|195|255|52|1|198|255|38|1|151|191|24|0|102|128|23|0|104|128|11|0|53|64|0-112|155|20|0|191|204|26|3|255|202|26|6|255|200|25|9|255|197|25|12|255|195|25|15|255|193|24|18|255|190|24|21|255|188|24-2|255|186|23|27|255|183|23|30|255|181|23|33|255|179|22|35|255|177|22|38|255|174|22|41|255|172|21|44|255|170|21|47|255|167|21|50|255|165|20|53|255|163|20|56|255|160|19|59|255|158|19|62|255|156|19|65|255|153|18|68|255|151|18|71|255|149|18|74|255|146|17|77|255|144|17|80|255|142|17|83|255|139|16|86|255|137|16|89|255|135|16|91|255|133|15|94|255|130|15|97|255|128|15|100|255|126|14|103|255|123|14|106|255|121|13|109|255|119|13|112|255|116|13|115|255|114|12|118|255|112|12|121|255|109|12|124|255|107|11|127|255|105|11|130|255|102|11|133|255|100|10|136|255|98|10|139|255|95|10|142|255|93|9|144|255|91|9|147|255|88|9|150|255|86|8|153|255|84|8|156|255|82|7|159|255|79|7|162|255|77|7|165|255|75|6|168|255|72|6|171|255|70|6|174|255|68|5|177|255|65|5|180|255|63|5|183|255|61|4|186|255|58|4|189|255|56|4|192|255|54|3|195|255|51|3|198|255|49|3|200|255|47|2|203|255|44|2|206|255|42|1|209|255|40|1|212|255|38|1|215|255|26|0|163|191|17|0|111|128|16|0|112|128|7|0|57|64|0-88|52|7|0|64|203|28|2|255|201|28|5|255|199|27|8|255|197|27|11|255|194|27|14|255|192|26|17|255|190|26|20|255|187|26|23|255|185|25|26|255|183|25|29|255|180|25|32|255|178|24|35|255|176|24|38|255|173|24|40|255|171|23|43|255|169|23|46|255|166|22|49|255|164|22|52|255|162|22|55|255|159|21|58|255|157|21|61|255|155|21|64|255|153|20|67|255|150|20|70|255|148|20|73|255|146|19|76|255|143|19|79|255|141|19|82|255|139|18|85|255|136|18|88|255|134|18|91|255|132|17|93|255|129|17|96|255|127|16|99|255|125|16|102|255|122|16|105|255|120|15|108|255|118|15|111|255|115|15|114|255|113|14|117|255|111|14|120|255|108|14|123|255|106|13|126|255|104|13|129|255|102|13|132|255|99|12|135|255|97|12|138|255|95|12|141|255|92|11|144|255|90|11|147|255|88|10|149|255|85|10|152|255|83|10|155|255|81|9|158|255|78|9|161|255|76|9|164|255|74|8|167|255|71|8|170|255|69|8|173|255|67|7|176|255|64|7|179|255|62|7|182|255|60|6|185|255|58|6|188|255|55|6|191|255|53|5|194|255|51|5|197|255|48|4|200|255|46|4|203|255|44|4|205|255|41|3|208|255|39|3|211|255|37|3|214|255|34|2|217|255|32|2|220|255|30|2|223|255|27|1|226|255|6|0|57|64|0-88|203|30|1|255|200|30|4|255|198|29|7|255|196|29|10|255|193|29|13|255|191|28|16|255|189|28|19|255|186|28|22|255|184|27|25|255|182|27|28|255|179|27|31|255|177|26|34|255|175|26|37|255|173|25|40|255|170|25|42|255|168|25|45|255|166|24|48|255|163|24|51|255|161|24|54|255|159|23|57|255|156|23|60|255|154|23|63|255|152|22|66|255|149|22|69|255|147|22|72|255|145|21|75|255|142|21|78|255|140|21|81|255|138|20|84|255|135|20|87|255|133|19|90|255|131|19|93|255|128|19|96|255|126|18|98|255|124|18|101|255|122|18|104|255|119|17|107|255|117|17|110|255|115|17|113|255|112|16|116|255|110|16|119|255|108|16|122|255|105|15|125|255|103|15|128|255|101|15|131|255|98|14|134|255|96|14|137|255|94|13|140|255|91|13|143|255|89|13|146|255|87|12|149|255|84|12|152|255|82|12|154|255|80|11|157|255|78|11|160|255|75|11|163|255|73|10|166|255|71|10|169|255|68|10|172|255|66|9|175|255|64|9|178|255|61|9|181|255|59|8|184|255|57|8|187|255|54|7|190|255|52|7|193|255|50|7|196|255|47|6|199|255|45|6|202|255|43|6|205|255|40|5|208|255|38|5|210|255|36|5|213|255|33|4|216|255|31|4|219|255|29|4|222|255|14|2|113|128|0-92|151|24|0|191|199|32|3|255|197|31|6|255|195|31|9|255|193|31|12|255|190|30|15|255|188|30|18|255|186|30|21|255|183|29|24|255|181|29|27|255|179|28|30|255|176|28|33|255|174|28|36|255|172|27|39|255|169|27|42|255|167|27|45|255|165|26|47|255|162|26|50|255|160|26|53|255|158|25|56|255|155|25|59|255|153|25|62|255|151|24|65|255|148|24|68|255|146|24|71|255|144|23|74|255|142|23|77|255|139|22|80|255|137|22|83|255|135|22|86|255|132|21|89|255|130|21|92|255|128|21|95|255|125|20|98|255|123|20|101|255|121|20|103|255|118|19|106|255|116|19|109|255|114|19|112|255|111|18|115|255|109|18|118|255|107|18|121|255|104|17|124|255|102|17|127|255|100|16|130|255|98|16|133|255|95|16|136|255|93|15|139|255|91|15|142|255|88|15|145|255|86|14|148|255|84|14|151|255|81|14|154|255|79|13|157|255|77|13|159|255|74|13|162|255|72|12|165|255|70|12|168|255|67|12|171|255|65|11|174|255|63|11|177|255|60|10|180|255|58|10|183|255|56|10|186|255|53|9|189|255|51|9|192|255|49|9|195|255|47|8|198|255|44|8|201|255|42|8|204|255|40|7|207|255|37|7|210|255|35|7|212|255|33|6|215|255|30|6|218|255|28|6|221|255|0-96|50|9|0|64|199|34|2|255|196|33|5|255|194|33|8|255|192|33|11|255|189|32|14|255|187|32|17|255|185|31|20|255|182|31|23|255|180|31|26|255|178|30|29|255|175|30|32|255|173|30|35|255|171|29|38|255|168|29|41|255|166|29|44|255|164|28|47|255|162|28|50|255|159|28|52|255|157|27|55|255|155|27|58|255|152|27|61|255|150|26|64|255|148|26|67|255|145|25|70|255|143|25|73|255|141|25|76|255|138|24|79|255|136|24|82|255|134|24|85|255|131|23|88|255|129|23|91|255|127|23|94|255|124|22|97|255|122|22|100|255|120|22|103|255|118|21|106|255|115|21|108|255|113|21|111|255|111|20|114|255|108|20|117|255|106|19|120|255|104|19|123|255|101|19|126|255|99|18|129|255|97|18|132|255|94|18|135|255|92|17|138|255|90|17|141|255|87|17|144|255|85|16|147|255|83|16|150|255|80|16|153|255|78|15|156|255|76|15|159|255|73|15|161|255|71|14|164|255|69|14|167|255|67|13|170|255|64|13|173|255|62|13|176|255|60|12|179|255|57|12|182|255|55|12|185|255|53|11|188|255|50|11|191|255|48|11|194|255|46|10|197|255|43|10|200|255|41|10|203|255|39|9|206|255|36|9|209|255|34|9|212|255|32|8|215|255|29|8|217|255|14|4|110|128|0-100|198|36|1|255|195|35|4|255|193|35|7|255|191|34|10|255|188|34|13|255|186|34|16|255|184|33|19|255|182|33|22|255|179|33|25|255|177|32|28|255|175|32|31|255|172|32|34|255|170|31|37|255|168|31|40|255|165|31|43|255|163|30|46|255|161|30|49|255|158|30|52|255|156|29|55|255|154|29|57|255|151|28|60|255|149|28|63|255|147|28|66|255|144|27|69|255|142|27|72|255|140|27|75|255|137|26|78|255|135|26|81|255|133|26|84|255|131|25|87|255|128|25|90|255|126|25|93|255|124|24|96|255|121|24|99|255|119|24|102|255|117|23|105|255|114|23|108|255|112|22|111|255|110|22|113|255|107|22|116|255|105|21|119|255|103|21|122|255|100|21|125|255|98|20|128|255|96|20|131|255|93|20|134|255|91|19|137|255|89|19|140|255|87|19|143|255|84|18|146|255|82|18|149|255|80|18|152|255|77|17|155|255|75|17|158|255|73|16|161|255|70|16|164|255|68|16|166|255|66|15|169|255|63|15|172|255|61|15|175|255|59|14|178|255|56|14|181|255|54|14|184|255|52|13|187|255|49|13|190|255|47|13|193|255|45|12|196|255|43|12|199|255|40|12|202|255|38|11|205|255|36|11|208|255|33|10|211|255|31|10|214|255|15|5|109|128|0-104|148|28|1|191|195|37|4|255|192|37|6|255|190|36|9|255|188|36|12|255|185|36|15|255|183|35|18|255|181|35|21|255|178|35|24|255|176|34|27|255|174|34|30|255|171|34|33|255|169|33|36|255|167|33|39|255|164|33|42|255|162|32|45|255|160|32|48|255|157|31|51|255|155|31|54|255|153|31|57|255|151|30|59|255|148|30|62|255|146|30|65|255|144|29|68|255|141|29|71|255|139|29|74|255|137|28|77|255|134|28|80|255|132|28|83|255|130|27|86|255|127|27|89|255|125|27|92|255|123|26|95|255|120|26|98|255|118|25|101|255|116|25|104|255|113|25|107|255|111|24|110|255|109|24|113|255|107|24|115|255|104|23|118|255|102|23|121|255|100|23|124|255|97|22|127|255|95|22|130|255|93|22|133|255|90|21|136|255|88|21|139|255|86|21|142|255|83|20|145|255|81|20|148|255|79|19|151|255|76|19|154|255|74|19|157|255|72|18|160|255|69|18|163|255|67|18|166|255|65|17|169|255|62|17|171|255|60|17|174|255|58|16|177|255|56|16|180|255|53|16|183|255|51|15|186|255|49|15|189|255|46|15|192|255|44|14|195|255|42|14|198|255|39|13|201|255|37|13|204|255|35|13|207|255|32|12|210|255|30|12|213|255|0-108|49|10|0|64|194|39|3|255|191|39|6|255|189|38|8|255|187|38|11|255|184|38|14|255|182|37|17|255|180|37|20|255|177|37|23|255|175|36|26|255|173|36|29|255|171|36|32|255|168|35-2|255|166|35|38|255|164|34|41|255|161|34|44|255|159|34|47|255|157|33|50|255|154|33|53|255|152|33|56|255|150|32|59|255|147|32|62|255|145|32|64|255|143|31|67|255|140|31|70|255|138|31|73|255|136|30|76|255|133|30|79|255|131|30|82|255|129|29|85|255|127|29|88|255|124|28|91|255|122|28|94|255|120|28|97|255|117|27|100|255|115|27|103|255|113|27|106|255|110|26|109|255|108|26|112|255|106|26|115|255|103|25|118|255|101|25|120|255|99|25|123|255|96|24|126|255|94|24|129|255|92|24|132|255|89|23|135|255|87|23|138|255|85|22|141|255|82|22|144|255|80|22|147|255|78|21|150|255|76|21|153|255|73|21|156|255|71|20|159|255|69|20|162|255|66|20|165|255|64|19|168|255|62|19|171|255|59|19|174|255|57|18|176|255|55|18|179|255|52|18|182|255|50|17|185|255|48|17|188|255|45|16|191|255|43|16|194|255|41|16|197|255|38|15|200|255|36|15|203|255|34|15|206|255|32|14|209|255|15|7|106|128|0-112|193|41|2|255|191|41|5|255|188|40|8|255|186|40|11|255|184|40|13|255|181|39|16|255|179|39|19|255|177|39|22|255|174|38|25|255|172|38|28|255|170|37|31|255|167|37|34|255|165|37-2|255|163|36|40|255|160|36|43|255|158|36|46|255|156|35|49|255|153|35|52|255|151|35|55|255|149|34|58|255|147|34|61|255|144|34|64|255|142|33|67|255|140|33|69|255|137|33|72|255|135|32|75|255|133|32|78|255|130|31|81|255|128|31|84|255|126|31|87|255|123|30|90|255|121|30|93|255|119|30|96|255|116|29|99|255|114|29|102|255|112|29|105|255|109|28|108|255|107|28|111|255|105|28|114|255|102|27|117|255|100|27|120|255|98|27|123|255|96|26|125|255|93|26|128|255|91|25|131|255|89|25|134|255|86|25|137|255|84|24|140|255|82|24|143|255|79|24|146|255|77|23|149|255|75|23|152|255|72|23|155|255|70|22|158|255|68|22|161|255|65|22|164|255|63|21|167|255|61|21|170|255|58|21|173|255|56|20|176|255|54|20|178|255|52|19|181|255|49|19|184|255|47|19|187|255|45|18|190|255|42|18|193|255|40|18|196|255|38|17|199|255|35|17|202|255|33|17|205|255|16|8|104|128|0-116|144|32|1|191|190|43|4|255|187|42|7|255|185|42|10|255|183|42|13|255|180|41|16|255|178|41|18|255|176|40|21|255|173|40|24|255|171|40|27|255|169|39|30|255|167|39|33|255|164|39|36|255|162|38|39|255|160|38|42|255|157|38|45|255|155|37|48|255|153|37|51|255|150|37|54|255|148|36|57|255|146|36|60|255|143|36|63|255|141|35|66|255|139|35|69|255|136|34|72|255|134|34|74|255|132|34|77|255|129|33|80|255|127|33|83|255|125|33|86|255|122|32|89|255|120|32|92|255|118|32|95|255|116|31|98|255|113|31|101|255|111|31|104|255|109|30|107|255|106|30|110|255|104|30|113|255|102|29|116|255|99|29|119|255|97|28|122|255|95|28|125|255|92|28|128|255|90|27|130|255|88|27|133|255|85|27|136|255|83|26|139|255|81|26|142|255|78|26|145|255|76|25|148|255|74|25|151|255|72|25|154|255|69|24|157|255|67|24|160|255|65|24|163|255|62|23|166|255|60|23|169|255|58|22|172|255|55|22|175|255|53|22|178|255|51|21|181|255|48|21|183|255|46|21|186|255|44|20|189|255|41|20|192|255|39|20|195|255|37|19|198|255|34|19|201|255|32|19|204|255|0-120|48|11|0|64|189|45|3|255|187|44|6|255|184|44|9|255|182|43|12|255|180|43|15|255|177|43|18|255|175|42|21|255|173|42|23|255|170|42|26|255|168|41|29|255|166|41|32|255|163|41|35|255|161|40|38|255|159|40|41|255|156|40|44|255|154|39|47|255|152|39|50|255|149|39|53|255|147|38|56|255|145|38|59|255|142|37|62|255|140|37|65|255|138|37|68|255|136|36|71|255|133|36|74|255|131|36|76|255|129|35|79|255|126|35|82|255|124|35|85|255|122|34|88|255|119|34|91|255|117|34|94|255|115|33|97|255|112|33|100|255|110|33|103|255|108|32|106|255|105|32|109|255|103|31|112|255|101|31|115|255|98|31|118|255|96|30|121|255|94|30|124|255|92|30|127|255|89|29|130|255|87|29|132|255|85|29|135|255|82|28|138|255|80|28|141|255|78|28|144|255|75|27|147|255|73|27|150|255|71|27|153|255|68|26|156|255|66|26|159|255|64|25|162|255|61|25|165|255|59|25|168|255|57|24|171|255|54|24|174|255|52|24|177|255|50|23|180|255|47|23|183|255|45|23|186|255|43|22|188|255|41|22|191|255|38|22|194|255|36|21|197|255|34|21|200|255|16|11|102|128|0-120|48|12|0|64|188|46|2|255|186|46|5|255|183|46|8|255|181|45|11|255|179|45|14|255|176|45|17|255|174|44|20|255|172|44|23|255|169|44|25|255|167|43|28|255|165|43|31|255|162|43|34|255|160|42|37|255|158|42|40|255|156|42|43|255|153|41|46|255|151|41|49|255|149|40|52|255|146|40|55|255|144|40|58|255|142|39|61|255|139|39|64|255|137|39|67|255|135|38|70|255|132|38|73|255|130|38|76|255|128|37|79|255|125|37|81|255|123|37|84|255|121|36|87|255|118|36|90|255|116|36|93|255|114|35|96|255|112|35|99|255|109|34|102|255|107|34|105|255|105|34|108|255|102|33|111|255|100|33|114|255|98|33|117|255|95|32|120|255|93|32|123|255|91|32|126|255|88|31|129|255|86|31|132|255|84|31|135|255|81|30|137|255|79|30|140|255|77|30|143|255|74|29|146|255|72|29|149|255|70|28|152|255|67|28|155|255|65|28|158|255|63|27|161|255|61|27|164|255|58|27|167|255|56|26|170|255|54|26|173|255|51|26|176|255|49|25|179|255|47|25|182|255|44|25|185|255|42|24|188|255|40|24|191|255|37|24|193|255|35|23|196|255|25|17|149|191|0-128|140|36|1|191|185|48|4|255|182|48|7|255|180|47|10|255|178|47|13|255|176|47|16|255|173|46|19|255|171|46|22|255|169|46|25|255|166|45|28|255|164|45|30|255|162|45|33|255|159|44|36|255|157|44|39|255|155|43|42|255|152|43|45|255|150|43|48|255|148|42|51|255|145|42|54|255|143|42|57|255|141|41|60|255|138|41|63|255|136|41|66|255|134|40|69|255|132|40|72|255|129|40|75|255|127|39|78|255|125|39|81|255|122|39|84|255|120|38|86|255|118|38|89|255|115|37|92|255|113|37|95|255|111|37|98|255|108|36|101|255|106|36|104|255|104|36|107|255|101|35|110|255|99|35|113|255|97|35|116|255|94|34|119|255|92|34|122|255|90|34|125|255|87|33|128|255|85|33|131|255|83|33|134|255|81|32|137|255|78|32|140|255|76|31|142|255|74|31|145|255|71|31|148|255|69|30|151|255|67|30|154|255|64|30|157|255|62|29|160|255|60|29|163|255|57|29|166|255|55|28|169|255|53|28|172|255|50|28|175|255|48|27|178|255|46|27|181|255|43|27|184|255|41|26|187|255|39|26|190|255|37|25|193|255|34|25|195|255|8|6|50|64|0-128|139|38|0|191|184|50|3|255|182|50|6|255|179|49|9|255|177|49|12|255|175|49|15|255|172|48|18|255|170|48|21|255|168|48|24|255|165|47|27|255|163|47|30|255|161|46|33|255|158|46|35|255|156|46|38|255|154|45|41|255|152|45|44|255|149|45|47|255|147|44|50|255|145|44|53|255|142|44|56|255|140|43|59|255|138|43|62|255|135|43|65|255|133|42|68|255|131|42|71|255|128|42|74|255|126|41|77|255|124|41|80|255|121|40|83|255|119|40|86|255|117|40|89|255|114|39|91|255|112|39|94|255|110|39|97|255|107|38|100|255|105|38|103|255|103|38|106|255|101|37|109|255|98|37|112|255|96|37|115|255|94|36|118|255|91|36|121|255|89|36|124|255|87|35|127|255|84|35|130|255|82|34|133|255|80|34|136|255|77|34|139|255|75|33|142|255|73|33|144|255|70|33|147|255|68|32|150|255|66|32|153|255|63|32|156|255|61|31|159|255|59|31|162|255|57|31|165|255|54|30|168|255|52|30|171|255|50|30|174|255|47|29|177|255|45|29|180|255|43|28|183|255|40|28|186|255|38|28|189|255|36|27|192|255|17|14|98|128|0-132|46|13|0|64|183|52|2|255|181|52|5|255|178|51|8|255|176|51|11|255|174|51|14|255|171|50|17|255|169|50|20|255|167|49|23|255|165|49|26|255|162|49|29|255|160|48|32|255|158|48|35|255|155|48|38|255|153|47|40|255|151|47|43|255|148|47|46|255|146|46|49|255|144|46|52|255|141|46|55|255|139|45|58|255|137|45|61|255|134|45|64|255|132|44|67|255|130|44|70|255|127|43|73|255|125|43|76|255|123|43|79|255|121|42|82|255|118|42|85|255|116|42|88|255|114|41|91|255|111|41|94|255|109|41|96|255|107|40|99|255|104|40|102|255|102|40|105|255|100|39|108|255|97|39|111|255|95|39|114|255|93|38|117|255|90|38|120|255|88|37|123|255|86|37|126|255|83|37|129|255|81|36|132|255|79|36|135|255|76|36|138|255|74|35|141|255|72|35|144|255|70|35|147|255|67|34|149|255|65|34|152|255|63|34|155|255|60|33|158|255|58|33|161|255|56|33|164|255|53|32|167|255|51|32|170|255|49|31|173|255|46|31|176|255|44|31|179|255|42|30|182|255|39|30|185|255|37|30|188|255|35|29|191|255|0-140|182|54|1|255|180|54|4|255|178|53|7|255|175|53|10|255|173|52|13|255|171|52|16|255|168|52|19|255|166|51|22|255|164|51|25|255|161|51|28|255|159|50|31|255|157|50|34|255|154|50|37|255|152|49|40|255|150|49|42|255|147|49|45|255|145|48-2|255|143|48|51|255|141|48|54|255|138|47|57|255|136|47|60|255|134|46|63|255|131|46|66|255|129|46|69|255|127|45|72|255|124|45|75|255|122|45|78|255|120|44|81|255|117|44|84|255|115|44|87|255|113|43|90|255|110|43|93|255|108|43|96|255|106|42|98|255|103|42|101|255|101|42|104|255|99|41|107|255|96|41|110|255|94|40|113|255|92|40|116|255|90|40|119|255|87|39|122|255|85|39|125|255|83|39|128|255|80|38|131|255|78|38|134|255|76|38|137|255|73|37|140|255|71|37|143|255|69|37|146|255|66|36|149|255|64|36|152|255|62|36|154|255|59|35|157|255|57|35|160|255|55|34|163|255|52|34|166|255|50|34|169|255|48|33|172|255|46|33|175|255|43|33|178|255|41|32|181|255|39|32|184|255|36|32|187|255|17|16|95|128|0-140|136|42|0|191|179|55|3|255|177|55|6|255|174|55|9|255|172|54|12|255|170|54|15|255|167|54|18|255|165|53|21|255|163|53|24|255|161|53|27|255|158|52|30|255|156|52|33|255|154|52|36|255|151|51|39|255|149|51|42|255|147|51|45|255|144|50|47|255|142|50-2|255|140|49|53|255|137|49|56|255|135|49|59|255|133|48|62|255|130|48|65|255|128|48|68|255|126|47|71|255|123|47|74|255|121|47|77|255|119|46|80|255|116|46|83|255|114|46|86|255|112|45|89|255|110|45|92|255|107|45|95|255|105|44|98|255|103|44|101|255|100|43|103|255|98|43|106|255|96|43|109|255|93|42|112|255|91|42|115|255|89|42|118|255|86|41|121|255|84|41|124|255|82|41|127|255|79|40|130|255|77|40|133|255|75|40|136|255|72|39|139|255|70|39|142|255|68|39|145|255|66|38|148|255|63|38|151|255|61|37|154|255|59|37|157|255|56|37|159|255|54|36|162|255|52|36|165|255|49|36|168|255|47|35|171|255|45|35|174|255|42|35|177|255|40|34|180|255|38|34|183|255|18|17|93|128|0-144|45|15|0|64|178|57|2|255|176|57|5|255|174|57|8|255|171|56|11|255|169|56|14|255|167|56|17|255|164|55|20|255|162|55|23|255|160|55|26|255|157|54|29|255|155|54|32|255|153|54|35|255|150|53|38|255|148|53|41|255|146|52|44|255|143|52|47|255|141|52|50|255|139|51|52|255|136|51|55|255|134|51|58|255|132|50|61|255|130|50|64|255|127|50|67|255|125|49|70|255|123|49|73|255|120|49|76|255|118|48|79|255|116|48|82|255|113|48|85|255|111|47|88|255|109|47|91|255|106|46|94|255|104|46|97|255|102|46|100|255|99|45|103|255|97|45|106|255|95|45|108|255|92|44|111|255|90|44|114|255|88|44|117|255|86|43|120|255|83|43|123|255|81|43|126|255|79|42|129|255|76|42|132|255|74|42|135|255|72|41|138|255|69|41|141|255|67|40|144|255|65|40|147|255|62|40|150|255|60|39|153|255|58|39|156|255|55|39|159|255|53|38|161|255|51|38|164|255|48|38|167|255|46|37|170|255|44|37|173|255|41|37|176|255|39|36|179|255|37|36|182|255|0-152|177|59|1|255|175|59|4|255|173|59|7|255|170|58|10|255|168|58|13|255|166|58|16|255|163|57|19|255|161|57|22|255|159|57|25|255|156|56|28|255|154|56|31|255|152|55|34|255|150|55|37|255|147|55|40|255|145|54|43|255|143|54|46|255|140|54|49|255|138|53|52|255|136|53|55|255|133|53|57|255|131|52|60|255|129|52|63|255|126|52|66|255|124|51|69|255|122|51|72|255|119|51|75|255|117|50|78|255|115|50|81|255|112|49|84|255|110|49|87|255|108|49|90|255|106|48|93|255|103|48|96|255|101|48|99|255|99|47|102|255|96|47|105|255|94|47|108|255|92|46|111|255|89|46|113|255|87|46|116|255|85|45|119|255|82|45|122|255|80|45|125|255|78|44|128|255|75|44|131|255|73|43|134|255|71|43|137|255|68|43|140|255|66|42|143|255|64|42|146|255|61|42|149|255|59|41|152|255|57|41|155|255|55|41|158|255|52|40|161|255|50|40|164|255|48|40|166|255|45|39|169|255|43|39|172|255|41|39|175|255|38-2|178|255|18|19|91|128|0-152|132|46|1|191|174|61|4|255|172|61|6|255|170|60|9|255|167|60|12|255|165|59|15|255|163|59|18|255|160|59|21|255|158|58|24|255|156|58|27|255|153|58|30|255|151|57|33|255|149|57|36|255|146|57|39|255|144|56|42|255|142|56|45|255|139|56|48|255|137|55|51|255|135|55|54|255|132|55|57|255|130|54|59|255|128|54|62|255|126|54|65|255|123|53|68|255|121|53|71|255|119|52|74|255|116|52|77|255|114|52|80|255|112|51|83|255|109|51|86|255|107|51|89|255|105|50|92|255|102|50|95|255|100|50|98|255|98|49|101|255|95|49|104|255|93|49|107|255|91|48|110|255|88|48|113|255|86|48|115|255|84|47|118|255|81|47|121|255|79|46|124|255|77|46|127|255|75|46|130|255|72|45|133|255|70|45|136|255|68|45|139|255|65|44|142|255|63|44|145|255|61|44|148|255|58|43|151|255|56|43|154|255|54|43|157|255|51|42|160|255|49|42|163|255|47|42|166|255|44|41|169|255|42|41|171|255|40-2|174|255|19|20|89|128|0-156|44|16|0|64|173|63|3|255|171|62|6|255|169|62|8|255|166|62|11|255|164|61|14|255|162|61|17|255|159|61|20|255|157|60|23|255|155|60|26|255|152|60|29|255|150|59|32|255|148|59|35|255|146|59|38|255|143|58|41|255|141|58|44|255|139|58|47|255|136|57|50|255|134|57|53|255|132|57|56|255|129|56|59|255|127|56|62|255|125|55|64|255|122|55|67|255|120|55|70|255|118|54|73|255|115|54|76|255|113|54|79|255|111|53|82|255|108|53|85|255|106|53|88|255|104|52|91|255|101|52|94|255|99|52|97|255|97|51|100|255|95|51|103|255|92|51|106|255|90|50|109|255|88|50|112|255|85|49|115|255|83|49|118|255|81|49|120|255|78|48|123|255|76|48|126|255|74|48|129|255|71|47|132|255|69|47|135|255|67|47|138|255|64|46|141|255|62|46|144|255|60|46|147|255|57|45|150|255|55|45|153|255|53|45|156|255|51|44|159|255|48|44|162|255|46|43|165|255|44|43|168|255|41|43|171|255|39|42|174|255|0-164|172|65|2|255|170|64|5|255|168|64|8|255|166|64|11|255|163|63|13|255|161|63|16|255|159|63|19|255|156|62|22|255|154|62|25|255|152|62|28|255|149|61|31|255|147|61|34|255|145|61|37|255|142|60|40|255|140|60|43|255|138|59|46|255|135|59|49|255|133|59|52|255|131|58|55|255|128|58-2|255|126|58|61|255|124|57|64|255|121|57|67|255|119|57|69|255|117|56|72|255|115|56|75|255|112|56|78|255|110|55|81|255|108|55|84|255|105|55|87|255|103|54|90|255|101|54|93|255|98|54|96|255|96|53|99|255|94|53|102|255|91|52|105|255|89|52|108|255|87|52|111|255|84|51|114|255|82|51|117|255|80|51|120|255|77|50|123|255|75|50|125|255|73|50|128|255|71|49|131|255|68|49|134|255|66|49|137|255|64|48|140|255|61|48|143|255|59|48|146|255|57|47|149|255|54|47|152|255|52|46|155|255|50|46|158|255|47|46|161|255|45-2|164|255|43|45|167|255|40|45|170|255|19|22|87|128|0-164|129|50|1|191|169|66|4|255|167|66|7|255|165|66|10|255|162|65|13|255|160|65|16|255|158|65|18|255|155|64|21|255|153|64|24|255|151|64|27|255|148|63|30|255|146|63|33|255|144|62|36|255|141|62|39|255|139|62|42|255|137|61|45|255|135|61|48|255|132|61|51|255|130|60|54|255|128|60|57|255|125|60-2|255|123|59|63|255|121|59|66|255|118|59|69|255|116|58|72|255|114|58|74|255|111|58|77|255|109|57|80|255|107|57|83|255|104|57|86|255|102|56|89|255|100|56|92|255|97|55|95|255|95|55|98|255|93|55|101|255|91|54|104|255|88|54|107|255|86|54|110|255|84|53|113|255|81|53|116|255|79|53|119|255|77|52|122|255|74|52|125|255|72|52|128|255|70|51|130|255|67|51|133|255|65|51|136|255|63|50|139|255|60|50|142|255|58|49|145|255|56|49|148|255|53|49|151|255|51|48|154|255|49|48|157|255|46|48|160|255|44|47|163|255|42|47|166|255|30|35|127|191|0-168|43|17|0|64|168|68|3|255|166|68|6|255|164|68|9|255|161|67|12|255|159|67|15|255|157|67|18|255|155|66|21|255|152|66|23|255|150|65|26|255|148|65|29|255|145|65|32|255|143|64|35|255|141|64|38|255|138|64|41|255|136|63|44|255|134|63|47|255|131|63|50|255|129|62|53|255|127|62|56|255|124|62|59|255|122|61|62|255|120|61|65|255|117|61|68|255|115|60|71|255|113|60|74|255|110|59|77|255|108|59|79|255|106|59|82|255|104|58|85|255|101|58|88|255|99|58|91|255|97|57|94|255|94|57|97|255|92|57|100|255|90|56|103|255|87|56|106|255|85|56|109|255|83|55|112|255|80|55|115|255|78|55|118|255|76|54|121|255|73|54|124|255|71|54|127|255|69|53|130|255|66|53|132|255|64|52|135|255|62|52|138|255|60|52|141|255|57|51|144|255|55|51|147|255|53|51|150|255|50-2|153|255|48|50|156|255|46|50|159|255|43|49|162|255|41|49|165|255|10|12|42|64|0-168|43|18|0|64|168|70|2|255|165|70|5|255|163|70|8|255|161|69|11|255|158|69|14|255|156|68|17|255|154|68|20|255|151|68|23|255|149|67|25|255|147|67|28|255|144|67|31|255|142|66|34|255|140|66|37|255|137|66|40|255|135|65|43|255|133|65|46|255|130|65|49|255|128|64|52|255|126|64|55|255|124|64|58|255|121|63|61|255|119|63|64|255|117|62|67|255|114|62|70|255|112|62|73|255|110|61|76|255|107|61|79|255|105|61|81|255|103|60|84|255|100|60|87|255|98|60|90|255|96|59|93|255|93|59|96|255|91|59|99|255|89|58|102|255|86|58|105|255|84|58|108|255|82|57|111|255|80|57|114|255|77|57|117|255|75|56|120|255|73|56|123|255|70|55|126|255|68|55|129|255|66|55|132|255|63|54|135|255|61|54|137|255|59|54|140|255|56|53|143|255|54|53|146|255|52|53|149|255|49|52|152|255|47|52|155|255|45|52|158|255|42|51|161|255|20|26|82|128|0-176|125|54|1|191|164|72|4|255|162|71|7|255|160|71|10|255|157|71|13|255|155|70|16|255|153|70|19|255|150|70|22|255|148|69|25|255|146|69|28|255|144|69|30|255|141|68|33|255|139|68|36|255|137|68|39|255|134|67|42|255|132|67|45|255|130|67|48|255|127|66|51|255|125|66|54|255|123|65|57|255|120|65|60|255|118|65|63|255|116|64|66|255|113|64|69|255|111|64|72|255|109|63|75|255|106|63|78|255|104|63|81|255|102|62|84|255|100|62|86|255|97|62|89|255|95|61|92|255|93|61|95|255|90|61|98|255|88|60|101|255|86|60|104|255|83|59|107|255|81|59|110|255|79|59|113|255|76|58|116|255|74|58|119|255|72|58|122|255|69|57|125|255|67|57|128|255|65|57|131|255|62|56|134|255|60|56|137|255|58|56|140|255|55-2|142|255|53|55|145|255|51|55|148|255|49|54|151|255|46|54|154|255|44|54|157|255|42|53|160|255|0-180|125|56|0|191|164|74|3|255|161|73|6|255|159|73|9|255|157|73|12|255|154|72|15|255|152|72|18|255|150|72|21|255|147|71|24|255|145|71|27|255|143|71|30|255|140|70|33|255|138|70|35|255|136|70|38|255|133|69|41|255|131|69|44|255|129|68|47|255|126|68|50|255|124|68|53|255|122|67|56|255|120|67|59|255|117|67|62|255|115|66|65|255|113|66|68|255|110|66|71|255|108|65|74|255|106|65|77|255|103|65|80|255|101|64|83|255|99|64|86|255|96|64|89|255|94|63|91|255|92|63|94|255|89|62|97|255|87|62|100|255|85|62|103|255|82|61|106|255|80|61|109|255|78|61|112|255|75|60|115|255|73|60|118|255|71|60|121|255|69|59|124|255|66|59|127|255|64|59|130|255|62|58|133|255|59|58|136|255|57|58|139|255|55|57|142|255|52|57|144|255|50|57|147|255|48|56|150|255|45|56|153|255|43|55|156|255|21|28|80|128|0-180|41|19|0|64|163|76|2|255|160|75|5|255|158|75|8|255|156|75|11|255|153|74|14|255|151|74|17|255|149|74|20|255|146|73|23|255|144|73|26|255|142|73|29|255|140|72|32|255|137|72|35|255|135|71|38|255|133|71|40|255|130|71|43|255|128|70|46|255|126|70|49|255|123|70|52|255|121|69|55|255|119|69|58|255|116|69|61|255|114|68|64|255|112|68|67|255|109|68|70|255|107|67|73|255|105|67|76|255|102|67|79|255|100|66|82|255|98|66|85|255|95|65|88|255|93|65|91|255|91|65|94|255|89|64|96|255|86|64|99|255|84|64|102|255|82|63|105|255|79|63|108|255|77|63|111|255|75|62|114|255|72|62|117|255|70|62|120|255|68|61|123|255|65|61|126|255|63|61|129|255|61|60|132|255|58|60|135|255|56|59|138|255|54|59|141|255|51|59|144|255|49|58|147|255|47|58|149|255|45|58|152|255|21|29|78|128|0-188|162|78|1|255|160|77|4|255|157|77|7|255|155|77|10|255|153|76|13|255|150|76|16|255|148|76|19|255|146|75|22|255|143|75|25|255|141|74|28|255|139|74|31|255|136|74|34|255|134|73|37|255|132|73|40|255|129|73|42|255|127|72|45|255|125|72|48|255|122|72|51|255|120|71|54|255|118|71|57|255|115|71|60|255|113|70|63|255|111|70|66|255|109|70|69|255|106|69|72|255|104|69|75|255|102|68|78|255|99|68|81|255|97|68|84|255|95|67|87|255|92|67|90|255|90|67|93|255|88|66|96|255|85|66|98|255|83|66|101|255|81|65|104|255|78|65|107|255|76|65|110|255|74|64|113|255|71|64|116|255|69|64|119|255|67|63|122|255|65|63|125|255|62-2|128|255|60|62|131|255|58|62|134|255|55|61|137|255|53|61|140|255|51|61|143|255|48|60|146|255|46|60|149|255|44|60|152|255|0-192|121|60|0|191|159|79|3|255|156|79|6|255|154|79|9|255|152|78|12|255|149|78|15|255|147|77|18|255|145|77|21|255|142|77|24|255|140|76|27|255|138|76|30|255|135|76|33|255|133|75|36|255|131|75|39|255|129|75|42|255|126|74|45|255|124|74|47|255|122|74|50|255|119|73|53|255|117|73|56|255|115|73|59|255|112|72|62|255|110|72|65|255|108|71|68|255|105|71-2|255|103|71|74|255|101|70|77|255|98|70|80|255|96|70|83|255|94|69|86|255|91|69|89|255|89|69|92|255|87|68|95|255|85|68|98|255|82|68|101|255|80|67|103|255|78|67|106|255|75|67|109|255|73|66|112|255|71|66|115|255|68|65|118|255|66|65|121|255|64|65|124|255|61|64|127|255|59|64|130|255|57|64|133|255|54|63|136|255|52|63|139|255|50|63|142|255|47|62|145|255|45|62|148|255|22|31|76|128|0-192|40|21|0|64|158|81|2|255|155|81|5|255|153|80|8|255|151|80|11|255|149|80|14|255|146|79|17|255|144|79|20|255|142|79|23|255|139|78|26|255|137|78|29|255|135|78|32|255|132|77|35|255|130|77|38|255|128|77|41|255|125|76|44|255|123|76|47|255|121|76|50|255|118|75|52|255|116|75|55|255|114|74|58|255|111|74|61|255|109|74|64|255|107|73|67|255|105|73|70|255|102|73-2|255|100|72|76|255|98|72|79|255|95|72|82|255|93|71|85|255|91|71|88|255|88|71|91|255|86|70|94|255|84|70|97|255|81|70|100|255|79|69|103|255|77|69|106|255|74|68|108|255|72|68|111|255|70|68|114|255|67-2|117|255|65|67|120|255|63|67|123|255|60|66|126|255|58|66|129|255|56|66|132|255|54|65|135|255|51|65|138|255|49|65|141|255|47|64|144|255|22|32|74|128|0-200|157|83|1|255|155|83|4|255|152|82|7|255|150|82|10|255|148|82|13|255|145|81|16|255|143|81|19|255|141|81|22|255|138|80|25|255|136|80|28|255|134|80|31|255|131|79|34|255|129|79|37|255|127|79|40|255|125|78|43|255|122|78|46|255|120|77|49|255|118|77|52|255|115|77|55|255|113|76|57|255|111|76|60|255|108|76|63|255|106|75|66|255|104|75|69|255|101|75|72|255|99|74|75|255|97|74|78|255|94|74|81|255|92|73|84|255|90|73|87|255|87|73|90|255|85|72|93|255|83|72|96|255|80|71|99|255|78|71|102|255|76|71|105|255|74|70|108|255|71|70|111|255|69|70|113|255|67|69|116|255|64|69|119|255|62|69|122|255|60|68|125|255|57|68|128|255|55|68|131|255|53|67|134|255|50|67|137|255|48|67|140|255|46|66|143|255|0-204|117|64|1|191|154|85|4|255|151|84|6|255|149|84|9|255|147|84|12|255|144|83|15|255|142|83|18|255|140|83|21|255|138|82|24|255|135|82|27|255|133|82|30|255|131|81|33|255|128|81|36|255|126|80|39|255|124|80|42|255|121|80|45|255|119|79|48|255|117|79|51|255|114|79|54|255|112|78|57|255|110|78|59|255|107|78|62|255|105|77|65|255|103|77|68|255|100|77|71|255|98|76|74|255|96|76|77|255|94|76|80|255|91|75|83|255|89|75|86|255|87|74|89|255|84|74|92|255|82|74|95|255|80|73|98|255|77|73|101|255|75|73|104|255|73|72|107|255|70|72|110|255|68|72|113|255|66|71|115|255|63|71|118|255|61|71|121|255|59|70|124|255|56|70|127|255|54|70|130|255|52|69|133|255|50|69|136|255|47|68|139|255|23|34|71|128|0-204|39|22|0|64|153|87|3|255|151|86|6|255|148|86|9|255|146|86|11|255|144|85|14|255|141|85|17|255|139|85|20|255|137|84|23|255|134|84|26|255|132|83|29|255|130|83|32|255|127|83|35|255|125|82|38|255|123|82|41|255|120|82|44|255|118|81|47|255|116|81|50|255|114|81|53|255|111|80|56|255|109|80|59|255|107|80|62|255|104|79|64|255|102|79|67|255|100|79|70|255|97|78|73|255|95|78|76|255|93|77|79|255|90|77|82|255|88|77|85|255|86|76|88|255|83|76|91|255|81|76|94|255|79|75|97|255|76|75|100|255|74|75|103|255|72|74|106|255|69|74|109|255|67|74|112|255|65|73|115|255|63|73|118|255|60|73|120|255|58|72|123|255|56|72|126|255|53|71|129|255|51|71|132|255|49|71|135|255|35|53|104|191|0-212|152|89|2|255|150|88|5|255|147|88|8|255|145|88|11|255|143|87|13|255|140|87|16|255|138|86|19|255|136|86|22|255|134|86|25|255|131|85|28|255|129|85|31|255|127|85|34|255|124|84|37|255|122|84|40|255|120|84|43|255|117|83|46|255|115|83|49|255|113|83|52|255|110|82|55|255|108|82|58|255|106|82|61|255|103|81|64|255|101|81|67|255|99|80|69|255|96|80|72|255|94|80|75|255|92|79|78|255|89|79|81|255|87|79|84|255|85|78|87|255|83|78|90|255|80|78|93|255|78|77|96|255|76|77|99|255|73|77|102|255|71|76|105|255|69|76|108|255|66|76|111|255|64|75|114|255|62|75|117|255|59|74|120|255|57|74|123|255|55|74|125|255|52|73|128|255|50|73|131|255|48|73|134|255|11|18|34|64|0-212|113|68|1|191|149|90|4|255|147|90|7|255|144|89|10|255|142|89|13|255|140|89|16|255|137|88|18|255|135|88|21|255|133|88|24|255|130|87|27|255|128|87|30|255|126|87|33|255|123|86|36|255|121|86|39|255|119|86|42|255|116|85|45|255|114|85|48|255|112|85|51|255|109|84|54|255|107|84|57|255|105|83|60|255|103|83|63|255|100|83|66|255|98|82|69|255|96|82|72|255|93|82|74|255|91|81|77|255|89|81|80|255|86|81|83|255|84|80|86|255|82|80|89|255|79|80|92|255|77|79|95|255|75|79|98|255|72|79|101|255|70|78|104|255|68|78|107|255|65|77|110|255|63|77|113|255|61|77|116|255|59|76|119|255|56|76|122|255|54|76|125|255|52|75|127|255|49|75|130|255|24|38|67|128|0-216|38|23|0|64|148|92|3|255|146|92|6|255|143|91|9|255|141|91|12|255|139|91|15|255|136|90|18|255|134|90|21|255|132|90|23|255|129|89|26|255|127|89|29|255|125|89|32|255|123|88|35|255|120|88|38|255|118|88|41|255|116|87|44|255|113|87|47|255|111|86|50|255|109|86|53|255|106|86|56|255|104|85|59|255|102|85|62|255|99|85|65|255|97|84|68|255|95|84|71|255|92|84|74|255|90|83|76|255|88|83|79|255|85|83|82|255|83|82|85|255|81|82|88|255|79|82|91|255|76|81|94|255|74|81|97|255|72|80|100|255|69|80|103|255|67|80|106|255|65|79|109|255|62|79|112|255|60|79|115|255|58|78|118|255|55|78|121|255|53|78|124|255|51|77|127|255|48|77|130|255|0-220|37|24|0|64|147|94|2|255|145|94|5|255|143|93|8|255|140|93|11|255|138|93|14|255|136|92|17|255|133|92|20|255|131|92|23|255|129|91|26|255|126|91|28|255|124|91|31|255|122|90|34|255|119|90|37|255|117|89|40|255|115|89|43|255|112|89|46|255|110|88|49|255|108|88|52|255|105|88|55|255|103|87|58|255|101|87|61|255|99|87|64|255|96|86|67|255|94|86|70|255|92|86|73|255|89|85|76|255|87|85|79|255|85-2|81|255|82|84-2|255|80|84|87|255|78|83|90|255|75|83|93|255|73|83|96|255|71|82|99|255|68|82|102|255|66|82|105|255|64|81|108|255|61|81|111|255|59|81|114|255|57|80|117|255|54|80|120|255|52|80|123|255|50|79|126|255|24|40|65|128|0-224|110|72|1|191|144|96|4|255|142|95|7|255|139|95|10|255|137|95|13|255|135|94|16|255|132|94|19|255|130|94|22|255|128|93|25|255|125|93|28|255|123|92|30|255|121|92|33|255|119|92|36|255|116|91|39|255|114|91|42|255|112|91|45|255|109|90|48|255|107|90|51|255|105|90|54|255|102|89|57|255|100|89|60|255|98|89|63|255|95|88|66|255|93|88|69|255|91|88|72|255|88|87|75|255|86|87|78|255|84|86|81|255|81|86|84|255|79|86-2|255|77|85|89|255|74|85|92|255|72|85|95|255|70|84|98|255|68|84|101|255|65|84|104|255|63|83|107|255|61|83|110|255|58|83|113|255|56|82|116|255|54|82|119|255|51|82|122|255|25|41|63|128|0-228|109|74|0|191|143|98|3|255|141|97|6|255|139|97|9|255|136|97|12|255|134|96|15|255|132|96|18|255|129|95|21|255|127|95|24|255|125|95|27|255|122|94|30|255|120|94|33|255|118|94|35|255|115|93|38|255|113|93|41|255|111|93|44|255|108|92|47|255|106|92|50|255|104|92|53|255|101|91|56|255|99|91|59|255|97|91|62|255|94|90|65|255|92|90|68|255|90|89|71|255|88|89|74|255|85|89|77|255|83|88|80|255|81|88|83|255|78|88|86|255|76|87|89|255|74|87|91|255|71|87|94|255|69|86|97|255|67|86|100|255|64|86|103|255|62|85|106|255|60|85|109|255|57|85|112|255|55|84|115|255|53|84|118|255|50|83|121|255|0-232|36|25|0|64|142|100|2|255|140|99|5|255|138|99|8|255|135|98|11|255|133|98|14|255|131|98|17|255|128|97|20|255|126|97|23|255|124|97|26|255|121|96|29|255|119|96|32|255|117|96|35|255|114|95|38|255|112|95|40|255|110|95|43|255|108|94|46|255|105|94|49|255|103|94|52|255|101|93|55|255|98|93|58|255|96|92|61|255|94|92|64|255|91|92|67|255|89|91|70|255|87|91|73|255|84|91|76|255|82|90|79|255|80|90|82|255|77|90|85|255|75|89|88|255|73|89|91|255|70|89|93|255|68|88|96|255|66|88|99|255|64|88|102|255|61|87|105|255|59|87|108|255|57|86|111|255|54|86|114|255|52|86|117|255|25|43|60|128|0-236|141|101|1|255|139|101|4|255|137|101|7|255|134|100|10|255|132|100|13|255|130|100|16|255|128|99|19|255|125|99|22|255|123|99|25|255|121|98|28|255|118|98|31|255|116|98|34|255|114|97|37|255|111|97|40|255|109|97|42|255|107|96|45|255|104|96|48|255|102|95|51|255|100|95|54|255|97|95|57|255|95|94|60|255|93|94|63|255|90|94|66|255|88|93|69|255|86|93|72|255|84|93|75|255|81|92|78|255|79|92|81|255|77|92|84|255|74|91|87|255|72|91|90|255|70|91|93|255|67|90|96|255|65|90|98|255|63|89|101|255|60|89|104|255|58|89|107|255|56|88|110|255|53|88|113|255|26|44|58|128|0-240|106|77|0|191|138|103|3|255|136|103|6|255|134|102|9|255|131|102|12|255|129|102|15|255|127|101|18|255|124|101|21|255|122|101|24|255|120|100|27|255|117|100|30|255|115|100|33|255|113|99|36|255|110|99|39|255|108|98|42|255|106|98|45|255|103|98|47|255|101|97|50|255|99|97|53|255|97-2|56|255|94|96|59|255|92|96|62|255|90|96|65|255|87|95|68|255|85|95|71|255|83|95|74|255|80|94|77|255|78|94|80|255|76|94|83|255|73|93|86|255|71|93|89|255|69|92-2|255|66|92|95|255|64|92|98|255|62|91|101|255|59|91|103|255|57|91|106|255|55|90|109|255|53|90|112|255|0-244|35|26|0|64|137|105|2|255|135|105|5|255|133|104|8|255|130|104|11|255|128|104|14|255|126|103|17|255|123|103|20|255|121|103|23|255|119|102|26|255|117|102|29|255|114|101|32|255|112|101|35|255|110|101|38|255|107|100|41|255|105|100|44|255|103|100|47|255|100|99|50|255|98|99|52|255|96|99|55|255|93|98|58|255|91|98|61|255|89|98|64|255|86|97|67|255|84|97|70|255|82|97|73|255|79|96|76|255|77|96|79|255|75|95|82|255|73|95|85|255|70|95|88|255|68|94|91|255|66|94-2|255|63|94|97|255|61|93|100|255|59|93|103|255|56|93|106|255|54|92|108|255|26|46|56|128|0-248|137|107|1|255|134|107|4|255|132|106|7|255|130|106|10|255|127|106|13|255|125|105|16|255|123|105|19|255|120|104|22|255|118|104|25|255|116|104|28|255|113|103|31|255|111|103|34|255|109|103|37|255|106|102|40|255|104|102|43|255|102-2|46|255|99|101|49|255|97|101|52|255|95|101|55|255|93|100|57|255|90|100|60|255|88|100|63|255|86|99|66|255|83|99|69|255|81|98|72|255|79|98|75|255|76|98|78|255|74|97|81|255|72|97|84|255|69|97|87|255|67|96|90|255|65|96|93|255|62|96-2|255|60|95|99|255|58|95|102|255|55|95|105|255|40|71|81|191|0-252|102|82|1|191|133|109|4|255|131|108|6|255|129|108|9|255|126|107|12|255|124|107|15|255|122|107|18|255|119|106|21|255|117|106|24|255|115|106|27|255|113|105|30|255|110|105|33|255|108|105|36|255|106|104|39|255|103|104|42|255|101|104|45|255|99|103|48|255|96|103|51|255|94|103|54|255|92|102|57|255|89|102|60|255|87|101|62|255|85|101|65|255|82|101|68|255|80|100|71|255|78|100|74|255|75|100|77|255|73|99|80|255|71|99|83|255|68|99|86|255|66|98|89|255|64|98|92|255|62|98|95|255|59|97|98|255|57|97|101|255|55|97|104|255|13|24|27|64|0-252|34|28|0|64|133|110|3|255|130|110|6|255|128|110|9|255|126|109|11|255|123|109|14|255|121|109|17|255|119|108|20|255|116|108|23|255|114|108|26|255|112|107|29|255|109|107|32|255|107-2|35|255|105|106|38|255|102|106|41|255|100|106|44|255|98|105|47|255|95|105|50|255|93|104|53|255|91|104|56|255|88|104|59|255|86|103|62|255|84|103|64|255|82|103|67|255|79|102|70|255|77|102|73|255|75|102|76|255|72|101|79|255|70|101|82|255|68|101|85|255|65|100|88|255|63|100|91|255|61|100|94|255|58|99|97|255|56|99|100|255|27|49|52|128|0-260|132|112|2|255|129|112|5|255|127|112|8|255|125|111|11|255|122|111|13|255|120|111|16|255|118|110|19|255|115|110|22|255|113|110|25|255|111|109|28|255|108|109|31|255|106|109|34|255|104|108|37|255|102|108|40|255|99|107|43|255|97|107|46|255|95|107|49|255|92|106|52|255|90|106|55|255|88|106|58|255|85|105|61|255|83|105|64|255|81|105|67|255|78|104|69|255|76|104|72|255|74|104|75|255|71|103|78|255|69|103|81|255|67|103|84|255|64|102|87|255|62|102|90|255|60|101|93|255|58|101|96|255|55|101|99|255|0-264|98|86|1|191|128|114|4|255|126|114|7|255|124|113|10|255|122|113|13|255|119|113|16|255|117|112|18|255|115|112|21|255|112-2|24|255|110|111|27|255|108|111|30|255|105|110|33|255|103|110|36|255|101|110|39|255|98|109|42|255|96|109|45|255|94|109|48|255|91|108|51|255|89|108|54|255|87|108|57|255|84|107|60|255|82|107|63|255|80|107|66|255|78|106|69|255|75|106|72|255|73|106|74|255|71|105|77|255|68|105|80|255|66|104|83|255|64|104|86|255|61|104|89|255|59|103|92|255|57|103|95|255|27|52|49|128|0-264|33|29|0|64|128|116|3|255|125|116|6|255|123|115|9|255|121|115|12|255|118|115|15|255|116|114|18|255|114-2|21|255|111|113|23|255|109|113|26|255|107|113|29|255|104|112|32|255|102|112|35|255|100|112|38|255|98|111|41|255|95|111|44|255|93|111|47|255|91|110|50|255|88|110|53|255|86|110|56|255|84|109|59|255|81|109|62|255|79|109|65|255|77|108|68|255|74|108|71|255|72|107|74|255|70|107|76|255|67|107|79|255|65|106|82|255|63|106|85|255|60|106|88|255|58|105|91|255|28|53|47|128|0-268|32|30|0|64|127|118|2|255|124|118|5|255|122|117|8|255|120|117|11|255|118|116|14|255|115|116|17|255|113|116|20|255|111|115|23|255|108|115|26|255|106|115|28|255|104|114|31|255|101|114|34|255|99|114|37|255|97|113|40|255|94|113|43|255|92|113|46|255|90|112|49|255|87|112|52|255|85|112|55|255|83|111|58|255|80|111|61|255|78|110|64|255|76|110|67|255|73|110|70|255|71|109|73|255|69|109|76|255|67|109|79|255|64|108|81|255|62|108|84|255|60|108|87|255|57|107|90|255|0-276|95|90|1|191|124|119|4|255|121|119|7|255|119-2|10|255|117|118|13|255|114|118|16|255|112|118|19|255|110|117|22|255|107|117|25|255|105|117|28|255|103|116|30|255|100|116|33|255|98|116|36|255|96|115|39|255|93|115|42|255|91|115|45|255|89|114|48|255|87|114|51|255|84|113|54|255|82|113|57|255|80|113|60|255|77|112|63|255|75|112|66|255|73|112|69|255|70|111|72|255|68|111|75|255|66|111|78|255|63|110|81|255|61|110|84|255|59|110|86|255|28|55|45|128|0-276|94|92|0|191|123|121|3|255|120|121|6|255|118|121|9|255|116|120|12|255|113|120|15|255|111|120|18|255|109|119|21|255|107|119|24|255|104|119|27|255|102|118|30|255|100|118|33|255|97|118|35|255|95|117|38|255|93|117|41|255|90|116|44|255|88|116|47|255|86|116|50|255|83|115|53|255|81|115|56|255|79|115|59|255|76|114|62|255|74|114|65|255|72|114|68|255|69|113|71|255|67|113|74|255|65|113|77|255|62|112|80|255|60|112|83|255|29|56|43|128|0-280|31-2|0|64|122|123|2|255|120|123|5|255|117|123|8|255|115|122|11|255|113|122|14|255|110|122|17|255|108|121|20|255|106|121|23|255|103|120|26|255|101|120|29|255|99|120|32|255|96|119|35|255|94|119|38|255|92|119|40|255|89|118|43|255|87|118|46|255|85|118|49|255|82|117|52|255|80|117|55|255|78|117|58|255|76|116|61|255|73|116|64|255|71|116|67|255|69|115|70|255|66|115|73|255|64|115|76|255|62|114|79|255|59|114|82|255|0-288|121|125|1|255|119|125|4|255|116|125|7|255|114|124|10|255|112|124|13|255|109|123|16|255|107|123|19|255|105|123|22|255|102|122|25|255|100|122|28|255|98|122|31|255|96|121|34|255|93|121|37|255|91|121|40|255|89|120|42|255|86|120|45|255|84|120|48|255|82|119|51|255|79|119|54|255|77|119|57|255|75|118|60|255|72|118|63|255|70|118|66|255|68|117|69|255|65|117|72|255|63|116|75|255|61|116|78|255|29|58|41|128|0-288|90|95|0|191|118|127|3|255|116|126|6|255|113|126|9|255|111|126|12|255|109|125|15|255|106|125|18|255|104|125|21|255|102|124|24|255|99|124|27|255|97|124|30|255|95|123|33|255|92|123|36|255|90|123|39|255|88|122|42|255|85|122|45|255|83|122|47|255|81|121|50|255|78|121|53|255|76|120|56|255|74|120|59|255|72|120|62|255|69|119|65|255|67|119|68|255|65|119|71|255|62|118|74|255|45|89|58|191|0-292|30|32|0|64|117|129|2|255|115|128|5|255|112|128|8|255|110|128|11|255|108|127|14|255|105|127|17|255|103|127|20|255|101|126|23|255|98|126|26|255|96|126|29|255|94|125|32|255|92|125|35|255|89|125|38|255|87|124|41|255|85|124|44|255|82|123|47|255|80|123|50|255|78|123|52|255|75|122|55|255|73|122|58|255|71|122|61|255|68|121|64|255|66|121|67|255|64|121|70|255|61|120|73|255|15|30|19|64|0-296|116|131|1|255|114|130|4|255|112|130|7|255|109|130|10|255|107|129|13|255|105|129|16|255|102|129|19|255|100|128|22|255|98|128|25|255|95|128|28|255|93|127|31|255|91|127|34|255|88|126|37|255|86|126|40|255|84|126|43|255|81|125|46|255|79|125|49|255|77|125|52|255|74|124|55|255|72|124|57|255|70|124|60|255|67|123|63|255|65|123|66|255|63|123|69|255|31|61|36|128|0-300|86|100|1|191|113|132|4|255|111|132|6|255|108|132|9|255|106|131|12|255|104|131|15|255|101|131|18|255|99|130|21|255|97|130|24|255|94|129|27|255|92|129|30|255|90|129|33|255|87|128|36|255|85|128|39|255|83|128|42|255|81|127|45|255|78|127|48|255|76|127|51|255|74|126|54|255|71|126|57|255|69|126|60|255|67|125|62|255|64|125|65|255|62|125|68|255|0-304|29|34|0|64|112|134|3|255|110|134|6|255|107|134|9|255|105|133|11|255|103|133|14|255|101|132|17|255|98|132|20|255|96|132|23|255|94|131|26|255|91|131|29|255|89|131|32|255|87|130|35|255|84|130|38|255|82|130|41|255|80|129|44|255|77|129|47|255|75|129|50|255|73|128|53|255|70|128|56|255|68|128|59|255|66|127|62|255|63|127|64|255|31|63|34|128|0-308|111|136|2|255|109|136|5|255|107|135|8|255|104|135|11|255|102|135|13|255|100|134|16|255|97|134|19|255|95|134|22|255|93|133|25|255|90|133|28|255|88|133|31|255|86|132|34|255|83|132|37|255|81|132|40|255|79|131|43|255|76|131|46|255|74|131|49|255|72|130|52|255|70|130|55|255|67|129|58|255|65|129|61|255|32|65|32|128|0-312|83|104|1|191|108|138|4|255|106|137|7|255|103|137|10|255|101|137|13|255|99|136|16|255|96|136|18|255|94|136|21|255|92|135|24|255|90|135|27|255|87|135|30|255|85|134|33|255|83|134|36|255|80|134|39|255|78|133|42|255|76|133|45|255|73|132|48|255|71|132|51|255|69|132|54|255|66|131|57|255|64|131|60|255|0-316|28|35|0|64|107|140|3|255|105|139|6|255|103|139|9|255|100|139|12|255|98|138|15|255|96|138|18|255|93|138|21|255|91|137|23|255|89|137|26|255|86|137|29|255|84|136|32|255|82|136|35|255|79|135|38|255|77|135|41|255|75|135|44|255|72|134|47|255|70|134|50|255|68|134|53|255|66|133|56|255|32|67|30|128|0-316|27|36|0|64|106|142|2|255|104|141|5|255|102|141|8|255|99|141|11|255|97|140|14|255|95|140|17|255|92|140|20|255|90|139|23|255|88|139|26|255|86|138|28|255|83|138|31|255|81|138|34|255|79|137|37|255|76|137|40|255|74|137|43|255|72|136|46|255|69|136|49|255|67|136|52|255|33|68|28|128|0-324|80|108|1|191|103|143|4|255|101|143|7|255|99|143|10|255|96|142|13|255|94|142|16|255|92|141|19|255|89|141|22|255|87|141|25|255|85|140|28|255|82|140|30|255|80|140|33|255|78|139|36|255|75|139|39|255|73|139|42|255|71|138|45|255|68|138|48|255|66|138|51|255|0-328|79|110|0|191|102|145|3|255|100|145|6|255|98|144|9|255|95|144|12|255|93|144|15|255|91|143|18|255|88|143|21|255|86|143|24|255|84|142|27|255|81|142|30|255|79|142|33|255|77|141|35|255|75|141|38|255|72|141|41|255|70|140|44|255|68|140|47|255|33|70|25|128|0-328|26|37|0|64|101|147|2|255|99|147|5|255|97|146|8|255|95|146|11|255|92|146|14|255|90|145|17|255|88|145|20|255|85|145|23|255|83|144|26|255|81|144|29|255|78|144|32|255|76|143|35|255|74|143|38|255|71|143|40|255|69|142|43|255|50|107|35|191|0-336|101|149|1|255|98|149|4|255|96|148|7|255|94|148|10|255|91|148|13|255|89|147|16|255|87|147|19|255|84|147|22|255|82|146|25|255|80|146|28|255|77|146|31|255|75|145|34|255|73|145|37|255|71|144|40|255|68|144|43|255|17|36|11|64|0-336|75|113|0|191|97|151|3|255|95|150|6|255|93|150|9|255|91|150|12|255|88|149|15|255|86|149|18|255|84|149|21|255|81|148|24|255|79|148|27|255|77|147|30|255|74|147|33|255|72|147|36|255|70|146|39|255|34|73|21|128|0-340|25|38|0|64|97|153|2|255|94|152|5|255|92|152|8|255|90|152|11|255|87|151|14|255|85|151|17|255|83|150|20|255|80|150|23|255|78|150|26|255|76|149|29|255|73|149|32|255|71|149|35|255|69|148|38|255|0-348|96|155|1|255|93|154|4|255|91|154|7|255|89|153|10|255|86|153|13|255|84|153|16|255|82|152|19|255|80|152|22|255|77|152|25|255|75|151|28|255|73|151|31|255|70|151|34|255|34|75|19|128|0-348|71|117|1|191|93|156|4|255|90|156|6|255|88|155|9|255|86|155|12|255|83|155|15|255|81|154|18|255|79|154|21|255|76|154|24|255|74|153|27|255|72|153|30|255|35|77|17|128|0-352|24|40|0|64|92|158|3|255|89|158|6|255|87|157|8|255|85|157|11|255|82|157|14|255|80|156|17|255|78|156|20|255|75|156|23|255|73|155|26|255|71|155|29|255|0-360|91|160|2|255|89|160|5|255|86|159|8|255|84|159|11|255|82|159|13|255|79|158|16|255|77|158|19|255|75|158|22|255|72|157|25|255|35|79|14|128|0-360|68|122|1|191|88|162|4|255|85|161|7|255|83|161|10|255|81|161|13|255|78|160|16|255|76|160|18|255|74|159|21|255|36|80|12|128|0-364|22|41|0|64|87|164|3|255|85|163|6|255|82|163|9|255|80|162|12|255|78|162|15|255|75|162|18|255|73|161|21|255|0-368|22|42|0|64|86|165|2|255|84|165|5|255|81|165|8|255|79|164|11|255|77|164|14|255|74|164|17|255|36|82|10|128|0-372|64|125|1|191|83|167|4|255|80|167|7|255|78|166|10|255|76|166|13|255|56|125|12|191|0-376|63|127|0|191|82|169|3|255|80|169|6|255|77|168|9|255|75|168|12|255|18|42|4|64|0-376|21|43|0|64|81|171|2|255|79|171|5|255|76|170|8|255|37|85|6|128|0-384|80|173|1|255|78|173|4|255|76|172|7|255|0-388|59|131|0|191|77|174|3|255|38|87|3|128|0-388|20|44|0|64|38|88|1|128|0-45436","url":"data:image/png;base64, "},"matchmedias":{"(max-aspect-ratio: 1/1)":false,"(max-aspect-ratio: 2/1)":false,"(max-aspect-ratio: 3/2)":false,"(max-aspect-ratio: 5/4)":false,"(max-aspect-ratio: 9/8)":false,"(max-aspect-ratio: 17/16)":false,"(max-aspect-ratio: 33/32)":false,"(max-aspect-ratio: 67/64)":false,"(max-aspect-ratio: 133/128)":false,"(max-aspect-ratio: 265/256)":false,"(max-aspect-ratio: 531/512)":false,"(max-aspect-ratio: 1063/1024)":false,"(max-aspect-ratio: 2127/2048)":false,"(max-aspect-ratio: 4255/4096)":false,"(max-aspect-ratio: 8511/8192)":false,"(max-aspect-ratio: 17023/16384)":false,"(max-aspect-ratio: 34047/32768)":false,"(max-aspect-ratio: 68095/65536)":false,"(max-aspect-ratio: 136191/131072)":false,"(max-aspect-ratio: 272383/262144)":false,"(max-aspect-ratio: 544767/524288)":false,"(max-aspect-ratio: 1089535/1048576)":false,"(max-aspect-ratio: 2179071/2097152)":false,"(max-aspect-ratio: 4358143/4194304)":false,"(max-aspect-ratio: 8716287/8388608)":false,"(max-aspect-ratio: 17432575/16777216)":false,"(max-aspect-ratio: 34865151/33554432)":false,"(max-aspect-ratio: 69730303/67108864)":false,"(max-aspect-ratio: 139460607/134217728)":false,"(max-aspect-ratio: 278921215/268435456)":false,"(max-aspect-ratio: 557842431/536870912)":false,"(max-aspect-ratio: 1115684863/1073741824)":false,"(max-aspect-ratio: 2231369727/2147483648)":false,"(max-aspect-ratio: 4462739455/4294967296)":false,"(max-aspect-ratio: 8925478911/8589934592)":false,"(max-aspect-ratio: 17850957823/17179869184)":false,"(max-aspect-ratio: 35701915647/34359738368)":false,"(max-aspect-ratio: 71403831295/68719476736)":false,"(max-aspect-ratio: 142807662591/137438953472)":false,"(max-aspect-ratio: 285615325183/274877906944)":false,"(max-aspect-ratio: 571230650367/549755813888)":false,"(max-aspect-ratio: 1142461300735/1099511627776)":false,"(max-aspect-ratio: 2284922601471/2199023255552)":false,"(max-aspect-ratio: 4569845202943/4398046511104)":false,"(max-aspect-ratio: 9139690405887/8796093022208)":false,"(max-aspect-ratio: 18279380811775/17592186044416)":false,"(max-aspect-ratio: 36558761623551/35184372088832)":false,"(max-aspect-ratio: 73117523247103/70368744177664)":false,"(max-aspect-ratio: 146235046494207/140737488355328)":false,"(max-aspect-ratio: 292470092988415/281474976710656)":false,"(max-aspect-ratio: 584940185976831/562949953421312)":false,"(max-aspect-ratio: 1169880371953663/1125899906842624)":false,"(min-resolution: 0.0001dpi)":true,"(max-resolution: 24dpi)":false,"(max-resolution: 48dpi)":false,"(max-resolution: 96dpi)":true,"(max-resolution: 72dpi)":false,"(max-resolution: 84dpi)":false,"(max-resolution: 90dpi)":false,"(max-resolution: 93dpi)":false,"(max-resolution: 95dpi)":false,"(any-hover: none)":false,"(any-hover: hover)":true,"(any-pointer: none)":false,"(any-pointer: coarse)":false,"(any-pointer: fine)":true,"(max-color: 8)":true,"(max-color: 4)":false,"(max-color: 6)":false,"(max-color: 7)":false,"(color-gamut: srgb)":true,"(color-gamut: p3)":false,"(color-gamut: rec2020)":false,"(max-color-index: 1000)":true,"(max-color-index: 500)":true,"(max-color-index: 250)":true,"(max-color-index: 125)":true,"(max-color-index: 62)":true,"(max-color-index: 31)":true,"(max-color-index: 15)":true,"(max-color-index: 7)":true,"(max-color-index: 3)":true,"(max-color-index: 1)":true,"(max-color-index: 0)":true,"(display-mode: fullscreen)":false,"(display-mode: standalone)":false,"(display-mode: minimal-ui)":false,"(display-mode: browser)":true,"(forced-colors: none)":true,"(forced-colors: active)":false,"(grid: 0)":true,"(grid: 1)":false,"(max-height: 600px)":false,"(max-height: 1200px)":true,"(max-height: 900px)":false,"(max-height: 750px)":false,"(max-height: 825px)":false,"(max-height: 863px)":false,"(max-height: 882px)":false,"(max-height: 891px)":false,"(max-height: 887px)":false,"(max-height: 889px)":false,"(max-height: 890px)":false,"(hover: none)":false,"(hover: hover)":true,"(inverted-colors: none)":false,"(inverted-colors: inverted)":false,"(light-level: normal)":false,"(light-level: dim)":false,"(light-level: washed)":false,"(max-monochrome: 1)":true,"(max-monochrome: 0)":true,"(orientation: landscape)":true,"(orientation: portrait)":false,"(pointer: none)":false,"(pointer: coarse)":false,"(pointer: fine)":true,"(overflow-inline: none)":false,"(overflow-inline: scroll)":true,"(scripting: none)":false,"(scripting: initial-only)":false,"(scripting: enabled)":false,"(max-width: 600px)":false,"(max-width: 1200px)":false,"(max-width: 900px)":false,"(max-width: 1050px)":false,"(max-width: 975px)":false,"(max-width: 938px)":false,"(max-width: 919px)":false,"(max-width: 929px)":false,"(max-width: 934px)":false,"(max-width: 932px)":false,"(max-width: 931px)":false,"(prefers-contrast: no-preference)":true,"(prefers-contrast: high)":false,"(prefers-contrast: low)":false,"(overflow-block: none)":false,"(overflow-block: scroll)":true,"(overflow-block: optional-paged)":false,"(overflow-block: paged)":false,"(update: none)":false,"(update: slow)":false,"(update: fast)":true,"(prefers-reduced-motion: no-preference)":true,"(prefers-reduced-motion: reduce)":false,"(q: 1)":false,"(prefers-reduced-transparency: no-preference)":false,"(prefers-reduced-transparency: reduce)":false,"(prefers-color-scheme: no-preference)":false,"(prefers-color-scheme: light)":false,"(prefers-color-scheme: dark)":true,"(scan: interlace)":false,"(scan: progressive)":false,"(max-aspect-ratio: 3/1)":true,"(max-aspect-ratio: 4/1)":true,"(max-aspect-ratio: 5/1)":true,"(max-aspect-ratio: 6/1)":true,"(max-aspect-ratio: 7/1)":true,"(max-aspect-ratio: 8/1)":true,"(max-aspect-ratio: 9/1)":true,"(max-aspect-ratio: 10/1)":true,"(max-aspect-ratio: 11/1)":true,"(max-aspect-ratio: 12/1)":true,"(max-aspect-ratio: 13/1)":true,"(max-aspect-ratio: 14/1)":true,"(max-aspect-ratio: 15/1)":true,"(max-aspect-ratio: 16/1)":true,"(max-aspect-ratio: 17/1)":true,"(max-aspect-ratio: 18/1)":true,"(max-aspect-ratio: 19/1)":true,"(max-aspect-ratio: 20/1)":true,"(max-aspect-ratio: 21/1)":true,"(max-aspect-ratio: 22/1)":true,"(max-aspect-ratio: 23/1)":true,"(max-aspect-ratio: 24/1)":true,"(max-aspect-ratio: 25/1)":true,"(max-aspect-ratio: 26/1)":true,"(max-aspect-ratio: 27/1)":true,"(max-aspect-ratio: 28/1)":true,"(max-aspect-ratio: 29/1)":true,"(max-aspect-ratio: 30/1)":true,"(max-aspect-ratio: 31/1)":true,"(max-aspect-ratio: 32/1)":true,"(max-aspect-ratio: 33/1)":true,"(max-aspect-ratio: 34/1)":true,"(max-aspect-ratio: 35/1)":true,"(max-aspect-ratio: 36/1)":true,"(max-aspect-ratio: 37/1)":true,"(max-aspect-ratio: 38/1)":true,"(max-aspect-ratio: 39/1)":true,"(max-aspect-ratio: 40/1)":true,"(max-aspect-ratio: 41/1)":true,"(max-aspect-ratio: 42/1)":true,"(max-aspect-ratio: 43/1)":true,"(max-aspect-ratio: 44/1)":true,"(max-aspect-ratio: 45/1)":true,"(max-aspect-ratio: 46/1)":true,"(max-aspect-ratio: 47/1)":true,"(max-aspect-ratio: 48/1)":true,"(max-aspect-ratio: 49/1)":true,"(max-aspect-ratio: 50/1)":true,"(max-aspect-ratio: 51/1)":true,"(max-aspect-ratio: 101/2)":true,"(max-aspect-ratio: 203/4)":true,"(max-aspect-ratio: 407/8)":true,"(max-aspect-ratio: 815/16)":true,"(max-aspect-ratio: 1631/32)":true,"(max-aspect-ratio: 3263/64)":true,"(max-aspect-ratio: 6527/128)":true,"(max-aspect-ratio: 13055/256)":true,"(max-aspect-ratio: 26111/512)":true,"(max-aspect-ratio: 52223/1024)":true,"(max-aspect-ratio: 104447/2048)":true,"(max-aspect-ratio: 208895/4096)":true,"(max-aspect-ratio: 417791/8192)":true,"(max-aspect-ratio: 835583/16384)":true,"(max-aspect-ratio: 1671167/32768)":true,"(max-aspect-ratio: 3342335/65536)":true,"(max-aspect-ratio: 6684671/131072)":true,"(max-aspect-ratio: 13369343/262144)":true,"(max-aspect-ratio: 26738687/524288)":true,"(max-aspect-ratio: 53477375/1048576)":true,"(max-aspect-ratio: 106954751/2097152)":true,"(max-aspect-ratio: 213909503/4194304)":true,"(max-aspect-ratio: 427819007/8388608)":true,"(max-aspect-ratio: 855638015/16777216)":true,"(max-aspect-ratio: 1711276031/33554432)":true,"(max-aspect-ratio: 3422552063/67108864)":true,"(max-aspect-ratio: 6845104127/134217728)":true,"(max-aspect-ratio: 13690208255/268435456)":true,"(max-aspect-ratio: 27380416511/536870912)":true,"(max-aspect-ratio: 54760833023/1073741824)":true,"(max-aspect-ratio: 109521666047/2147483648)":true,"(max-aspect-ratio: 219043332095/4294967296)":true,"(max-aspect-ratio: 438086664191/8589934592)":true,"(max-aspect-ratio: 876173328383/17179869184)":true,"(max-aspect-ratio: 1752346656767/34359738368)":true,"(max-aspect-ratio: 3504693313535/68719476736)":true,"(max-aspect-ratio: 7009386627071/137438953472)":true,"(max-aspect-ratio: 14018773254143/274877906944)":true,"(max-aspect-ratio: 28037546508287/549755813888)":true,"(max-aspect-ratio: 56075093016575/1099511627776)":true,"(max-aspect-ratio: 112150186033151/2199023255552)":true,"(max-aspect-ratio: 224300372066303/4398046511104)":true,"(max-aspect-ratio: 448600744132607/8796093022208)":true,"(max-aspect-ratio: 897201488265215/17592186044416)":true,"(max-aspect-ratio: 1794402976530431/35184372088832)":true,"(max-aspect-ratio: 3588805953060863/70368744177664)":true,"(max-aspect-ratio: 7177611906121727/140737488355328)":true,"(max-height: 844px)":false,"(max-height: 854px)":false,"(max-height: 859px)":false,"(max-height: 861px)":false,"(max-height: 862px)":false,"(max-width: 2400px)":true,"(max-width: 4800px)":true,"(max-width: 9600px)":true,"(max-width: 19200px)":true,"(max-width: 38400px)":true,"(max-width: 76800px)":true,"(max-width: 153600px)":true,"(max-width: 307200px)":true,"(max-width: 614400px)":true,"(max-width: 1228800px)":true,"(max-width: 2457600px)":true,"(max-width: 4915200px)":true,"(max-width: 9830400px)":true,"(max-width: 19660800px)":true,"(max-width: 39321600px)":true,"(max-width: 78643200px)":true,"(max-width: 157286400px)":true,"(max-width: 314572800px)":true,"(max-width: 629145600px)":true,"(max-width: 1258291200px)":true,"(max-width: 2516582400px)":true,"(max-width: 5033164800px)":true,"(max-width: 10066329600px)":true,"(max-width: 20132659200px)":true,"(max-width: 40265318400px)":true,"(max-width: 80530636800px)":true,"(max-width: 161061273600px)":true,"(max-width: 322122547200px)":true,"(max-width: 644245094400px)":true,"(max-width: 1288490188800px)":true,"(max-width: 2576980377600px)":true,"(max-width: 5153960755200px)":true,"(max-width: 10307921510400px)":true,"(max-width: 20615843020800px)":true,"(max-width: 41231686041600px)":true,"(max-width: 82463372083200px)":true,"(max-width: 164926744166400px)":true,"(max-width: 329853488332800px)":true,"(max-width: 659706976665600px)":true,"(max-width: 1319413953331200px)":true,"(max-width: 2638827906662400px)":true,"(max-width: 5277655813324800px)":true,"(max-width: 10555311626649600px)":true,"(max-width: 21110623253299200px)":true,"(max-width: 42221246506598400px)":true,"(max-width: 84442493013196800px)":true,"(max-width: 168884986026393600px)":true,"(max-width: 337769972052787200px)":true,"(max-width: 675539944105574400px)":true,"(max-width: 506654958079180800px)":true,"(max-width: 591097451092377600px)":true,"(max-width: 633318697598976000px)":true,"(max-width: 654429320852275200px)":true,"(max-width: 664984632478924800px)":true,"(max-width: 670262288292249600px)":true,"(max-width: 672901116198912000px)":true,"(max-width: 674220530152243200px)":true,"(max-width: 674880237128908800px)":true,"(max-width: 675210090617241600px)":true,"(max-width: 675375017361408000px)":true,"(max-width: 675457480733491200px)":true,"(max-width: 675498712419532800px)":true,"(max-width: 675519328262553600px)":true,"(max-width: 675529636184064000px)":true,"(max-width: 675534790144819200px)":true,"(max-width: 675537367125196800px)":true,"(max-width: 675538655615385600px)":true,"(max-width: 675539299860480000px)":true,"(max-width: 675539621983027200px)":true,"(max-width: 675539783044300800px)":true,"(max-width: 675539863574937600px)":true,"(max-width: 675539903840256000px)":true,"(max-width: 675539923972915200px)":true,"(max-width: 675539934039244800px)":true,"(max-width: 675539939072409600px)":true,"(max-width: 675539941588992000px)":true,"(max-width: 675539942847283200px)":true,"(max-width: 675539943476428800px)":true,"(max-width: 675539943791001600px)":true,"(max-width: 675539943948288000px)":true,"(max-width: 675539944026931200px)":true,"(max-width: 675539944066252800px)":true,"(max-width: 675539944085913600px)":true,"(max-width: 675539944095744000px)":true,"(max-width: 675539944100659200px)":true,"(max-width: 675539944103116800px)":true,"(max-width: 675539944104345600px)":true,"(max-width: 675539944104960000px)":true,"(max-width: 675539944105267200px)":true,"(max-width: 675539944105420800px)":true,"(max-width: 675539944105497600px)":true,"(max-width: 675539944105536000px)":true,"(max-width: 675539944105555200px)":true,"(max-width: 675539944105564800px)":true,"(max-width: 675539944105569500px)":true,"(max-width: 675539944105572000px)":true,"(max-width: 675539944105573100px)":true,"(max-width: 675539944105573800px)":true,"(max-width: 675539944105574100px)":true},"consoleprops":["assert","clear","context","count","countReset","createTask","debug","dir","dirxml","error","group","groupCollapsed","groupEnd","info","log","memory","profile","profileEnd","table","time","timeEnd","timeLog","timeStamp","trace","warn"],"webglprops":["canvas","drawingBufferWidth","drawingBufferHeight","drawingBufferColorSpace","unpackColorSpace","DEPTH_BUFFER_BIT","STENCIL_BUFFER_BIT","COLOR_BUFFER_BIT","POINTS","LINES","LINE_LOOP","LINE_STRIP","TRIANGLES","TRIANGLE_STRIP","TRIANGLE_FAN","ZERO","ONE","SRC_COLOR","ONE_MINUS_SRC_COLOR","SRC_ALPHA","ONE_MINUS_SRC_ALPHA","DST_ALPHA","ONE_MINUS_DST_ALPHA","DST_COLOR","ONE_MINUS_DST_COLOR","SRC_ALPHA_SATURATE","FUNC_ADD","BLEND_EQUATION","BLEND_EQUATION_RGB","BLEND_EQUATION_ALPHA","FUNC_SUBTRACT","FUNC_REVERSE_SUBTRACT","BLEND_DST_RGB","BLEND_SRC_RGB","BLEND_DST_ALPHA","BLEND_SRC_ALPHA","CONSTANT_COLOR","ONE_MINUS_CONSTANT_COLOR","CONSTANT_ALPHA","ONE_MINUS_CONSTANT_ALPHA","BLEND_COLOR","ARRAY_BUFFER","ELEMENT_ARRAY_BUFFER","ARRAY_BUFFER_BINDING","ELEMENT_ARRAY_BUFFER_BINDING","STREAM_DRAW","STATIC_DRAW","DYNAMIC_DRAW","BUFFER_SIZE","BUFFER_USAGE","CURRENT_VERTEX_ATTRIB","FRONT","BACK","FRONT_AND_BACK","TEXTURE_2D","CULL_FACE","BLEND","DITHER","STENCIL_TEST","DEPTH_TEST","SCISSOR_TEST","POLYGON_OFFSET_FILL","SAMPLE_ALPHA_TO_COVERAGE","SAMPLE_COVERAGE","NO_ERROR","INVALID_ENUM","INVALID_VALUE","INVALID_OPERATION","OUT_OF_MEMORY","CW","CCW","LINE_WIDTH","ALIASED_POINT_SIZE_RANGE","ALIASED_LINE_WIDTH_RANGE","CULL_FACE_MODE","FRONT_FACE","DEPTH_RANGE","DEPTH_WRITEMASK","DEPTH_CLEAR_VALUE","DEPTH_FUNC","STENCIL_CLEAR_VALUE","STENCIL_FUNC","STENCIL_FAIL","STENCIL_PASS_DEPTH_FAIL","STENCIL_PASS_DEPTH_PASS","STENCIL_REF","STENCIL_VALUE_MASK","STENCIL_WRITEMASK","STENCIL_BACK_FUNC","STENCIL_BACK_FAIL","STENCIL_BACK_PASS_DEPTH_FAIL","STENCIL_BACK_PASS_DEPTH_PASS","STENCIL_BACK_REF","STENCIL_BACK_VALUE_MASK","STENCIL_BACK_WRITEMASK","VIEWPORT","SCISSOR_BOX","COLOR_CLEAR_VALUE","COLOR_WRITEMASK","UNPACK_ALIGNMENT","PACK_ALIGNMENT","MAX_TEXTURE_SIZE","MAX_VIEWPORT_DIMS","SUBPIXEL_BITS","RED_BITS","GREEN_BITS","BLUE_BITS","ALPHA_BITS","DEPTH_BITS","STENCIL_BITS","POLYGON_OFFSET_UNITS","POLYGON_OFFSET_FACTOR","TEXTURE_BINDING_2D","SAMPLE_BUFFERS","SAMPLES","SAMPLE_COVERAGE_VALUE","SAMPLE_COVERAGE_INVERT","COMPRESSED_TEXTURE_FORMATS","DONT_CARE","FASTEST","NICEST","GENERATE_MIPMAP_HINT","BYTE","UNSIGNED_BYTE","SHORT","UNSIGNED_SHORT","INT","UNSIGNED_INT","FLOAT","DEPTH_COMPONENT","ALPHA","RGB","RGBA","LUMINANCE","LUMINANCE_ALPHA","UNSIGNED_SHORT_4_4_4_4","UNSIGNED_SHORT_5_5_5_1","UNSIGNED_SHORT_5_6_5","FRAGMENT_SHADER","VERTEX_SHADER","MAX_VERTEX_ATTRIBS","MAX_VERTEX_UNIFORM_VECTORS","MAX_VARYING_VECTORS","MAX_COMBINED_TEXTURE_IMAGE_UNITS","MAX_VERTEX_TEXTURE_IMAGE_UNITS","MAX_TEXTURE_IMAGE_UNITS","MAX_FRAGMENT_UNIFORM_VECTORS","SHADER_TYPE","DELETE_STATUS","LINK_STATUS","VALIDATE_STATUS","ATTACHED_SHADERS","ACTIVE_UNIFORMS","ACTIVE_ATTRIBUTES","SHADING_LANGUAGE_VERSION","CURRENT_PROGRAM","NEVER","LESS","EQUAL","LEQUAL","GREATER","NOTEQUAL","GEQUAL","ALWAYS","KEEP","REPLACE","INCR","DECR","INVERT","INCR_WRAP","DECR_WRAP","VENDOR","RENDERER","VERSION","NEAREST","LINEAR","NEAREST_MIPMAP_NEAREST","LINEAR_MIPMAP_NEAREST","NEAREST_MIPMAP_LINEAR","LINEAR_MIPMAP_LINEAR","TEXTURE_MAG_FILTER","TEXTURE_MIN_FILTER","TEXTURE_WRAP_S","TEXTURE_WRAP_T","TEXTURE","TEXTURE_CUBE_MAP","TEXTURE_BINDING_CUBE_MAP","TEXTURE_CUBE_MAP_POSITIVE_X","TEXTURE_CUBE_MAP_NEGATIVE_X","TEXTURE_CUBE_MAP_POSITIVE_Y","TEXTURE_CUBE_MAP_NEGATIVE_Y","TEXTURE_CUBE_MAP_POSITIVE_Z","TEXTURE_CUBE_MAP_NEGATIVE_Z","MAX_CUBE_MAP_TEXTURE_SIZE","TEXTURE0","TEXTURE1","TEXTURE2","TEXTURE3","TEXTURE4","TEXTURE5","TEXTURE6","TEXTURE7","TEXTURE8","TEXTURE9","TEXTURE10","TEXTURE11","TEXTURE12","TEXTURE13","TEXTURE14","TEXTURE15","TEXTURE16","TEXTURE17","TEXTURE18","TEXTURE19","TEXTURE20","TEXTURE21","TEXTURE22","TEXTURE23","TEXTURE24","TEXTURE25","TEXTURE26","TEXTURE27","TEXTURE28","TEXTURE29","TEXTURE30","TEXTURE31","ACTIVE_TEXTURE","REPEAT","CLAMP_TO_EDGE","MIRRORED_REPEAT","FLOAT_VEC2","FLOAT_VEC3","FLOAT_VEC4","INT_VEC2","INT_VEC3","INT_VEC4","BOOL","BOOL_VEC2","BOOL_VEC3","BOOL_VEC4","FLOAT_MAT2","FLOAT_MAT3","FLOAT_MAT4","SAMPLER_2D","SAMPLER_CUBE","VERTEX_ATTRIB_ARRAY_ENABLED","VERTEX_ATTRIB_ARRAY_SIZE","VERTEX_ATTRIB_ARRAY_STRIDE","VERTEX_ATTRIB_ARRAY_TYPE","VERTEX_ATTRIB_ARRAY_NORMALIZED","VERTEX_ATTRIB_ARRAY_POINTER","VERTEX_ATTRIB_ARRAY_BUFFER_BINDING","IMPLEMENTATION_COLOR_READ_TYPE","IMPLEMENTATION_COLOR_READ_FORMAT","COMPILE_STATUS","LOW_FLOAT","MEDIUM_FLOAT","HIGH_FLOAT","LOW_INT","MEDIUM_INT","HIGH_INT","FRAMEBUFFER","RENDERBUFFER","RGBA4","RGB5_A1","RGB565","DEPTH_COMPONENT16","STENCIL_INDEX8","DEPTH_STENCIL","RENDERBUFFER_WIDTH","RENDERBUFFER_HEIGHT","RENDERBUFFER_INTERNAL_FORMAT","RENDERBUFFER_RED_SIZE","RENDERBUFFER_GREEN_SIZE","RENDERBUFFER_BLUE_SIZE","RENDERBUFFER_ALPHA_SIZE","RENDERBUFFER_DEPTH_SIZE","RENDERBUFFER_STENCIL_SIZE","FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE","FRAMEBUFFER_ATTACHMENT_OBJECT_NAME","FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL","FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE","COLOR_ATTACHMENT0","DEPTH_ATTACHMENT","STENCIL_ATTACHMENT","DEPTH_STENCIL_ATTACHMENT","NONE","FRAMEBUFFER_COMPLETE","FRAMEBUFFER_INCOMPLETE_ATTACHMENT","FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT","FRAMEBUFFER_INCOMPLETE_DIMENSIONS","FRAMEBUFFER_UNSUPPORTED","FRAMEBUFFER_BINDING","RENDERBUFFER_BINDING","MAX_RENDERBUFFER_SIZE","INVALID_FRAMEBUFFER_OPERATION","UNPACK_FLIP_Y_WEBGL","UNPACK_PREMULTIPLY_ALPHA_WEBGL","CONTEXT_LOST_WEBGL","UNPACK_COLORSPACE_CONVERSION_WEBGL","BROWSER_DEFAULT_WEBGL","activeTexture","attachShader","bindAttribLocation","bindRenderbuffer","blendColor","blendEquation","blendEquationSeparate","blendFunc","blendFuncSeparate","bufferData","bufferSubData","checkFramebufferStatus","compileShader","compressedTexImage2D","compressedTexSubImage2D","copyTexImage2D","copyTexSubImage2D","createBuffer","createFramebuffer","createProgram","createRenderbuffer","createShader","createTexture","cullFace","deleteBuffer","deleteFramebuffer","deleteProgram","deleteRenderbuffer","deleteShader","deleteTexture","depthFunc","depthMask","depthRange","detachShader","disable","enable","finish","flush","framebufferRenderbuffer","framebufferTexture2D","frontFace","generateMipmap","getActiveAttrib","getActiveUniform","getAttachedShaders","getAttribLocation","getBufferParameter","getContextAttributes","getError","getExtension","getFramebufferAttachmentParameter","getParameter","getProgramInfoLog","getProgramParameter","getRenderbufferParameter","getShaderInfoLog","getShaderParameter","getShaderPrecisionFormat","getShaderSource","getSupportedExtensions","getTexParameter","getUniform","getUniformLocation","getVertexAttrib","getVertexAttribOffset","hint","isBuffer","isContextLost","isEnabled","isFramebuffer","isProgram","isRenderbuffer","isShader","isTexture","lineWidth","linkProgram","pixelStorei","polygonOffset","readPixels","renderbufferStorage","sampleCoverage","shaderSource","stencilFunc","stencilFuncSeparate","stencilMask","stencilMaskSeparate","stencilOp","stencilOpSeparate","texImage2D","texParameterf","texParameteri","texSubImage2D","useProgram","validateProgram","bindBuffer","bindFramebuffer","bindTexture","clear","clearColor","clearDepth","clearStencil","colorMask","disableVertexAttribArray","drawArrays","drawElements","enableVertexAttribArray","scissor","uniform1f","uniform1fv","uniform1i","uniform1iv","uniform2f","uniform2fv","uniform2i","uniform2iv","uniform3f","uniform3fv","uniform3i","uniform3iv","uniform4f","uniform4fv","uniform4i","uniform4iv","uniformMatrix2fv","uniformMatrix3fv","uniformMatrix4fv","vertexAttrib1f","vertexAttrib1fv","vertexAttrib2f","vertexAttrib2fv","vertexAttrib3f","vertexAttrib3fv","vertexAttrib4f","vertexAttrib4fv","vertexAttribPointer","viewport","makeXRCompatible"],"windowprops":["Object","Function","Array","Number","parseFloat","parseInt","Infinity","NaN","undefined","Boolean","String","Symbol","Date","Promise","RegExp","Error","AggregateError","EvalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError","globalThis","JSON","Math","Intl","ArrayBuffer","Atomics","Uint8Array","Int8Array","Uint16Array","Int16Array","Uint32Array","Int32Array","Float32Array","Float64Array","Uint8ClampedArray","BigUint64Array","BigInt64Array","DataView","Map","BigInt","Set","WeakMap","WeakSet","Proxy","Reflect","FinalizationRegistry","WeakRef","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape","eval","isFinite","isNaN","console","Option","Image","Audio","webkitURL","webkitRTCPeerConnection","webkitMediaStream","WebKitMutationObserver","WebKitCSSMatrix","XSLTProcessor","XPathResult","XPathExpression","XPathEvaluator","XMLSerializer","XMLHttpRequestUpload","XMLHttpRequestEventTarget","XMLHttpRequest","XMLDocument","WritableStreamDefaultWriter","WritableStreamDefaultController","WritableStream","Worker","Window","WheelEvent","WebSocket","WebGLVertexArrayObject","WebGLUniformLocation","WebGLTransformFeedback","WebGLTexture","WebGLSync","WebGLShaderPrecisionFormat","WebGLShader","WebGLSampler","WebGLRenderingContext","WebGLRenderbuffer","WebGLQuery","WebGLProgram","WebGLFramebuffer","WebGLContextEvent","WebGLBuffer","WebGLActiveInfo","WebGL2RenderingContext","WaveShaperNode","VisualViewport","VirtualKeyboardGeometryChangeEvent","ValidityState","VTTCue","UserActivation","URLSearchParams","URLPattern","URL","UIEvent","TrustedTypePolicyFactory","TrustedTypePolicy","TrustedScriptURL","TrustedScript","TrustedHTML","TreeWalker","TransitionEvent","TransformStreamDefaultController","TransformStream","TrackEvent","TouchList","TouchEvent","Touch","TimeRanges","TextTrackList","TextTrackCueList","TextTrackCue","TextTrack","TextMetrics","TextEvent","TextEncoderStream","TextEncoder","TextDecoderStream","TextDecoder","Text","TaskSignal","TaskPriorityChangeEvent","TaskController","TaskAttributionTiming","SyncManager","SubmitEvent","StyleSheetList","StyleSheet","StylePropertyMapReadOnly","StylePropertyMap","StorageEvent","Storage","StereoPannerNode","StaticRange","SourceBufferList","SourceBuffer","ShadowRoot","Selection","SecurityPolicyViolationEvent","ScriptProcessorNode","ScreenOrientation","Screen","Scheduling","Scheduler","SVGViewElement","SVGUseElement","SVGUnitTypes","SVGTransformList","SVGTransform","SVGTitleElement","SVGTextPositioningElement","SVGTextPathElement","SVGTextElement","SVGTextContentElement","SVGTSpanElement","SVGSymbolElement","SVGSwitchElement","SVGStyleElement","SVGStringList","SVGStopElement","SVGSetElement","SVGScriptElement","SVGSVGElement","SVGRectElement","SVGRect","SVGRadialGradientElement","SVGPreserveAspectRatio","SVGPolylineElement","SVGPolygonElement","SVGPointList","SVGPoint","SVGPatternElement","SVGPathElement","SVGNumberList","SVGNumber","SVGMetadataElement","SVGMatrix","SVGMaskElement","SVGMarkerElement","SVGMPathElement","SVGLinearGradientElement","SVGLineElement","SVGLengthList","SVGLength","SVGImageElement","SVGGraphicsElement","SVGGradientElement","SVGGeometryElement","SVGGElement","SVGForeignObjectElement","SVGFilterElement","SVGFETurbulenceElement","SVGFETileElement","SVGFESpotLightElement","SVGFESpecularLightingElement","SVGFEPointLightElement","SVGFEOffsetElement","SVGFEMorphologyElement","SVGFEMergeNodeElement","SVGFEMergeElement","SVGFEImageElement","SVGFEGaussianBlurElement","SVGFEFuncRElement","SVGFEFuncGElement","SVGFEFuncBElement","SVGFEFuncAElement","SVGFEFloodElement","SVGFEDropShadowElement","SVGFEDistantLightElement","SVGFEDisplacementMapElement","SVGFEDiffuseLightingElement","SVGFEConvolveMatrixElement","SVGFECompositeElement","SVGFEComponentTransferElement","SVGFEColorMatrixElement","SVGFEBlendElement","SVGEllipseElement","SVGElement","SVGDescElement","SVGDefsElement","SVGComponentTransferFunctionElement","SVGClipPathElement","SVGCircleElement","SVGAnimationElement","SVGAnimatedTransformList","SVGAnimatedString","SVGAnimatedRect","SVGAnimatedPreserveAspectRatio","SVGAnimatedNumberList","SVGAnimatedNumber","SVGAnimatedLengthList","SVGAnimatedLength","SVGAnimatedInteger","SVGAnimatedEnumeration","SVGAnimatedBoolean","SVGAnimatedAngle","SVGAnimateTransformElement","SVGAnimateMotionElement","SVGAnimateElement","SVGAngle","SVGAElement","Response","ResizeObserverSize","ResizeObserverEntry","ResizeObserver","Request","ReportingObserver","ReadableStreamDefaultReader","ReadableStreamDefaultController","ReadableStreamBYOBRequest","ReadableStreamBYOBReader","ReadableStream","ReadableByteStreamController","Range","RadioNodeList","RTCTrackEvent","RTCStatsReport","RTCSessionDescription","RTCSctpTransport","RTCRtpTransceiver","RTCRtpSender","RTCRtpReceiver","RTCPeerConnectionIceEvent","RTCPeerConnectionIceErrorEvent","RTCPeerConnection","RTCIceTransport","RTCIceCandidate","RTCErrorEvent","RTCError","RTCEncodedVideoFrame","RTCEncodedAudioFrame","RTCDtlsTransport","RTCDataChannelEvent","RTCDataChannel","RTCDTMFToneChangeEvent","RTCDTMFSender","RTCCertificate","PromiseRejectionEvent","ProgressEvent","Profiler","ProcessingInstruction","PopStateEvent","PointerEvent","PluginArray","Plugin","PictureInPictureWindow","PictureInPictureEvent","PeriodicWave","PerformanceTiming","PerformanceServerTiming","PerformanceResourceTiming","PerformancePaintTiming","PerformanceObserverEntryList","PerformanceObserver","PerformanceNavigationTiming","PerformanceNavigation","PerformanceMeasure","PerformanceMark","PerformanceLongTaskTiming","PerformanceEventTiming","PerformanceEntry","PerformanceElementTiming","Performance","Path2D","PannerNode","PageTransitionEvent","OverconstrainedError","OscillatorNode","OffscreenCanvasRenderingContext2D","OffscreenCanvas","OfflineAudioContext","OfflineAudioCompletionEvent","NodeList","NodeIterator","NodeFilter","Node","NetworkInformation","Navigator","NavigationTransition","NavigationHistoryEntry","NavigationDestination","NavigationCurrentEntryChangeEvent","Navigation","NavigateEvent","NamedNodeMap","MutationRecord","MutationObserver","MouseEvent","MimeTypeArray","MimeType","MessagePort","MessageEvent","MessageChannel","MediaStreamTrackProcessor","MediaStreamTrackGenerator","MediaStreamTrackEvent","MediaStreamTrack","MediaStreamEvent","MediaStreamAudioSourceNode","MediaStreamAudioDestinationNode","MediaStream","MediaSourceHandle","MediaSource","MediaRecorder","MediaQueryListEvent","MediaQueryList","MediaList","MediaError","MediaEncryptedEvent","MediaElementAudioSourceNode","MediaCapabilities","MathMLElement","Location","LayoutShiftAttribution","LayoutShift","LargestContentfulPaint","KeyframeEffect","KeyboardEvent","IntersectionObserverEntry","IntersectionObserver","InputEvent","InputDeviceInfo","InputDeviceCapabilities","ImageData","ImageCapture","ImageBitmapRenderingContext","ImageBitmap","IdleDeadline","IIRFilterNode","IDBVersionChangeEvent","IDBTransaction","IDBRequest","IDBOpenDBRequest","IDBObjectStore","IDBKeyRange","IDBIndex","IDBFactory","IDBDatabase","IDBCursorWithValue","IDBCursor","History","Headers","HashChangeEvent","HTMLVideoElement","HTMLUnknownElement","HTMLUListElement","HTMLTrackElement","HTMLTitleElement","HTMLTimeElement","HTMLTextAreaElement","HTMLTemplateElement","HTMLTableSectionElement","HTMLTableRowElement","HTMLTableElement","HTMLTableColElement","HTMLTableCellElement","HTMLTableCaptionElement","HTMLStyleElement","HTMLSpanElement","HTMLSourceElement","HTMLSlotElement","HTMLSelectElement","HTMLScriptElement","HTMLQuoteElement","HTMLProgressElement","HTMLPreElement","HTMLPictureElement","HTMLParamElement","HTMLParagraphElement","HTMLOutputElement","HTMLOptionsCollection","HTMLOptionElement","HTMLOptGroupElement","HTMLObjectElement","HTMLOListElement","HTMLModElement","HTMLMeterElement","HTMLMetaElement","HTMLMenuElement","HTMLMediaElement","HTMLMarqueeElement","HTMLMapElement","HTMLLinkElement","HTMLLegendElement","HTMLLabelElement","HTMLLIElement","HTMLInputElement","HTMLImageElement","HTMLIFrameElement","HTMLHtmlElement","HTMLHeadingElement","HTMLHeadElement","HTMLHRElement","HTMLFrameSetElement","HTMLFrameElement","HTMLFormElement","HTMLFormControlsCollection","HTMLFontElement","HTMLFieldSetElement","HTMLEmbedElement","HTMLElement","HTMLDocument","HTMLDivElement","HTMLDirectoryElement","HTMLDialogElement","HTMLDetailsElement","HTMLDataListElement","HTMLDataElement","HTMLDListElement","HTMLCollection","HTMLCanvasElement","HTMLButtonElement","HTMLBodyElement","HTMLBaseElement","HTMLBRElement","HTMLAudioElement","HTMLAreaElement","HTMLAnchorElement","HTMLAllCollection","GeolocationPositionError","GeolocationPosition","GeolocationCoordinates","Geolocation","GamepadHapticActuator","GamepadEvent","GamepadButton","Gamepad","GainNode","FormDataEvent","FormData","FontFaceSetLoadEvent","FontFace","FocusEvent","FileReader","FileList","File","FeaturePolicy","External","EventTarget","EventSource","EventCounts","Event","ErrorEvent","ElementInternals","Element","DynamicsCompressorNode","DragEvent","DocumentType","DocumentFragment","Document","DelayNode","DecompressionStream","DataTransferItemList","DataTransferItem","DataTransfer","DOMTokenList","DOMStringMap","DOMStringList","DOMRectReadOnly","DOMRectList","DOMRect","DOMQuad","DOMPointReadOnly","DOMPoint","DOMParser","DOMMatrixReadOnly","DOMMatrix","DOMImplementation","DOMException","DOMError","CustomStateSet","CustomEvent","CustomElementRegistry","Crypto","CountQueuingStrategy","ConvolverNode","ConstantSourceNode","CompressionStream","CompositionEvent","Comment","CloseEvent","ClipboardEvent","CharacterData","ChannelSplitterNode","ChannelMergerNode","CanvasRenderingContext2D","CanvasPattern","CanvasGradient","CanvasCaptureMediaStreamTrack","CSSVariableReferenceValue","CSSUnparsedValue","CSSUnitValue","CSSTranslate","CSSTransformValue","CSSTransformComponent","CSSSupportsRule","CSSStyleValue","CSSStyleSheet","CSSStyleRule","CSSStyleDeclaration","CSSSkewY","CSSSkewX","CSSSkew","CSSScale","CSSRuleList","CSSRule","CSSRotate","CSSPropertyRule","CSSPositionValue","CSSPerspective","CSSPageRule","CSSNumericValue","CSSNumericArray","CSSNamespaceRule","CSSMediaRule","CSSMatrixComponent","CSSMathValue","CSSMathSum","CSSMathProduct","CSSMathNegate","CSSMathMin","CSSMathMax","CSSMathInvert","CSSMathClamp","CSSLayerStatementRule","CSSLayerBlockRule","CSSKeywordValue","CSSKeyframesRule","CSSKeyframeRule","CSSImportRule","CSSImageValue","CSSGroupingRule","CSSFontPaletteValuesRule","CSSFontFaceRule","CSSCounterStyleRule","CSSContainerRule","CSSConditionRule","CSS","CDATASection","ByteLengthQueuingStrategy","BroadcastChannel","BlobEvent","Blob","BiquadFilterNode","BeforeUnloadEvent","BeforeInstallPromptEvent","BaseAudioContext","BarProp","AudioWorkletNode","AudioSinkInfo","AudioScheduledSourceNode","AudioProcessingEvent","AudioParamMap","AudioParam","AudioNode","AudioListener","AudioDestinationNode","AudioContext","AudioBufferSourceNode","AudioBuffer","Attr","AnimationEvent","AnimationEffect","Animation","AnalyserNode","AbstractRange","AbortSignal","AbortController","window","self","document","name","location","customElements","history","navigation","locationbar","menubar","personalbar","scrollbars","statusbar","toolbar","status","closed","frames","length","top","opener","parent","frameElement","navigator","origin","external","screen","innerWidth","innerHeight","scrollX","pageXOffset","scrollY","pageYOffset","visualViewport","screenX","screenY","outerWidth","outerHeight","devicePixelRatio","event","clientInformation","offscreenBuffering","screenLeft","screenTop","styleMedia","onsearch","isSecureContext","trustedTypes","performance","onappinstalled","onbeforeinstallprompt","crypto","indexedDB","sessionStorage","localStorage","onbeforexrselect","onabort","onbeforeinput","onblur","oncancel","oncanplay","oncanplaythrough","onchange","onclick","onclose","oncontextlost","oncontextmenu","oncontextrestored","oncuechange","ondblclick","ondrag","ondragend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","ondurationchange","onemptied","onended","onerror","onfocus","onformdata","oninput","oninvalid","onkeydown","onkeypress","onkeyup","onload","onloadeddata","onloadedmetadata","onloadstart","onmousedown","onmouseenter","onmouseleave","onmousemove","onmouseout","onmouseover","onmouseup","onmousewheel","onpause","onplay","onplaying","onprogress","onratechange","onreset","onresize","onscroll","onsecuritypolicyviolation","onseeked","onseeking","onselect","onslotchange","onstalled","onsubmit","onsuspend","ontimeupdate","ontoggle","onvolumechange","onwaiting","onwebkitanimationend","onwebkitanimationiteration","onwebkitanimationstart","onwebkittransitionend","onwheel","onauxclick","ongotpointercapture","onlostpointercapture","onpointerdown","onpointermove","onpointerrawupdate","onpointerup","onpointercancel","onpointerover","onpointerout","onpointerenter","onpointerleave","onselectstart","onselectionchange","onanimationend","onanimationiteration","onanimationstart","ontransitionrun","ontransitionstart","ontransitionend","ontransitioncancel","onafterprint","onbeforeprint","onbeforeunload","onhashchange","onlanguagechange","onmessage","onmessageerror","onoffline","ononline","onpagehide","onpageshow","onpopstate","onrejectionhandled","onstorage","onunhandledrejection","onunload","crossOriginIsolated","scheduler","alert","atob","blur","btoa","cancelAnimationFrame","cancelIdleCallback","captureEvents","clearInterval","clearTimeout","close","confirm","createImageBitmap","fetch","find","focus","getComputedStyle","getSelection","matchMedia","moveBy","moveTo","open","postMessage","print","prompt","queueMicrotask","releaseEvents","reportError","requestAnimationFrame","requestIdleCallback","resizeBy","resizeTo","scroll","scrollBy","scrollTo","setInterval","setTimeout","stop","structuredClone","webkitCancelAnimationFrame","webkitRequestAnimationFrame","chrome","WebAssembly","fence","caches","cookieStore","ondevicemotion","ondeviceorientation","ondeviceorientationabsolute","launchQueue","sharedStorage","documentPictureInPicture","onbeforematch","onbeforetoggle","AbsoluteOrientationSensor","Accelerometer","AudioWorklet","BatteryManager","Cache","CacheStorage","Clipboard","ClipboardItem","CookieChangeEvent","CookieStore","CookieStoreManager","Credential","CredentialsContainer","CryptoKey","DeviceMotionEvent","DeviceMotionEventAcceleration","DeviceMotionEventRotationRate","DeviceOrientationEvent","FederatedCredential","GPU","GPUAdapter","GPUAdapterInfo","GPUBindGroup","GPUBindGroupLayout","GPUBuffer","GPUBufferUsage","GPUCanvasContext","GPUColorWrite","GPUCommandBuffer","GPUCommandEncoder","GPUCompilationInfo","GPUCompilationMessage","GPUComputePassEncoder","GPUComputePipeline","GPUDevice","GPUDeviceLostInfo","GPUError","GPUExternalTexture","GPUInternalError","GPUMapMode","GPUOutOfMemoryError","GPUPipelineError","GPUPipelineLayout","GPUQuerySet","GPUQueue","GPURenderBundle","GPURenderBundleEncoder","GPURenderPassEncoder","GPURenderPipeline","GPUSampler","GPUShaderModule","GPUShaderStage","GPUSupportedFeatures","GPUSupportedLimits","GPUTexture","GPUTextureUsage","GPUTextureView","GPUUncapturedErrorEvent","GPUValidationError","GravitySensor","Gyroscope","Keyboard","KeyboardLayoutMap","LinearAccelerationSensor","Lock","LockManager","MIDIAccess","MIDIConnectionEvent","MIDIInput","MIDIInputMap","MIDIMessageEvent","MIDIOutput","MIDIOutputMap","MIDIPort","MediaDeviceInfo","MediaDevices","MediaKeyMessageEvent","MediaKeySession","MediaKeyStatusMap","MediaKeySystemAccess","MediaKeys","NavigationPreloadManager","NavigatorManagedData","OrientationSensor","PasswordCredential","RelativeOrientationSensor","Sanitizer","ScreenDetailed","ScreenDetails","Sensor","SensorErrorEvent","ServiceWorker","ServiceWorkerContainer","ServiceWorkerRegistration","StorageManager","SubtleCrypto","VirtualKeyboard","WGSLLanguageFeatures","WebTransport","WebTransportBidirectionalStream","WebTransportDatagramDuplexStream","WebTransportError","Worklet","XRDOMOverlayState","XRLayer","XRWebGLBinding","AudioData","EncodedAudioChunk","EncodedVideoChunk","ImageTrack","ImageTrackList","VideoColorSpace","VideoFrame","AudioDecoder","AudioEncoder","ImageDecoder","VideoDecoder","VideoEncoder","AuthenticatorAssertionResponse","AuthenticatorAttestationResponse","AuthenticatorResponse","PublicKeyCredential","BarcodeDetector","Bluetooth","BluetoothCharacteristicProperties","BluetoothDevice","BluetoothRemoteGATTCharacteristic","BluetoothRemoteGATTDescriptor","BluetoothRemoteGATTServer","BluetoothRemoteGATTService","CaptureController","DocumentPictureInPicture","EyeDropper","Fence","FencedFrameConfig","HTMLFencedFrameElement","FileSystemDirectoryHandle","FileSystemFileHandle","FileSystemHandle","FileSystemWritableFileStream","FontData","FragmentDirective","HID","HIDConnectionEvent","HIDDevice","HIDInputReportEvent","IdentityCredential","IdentityProvider","IdleDetector","LaunchParams","LaunchQueue","OTPCredential","PaymentAddress","PaymentRequest","PaymentResponse","PaymentMethodChangeEvent","Presentation","PresentationAvailability","PresentationConnection","PresentationConnectionAvailableEvent","PresentationConnectionCloseEvent","PresentationConnectionList","PresentationReceiver","PresentationRequest","Serial","SerialPort","SharedStorage","SharedStorageWorklet","ToggleEvent","USB","USBAlternateInterface","USBConfiguration","USBConnectionEvent","USBDevice","USBEndpoint","USBInTransferResult","USBInterface","USBIsochronousInTransferPacket","USBIsochronousInTransferResult","USBIsochronousOutTransferPacket","USBIsochronousOutTransferResult","USBOutTransferResult","WakeLock","WakeLockSentinel","WindowControlsOverlay","WindowControlsOverlayGeometryChangeEvent","XRAnchor","XRAnchorSet","XRBoundedReferenceSpace","XRCPUDepthInformation","XRCamera","XRDepthInformation","XRFrame","XRHitTestResult","XRHitTestSource","XRInputSource","XRInputSourceArray","XRInputSourceEvent","XRInputSourcesChangeEvent","XRLightEstimate","XRLightProbe","XRPose","XRRay","XRReferenceSpace","XRReferenceSpaceEvent","XRRenderState","XRRigidTransform","XRSession","XRSessionEvent","XRSpace","XRSystem","XRTransientInputHitTestResult","XRTransientInputHitTestSource","XRView","XRViewerPose","XRViewport","XRWebGLDepthInformation","XRWebGLLayer","getScreenDetails","openDatabase","queryLocalFonts","showDirectoryPicker","showOpenFilePicker","showSaveFilePicker","originAgentCluster","credentialless","speechSynthesis","oncontentvisibilityautostatechange","onscrollend","AnimationPlaybackEvent","AnimationTimeline","CSSAnimation","CSSTransition","DocumentTimeline","BackgroundFetchManager","BackgroundFetchRecord","BackgroundFetchRegistration","BluetoothUUID","BrowserCaptureMediaStreamTrack","CropTarget","CSSStartingStyleRule","ContentVisibilityAutoStateChangeEvent","DelegatedInkTrailPresenter","Ink","DocumentPictureInPictureEvent","Highlight","HighlightRegistry","MediaMetadata","MediaSession","MutationEvent","NavigatorUAData","Notification","PaymentManager","PaymentRequestUpdateEvent","PeriodicSyncManager","PermissionStatus","Permissions","PushManager","PushSubscription","PushSubscriptionOptions","RemotePlayback","ScrollTimeline","ViewTimeline","SharedWorker","SpeechSynthesisErrorEvent","SpeechSynthesisEvent","SpeechSynthesisUtterance","VideoPlaybackQuality","ViewTransition","VisibilityStateEntry","webkitSpeechGrammar","webkitSpeechGrammarList","webkitSpeechRecognition","webkitSpeechRecognitionError","webkitSpeechRecognitionEvent","webkitRequestFileSystem"],"locationprops":["ancestorOrigins","href","origin","protocol","host","hostname","port","pathname","search","hash","assign","reload","replace","toString"],"mathprops":["abs","acos","acosh","asin","asinh","atan","atanh","atan2","ceil","cbrt","expm1","clz32","cos","cosh","exp","floor","fround","hypot","imul","log","log1p","log2","log10","max","min","pow","random","round","sign","sin","sinh","sqrt","tan","tanh","trunc","E","LN10","LN2","LOG10E","LOG2E","PI","SQRT1_2","SQRT2"],"funcs":[1,1,1,1,1,1,0,1,1,1,0,1,1,1,1,1,0,1,0,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1],"funcs2":[0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,0,1,0,1,0,0,0,1,1,0,1,1,0,1,1,1,1,0],"documentfunc":[0,1,1,1,1,0,1,0],"bodyfunc":[0,1,0,0,1],"navigatorfunc":[1,1,1,1,1,1]}








// const crypto = require('crypto');
const {proxy} = require("./jsdom/lib/jsdom/living/generated/utils");
const {randomNumberRange} = require("ghost-cursor/lib/math");
module = undefined;
process = undefined;
__dirname = undefined;
__filename = undefined;
require = undefined;
var stackTrace = {};
var idx = 0;
var arrs = {};
console.time("处理完毕，耗时");
Object.defineProperty(console, 'Console', {
    enumerable: false,
    configurable: false,
    writable: false,
})
Object.defineProperties(console, {
    createTask: {
        value: v_saf(function createTask() {
        }),
        enumerable: true,
        configurable: true,
        writable: false,
    },
    memory: {
        value: v_saf(function memory() {
        }),
        enumerable: true,
        configurable: true,
        writable: false,
    }
})
console.Console = undefined;
console.log(Object.keys(Object.getOwnPropertyDescriptors(console)))
// if (!_process.argv[3]){
//     Date.now = function now() { return 1697523311706 };
//     Date.parse = function () { return 1697523311706 };
//     Date.prototype.valueOf = function () { return 1697523311706 };
//     Date.prototype.getTime = function () { return 1697523311706 };
//     Date.prototype.toString = function () { return 1697523311706 };
//     Performance.prototype.now = function now(){ return Number('1697523311706'.slice(8))}
//
//     Math.random = function random() {
//         return 0.08636862211354912
//     };
// }


Date.prototype.toString = v_saf(function () {
    try {
        return this.getTime()
    } catch (e) {
        return Date.now()
    }
}, 'toString')
debug = false;
dtavm = {}
v_events = {}
v_start_stamp = Date.now()

dtavm.log = console.log



var v_console_logger = console.log
var v_console_log = console.log
// console.log = function () {}
window = this;



window.ENV = ENV
window = v_saf(window)
window.window = window

window.Promise = Promise
window.ReadableStream = v_saf(function ReadableStream() {
})
window.TransformStream = v_saf(function TransformStream() {
})
window.SubmitEvent = v_saf(function SubmitEvent() {
})


window.CSS = proxy({
    supports: function () {
        print('CSS.supports', arguments)
        return true;
    }
}, 'CSS')
window = new Proxy(window, {
    get(target, p, receiver) {
        // if (p === 'addEventListener'){
        //     debugger;
        // }
        let res = Reflect.get(target, p, receiver);
        // if (!['Array', 'Math', 'Function', 'Object', 'ENV'].includes(p))
            console.log('get window', p, typeof res)
        // console.log(Reflect.get(target, '_cf_chl_ctx', receiver))

        if (!['_registeredHandlers', 'window'].includes(p) && res && typeof res === 'object' && typeof p !== 'symbol' && p !== 'removeEventListener') {
            return proxy(res, p)
        }
        return res;
    },
    set(target, p, newValue, receiver) {
        // console.log('set window', p, newValue)
        if (typeof newValue === 'string' && newValue.startsWith('3g')) {
            _console(newValue)
            // process.exit(0)
        }
        Reflect.set(target, p, newValue, receiver)
    }
});


// let HeaderGeneratorOptions = require('header-generator').HeaderGeneratorOptions


_console2 = console.log
// Math.random = function (){
//     _console2("call random")
//     return 0.12364546
// }
//
// _date = Date
// ssssssss = new _date('2023-05-14T03:24:00')
// Date = function() {
//     return ssssssss;
// }
// Date.__proto__ = _date

// var _hasOwnProperty = Object.hasOwnProperty;
// Object.hasOwnProperty = function (){
//     let res =  _hasOwnProperty.apply(this, arguments);
//     print('Object.hasOwnProperty', arguments, res === undefined);
//     if (arguments[1] === 'createElement')debugger;
//     return res;
// }
// var _getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
// Object.getOwnPropertyDescriptor = function (){
//     let res =  _getOwnPropertyDescriptor.apply(this, arguments);
//     print('Object.getOwnPropertyDescriptor', arguments[1], res === undefined);
//     if (arguments[1] === 'createElement')debugger;
//
//     return res;
// }
function aaProxy(obj, name) {
    // return obj;
    return new Proxy(obj, {
        get(target, propKey, receiver) { //拦截对象属性的读取，比如proxy.foo和proxy['foo']。
            let temp = Reflect.get(target, propKey, receiver);
            print(`${name} -> get ${propKey.toString()} return -> ${temp == undefined}`);
            if (typeof temp == 'object') {
                temp = myProxy(temp, name + " => " + propKey)
            }
            return temp;
        },
        set(target, propKey, value, receiver) { //拦截对象属性的设置，比如proxy.foo = v或proxy['foo'] = v，返回一个布尔值。
            const temp = Reflect.set(target, propKey, value, receiver);
            print(`${name} -> set ${propKey} value -> ${value}`);
            // if (propKey == 'pathname')debugger;
            return temp;
        },
        has(target, propKey) { //拦截propKey in proxy的操作，返回一个布尔值。
            const temp = Reflect.has(target, propKey);
            try {
                print(`${name} -> has ${propKey}`, temp);
            } catch (e) {
            }
            return temp;
        },
        deleteProperty(target, propKey) { //拦截delete proxy[propKey]的操作，返回一个布尔值。
            const temp = Reflect.deleteProperty(target, propKey);
            return temp;
        },
        ownKeys(target) { //拦截Object.getOwnPropertyNames(proxy)、Object.getOwnPropertySymbols(proxy)、Object.keys(proxy)、for...in循环，返回一个数组。该方法返回目标对象所有自身的属性的属性名，而Object.keys()的返回结果仅包括目标对象自身的可遍历属性。
            const temp = Reflect.ownKeys(target);
            return temp;
        },
        getOwnPropertyDescriptor(target, propKey) { //拦截Object.getOwnPropertyDescriptor(proxy, propKey)，返回属性的描述对象。
            const temp = Reflect.getOwnPropertyDescriptor(target, propKey);
            return temp;
        },
        defineProperty(target, propKey, propDesc) { //拦截Object.defineProperty(proxy, propKey, propDesc）、Object.defineProperties(proxy, propDescs)，返回一个布尔值。
            const temp = Reflect.defineProperty(target, propKey, propDesc);
            return temp;
        },
        preventExtensions(target) { //拦截Object.preventExtensions(proxy)，返回一个布尔值。
            const temp = Reflect.preventExtensions(target);
            return temp;
        },
        getPrototypeOf(target) { //拦截Object.getPrototypeOf(proxy)，返回一个对象。
            const temp = Reflect.getPrototypeOf(target);
            return temp;
        },
        isExtensible(target) { //拦截Object.isExtensible(proxy)，返回一个布尔值。
            const temp = Reflect.isExtensible(target);
            return temp;
        },
        setPrototypeOf(target, proto) { //拦截Object.setPrototypeOf(proxy, proto)，返回一个布尔值。如果目标对象是函数，那么还有两种额外操作可以拦截。
            const temp = Reflect.setPrototypeOf(target, proto);
            return temp;
        },
        apply(target, object, args) { //拦截 Proxy 实例作为函数调用的操作，比如proxy(...args)、proxy.call(object, ...args)、proxy.apply(...)。
            const temp = Reflect.apply(target, object, args);
            return temp;
        },
        construct(target, args) { //拦截 Proxy 实例作为构造函数调用的操作，比如new proxy(...args)。
            const temp = Reflect.construct(target, args);
            return temp;
        }
    })
}

// dtavm.proxy =
debug = false
var v_saf;
!function () {
    var n = Function.toString, t = [], i = [], o = [].indexOf.bind(t), e = [].push.bind(t), r = [].push.bind(i);

    function u(n, t, nn) {
        tt = ''
        if (nn) {
            tt = ' ' + nn
        }
        return -1 == o(n) && (e(n), r(`function${tt} ${t || n.name || ""}() { [native code] }`.replaceAll('get get', 'get').replaceAll('set set', 'set'))), n
    }

    Object.defineProperty(Function.prototype, "toString", {
        enumerable: !1,
        configurable: !0,
        writable: !0,
        value: function () {
            let res = "function" == typeof this && i[o(this)] || n.call(this)
            // print('toString', arguments, '|||', 'res', res)

            return res;
        }
    }), u(Function.prototype.toString, "toString"), v_saf = u
}();

function v_hook_href(obj, name, initurl) {
    var r = Object.defineProperty(obj, 'href', {
        get: function () {
            if (!(this.protocol) && !(this.host)) {
                r = ''
            } else {
                r = this.protocol + "//" + this.host + (this.port ? ":" + this.port : "") + this.pathname + this.search + this.hash;
            }
            // v_console_log(`  [*] ${name||obj.constructor.name} -> href[get]:`, JSON.stringify(r))
            return r
        },
        set: function (href) {
            href = href.trim()
            v_console_log(`  [*] ${name || obj.constructor.name} -> href[set]:`, JSON.stringify(href))
            if (href.startsWith("http://") || href.startsWith("https://")) {/*ok*/
            } else if (href.startsWith("//")) {
                href = (this.protocol ? this.protocol : 'http:') + href
            } else {
                href = this.protocol + "//" + this.host + (this.port ? ":" + this.port : "") + '/' + ((href[0] == '/') ? href.slice(1) : href)
            }
            var a = href.match(/([^:]+:)\/\/([^/:?#]+):?(\d+)?([^?#]*)?(\?[^#]*)?(#.*)?/);
            this.protocol = a[1] ? a[1] : "";
            this.host = a[2] ? a[2] : "";
            this.port = a[3] ? a[3] : "";
            this.pathname = a[4] ? a[4] : "";
            this.search = a[5] ? a[5] : "";
            this.hash = a[6] ? a[6] : "";
            this.hostname = this.host;
            this.origin = this.protocol + "//" + this.host + (this.port ? ":" + this.port : "");
        }
    });
    // r = Object.defineProperty(r, 'search', {
    //     get: function(){
    //         v_console_log(`  [*] ${name||obj.constructor.name} -> search[get]:`, this.search)
    //
    //         // v_console_log(`  [*] ${name||obj.constructor.name} -> href[get]:`, JSON.stringify(r))
    //         return this.search_
    //     },
    //     set: function(href){
    //         v_console_log(`  [*] ${name||obj.constructor.name} -> search[set]:`, href)
    //
    //         this.search_ = href
    //     }
    // });
    if (initurl && initurl.trim()) {
        var temp = v_new_toggle;
        v_new_toggle = true;
        r.href = initurl;
        v_new_toggle = temp;
    }

    return r
}

function _inherits(t, e) {
    t.prototype = Object.create(e.prototype, {
        constructor: {value: t, writable: !0, configurable: !0}
    }), e && Object.setPrototypeOf(t, e)
}

// Object.defineProperty(Object.prototype, Symbol.toStringTag, {
//     get() { return Object.getPrototypeOf(this).constructor.name }
// });
var v_new_toggle = true
Object.freeze(console)//only for javascript-obfuscator anti console debug.

v_console_log = function () {
}
var v_random = (function () {
    var seed = 276951438;
    return function random() {
        return seed = (seed * 9301 + 49297) % 233280, (seed / 233280)
    }
})()
var v_new = function (v, tagName) {
    var temp = v_new_toggle;
    v_new_toggle = true;
    var r = new v;
    v_new_toggle = temp;
    if (tagName){
        Object.defineProperties(r, {
            tagName: {
                get() {
                    return tagName
                }
            },
            children: {
                get(){
                    return new HTMLCollection
                }
            }
        })
        r = proxy(r, tagName)
    }
    return r
}


RTCSessionDescription = v_saf(function RTCSessionDescription() {
    ;
})

EventTarget = v_saf(function EventTarget() {
    ;
})

CanvasGradient = v_saf(function CanvasGradient() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})



NavigatorUAData = v_saf(function NavigatorUAData() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
FeaturePolicy = v_saf(function FeaturePolicy() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
NodeList = v_saf(function NodeList() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
HTMLCollection = v_saf(function HTMLCollection() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
HTMLAllCollection = v_saf(function HTMLAllCollection(arrs) {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;this.items == allNodes
})
Object.defineProperties(HTMLAllCollection.prototype, {
    items: {value: {}},
    item: {
        value: v_saf(function item() {

        })
    },
    length: {
        value: 0
    },
    namedItem: {
        value: v_saf(function namedItem() {

        })
    }
})
DOMTokenList = v_saf(function DOMTokenList() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
Event = v_saf(function Event() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
RTCIceCandidate = v_saf(function RTCIceCandidate() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
Bluetooth = v_saf(function Bluetooth() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
CredentialsContainer = v_saf(function CredentialsContainer() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
Navigator = v_saf(function Navigator() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;this._plugins = typeof PluginArray == 'undefined' ? [] : v_new(PluginArray);
    this._mimeTypes = typeof MimeTypeArray == 'undefined' ? [] : v_new(MimeTypeArray)
})


navis = {
    appCodeName: "Mozilla",
    appName: ENV.navigatorparams.appname,
    appVersion: ENV.navigatorparams.appversion,
    language: "en-US",
    languages: ['en-US', 'en', 'ru'],
    maxTouchPoints: 0,
    platform: ENV.navigatorparams.platform,
    product: ENV.navigatorparams.product,
    productSub: ENV.navigatorparams.productsub,
    userAgent: ENV.navigatorparams.useragent,
    vendor: ENV.navigatorparams.vendor,
    vendorSub: "",
    webdriver: false,
    hardwareconcurrency: ENV.navigatorparams.hardwareconcurrency
}
// ENV.navigatorparams.useragent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36 Edg/115.0.1901.203'
// navis.userAgent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36 Edg/115.0.1901.203'
// navis.appVersion = '5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36 Edg/115.0.1901.203'
// navis = fingerprint.navigator
Object.defineProperties(Navigator.prototype, {
    mediaDevices: {
        get() {
            v_console_log("  [*] Navigator -> mediaDevices[get]",);
            return v_new(MediaDevices)
        }
    },
    // cpuClass: {
    //     get(){
    //         v_console_log("  [*] Navigator -> cpuClass[get]", this._plugins || []);
    //         return ''
    //     }
    // },
    plugins: {
        get: v_saf(function plugins() {
            v_console_log("  [*] Navigator -> plugins[get]", this._plugins || []);
            if (Object.keys(ENV.plugins).length === 0) {
                return [];
            }
            return proxy(this._plugins || [], 'pluginsss')
        }, undefined, 'get'),
        enumerable:true,
        configurable:true
    },
    mimeTypes: {
        get: v_saf(function mimeTypes() {
            v_console_log("  [*] Navigator -> mimeTypes[get]", this._mimeTypes || []);
            if (ENV.mimetypes.length === 0) {
                return [];
            }
            return this._mimeTypes || []
        }, undefined, 'get'),
        enumerable:true,
        configurable:true
    },
    appCodeName: {
        get() {
            v_console_log("  [*] Navigator -> appCodeName[get]", "Mozilla");
            // return "Mozilla"
            return navis.appCodeName
        }
    },
    appName: {
        get() {
            v_console_log("  [*] Navigator -> appName[get]", "Netscape");
            // return "Netscape"
            return navis.appName
        }
    },
    appVersion: {
        get() {
            v_console_log("  [*] Navigator -> appVersion[get]", "5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 Edg/111.0.1661.62");
            // return "5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 Edg/111.0.1661.62"
            return navis.appVersion
        }
    },
    hardwareConcurrency: {
        get() {
            v_console_log("  [*] Navigator -> hardwareConcurrency[get]", 8);
            return navis.hardwareconcurrency
        }
    },
    maxTouchPoints: {
        get() {
            v_console_log("  [*] Navigator -> maxTouchPoints[get]", 0);
            return 0
        }
    },
    platform: {
        get() {
            v_console_log("  [*] Navigator -> platform[get]", "MacIntel");
            return navis.platform
        }
    },
    product: {
        get() {
            v_console_log("  [*] Navigator -> product[get]", "Gecko");
            return navis.product
        }
    },
    productSub: {
        get() {
            v_console_log("  [*] Navigator -> productSub[get]", "20030107");
            return navis.productSub
        }
    },
    userAgent: {
        get: v_saf(function userAgent() {

            v_console_log("  [*] Navigator -> userAgent[get]", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 Edg/111.0.1661.62");
            // return "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 Edg/111.0.1661.62"
            return navis.userAgent
        }, undefined, 'get')
    },
    vendor: {
        get: v_saf(function vendor() {
            v_console_log("  [*] Navigator -> vendor[get]", "Google Inc.");
            return navis.vendor
        }, undefined, 'get')
    },
    vendorSub: {
        get() {
            v_console_log("  [*] Navigator -> vendorSub[get]", "");
            return ""
        }
    },
    doNotTrack: {
        get() {
            v_console_log("  [*] Navigator -> doNotTrack[get]", null);
            return null
        }
    },
    webdriver: {
        get() {
            v_console_log("  [*] Navigator -> webdriver[get]", false);
            return false
        }
    },
    geolocation: {
        get() {
            v_console_log("  [*] Navigator -> geolocation[get]", {});
            return {}
        }
    },
    bluetooth: {
        get() {
            v_console_log("  [*] Navigator -> bluetooth[get]", {});
            return v_new(Bluetooth)
        }
    },
    credentials: {
        get() {
            v_console_log("  [*] Navigator -> credentials[get]", {});
            return v_new(CredentialsContainer)
        }
    },
    languages: {
        get() {
            v_console_log("  [*] Navigator -> languages[get]", {});
            return ['en-US', 'en', 'ru']
            return {}
        }
    },
    language: {
        get() {
            v_console_log("  [*] Navigator -> language[get]", {});
            return 'en-US'
        }
    },
    connection: {
        get() {
            v_console_log("  [*] Navigator -> connection[get]", {});
            return {}
        }
    },
    vibrate: {
        get() {
            v_console_log("  [*] Navigator -> vibrate[get]", {});
            return {}
        }
    },
    storage: {
        get() {
            v_console_log("  [*] Navigator -> storage[get]", {});
            return {}
        }
    },
    requestMediaKeySystemAccess: {
        get() {
            v_console_log("  [*] Navigator -> requestMediaKeySystemAccess[get]", {});
            return v_saf(function requestMediaKeySystemAccess() {
            })
        }
    },
    userAgentData: {
        get: v_saf(function () {
            if (Object.keys(window.ENV.useragentdata).length !== 0){
                return {
                // "brands": [{"brand": "Not/A)Brand", "version": "99"}, {
                //     "brand": "Google Chrome",
                //     "version": "115"
                // }, {"brand": "Chromium", "version": "115"}],
                // "mobile": false, "platform": "macOS",
                "brands": window.ENV.useragentdata.brands,
                "mobile": window.ENV.useragentdata.mobile,
                "platform": window.ENV.useragentdata.platform,
                getHighEntropyValues: function (e) {
                    let r;
                    switch (e[0]) {
                        case 'architecture':
                            r = {
                                "architecture": window.ENV.useragentdata.highvalue[e[0].toLowerCase()],
                                "brands": window.ENV.useragentdata.brands,
                                "mobile": window.ENV.useragentdata.mobile,
                                "platform": window.ENV.useragentdata.platform
                            }
                            break;
                        case 'bitness':
                            r = {
                                "bitness":  window.ENV.useragentdata.highvalue[e[0].toLowerCase()],
                                "brands": window.ENV.useragentdata.brands,
                                "mobile": window.ENV.useragentdata.mobile,
                                "platform": window.ENV.useragentdata.platform
                            }
                            break;
                        case 'brands':
                            r = {
                                "brands": window.ENV.useragentdata.highvalue[e[0].toLowerCase()],
                                "mobile": window.ENV.useragentdata.mobile,
                                "platform": window.ENV.useragentdata.platform
                            }
                            break;
                        case 'mobile':
                            r = {
                                "brands": window.ENV.useragentdata.highvalue[e[0].toLowerCase()],
                                "mobile": window.ENV.useragentdata.mobile,
                                "platform": window.ENV.useragentdata.platform
                            }
                            break;
                        case 'model':
                            r = {
                                "model":  window.ENV.useragentdata.highvalue[e[0].toLowerCase()],
                                "brands": window.ENV.useragentdata.brands,
                                "mobile": window.ENV.useragentdata.mobile,
                                "platform": window.ENV.useragentdata.platform
                            }
                            break;
                        case 'platform':
                            r = {
                                "brands": window.ENV.useragentdata.brands,
                                "mobile": window.ENV.useragentdata.mobile,
                                "platform": window.ENV.useragentdata.platform
                            }
                            break;
                        case 'platformVersion':
                            r = {
                                "platformVersion":  window.ENV.useragentdata.highvalue[e[0].toLowerCase()],
                                "brands": window.ENV.useragentdata.brands,
                                "mobile": window.ENV.useragentdata.mobile,
                                "platform": window.ENV.useragentdata.platform
                            }
                            break;
                        case 'uaFullVersion':
                            r = {
                                "uaFullVersion":  window.ENV.useragentdata.highvalue[e[0].toLowerCase()],
                                "brands": window.ENV.useragentdata.brands,
                                "mobile": window.ENV.useragentdata.mobile,
                                "platform": window.ENV.useragentdata.platform
                            }
                            break;
                        case 'wow64':
                            r = {
                                "wow64":  window.ENV.useragentdata.highvalue[e[0].toLowerCase()],
                                "brands": window.ENV.useragentdata.brands,
                                "mobile": window.ENV.useragentdata.mobile,
                                "platform": window.ENV.useragentdata.platform
                            }
                            break;
                        case 'fullVersionList':
                            r = {
                                "fullVersionList":  window.ENV.useragentdata.highvalue[e[0].toLowerCase()],
                                "brands": window.ENV.useragentdata.brands,
                                "mobile": window.ENV.useragentdata.mobile,
                                "platform": window.ENV.useragentdata.platform
                            }
                            break;


                    }
                    // r =

                    console.log('getHighEntropyValues', e, r)

                    return new Promise((resolve, reject) => {

                        resolve(r)
                    });
                }
            }
            }
            return {}

        })
    },
    [Symbol.toStringTag]: {value: "Navigator", writable: false, enumerable: false, configurable: true},
})
TextMetrics = v_saf(function TextMetrics() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
Plugin = v_saf(function Plugin() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
MimeType = v_saf(function MimeType() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
Object.defineProperties(Plugin.prototype, {
    name: {value: '', writable: true},
    description: {value: '', writable: true},
    filename: {value: '', writable: true},
    length: {value: '', writable: true},
})
PluginArray = v_saf(function PluginArray() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
    for (let i = 0; i < Object.keys(ENV.plugins).length; i++) {
        this[i] = v_new(Plugin);
        let plugin = ENV.plugins[i];
        this[i].description = plugin.description;
        this[i].filename = plugin.filename;
        this[i].length = plugin.length;
        this[i].name = plugin.name;
        this[i]['0'] = plugin['0']
        this[i]['1'] = plugin['1']
        this[i]['application/pdf'] = plugin['application/pdf']
        this[i]['text/pdf'] = plugin['text/pdf']

    }
    console.log()
    // this[0] = v_new(Plugin);
    // this[0].description = "Portable Document Format";
    // this[0].filename = "internal-pdf-viewer";
    // this[0].length = 2;z
    // this[0].name = "PDF Viewer";
    // this[1] = v_new(Plugin);
    // this[1].description = "Portable Document Format";
    // this[1].filename = "internal-pdf-viewer";
    // this[1].length = 2;
    // this[1].name = "Chrome PDF Viewer";
    // this[2] = v_new(Plugin);
    // this[2].description = "Portable Document Format";
    // this[2].filename = "internal-pdf-viewer";
    // this[2].length = 2;
    // this[2].name = "Chromium PDF Viewer";
    // this[3] = v_new(Plugin);
    // this[3].description = "Portable Document Format";
    // this[3].filename = "internal-pdf-viewer";
    // this[3].length = 2;
    // this[3].name = "Microsoft Edge PDF Viewer";
    // this[4] = v_new(Plugin);
    // this[4].description = "Portable Document Format";
    // this[4].filename = "internal-pdf-viewer";
    // this[4].length = 2;
    // this[4].name = "WebKit built-in PDF";
})

MimeType = v_saf(function MimeType() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
WebKitMutationObserver = v_saf(function WebKitMutationObserver() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
crypto = v_saf(function Crypto(){

})

Object.defineProperties(crypto,{
    subtle: {
        value: v_saf(function SubtleCrypto(){})
    },
    getRandomValues: {
        value: function(){
            var e=arguments[0];
            if (!_process.argv[3]){
                return e.map(function(x, i){return e[i]=1073712824});
            }
            return e.map(function(x, i){return e[i]= parseInt(10737128244 * Math.random())});
        }
    }
})
window.crypto = crypto;
Image = v_saf(function Image() {
    ;
    return v_new(HTMLImageElement)
})
webkitResolveLocalFileSystemURL = v_saf(function webkitResolveLocalFileSystemURL() {
})
webkitRequestAnimationFrame = v_saf(function webkitRequestAnimationFrame() {
})
requestAnimationFrame = v_saf(function requestAnimationFrame() {
})


RTCDataChannel = v_saf(function RTCDataChannel() {
    ;
});
_inherits(RTCDataChannel, EventTarget)
Object.defineProperties(RTCDataChannel.prototype, {
    binaryType: {
        get() {
            print('  [*] RTCDataChannel -> binaryType[get] ', 'arraybuffer')
            return 'arraybuffer'
        }
    }
})
window.RTCDataChannel = RTCDataChannel;
Node = v_saf(function Node() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Node, EventTarget)

WebSocket = v_saf(function WebSocket() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(WebSocket, EventTarget)
let RTCPeerConnectionIceEvent = v_saf(function RTCPeerConnectionIceEvent() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(RTCPeerConnectionIceEvent, Event)
CompressionStream = v_saf(function CompressionStream() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
window.CompressionStream = CompressionStream;
LayoutShiftAttribution = v_saf(function LayoutShiftAttribution() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
window.LayoutShiftAttribution = LayoutShiftAttribution;
FeaturePolicy = v_saf(function FeaturePolicy() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
window.FeaturePolicy = FeaturePolicy;























MessageEvent = v_saf(function MessageEvent() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(MessageEvent, Event)
MediaQueryList = v_saf(function MediaQueryList() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(MediaQueryList, EventTarget)
UIEvent = v_saf(function UIEvent() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(UIEvent, Event)

Performance = v_saf(function Performance() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Performance, EventTarget)
XMLHttpRequestEventTarget = v_saf(function XMLHttpRequestEventTarget() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(XMLHttpRequestEventTarget, EventTarget)
Object.defineProperties(XMLHttpRequestEventTarget.prototype, {
    onloadstart: {enumerable: true, configurable: true, writable: true},
    onprogress: {enumerable: true, configurable: true, writable: true},
    onabort: {enumerable: true, configurable: true, writable: true},
    onerror: {enumerable: true, configurable: true, writable: true},
    onload: {enumerable: true, configurable: true, writable: true},
    ontimeout: {enumerable: true, configurable: true, writable: true},
    onloadend: {enumerable: true, configurable: true, writable: true},
    status: {
        get() {
            console.log("status_call222", arguments);
            return 0;
        }, enumerable: true, configurable: true
    },

})
Document = v_saf(function Document() {
    ;
});
_inherits(Document, Node)
Element = v_saf(function Element() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Element, Node)
MouseEvent = v_saf(function MouseEvent() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(MouseEvent, UIEvent)
KeyboardEvent = v_saf(function KeyboardEvent() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(KeyboardEvent, UIEvent)
XMLHttpRequest = v_saf(function XMLHttpRequest() {
    ;
});
_inherits(XMLHttpRequest, XMLHttpRequestEventTarget)
Object.defineProperties(XMLHttpRequest.prototype, {
    onreadystatechange: {
        get() {
            console.log("onreadystatechange_call", arguments)
        }, enumerable: true, configurable: true
    },
    headers: {enumerable: true, configurable: true, value: {}},
    readyState: {
        get() {
            console.log("readyState_call", arguments)
        }, enumerable: true, configurable: true
    },
    timeout: {
        get() {
            console.log("timeout_call", arguments)
        }, enumerable: true, configurable: true
    },
    withCredentials: {
        get() {
            console.log("withCredentials_call", arguments)
        }, enumerable: true, configurable: true
    },
    upload: {
        get() {
            console.log("upload_call", arguments)
        }, enumerable: true, configurable: true
    },
    responseURL: {
        get() {
            console.log("responseURL_call", arguments)
        }, enumerable: true, configurable: true
    },
    status: {
        get() {
            console.log("status_call", arguments);
            return 0;
        }, enumerable: true, configurable: true
    },
    statusText: {
        get() {
            console.log("statusText_call", arguments)
        }, enumerable: true, configurable: true
    },
    responseType: {
        get() {
            console.log("responseType_call", arguments)
        }, enumerable: true, configurable: true
    },
    response: {
        get() {
            console.log("response_call", arguments)
        }, enumerable: true, configurable: true
    },
    responseText: {
        // value:
        get() {
            console.log("responseText_call", arguments);
            return ''
        }
    },
    responseXML: {
        get() {
            console.log("responseXML_call", arguments)
        }, enumerable: true, configurable: true
    },
    UNSENT: {
        get() {
            console.log("UNSENT_call", arguments)
        }, enumerable: true, configurable: true
    },
    OPENED: {
        get() {
            console.log("OPENED_call", arguments)
        }, enumerable: true, configurable: true
    },
    HEADERS_RECEIVED: {
        get() {
            console.log("HEADERS_RECEIVED_call", arguments)
        }, enumerable: true, configurable: true
    },
    LOADING: {
        get() {
            console.log("LOADING_call", arguments)
        }, enumerable: true, configurable: true
    },
    DONE: {
        get() {
            console.log("DONE_call", arguments)
        }, enumerable: true, configurable: true
    },
    abort: {
        get() {
            console.log("abort_call", arguments)
        }, enumerable: true, configurabled: true
    },
    getAllResponseHeaders: {
        get() {
            console.log("getAllResponseHeaders_call", arguments)
        }, enumerable: true, configurable: true
    },
    getResponseHeader: {
        get() {
            console.log("getResponseHeader_call", arguments)
        }, enumerable: true, configurable: true
    },
    open: {
        value:{func(){console.log("open_call", arguments)}}.func, enumerable: true, configurable: true
    },
    overrideMimeType: {
        get() {
            console.log("overrideMimeType_call", arguments)
        }, enumerable: true, configurable: true
    },
    send: {
        value: {func () {
            console.log("send_call", arguments);
            debugger;
            this.onload && this.onload()
        }}.func, enumerable: true, configurable: true
    },
    setRequestHeader: {
        value: v_saf(function () {
            print("setRequestHeader_call", arguments, arguments[1].length);
            this.headers[arguments[0].toLowerCase()] = arguments[1];
            if (arguments[0] === 'EE30zvQLWf-b') {
                console.log(this.headers)
            }
            ;
        }, undefined, undefined), enumerable: true, configurable: true
    },
})
// XMLHttpRequest.prototype.open = function(){
//     console.log("xhr_call_open", arguments)
// }
// XMLHttpRequest.prototype.send = function(){
//     console.log("xhr_call_send", arguments)
// }
// XMLHttpRequest.prototype.setRequestHeader = function(){
//     console.log("xhr_setRequestHeader_send", arguments)
// }


function v_init_event_target() {

    function _mk_mouse_event(type, canBubble, cancelable, view, detail, screenX, screenY, clientX, clientY, ctrlKey, altKey, shiftKey, metaKey, button, relatedTarget) {
        if (type == 'click') {
            var m = new PointerEvent()
            m.pointerType = "mouse"
        } else {
            var m = new MouseEvent()
        }
        m.isTrusted = true
        m.type = type
        m.canBubble = canBubble
        m.cancelable = cancelable
        m.view = view
        m.detail = detail
        m.screenX = screenX;
        m.movementX = screenX
        m.screenY = screenY;
        m.movementY = screenY
        m.clientX = clientX;
        m.layerX = clientX;
        m.offsetX = clientX;
        m.pageX = clientX;
        m.x = clientX;
        m.clientY = clientY;
        m.layerY = clientY;
        m.offsetY = clientY;
        m.pageY = clientY;
        m.y = clientY;
        m.ctrlKey = ctrlKey
        m.altKey = altKey
        m.shiftKey = shiftKey
        m.metaKey = metaKey
        m.button = button
        m.relatedTarget = relatedTarget
        // print(m   )
        return m
    }

    function make_mouse(type, x, y) {
        return _mk_mouse_event(type, true, true, window, 0, 0, 0, x, y, false, false, false, false, 0, null)
    }

    function mouse_click(x, y) {
        for (var i = 0; i < (v_events['click'] || []).length; i++) {
            v_events['click'][i][1](make_mouse('click', x, y))
        }
        for (var i = 0; i < (v_events['mousedown'] || []).length; i++) {
            v_events['mousedown'][i][1](make_mouse('mousedown', x, y))
        }
        for (var i = 0; i < (v_events['mouseup'] || []).length; i++) {
            v_events['mouseup'][i][1](make_mouse('mouseup', x, y))
        }
    }

    var offr = Math.random()

    function make_touch(_this, type, x, y, timeStamp) {
        var offx = _random()
        var offy = _random()
        var t = v_new(new v_saf(function Touch() {
        }))
        t = clientX = offx + x
        t = clientY = offy + y
        t = force = 1
        t = identifier = 0
        t = pageX = offx + x
        t = pageY = offy + y
        t = radiusX = 28 + offr
        t = radiusY = 28 + offr
        t = rotationAngle = 0
        t = screenX = 0
        t = screenY = 0
        var e = v_new(new v_saf(function TouchEvent() {
        }))
        e.isTrusted = true
        e.altKey = false
        e.bubbles = true
        e.cancelBubble = false
        e.cancelable = false
        e.changedTouches = e.targetTouches = e.touches = [t]
        e.composed = true
        e.ctrlKey = false
        e.currentTarget = null
        e.defaultPrevented = false
        e.detail = 0
        e.eventPhase = 0
        e.metaKey = false
        e.path = _this == window ? [window] : [_this, window]
        e.returnValue = true
        e.shiftKey = false
        e.sourceCapabilities = new v_saf(function InputDeviceCapabilities() {
            this.firesTouchEvents = true
        })
        e.srcElement = _this
        e.target = _this
        e.type = type
        e.timeStamp = timeStamp == undefined ? (new Date - v_start_stamp) : ((v_fake_stamp += _random() * 20) - v_start_stamp)
        e.view = window
        e.which = 0
        return e
    }

    function make_trace(x1, y1, x2, y2) {
        // 贝塞尔曲线
        function step_len(x1, y1, x2, y2) {
            var ln = ((x2 - x1) ** 2 + (y2 - y1) ** 2) ** 0.5
            return (ln / 10) ^ 0
        }

        var slen = step_len(x1, y1, x2, y2)
        if (slen < 3) {
            return []
        }

        function factorial(x) {
            for (var y = 1; x > 1; x--) {
                y *= x
            }
            return y;
        }

        var lp = _random()
        var rp = _random()
        var xx1 = (x1 + (x2 - x1) / 12 * (4 - lp * 4)) ^ 0
        var yy1 = (y1 + (y2 - y1) / 12 * (8 + lp * 4)) ^ 0
        var xx2 = (x1 + (x2 - x1) / 12 * (8 + rp * 4)) ^ 0
        var yy2 = (y1 + (y2 - y1) / 12 * (4 - rp * 4)) ^ 0
        var points = [[x1, y1], [xx1, yy1], [xx2, yy2], [x2, y2]]
        var N = points.length
        var n = N - 1
        var traces = []
        var step = slen
        for (var T = 0; T < step + 1; T++) {
            var t = T * (1 / step)
            var x = 0
            var y = 0
            for (var i = 0; i < N; i++) {
                var B = factorial(n) * t ** i * (1 - t) ** (n - i) / (factorial(i) * factorial(n - i))
                x += points[i][0] * B
                y += points[i][1] * B
            }
            traces.push([x ^ 0, y ^ 0])
        }
        return traces
    }

    function touch(x1, y1, x2, y2) {
        if (x2 == undefined && y2 == undefined) {
            x2 = x1
            y2 = y1
        }
        var traces = make_trace(x1, y1, x2, y2)
        console.log('traces:', traces)
        for (var i = 0; i < (v_events['touchstart'] || []).length; i++) {
            v_events['touchstart'][i][1](make_touch(v_events['touchstart'][i][0], 'touchstart', x1, y1))
        }
        for (var j = 0; j < traces.length; j++) {
            var x = traces[j][0]
            var y = traces[j][0]
            for (var i = 0; i < (v_events['touchmove'] || []).length; i++) {
                v_events['touchmove'][i][1](make_touch(v_events['touchmove'][i][0], 'touchmove', x, y))
            }
        }
        for (var i = 0; i < (v_events['touchend'] || []).length; i++) {
            v_events['touchend'][i][1](make_touch(v_events['touchend'][i][0], 'touchend', x2, y2))
        }
    }

    function mouse_move(x1, y1, x2, y2) {
        if (x2 == undefined && y2 == undefined) {
            x2 = x1
            y2 = y1
        }
        var traces = make_trace(x1, y1, x2, y2)
        // console.log('traces:', traces)
        for (var j = 0; j < traces.length; j++) {
            var x = traces[j][0]
            var y = traces[j][0]
            // for (var i = 0; i < (v_events['mousemove'] || []).length; i++) {
            v_events['mousemove'](make_mouse(v_events['mousemove'], x, y))
            v_events['keypress'](make_mouse('keypress', x, y))
            // }
        }
    }

    window.make_mouse = make_mouse
    window.mouse_click = mouse_click
    window.mouse_move = mouse_move
    window.touch = touch
    // EventTarget.prototype.addEventListener = function(){v_console_log('  [*] EventTarget -> addEventListener[func]', this===window?'[Window]':this===document?'[Document]':this, [].slice.call(arguments)); add_event(this, [].slice.call(arguments)); return null}
    // EventTarget.prototype.dispatchEvent = function(){v_console_log('  [*] EventTarget -> dispatchEvent[func]', this===window?'[Window]':this===document?'[Document]':this, [].slice.call(arguments)); add_event(this, [].slice.call(arguments)); return null}
    // EventTarget.prototype.removeEventListener = function(){v_console_log('  [*] EventTarget -> removeEventListener[func]', this===window?'[Window]':this===document?'[Document]':this, [].slice.call(arguments)); add_event(this, [].slice.call(arguments)); return null}
}

HTMLElement = v_saf(function HTMLElement() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(HTMLElement, Element)
HTMLScriptElement = v_saf(function HTMLScriptElement() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(HTMLScriptElement, HTMLElement)
HTMLBodyElement = v_saf(function HTMLBodyElement() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(HTMLBodyElement, HTMLElement)
Object.defineProperties(HTMLBodyElement.prototype, {
    // innerText: {
    //     get: function () {
    //         return 'ssss'
    //     },
    //     enumerable: true,
    //     configurable: true
    // },
    // webkitRequestFullScreen: {
    //     value: v_saf(function webkitRequestFullScreen() {
    //     }),
    //     enumerable: true,
    //     configurable: true
    // },
    [Symbol.toStringTag]: {value: "HTMLBodyElement", writable: false, enumerable: false, configurable: true},
})

class CanvasRenderingContext2D {

    imageDatas = {
        "18,90,1,1": [214, 122, 6, 255],
        "38,77,1,1": [255, 255, 255, 255],
        "48,28,1,1": [0, 0, 0, 0],
        "94,23,1,1": [0, 0, 0, 0],
        "26,46,1,1": [253, 243, 245, 255],
        "47,23,1,1": [0, 0, 0, 0],
        "37,17,1,1": [0, 0, 0, 255],
        "62,28,1,1": [204, 131, 217, 255]
    }
    imageDatas = window.ENV.imgsres['94px sans-serif']

    constructor(w, h, context) {
        console.log('OffscreenCanvasRenderingContext2D.new', w, h)
        this.width = w;
        this.height = h;
        if (context) {
            this._context = context

        } else {
            this._context = Canvas.createCanvas(w, h).getContext('2d')

        }
    }

    set font(f) {
        console.log('1.font', f)
        this._font = f;
        this._context.font = f;
    }

    measureText(text) {
        console.log('OffscreenCanvasRenderingContext2D.measureText', text)
        this._text = text;
        window.fonts.push({
            font: this._font,
            text: text
        })
        let res = new TextMetrics(text, this._context, this._font);
        // return proxy(res, 'TextMetrics')
        return res;
    }

    get canvas() {
        console.log('CanvasRenderingContext2D.canvas.get')
    }

    get globalAlpha() {
        console.log('CanvasRenderingContext2D.globalAlpha.get')
    }

    set globalAlpha(args) {
        console.log('CanvasRenderingContext2D.globalAlpha.set', args)
    }

    get globalCompositeOperation() {
        console.log('CanvasRenderingContext2D.globalCompositeOperation.get')
    }

    set globalCompositeOperation(args) {
        console.log('CanvasRenderingContext2D.globalCompositeOperation.set', args)
    }

    get filter() {
        console.log('CanvasRenderingContext2D.filter.get')
    }

    set filter(args) {
        console.log('CanvasRenderingContext2D.filter.set', args)
    }

    get imageSmoothingEnabled() {
        console.log('CanvasRenderingContext2D.imageSmoothingEnabled.get')
    }

    set imageSmoothingEnabled(args) {
        console.log('CanvasRenderingContext2D.imageSmoothingEnabled.set', args)
    }

    get imageSmoothingQuality() {
        console.log('CanvasRenderingContext2D.imageSmoothingQuality.get')
    }

    set imageSmoothingQuality(args) {
        console.log('CanvasRenderingContext2D.imageSmoothingQuality.set', args)
    }

    get strokeStyle() {
        console.log('CanvasRenderingContext2D.strokeStyle.get')
    }

    set strokeStyle(args) {
        console.log('CanvasRenderingContext2D.strokeStyle.set', args)
        return this._context.strokeStyle = args
    }

    get fillStyle() {
        console.log('CanvasRenderingContext2D.fillStyle.get')
    }

    set fillStyle(args) {
        console.log('CanvasRenderingContext2D.fillStyle.set', args)
        this._context.fillStyle = args
        this._fillStyle = args

    }

    get shadowOffsetX() {
        console.log('CanvasRenderingContext2D.shadowOffsetX.get')
    }

    set shadowOffsetX(args) {
        console.log('CanvasRenderingContext2D.shadowOffsetX.set', args)
        this._context.shadowOffsetX = args
    }

    get shadowOffsetY() {
        console.log('CanvasRenderingContext2D.shadowOffsetY.get')
    }

    set shadowOffsetY(args) {
        console.log('CanvasRenderingContext2D.shadowOffsetY.set', args)
        this._context.shadowOffsetY = args

    }

    get shadowBlur() {
        console.log('CanvasRenderingContext2D.shadowBlur.get')
    }

    set shadowBlur(args) {
        console.log('CanvasRenderingContext2D.shadowBlur.set', args)
        this._context.shadowBlur = args

    }

    get shadowColor() {
        console.log('CanvasRenderingContext2D.shadowColor.get')

    }

    set shadowColor(args) {
        console.log('CanvasRenderingContext2D.shadowColor.set', args)
        this._context.shadowColor = args

    }

    get lineWidth() {
        console.log('CanvasRenderingContext2D.lineWidth.get')
    }

    set lineWidth(args) {
        console.log('CanvasRenderingContext2D.lineWidth.set', args)
        this._context.lineWidth = args;
    }

    get lineCap() {
        console.log('CanvasRenderingContext2D.lineCap.get')
    }

    set lineCap(args) {
        console.log('CanvasRenderingContext2D.lineCap.set', args)
    }

    get lineJoin() {
        console.log('CanvasRenderingContext2D.lineJoin.get')
    }

    set lineJoin(args) {
        console.log('CanvasRenderingContext2D.lineJoin.set', args)
    }

    get miterLimit() {
        console.log('CanvasRenderingContext2D.miterLimit.get')
    }

    set miterLimit(args) {
        console.log('CanvasRenderingContext2D.miterLimit.set', args)
    }

    get lineDashOffset() {
        console.log('CanvasRenderingContext2D.lineDashOffset.get')
    }

    set lineDashOffset(args) {
        console.log('CanvasRenderingContext2D.lineDashOffset.set', args)
    }

    get font() {
        console.log('CanvasRenderingContext2D.font.get')
        return this._context.font;
    }

    get textAlign() {
        console.log('CanvasRenderingContext2D.textAlign.get')
    }

    set textAlign(args) {
        console.log('CanvasRenderingContext2D.textAlign.set', args)
    }

    get textBaseline() {
        console.log('CanvasRenderingContext2D.textBaseline.get')
        return this._context.textBaseline
    }

    set textBaseline(args) {
        console.log('CanvasRenderingContext2D.textBaseline.set', args)
        this._context.textBaseline = args
    }

    get direction() {
        console.log('CanvasRenderingContext2D.direction.get')
        return this._context.direction;
    }

    set direction(args) {
        console.log('CanvasRenderingContext2D.direction.set', args)
        this._context.direction = args

    }

    get fontKerning() {
        console.log('CanvasRenderingContext2D.fontKerning.get')
    }

    set fontKerning(args) {
        console.log('CanvasRenderingContext2D.fontKerning.set', args)
    }

    get fontStretch() {
        console.log('CanvasRenderingContext2D.fontStretch.get')
    }

    set fontStretch(args) {
        console.log('CanvasRenderingContext2D.fontStretch.set', args)
    }

    get fontVariantCaps() {
        console.log('CanvasRenderingContext2D.fontVariantCaps.get')
    }

    set fontVariantCaps(args) {
        console.log('CanvasRenderingContext2D.fontVariantCaps.set', args)
    }

    get letterSpacing() {
        console.log('CanvasRenderingContext2D.letterSpacing.get')
    }

    set letterSpacing(args) {
        console.log('CanvasRenderingContext2D.letterSpacing.set', args)
    }

    get textRendering() {
        console.log('CanvasRenderingContext2D.textRendering.get')
    }

    set textRendering(args) {
        console.log('CanvasRenderingContext2D.textRendering.set', args)
    }

    get wordSpacing() {
        console.log('CanvasRenderingContext2D.wordSpacing.get')
    }

    set wordSpacing(args) {
        console.log('CanvasRenderingContext2D.wordSpacing.set', args)
    }

    clip() {
        console.log('CanvasRenderingContext2D.clip')
    }

    createConicGradient() {
        console.log('CanvasRenderingContext2D.createConicGradient')
    }

    createImageData() {
        console.log('CanvasRenderingContext2D.createImageData')
    }

    createLinearGradient() {
        console.log('CanvasRenderingContext2D.createLinearGradient')

        return this._context.createLinearGradient(...arguments)
    }

    createPattern() {
        console.log('CanvasRenderingContext2D.createPattern')
    }

    createRadialGradient() {
        console.log('CanvasRenderingContext2D.createRadialGradient')
    }

    drawFocusIfNeeded() {
        console.log('CanvasRenderingContext2D.drawFocusIfNeeded')
    }

    drawImage() {
        console.log('CanvasRenderingContext2D.drawImage')
        this._context.drawImage(...arguments)
    }

    fill() {
        console.log('CanvasRenderingContext2D.fill')
    }

    fillText() {
        console.log('CanvasRenderingContext2D.fillText', ...arguments)
        this._context.fillText(...arguments)
        this._fillText = [arguments[0], arguments[1], arguments[2]]
    }

    getContextAttributes() {
        console.log('CanvasRenderingContext2D.getContextAttributes')
    }

    getImageData() {
        let res = this._context.getImageData(...arguments)
        window.imageDatas.push({
            font: this._context.font,
            fillStyle: this._fillStyle,
            fillText: this._fillText,
            imageData: [arguments[0], arguments[1], arguments[2], arguments[3]]
        })
        let tdata = this.imageDatas[[arguments[0], arguments[1], arguments[2], arguments[3]] + ''];
        if (tdata) {
            res.data[0] = tdata[0]
            res.data[1] = tdata[1]
            res.data[2] = tdata[2]
            res.data[3] = tdata[3]
        } else {
            for (let i = 0; i < res.data.length; i++) {
                res.data[i] = parseInt(window._random() * 100 + 100)
            }
        }
        if (arguments[0] === 0 && arguments[1] === 0 && arguments[2] === 5) {
            for (let i = 0; i < res.data.length; i++) {
                if (res.data[i] === 22) {
                    res.data[i] = 0
                }
            }
        }
        // if (Math.random() < 0.5){
            for (let i = 0; i < res.data.length; i++) {
                res.data[i] = parseInt(window._random() * 100 + 100)
            }
        // }
        console.log('CanvasRenderingContext2D.getImageData', ...arguments, res)

        // todo  修改图片

        return res
    }

    getLineDash() {
        console.log('CanvasRenderingContext2D.getLineDash')
    }

    getTransform() {
        console.log('CanvasRenderingContext2D.getTransform')
    }

    isContextLost() {
        console.log('CanvasRenderingContext2D.isContextLost')
    }

    isPointInPath() {
        console.log('CanvasRenderingContext2D.isPointInPath')
    }

    isPointInStroke() {
        console.log('CanvasRenderingContext2D.isPointInStroke')
    }

    putImageData() {
        console.log('CanvasRenderingContext2D.putImageData')
    }

    reset() {
        console.log('CanvasRenderingContext2D.reset')
    }

    roundRect() {
        console.log('CanvasRenderingContext2D.roundRect')
    }

    save() {
        console.log('CanvasRenderingContext2D.save')
    }

    scale() {
        console.log('CanvasRenderingContext2D.scale')
    }

    setLineDash() {
        console.log('CanvasRenderingContext2D.setLineDash')
    }

    setTransform() {
        console.log('CanvasRenderingContext2D.setTransform')
    }

    stroke() {
        console.log('CanvasRenderingContext2D.stroke')
        this._context.stroke(...arguments)
    }

    strokeText() {
        console.log('CanvasRenderingContext2D.strokeText')
    }

    transform() {
        console.log('CanvasRenderingContext2D.transform')
    }

    translate() {
        console.log('CanvasRenderingContext2D.translate')
    }

    arc(a, b, c, d, e) {
        console.log('CanvasRenderingContext2D.arc', a, b, c, d, e)
        return this._context.arc(...arguments)
    }

    arcTo() {
        console.log('CanvasRenderingContext2D.arcTo')
    }

    beginPath() {
        console.log('CanvasRenderingContext2D.beginPath')
        return this._context.beginPath()
    }

    bezierCurveTo() {
        console.log('CanvasRenderingContext2D.bezierCurveTo')
    }

    clearRect() {
        console.log('CanvasRenderingContext2D.clearRect')
    }

    closePath() {
        console.log('CanvasRenderingContext2D.closePath')
        return this._context.closePath(...arguments)

    }

    ellipse() {
        console.log('CanvasRenderingContext2D.ellipse')
    }

    fillRect(a, b, c, d) {
        console.log('CanvasRenderingContext2D.fillRect', a, b, c, d)
        return this._context.fillRect(a, b, c, d)
    }

    lineTo() {
        console.log('CanvasRenderingContext2D.lineTo')
        return this._context.lineTo(...arguments)

    }

    moveTo() {
        console.log('CanvasRenderingContext2D.moveTo')
        return this._context.moveTo(...arguments)
    }

    quadraticCurveTo() {
        console.log('CanvasRenderingContext2D.quadraticCurveTo')
    }

    rect() {
        console.log('CanvasRenderingContext2D.rect')
    }

    resetTransform() {
        console.log('CanvasRenderingContext2D.resetTransform')
    }

    restore() {
        console.log('CanvasRenderingContext2D.restore')
    }

    rotate() {
        console.log('CanvasRenderingContext2D.rotate')
    }

    strokeRect() {
        console.log('CanvasRenderingContext2D.strokeRect')
    }


}

Object.defineProperties(CanvasRenderingContext2D.prototype, {
    canvas: {enumerable: true},
    globalAlpha: {enumerable: true},
    globalCompositeOperation: {enumerable: true},
    filter: {enumerable: true},
    imageSmoothingEnabled: {enumerable: true},
    imageSmoothingQuality: {enumerable: true},
    strokeStyle: {enumerable: true},
    fillStyle: {enumerable: true},
    shadowOffsetX: {enumerable: true},
    shadowOffsetY: {enumerable: true},
    shadowBlur: {enumerable: true},
    shadowColor: {enumerable: true},
    lineWidth: {enumerable: true},
    lineCap: {enumerable: true},
    lineJoin: {enumerable: true},
    miterLimit: {enumerable: true},
    lineDashOffset: {enumerable: true},
    font: {enumerable: true},
    textAlign: {enumerable: true},
    textBaseline: {enumerable: true},
    direction: {enumerable: true},
    fontKerning: {enumerable: true},
    fontStretch: {enumerable: true},
    fontVariantCaps: {enumerable: true},
    letterSpacing: {enumerable: true},
    textRendering: {enumerable: true},
    wordSpacing: {enumerable: true},
    clip: {enumerable: true},
    createConicGradient: {enumerable: true},
    createImageData: {enumerable: true},
    createLinearGradient: {enumerable: true},
    createPattern: {enumerable: true},
    createRadialGradient: {enumerable: true},
    drawFocusIfNeeded: {enumerable: true},
    drawImage: {enumerable: true},
    fill: {enumerable: true},
    fillText: {enumerable: true},
    getContextAttributes: {enumerable: true},
    getImageData: {enumerable: true},
    getLineDash: {enumerable: true},
    getTransform: {enumerable: true},
    isContextLost: {enumerable: true},
    isPointInPath: {enumerable: true},
    isPointInStroke: {enumerable: true},
    measureText: {enumerable: true},
    putImageData: {enumerable: true},
    reset: {enumerable: true},
    roundRect: {enumerable: true},
    save: {enumerable: true},
    scale: {enumerable: true},
    setLineDash: {enumerable: true},
    setTransform: {enumerable: true},
    stroke: {enumerable: true},
    strokeText: {enumerable: true},
    transform: {enumerable: true},
    translate: {enumerable: true},
    arc: {enumerable: true},
    arcTo: {enumerable: true},
    beginPath: {enumerable: true},
    bezierCurveTo: {enumerable: true},
    clearRect: {enumerable: true},
    closePath: {enumerable: true},
    ellipse: {enumerable: true},
    fillRect: {enumerable: true},
    lineTo: {enumerable: true},
    moveTo: {enumerable: true},
    quadraticCurveTo: {enumerable: true},
    rect: {enumerable: true},
    resetTransform: {enumerable: true},
    restore: {enumerable: true},
    rotate: {enumerable: true},
    strokeRect: {enumerable: true},
    [Symbol.toStringTag]: {value: "CanvasRenderingContext2D", configurable: true}

})


class HTMLCanvasElement {
     _getCanvas() {
            if (Canvas && !this._canvas) {
                this._canvas = Canvas.createCanvas(this.width, this.height);
            }
            return this._canvas;
        }
    getContext(contextId) {
        const canvas = this._getCanvas();
        console.log('getContextgetContext', contextId)
        if (canvas) {
            if (contextId == '2d') {
                console.log('new ctx2d', this.width, this.height)
                this._context = new CanvasRenderingContext2D(this.width, this.height, this._canvas.getContext('2d'))
            }
            // if (!this._context) {
            //     this._context = canvas.getContext(contextId) || null;
            //     if (this._context) {
            //         // Override the native canvas reference with our wrapper. This is the
            //         // reason why we need to locally cache _context, since each call to
            //         // canvas.getContext(contextId) would replace this reference again.
            //         // Perhaps in the longer term, a better solution would be to create a
            //         // full wrapper for the Context object as well.
            //         this._context.canvas = idlUtils.wrapperForImpl(this);
            //         wrapNodeCanvasMethod(this._context, "createPattern");
            //         wrapNodeCanvasMethod(this._context, "drawImage");
            //     }
            // }
            if (contextId === 'webgl' || contextId === 'webgl2') {
                var v_new_toggle = true
                var v_new = function (v) {
                    var temp = v_new_toggle;
                    v_new_toggle = true;
                    var r = new v;
                    v_new_toggle = temp;
                    return r
                }

                function WebGLBuffer() {
                }

                function WebGLProgram() {
                }

                function WebGLShader() {
                }



                // window.WebGLRenderingContext = WebGLRenderingContext
                let t = proxy(new WebGLRenderingContext(), 'WebGLRenderingContext11')
                // let t = new WebGLRenderingContext()
                this._context = t;
            }
            // console.log('contextId res', this._context)
            // this._context = idlUtils.proxy(this._context, 'context' + contextId)
            return this._context;
        }
    }

    toDataURL(){

    }
    toBlob(){}
}


HTMLCanvasElement = protectProp(HTMLCanvasElement)
_inherits(HTMLCanvasElement, HTMLElement)
HTMLAnchorElement = v_saf(function HTMLAnchorElement() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
    return v_hook_href(this, 'HTMLAnchorElement', location.href)
}, undefined, undefined);
// _inherits(HTMLAnchorElement, HTMLElement)
// Object.defineProperties(HTMLAnchorElement.prototype, {
//     // href: {
//     //     get() {
//     //         print("  [*] HTMLAnchorElement -> href[get]", "https://www.jetblue.com/booking/flights?from=LAS&to=BOS&depart=2023-07-10&isMultiCity=false&noOfRoute=1&lang=en&adults=1&children=0&infants=0&sharedMarket=false&roundTripFaresFlag=false&usePoints=false")
//     //         return 'https://www.jetblue.com/booking/flights?from=LAS&to=BOS&depart=2023-07-10&isMultiCity=false&noOfRoute=1&lang=en&adults=1&children=0&infants=0&sharedMarket=false&roundTripFaresFlag=false&usePoints=false'
//     //     }, set() {
//     //         v_console_log("  [*] HTMLAnchorElement -> href[set]", [].slice.call(arguments));
//     //     }
//     // },
//     // host: {
//     //     set(){
//     //         v_console_log("  [*] HTMLAnchorElement -> host[set]");
//     //     },
//     //     get() {
//     //         v_console_log("  [*] HTMLAnchorElement -> host[get]", "www.southwest.com");
//     //         return "www.southwest.com"
//     //     }
//     // },
//     // protocol: {
//     //     set(){
//     //         v_console_log("  [*] HTMLAnchorElement -> protocol[set]");
//     //     },
//     //     get() {
//     //         v_console_log("  [*] HTMLAnchorElement -> protocol[get]", "https:");
//     //         return "https:"
//     //     }
//     // },
//     // pathname: {
//     //     set(){
//     //         v_console_log("  [*] HTMLAnchorElement -> pathname[set]");
//     //     },
//     //     get() {
//     //         v_console_log("  [*] HTMLAnchorElement -> pathname[get]", "/air/booking/index.html");
//     //         return "/air/booking/index.html"
//     //     }
//     // },
//     // search: {
//     //     set(){
//     //         v_console_log("  [*] HTMLAnchorElement -> search[set]");
//     //     },
//     //     get() {
//     //         v_console_log("  [*] HTMLAnchorElement -> search[get]", "?adultPassengersCount=1&adultsCount=1&departureDate=2023-05-13&departureTimeOfDay=ALL_DAY&destinationAirportCode=BOS&fareType=USD&from=&int=HOMEQBOMAIR&originationAirportCode=LAS&passengerType=ADULT&promoCode=&reset=true&returnDate=&returnTimeOfDay=ALL_DAY&to=&tripType=oneway&validate=true")
//     //         return "?adultPassengersCount=1&adultsCount=1&departureDate=2023-05-13&departureTimeOfDay=ALL_DAY&destinationAirportCode=BOS&fareType=USD&from=&int=HOMEQBOMAIR&originationAirportCode=LAS&passengerType=ADULT&promoCode=&reset=true&returnDate=&returnTimeOfDay=ALL_DAY&to=&tripType=oneway&validate=true"
//     //     }
//     // },
//     // hash: {
//     //     set(){
//     //         v_console_log("  [*] HTMLAnchorElement -> hash[set]");
//     //     },
//     //     get() {
//     //         v_console_log("  [*] HTMLAnchorElement -> hash[get]", "");
//     //         return ""
//     //     }
//     // },
//     // port: {
//     //     set(){
//     //         v_console_log("  [*] HTMLAnchorElement -> port[set]");
//     //     },
//     //     get() {
//     //         v_console_log("  [*] HTMLAnchorElement -> port[get]", "");
//     //         return ""
//     //     }
//     // },
//     // hostname: {
//     //     set(){
//     //         v_console_log("  [*] HTMLAnchorElement -> hostname[set]");
//     //     },
//     //     get() {
//     //         v_console_log("  [*] HTMLAnchorElement -> hostname[get]", "www.southwest.com");
//     //         return "www.southwest.com"
//     //     }
//     // },
//     [Symbol.toStringTag]: {value: "HTMLAnchorElement", writable: false, enumerable: false, configurable: true},
// })

HTMLImageElement = v_saf(function HTMLImageElement() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(HTMLImageElement, HTMLElement)
HTMLIFrameElement = v_saf(function HTMLIFrameElement() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(HTMLIFrameElement, HTMLElement)

HTMLMediaElement = v_saf(function HTMLMediaElement() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(HTMLMediaElement, HTMLElement)
Object.defineProperties(HTMLMediaElement.prototype, {
    canPlayType: {
        value: v_saf(function canPlayType() {
            v_console_log("  [*] HTMLMediaElement -> canPlayType[func]", [].slice.call(arguments));
            let values = {
                'audio/aac; codecs="flac"': '',
                'audio/flac': 'probably',
                'audio/mpeg; codecs="mp3"': "probably",
                'audio/mpeg; codecs="vp9"': "",
                'audio/webm; codecs="vp8"': "",
                'audio/webz': "",
                'audio/x-m4a; codecs="mp3"': "",
                'audio/x-m4a; codecs="vp8, mp4a.40"': "",
                'audio/x-m4a; codecs="vp9, mp4a.40.2"': "",
                'video/mp4': 'maybe',
                'video/mp4; codecs="ac-3"': "",
                'video/mp4; codecs="avc1.42011E"': "",
                'video/mp4; codecs="avc1.42E009"': 'maybe',
                'video/mp4; codecs="avc1.42E034"': 'probably',
                'video/mp4; codecs="avc1.42F01E"': 'probably',
                'video/mp4; codecs="avc1.4D001E"': 'probably',
                'video/mp4; codecs="avc3.42001E"': 'probably',
                'video/mp4; codecs="avc3.42E01E, mp4a.40.29"': 'probably',
                'video/mp4; codecs="flac"': 'probably',
                'video/mp4; codecs="hev1"': "",
                'video/mp4; codecs="hvc1x"': "",
                'video/mp4; codecs="lavc1337"': "",
                'video/mp4; codecs="mp4a.40.02"': 'probably',
                'video/mp4; codecs="mp4a.40.5"': 'probably',
                'video/mp4; codecs="mp4a.67"': 'probably',
                'video/mp4; codecs="opus"': 'probably',
                'video/ogg; codecs="flac"': 'probably',
                'video/ogg; codecs="opus"': 'probably',
                'video/ogg; codecs="vp8"': 'probably',
                'video/webm': 'maybe',
                'video/webm; codecs="av01.0.04M.08"': 'probably',
                'video/webm; codecs="vp09.02.10.08"': "probably",
                'video/x-dv': "",
                'video/x-m4v; codecs="avc1.42AC23"': "maybe",
            }
        })
    },
    NETWORK_EMPTY: {"value": 0, "writable": false, "enumerable": true, "configurable": false},
    NETWORK_IDLE: {"value": 1, "writable": false, "enumerable": true, "configurable": false},
    NETWORK_LOADING: {"value": 2, "writable": false, "enumerable": true, "configurable": false},
    NETWORK_NO_SOURCE: {"value": 3, "writable": false, "enumerable": true, "configurable": false},
    HAVE_NOTHING: {"value": 0, "writable": false, "enumerable": true, "configurable": false},
    HAVE_METADATA: {"value": 1, "writable": false, "enumerable": true, "configurable": false},
    HAVE_CURRENT_DATA: {"value": 2, "writable": false, "enumerable": true, "configurable": false},
    HAVE_FUTURE_DATA: {"value": 3, "writable": false, "enumerable": true, "configurable": false},
    HAVE_ENOUGH_DATA: {"value": 4, "writable": false, "enumerable": true, "configurable": false},
    [Symbol.toStringTag]: {value: "HTMLMediaElement", writable: false, enumerable: false, configurable: true},
})
WindowProperties = v_saf(function WindowProperties() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(WindowProperties, EventTarget)

// _inherits(Window, WindowProperties)

var Screen = v_saf(function Screen() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Screen, EventTarget)
// Screen = dtavm.proxy(Screen, 'Screen')
Object.defineProperties(Screen.prototype, {
    availWidth: {
        get: v_saf(function availWidth() {
            v_console_log("  [*] Screen -> availWidth[get]", screens.availWidth);

            // return 2560
            return screens.availWidth
        }, undefined, 'get'), enumerable: true, configurable: true
    },
    availHeight: {
        get: v_saf(function availHeight() {
            v_console_log("  [*] Screen -> availHeight[get]", screens.availHeight);

            // return 2560
            return screens.availHeight
        }, undefined, 'get'), enumerable: true, configurable: true
    },
    width: {
        get: v_saf(function width() {
            v_console_log("  [*] Screen -> width[get]", screens.width);

            // return 2560
            return screens.width

        }, undefined, 'get'), enumerable: true, configurable: true
    },
    height: {
        get: v_saf(function height() {
            v_console_log("  [*] Screen -> height[get]", screens.height);

            // return 2560
            return screens.height
        }, undefined, 'get'), enumerable: true, configurable: true
    },
    colorDepth: {
        get() {
            v_console_log("  [*] Screen -> colorDepth[get]", screens.colorDepth);

            // return 24
            return screens.colorDepth

        }, enumerable: true, configurable: true
    },
    pixelDepth: {
        get() {
            v_console_log("  [*] Screen -> pixelDepth[get]", screens.pixelDepth);

            // return 24
            return screens.pixelDepth

        }, enumerable: true, configurable: true
    },
    availLeft: {
        get() {
            v_console_log("  [*] Screen -> availLeft[get]", screens.availLeft);

            // return 0
            return screens.availLeft

        }, enumerable: true, configurable: true
    },
    availTop: {
        get() {
            v_console_log("  [*] Screen -> availTop[get]", screens.availTop);

            // return 25
            return screens.availTop

        }, enumerable: true, configurable: true
    },
    orientation: {
        get() {
            v_console_log("  [*] Screen -> orientation[get]");
            return {}
        }, enumerable: true, configurable: true
    },
    onchange: {
        get() {
            return null
        }, enumerable: true, configurable: true
    },
    isExtended: {
        get() {
            return true
        }, enumerable: true, configurable: true
    },
    [Symbol.toStringTag]: {value: "Screen", writable: false, enumerable: false, configurable: true},
})
// Screen.prototype = dtavm.proxy(Screen.prototype, ' Screen.prototype')
HTMLDocument = v_saf(function HTMLDocument() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;Object.defineProperty(this, 'location', {
        get() {
            return location
        }
    })
});
_inherits(HTMLDocument, Document)
HTMLHeadElement = v_saf(function HTMLHeadElement() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(HTMLHeadElement, HTMLElement)
External = v_saf(function External() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
External(HTMLBodyElement, Event)
WebGLShaderPrecisionFormat = v_saf(function WebGLShaderPrecisionFormat() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
Object.defineProperties(WebGLShaderPrecisionFormat.prototype, {
    precision: {
        get() {
            v_console_log('WebGLShaderPrecisionFormat.prototype precision')
            return 23
        }
    },
    rangeMax: {
        get() {
            v_console_log('WebGLShaderPrecisionFormat.prototype rangeMax')

            return 127
        }
    },
    rangeMin: {
        get() {
            v_console_log('WebGLShaderPrecisionFormat.prototype rangeMin')

            return 127
        }
    },
})
MimeTypeArray = v_saf(function MimeTypeArray() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
    this[0] = v_new(Plugin);
    this[0].description = "Portable Document Format";
    this[0].enabledPlugin = {"0": {}, "1": {}};
    this[0].suffixes = "pdf";
    this[0].type = "application/pdf";
    this[1] = v_new(Plugin);
    this[1].description = "Portable Document Format";
    this[1].enabledPlugin = {"0": {}, "1": {}};
    this[1].suffixes = "pdf";
    this[1].type = "text/pdf";
})
CSSStyleDeclaration = v_saf(function CSSStyleDeclaration() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
EXTTextureFilterAnisotropic = v_saf(function EXTTextureFilterAnisotropic() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
Object.defineProperties(EXTTextureFilterAnisotropic.prototype, {
    MAX_TEXTURE_MAX_ANISOTROPY_EXT: {value: 34047},
    TEXTURE_MAX_ANISOTROPY_EXT: {value: 34047},

})
Location = v_saf(function Location() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})

Object.defineProperties(Location.prototype, {
    href: {
        get: function () {
            if (!(this.protocol) && !(this.host)) {
                r = ''
            } else {
                r = this.protocol + "//" + this.host + (this.port ? ":" + this.port : "") + this.pathname + this.search + this.hash;
            }
            // v_console_log(`  [*] ${name||obj.constructor.name} -> href[get]:`, JSON.stringify(r))
            return r
        },
        set: function (href) {
            href = href.trim()
            v_console_log(`  href[set]:`, JSON.stringify(href))
            if (href.startsWith("http://") || href.startsWith("https://")) {/*ok*/
            } else if (href.startsWith("//")) {
                href = (this.protocol ? this.protocol : 'http:') + href
            } else {
                href = this.protocol + "//" + this.host + (this.port ? ":" + this.port : "") + '/' + ((href[0] == '/') ? href.slice(1) : href)
            }
            var a = href.match(/([^:]+:)\/\/([^/:?#]+):?(\d+)?([^?#]*)?(\?[^#]*)?(#.*)?/);
            this.protocol = a[1] ? a[1] : "";
            this.host = a[2] ? a[2] : "";
            this.port = a[3] ? a[3] : "";
            this.pathname = a[4] ? a[4] : "";
            this.search = a[5] ? a[5] : "";
            this.hash = a[6] ? a[6] : "";
            this.hostname = this.host;
            this.origin = this.protocol + "//" + this.host + (this.port ? ":" + this.port : "");
        },
        enumerable:true
    },
    assign: {
        value: v_saf(function assign() {

        }),
        enumerable: true,

    },
    ancestorOrigins: {
        get: v_saf(function ancestorOrigins() {
            return new DOMStringList()
        }),
        enumerable: true,
        configurable: false,

    },
    // fragmentDirective: 'c',
    // hash: {set: function(arg){this._hash = arg}, get:function(){return this._hash}, enumerable:true},
    // host: {set: function(arg){this._host = arg}, get:function(){return this._host}, enumerable:true},
    // hostname: {set: function(arg){this._hostname = arg}, get:function(){return this._hostname}, enumerable:true},
    origin: {
        set: function (arg) {
            _origin = arg
        }, get: function () {
            return _origin
        }, enumerable: true
    },
    // pathname: {set: function(arg){this._pathname = arg}, get:function(){return this._pathname}, enumerable:true},
    // port: {set: function(arg){this._port = arg}, get:function(){return this._port}, enumerable:true},
    // protocol: {set: function(arg){this._protocol = arg}, get:function(){return this._protocol}, enumerable:true},
    // host: 'e',
    // hostname: 'f',
    // href: 'g',
    // origin: 'h',
    // pathname: 'i',
    // port: 'j',
    // protocol: 'k',
    reload: {
        value: v_saf(function reload() {

        }),
        enumerable: true,

    },
    replace: {
        value: v_saf(function replace() {

        }),
        enumerable: true,
    },
    toString: {
        value: v_saf(function toString() {
            return ''
        }),
        enumerable: true,

    },
    _protocol: {enumerable:false},
    _hostname: {enumerable:false},
    _port: {enumerable:false},
    _pathname: {enumerable:false},
    _hash: {enumerable:false},
    _origin: {enumerable:false},
})

 var WebGLRenderingContext = class WebGLRenderingContext {
                    constructor(aaa) {
                        console.log('new WebGLRenderingContext', aaa)
                    }

                    createBuffer() {
                        v_console_log('  [*] WebGLRenderingContext -> createBuffer[func]');
                        return v_new(WebGLBuffer)
                    }

                    bindBuffer(target, buffer) {
                        v_console_log('  [*] WebGLRenderingContext -> bindBuffer[func]', target, buffer);
                        return v_new(WebGLBuffer)
                    }

                    getAttribLocation(program, name) {
                        v_console_log('  [*] WebGLRenderingContext -> getAttribLocation[func]', program, name);
                        switch (name) {
                            case 'aPosition':
                                return 0;
                            case 'aColor':
                                return 1;
                        }
                    }

                    vertexAttribPointer(index, size, type, normalized, stride, offset) {
                        v_console_log('  [*] WebGLRenderingContext -> vertexAttribPointer[func]', index, size, type, normalized, stride, offset);
                    }

                    enableVertexAttribArray(index) {
                        v_console_log('  [*] WebGLRenderingContext -> enableVertexAttribArray[func]', index);
                    }

                    useProgram(index) {
                        v_console_log('  [*] WebGLRenderingContext -> useProgram[func]', index);
                    }

                    getUniformLocation(program, name) {
                        v_console_log('  [*] WebGLRenderingContext -> getUniformLocation[func]', program, name);
                        return proxy({}, 'getUniformLocation')
                    }

                    uniform4fv(program, name) {
                        v_console_log('  [*] WebGLRenderingContext -> uniform4fv[func]', program, name);
                    }

                    drawArrays(mode, first, count) {
                        v_console_log('  [*] WebGLRenderingContext -> drawArrays[func]', mode, first, count);
                    }

                    readPixels(x, y, width, height, format, type, pixels) {
                        for (let i = 0; i < pixels.length - 1; i++) {
                            pixels.fill(parseInt(Math.random() * 210 + 10), i, i + 1)
                        }
                        v_console_log('  [*] WebGLRenderingContext -> readPixels[func]', x, y, width, height, format, type, pixels)
                    }

                    bufferData(target, size, srcData, usage, srcOffSet, length) {
                        v_console_log('  [*] WebGLRenderingContext -> bufferData[func]', target, size, srcData, usage, srcOffSet, length);
                        return v_new(WebGLBuffer)
                    }

                    createProgram() {
                        v_console_log('  [*] WebGLRenderingContext -> createProgram[func]');
                        return v_new(WebGLProgram)
                    }

                    createShader(a) {
                        v_console_log('  [*] WebGLRenderingContext -> createShader[func]', a);
                        return v_new(WebGLShader)
                    }

                    shaderSource(shader, originalSource) {
                        v_console_log('  [*] WebGLRenderingContext -> shaderSource[func]', shader, originalSource);
                        this._originalSource = originalSource;
                    }

                    compileShader(shader) {
                        v_console_log('  [*] WebGLRenderingContext -> compileShader[func]', shader);
                        // this._originalSource = originalSource;
                    }

                    getShaderParameter(shader, pname) {
                        v_console_log('  [*] WebGLRenderingContext -> getShaderParameter[func]', shader, pname);
                        switch (pname) {
                            case 35713:
                                return true;
                                break;
                        }
                    }

                    attachShader(program, shader) {
                        v_console_log('  [*] WebGLRenderingContext -> attachShader[func]', program, shader);

                    }

                    linkProgram(program, shader) {
                        v_console_log('  [*] WebGLRenderingContext -> linkProgram[func]', program, shader);

                    }

                    getProgramParameter(program, pname) {
                        v_console_log('  [*] WebGLRenderingContext -> getProgramParameter[func]', program, pname);
                        if (pname === 35714) {
                            return true;
                        }

                    }

                    getSupportedExtensions() {
                        // window.debug = true;
                        v_console_log('  [*] WebGLRenderingContext -> getSupportedExtensions[func]')
                        if (ENV.navigatorparams.useragent.includes('Edg')){
                            return ['ANGLE_instanced_arrays', 'EXT_blend_minmax', 'EXT_color_buffer_half_float', 'EXT_disjoint_timer_query', 'EXT_float_blend', 'EXT_frag_depth', 'EXT_shader_texture_lod', 'EXT_texture_compression_rgtc', 'EXT_texture_filter_anisotropic', 'EXT_sRGB', 'KHR_parallel_shader_compile', 'OES_element_index_uint', 'OES_fbo_render_mipmap', 'OES_standard_derivatives', 'OES_texture_float', 'OES_texture_float_linear', 'OES_texture_half_float', 'OES_texture_half_float_linear', 'OES_vertex_array_object', 'WEBGL_color_buffer_float', 'WEBGL_compressed_texture_s3tc', 'WEBGL_compressed_texture_s3tc_srgb', 'WEBGL_debug_renderer_info', 'WEBGL_debug_shaders', 'WEBGL_depth_texture', 'WEBGL_draw_buffers', 'WEBGL_lose_context', 'WEBGL_multi_draw']
                        }
                        return [
                            "ANGLE_instanced_arrays", "EXT_blend_minmax", "EXT_color_buffer_half_float", "EXT_disjoint_timer_query", "EXT_float_blend", "EXT_frag_depth",
                            "EXT_shader_texture_lod", "EXT_texture_compression_bptc", "EXT_texture_compression_rgtc", "EXT_texture_filter_anisotropic", "WEBKIT_EXT_texture_filter_anisotropic", "EXT_sRGB",
                            "KHR_parallel_shader_compile", "OES_element_index_uint", "OES_fbo_render_mipmap", "OES_standard_derivatives", "OES_texture_float", "OES_texture_float_linear",
                            "OES_texture_half_float", "OES_texture_half_float_linear", "OES_vertex_array_object", "WEBGL_color_buffer_float", "WEBGL_compressed_texture_s3tc",
                            "WEBKIT_WEBGL_compressed_texture_s3tc", "WEBGL_compressed_texture_s3tc_srgb", "WEBGL_debug_renderer_info", "WEBGL_debug_shaders",
                            "WEBGL_depth_texture", "WEBKIT_WEBGL_depth_texture", "WEBGL_draw_buffers", "WEBGL_lose_context", "WEBKIT_WEBGL_lose_context", "WEBGL_multi_draw",
                        ]
                    }

                    getExtension(key) {
                        v_console_log('  [*] WebGLRenderingContext -> getExtension[func]:', key)

                        class WebGLDebugRendererInfo {
                            get UNMASKED_VENDOR_WEBGL() {
                                return 37445
                            }

                            get UNMASKED_RENDERER_WEBGL() {
                                return 37446
                            }
                        }

                        class EXTTextureFilterAnisotropic {
                        }

                        Object.defineProperties(EXTTextureFilterAnisotropic.prototype, {
                            MAX_TEXTURE_MAX_ANISOTROPY_EXT: {
                                value: 34047
                            }
                        })

                        class WebGLLoseContext {
                            loseContext() {
                            }

                            restoreContext() {
                            }
                        }

                        if (key === "WEBKIT_EXT_texture_filter_anisotropic") {
                            var r = null
                        }
                        if (key === "MOZ_EXT_texture_filter_anisotropic") {
                            var r = null
                        }
                        if (key == 'WEBGL_debug_renderer_info') {
                            var r = new WebGLDebugRendererInfo
                        }
                        if (key == 'EXT_texture_filter_anisotropic') {
                            var r = new EXTTextureFilterAnisotropic
                        }
                        if (key == 'WEBGL_lose_context') {
                            var r = new WebGLLoseContext
                        }

                        return r
                    }

                    getParameter(key) {
                        console.log('  [*] WebGLRenderingContext -> getParameter[func]1:', key)
                        let res;
                        let _toggle = {
                            3413: 8,
                            3412: 8,
                            3411: 8,
                            3410: 8,
                            3414: 24,
                            35661: 32,
                            34076: 16384,
                            36349: 1024,
                            34024: 16384,
                            34930: 16,
                            3379: 16384,
                            36348: 31,
                            34921: 16,
                            35660: 16,
                            36347: 1024,
                            7937: 'WebKit WebGL',
                            35724: 'WebGL GLSL ES 1.0 (OpenGL ES GLSL ES 1.0 Chromium)',
                            3415: 0,
                            7936: 'WebKit',
                            7938: 'WebGL 1.0 (OpenGL ES 2.0 Chromium)',
                            37445: 'Google Inc.',
                            // 37446: 'ANGLE (Apple, Apple M1 Max, OpenGL 4.1)',
                            34047: 16
                        }
                        _toggle = window.ENV.glres;
                        if (_toggle[key]) {
                            res = _toggle[key]

                        } else {

                            if (key == 33902) {
                                res = new Float32Array([1, 1])
                            }
                            if (key == 33901) {
                                res = new Float32Array([1, 64])
                            }
                            if (key == 3386) {
                                res = new Int32Array([16384, 16384])
                            }
                            if (key === 3415){
                                res = 0
                            }

                        }
                        console.log('  [*] WebGLRenderingContext -> getParameter[func]2:', key, res)

                        return res;
                    }

                    getContextAttributes() {
                        v_console_log('  [*] WebGLRenderingContext -> getContextAttributes[func]')
                        return {
                            alpha: true,
                            antialias: true,
                            depth: true,
                            desynchronized: false,
                            failIfMajorPerformanceCaveat: false,
                            powerPreference: "default",
                            premultipliedAlpha: true,
                            preserveDrawingBuffer: false,
                            stencil: false,
                            xrCompatible: false,
                        }
                    }

                    getShaderPrecisionFormat(a, b) {
                        v_console_log('  [*] WebGLRenderingContext -> getShaderPrecisionFormat[func]', a, b)

                        function WebGLShaderPrecisionFormat() {
                        }

                        var r1 = v_new(WebGLShaderPrecisionFormat)
                        r1.rangeMin = 127
                        r1.rangeMax = 127
                        r1.precision = 23
                        var r2 = v_new(WebGLShaderPrecisionFormat)
                        r2.rangeMin = 31
                        r2.rangeMax = 30
                        r2.precision = 0
                        if (a == 35633 && b == 36338) {
                            return r1
                        }
                        if (a == 35633 && b == 36337) {
                            return r1
                        }
                        if (a == 35633 && b == 36336) {
                            return r1
                        }
                        if (a == 35633 && b == 36341) {
                            return r2
                        }
                        if (a == 35633 && b == 36340) {
                            return r2
                        }
                        if (a == 35633 && b == 36339) {
                            return r2
                        }
                        if (a == 35632 && b == 36338) {
                            return r1
                        }
                        if (a == 35632 && b == 36337) {
                            return r1
                        }
                        if (a == 35632 && b == 36336) {
                            return r1
                        }
                        if (a == 35632 && b == 36341) {
                            return r2
                        }
                        if (a == 35632 && b == 36340) {
                            return r2
                        }
                        if (a == 35632 && b == 36339) {
                            return r2
                        }
                        throw Error('getShaderPrecisionFormat')
                    }
                }
Object.defineProperties(WebGLRenderingContext.prototype, {
                    canvas: {writable: undefined, enumerable: true, configurable: true},
                    drawingBufferWidth: {writable: undefined, enumerable: true, configurable: true},
                    drawingBufferHeight: {writable: undefined, enumerable: true, configurable: true},
                    drawingBufferColorSpace: {writable: undefined, enumerable: true, configurable: true},
                    unpackColorSpace: {writable: undefined, enumerable: true, configurable: true},
                    DEPTH_BUFFER_BIT: {value: 256, writable: false, enumerable: true, configurable: false},
                    STENCIL_BUFFER_BIT: {value: 1024, writable: false, enumerable: true, configurable: false},
                    COLOR_BUFFER_BIT: {value: 16384, writable: false, enumerable: true, configurable: false},
                    POINTS: {writable: false, enumerable: true, configurable: false},
                    LINES: {value: 1, writable: false, enumerable: true, configurable: false},
                    LINE_LOOP: {value: 2, writable: false, enumerable: true, configurable: false},
                    LINE_STRIP: {value: 3, writable: false, enumerable: true, configurable: false},
                    TRIANGLES: {value: 4, writable: false, enumerable: true, configurable: false},
                    TRIANGLE_STRIP: {value: 5, writable: false, enumerable: true, configurable: false},
                    TRIANGLE_FAN: {value: 6, writable: false, enumerable: true, configurable: false},
                    ZERO: {writable: false, enumerable: true, configurable: false},
                    ONE: {value: 1, writable: false, enumerable: true, configurable: false},
                    SRC_COLOR: {value: 768, writable: false, enumerable: true, configurable: false},
                    ONE_MINUS_SRC_COLOR: {value: 769, writable: false, enumerable: true, configurable: false},
                    SRC_ALPHA: {value: 770, writable: false, enumerable: true, configurable: false},
                    ONE_MINUS_SRC_ALPHA: {value: 771, writable: false, enumerable: true, configurable: false},
                    DST_ALPHA: {value: 772, writable: false, enumerable: true, configurable: false},
                    ONE_MINUS_DST_ALPHA: {value: 773, writable: false, enumerable: true, configurable: false},
                    DST_COLOR: {value: 774, writable: false, enumerable: true, configurable: false},
                    ONE_MINUS_DST_COLOR: {value: 775, writable: false, enumerable: true, configurable: false},
                    SRC_ALPHA_SATURATE: {value: 776, writable: false, enumerable: true, configurable: false},
                    FUNC_ADD: {value: 32774, writable: false, enumerable: true, configurable: false},
                    BLEND_EQUATION: {value: 32777, writable: false, enumerable: true, configurable: false},
                    BLEND_EQUATION_RGB: {value: 32777, writable: false, enumerable: true, configurable: false},
                    BLEND_EQUATION_ALPHA: {value: 34877, writable: false, enumerable: true, configurable: false},
                    FUNC_SUBTRACT: {value: 32778, writable: false, enumerable: true, configurable: false},
                    FUNC_REVERSE_SUBTRACT: {value: 32779, writable: false, enumerable: true, configurable: false},
                    BLEND_DST_RGB: {value: 32968, writable: false, enumerable: true, configurable: false},
                    BLEND_SRC_RGB: {value: 32969, writable: false, enumerable: true, configurable: false},
                    BLEND_DST_ALPHA: {value: 32970, writable: false, enumerable: true, configurable: false},
                    BLEND_SRC_ALPHA: {value: 32971, writable: false, enumerable: true, configurable: false},
                    CONSTANT_COLOR: {value: 32769, writable: false, enumerable: true, configurable: false},
                    ONE_MINUS_CONSTANT_COLOR: {value: 32770, writable: false, enumerable: true, configurable: false},
                    CONSTANT_ALPHA: {value: 32771, writable: false, enumerable: true, configurable: false},
                    ONE_MINUS_CONSTANT_ALPHA: {value: 32772, writable: false, enumerable: true, configurable: false},
                    BLEND_COLOR: {value: 32773, writable: false, enumerable: true, configurable: false},
                    ARRAY_BUFFER: {value: 34962, writable: false, enumerable: true, configurable: false},
                    ELEMENT_ARRAY_BUFFER: {value: 34963, writable: false, enumerable: true, configurable: false},
                    ARRAY_BUFFER_BINDING: {value: 34964, writable: false, enumerable: true, configurable: false},
                    ELEMENT_ARRAY_BUFFER_BINDING: {
                        value: 34965,
                        writable: false,
                        enumerable: true,
                        configurable: false
                    },
                    STREAM_DRAW: {value: 35040, writable: false, enumerable: true, configurable: false},
                    STATIC_DRAW: {value: 35044, writable: false, enumerable: true, configurable: false},
                    DYNAMIC_DRAW: {value: 35048, writable: false, enumerable: true, configurable: false},
                    BUFFER_SIZE: {value: 34660, writable: false, enumerable: true, configurable: false},
                    BUFFER_USAGE: {value: 34661, writable: false, enumerable: true, configurable: false},
                    CURRENT_VERTEX_ATTRIB: {value: 34342, writable: false, enumerable: true, configurable: false},
                    FRONT: {value: 1028, writable: false, enumerable: true, configurable: false},
                    BACK: {value: 1029, writable: false, enumerable: true, configurable: false},
                    FRONT_AND_BACK: {value: 1032, writable: false, enumerable: true, configurable: false},
                    TEXTURE_2D: {value: 3553, writable: false, enumerable: true, configurable: false},
                    CULL_FACE: {value: 2884, writable: false, enumerable: true, configurable: false},
                    BLEND: {value: 3042, writable: false, enumerable: true, configurable: false},
                    DITHER: {value: 3024, writable: false, enumerable: true, configurable: false},
                    STENCIL_TEST: {value: 2960, writable: false, enumerable: true, configurable: false},
                    DEPTH_TEST: {value: 2929, writable: false, enumerable: true, configurable: false},
                    SCISSOR_TEST: {value: 3089, writable: false, enumerable: true, configurable: false},
                    POLYGON_OFFSET_FILL: {value: 32823, writable: false, enumerable: true, configurable: false},
                    SAMPLE_ALPHA_TO_COVERAGE: {value: 32926, writable: false, enumerable: true, configurable: false},
                    SAMPLE_COVERAGE: {value: 32928, writable: false, enumerable: true, configurable: false},
                    NO_ERROR: {writable: false, enumerable: true, configurable: false},
                    INVALID_ENUM: {value: 1280, writable: false, enumerable: true, configurable: false},
                    INVALID_VALUE: {value: 1281, writable: false, enumerable: true, configurable: false},
                    INVALID_OPERATION: {value: 1282, writable: false, enumerable: true, configurable: false},
                    OUT_OF_MEMORY: {value: 1285, writable: false, enumerable: true, configurable: false},
                    CW: {value: 2304, writable: false, enumerable: true, configurable: false},
                    CCW: {value: 2305, writable: false, enumerable: true, configurable: false},
                    LINE_WIDTH: {value: 2849, writable: false, enumerable: true, configurable: false},
                    ALIASED_POINT_SIZE_RANGE: {value: 33901, writable: false, enumerable: true, configurable: false},
                    ALIASED_LINE_WIDTH_RANGE: {value: 33902, writable: false, enumerable: true, configurable: false},
                    CULL_FACE_MODE: {value: 2885, writable: false, enumerable: true, configurable: false},
                    FRONT_FACE: {value: 2886, writable: false, enumerable: true, configurable: false},
                    DEPTH_RANGE: {value: 2928, writable: false, enumerable: true, configurable: false},
                    DEPTH_WRITEMASK: {value: 2930, writable: false, enumerable: true, configurable: false},
                    DEPTH_CLEAR_VALUE: {value: 2931, writable: false, enumerable: true, configurable: false},
                    DEPTH_FUNC: {value: 2932, writable: false, enumerable: true, configurable: false},
                    STENCIL_CLEAR_VALUE: {value: 2961, writable: false, enumerable: true, configurable: false},
                    STENCIL_FUNC: {value: 2962, writable: false, enumerable: true, configurable: false},
                    STENCIL_FAIL: {value: 2964, writable: false, enumerable: true, configurable: false},
                    STENCIL_PASS_DEPTH_FAIL: {value: 2965, writable: false, enumerable: true, configurable: false},
                    STENCIL_PASS_DEPTH_PASS: {value: 2966, writable: false, enumerable: true, configurable: false},
                    STENCIL_REF: {value: 2967, writable: false, enumerable: true, configurable: false},
                    STENCIL_VALUE_MASK: {value: 2963, writable: false, enumerable: true, configurable: false},
                    STENCIL_WRITEMASK: {value: 2968, writable: false, enumerable: true, configurable: false},
                    STENCIL_BACK_FUNC: {value: 34816, writable: false, enumerable: true, configurable: false},
                    STENCIL_BACK_FAIL: {value: 34817, writable: false, enumerable: true, configurable: false},
                    STENCIL_BACK_PASS_DEPTH_FAIL: {
                        value: 34818,
                        writable: false,
                        enumerable: true,
                        configurable: false
                    },
                    STENCIL_BACK_PASS_DEPTH_PASS: {
                        value: 34819,
                        writable: false,
                        enumerable: true,
                        configurable: false
                    },
                    STENCIL_BACK_REF: {value: 36003, writable: false, enumerable: true, configurable: false},
                    STENCIL_BACK_VALUE_MASK: {value: 36004, writable: false, enumerable: true, configurable: false},
                    STENCIL_BACK_WRITEMASK: {value: 36005, writable: false, enumerable: true, configurable: false},
                    VIEWPORT: {value: 2978, writable: false, enumerable: true, configurable: false},
                    SCISSOR_BOX: {value: 3088, writable: false, enumerable: true, configurable: false},
                    COLOR_CLEAR_VALUE: {value: 3106, writable: false, enumerable: true, configurable: false},
                    COLOR_WRITEMASK: {value: 3107, writable: false, enumerable: true, configurable: false},
                    UNPACK_ALIGNMENT: {value: 3317, writable: false, enumerable: true, configurable: false},
                    PACK_ALIGNMENT: {value: 3333, writable: false, enumerable: true, configurable: false},
                    MAX_TEXTURE_SIZE: {value: 3379, writable: false, enumerable: true, configurable: false},
                    MAX_VIEWPORT_DIMS: {value: 3386, writable: false, enumerable: true, configurable: false},
                    SUBPIXEL_BITS: {value: 3408, writable: false, enumerable: true, configurable: false},
                    RED_BITS: {value: 3410, writable: false, enumerable: true, configurable: false},
                    GREEN_BITS: {value: 3411, writable: false, enumerable: true, configurable: false},
                    BLUE_BITS: {value: 3412, writable: false, enumerable: true, configurable: false},
                    ALPHA_BITS: {value: 3413, writable: false, enumerable: true, configurable: false},
                    DEPTH_BITS: {value: 3414, writable: false, enumerable: true, configurable: false},
                    STENCIL_BITS: {value: 3415, writable: false, enumerable: true, configurable: false},
                    POLYGON_OFFSET_UNITS: {value: 10752, writable: false, enumerable: true, configurable: false},
                    POLYGON_OFFSET_FACTOR: {value: 32824, writable: false, enumerable: true, configurable: false},
                    TEXTURE_BINDING_2D: {value: 32873, writable: false, enumerable: true, configurable: false},
                    SAMPLE_BUFFERS: {value: 32936, writable: false, enumerable: true, configurable: false},
                    SAMPLES: {value: 32937, writable: false, enumerable: true, configurable: false},
                    SAMPLE_COVERAGE_VALUE: {value: 32938, writable: false, enumerable: true, configurable: false},
                    SAMPLE_COVERAGE_INVERT: {value: 32939, writable: false, enumerable: true, configurable: false},
                    COMPRESSED_TEXTURE_FORMATS: {value: 34467, writable: false, enumerable: true, configurable: false},
                    DONT_CARE: {value: 4352, writable: false, enumerable: true, configurable: false},
                    FASTEST: {value: 4353, writable: false, enumerable: true, configurable: false},
                    NICEST: {value: 4354, writable: false, enumerable: true, configurable: false},
                    GENERATE_MIPMAP_HINT: {value: 33170, writable: false, enumerable: true, configurable: false},
                    BYTE: {value: 5120, writable: false, enumerable: true, configurable: false},
                    UNSIGNED_BYTE: {value: 5121, writable: false, enumerable: true, configurable: false},
                    SHORT: {value: 5122, writable: false, enumerable: true, configurable: false},
                    UNSIGNED_SHORT: {value: 5123, writable: false, enumerable: true, configurable: false},
                    INT: {value: 5124, writable: false, enumerable: true, configurable: false},
                    UNSIGNED_INT: {value: 5125, writable: false, enumerable: true, configurable: false},
                    FLOAT: {value: 5126, writable: false, enumerable: true, configurable: false},
                    DEPTH_COMPONENT: {value: 6402, writable: false, enumerable: true, configurable: false},
                    ALPHA: {value: 6406, writable: false, enumerable: true, configurable: false},
                    RGB: {value: 6407, writable: false, enumerable: true, configurable: false},
                    RGBA: {value: 6408, writable: false, enumerable: true, configurable: false},
                    LUMINANCE: {value: 6409, writable: false, enumerable: true, configurable: false},
                    LUMINANCE_ALPHA: {value: 6410, writable: false, enumerable: true, configurable: false},
                    UNSIGNED_SHORT_4_4_4_4: {value: 32819, writable: false, enumerable: true, configurable: false},
                    UNSIGNED_SHORT_5_5_5_1: {value: 32820, writable: false, enumerable: true, configurable: false},
                    UNSIGNED_SHORT_5_6_5: {value: 33635, writable: false, enumerable: true, configurable: false},
                    FRAGMENT_SHADER: {value: 35632, writable: false, enumerable: true, configurable: false},
                    VERTEX_SHADER: {value: 35633, writable: false, enumerable: true, configurable: false},
                    MAX_VERTEX_ATTRIBS: {value: 34921, writable: false, enumerable: true, configurable: false},
                    MAX_VERTEX_UNIFORM_VECTORS: {value: 36347, writable: false, enumerable: true, configurable: false},
                    MAX_VARYING_VECTORS: {value: 36348, writable: false, enumerable: true, configurable: false},
                    MAX_COMBINED_TEXTURE_IMAGE_UNITS: {
                        value: 35661,
                        writable: false,
                        enumerable: true,
                        configurable: false
                    },
                    MAX_VERTEX_TEXTURE_IMAGE_UNITS: {
                        value: 35660,
                        writable: false,
                        enumerable: true,
                        configurable: false
                    },
                    MAX_TEXTURE_IMAGE_UNITS: {value: 34930, writable: false, enumerable: true, configurable: false},
                    MAX_FRAGMENT_UNIFORM_VECTORS: {
                        value: 36349,
                        writable: false,
                        enumerable: true,
                        configurable: false
                    },
                    SHADER_TYPE: {value: 35663, writable: false, enumerable: true, configurable: false},
                    DELETE_STATUS: {value: 35712, writable: false, enumerable: true, configurable: false},
                    LINK_STATUS: {value: 35714, writable: false, enumerable: true, configurable: false},
                    VALIDATE_STATUS: {value: 35715, writable: false, enumerable: true, configurable: false},
                    ATTACHED_SHADERS: {value: 35717, writable: false, enumerable: true, configurable: false},
                    ACTIVE_UNIFORMS: {value: 35718, writable: false, enumerable: true, configurable: false},
                    ACTIVE_ATTRIBUTES: {value: 35721, writable: false, enumerable: true, configurable: false},
                    SHADING_LANGUAGE_VERSION: {value: 35724, writable: false, enumerable: true, configurable: false},
                    CURRENT_PROGRAM: {value: 35725, writable: false, enumerable: true, configurable: false},
                    NEVER: {value: 512, writable: false, enumerable: true, configurable: false},
                    LESS: {value: 513, writable: false, enumerable: true, configurable: false},
                    EQUAL: {value: 514, writable: false, enumerable: true, configurable: false},
                    LEQUAL: {value: 515, writable: false, enumerable: true, configurable: false},
                    GREATER: {value: 516, writable: false, enumerable: true, configurable: false},
                    NOTEQUAL: {value: 517, writable: false, enumerable: true, configurable: false},
                    GEQUAL: {value: 518, writable: false, enumerable: true, configurable: false},
                    ALWAYS: {value: 519, writable: false, enumerable: true, configurable: false},
                    KEEP: {value: 7680, writable: false, enumerable: true, configurable: false},
                    REPLACE: {value: 7681, writable: false, enumerable: true, configurable: false},
                    INCR: {value: 7682, writable: false, enumerable: true, configurable: false},
                    DECR: {value: 7683, writable: false, enumerable: true, configurable: false},
                    INVERT: {value: 5386, writable: false, enumerable: true, configurable: false},
                    INCR_WRAP: {value: 34055, writable: false, enumerable: true, configurable: false},
                    DECR_WRAP: {value: 34056, writable: false, enumerable: true, configurable: false},
                    VENDOR: {value: 7936, writable: false, enumerable: true, configurable: false},
                    RENDERER: {value: 7937, writable: false, enumerable: true, configurable: false},
                    VERSION: {value: 7938, writable: false, enumerable: true, configurable: false},
                    NEAREST: {value: 9728, writable: false, enumerable: true, configurable: false},
                    LINEAR: {value: 9729, writable: false, enumerable: true, configurable: false},
                    NEAREST_MIPMAP_NEAREST: {value: 9984, writable: false, enumerable: true, configurable: false},
                    LINEAR_MIPMAP_NEAREST: {value: 9985, writable: false, enumerable: true, configurable: false},
                    NEAREST_MIPMAP_LINEAR: {value: 9986, writable: false, enumerable: true, configurable: false},
                    LINEAR_MIPMAP_LINEAR: {value: 9987, writable: false, enumerable: true, configurable: false},
                    TEXTURE_MAG_FILTER: {value: 10240, writable: false, enumerable: true, configurable: false},
                    TEXTURE_MIN_FILTER: {value: 10241, writable: false, enumerable: true, configurable: false},
                    TEXTURE_WRAP_S: {value: 10242, writable: false, enumerable: true, configurable: false},
                    TEXTURE_WRAP_T: {value: 10243, writable: false, enumerable: true, configurable: false},
                    TEXTURE: {value: 5890, writable: false, enumerable: true, configurable: false},
                    TEXTURE_CUBE_MAP: {value: 34067, writable: false, enumerable: true, configurable: false},
                    TEXTURE_BINDING_CUBE_MAP: {value: 34068, writable: false, enumerable: true, configurable: false},
                    TEXTURE_CUBE_MAP_POSITIVE_X: {value: 34069, writable: false, enumerable: true, configurable: false},
                    TEXTURE_CUBE_MAP_NEGATIVE_X: {value: 34070, writable: false, enumerable: true, configurable: false},
                    TEXTURE_CUBE_MAP_POSITIVE_Y: {value: 34071, writable: false, enumerable: true, configurable: false},
                    TEXTURE_CUBE_MAP_NEGATIVE_Y: {value: 34072, writable: false, enumerable: true, configurable: false},
                    TEXTURE_CUBE_MAP_POSITIVE_Z: {value: 34073, writable: false, enumerable: true, configurable: false},
                    TEXTURE_CUBE_MAP_NEGATIVE_Z: {value: 34074, writable: false, enumerable: true, configurable: false},
                    MAX_CUBE_MAP_TEXTURE_SIZE: {value: 34076, writable: false, enumerable: true, configurable: false},
                    TEXTURE0: {value: 33984, writable: false, enumerable: true, configurable: false},
                    TEXTURE1: {value: 33985, writable: false, enumerable: true, configurable: false},
                    TEXTURE2: {value: 33986, writable: false, enumerable: true, configurable: false},
                    TEXTURE3: {value: 33987, writable: false, enumerable: true, configurable: false},
                    TEXTURE4: {value: 33988, writable: false, enumerable: true, configurable: false},
                    TEXTURE5: {value: 33989, writable: false, enumerable: true, configurable: false},
                    TEXTURE6: {value: 33990, writable: false, enumerable: true, configurable: false},
                    TEXTURE7: {value: 33991, writable: false, enumerable: true, configurable: false},
                    TEXTURE8: {value: 33992, writable: false, enumerable: true, configurable: false},
                    TEXTURE9: {value: 33993, writable: false, enumerable: true, configurable: false},
                    TEXTURE10: {value: 33994, writable: false, enumerable: true, configurable: false},
                    TEXTURE11: {value: 33995, writable: false, enumerable: true, configurable: false},
                    TEXTURE12: {value: 33996, writable: false, enumerable: true, configurable: false},
                    TEXTURE13: {value: 33997, writable: false, enumerable: true, configurable: false},
                    TEXTURE14: {value: 33998, writable: false, enumerable: true, configurable: false},
                    TEXTURE15: {value: 33999, writable: false, enumerable: true, configurable: false},
                    TEXTURE16: {value: 34000, writable: false, enumerable: true, configurable: false},
                    TEXTURE17: {value: 34001, writable: false, enumerable: true, configurable: false},
                    TEXTURE18: {value: 34002, writable: false, enumerable: true, configurable: false},
                    TEXTURE19: {value: 34003, writable: false, enumerable: true, configurable: false},
                    TEXTURE20: {value: 34004, writable: false, enumerable: true, configurable: false},
                    TEXTURE21: {value: 34005, writable: false, enumerable: true, configurable: false},
                    TEXTURE22: {value: 34006, writable: false, enumerable: true, configurable: false},
                    TEXTURE23: {value: 34007, writable: false, enumerable: true, configurable: false},
                    TEXTURE24: {value: 34008, writable: false, enumerable: true, configurable: false},
                    TEXTURE25: {value: 34009, writable: false, enumerable: true, configurable: false},
                    TEXTURE26: {value: 34010, writable: false, enumerable: true, configurable: false},
                    TEXTURE27: {value: 34011, writable: false, enumerable: true, configurable: false},
                    TEXTURE28: {value: 34012, writable: false, enumerable: true, configurable: false},
                    TEXTURE29: {value: 34013, writable: false, enumerable: true, configurable: false},
                    TEXTURE30: {value: 34014, writable: false, enumerable: true, configurable: false},
                    TEXTURE31: {value: 34015, writable: false, enumerable: true, configurable: false},
                    ACTIVE_TEXTURE: {value: 34016, writable: false, enumerable: true, configurable: false},
                    REPEAT: {value: 10497, writable: false, enumerable: true, configurable: false},
                    CLAMP_TO_EDGE: {value: 33071, writable: false, enumerable: true, configurable: false},
                    MIRRORED_REPEAT: {value: 33648, writable: false, enumerable: true, configurable: false},
                    FLOAT_VEC2: {value: 35664, writable: false, enumerable: true, configurable: false},
                    FLOAT_VEC3: {value: 35665, writable: false, enumerable: true, configurable: false},
                    FLOAT_VEC4: {value: 35666, writable: false, enumerable: true, configurable: false},
                    INT_VEC2: {value: 35667, writable: false, enumerable: true, configurable: false},
                    INT_VEC3: {value: 35668, writable: false, enumerable: true, configurable: false},
                    INT_VEC4: {value: 35669, writable: false, enumerable: true, configurable: false},
                    BOOL: {value: 35670, writable: false, enumerable: true, configurable: false},
                    BOOL_VEC2: {value: 35671, writable: false, enumerable: true, configurable: false},
                    BOOL_VEC3: {value: 35672, writable: false, enumerable: true, configurable: false},
                    BOOL_VEC4: {value: 35673, writable: false, enumerable: true, configurable: false},
                    FLOAT_MAT2: {value: 35674, writable: false, enumerable: true, configurable: false},
                    FLOAT_MAT3: {value: 35675, writable: false, enumerable: true, configurable: false},
                    FLOAT_MAT4: {value: 35676, writable: false, enumerable: true, configurable: false},
                    SAMPLER_2D: {value: 35678, writable: false, enumerable: true, configurable: false},
                    SAMPLER_CUBE: {value: 35680, writable: false, enumerable: true, configurable: false},
                    VERTEX_ATTRIB_ARRAY_ENABLED: {value: 34338, writable: false, enumerable: true, configurable: false},
                    VERTEX_ATTRIB_ARRAY_SIZE: {value: 34339, writable: false, enumerable: true, configurable: false},
                    VERTEX_ATTRIB_ARRAY_STRIDE: {value: 34340, writable: false, enumerable: true, configurable: false},
                    VERTEX_ATTRIB_ARRAY_TYPE: {value: 34341, writable: false, enumerable: true, configurable: false},
                    VERTEX_ATTRIB_ARRAY_NORMALIZED: {
                        value: 34922,
                        writable: false,
                        enumerable: true,
                        configurable: false
                    },
                    VERTEX_ATTRIB_ARRAY_POINTER: {value: 34373, writable: false, enumerable: true, configurable: false},
                    VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: {
                        value: 34975,
                        writable: false,
                        enumerable: true,
                        configurable: false
                    },
                    IMPLEMENTATION_COLOR_READ_TYPE: {
                        value: 35738,
                        writable: false,
                        enumerable: true,
                        configurable: false
                    },
                    IMPLEMENTATION_COLOR_READ_FORMAT: {
                        value: 35739,
                        writable: false,
                        enumerable: true,
                        configurable: false
                    },
                    COMPILE_STATUS: {value: 35713, writable: false, enumerable: true, configurable: false},
                    LOW_FLOAT: {value: 36336, writable: false, enumerable: true, configurable: false},
                    MEDIUM_FLOAT: {value: 36337, writable: false, enumerable: true, configurable: false},
                    HIGH_FLOAT: {value: 36338, writable: false, enumerable: true, configurable: false},
                    LOW_INT: {value: 36339, writable: false, enumerable: true, configurable: false},
                    MEDIUM_INT: {value: 36340, writable: false, enumerable: true, configurable: false},
                    HIGH_INT: {value: 36341, writable: false, enumerable: true, configurable: false},
                    FRAMEBUFFER: {value: 36160, writable: false, enumerable: true, configurable: false},
                    RENDERBUFFER: {value: 36161, writable: false, enumerable: true, configurable: false},
                    RGBA4: {value: 32854, writable: false, enumerable: true, configurable: false},
                    RGB5_A1: {value: 32855, writable: false, enumerable: true, configurable: false},
                    RGB565: {value: 36194, writable: false, enumerable: true, configurable: false},
                    DEPTH_COMPONENT16: {value: 33189, writable: false, enumerable: true, configurable: false},
                    STENCIL_INDEX8: {value: 36168, writable: false, enumerable: true, configurable: false},
                    DEPTH_STENCIL: {value: 34041, writable: false, enumerable: true, configurable: false},
                    RENDERBUFFER_WIDTH: {value: 36162, writable: false, enumerable: true, configurable: false},
                    RENDERBUFFER_HEIGHT: {value: 36163, writable: false, enumerable: true, configurable: false},
                    RENDERBUFFER_INTERNAL_FORMAT: {
                        value: 36164,
                        writable: false,
                        enumerable: true,
                        configurable: false
                    },
                    RENDERBUFFER_RED_SIZE: {value: 36176, writable: false, enumerable: true, configurable: false},
                    RENDERBUFFER_GREEN_SIZE: {value: 36177, writable: false, enumerable: true, configurable: false},
                    RENDERBUFFER_BLUE_SIZE: {value: 36178, writable: false, enumerable: true, configurable: false},
                    RENDERBUFFER_ALPHA_SIZE: {value: 36179, writable: false, enumerable: true, configurable: false},
                    RENDERBUFFER_DEPTH_SIZE: {value: 36180, writable: false, enumerable: true, configurable: false},
                    RENDERBUFFER_STENCIL_SIZE: {value: 36181, writable: false, enumerable: true, configurable: false},
                    FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: {
                        value: 36048,
                        writable: false,
                        enumerable: true,
                        configurable: false
                    },
                    FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: {
                        value: 36049,
                        writable: false,
                        enumerable: true,
                        configurable: false
                    },
                    FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: {
                        value: 36050,
                        writable: false,
                        enumerable: true,
                        configurable: false
                    },
                    FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: {
                        value: 36051,
                        writable: false,
                        enumerable: true,
                        configurable: false
                    },
                    COLOR_ATTACHMENT0: {value: 36064, writable: false, enumerable: true, configurable: false},
                    DEPTH_ATTACHMENT: {value: 36096, writable: false, enumerable: true, configurable: false},
                    STENCIL_ATTACHMENT: {value: 36128, writable: false, enumerable: true, configurable: false},
                    DEPTH_STENCIL_ATTACHMENT: {value: 33306, writable: false, enumerable: true, configurable: false},
                    NONE: {writable: false, enumerable: true, configurable: false},
                    FRAMEBUFFER_COMPLETE: {value: 36053, writable: false, enumerable: true, configurable: false},
                    FRAMEBUFFER_INCOMPLETE_ATTACHMENT: {
                        value: 36054,
                        writable: false,
                        enumerable: true,
                        configurable: false
                    },
                    FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: {
                        value: 36055,
                        writable: false,
                        enumerable: true,
                        configurable: false
                    },
                    FRAMEBUFFER_INCOMPLETE_DIMENSIONS: {
                        value: 36057,
                        writable: false,
                        enumerable: true,
                        configurable: false
                    },
                    FRAMEBUFFER_UNSUPPORTED: {value: 36061, writable: false, enumerable: true, configurable: false},
                    FRAMEBUFFER_BINDING: {value: 36006, writable: false, enumerable: true, configurable: false},
                    RENDERBUFFER_BINDING: {value: 36007, writable: false, enumerable: true, configurable: false},
                    MAX_RENDERBUFFER_SIZE: {value: 34024, writable: false, enumerable: true, configurable: false},
                    INVALID_FRAMEBUFFER_OPERATION: {
                        value: 1286,
                        writable: false,
                        enumerable: true,
                        configurable: false
                    },
                    UNPACK_FLIP_Y_WEBGL: {value: 37440, writable: false, enumerable: true, configurable: false},
                    UNPACK_PREMULTIPLY_ALPHA_WEBGL: {
                        value: 37441,
                        writable: false,
                        enumerable: true,
                        configurable: false
                    },
                    CONTEXT_LOST_WEBGL: {value: 37442, writable: false, enumerable: true, configurable: false},
                    UNPACK_COLORSPACE_CONVERSION_WEBGL: {
                        value: 37443,
                        writable: false,
                        enumerable: true,
                        configurable: false
                    },
                    BROWSER_DEFAULT_WEBGL: {value: 37444, writable: false, enumerable: true, configurable: false},
                    activeTexture: {writable: true, enumerable: true, configurable: true},
                    attachShader: {writable: true, enumerable: true, configurable: true},
                    bindAttribLocation: {writable: true, enumerable: true, configurable: true},
                    bindRenderbuffer: {writable: true, enumerable: true, configurable: true},
                    blendColor: {writable: true, enumerable: true, configurable: true},
                    blendEquation: {writable: true, enumerable: true, configurable: true},
                    blendEquationSeparate: {writable: true, enumerable: true, configurable: true},
                    blendFunc: {writable: true, enumerable: true, configurable: true},
                    blendFuncSeparate: {writable: true, enumerable: true, configurable: true},
                    bufferData: {writable: true, enumerable: true, configurable: true},
                    bufferSubData: {writable: true, enumerable: true, configurable: true},
                    checkFramebufferStatus: {writable: true, enumerable: true, configurable: true},
                    compileShader: {writable: true, enumerable: true, configurable: true},
                    compressedTexImage2D: {writable: true, enumerable: true, configurable: true},
                    compressedTexSubImage2D: {writable: true, enumerable: true, configurable: true},
                    copyTexImage2D: {writable: true, enumerable: true, configurable: true},
                    copyTexSubImage2D: {writable: true, enumerable: true, configurable: true},
                    createBuffer: {writable: true, enumerable: true, configurable: true},
                    createFramebuffer: {writable: true, enumerable: true, configurable: true},
                    createProgram: {writable: true, enumerable: true, configurable: true},
                    createRenderbuffer: {writable: true, enumerable: true, configurable: true},
                    createShader: {writable: true, enumerable: true, configurable: true},
                    createTexture: {writable: true, enumerable: true, configurable: true},
                    cullFace: {writable: true, enumerable: true, configurable: true},
                    deleteBuffer: {writable: true, enumerable: true, configurable: true},
                    deleteFramebuffer: {writable: true, enumerable: true, configurable: true},
                    deleteProgram: {writable: true, enumerable: true, configurable: true},
                    deleteRenderbuffer: {writable: true, enumerable: true, configurable: true},
                    deleteShader: {writable: true, enumerable: true, configurable: true},
                    deleteTexture: {writable: true, enumerable: true, configurable: true},
                    depthFunc: {writable: true, enumerable: true, configurable: true},
                    depthMask: {writable: true, enumerable: true, configurable: true},
                    depthRange: {writable: true, enumerable: true, configurable: true},
                    detachShader: {writable: true, enumerable: true, configurable: true},
                    disable: {writable: true, enumerable: true, configurable: true},
                    enable: {writable: true, enumerable: true, configurable: true},
                    finish: {writable: true, enumerable: true, configurable: true},
                    flush: {writable: true, enumerable: true, configurable: true},
                    framebufferRenderbuffer: {writable: true, enumerable: true, configurable: true},
                    framebufferTexture2D: {writable: true, enumerable: true, configurable: true},
                    frontFace: {writable: true, enumerable: true, configurable: true},
                    generateMipmap: {writable: true, enumerable: true, configurable: true},
                    getActiveAttrib: {writable: true, enumerable: true, configurable: true},
                    getActiveUniform: {writable: true, enumerable: true, configurable: true},
                    getAttachedShaders: {writable: true, enumerable: true, configurable: true},
                    getAttribLocation: {writable: true, enumerable: true, configurable: true},
                    getBufferParameter: {writable: true, enumerable: true, configurable: true},
                    getContextAttributes: {writable: true, enumerable: true, configurable: true},
                    getError: {writable: true, enumerable: true, configurable: true},
                    getExtension: {writable: true, enumerable: true, configurable: true},
                    getFramebufferAttachmentParameter: {writable: true, enumerable: true, configurable: true},
                    getParameter: {writable: true, enumerable: true, configurable: true},
                    getProgramInfoLog: {writable: true, enumerable: true, configurable: true},
                    getProgramParameter: {writable: true, enumerable: true, configurable: true},
                    getRenderbufferParameter: {writable: true, enumerable: true, configurable: true},
                    getShaderInfoLog: {writable: true, enumerable: true, configurable: true},
                    getShaderParameter: {writable: true, enumerable: true, configurable: true},
                    getShaderPrecisionFormat: {writable: true, enumerable: true, configurable: true},
                    getShaderSource: {writable: true, enumerable: true, configurable: true},
                    getSupportedExtensions: {writable: true, enumerable: true, configurable: true},
                    getTexParameter: {writable: true, enumerable: true, configurable: true},
                    getUniform: {writable: true, enumerable: true, configurable: true},
                    getUniformLocation: {writable: true, enumerable: true, configurable: true},
                    getVertexAttrib: {writable: true, enumerable: true, configurable: true},
                    getVertexAttribOffset: {writable: true, enumerable: true, configurable: true},
                    hint: {writable: true, enumerable: true, configurable: true},
                    isBuffer: {writable: true, enumerable: true, configurable: true},
                    isContextLost: {writable: true, enumerable: true, configurable: true},
                    isEnabled: {writable: true, enumerable: true, configurable: true},
                    isFramebuffer: {writable: true, enumerable: true, configurable: true},
                    isProgram: {writable: true, enumerable: true, configurable: true},
                    isRenderbuffer: {writable: true, enumerable: true, configurable: true},
                    isShader: {writable: true, enumerable: true, configurable: true},
                    isTexture: {writable: true, enumerable: true, configurable: true},
                    lineWidth: {writable: true, enumerable: true, configurable: true},
                    linkProgram: {writable: true, enumerable: true, configurable: true},
                    pixelStorei: {writable: true, enumerable: true, configurable: true},
                    polygonOffset: {writable: true, enumerable: true, configurable: true},
                    readPixels: {writable: true, enumerable: true, configurable: true},
                    renderbufferStorage: {writable: true, enumerable: true, configurable: true},
                    sampleCoverage: {writable: true, enumerable: true, configurable: true},
                    shaderSource: {writable: true, enumerable: true, configurable: true},
                    stencilFunc: {writable: true, enumerable: true, configurable: true},
                    stencilFuncSeparate: {writable: true, enumerable: true, configurable: true},
                    stencilMask: {writable: true, enumerable: true, configurable: true},
                    stencilMaskSeparate: {writable: true, enumerable: true, configurable: true},
                    stencilOp: {writable: true, enumerable: true, configurable: true},
                    stencilOpSeparate: {writable: true, enumerable: true, configurable: true},
                    texImage2D: {writable: true, enumerable: true, configurable: true},
                    texParameterf: {writable: true, enumerable: true, configurable: true},
                    texParameteri: {writable: true, enumerable: true, configurable: true},
                    texSubImage2D: {writable: true, enumerable: true, configurable: true},
                    useProgram: {writable: true, enumerable: true, configurable: true},
                    validateProgram: {writable: true, enumerable: true, configurable: true},
                    bindBuffer: {writable: true, enumerable: true, configurable: true},
                    bindFramebuffer: {writable: true, enumerable: true, configurable: true},
                    bindTexture: {writable: true, enumerable: true, configurable: true},
                    clear: {writable: true, enumerable: true, configurable: true},
                    clearColor: {writable: true, enumerable: true, configurable: true},
                    clearDepth: {writable: true, enumerable: true, configurable: true},
                    clearStencil: {writable: true, enumerable: true, configurable: true},
                    colorMask: {writable: true, enumerable: true, configurable: true},
                    disableVertexAttribArray: {writable: true, enumerable: true, configurable: true},
                    drawArrays: {writable: true, enumerable: true, configurable: true},
                    drawElements: {writable: true, enumerable: true, configurable: true},
                    enableVertexAttribArray: {writable: true, enumerable: true, configurable: true},
                    scissor: {writable: true, enumerable: true, configurable: true},
                    uniform1f: {writable: true, enumerable: true, configurable: true},
                    uniform1fv: {writable: true, enumerable: true, configurable: true},
                    uniform1i: {writable: true, enumerable: true, configurable: true},
                    uniform1iv: {writable: true, enumerable: true, configurable: true},
                    uniform2f: {writable: true, enumerable: true, configurable: true},
                    uniform2fv: {writable: true, enumerable: true, configurable: true},
                    uniform2i: {writable: true, enumerable: true, configurable: true},
                    uniform2iv: {writable: true, enumerable: true, configurable: true},
                    uniform3f: {writable: true, enumerable: true, configurable: true},
                    uniform3fv: {writable: true, enumerable: true, configurable: true},
                    uniform3i: {writable: true, enumerable: true, configurable: true},
                    uniform3iv: {writable: true, enumerable: true, configurable: true},
                    uniform4f: {writable: true, enumerable: true, configurable: true},
                    uniform4fv: {writable: true, enumerable: true, configurable: true},
                    uniform4i: {writable: true, enumerable: true, configurable: true},
                    uniform4iv: {writable: true, enumerable: true, configurable: true},
                    uniformMatrix2fv: {writable: true, enumerable: true, configurable: true},
                    uniformMatrix3fv: {writable: true, enumerable: true, configurable: true},
                    uniformMatrix4fv: {writable: true, enumerable: true, configurable: true},
                    vertexAttrib1f: {writable: true, enumerable: true, configurable: true},
                    vertexAttrib1fv: {writable: true, enumerable: true, configurable: true},
                    vertexAttrib2f: {writable: true, enumerable: true, configurable: true},
                    vertexAttrib2fv: {writable: true, enumerable: true, configurable: true},
                    vertexAttrib3f: {writable: true, enumerable: true, configurable: true},
                    vertexAttrib3fv: {writable: true, enumerable: true, configurable: true},
                    vertexAttrib4f: {writable: true, enumerable: true, configurable: true},
                    vertexAttrib4fv: {writable: true, enumerable: true, configurable: true},
                    vertexAttribPointer: {writable: true, enumerable: true, configurable: true},
                    viewport: {writable: true, enumerable: true, configurable: true},
                    constructor: {writable: true, enumerable: false, configurable: true},
                    makeXRCompatible: {writable: true, enumerable: true, configurable: true},
                    [Symbol.toStringTag]: {
                        value: "WebGLRenderingContext",
                        writable: false,
                        enumerable: false,
                        configurable: true
                    },
                })

window.WebGLRenderingContext = WebGLRenderingContext

class OffscreenCanvas {
    width = 0;
    height = 0;
    _canvas = null;

    constructor(w, h) {
        console.log('OffscreenCanvas new', w, h)
        this.width = w;
        this.height = h;
        this._canvas = Canvas.createCanvas(w, h)
    }

    getContext(type) {

        let res = this._canvas.getContext(type)
        if (type === 'webgl') {
            let t = proxy(new window.WebGLRenderingContext(), 'offCanvas.webgl')

            return t
        }
        // return proxy(res, 'newContext')
        console.log('OffscreenCanvas getContext', type, res)
        if (type == '2d') {
            res = new OffscreenCanvasRenderingContext2D();
        }
        return res;

    }
}

PerformanceEntry = v_saf(function PerformanceEntry() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
MediaDevices = v_saf(function MediaDevices() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(MediaDevices, EventTarget)
Object.defineProperties(MediaDevices.prototype, {
    ondevicechange: {
        value: v_saf(function ondevicechange() {
            v_console_log("MediaDevices ondevicechange", arguments)
        })
    },
    enumerateDevices: {
        value: function () {
            return {
                then: function () {
                    return this
                }, catch: function () {
                }
            }
        }
    }
})
PerformanceElementTiming = v_saf(function PerformanceElementTiming() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(PerformanceElementTiming, PerformanceEntry)
PerformanceEventTiming = v_saf(function PerformanceEventTiming() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(PerformanceEventTiming, PerformanceEntry)
PerformanceLongTaskTiming = v_saf(function PerformanceLongTaskTiming() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(PerformanceLongTaskTiming, PerformanceEntry)
PerformanceMark = v_saf(function PerformanceMark() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(PerformanceMark, PerformanceEntry)
PerformanceMeasure = v_saf(function PerformanceMeasure() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(PerformanceMeasure, PerformanceEntry)
PerformanceNavigation = v_saf(function PerformanceNavigation() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
PerformanceResourceTiming = v_saf(function PerformanceResourceTiming() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(PerformanceResourceTiming, PerformanceEntry)
PerformanceNavigationTiming = v_saf(function PerformanceNavigationTiming() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(PerformanceNavigationTiming, PerformanceResourceTiming)
PerformanceObserver = v_saf(function PerformanceObserver() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
PerformanceObserverEntryList = v_saf(function PerformanceObserverEntryList() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
PerformancePaintTiming = v_saf(function PerformancePaintTiming() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(PerformancePaintTiming, PerformanceEntry)
PerformanceServerTiming = v_saf(function PerformanceServerTiming() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
PerformanceTiming = v_saf(function PerformanceTiming() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
HTMLUnknownElement = v_saf(function HTMLUnknownElement() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(HTMLUnknownElement, HTMLElement)
HTMLVideoElement = v_saf(function HTMLVideoElement() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(HTMLVideoElement, HTMLMediaElement)

Storage = v_saf(function Storage() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
ImageData = v_saf(function ImageData() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
Object.defineProperties(ImageData.prototype, {
    data: {
        value: Uint8ClampedArray.from([0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255]),
        writable: true
    },
    height: {value: 5, writable: true},
    width: {value: 5, writable: true},
    colorSpace: {value: 'srgb', writable: true},
})
Touch = v_saf(function Touch() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
TouchEvent = v_saf(function TouchEvent() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(TouchEvent, UIEvent)

window.StaticRange = v_saf(function StaticRange() {
})
PointerEvent = v_saf(function PointerEvent() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(PointerEvent, MouseEvent)
HTMLHtmlElement = v_saf(function HTMLHtmlElement() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});

// _inherits(HTMLHtmlElement, HTMLElement)
HTMLMetaElement = v_saf(function HTMLMetaElement() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(HTMLMetaElement, HTMLElement)
HTMLTitleElement = v_saf(function HTMLTitleElement() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(HTMLTitleElement, HTMLElement)
HTMLScriptElement = v_saf(function HTMLScriptElement() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(HTMLScriptElement, HTMLElement)
HTMLStyleElement = v_saf(function HTMLScriptElement() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(HTMLStyleElement, HTMLElement)
Object.defineProperties(Node.prototype, {
    attrs: {
        value: {}
    },
    setAttribute: {
        value: function (key, value) {
            this.attrs[key] = value
        }
    },
    parentNode: {
        value: v_new(HTMLScriptElement)
    },
    insertBefore: {
        value: function (tag, newNode) {
            return tag
        }
    }
})

getRanHex = size => {
    let result = [];
    let hexRef = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'];

    for (let n = 0; n < size; n++) {
        result.push(hexRef[Math.floor(_random() * 16)].toUpperCase() + hexRef[Math.floor(_random() * 16)].toUpperCase());
    }
    return result;
}
Object.defineProperties(RTCSessionDescription.prototype, {
    sdp: {
        get: v_saf(function get() {
            let t1 = parseInt(Math.random() * (9145445486224659982 / 2) + 9145445486224659982 / 1.2)
            let hex = getRanHex(32).join(':');
            let res = `v=0
o=- ${t1} 2 IN IP4 127.0.0.1
s=-
t=0 0
a=group:BUNDLE 0
a=extmap-allow-mixed
a=msid-semantic: WMS
m=application 9 UDP/DTLS/SCTP webrtc-datachannel
c=IN IP4 0.0.0.0
a=ice-ufrag:Pz1P
a=ice-pwd:2RkyfgKRyILQtDZZ5mluUlPS
a=ice-options:trickle
a=fingerprint:sha-256 ${hex}
a=setup:actpass
a=mid:0
a=sctp-port:5000
a=max-message-size:262144`
            console.log("  [*] RTCSessionDescription -> sdp[get]", res);

            return res

        })
    },
    type: {
        get: v_saf(function get() {
            print("  [*] RTCSessionDescription -> type[get]", "offer");
            return "offer"
        })
    },
    [Symbol.toStringTag]: {value: "RTCSessionDescription", writable: false, enumerable: false, configurable: true},
})

Object.defineProperties(EventTarget.prototype, {
    [Symbol.toStringTag]: {value: "EventTarget", writable: false, enumerable: false, configurable: true},
})

class OffscreenCanvasRenderingContext2D {

    imageDatas = {
        "18,90,1,1": [214, 122, 6, 255],
        "38,77,1,1": [255, 255, 255, 255],
        "48,28,1,1": [0, 0, 0, 0],
        "94,23,1,1": [0, 0, 0, 0],
        "26,46,1,1": [253, 243, 245, 255],
        "47,23,1,1": [0, 0, 0, 0],
        "37,17,1,1": [0, 0, 0, 255],
        "62,28,1,1": [204, 131, 217, 255]
    }
    imageData = ENV.imgsres['94px sans-serif']

    constructor(w, h, context) {
        console.log('OffscreenCanvasRenderingContext2D.new', w, h)
        this.width = w;
        this.height = h;
        if (context) {
            this._context = context

        } else {
            this._context = Canvas.createCanvas(w, h).getContext('2d')

        }
    }

    set font(f) {
        console.log('OffscreenCanvasRenderingContext2D.font', f)
        this._font = f;
        this._context.font = f;
    }

    measureText(text) {
        console.log('OffscreenCanvasRenderingContext2D.measureText1', text)
        this._text = text;
        window.fonts.push({
            font: this._font,
            text: text
        })
        let res = new TextMetrics(text, this._context, this._font);
        // return proxy(res, 'TextMetrics')
        return res;
    }

    get canvas() {
        console.log('CanvasRenderingContext2D22.canvas.get')
    }

    get globalAlpha() {
        console.log('CanvasRenderingContext2D22.globalAlpha.get')
    }

    set globalAlpha(args) {
        console.log('CanvasRenderingContext2D22.globalAlpha.set', args)
    }

    get globalCompositeOperation() {
        console.log('CanvasRenderingContext2D22.globalCompositeOperation.get')
    }

    set globalCompositeOperation(args) {
        console.log('CanvasRenderingContext2D22.globalCompositeOperation.set', args)
    }

    get filter() {
        console.log('CanvasRenderingContext2D22.filter.get')
    }

    set filter(args) {
        console.log('CanvasRenderingContext2D22.filter.set', args)
    }

    get imageSmoothingEnabled() {
        console.log('CanvasRenderingContext2D22.imageSmoothingEnabled.get')
    }

    set imageSmoothingEnabled(args) {
        console.log('CanvasRenderingContext2D22.imageSmoothingEnabled.set', args)
    }

    get imageSmoothingQuality() {
        console.log('CanvasRenderingContext2D22.imageSmoothingQuality.get')
    }

    set imageSmoothingQuality(args) {
        console.log('CanvasRenderingContext2D22.imageSmoothingQuality.set', args)
    }

    get strokeStyle() {
        console.log('CanvasRenderingContext2D22.strokeStyle.get')
    }

    set strokeStyle(args) {
        console.log('CanvasRenderingContext2D22.strokeStyle.set', args)
        return this._context.strokeStyle = args
    }

    get fillStyle() {
        console.log('CanvasRenderingContext2D22.fillStyle.get')
    }

    set fillStyle(args) {
        console.log('CanvasRenderingContext2D22.fillStyle.set', args)
        this._context.canvas.fillStyle = args

    }

    get shadowOffsetX() {
        console.log('CanvasRenderingContext2D22.shadowOffsetX.get')
    }

    set shadowOffsetX(args) {
        console.log('CanvasRenderingContext2D22.shadowOffsetX.set', args)
        this._context.shadowOffsetX = args
    }

    get shadowOffsetY() {
        console.log('CanvasRenderingContext2D22.shadowOffsetY.get')
    }

    set shadowOffsetY(args) {
        console.log('CanvasRenderingContext2D22.shadowOffsetY.set', args)
        this._context.shadowOffsetY = args

    }

    get shadowBlur() {
        console.log('CanvasRenderingContext2D22.shadowBlur.get')
    }

    set shadowBlur(args) {
        console.log('CanvasRenderingContext2D22.shadowBlur.set', args)
        this._context.shadowBlur = args

    }

    get shadowColor() {
        console.log('CanvasRenderingContext2D22.shadowColor.get')

    }

    set shadowColor(args) {
        console.log('CanvasRenderingContext2D22.shadowColor.set', args)
        this._context.shadowColor = args

    }

    get lineWidth() {
        console.log('CanvasRenderingContext2D22.lineWidth.get')
    }

    set lineWidth(args) {
        console.log('CanvasRenderingContext2D22.lineWidth.set', args)
        this._context.lineWidth = args;
    }

    get lineCap() {
        console.log('CanvasRenderingContext2D22.lineCap.get')
    }

    set lineCap(args) {
        console.log('CanvasRenderingContext2D22.lineCap.set', args)
    }

    get lineJoin() {
        console.log('CanvasRenderingContext2D22.lineJoin.get')
    }

    set lineJoin(args) {
        console.log('CanvasRenderingContext2D22.lineJoin.set', args)
    }

    get miterLimit() {
        console.log('CanvasRenderingContext2D22.miterLimit.get')
    }

    set miterLimit(args) {
        console.log('CanvasRenderingContext2D22.miterLimit.set', args)
    }

    get lineDashOffset() {
        console.log('CanvasRenderingContext2D22.lineDashOffset.get')
    }

    set lineDashOffset(args) {
        console.log('CanvasRenderingContext2D22.lineDashOffset.set', args)
    }

    get font() {
        console.log('CanvasRenderingContext2D22.font.get')
        return this._context.font;
    }

    get textAlign() {
        console.log('CanvasRenderingContext2D22.textAlign.get')
    }

    set textAlign(args) {
        console.log('CanvasRenderingContext2D22.textAlign.set', args)
    }

    get textBaseline() {
        console.log('CanvasRenderingContext2D22.textBaseline.get')
        return this._context.textBaseline
    }

    set textBaseline(args) {
        console.log('CanvasRenderingContext2D22.textBaseline.set', args)
        this._context.textBaseline = args
    }

    get direction() {
        console.log('CanvasRenderingContext2D22.direction.get')
        return this._context.direction;
    }

    set direction(args) {
        console.log('CanvasRenderingContext2D22.direction.set', args)
        this._context.direction = args

    }

    get fontKerning() {
        console.log('CanvasRenderingContext2D22.fontKerning.get')
    }

    set fontKerning(args) {
        console.log('CanvasRenderingContext2D22.fontKerning.set', args)
    }

    get fontStretch() {
        console.log('CanvasRenderingContext2D22.fontStretch.get')
    }

    set fontStretch(args) {
        console.log('CanvasRenderingContext2D22.fontStretch.set', args)
    }

    get fontVariantCaps() {
        console.log('CanvasRenderingContext2D22.fontVariantCaps.get')
    }

    set fontVariantCaps(args) {
        console.log('CanvasRenderingContext2D22.fontVariantCaps.set', args)
    }

    get letterSpacing() {
        console.log('CanvasRenderingContext2D22.letterSpacing.get')
    }

    set letterSpacing(args) {
        console.log('CanvasRenderingContext2D22.letterSpacing.set', args)
    }

    get textRendering() {
        console.log('CanvasRenderingContext2D22.textRendering.get')
    }

    set textRendering(args) {
        console.log('CanvasRenderingContext2D22.textRendering.set', args)
    }

    get wordSpacing() {
        console.log('CanvasRenderingContext2D22.wordSpacing.get')
    }

    set wordSpacing(args) {
        console.log('CanvasRenderingContext2D22.wordSpacing.set', args)
    }

    clip() {
        console.log('CanvasRenderingContext2D22.clip')
    }

    createConicGradient() {
        console.log('CanvasRenderingContext2D22.createConicGradient')
    }

    createImageData() {
        console.log('CanvasRenderingContext2D22.createImageData')
    }

    createLinearGradient() {
        console.log('CanvasRenderingContext2D22.createLinearGradient')

        return this._context.createLinearGradient(...arguments)
    }

    createPattern() {
        console.log('CanvasRenderingContext2D22.createPattern')
    }

    createRadialGradient() {
        console.log('CanvasRenderingContext2D22.createRadialGradient')
    }

    drawFocusIfNeeded() {
        console.log('CanvasRenderingContext2D22.drawFocusIfNeeded')
    }

    drawImage() {
        console.log('CanvasRenderingContext2D22.drawImage')
        this._context.drawImage(...arguments)
    }

    fill() {
        console.log('CanvasRenderingContext2D22.fill')
    }

    fillText() {
        console.log('CanvasRenderingContext2D22.fillText', ...arguments)
        this._context.fillText(...arguments)
        this._fillText = [arguments[0], arguments[1], arguments[2]]
    }

    getContextAttributes() {
        console.log('CanvasRenderingContext2D22.getContextAttributes')
    }

    getImageData() {
        let t = _random();

        let res = this._context.getImageData(...arguments)
        window.imageDatas.push({
            font: this._context.font,
            fillStyle: this._context.fillStyle,
            fillText: this._fillText,
            imageData: [arguments[0], arguments[1], arguments[2], arguments[3]]
        })
        let tdata = this.imageDatas[[arguments[0], arguments[1], arguments[2], arguments[3]] + ''];
        if (tdata) {
            res.data[0] = parseInt(tdata[0] * t)
            res.data[1] = parseInt(tdata[1] * t)
            res.data[2] = parseInt(tdata[2] * t)
            res.data[3] = parseInt(tdata[3] * t)
        }
        console.log('CanvasRenderingContext2D22.getImageData', ...arguments, res)

        return res
    }

    getLineDash() {
        console.log('CanvasRenderingContext2D22.getLineDash')
    }

    getTransform() {
        console.log('CanvasRenderingContext2D22.getTransform')
    }

    isContextLost() {
        console.log('CanvasRenderingContext2D22.isContextLost')
    }

    isPointInPath() {
        console.log('CanvasRenderingContext2D22.isPointInPath')
    }

    isPointInStroke() {
        console.log('CanvasRenderingContext2D22.isPointInStroke')
    }

    putImageData() {
        console.log('CanvasRenderingContext2D22.putImageData')
    }

    reset() {
        console.log('CanvasRenderingContext2D22.reset')
    }

    roundRect() {
        console.log('CanvasRenderingContext2D22.roundRect')
    }

    save() {
        console.log('CanvasRenderingContext2D22.save')
    }

    scale() {
        console.log('CanvasRenderingContext2D22.scale')
    }

    setLineDash() {
        console.log('CanvasRenderingContext2D22.setLineDash')
    }

    setTransform() {
        console.log('CanvasRenderingContext2D22.setTransform')
    }

    stroke() {
        console.log('CanvasRenderingContext2D22.stroke')
        this._context.stroke()
    }

    strokeText() {
        console.log('CanvasRenderingContext2D22.strokeText')
    }

    transform() {
        console.log('CanvasRenderingContext2D22.transform')
    }

    translate() {
        console.log('CanvasRenderingContext2D22.translate')
    }

    arc() {
        console.log('CanvasRenderingContext2D22.arc')
        return this._context.arc(...arguments)
    }

    arcTo() {
        console.log('CanvasRenderingContext2D22.arcTo')
    }

    beginPath() {
        console.log('CanvasRenderingContext2D22.beginPath')
        return this._context.beginPath()
    }

    bezierCurveTo() {
        console.log('CanvasRenderingContext2D22.bezierCurveTo')
    }

    clearRect() {
        console.log('CanvasRenderingContext2D22.clearRect')
    }

    closePath() {
        console.log('CanvasRenderingContext2D22.closePath')
        return this._context.closePath(...arguments)

    }

    ellipse() {
        console.log('CanvasRenderingContext2D22.ellipse')
    }

    fillRect() {
        console.log('CanvasRenderingContext2D22.fillRect')
        return this._context.fillRect(...arguments)
    }

    lineTo() {
        console.log('CanvasRenderingContext2D22.lineTo')
        return this._context.lineTo(...arguments)

    }

    moveTo() {
        console.log('CanvasRenderingContext2D22.moveTo')
        return this._context.moveTo(...arguments)
    }

    quadraticCurveTo() {
        console.log('CanvasRenderingContext2D22.quadraticCurveTo')
    }

    rect() {
        console.log('CanvasRenderingContext2D22.rect')
    }

    resetTransform() {
        console.log('CanvasRenderingContext2D22.resetTransform')
    }

    restore() {
        console.log('CanvasRenderingContext2D22.restore')
    }

    rotate() {
        console.log('CanvasRenderingContext2D22.rotate')
    }

    strokeRect() {
        console.log('CanvasRenderingContext2D22.strokeRect')
    }


}

///
let r = {}
Object.keys(Object.getOwnPropertyDescriptors(OffscreenCanvasRenderingContext2D.prototype)).forEach(e => {
    r[e] = {}
    if (Object.getOwnPropertyDescriptor(OffscreenCanvasRenderingContext2D.prototype, e)['value']) {
        r[e]['value'] = v_saf(Object.getOwnPropertyDescriptor(OffscreenCanvasRenderingContext2D.prototype, e)['value'])
    }

    if (Object.getOwnPropertyDescriptor(OffscreenCanvasRenderingContext2D.prototype, e)['get']) {
        r[e]['get'] = v_saf(Object.getOwnPropertyDescriptor(OffscreenCanvasRenderingContext2D.prototype, e)['get'], undefined, 'get ')
    }
    if (Object.getOwnPropertyDescriptor(OffscreenCanvasRenderingContext2D.prototype, e)['set']) {
        r[e]['set'] = v_saf(Object.getOwnPropertyDescriptor(OffscreenCanvasRenderingContext2D.prototype, e)['set'], undefined, 'set ')
    }
    r[e]['enumerable'] = true
})
Object.defineProperties(OffscreenCanvasRenderingContext2D.prototype, r)

window.OffscreenCanvasRenderingContext2D = v_saf(OffscreenCanvasRenderingContext2D)
window.CanvasRenderingContext2D = v_saf(OffscreenCanvasRenderingContext2D)

///

Object.defineProperties(CanvasGradient.prototype, {
    addColorStop: {
        value: v_saf(function addColorStop() {
            v_console_log("  [*] CanvasGradient -> addColorStop[func]", [].slice.call(arguments));
        })
    },
    [Symbol.toStringTag]: {value: "CanvasGradient", writable: false, enumerable: false, configurable: true},
})

MutationObserver = v_saf(function MutationObserver() {
    console.log('MutationObserver.new', arguments)
    this._func = arguments[0]
})
Object.defineProperties(MutationObserver.prototype, {
    observe: {
        value: function () {
            console.log('MutationObserver.observe', arguments)
            this._func()
        }
    },
    disconnect: {
        value: function () {
            console.log('MutationObserver.disconnect', arguments)
        }
    }

})
Object.defineProperties(OffscreenCanvasRenderingContext2D.prototype, {
    measureText: {
        value: v_saf(function measureText() {
            v_console_log("  [*] OffscreenCanvasRenderingContext2D -> measureText[func]", [].slice.call(arguments));
            this.measureTextVal = arguments[0]
        })
    },
    [Symbol.toStringTag]: {
        value: "OffscreenCanvasRenderingContext2D",
        writable: false,
        enumerable: false,
        configurable: true
    },
})
Object.defineProperties(NavigatorUAData.prototype, {
    getHighEntropyValues: {
        value: v_saf(function getHighEntropyValues() {
            v_console_log("  [*] NavigatorUAData -> getHighEntropyValues[func]", [].slice.call(arguments));
        })
    },
    [Symbol.toStringTag]: {value: "NavigatorUAData", writable: false, enumerable: false, configurable: true},
})
Object.defineProperties(NodeList.prototype, {
    length: {
        get() {
            v_console_log("  [*] NodeList -> length[get]", 0);
            return 0
        }
    },
    [Symbol.toStringTag]: {value: "NodeList", writable: false, enumerable: false, configurable: true},
})
Object.defineProperties(HTMLCollection.prototype, {
    length: {
        get() {
            v_console_log("  [*] HTMLCollection -> length[get]", 0);
            return 0
        }
    },
    [Symbol.toStringTag]: {value: "HTMLCollection", writable: false, enumerable: false, configurable: true},
})
Object.defineProperties(DOMTokenList.prototype, {
    length: {
        get() {
            v_console_log("  [*] DOMTokenList -> length[get]", 0);
            return 0
        }
    },
    [Symbol.toStringTag]: {value: "DOMTokenList", writable: false, enumerable: false, configurable: true},
})
// Object.defineProperties(Event.prototype, {
//     target: {get(){ v_console_log("  [*] Event -> target[get]", {});return {} }},
//     NONE: {"value":0,"writable":false,"enumerable":true,"configurable":false},
//     CAPTURING_PHASE: {"value":1,"writable":false,"enumerable":true,"configurable":false},
//     AT_TARGET: {"value":2,"writable":false,"enumerable":true,"configurable":false},
//     BUBBLING_PHASE: {"value":3,"writable":false,"enumerable":true,"configurable":false},
//     [Symbol.toStringTag]: {value:"Event",writable:false,enumerable:false,configurable:true},
// })
Object.defineProperties(RTCIceCandidate.prototype, {
    candidate: {
        get() {
            let  res = `candidate:${t1} 1 udp ${t2} ${ip} ${t3} typ host generation 0 ufrag 5M7j network-id 1`

            console.log("  [*] RTCIceCandidate -> candidate[get]", res);
            return res
        }
    },
    [Symbol.toStringTag]: {value: "RTCIceCandidate", writable: false, enumerable: false, configurable: true},
})
let fonts = [];
let mTexts = {
    "50px  sans-serif": 152.84999084472656,
    "50px  serif": 132.39996337890625,
    "50px 'Andale Mono',  sans-serif": 180.029296875,
    "50px 'Andale Mono',  serif": 180.029296875,
    "50px 'Arial Narrow',  sans-serif": 111.6943359375,
    "50px 'Arial Narrow',  serif": 111.6943359375,
    "50px 'Arial Unicode MS',  sans-serif": 136.1572265625,
    "50px 'Arial Unicode MS',  serif": 136.1572265625,
    "50px 'Batang',  sans-serif": 152.84999084472656,
    "50px 'Batang',  serif": 132.39996337890625,
    "50px 'Bell MT',  sans-serif": 152.84999084472656,
    "50px 'Bell MT',  serif": 132.39996337890625,
    "50px 'Brush Script',  sans-serif": 152.84999084472656,
    "50px 'Brush Script',  serif": 132.39996337890625,
    "50px 'Brush Script MT',  sans-serif": 133.740234375,
    "50px 'Brush Script MT',  serif": 133.740234375,
    "50px 'Calibri',  sans-serif": 152.84999084472656,
    "50px 'Calibri',  serif": 132.39996337890625,
    "50px 'Charter',  sans-serif": 139.55078125,
    "50px 'Charter',  serif": 139.55078125,
    "50px 'Courier',  sans-serif": 180.029296875,
    "50px 'Courier',  serif": 180.029296875,
    "50px 'Courier New',  sans-serif": 180.029296875,
    "50px 'Courier New',  serif": 180.029296875,
    "50px 'Curlz MT',  sans-serif": 152.84999084472656,
    "50px 'Curlz MT',  serif": 132.39996337890625,
    "50px 'DejaVu Sans',  sans-serif": 152.84999084472656,
    "50px 'DejaVu Sans',  serif": 132.39996337890625,
    "50px 'DejaVu Sans Mono',  sans-serif": 152.84999084472656,
    "50px 'DejaVu Sans Mono',  serif": 132.39996337890625,
    "50px 'DejaVu Serif Condensed',  sans-serif": 152.84999084472656,
    "50px 'DejaVu Serif Condensed',  serif": 132.39996337890625,
    "50px 'Droid Sans',  sans-serif": 152.84999084472656,
    "50px 'Droid Sans',  serif": 132.39996337890625,
    "50px 'Droid Sans Fallback',  sans-serif": 152.84999084472656,
    "50px 'Droid Sans Fallback',  serif": 132.39996337890625,
    "50px 'Droid Serif',  sans-serif": 152.84999084472656,
    "50px 'Droid Serif',  serif": 132.39996337890625,
    "50px 'Forte',  sans-serif": 152.84999084472656,
    "50px 'Forte',  serif": 132.39996337890625,
    "50px 'Futura',  sans-serif": 139.35546875,
    "50px 'Futura',  serif": 139.35546875,
    "50px 'Geneva',  sans-serif": 162.3046875,
    "50px 'Geneva',  serif": 162.3046875,
    "50px 'Hei',  sans-serif": 153.41796875,
    "50px 'Hei',  serif": 153.41796875,
    "50px 'Leelawadee',  sans-serif": 152.84999084472656,
    "50px 'Leelawadee',  serif": 132.39996337890625,
    "50px 'Levenim MT',  sans-serif": 152.84999084472656,
    "50px 'Levenim MT',  serif": 132.39996337890625,
    "50px 'Liberation Sans',  sans-serif": 152.84999084472656,
    "50px 'Liberation Sans',  serif": 132.39996337890625,
    "50px 'Liberation Sans Narrow',  sans-serif": 152.84999084472656,
    "50px 'Liberation Sans Narrow',  serif": 132.39996337890625,
    "50px 'Marlett',  sans-serif": 152.84999084472656,
    "50px 'Marlett',  serif": 132.39996337890625,
    "50px 'Meiryo UI',  sans-serif": 152.84999084472656,
    "50px 'Meiryo UI',  serif": 132.39996337890625,
    "50px 'Microsoft Uighur',  sans-serif": 152.84999084472656,
    "50px 'Microsoft Uighur',  serif": 132.39996337890625,
    "50px 'Microsoft YaHei UI',  sans-serif": 152.84999084472656,
    "50px 'Microsoft YaHei UI',  serif": 132.39996337890625,
    "50px 'MS Mincho',  sans-serif": 152.84999084472656,
    "50px 'MS Mincho',  serif": 132.39996337890625,
    "50px 'MS UI Gothic',  sans-serif": 152.84999084472656,
    "50px 'MS UI Gothic',  serif": 132.39996337890625,
    "50px 'NanumGothic',  sans-serif": 148.39996337890625,
    "50px 'NanumGothic',  serif": 148.39996337890625,
    "50px 'Nirmala UI',  sans-serif": 152.84999084472656,
    "50px 'Nirmala UI',  serif": 132.39996337890625,
    "50px 'Palatino',  sans-serif": 132.91015625,
    "50px 'Palatino',  serif": 132.91015625,
    "50px 'Papyrus',  sans-serif": 139.84375,
    "50px 'Papyrus',  serif": 139.84375,
    "50px 'PMingLiU',  sans-serif": 152.84999084472656,
    "50px 'PMingLiU',  serif": 132.39996337890625,
    "50px 'PT Serif',  sans-serif": 134.0999755859375,
    "50px 'PT Serif',  serif": 134.0999755859375,
    "50px 'SimHei',  sans-serif": 152.84999084472656,
    "50px 'SimHei',  serif": 132.39996337890625,
    "50px 'STIXVariants',  sans-serif": 140.84999084472656,
    "50px 'STIXVariants',  serif": 124.79997253417969,
    "50px 'STSong',  sans-serif": 132.94996643066406,
    "50px 'STSong',  serif": 132.94996643066406,
    "50px 'Traditional Arabic',  sans-serif": 152.84999084472656,
    "50px 'Traditional Arabic',  serif": 132.39996337890625,
    "50px 'Urdu Typesetting',  sans-serif": 152.84999084472656,
    "50px 'Urdu Typesetting',  serif": 132.39996337890625,
    "50px 'Verdana',  sans-serif": 175.4150390625,
    "50px 'Verdana',  serif": 175.4150390625,
    "50px 'Wingdings',  sans-serif": 311.5966796875,
    "50px 'Wingdings',  serif": 311.5966796875,
    "50px 'Wingdings 3',  sans-serif": 244.5068359375,
    "50px 'Wingdings 3',  serif": 244.5068359375,
    "50px 'Helkevtrica',  sans-serif": 152.84999084472656,
    "50px 'Helkevtrica',  serif": 132.39996337890625
}

Object.defineProperties(TextMetrics.prototype, {
    width: {
        get() {
            // fonts.push(this.fontval[0])
            width = mTexts[this.fontval]
            v_console_log(this.text[0], "  [*] TextMetrics -> width[get]", width);

            return width
            // return 132.39996337890625
        }
    },
    actualBoundingBoxAscent: {
        get() {
            v_console_log("  [*] TextMetrics -> actualBoundingBoxAscent[get]", 556.640625);
            return 556.640625
        }
    },
    actualBoundingBoxDescent: {
        get() {
            v_console_log("  [*] TextMetrics -> actualBoundingBoxDescent[get]", -203.61328125);
            return -203.61328125
        }
    },
    actualBoundingBoxLeft: {
        get() {
            v_console_log("  [*] TextMetrics -> actualBoundingBoxLeft[get]", -22.94921875);
            return -22.94921875
        }
    },
    actualBoundingBoxRight: {
        get() {
            v_console_log("  [*] TextMetrics -> actualBoundingBoxRight[get]", 579.1015625);
            return 579.1015625
        }
    },
    [Symbol.toStringTag]: {value: "TextMetrics", writable: false, enumerable: false, configurable: true},
})
Object.defineProperties(PluginArray.prototype, {
    length: {
        get() {
            console.log("  [*] PluginArray -> length[get]", 5);
            return 5
        },
        enumerable:true
    },
    [Symbol.toStringTag]: {value:"PluginArray",writable:false,enumerable:false,configurable:true},
})
PluginArray = proxy(PluginArray, 'PluginArray')


Object.defineProperties(Plugin.prototype, {
    [Symbol.toStringTag]: {value: "Plugin", writable: false, enumerable: false, configurable: true},
})
Object.defineProperties(MimeType.prototype, {
    [Symbol.toStringTag]: {value: "MimeType", writable: false, enumerable: false, configurable: true},
})

// Object.defineProperties(Crypto.prototype, {
//     [Symbol.toStringTag]: {value:"Crypto",writable:false,enumerable:false,configurable:true},
// })
Object.defineProperties(Image.prototype, {
    src: {
        set() {
            v_console_log("  [*] Image -> src[set]", [].slice.call(arguments));
        }
    },
    [Symbol.toStringTag]: {value: "Image", writable: false, enumerable: false, configurable: true},
})
publicDescription = undefined;

class RTCPeerConnection {
    constructor(args) {
        console.log('RTCPeerConnection.new', args)

    }
}

Object.defineProperties(RTCPeerConnection.prototype, {
    localDescription: {
        value: {
            get: v_saf(function get() {
                print('get localDescription')
                return this._publicDescription
            }),
            set: function (arg) {
                this._publicDescription = arg
            }
        }
    },
    onicecandidate: {
        set() {
            print("  [*] RTCPeerConnection -> onicecandidate[set]", [].slice.call(arguments));
            this._onicecandidate = arguments[0]
        }
    },

    createDataChannel: {
        value: v_saf(function createDataChannel(label, option) {
            print("  [*] RTCPeerConnection -> createDataChannel[func]", [].slice.call(arguments));
            let res = new RTCDataChannel(label);
            return proxy(res, 'dataChannel')
        })
    },
    createOffer: {
        value: v_saf(function createOffer() {
            print("  [*] RTCPeerConnection -> createOffer[func]", [].slice.call(arguments));
            let p = new Promise(function (resolve, reject) {
                // 2. 执行异步操作任务
                print('RTCPeerConnection createOffer', resolve, reject);
                let res = new RTCSessionDescription()
                // resolve(proxy(res, 'newRTCSessionDescription'))
                resolve({
                    then: function (arg1, arg2) {
                        arg1(proxy(res, 'newRTCSessionDescription'))
                        arg2(proxy(res, 'newRTCSessionDescription'))
                    }
                })
            })
            return p;
            // return {
            //     then: function (func, func2) {
            //         v_console_log("  [*] RTCPeerConnection -> createOffer[func] then", [].slice.call(arguments));
            //         func2(v_new(RTCSessionDescription));
            //         func(v_new(RTCSessionDescription));
            //         return func(v_new(RTCSessionDescription));
            //     }, catch: function () {
            //     }
            // }
        })
    },
    setLocalDescription: {
        value: v_saf(function setLocalDescription() {
            var _this = this;
            print("  [*] RTCPeerConnection -> setLocalDescription[func]", [].slice.call(arguments));
            _this._onicecandidate(new RTCPeerConnectionIceEvent())
            this.localDescription = arguments[0]
            _this._onicecandidate(this.localDescription)
            let p = new Promise(function (resolve, reject) {
                // 2. 执行异步操作任务
                // let res = this.setLocalDescription(v_new(RTCSessionDescription))
                // console.log('RTCPeerConnection create',res);
                _this._onicecandidate(new RTCPeerConnectionIceEvent())

                print("  [*] RTCPeerConnection -> setLocalDescription[func] then", [].slice.call(arguments));
                // window.debug = true
                resolve(new RTCSessionDescription())
                // return res
            })
            return p;
        }),
        enumerable: true,
        configurable: true
    },
    [Symbol.toStringTag]: {value: "RTCPeerConnection", writable: false, enumerable: false, configurable: true},
})
Object.defineProperties(Node.prototype, {
    childs: {value: []},
    appendChild: {
        value: v_saf(function appendChild() {
            v_console_log("  [*] Node -> appendChild[func]", [].slice.call(arguments));
            this.childs.push(arguments[0])
            return arguments[0];
        })
    },
    removeChild: {
        value: v_saf(function removeChild() {
            v_console_log("  [*] Node -> removeChild[func]", [].slice.call(arguments));
        })
    },
    textContent: {
        set() {
            v_console_log("  [*] Node -> textContent[set]", [].slice.call(arguments));
            this.text = arguments[0]
        }
    },
    ELEMENT_NODE: {"value": 1, "writable": false, "enumerable": true, "configurable": false},
    ATTRIBUTE_NODE: {"value": 2, "writable": false, "enumerable": true, "configurable": false},
    TEXT_NODE: {"value": 3, "writable": false, "enumerable": true, "configurable": false},
    CDATA_SECTION_NODE: {"value": 4, "writable": false, "enumerable": true, "configurable": false},
    ENTITY_REFERENCE_NODE: {"value": 5, "writable": false, "enumerable": true, "configurable": false},
    ENTITY_NODE: {"value": 6, "writable": false, "enumerable": true, "configurable": false},
    PROCESSING_INSTRUCTION_NODE: {"value": 7, "writable": false, "enumerable": true, "configurable": false},
    COMMENT_NODE: {"value": 8, "writable": false, "enumerable": true, "configurable": false},
    DOCUMENT_NODE: {"value": 9, "writable": false, "enumerable": true, "configurable": false},
    DOCUMENT_TYPE_NODE: {"value": 10, "writable": false, "enumerable": true, "configurable": false},
    DOCUMENT_FRAGMENT_NODE: {"value": 11, "writable": false, "enumerable": true, "configurable": false},
    NOTATION_NODE: {"value": 12, "writable": false, "enumerable": true, "configurable": false},
    DOCUMENT_POSITION_DISCONNECTED: {"value": 1, "writable": false, "enumerable": true, "configurable": false},
    DOCUMENT_POSITION_PRECEDING: {"value": 2, "writable": false, "enumerable": true, "configurable": false},
    DOCUMENT_POSITION_FOLLOWING: {"value": 4, "writable": false, "enumerable": true, "configurable": false},
    DOCUMENT_POSITION_CONTAINS: {"value": 8, "writable": false, "enumerable": true, "configurable": false},
    DOCUMENT_POSITION_CONTAINED_BY: {"value": 16, "writable": false, "enumerable": true, "configurable": false},
    DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: {
        "value": 32,
        "writable": false,
        "enumerable": true,
        "configurable": false
    },
    [Symbol.toStringTag]: {value: "Node", writable: false, enumerable: false, configurable: true},
})
Object.defineProperties(OffscreenCanvas.prototype, {
    getContext: {
        value: v_saf(function getContext() {
            v_console_log("  [*] OffscreenCanvas -> getContext[func]", [].slice.call(arguments));
        })
    },
    [Symbol.toStringTag]: {value: "OffscreenCanvas", writable: false, enumerable: false, configurable: true},
})
Object.defineProperties(WebSocket.prototype, {
    onmessage: {
        set() {
            v_console_log("  [*] WebSocket -> onmessage[set]", [].slice.call(arguments));
        }
    },
    CONNECTING: {"value": 0, "writable": false, "enumerable": true, "configurable": false},
    OPEN: {"value": 1, "writable": false, "enumerable": true, "configurable": false},
    CLOSING: {"value": 2, "writable": false, "enumerable": true, "configurable": false},
    CLOSED: {"value": 3, "writable": false, "enumerable": true, "configurable": false},
    [Symbol.toStringTag]: {value: "WebSocket", writable: false, enumerable: false, configurable: true},
})
let t1 = parseInt(_random() * 2430043322 / 2 + 1430043322);
let t2 = parseInt(_random() * 2430043322 / 2 + 1430043322);
let t3 = parseInt(_random() * 5000 + 60199);
let ip = `${parseInt(_random() * 150 + 1)}.${parseInt(_random() * 150 + 1)}.${parseInt(_random() * 150 + 1)}.${parseInt(_random() * 150 + 1)}`

function guid() {
    return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
        var r = _random() * 16 | 0,
            v = c == 'x' ? r : (r & 0x3 | 0x8);
        return v.toString(16);
    });
}

var candidateGetTimes = 0;
Object.defineProperties(RTCPeerConnectionIceEvent.prototype, {
    candidate: {
        get: function () {

            let res = `candidate:${t1} 1 udp ${t2} ${guid()}.local ${t3} typ host generation 0 ufrag MiWK network-cost 999`
            res = `candidate:${t1} 1 udp ${t2} ${ip} ${t3} typ host generation 0 ufrag 5M7j network-id 1`
            // res = `candidate:${t1} 1 tcp ${t2} ${ip} 9 typ host tcptype active generation 0 ufrag ZZHV network-id 1`
            // res = 'candidate:2594513701 1 udp 2122260223 192.168.50.235 54336 typ host generation 0 ufrag 5M7j network-id 1 '
            // res = 'candidate:1678768049 1 tcp 1518280447 192.168.50.235 9 typ host tcptype active generation 0 ufrag 5M7j network-id 1 '

            console.log('RTCPeerConnectionIceEvent.candidate.get', res)

            let rrr = proxy(new RTCIceCandidate(
                ip, res, "rtp", t1, t2, t3, 'tcp', null, null, 0, "0", 'active', 'host', '5M7j'
            ), 'candidate[new]');
            candidateGetTimes++
            if (candidateGetTimes > 3) {
                rrr.candidate = null
                // return null
            }
            return rrr;


        },
        enumerable: true, configurable: true
    },
    type: {
        value: 'icecandidate'
    },
    isTrusted: {
        value: true,
    },
    [Symbol.toStringTag]: {value: "RTCPeerConnectionIceEvent", writable: false, enumerable: false, configurable: true},

})
Object.defineProperties(MessageEvent.prototype, {
    data: {
        get() {
            v_console_log("  [*] MessageEvent -> data[get]", {});
            return {}
        }
    },
    [Symbol.toStringTag]: {value: "MessageEvent", writable: false, enumerable: false, configurable: true},
})

Object.defineProperties(UIEvent.prototype, {
    which: {
        get() {
            v_console_log("  [*] UIEvent -> which[get]", 91);
            return 91
        }
    },
    [Symbol.toStringTag]: {value: "UIEvent", writable: false, enumerable: false, configurable: true},
})


Object.defineProperties(HTMLIFrameElement.prototype, {
    id: {enumerable: true, configurable: true, writable: true},
    contentWindow: {value: window, enumerable: true, configurable: true, writable: true},
})
window.HTMLScriptElement = HTMLScriptElement
window.HTMLIFrameElement = HTMLIFrameElement
window.HTMLStyleElement = HTMLStyleElement
window.HTMLVideoElement = HTMLVideoElement

postMessage = v_saf(function postMessage() {
})
PushManager = v_saf(function PushManager() {
})
times = 0;
window.Event = Event;
window.devicePixelRatio = ENV.windowparams.devicepixelratio;

function v_getele(name, func) {
    if (name == "head" && func == "querySelector") {
        return v_new(HTMLHeadElement)
    }
    if (name == "head > title" && func == "querySelector") {
        return v_new(HTMLTitleElement)
    }
    if (name == "body" && func == "querySelector") {
        return v_new(HTMLBodyElement)
    }
    if (name == "base" && func == "querySelector") {
        return v_new(HTMLBaseElement)
    }
    if (name == "jb-app" && func == "querySelector") {
        return v_new(HTMLElement)
    }
    if (name == "svg" && func == "querySelector") {
        return v_new(SVGSVGElement)
    }
    if (name == "jtp-xsell-utils" && func == "getElementById") {
        return v_new(HTMLScriptElement)
    }
    if (name == "first-focus-fares-heading" && func == "getElementById") {
        return v_new(HTMLHeadingElement)
    }
    if (name == "jtp-xsell-default" && func == "getElementById") {
        return v_new(HTMLScriptElement)
    }
    if (name == "#jtp-packages" && func == "querySelector") {
        return v_new(HTMLDivElement)
    }
    if (name == "#vacations-cross-sell" && func == "querySelector") {
        return v_new(HTMLDivElement)
    }
    if (name == "html" && func == "querySelector") {
        return v_new(HTMLHtmlElement)
    }
    return null
}

function v_geteles(name, func) {
    if (name == "html" && func == "getElementsByTagName") {
        return [v_new(HTMLHtmlElement)]
    }
    if (name == "shouldRememberUser" && func == "getElementsByName") {
        return v_new(NodeList)
    }
    if (name == "script" && func == "getElementsByTagName") {
        return [v_new(HTMLScriptElement)]
    }
    if (name == "base" && func == "getElementsByTagName") {
        return [v_new(HTMLBaseElement)]
    }
    if (name == "script" && func == "getElementsByTagName") {
        return [v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement)]
    }
    if (name == "*" && func == "querySelectorAll") {
        return [v_new(HTMLHtmlElement, 'HTML'), v_new(HTMLHeadElement, 'HEAD'), v_new(HTMLMetaElement, 'META'), v_new(HTMLTitleElement,"TITLE"), v_new(HTMLMetaElement, 'META'), v_new(HTMLMetaElement, 'META'),v_new(HTMLScriptElement, 'SCRIPT')]
    }
    if (name == "style[ng-transition=\"resp-booking-airways\"]" && func == "querySelectorAll") {
        return [v_new(HTMLStyleElement), v_new(HTMLStyleElement), v_new(HTMLStyleElement), v_new(HTMLStyleElement), v_new(HTMLStyleElement), v_new(HTMLStyleElement), v_new(HTMLStyleElement), v_new(HTMLStyleElement), v_new(HTMLStyleElement), v_new(HTMLStyleElement)]
    }
    if (name == "cdk-live-announcer-element" && func == "getElementsByClassName") {
        return []
    }
    if (name == "#jtp-packages" && func == "querySelectorAll") {
        return [v_new(HTMLDivElement)]
    }
    if (name == "body" && func == "getElementsByTagName") {
        return [v_new(HTMLBodyElement)]
    }
    if (name == 'script[src^=chrome-extension][src$=prompt\\.js], script[src^=moz-extension][src$=prompt\\.js]' && func == 'querySelectorAll') {
        return v_new(NodeList)
    }
    return null
}

let _console = console.log


let events = {}
// window.Event = {
//     prototype:{
//         createEvent: function (type) {
//             return {
//                 "isTrusted": true,
//                 type: '',
//                 detail: '',
//                 initCustomEvent: function (type, canBubble, cancelable, detail) {
//                     this.type = type;
//                     this.detail = detail;
//                     return {type, canBubble, cancelable, detail}
//                 }
//             }
//         },
//     }
// }
Object.defineProperties(Event.prototype, {
    target: {
        get() {
            v_console_log("  [*] Event -> target[get]", {});
            return {}
        }
    },
    timeStamp: {
        get() {
            v_console_log("  [*] Event -> timeStamp[get]", 6122.799999713898);
            return Math.random() * 3000 + 5000
        }
    },
    type: {
        get() {
            v_console_log("  [*] Event -> type[get]", "blur");
            return "blur"
        }
    },
    defaultPrevented: {
        get() {
            v_console_log("  [*] Event -> defaultPrevented[get]", true);
            return true
        },
    },
    composedPath: {
        value: v_saf(function composedPath() {
            v_console_log("  [*] Event -> composedPath[func]", [].slice.call(arguments));
        }),
        writable: true, enumerable: true, configurable: true
    },
    stopPropagation: {
        value: {func(){}}.func,
        writable: true, enumerable: true, configurable: true
    },
    preventDefault: {
        value: {func(){}}.func,
        writable: true, enumerable: true, configurable: true
    },
    cancelBubble: {
        value: {func(){}}.func,
        //     // get(){},
        //     // set(){},
    },
    stopImmediatePropagation: {
        value: {func(){}}.func,
        writable: true, enumerable: true, configurable: true
    },
    NONE: {"value": 0, "writable": false, "enumerable": true, "configurable": false},
    CAPTURING_PHASE: {"value": 1, "writable": false, "enumerable": true, "configurable": false},
    AT_TARGET: {"value": 2, "writable": false, "enumerable": true, "configurable": false},
    BUBBLING_PHASE: {"value": 3, "writable": false, "enumerable": true, "configurable": false},
    [Symbol.toStringTag]: {value: "Event", writable: false, enumerable: false, configurable: true},
})


createPrototype = function (name, obj) {
    Object.assign(obj, {
        constructor: function () {
        },
        // name: name,
        prototype: {
            toString: function () {
                return `'function ${name}() { [native code] }'`
                // throw new TypeError('Illegal invocation')
            }
        },
        toString: function () {
            return `'function ${name}() { [native code] }'`
        }
    })
    // Object.defineProperty(obj.prototype, {
    //     [Symbol.toStringTag]: {value:name,writable:false,enumerable:false,configurable:true},
    //     prototype: {
    //         toString: function (){
    //             return `'function ${name}() { [native code] }'`
    //             // throw new TypeError('Illegal invocation')
    //         }
    //     },
    // })
    return obj

}


// for (let i = 0; i < O[47].length; i++) {
//     var t = O[47][i];
//
//
// }


PerformanceEntry = {
    name: 'PerformanceEntry',
    prototype: {}
}
Bluetooth = function Bluetooth() {
}
BluetoothDevice = function BluetoothDevice() {
}

AWSCInner = {
    register: function () {
        // _console2('AWSCInner register', arguments)
    }
}
Element = function Element() {
    prototype: {
        webkitMatchesSelector: function webkitMatchesSelector() {

        }
    }
}


chrome = {
    loadTimes: function () {
    },
    csi: function () {
    },
}

MimeTypeArray = v_saf(function MimeTypeArray() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
    this[0] = v_new(MimeType);
    this[0].description = "Portable Document Format";
    this[0].enabledPlugin = {"0": {}};
    this[0].suffixes = "pdf";
    this[0].type = "application/pdf";
    this[1] = v_new(Plugin);
    this[1].description = "Portable Document Format";
    this[1].enabledPlugin = {"0": {}};
    this[1].suffixes = "pdf";
    this[1].type = "text/pdf";

})
Object.defineProperties(MimeTypeArray.prototype, {
    length: {
        get() {
            v_console_log("  [*] MimeTypeArray -> length[get]", 3);
            return 3
        }
    },
    [Symbol.toStringTag]: {value: "MimeTypeArray", writable: false, enumerable: false, configurable: true},
})

navigator = v_new(Navigator)


// navigator = dtavm.proxy(navigator,'navigator')
location = v_new(Location)

// v_hook_href(location, "location", 'https://www.jetblue.com/booking/flights?from=LAS&to=BOS&depart=2023-07-10&isMultiCity=false&noOfRoute=1&lang=en&adults=1&children=0&infants=0&sharedMarket=false&roundTripFaresFlag=false&usePoints=false')
location.__proto__ = Location.prototype

DOMStringList = v_saf(function DOMStringList() {

})
var _hostname, _origin,_host,_protocol,_port,_pathname,_search,_hash;
Object.defineProperties(location, {
    ancestorOrigins: {
        get: v_saf(function ancestorOrigins() {
            return new DOMStringList()
        }),
        enumerable: true,
        configurable: false

    },
    href: {
    value: 'https://www.jetblue.com/booking/flights?from=LAS&to=BOS&depart=2023-07-10&isMultiCity=false&noOfRoute=1&lang=en&adults=1&children=0&infants=0&sharedMarket=false&roundTripFaresFlag=false&usePoints=false',
    enumerable: true
    },
// 'valueOf,ancestorOrigins,href,origin,protocol,host,hostname,port,pathname,search,hash,assign,reload,replace,toString'
//          ancestorOrigins,href,origin,protocol,host,hostname,port,pathname,hash,assign,reload,replace,toString
    // fragmentDirective: 'c',
    origin: {set: function(arg){_origin = arg}, get:function(){return _origin}, enumerable:true},
    protocol: {set: function(arg){_protocol = arg}, get:function(){return _protocol}, enumerable:true},
    host: {set: function(arg){_hostname = arg}, get:function(){return _hostname}, enumerable:true},
    hostname: {set: function(arg){_hostname = arg}, get:function(){return _hostname}, enumerable:true},
    port: {set: function(arg){_port = arg}, get:function(){return _port}, enumerable:true},
    pathname: {set: function(arg){_pathname = arg}, get:function(){return _pathname}, enumerable:true},
    search: {set: function(arg){_pathname = arg}, get:function(){return _pathname}, enumerable:true},
    hash: {set: function(arg){_hash = arg}, get:function(){return _hash}, enumerable:true},
    // host: 'e',
    // hostname: 'f',
    // href: 'g',
    // origin: 'h',
    // pathname: 'i',
    // port: 'j',
    // protocol: 'k',
    assign: {
        value: v_saf(function assign() {

        }),
        enumerable: true,

    },
    reload: {
        value: v_saf(function reload() {

        }),
        enumerable: true,

    },
    replace: {
        value: v_saf(function replace() {

        }),
        enumerable: true,
    },
    toString: {
        value: v_saf(function toString() {
            return ''
        }),
        enumerable: true,

    },


})
// 'valueOf,ancestorOrigins,href,origin,protocol,host,hostname,port,pathname,search,hash,assign,reload,replace,toString'
location.href = 'https://www.jetblue.com/booking/flights?from=LAS&to=BOS&depart=2023-07-10&isMultiCity=false&noOfRoute=1&lang=en&adults=1&children=0&infants=0&sharedMarket=false&roundTripFaresFlag=false&usePoints=false'
function set_href(v, href){
            href = href.trim()
            v_console_log(`  href[set]:`, JSON.stringify(href))
            if (href.startsWith("http://") || href.startsWith("https://")) {/*ok*/
            } else if (href.startsWith("//")) {
                href = (v.protocol ? v.protocol : 'http:') + href
            } else {
                href = v.protocol + "//" + v.host + (v.port ? ":" + v.port : "") + '/' + ((href[0] == '/') ? href.slice(1) : href)
            }
            var a = href.match(/([^:]+:)\/\/([^/:?#]+):?(\d+)?([^?#]*)?(\?[^#]*)?(#.*)?/);
            v.protocol = a[1] ? a[1] : "";
            v.host = a[2] ? a[2] : "";
            v.port = a[3] ? a[3] : "";
            v.pathname = a[4] ? a[4] : "";
            v.search = a[5] ? a[5] : "";
            v.hash = a[6] ? a[6] : "";
            v.hostname = v.host;
            v.origin = v.protocol + "//" + v.host + (v.port ? ":" + v.port : "");
}
// 'valueOf,ancestorOrigins,href,origin,protocol,host,hostname,port,pathname,search,hash,assign,reload,replace,toString'
set_href(location, 'https://www.jetblue.com/booking/flights?from=LAS&to=BOS&depart=2023-07-10&isMultiCity=false&noOfRoute=1&lang=en&adults=1&children=0&infants=0&sharedMarket=false&roundTripFaresFlag=false&usePoints=false')
window.location = location
// window.location = new Proxy(location, {
//     get(target, p, receiver) {
//         console.log('locaiton get', p)
//         return Reflect.get(target, p, receiver)
//     },
//     has(target, p) {
//         let res = Reflect.has(target, p);
//         console.log('locaiton has', p, res)
//         return res;
//     },
//     getOwnPropertyDescriptor(target, p) {
//         let res = Reflect.getOwnPropertyDescriptor(target, p);
//
//         console.log('locaiton getOwnPropertyDescriptor', p, res)
//         return res;
//     }
// })

origin = location.origin
self = window;
globalThis = window

let performanceNow = _random() * 1000 + 1000
window.performance = {
    now: function () {
        //todo
        return Number('1697523311706'.slice(8))
        return 1186.7042
        return performanceNow + _random() * 100
    },
    "timeOrigin": Date.now() + 0.1,
    "timing": {
        "connectStart": Date.now(),
        "navigationStart": Date.now() - 1,
        "secureConnectionStart": 0,
        "fetchStart": Date.now(),
        "domContentLoadedEventStart": 0,
        "responseStart": Date.now() + 2,
        "domInteractive": 0,
        "domainLookupEnd": Date.now(),
        "responseEnd": Date.now() + 2,
        "redirectStart": 0,
        "requestStart": Date.now() + 1,
        "unloadEventEnd": Date.now() + 3,
        "unloadEventStart": Date.now() + 3,
        "domLoading": Date.now() + 7,
        "domComplete": 0,
        "domainLookupStart": Date.now(),
        "loadEventStart": 0,
        "domContentLoadedEventEnd": 0,
        "loadEventEnd": 0,
        "redirectEnd": 0,
        "connectEnd": Date.now()
    },
    "navigation": {
        "type": 1,
        "redirectCount": 0
    },
    getEntriesByName: function getEntriesByName() {
    },
    memory: {
        jsHeapSizeLimit: 4294705152,
        totalJSHeapSize: parseInt(11528626 * Math.random() + 11528626),
        usedJSHeapSize: parseInt(9311362 * Math.random() + 9311362),
    }
}
// window.Proxy = window
window.BigInt = BigInt
_hasOwnProperty = Object.hasOwnProperty
Object.hasOwnProperty = function (a){
    let res = _hasOwnProperty.call(this, a);
    console.log(' hasOwnProperty', a, res)

    return res;
}
// window.hasOwnProperty = function hasOwnProperty() {
//     _console2('window hasOwnProperty', arguments)
//     return window[arguments['0']]
// }
DOMTokenList = function DOMTokenList() {

}
window.addEventListener = function (type, callback) {
    _console2('addEventListener111', type, callback)
    events[type] = callback;
    v_events[type] = callback;
    if (type === 'addEventListener11') {
        callback(v_new(Event))
    }
    return true;
}

window.removeEventListener = function removeEventListener(type, callback) {
    delete events[type]
    // callback()
    return true
}
// Object.getOwnPropertyDescriptor = function getOwnPropertyDescriptor() {
//
// }

screens = {
    availHeight:parseInt(scale*  ENV.screenparams.availheight),
    availLeft: 0,
    availTop: 25,
    availWidth: parseInt(scale* ENV.screenparams.availwidth),
    colorDepth: parseInt(scale* ENV.screenparams.colordepth),
    height: parseInt(scale* ENV.screenparams.height),
    orientation: {angle: 0, type: 'landscape-primary', onchange: null},
    pixelDepth: parseInt(scale* ENV.screenparams.pixeldepth),
    width: parseInt(scale* ENV.screenparams.width)
}
// {"height":1080,"width":1920,"availHeight":1055,"availWidth":1920,"pixelDepth":24,"colorDepth":24}
// todo
// if (sid === '8ffdff7b995c8ad51d902ff0') {
//
//     screens.height = 1080
//     screens.width = 1920
//     screens.availHeight = 1055
//     screens.availWidth = 1920
//     screens.pixelDepth = 24
//     screens.colorDepth = 24
// navis.hardwareconcurrency = 10
// navis.platform = 'MacIntel'
// }
window.screen = v_new(Screen)
window.screenY = ENV.windowparams.screeny
window.screenX = ENV.windowparams.screenx
// window.screen = aaProxy(window.screen, 'screen')


window.isSecureContext = true
window.innerWidth = parseInt(scale* ENV.windowparams.innerwidth);
window.outerWidth = parseInt(scale* ENV.windowparams.outerwidth);
window.innerHeight = parseInt(scale* ENV.windowparams.innerheight);
window.outerHeight = parseInt(scale* ENV.windowparams.outerheight);
window.screenLeft = parseInt(5+_random() * 30);
window.screenTop = parseInt(scale* ENV.windowparams.screeny || 120);
window.screenX = parseInt(scale* ENV.windowparams.screenx)
window.screenY = parseInt(scale* ENV.windowparams.screeny)
// todo
// if (sid === '8ffdff7b995c8ad51d902ff0') {
// // {"innerHeight":853,"innerWidth":1920,"outerHeight":970,"outerWidth":1920,"screenX":null,"screenY":25,"isSecureContext":true,"devicePixelRatio":1}
// //     {"innerHeight":938,"innerWidth":1920,"outerHeight":1055,"outerWidth":1920,"screenX":null,"screenY":25,"isSecureContext":true,"devicePixelRatio":1}
// // {"innerHeight":null,"innerWidth":1920,"outerHeight":1055,"outerWidth":1920,"screenX":1728,"screenY":25,"isSecureContext":true,"devicePixelRatio":1}
//
//     window.innerHeight = 976
//     window.innerWidth = 1865
//     window.outerHeight = 1055
//     window.outerWidth = 1920
//     window.screenX = 1728
//     window.screenY = 25
//     window.devicePixelRatio = 1
// }

top = window
window.top = top;

htmlEle = {
    appendChild: function () {
        // _console2('appendChild', arguments);
        return {}
    },

    removeChild: function () {
        // _console2('removeChild', arguments);

    },
    clientHeight: 0,
    clientWidth: 1904
}
let allNodes = [];
var childNodes = []

function _createElement(name) {
    print('_createElement name ', name)

    var htmlmap = {
        "HTMLElement": ["abbr", "address", "article", "aside", "b", "bdi", "bdo", "cite", "code", "dd", "dfn", "dt", "em", "figcaption", "figure", "footer", "header", "hgroup", "i", "kbd", "main", "mark", "nav", "noscript", "rp", "rt", "ruby", "s", "samp", "section", "small", "strong", "sub", "summary", "sup", "u", "var", "wbr"],
        "HTMLCanvasElement": ["canvas"],
        "HTMLAnchorElement": ["a"],
        "HTMLImageElement": ["img"],
        "HTMLIFrameElement": ["iframe"],
        "HTMLMediaElement": [],
        "HTMLHeadElement": ["head"],
        "HTMLBodyElement": ["body"],
        "HTMLUnknownElement": [],
        'HTMLScriptElement': ['script'],
        'HTMLVideoElement': ['video'],
        'HTMLStyleElement': ['style']
    }
    var ret, htmlmapkeys = Object.keys(htmlmap)
    name = name.toLocaleLowerCase()
    for (var i = 0; i < htmlmapkeys.length; i++) {
        if (htmlmap[htmlmapkeys[i]].indexOf(name) != -1) {
            ret = v_new(window[htmlmapkeys[i]])
            // if (htmlmapkeys[i] == "canvas"){
            // ret = dtavm.proxy(ret, htmlmapkeys[i])
            // }
            break
        }
    }
    if (!ret) {
        ret = v_new(HTMLUnknownElement);
        throw TypeError("为定义的类型")
    }
    // if (typeof CSSStyleDeclaration != 'undefined') {
    //     ret.v_style = v_new(CSSStyleDeclaration)
    // }
    // ret.v_tagName = name.toUpperCase()
    allNodes.push(ret)
    print('_createElement name ', name, ret)

    return proxy(ret, name)
}

document = {
    all: HTMLAllCollection,
    characterSet: 'UTF-8',
    charset: 'UTF-8',
    compatMode: 'CSS1Compat',
    images: [],
    // createElementNS: v_saf(function createElementNS(){
    //     return _createElement.apply(this, arguments)
    // }),
    constructor: function () {

    },
    [Symbol.toPrimitive](hint) {
        if (hint === 'number') {
            return 42;
        }
        return this;
    },
    toString: function () {
        return '[object HTMLDocument]'
    },

    location: location,
    getElementsByTagName: function () {
        _console2(arguments);
        return v_geteles(...arguments, 'getElementsByTagName')
    },
    referrer: '',
    // createElement: v_saf(function createElement(name) {
    //     return _createElement(name)
    // }),
    getElementById: function getElementById(valId) {
        // if (valId === 'multiFormSubmit') return null;
        let res = v_getele(valId, 'getElementById')
        console.log('use getElementById', valId, res)
        return res
        // return null
        // return {
        //     name: valId + " ele"
        // }
    },
    currentScript: {nonce: ''},
    hasFocus: function hasFocus() {
        return false
    },
    documentElement: htmlEle,
    readyState: 'complete',
    visibilityState: 'visible',

    // addEventListener: function addEventListener(type, callback) {
    //     _console2('document2 addEventListener', arguments)
    //     events[type] = callback
    //     if (type == 'DOMContentLoaded'){
    //         _console2('callDOMContentLoaded' , callback )
    //         callback()
    //     }
    //     // debugger;
    //
    // },
    createEvent: function (type) {
        _console2('createEvent111', type)
        return {
            "isTrusted": true,
            type: '',
            detail: '',
            initCustomEvent: function (type, canBubble, cancelable, detail) {
                _console2('initCustomEvent', type, detail)
                this.type = type;
                this.detail = detail;
                // return {type, canBubble, cancelable, detail}
            }
        }
    },
    querySelector: function querySelector() {
        _console2('document querySelector', arguments)
        // if (arguments['0'] === '#baxia-dialog-content') debugger;
        // return null;
        return {
            name: 'querySelector',
            bind: function () {
                _console2('document querySelector bind', arguments)

            }
        }
    },
    hidden: false

}

_stri = JSON.stringify;
JSON.stringify = v_saf(function stringify() {
    console.log('stringify', arguments)
    return _stri.apply(this, arguments)
})
// document = v_new(Document)
CustomEvent = v_saf(function CustomEvent() {
});
_inherits(CustomEvent, EventTarget)
Object.defineProperties(CustomEvent.prototype, {
    "isTrusted": {
        get() {
            return true
        }
    },
    type: {value: ''},
    detail: {
        get() {
            return this.d
        },

    },
    initCustomEvent: function (type, canBubble, cancelable, detail) {
        this.type = type
        this.detail = detail
        return {type, canBubble, cancelable, detail}
    }
})
Object.defineProperties(Document.prototype, {

    createEvent: {
        value: v_saf(function createEvent() {
            v_console_log("  [*] Document -> createEvent[func]", [].slice.call(arguments));
            if (arguments[0] == 'CustomEvent') {
                return CustomEvent()
            }
        })
    },
    createElement: {
        value: new Proxy(function (n) {
            return _createElement(n)
        }, {
            has(target, p) {
                if (p === 'prototype') {
                    return false;

                } else {
                    return Reflect.has(target, p)
                }
            },
        }),
        configurable: true,
        enumerable: true,
        writable: true
    },
    createElementNS: {
        value: v_saf(function createElementNS(name) {
            return _createElement(name, 'createElementNS')
        }),
        configurable: true,
        enumerable: true,
        writable: true
    },
    featurePolicy: {
        get() {
            //todo
            return undefined
            v_console_log("  [*] Document -> featurePolicy[get]", {});
            Object.defineProperties(FeaturePolicy.prototype, {
                features: {
                  value: function (){
                    return window.ENV.featurepolicy.features
                  },
                  enumerable: true
                },
                allowedFeatures: {
                  value: function (){
                    return window.ENV.featurepolicy.allowedfeatures
                  },
                  enumerable: true
                },
                getAllowlistForFeature: {
                  value: function (){
                    return ['https://www.jetblue.com/']
                  },
                  enumerable: true
                }
              })
            return new FeaturePolicy()
        }
    },
    visibilityState: {
        get() {
            v_console_log("  [*] Document -> visibilityState[get]", "visible");
            return "visible"
        }
    },
    onreadystatechange: {"enumerable": true, "configurable": true},
    onmouseenter: {"enumerable": true, "configurable": true},
    onmouseleave: {"enumerable": true, "configurable": true},
    [Symbol.toStringTag]: {value: "Document", writable: false, enumerable: false, configurable: true},
})
Object.defineProperty(document, Symbol.toStringTag, {
    value: 'HTMLDocument'
})
Object.defineProperty(document, Symbol.iterator, {
    value: function f() {

    }
})
// Object.defineProperty(document,constructor, {
//     value: 'HTMLDocument'
// })
document.addEventListener = function (type, callback) {
    _console2('addEventListener11', type, callback)
    events[type] = callback;
    v_events[type] = callback;

    // if (type === 'DOMContentLoaded' || type === 'wheel'|| type === 'visibilitychange'){
    //     callback({
    //         "isTrusted": true,
    //         type:type,
    //         target: {
    //             visibilityState: 'visible'
    //         }
    //     })
    // }
    return true
}
window.addEventListener = function (type, callback) {
    _console2('addEventListener12', type, callback)
    events[type] = callback;
    if (type === 'DOMContentLoaded' || type == 'visibilitychange') {
        callback({
            "isTrusted": true,
            type: type
        })
    }
    return true
}
addEventListener = window.addEventListener
// window.document = dtavm.proxy(document, 'document');
// Object.assign(window.document, document)
// Date = dtavm.proxy(Date)
window.toString = function () {
    return '[object Window]'
}


window.HTMLAnchorElement = HTMLAnchorElement
//     [Symbol.toStringTag]: function (){
//         return 'HTMLAnchorElement'
//     },
//     [Symbol.iterator]: function (){
//     }
// })
window.HTMLFormElement = v_saf(function HTMLFormElement() {
})
_inherits(window.HTMLFormElement, HTMLElement)
Object.defineProperties(window.HTMLFormElement.prototype, {
    [Symbol.toStringTag]: {
        value: 'HTMLFormElement',
        [Symbol.iterator]: {
            value: function () {
            }
        }
    },
    submit: {
        value: {func(){}}.func,
        configurable: true, writable: false
    }
})
window.CustomEvent = CustomEvent
Object.defineProperties(window.CustomEvent, {
    detail: {},
    constructor: {
        value: function () {
        },
        writable: true, enumerable: false, configurable: true
    },
    [Symbol.iterator]: {
        value: function () {
        }
    },
    [Symbol.toStringTag]: {
        value: function () {

        }
    }
})

// Object.defineProperties(window.HTMLAnchorElement.prototype, {
//     href: {
//         get: function (){},
//         set: function (){},
//          enumerable: true, configurable: true
//     }
// })
// Object.defineProperties(window.HTMLFormElement.prototype, {
//     submit: {
//         value: function (){},
//         "writable": true,
//         "enumerable": true,
//         "configurable": true
//     },
//     constructor: {
//         value: function (){},
//         "writable": true,
//         "enumerable": false,
//         "configurable": true
//     }
// })
// navigator = dtavm.proxy(navigator, 'navigator');


window.Math = Math

let storage = {
    items: {
        // "FTzyeq12rr": "A4AOsm6KAQAAAGUULhl44Mv6c339of4pv5Njb9E9PmrdowVXJ3JKD9u7mODTAXL3RNj6K21wfMBeCOfvosJeCA==",
        // "FTzyeq12rr": "A49NNm6KAQAANCsxBbeG4r6XWuaUdfwmMSe6urV1M5tSCTU-xWEH_ZqUzSS-AXL3RNj6K21wfMBeCOfvosJeCA==",
        // "FTzyeq12rr": "A76x_HOKAQAAeQnrfCam7e5nJhCItdNV2ab9APm5Bh9QD_nPoeUjQgDFVXR-AXL3RNj6K21wfMBeCOfvosJeCA==",
        // "FTzyeq12rr": "A41Q_HiKAQAACKjUIixZBY2Bbu-SU6TdFNxfZDRB-XKYxPlYnMeRk9AK9lrkAUFL3fX6K21wobReCOfvosJeCA==",
        // "FTzyeq12rr": "A182CWuKAQAACfHrGQLisI_229uAWZCUITEfxrVtSFThIjHNuh5titWbTGwIAcJokljURuIXFooAAAAAAAAAAA==",
        // "FTzyeq12rr": "A1Cxkn6KAQAABrBpcNpkODhlt_Ij8b2Ma-2d5L0S2rRC-PANYJINcFpgRO4SAcJoklgXThZ2wH9eCOfvosJeCA==",
        // "FTzyeq12rr": "A76x_HOKAQAAeQnrfCam7e5nJhCItdNV2ab9APm5Bh9QD_nPoeUjQgDFVXR-AXL3RNj6K21wfMBeCOfvosJeCA==",
    },
    setItem: function (name, value) {
        this.items[name] = value
    },
    getItem: function (name, value) {
        return this.items[name]
    },
    removeItem: function (name) {
        delete this.items[name]
    }

}

// if (_process.argv[4]){
//     storage.setItem('FTzyeq12rr', _process.argv[4])
// }
function dispatchEvent(event) {
    _console2('dispatchEvent', event)
    if (event && event.type in events) {
        events[event.type](event)
    }
    try {
        event.instrumented = v_saf(function instrumented() {
            v_console_log(" instrumented  call")
        })
        event.detail.exchange(event)
    } catch (e) {

    }
    return true

}

function v_init_document() {
    Document.prototype.getElementById = v_saf(function getElementById(name) {
        var r = v_getele(name, 'getElementById');
        v_console_log('  [*] Document -> getElementById', name, r);
        return r
    })
    Document.prototype.querySelector = v_saf(function querySelector(name) {
        var r = v_getele(name, 'querySelector');
        v_console_log('  [*] Document -> querySelector', name, r);
        return r
    })
    Document.prototype.getElementsByClassName = v_saf(function getElementsByClassName(name) {
        var r = v_geteles(name, 'getElementsByClassName');
        v_console_log('  [*] Document -> getElementsByClassName', name, r);
        return r
    })
    Document.prototype.getElementsByName = v_saf(function getElementsByName(name) {
        var r = v_geteles(name, 'getElementsByName');
        v_console_log('  [*] Document -> getElementsByName', name, r);
        return r
    })
    Document.prototype.getElementsByTagName = v_saf(function getElementsByTagName(name) {
        var r = v_geteles(name, 'getElementsByTagName');
        v_console_log('  [*] Document -> getElementsByTagName', name, r);
        return r
    })
    Document.prototype.getElementsByTagNameNS = v_saf(function getElementsByTagNameNS(name) {
        var r = v_geteles(name, 'getElementsByTagNameNS');
        v_console_log('  [*] Document -> getElementsByTagNameNS', name, r);
        return r
    })
    Document.prototype.querySelectorAll = v_saf(function querySelectorAll(name) {
        var r = v_geteles(name, 'querySelectorAll');
        v_console_log('  [*] Document -> querySelectorAll', name, r);
        return r
    })
    var v_head = v_new(HTMLHeadElement)
    var v_body = v_new(HTMLBodyElement)
    Object.defineProperties(Document.prototype, {
        head: {
            get() {
                v_console_log("  [*] Document -> head[get]", v_head);
                return v_head
            }
        },
        body: {
            get() {
                v_console_log("  [*] Document -> body[get]", v_body);

                return proxy(v_body, 'doc.body')
            }
        },
    })
}

v_init_document();
v_init_event_target()
window.dispatchEvent = dispatchEvent;
// _funcHasOwnprop = Function.prototype.hasOwnProperty
// Function.prototype.hasOwnProperty = function (){
//     console.log('Function.prototype.hasOwnProperty', arguments)
//     if (arguments[0] === 'value')return false;
//     return _funcHasOwnprop.apply(this, arguments)
// }


window.Function = Function;
window.event = undefined;
window.Object = Object;
window.Array = Array;
window.Date = Date;
window.String = String;
window.RegExp = RegExp;
window.Float32Array = Float32Array;
window.Float64Array = Float64Array;
window.Int32Array = Int32Array;
window.Reflect = Reflect;
window.Uint8Array = Uint8Array;
window.ArrayBuffer = ArrayBuffer;
window.Int8Array = Int8Array;
window.isNaN = isNaN;
window.parseInt = parseInt;
window.parseFloat = parseFloat;
window.encodeURI = encodeURI;
window.encodeURIComponent = encodeURIComponent;
window.decodeURI = decodeURI;
window.decodeURIComponent = decodeURIComponent;
window.Number = Number;
window.Uint8ClampedArray = Uint8ClampedArray;
window.Int16Array = Int16Array;
window.Uint16Array = Uint16Array;
window.Map = Map;
window.Set = Set;
window.WeakMap = WeakMap;
window.WeakSet = WeakSet;
window.Buffer = undefined

Animation = v_saf(function Animation() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Animation, Node)
Comment = v_saf(function Comment() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Comment, Node)
DOMMatrixReadOnly = v_saf(function DOMMatrixReadOnly() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Element, Node)
MediaQueryList = v_saf(function MediaQueryList() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(MediaQueryList, EventTarget)
let medias = [];
let mediaRes = {
    "(max-aspect-ratio: 33/32)": false,
    "(max-aspect-ratio: 67/64)": true,
    "(max-aspect-ratio: 135/128)": true,
    "(max-aspect-ratio: 271/256)": true,
    "(max-aspect-ratio: 543/512)": true,
    "(max-aspect-ratio: 1087/1024)": true,
    "(max-aspect-ratio: 2175/2048)": true,
    "(max-aspect-ratio: 4351/4096)": true,
    "(max-aspect-ratio: 8703/8192)": true,
    "(max-aspect-ratio: 17407/16384)": true,
    "(max-aspect-ratio: 34815/32768)": true,
    "(max-aspect-ratio: 69631/65536)": true,
    "(max-aspect-ratio: 139263/131072)": true,
    "(max-aspect-ratio: 278527/262144)": true,
    "(max-aspect-ratio: 557055/524288)": true,
    "(max-aspect-ratio: 1114111/1048576)": true,
    "(max-aspect-ratio: 2228223/2097152)": true,
    "(max-aspect-ratio: 4456447/4194304)": true,
    "(max-aspect-ratio: 8912895/8388608)": true,
    "(max-aspect-ratio: 17825791/16777216)": true,
    "(max-aspect-ratio: 35651583/33554432)": true,
    "(max-aspect-ratio: 71303167/67108864)": true,
    "(max-aspect-ratio: 142606335/134217728)": true,
    "(max-aspect-ratio: 285212671/268435456)": true,
    "(max-aspect-ratio: 570425343/536870912)": true,
    "(max-aspect-ratio: 1140850687/1073741824)": true,
    "(max-aspect-ratio: 2281701375/2147483648)": true,
    "(max-aspect-ratio: 4563402751/4294967296)": true,
    "(max-aspect-ratio: 9126805503/8589934592)": true,
    "(max-aspect-ratio: 18253611007/17179869184)": true,
    "(max-aspect-ratio: 36507222015/34359738368)": true,
    "(max-aspect-ratio: 73014444031/68719476736)": true,
    "(max-aspect-ratio: 146028888063/137438953472)": true,
    "(max-aspect-ratio: 292057776127/274877906944)": true,
    "(max-aspect-ratio: 584115552255/549755813888)": true,
    "(max-aspect-ratio: 1168231104511/1099511627776)": true,
    "(max-aspect-ratio: 2336462209023/2199023255552)": true,
    "(max-aspect-ratio: 4672924418047/4398046511104)": true,
    "(max-aspect-ratio: 9345848836095/8796093022208)": true,
    "(max-aspect-ratio: 18691697672191/17592186044416)": true,
    "(max-aspect-ratio: 37383395344383/35184372088832)": true,
    "(max-aspect-ratio: 74766790688767/70368744177664)": true,
    "(max-aspect-ratio: 149533581377535/140737488355328)": true,
    "(max-aspect-ratio: 299067162755071/281474976710656)": true,
    "(max-aspect-ratio: 598134325510143/562949953421312)": true,
    "(max-aspect-ratio: 1196268651020287/1125899906842624)": true,
    "(max-aspect-ratio: 17/16)": true,
    "(max-aspect-ratio: 35/32)": true,
    "(max-aspect-ratio: 71/64)": true,
    "(max-aspect-ratio: 143/128)": true,
    "(max-aspect-ratio: 287/256)": true,
    "(max-aspect-ratio: 575/512)": true,
    "(max-aspect-ratio: 1151/1024)": true,
    "(max-aspect-ratio: 2303/2048)": true,
    "(max-aspect-ratio: 4607/4096)": true,
    "(max-aspect-ratio: 9215/8192)": true,
    "(max-aspect-ratio: 18431/16384)": true,
    "(max-aspect-ratio: 36863/32768)": true,
    "(max-aspect-ratio: 73727/65536)": true,
    "(max-aspect-ratio: 147455/131072)": true,
    "(max-aspect-ratio: 294911/262144)": true,
    "(max-aspect-ratio: 589823/524288)": true,
    "(max-aspect-ratio: 1179647/1048576)": true,
    "(max-aspect-ratio: 2359295/2097152)": true,
    "(max-aspect-ratio: 4718591/4194304)": true,
    "(max-aspect-ratio: 9437183/8388608)": true,
    "(max-aspect-ratio: 18874367/16777216)": true,
    "(max-aspect-ratio: 37748735/33554432)": true,
    "(max-aspect-ratio: 75497471/67108864)": true,
    "(max-aspect-ratio: 150994943/134217728)": true,
    "(max-aspect-ratio: 301989887/268435456)": true,
    "(max-aspect-ratio: 603979775/536870912)": true,
    "(max-aspect-ratio: 1207959551/1073741824)": true,
    "(max-aspect-ratio: 2415919103/2147483648)": true,
    "(max-aspect-ratio: 4831838207/4294967296)": true,
    "(max-aspect-ratio: 9663676415/8589934592)": true,
    "(max-aspect-ratio: 19327352831/17179869184)": true,
    "(max-aspect-ratio: 38654705663/34359738368)": true,
    "(max-aspect-ratio: 77309411327/68719476736)": true,
    "(max-aspect-ratio: 154618822655/137438953472)": true,
    "(max-aspect-ratio: 309237645311/274877906944)": true,
    "(max-aspect-ratio: 618475290623/549755813888)": true,
    "(max-aspect-ratio: 1236950581247/1099511627776)": true,
    "(max-aspect-ratio: 2473901162495/2199023255552)": true,
    "(max-aspect-ratio: 4947802324991/4398046511104)": true,
    "(max-aspect-ratio: 9895604649983/8796093022208)": true,
    "(max-aspect-ratio: 19791209299967/17592186044416)": true,
    "(max-aspect-ratio: 39582418599935/35184372088832)": true,
    "(max-aspect-ratio: 79164837199871/70368744177664)": true,
    "(max-aspect-ratio: 158329674399743/140737488355328)": true,
    "(max-aspect-ratio: 316659348799487/281474976710656)": true,
    "(max-aspect-ratio: 633318697598975/562949953421312)": true,
    "(max-aspect-ratio: 1266637395197951/1125899906842624)": true,
    "(max-width: 919px)": false,
    "(max-width: 929px)": false,
    "(max-width: 934px)": true,
    "(max-width: 936px)": true,
    "(max-width: 937px)": true,
    "(min-resolution: 0.0001dpi)": true,
    "(max-resolution: 24dpi)": false,
    "(max-resolution: 48dpi)": false,
    "(max-resolution: 96dpi)": true,
    "(max-resolution: 72dpi)": false,
    "(max-resolution: 84dpi)": false,
    "(max-resolution: 90dpi)": false,
    "(max-resolution: 93dpi)": false,
    "(max-resolution: 95dpi)": false,
    "(overflow-inline: none)": false,
    "(overflow-inline: scroll)": false,
    "(max-aspect-ratio: 1/1)": false,
    "(max-aspect-ratio: 2/1)": true,
    "(max-aspect-ratio: 3/2)": true,
    "(max-aspect-ratio: 5/4)": true,
    "(max-aspect-ratio: 9/8)": true,
    "(max-aspect-ratio: 19/16)": true,
    "(max-aspect-ratio: 39/32)": true,
    "(max-aspect-ratio: 79/64)": true,
    "(max-aspect-ratio: 159/128)": true,
    "(max-aspect-ratio: 319/256)": true,
    "(max-aspect-ratio: 639/512)": true,
    "(max-aspect-ratio: 1279/1024)": true,
    "(max-aspect-ratio: 2559/2048)": true,
    "(max-aspect-ratio: 5119/4096)": true,
    "(max-aspect-ratio: 10239/8192)": true,
    "(max-aspect-ratio: 20479/16384)": true,
    "(max-aspect-ratio: 40959/32768)": true,
    "(max-aspect-ratio: 81919/65536)": true,
    "(max-aspect-ratio: 163839/131072)": true,
    "(max-aspect-ratio: 327679/262144)": true,
    "(max-aspect-ratio: 655359/524288)": true,
    "(max-aspect-ratio: 1310719/1048576)": true,
    "(max-aspect-ratio: 2621439/2097152)": true,
    "(max-aspect-ratio: 5242879/4194304)": true,
    "(max-aspect-ratio: 10485759/8388608)": true,
    "(max-aspect-ratio: 20971519/16777216)": true,
    "(max-aspect-ratio: 41943039/33554432)": true,
    "(max-aspect-ratio: 83886079/67108864)": true,
    "(max-aspect-ratio: 167772159/134217728)": true,
    "(max-aspect-ratio: 335544319/268435456)": true,
    "(max-aspect-ratio: 671088639/536870912)": true,
    "(max-aspect-ratio: 1342177279/1073741824)": true,
    "(max-aspect-ratio: 2684354559/2147483648)": true,
    "(max-aspect-ratio: 5368709119/4294967296)": true,
    "(max-aspect-ratio: 10737418239/8589934592)": true,
    "(max-aspect-ratio: 21474836479/17179869184)": true,
    "(max-aspect-ratio: 42949672959/34359738368)": true,
    "(max-aspect-ratio: 85899345919/68719476736)": true,
    "(max-aspect-ratio: 171798691839/137438953472)": true,
    "(max-aspect-ratio: 343597383679/274877906944)": true,
    "(max-aspect-ratio: 687194767359/549755813888)": true,
    "(max-aspect-ratio: 1374389534719/1099511627776)": true,
    "(max-aspect-ratio: 2748779069439/2199023255552)": true,
    "(max-aspect-ratio: 5497558138879/4398046511104)": true,
    "(max-aspect-ratio: 10995116277759/8796093022208)": true,
    "(max-aspect-ratio: 21990232555519/17592186044416)": true,
    "(max-aspect-ratio: 43980465111039/35184372088832)": true,
    "(max-aspect-ratio: 87960930222079/70368744177664)": true,
    "(max-aspect-ratio: 175921860444159/140737488355328)": true,
    "(max-aspect-ratio: 351843720888319/281474976710656)": true,
    "(max-aspect-ratio: 703687441776639/562949953421312)": true,
    "(max-aspect-ratio: 1407374883553279/1125899906842624)": true,
    "(grid: 0)": true,
    "(grid: 1)": false,
    "(any-hover: none)": false,
    "(any-hover: hover)": true,
    "(q: 1)": false,
    "(max-height: 600px)": false,
    "(max-height: 1200px)": true,
    "(max-height: 900px)": true,
    "(max-height: 750px)": false,
    "(max-height: 825px)": false,
    "(max-height: 863px)": false,
    "(max-height: 882px)": false,
    "(max-height: 891px)": true,
    "(max-height: 887px)": false,
    "(max-height: 889px)": false,
    "(max-height: 890px)": false,
    "(max-width: 600px)": false,
    "(max-width: 1200px)": true,
    "(max-width: 900px)": false,
    "(max-width: 1050px)": true,
    "(max-width: 975px)": true,
    "(max-width: 938px)": true,
    "(max-width: 957px)": true,
    "(max-width: 966px)": true,
    "(max-width: 971px)": true,
    "(max-width: 973px)": true,
    "(max-width: 974px)": true,
    "(max-color-index: 1000)": true,
    "(max-color-index: 500)": true,
    "(max-color-index: 250)": true,
    "(max-color-index: 125)": true,
    "(max-color-index: 62)": true,
    "(max-color-index: 31)": true,
    "(max-color-index: 15)": true,
    "(max-color-index: 7)": true,
    "(max-color-index: 3)": true,
    "(max-color-index: 1)": true,
    "(max-color-index: 0)": true,
    "(forced-colors: none)": true,
    "(forced-colors: active)": false,
    "(prefers-reduced-transparency: no-preference)": false,
    "(prefers-reduced-transparency: reduce)": false,
    "(light-level: normal)": false,
    "(light-level: dim)": false,
    "(light-level: washed)": false,
    "(max-color: 8)": true,
    "(max-color: 4)": false,
    "(max-color: 6)": false,
    "(max-color: 7)": false,
    "(hover: none)": false,
    "(hover: hover)": true,
    "(max-monochrome: 1)": true,
    "(max-monochrome: 0)": true,
    "(prefers-reduced-motion: no-preference)": true,
    "(prefers-reduced-motion: reduce)": false,
    "(pointer: none)": false,
    "(pointer: coarse)": false,
    "(pointer: fine)": true,
    "(color-gamut: srgb)": true,
    "(color-gamut: p3)": false,
    "(color-gamut: rec2020)": false,
    "(scripting: none)": false,
    "(scripting: initial-only)": false,
    "(scripting: enabled)": false,
    "(scan: interlace)": false,
    "(scan: progressive)": false,
    "(display-mode: fullscreen)": false,
    "(display-mode: standalone)": false,
    "(display-mode: minimal-ui)": false,
    "(display-mode: browser)": true,
    "(inverted-colors: none)": false,
    "(inverted-colors: inverted)": false,
    "(overflow-block: none)": false,
    "(overflow-block: scroll)": false,
    "(overflow-block: optional-paged)": false,
    "(overflow-block: paged)": false,
    "(orientation: landscape)": true,
    "(orientation: portrait)": false,
    "(prefers-contrast: no-preference)": true,
    "(prefers-contrast: high)": false,
    "(prefers-contrast: low)": false,
    "(any-pointer: none)": false,
    "(any-pointer: coarse)": false,
    "(any-pointer: fine)": true,
    "(update: none)": false,
    "(update: slow)": false,
    "(update: fast)": false,
    "(prefers-color-scheme: no-preference)": false,
    "(prefers-color-scheme: light)": false,
    "(prefers-color-scheme: dark)": true,
    "(max-aspect-ratio: 11/8)": true,
    "(max-aspect-ratio: 23/16)": true,
    "(max-aspect-ratio: 47/32)": true,
    "(max-aspect-ratio: 95/64)": true,
    "(max-aspect-ratio: 191/128)": true,
    "(max-aspect-ratio: 383/256)": true,
    "(max-aspect-ratio: 767/512)": true,
    "(max-aspect-ratio: 1535/1024)": true,
    "(max-aspect-ratio: 3071/2048)": true,
    "(max-aspect-ratio: 6143/4096)": true,
    "(max-aspect-ratio: 12287/8192)": true,
    "(max-aspect-ratio: 24575/16384)": true,
    "(max-aspect-ratio: 49151/32768)": true,
    "(max-aspect-ratio: 98303/65536)": true,
    "(max-aspect-ratio: 196607/131072)": true,
    "(max-aspect-ratio: 393215/262144)": true,
    "(max-aspect-ratio: 786431/524288)": true,
    "(max-aspect-ratio: 1572863/1048576)": true,
    "(max-aspect-ratio: 3145727/2097152)": true,
    "(max-aspect-ratio: 6291455/4194304)": true,
    "(max-aspect-ratio: 12582911/8388608)": true,
    "(max-aspect-ratio: 25165823/16777216)": true,
    "(max-aspect-ratio: 50331647/33554432)": true,
    "(max-aspect-ratio: 100663295/67108864)": true,
    "(max-aspect-ratio: 201326591/134217728)": true,
    "(max-aspect-ratio: 402653183/268435456)": true,
    "(max-aspect-ratio: 805306367/536870912)": true,
    "(max-aspect-ratio: 1610612735/1073741824)": true,
    "(max-aspect-ratio: 3221225471/2147483648)": true,
    "(max-aspect-ratio: 6442450943/4294967296)": true,
    "(max-aspect-ratio: 12884901887/8589934592)": true,
    "(max-aspect-ratio: 25769803775/17179869184)": true,
    "(max-aspect-ratio: 51539607551/34359738368)": true,
    "(max-aspect-ratio: 103079215103/68719476736)": true,
    "(max-aspect-ratio: 206158430207/137438953472)": true,
    "(max-aspect-ratio: 412316860415/274877906944)": true,
    "(max-aspect-ratio: 824633720831/549755813888)": true,
    "(max-aspect-ratio: 1649267441663/1099511627776)": true,
    "(max-aspect-ratio: 3298534883327/2199023255552)": true,
    "(max-aspect-ratio: 6597069766655/4398046511104)": true,
    "(max-aspect-ratio: 13194139533311/8796093022208)": true,
    "(max-aspect-ratio: 26388279066623/17592186044416)": true,
    "(max-aspect-ratio: 52776558133247/35184372088832)": true,
    "(max-aspect-ratio: 105553116266495/70368744177664)": true,
    "(max-aspect-ratio: 211106232532991/140737488355328)": true,
    "(max-aspect-ratio: 422212465065983/281474976710656)": true,
    "(max-aspect-ratio: 844424930131967/562949953421312)": true,
    "(max-aspect-ratio: 1688849860263935/1125899906842624)": true,
    "(max-height: 896px)": true,
    "(max-height: 898px)": true,
    "(max-height: 899px)": true,
    "(max-width: 1013px)": true,
    "(max-width: 1032px)": true,
    "(max-width: 1041px)": true,
    "(max-width: 1046px)": true,
    "(max-width: 1048px)": true,
    "(max-width: 1049px)": true,
    "(max-aspect-ratio: 7/4)": true,
    "(max-aspect-ratio: 15/8)": true,
    "(max-aspect-ratio: 31/16)": true,
    "(max-aspect-ratio: 63/32)": true,
    "(max-aspect-ratio: 127/64)": true,
    "(max-aspect-ratio: 255/128)": true,
    "(max-aspect-ratio: 511/256)": true,
    "(max-aspect-ratio: 1023/512)": true,
    "(max-aspect-ratio: 2047/1024)": true,
    "(max-aspect-ratio: 4095/2048)": true,
    "(max-aspect-ratio: 8191/4096)": true,
    "(max-aspect-ratio: 16383/8192)": true,
    "(max-aspect-ratio: 32767/16384)": true,
    "(max-aspect-ratio: 65535/32768)": true,
    "(max-aspect-ratio: 131071/65536)": true,
    "(max-aspect-ratio: 262143/131072)": true,
    "(max-aspect-ratio: 524287/262144)": true,
    "(max-aspect-ratio: 1048575/524288)": true,
    "(max-aspect-ratio: 2097151/1048576)": true,
    "(max-aspect-ratio: 4194303/2097152)": true,
    "(max-aspect-ratio: 8388607/4194304)": true,
    "(max-aspect-ratio: 16777215/8388608)": true,
    "(max-aspect-ratio: 33554431/16777216)": true,
    "(max-aspect-ratio: 67108863/33554432)": true,
    "(max-aspect-ratio: 134217727/67108864)": true,
    "(max-aspect-ratio: 268435455/134217728)": true,
    "(max-aspect-ratio: 536870911/268435456)": true,
    "(max-aspect-ratio: 1073741823/536870912)": true,
    "(max-aspect-ratio: 2147483647/1073741824)": true,
    "(max-aspect-ratio: 4294967295/2147483648)": true,
    "(max-aspect-ratio: 8589934591/4294967296)": true,
    "(max-aspect-ratio: 17179869183/8589934592)": true,
    "(max-aspect-ratio: 34359738367/17179869184)": true,
    "(max-aspect-ratio: 68719476735/34359738368)": true,
    "(max-aspect-ratio: 137438953471/68719476736)": true,
    "(max-aspect-ratio: 274877906943/137438953472)": true,
    "(max-aspect-ratio: 549755813887/274877906944)": true,
    "(max-aspect-ratio: 1099511627775/549755813888)": true,
    "(max-aspect-ratio: 2199023255551/1099511627776)": true,
    "(max-aspect-ratio: 4398046511103/2199023255552)": true,
    "(max-aspect-ratio: 8796093022207/4398046511104)": true,
    "(max-aspect-ratio: 17592186044415/8796093022208)": true,
    "(max-aspect-ratio: 35184372088831/17592186044416)": true,
    "(max-aspect-ratio: 70368744177663/35184372088832)": true,
    "(max-aspect-ratio: 140737488355327/70368744177664)": true,
    "(max-aspect-ratio: 281474976710655/140737488355328)": true,
    "(max-aspect-ratio: 562949953421311/281474976710656)": true,
    "(max-aspect-ratio: 1125899906842623/562949953421312)": true,
    "(max-aspect-ratio: 2251799813685247/1125899906842624)": true,
    "(max-height: 1050px)": true,
    "(max-height: 1125px)": true,
    "(max-height: 1163px)": true,
    "(max-height: 1182px)": true,
    "(max-height: 1191px)": true,
    "(max-height: 1196px)": true,
    "(max-height: 1198px)": true,
    "(max-height: 1199px)": true,
    "(max-width: 1125px)": true,
    "(max-width: 1163px)": true,
    "(max-width: 1182px)": true,
    "(max-width: 1191px)": true,
    "(max-width: 1196px)": true,
    "(max-width: 1198px)": true,
    "(max-width: 1199px)": true,
    "(max-resolution: 192dpi)": true,
    "(max-resolution: 384dpi)": true,
    "(max-resolution: 768dpi)": true,
    "(max-resolution: 1536dpi)": true,
    "(max-resolution: 3072dpi)": true,
    "(max-resolution: 6144dpi)": true,
    "(max-resolution: 12288dpi)": true,
    "(max-resolution: 24576dpi)": true,
    "(max-resolution: 49152dpi)": true,
    "(max-resolution: 98304dpi)": true,
    "(max-resolution: 196608dpi)": true,
    "(max-resolution: 393216dpi)": true,
    "(max-resolution: 786432dpi)": true,
    "(max-resolution: 1572864dpi)": true,
    "(max-resolution: 3145728dpi)": true,
    "(max-resolution: 6291456dpi)": true,
    "(max-resolution: 12582912dpi)": true,
    "(max-resolution: 25165824dpi)": true,
    "(max-resolution: 50331648dpi)": true,
    "(max-resolution: 100663296dpi)": true,
    "(max-resolution: 201326592dpi)": true,
    "(max-resolution: 402653184dpi)": true,
    "(max-resolution: 805306368dpi)": true,
    "(max-resolution: 1610612736dpi)": true,
    "(max-resolution: 3221225472dpi)": true,
    "(max-resolution: 6442450944dpi)": true,
    "(max-resolution: 12884901888dpi)": true,
    "(max-resolution: 25769803776dpi)": true,
    "(max-resolution: 51539607552dpi)": true,
    "(max-resolution: 103079215104dpi)": true,
    "(max-resolution: 206158430208dpi)": true,
    "(max-resolution: 412316860416dpi)": true,
    "(max-resolution: 824633720832dpi)": true,
    "(max-resolution: 1649267441664dpi)": true,
    "(max-resolution: 3298534883328dpi)": true,
    "(max-resolution: 6597069766656dpi)": true,
    "(max-resolution: 13194139533312dpi)": true,
    "(max-resolution: 26388279066624dpi)": true,
    "(max-resolution: 52776558133248dpi)": true,
    "(max-resolution: 105553116266496dpi)": true,
    "(max-resolution: 211106232532992dpi)": true,
    "(max-resolution: 422212465065984dpi)": true,
    "(max-resolution: 844424930131968dpi)": true,
    "(max-resolution: 1688849860263936dpi)": true,
    "(max-resolution: 3377699720527872dpi)": true,
    "(max-resolution: 6755399441055744dpi)": true,
    "(max-resolution: 13510798882111488dpi)": true,
    "(max-resolution: 27021597764222976dpi)": true,
    "(max-resolution: 20266198323167230dpi)": true,
    "(max-resolution: 23643898043695104dpi)": true,
    "(max-resolution: 25332747903959040dpi)": true,
    "(max-resolution: 26177172834091010dpi)": true,
    "(max-resolution: 26599385299156990dpi)": true,
    "(max-resolution: 26810491531689984dpi)": true,
    "(max-resolution: 26916044647956480dpi)": true,
    "(max-resolution: 26968821206089730dpi)": true,
    "(max-resolution: 26995209485156350dpi)": true,
    "(max-resolution: 27008403624689664dpi)": true,
    "(max-resolution: 27015000694456320dpi)": true,
    "(max-resolution: 27018299229339650dpi)": true,
    "(max-resolution: 27019948496781310dpi)": true,
    "(max-resolution: 27020773130502144dpi)": true,
    "(max-resolution: 27021185447362560dpi)": true,
    "(max-resolution: 27021391605792770dpi)": true,
    "(max-resolution: 27021494685007870dpi)": true,
    "(max-resolution: 27021546224615424dpi)": true,
    "(max-resolution: 27021571994419200dpi)": true,
    "(max-resolution: 27021584879321090dpi)": true,
    "(max-resolution: 27021591321772030dpi)": true,
    "(max-resolution: 27021594542997504dpi)": true,
    "(max-resolution: 27021596153610240dpi)": true,
    "(max-resolution: 27021596958916610dpi)": true,
    "(max-resolution: 27021597361569790dpi)": true,
    "(max-resolution: 27021597562896384dpi)": true,
    "(max-resolution: 27021597663559680dpi)": true,
    "(max-resolution: 27021597713891330dpi)": true,
    "(max-resolution: 27021597739057150dpi)": true,
    "(max-resolution: 27021597751640064dpi)": true,
    "(max-resolution: 27021597757931520dpi)": true,
    "(max-resolution: 27021597761077250dpi)": true,
    "(max-resolution: 27021597762650110dpi)": true,
    "(max-resolution: 27021597763436544dpi)": true,
    "(max-resolution: 27021597763829760dpi)": true,
    "(max-resolution: 27021597764026370dpi)": true,
    "(max-resolution: 27021597764124670dpi)": true,
    "(max-resolution: 27021597764173824dpi)": true,
    "(max-resolution: 27021597764198400dpi)": true,
    "(max-resolution: 27021597764210690dpi)": true,
    "(max-resolution: 27021597764216830dpi)": true,
    "(max-resolution: 27021597764219904dpi)": true,
    "(max-resolution: 27021597764221440dpi)": true,
    "(max-resolution: 27021597764222210dpi)": true,
    "(max-resolution: 27021597764222590dpi)": true,
    "(max-resolution: 27021597764222784dpi)": true,
    "(max-resolution: 27021597764222880dpi)": true,
    "(max-resolution: 27021597764222930dpi)": true,
    "(max-resolution: 27021597764222950dpi)": true,
    "(max-resolution: 27021597764222964dpi)": true,
    "(max-aspect-ratio: 3/1)": true,
    "(max-aspect-ratio: 4/1)": true,
    "(max-aspect-ratio: 5/1)": true,
    "(max-aspect-ratio: 6/1)": true,
    "(max-aspect-ratio: 7/1)": true,
    "(max-aspect-ratio: 8/1)": true,
    "(max-aspect-ratio: 9/1)": true,
    "(max-aspect-ratio: 10/1)": true,
    "(max-aspect-ratio: 11/1)": true,
    "(max-aspect-ratio: 12/1)": true,
    "(max-aspect-ratio: 13/1)": true,
    "(max-aspect-ratio: 14/1)": true,
    "(max-aspect-ratio: 15/1)": true,
    "(max-aspect-ratio: 16/1)": true,
    "(max-aspect-ratio: 17/1)": true,
    "(max-aspect-ratio: 18/1)": true,
    "(max-aspect-ratio: 19/1)": true,
    "(max-aspect-ratio: 20/1)": true,
    "(max-aspect-ratio: 21/1)": true,
    "(max-aspect-ratio: 22/1)": true,
    "(max-aspect-ratio: 23/1)": true,
    "(max-aspect-ratio: 24/1)": true,
    "(max-aspect-ratio: 25/1)": true,
    "(max-aspect-ratio: 26/1)": true,
    "(max-aspect-ratio: 27/1)": true,
    "(max-aspect-ratio: 28/1)": true,
    "(max-aspect-ratio: 29/1)": true,
    "(max-aspect-ratio: 30/1)": true,
    "(max-aspect-ratio: 31/1)": true,
    "(max-aspect-ratio: 32/1)": true,
    "(max-aspect-ratio: 33/1)": true,
    "(max-aspect-ratio: 34/1)": true,
    "(max-aspect-ratio: 35/1)": true,
    "(max-aspect-ratio: 36/1)": true,
    "(max-aspect-ratio: 37/1)": true,
    "(max-aspect-ratio: 38/1)": true,
    "(max-aspect-ratio: 39/1)": true,
    "(max-aspect-ratio: 40/1)": true,
    "(max-aspect-ratio: 41/1)": true,
    "(max-aspect-ratio: 42/1)": true,
    "(max-aspect-ratio: 43/1)": true,
    "(max-aspect-ratio: 44/1)": true,
    "(max-aspect-ratio: 45/1)": true,
    "(max-aspect-ratio: 46/1)": true,
    "(max-aspect-ratio: 47/1)": true,
    "(max-aspect-ratio: 48/1)": true,
    "(max-aspect-ratio: 49/1)": true,
    "(max-aspect-ratio: 50/1)": true,
    "(max-aspect-ratio: 51/1)": true,
    "(max-aspect-ratio: 101/2)": true,
    "(max-aspect-ratio: 203/4)": true,
    "(max-aspect-ratio: 407/8)": true,
    "(max-aspect-ratio: 815/16)": true,
    "(max-aspect-ratio: 1631/32)": true,
    "(max-aspect-ratio: 3263/64)": true,
    "(max-aspect-ratio: 6527/128)": true,
    "(max-aspect-ratio: 13055/256)": true,
    "(max-aspect-ratio: 26111/512)": true,
    "(max-aspect-ratio: 52223/1024)": true,
    "(max-aspect-ratio: 104447/2048)": true,
    "(max-aspect-ratio: 208895/4096)": true,
    "(max-aspect-ratio: 417791/8192)": true,
    "(max-aspect-ratio: 835583/16384)": true,
    "(max-aspect-ratio: 1671167/32768)": true,
    "(max-aspect-ratio: 3342335/65536)": true,
    "(max-aspect-ratio: 6684671/131072)": true,
    "(max-aspect-ratio: 13369343/262144)": true,
    "(max-aspect-ratio: 26738687/524288)": true,
    "(max-aspect-ratio: 53477375/1048576)": true,
    "(max-aspect-ratio: 106954751/2097152)": true,
    "(max-aspect-ratio: 213909503/4194304)": true,
    "(max-aspect-ratio: 427819007/8388608)": true,
    "(max-aspect-ratio: 855638015/16777216)": true,
    "(max-aspect-ratio: 1711276031/33554432)": true,
    "(max-aspect-ratio: 3422552063/67108864)": true,
    "(max-aspect-ratio: 6845104127/134217728)": true,
    "(max-aspect-ratio: 13690208255/268435456)": true,
    "(max-aspect-ratio: 27380416511/536870912)": true,
    "(max-aspect-ratio: 54760833023/1073741824)": true,
    "(max-aspect-ratio: 109521666047/2147483648)": true,
    "(max-aspect-ratio: 219043332095/4294967296)": true,
    "(max-aspect-ratio: 438086664191/8589934592)": true,
    "(max-aspect-ratio: 876173328383/17179869184)": true,
    "(max-aspect-ratio: 1752346656767/34359738368)": true,
    "(max-aspect-ratio: 3504693313535/68719476736)": true,
    "(max-aspect-ratio: 7009386627071/137438953472)": true,
    "(max-aspect-ratio: 14018773254143/274877906944)": true,
    "(max-aspect-ratio: 28037546508287/549755813888)": true,
    "(max-aspect-ratio: 56075093016575/1099511627776)": true,
    "(max-aspect-ratio: 112150186033151/2199023255552)": true,
    "(max-aspect-ratio: 224300372066303/4398046511104)": true,
    "(max-aspect-ratio: 448600744132607/8796093022208)": true,
    "(max-aspect-ratio: 897201488265215/17592186044416)": true,
    "(max-aspect-ratio: 1794402976530431/35184372088832)": true,
    "(max-aspect-ratio: 3588805953060863/70368744177664)": true,
    "(max-aspect-ratio: 7177611906121727/140737488355328)": true,
    "(max-height: 2400px)": true,
    "(max-height: 4800px)": true,
    "(max-height: 9600px)": true,
    "(max-height: 19200px)": true,
    "(max-height: 38400px)": true,
    "(max-height: 76800px)": true,
    "(max-height: 153600px)": true,
    "(max-height: 307200px)": true,
    "(max-height: 614400px)": true,
    "(max-height: 1228800px)": true,
    "(max-height: 2457600px)": true,
    "(max-height: 4915200px)": true,
    "(max-height: 9830400px)": true,
    "(max-height: 19660800px)": true,
    "(max-height: 39321600px)": true,
    "(max-height: 78643200px)": true,
    "(max-height: 157286400px)": true,
    "(max-height: 314572800px)": true,
    "(max-height: 629145600px)": true,
    "(max-height: 1258291200px)": true,
    "(max-height: 2516582400px)": true,
    "(max-height: 5033164800px)": true,
    "(max-height: 10066329600px)": true,
    "(max-height: 20132659200px)": true,
    "(max-height: 40265318400px)": true,
    "(max-height: 80530636800px)": true,
    "(max-height: 161061273600px)": true,
    "(max-height: 322122547200px)": true,
    "(max-height: 644245094400px)": true,
    "(max-height: 1288490188800px)": true,
    "(max-height: 2576980377600px)": true,
    "(max-height: 5153960755200px)": true,
    "(max-height: 10307921510400px)": true,
    "(max-height: 20615843020800px)": true,
    "(max-height: 41231686041600px)": true,
    "(max-height: 82463372083200px)": true,
    "(max-height: 164926744166400px)": true,
    "(max-height: 329853488332800px)": true,
    "(max-height: 659706976665600px)": true,
    "(max-height: 1319413953331200px)": true,
    "(max-height: 2638827906662400px)": true,
    "(max-height: 5277655813324800px)": true,
    "(max-height: 10555311626649600px)": true,
    "(max-height: 21110623253299200px)": true,
    "(max-height: 42221246506598400px)": true,
    "(max-height: 84442493013196800px)": true,
    "(max-height: 168884986026393600px)": true,
    "(max-height: 337769972052787200px)": true,
    "(max-height: 675539944105574400px)": true,
    "(max-height: 506654958079180800px)": true,
    "(max-height: 591097451092377600px)": true,
    "(max-height: 633318697598976000px)": true,
    "(max-height: 654429320852275200px)": true,
    "(max-height: 664984632478924800px)": true,
    "(max-height: 670262288292249600px)": true,
    "(max-height: 672901116198912000px)": true,
    "(max-height: 674220530152243200px)": true,
    "(max-height: 674880237128908800px)": true,
    "(max-height: 675210090617241600px)": true,
    "(max-height: 675375017361408000px)": true,
    "(max-height: 675457480733491200px)": true,
    "(max-height: 675498712419532800px)": true,
    "(max-height: 675519328262553600px)": true,
    "(max-height: 675529636184064000px)": true,
    "(max-height: 675534790144819200px)": true,
    "(max-height: 675537367125196800px)": true,
    "(max-height: 675538655615385600px)": true,
    "(max-height: 675539299860480000px)": true,
    "(max-height: 675539621983027200px)": true,
    "(max-height: 675539783044300800px)": true,
    "(max-height: 675539863574937600px)": true,
    "(max-height: 675539903840256000px)": true,
    "(max-height: 675539923972915200px)": true,
    "(max-height: 675539934039244800px)": true,
    "(max-height: 675539939072409600px)": true,
    "(max-height: 675539941588992000px)": true,
    "(max-height: 675539942847283200px)": true,
    "(max-height: 675539943476428800px)": true,
    "(max-height: 675539943791001600px)": true,
    "(max-height: 675539943948288000px)": true,
    "(max-height: 675539944026931200px)": true,
    "(max-height: 675539944066252800px)": true,
    "(max-height: 675539944085913600px)": true,
    "(max-height: 675539944095744000px)": true,
    "(max-height: 675539944100659200px)": true,
    "(max-height: 675539944103116800px)": true,
    "(max-height: 675539944104345600px)": true,
    "(max-height: 675539944104960000px)": true,
    "(max-height: 675539944105267200px)": true,
    "(max-height: 675539944105420800px)": true,
    "(max-height: 675539944105497600px)": true,
    "(max-height: 675539944105536000px)": true,
    "(max-height: 675539944105555200px)": true,
    "(max-height: 675539944105564800px)": true,
    "(max-height: 675539944105569500px)": true,
    "(max-height: 675539944105572000px)": true,
    "(max-height: 675539944105573100px)": true,
    "(max-height: 675539944105573800px)": true,
    "(max-height: 675539944105574100px)": true,
    "(max-width: 2400px)": true,
    "(max-width: 4800px)": true,
    "(max-width: 9600px)": true,
    "(max-width: 19200px)": true,
    "(max-width: 38400px)": true,
    "(max-width: 76800px)": true,
    "(max-width: 153600px)": true,
    "(max-width: 307200px)": true,
    "(max-width: 614400px)": true,
    "(max-width: 1228800px)": true,
    "(max-width: 2457600px)": true,
    "(max-width: 4915200px)": true,
    "(max-width: 9830400px)": true,
    "(max-width: 19660800px)": true,
    "(max-width: 39321600px)": true,
    "(max-width: 78643200px)": true,
    "(max-width: 157286400px)": true,
    "(max-width: 314572800px)": true,
    "(max-width: 629145600px)": true,
    "(max-width: 1258291200px)": true,
    "(max-width: 2516582400px)": true,
    "(max-width: 5033164800px)": true,
    "(max-width: 10066329600px)": true,
    "(max-width: 20132659200px)": true,
    "(max-width: 40265318400px)": true,
    "(max-width: 80530636800px)": true,
    "(max-width: 161061273600px)": true,
    "(max-width: 322122547200px)": true,
    "(max-width: 644245094400px)": true,
    "(max-width: 1288490188800px)": true,
    "(max-width: 2576980377600px)": true,
    "(max-width: 5153960755200px)": true,
    "(max-width: 10307921510400px)": true,
    "(max-width: 20615843020800px)": true,
    "(max-width: 41231686041600px)": true,
    "(max-width: 82463372083200px)": true,
    "(max-width: 164926744166400px)": true,
    "(max-width: 329853488332800px)": true,
    "(max-width: 659706976665600px)": true,
    "(max-width: 1319413953331200px)": true,
    "(max-width: 2638827906662400px)": true,
    "(max-width: 5277655813324800px)": true,
    "(max-width: 10555311626649600px)": true,
    "(max-width: 21110623253299200px)": true,
    "(max-width: 42221246506598400px)": true,
    "(max-width: 84442493013196800px)": true,
    "(max-width: 168884986026393600px)": true,
    "(max-width: 337769972052787200px)": true,
    "(max-width: 675539944105574400px)": true,
    "(max-width: 506654958079180800px)": true,
    "(max-width: 591097451092377600px)": true,
    "(max-width: 633318697598976000px)": true,
    "(max-width: 654429320852275200px)": true,
    "(max-width: 664984632478924800px)": true,
    "(max-width: 670262288292249600px)": true,
    "(max-width: 672901116198912000px)": true,
    "(max-width: 674220530152243200px)": true,
    "(max-width: 674880237128908800px)": true,
    "(max-width: 675210090617241600px)": true,
    "(max-width: 675375017361408000px)": true,
    "(max-width: 675457480733491200px)": true,
    "(max-width: 675498712419532800px)": true,
    "(max-width: 675519328262553600px)": true,
    "(max-width: 675529636184064000px)": true,
    "(max-width: 675534790144819200px)": true,
    "(max-width: 675537367125196800px)": true,
    "(max-width: 675538655615385600px)": true,
    "(max-width: 675539299860480000px)": true,
    "(max-width: 675539621983027200px)": true,
    "(max-width: 675539783044300800px)": true,
    "(max-width: 675539863574937600px)": true,
    "(max-width: 675539903840256000px)": true,
    "(max-width: 675539923972915200px)": true,
    "(max-width: 675539934039244800px)": true,
    "(max-width: 675539939072409600px)": true,
    "(max-width: 675539941588992000px)": true,
    "(max-width: 675539942847283200px)": true,
    "(max-width: 675539943476428800px)": true,
    "(max-width: 675539943791001600px)": true,
    "(max-width: 675539943948288000px)": true,
    "(max-width: 675539944026931200px)": true,
    "(max-width: 675539944066252800px)": true,
    "(max-width: 675539944085913600px)": true,
    "(max-width: 675539944095744000px)": true,
    "(max-width: 675539944100659200px)": true,
    "(max-width: 675539944103116800px)": true,
    "(max-width: 675539944104345600px)": true,
    "(max-width: 675539944104960000px)": true,
    "(max-width: 675539944105267200px)": true,
    "(max-width: 675539944105420800px)": true,
    "(max-width: 675539944105497600px)": true,
    "(max-width: 675539944105536000px)": true,
    "(max-width: 675539944105555200px)": true,
    "(max-width: 675539944105564800px)": true,
    "(max-width: 675539944105569500px)": true,
    "(max-width: 675539944105572000px)": true,
    "(max-width: 675539944105573100px)": true,
    "(max-width: 675539944105573800px)": true,
    "(max-width: 675539944105574100px)": true
}

Object.defineProperties(MediaQueryList.prototype, {
    addListener: {
        addListener() {
            v_console_log("  [*] MediaQueryList -> addListener[get]", {});
            return {}
        }
    },
    removeListener: {
        removeListener() {
            v_console_log("  [*] MediaQueryList -> removeListener[get]", {});
            return {}
        }
    },
    // matches: {"value":0,"writable":true,"enumerable":true,"configurable":false},
    matches: {
        get() {
            medias.push(this.type[0]);
            let t = mediaRes[this.type[0]];
            if (t === undefined) {
                t = false;
            }
            v_console_log("  [*] MediaQueryList -> matches[get]", this.type[0], t);

            return t;
        }
    },

    media: {"value": 1, "writable": true, "enumerable": true, "configurable": false},
    onchange: {"value": 2, "writable": true, "enumerable": true, "configurable": false},
})
DOMParser = v_saf(function DOMParser() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Element, Node)
FileReader = v_saf(function FileReader() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Element, Node)
Audio = v_saf(function Audio() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Element, Node)
Option = v_saf(function Option() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Element, Node)
IntersectionObserver = v_saf(function IntersectionObserver() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Element, Node)
MediaStream = v_saf(function MediaStream() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Element, Node)
Path2D = v_saf(function Path2D() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Element, Node)
Text = v_saf(function Text() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Element, Node)
XMLSerializer = v_saf(function XMLSerializer() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Element, Node)
PublicKeyCredential = v_saf(function PublicKeyCredential() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Element, Node)
AuthenticatorAssertionResponse = v_saf(function AuthenticatorAssertionResponse() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Element, Node)
AuthenticatorAttestationResponse = v_saf(function AuthenticatorAttestationResponse() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Element, Node)
AuthenticatorResponse = v_saf(function AuthenticatorResponse() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Element, Node)
XMLDocument = v_saf(function XMLDocument() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Element, Node)
DOMPoint = v_saf(function DOMPoint() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Element, Node)
DOMPointReadOnly = v_saf(function DOMPointReadOnly() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Element, Node)
External = v_saf(function External() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Element, Node)
mozRTCPeerConnection = v_saf(function mozRTCPeerConnection() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Element, Node)

window.URL = class URL{
    constructor() {
    }
}
window.URL = proxy(window.URL, 'URL')
window.URL.createObjectURL = function () {
    console.log('createObjectURL', arguments)

    return proxy({
        blob: arguments[0],
        href: 'https://www.jetblue.com/',
        origin: 'https://www.jetblue.com/',
        protocol: 'https',


    }, 'URL')
}
document.__proto__ = HTMLDocument.prototype
window.document = document
window.Animation = Animation;
window.Worker = proxy(Worker, 'Worker')
window.URL = URL;
window.WebGLRenderingContext = WebGLRenderingContext;
window.HTMLCanvasElement = HTMLCanvasElement;
window.UIEvent = UIEvent;
window.clearInterval = clearInterval;
window.setInterval = setInterval
window.XMLDocument = XMLDocument;
window.crypto = crypto
window.DOMPoint = DOMPoint;
window.DOMPointReadOnly = DOMPointReadOnly;
window.External = External;
window.Blob = Blob;
window.Comment = Comment;
window.Document = Document;
window.DOMException = DOMException;
window.DOMMatrixReadOnly = DOMMatrixReadOnly;
window.RTCPeerConnection = RTCPeerConnection;
window.DOMParser = DOMParser;
window.FileReader = FileReader;
window.FormData = FormData;
window.Audio = Audio;
window.Image = Image;
window.Option = Option;
window.IntersectionObserver = IntersectionObserver;
window.MediaStream = MediaStream;
window.MessageChannel = MessageChannel;
window.Path2D = Path2D;
window.PerformanceObserver = PerformanceObserver;
window.ReadableStream = ReadableStream;
window.Text = Text;
window.TextDecoderStream = TextDecoderStream;
window.TextEncoderStream = TextEncoderStream;
window.TransformStream = TransformStream;
window.URLSearchParams = URLSearchParams;
window.XMLHttpRequest = XMLHttpRequest;
window.XMLSerializer = XMLSerializer;
window.PublicKeyCredential = PublicKeyCredential;
window.AuthenticatorAssertionResponse = AuthenticatorAssertionResponse;
window.AuthenticatorAttestationResponse = AuthenticatorAttestationResponse;
window.AuthenticatorResponse = AuthenticatorResponse;

window.pageYOffset = ENV.windowparams.pageyoffset || 0
external = v_new(External)
// external.__proto__ = External.prototype
window.external = external
window.console = console;
// localStorage = dtavm.proxy(storage, 'localStorage');
localStorage = storage;
window.localStorage = localStorage
// sessionStorage = dtavm.proxy(storage, 'sessionStorage');
sessionStorage = storage;
window.Boolean = Boolean;
window.sessionStorage = sessionStorage;
window.fetch = fetch;
window.navigator = navigator;
History = v_saf(function History() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
BarProp = v_saf(function BarProp() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
Object.defineProperties(BarProp.prototype, {
    visible: {
        get() {
            return true;
        }
    }
})
Object.defineProperties(History.prototype, {
    replaceState: {
        value: v_saf(function replaceState() {
            v_console_log("  [*] History -> replaceState[func]", [].slice.call(arguments));
        })
    },
    length: {
        get() {
            v_console_log("  [*] History -> length[get]", 3);
            if (sid === '8ffdff7b995c8ad51d902ff0') {
                return 4
            }
            // return 4;
            return parseInt(Math.random() *10 +2);
        }
    },
    [Symbol.toStringTag]: {value: "History", writable: false, enumerable: false, configurable: true},
})

// window.SharedArrayBuffer = SharedArrayBuffer
window.WebAssembly = WebAssembly
// window.window = window;
// Object.defineProperty(window, [Symbol.toPrimitive], {
//     value:function (){
//         return NaN
// }
// })

history = v_new(History)
// window = dtavm.proxy(window,"window"); //代理器代理之后，会创建一个新对象
window.self = window;
window.toolbar = v_new(BarProp)
window.locationbar = v_new(BarProp)
window.history = history
_setTimeout = setTimeout
timesIds = 0;
window.setTimeout = setTimeout
window.setTimeout = function setTimeout(func, delay) {
    // console.log(func, delay)
    // if (delay==0)func()
    try {
        // console.log(func)
        if (delay == 0 && timeout) {
            return _setTimeout.call(this, func, delay)
        }
        // func()
    } catch (e) {
    }
    // _setTimeout.call(this, func, 1)
    timesIds++;
    return timesIds;
};

v_hook_href(HTMLAnchorElement.prototype, 'HTMLAnchorElement', 'https://www.jetblue.com/booking/flights?from=LAS&to=BOS&depart=2023-07-10&isMultiCity=false&noOfRoute=1&lang=en&adults=1&children=0&infants=0&sharedMarket=false&roundTripFaresFlag=false&usePoints=false')

window.Reflect = Reflect
window.Error = Error;
window.JSON = JSON;
// window.crypto = crypto
window.Uint32Array = Uint32Array
// window.window = window;
// window = dtavm.proxy(window, 'window')
// window.__proto__ = Window
window.undefined = undefined;
window.isFinite = isFinite;
window.unescape = unescape;
window.TypeError = TypeError;
window.Infinity = Infinity;

window.getComputedStyle = v_saf(function getComputedStyle(element) {
    v_console_log(' getComputedStyle ', element)
});
window.matchMedia = function matchMedia(type) {
    let t = v_new(MediaQueryList)
    t.type = arguments
    return t;
}
window.clearTimeout = clearTimeout
window.window = window;

// window = dtavm.proxy(window, 'window')

this == global; //global就是全局上下文代理对象；

this != window; // this 是global 但是 window是代理器，所以这里是 !=;

_console2 = function () {
};
// _console2 = console.log;


print('-------------------------------------')
console.log('当前times', times)
print(events)
print(v_events)
// window.debug = true
startx = parseInt(1000 * _random())
starty = parseInt(1000 * _random())
endx = parseInt(1000 * _random())
endy = parseInt(1000 * _random())
// window.debug = true
// window.mouse_move(startx,starty,endx,endy)
// window.debug = false

// window.mouse_click
// events['mousemove'](window.mouse_move())

// debug = true;
setInterval(function () {
    if (randomEvent){
    window.mouse_move(startx,starty,endx,endy)

    }

    var xhr = new XMLHttpRequest();
    xhr.open('POST', "https://www-useast1a.tiktok.com/passport/web/user/login/?multi_login=1&did=7294541073777427986&aid=1459&account_sdk_source=web&sdk_version=2.0.3-tiktok&language=en&verifyFp=verify_lo8b6mg7_Zr2zGrIg_qP3A_4q9A_8PrO_mEIz1bvGNQUL&target_aid=&shark_extra=%7B%22aid%22:1459,%22app_name%22:%22Tik_Tok_Login%22,%22channel%22:%22tiktok_web%22,%22device_platform%22:%22web_pc%22,%22device_id%22:%227294541073777427986%22,%22region%22:%22SG%22,%22priority_region%22:%22%22,%22os%22:%22mac%22,%22referer%22:%22%22,%22cookie_enabled%22:true,%22screen_width%22:1920,%22screen_height%22:1080,%22browser_language%22:%22en-US%22,%22browser_platform%22:%22MacIntel%22,%22browser_name%22:%22Mozilla%22,%22browser_version%22:%225.0+(Macintosh%3B+Intel+Mac+OS+X+10_15_7)+AppleWebKit%2F537.36+(KHTML,+like+Gecko)+Chrome%2F117.0.0.0+Safari%2F537.36%22,%22browser_online%22:true,%22verifyFp%22:%22verify_lo8b6mg7_Zr2zGrIg_qP3A_4q9A_8PrO_mEIz1bvGNQUL%22,%22app_language%22:%22e", false);
    xhr.send("{\"tripType\":\"oneWay\",\"from\":\"ZLA\",\"to\":\"NAS\",\"depart\":\"2023-04-11\",\"cabin\":\"economy\",\"refundable\":false,\"dates\":{\"before\":\"3\",\"after\":\"3\"},\"pax\":{\"ADT\":1,\"CHD\":0,\"INF\":0,\"UNN\":0},\"redempoint\":false,\"pointsBreakup\":{\"option\":\"\",\"value\":0},\"isMultiCity\":false}")
    xhr.setRequestHeader('user-agent', ENV.navigatorparams.useragent)
    print(JSON.stringify(xhr.headers))
    _process.exit(0)
}, 1000)

// fetch("https://jbrest.jetblue.com/lfs-rwb/outboundLFS", {
//     "headers": {
//         "accept": "application/json",
//         "accept-language": "en-US,en;q=0.9",
//         "api-version": "v3",
//         "application-channel": "Mobile_Web_Android",
//         "booking-application-type": "NGB",
//         "cache-control": "no-cache",
//         "content-type": "application/json",
//         "pragma": "no-cache",
//         "sec-ch-ua": "\"Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111\"",
//         "sec-ch-ua-mobile": "?0",
//         "sec-ch-ua-platform": "\"Windows\"",
//         "sec-fetch-dest": "empty",
//         "sec-fetch-mode": "cors",
//         "sec-fetch-site": "same-site",
//     },
//     "referrer": "https://www.jetblue.com/booking/flights?from=ZLA&to=NAS&depart=2023-04-11&isMultiCity=false&noOfRoute=1&lang=en&adults=1&children=0&infants=0&sharedMarket=false&roundTripFaresFlag=false&usePoints=false",
//     "referrerPolicy": "no-referrer-when-downgrade",
//     "body": "{\"tripType\":\"oneWay\",\"from\":\"ZLA\",\"to\":\"NAS\",\"depart\":\"2023-04-11\",\"cabin\":\"economy\",\"refundable\":false,\"dates\":{\"before\":\"3\",\"after\":\"3\"},\"pax\":{\"ADT\":1,\"CHD\":0,\"INF\":0,\"UNN\":0},\"redempoint\":false,\"pointsBreakup\":{\"option\":\"\",\"value\":0},\"isMultiCity\":false}",
//     "method": "POST",
//     "credentials": "omit"
// }).then(r => {
//     console.log(r.status)
//     console.log(times)
// })

console.timeEnd("处理完毕，耗时");

//
// const express = require('express')
// const app = express()
//
// app.get('/', (req, res) => {
//     console.log('当前times', times)
//
//     var xhr = new XMLHttpRequest();
//     xhr.open('POST', "https://jbrest.jetblue.com/lfs-rwb/outboundLFS", false);
//     xhr.send("")
//     xhr.setRequestHeader('user-agent', navis.userAgent)
//     // console.log(xhr.headers)
//     console.log('结束times', times)
//     res.send(JSON.stringify(xhr.headers))
//
// })
// const port = 3001
//
// app.listen(port, () => {
//     console.log(`Example app listening on port ${port}`)
// })

let reProxy = function (tt, name) {
    return new Proxy(tt, {
        get(target, p, receiver) {
            let res = Reflect.get(target, p, receiver);
            if (p !== 'debug' && p !== 'Object') {
                console.log(`${name} get`, p, typeof res)
            }
            // if (p === 'offsetHeight'){
            //   debugger;
            // }
            if (p === 'exec') {
                return v_saf(function (args) {
                    console.log(`${name} exec`, args)

                    return /{\s*\[\s*native\s+code\s*]\s*}\s*$/.exec(args)
                })
            }
            // console.log(Reflect.get(target, '_cf_chl_ctx', receiver))

            if (!['_registeredHandlers', 'window', '_currentEvent', 'debug', '_eventListenerss', 'top', 'prototype'].includes(p) && res && typeof res === 'object' && typeof p !== 'symbol') {
                return proxy(res, p)
            }
            return res;
        },
        // getPrototypeOf(target) {
        //
        // },

        set(target, p, newValue, receiver) {
            console.log(`${name} set`, p, typeof newValue)

            return Reflect.set(target, p, newValue, receiver)
        }
    })
};
function def(data,key, v){
    if (Array.isArray(data.value[key])){
        data.value[key][1] = v

    }else{
    data.value[key] = [[], v]

    }
    return data
}

// _getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
// Object.getOwnPropertyDescriptor = function (p, v){
//     let res = _getOwnPropertyDescriptor(p,v)
//     console.log('_getOwnPropertyDescriptor', v, res)
//     return res;
// }

_defin = Object.defineProperty;
Object.defineProperty = v_saf(function (p, v, d) {
    // console.log('define',  v, d)
    if (v === 'positionalSignals') {
        if (Array.isArray(d.value) && d.value.length> 60) {
            let res = [];
            d.value.forEach((e, i) => {
                if (e && e.length == 2) {
                    res.push(i + '==' + e[1].length + '=>')
                    res.push(e[1] + '')
                } else {
                    res.push(i + '==0=>iii')
                }

            })
            print([].slice.call(res).join('iii'))
        }
    }
    if (v === 'outerArgs') {
        // debugger;
        d.value = undefined;
    }
    // if (v === 'stack' && Object.keys(d).length === 1) {
    //     // debugger;
    //     d.get = undefined
    //     // throw TypeError('asdasd')
    // }
    if ((v === 'c' || v === 'd' || v === 'b') && d.value === false) {
        d.value = true;
        // debugger;
    }
    return _defin(p, v, d)
})

_join = Array.prototype.join;
Array.prototype.join = v_saf(function (s) {
    console.log('join',this.length, this, s)
    if (this[0] === 'assert'){
        if (ENV.consoleprops){
            // ENV.consoleprops.sort(sortRandom)
            return _join.call(ENV.consoleprops, s)
        }
        return _join.call([
    "assert",
    "clear",
    "context",
    "count",
    "countReset",
    "createTask",
    "debug",
    "dir",
    "dirxml",
    "error",
    "group",
    "groupCollapsed",
    "groupEnd",
    "info",
    "log",
    "memory",
    "profile",
    "profileEnd",
    "table",
    "time",
    "timeEnd",
    "timeLog",
    "timeStamp",
    "trace",
    "warn"
], s)
    }
    if (this.length === 438){
        // this.sort(sortRandom)
        //
        if (ENV.webglprops){
            return _join.call(ENV.webglprops, s)
        }
        return 'canvas|drawingBufferWidth|drawingBufferHeight|drawingBufferColorSpace|unpackColorSpace|DEPTH_BUFFER_BIT|STENCIL_BUFFER_BIT|COLOR_BUFFER_BIT|POINTS|LINES|LINE_LOOP|LINE_STRIP|TRIANGLES|TRIANGLE_STRIP|TRIANGLE_FAN|ZERO|ONE|SRC_COLOR|ONE_MINUS_SRC_COLOR|SRC_ALPHA|ONE_MINUS_SRC_ALPHA|DST_ALPHA|ONE_MINUS_DST_ALPHA|DST_COLOR|ONE_MINUS_DST_COLOR|SRC_ALPHA_SATURATE|FUNC_ADD|BLEND_EQUATION|BLEND_EQUATION_RGB|BLEND_EQUATION_ALPHA|FUNC_SUBTRACT|FUNC_REVERSE_SUBTRACT|BLEND_DST_RGB|BLEND_SRC_RGB|BLEND_DST_ALPHA|BLEND_SRC_ALPHA|CONSTANT_COLOR|ONE_MINUS_CONSTANT_COLOR|CONSTANT_ALPHA|ONE_MINUS_CONSTANT_ALPHA|BLEND_COLOR|ARRAY_BUFFER|ELEMENT_ARRAY_BUFFER|ARRAY_BUFFER_BINDING|ELEMENT_ARRAY_BUFFER_BINDING|STREAM_DRAW|STATIC_DRAW|DYNAMIC_DRAW|BUFFER_SIZE|BUFFER_USAGE|CURRENT_VERTEX_ATTRIB|FRONT|BACK|FRONT_AND_BACK|TEXTURE_2D|CULL_FACE|BLEND|DITHER|STENCIL_TEST|DEPTH_TEST|SCISSOR_TEST|POLYGON_OFFSET_FILL|SAMPLE_ALPHA_TO_COVERAGE|SAMPLE_COVERAGE|NO_ERROR|INVALID_ENUM|INVALID_VALUE|INVALID_OPERATION|OUT_OF_MEMORY|CW|CCW|LINE_WIDTH|ALIASED_POINT_SIZE_RANGE|ALIASED_LINE_WIDTH_RANGE|CULL_FACE_MODE|FRONT_FACE|DEPTH_RANGE|DEPTH_WRITEMASK|DEPTH_CLEAR_VALUE|DEPTH_FUNC|STENCIL_CLEAR_VALUE|STENCIL_FUNC|STENCIL_FAIL|STENCIL_PASS_DEPTH_FAIL|STENCIL_PASS_DEPTH_PASS|STENCIL_REF|STENCIL_VALUE_MASK|STENCIL_WRITEMASK|STENCIL_BACK_FUNC|STENCIL_BACK_FAIL|STENCIL_BACK_PASS_DEPTH_FAIL|STENCIL_BACK_PASS_DEPTH_PASS|STENCIL_BACK_REF|STENCIL_BACK_VALUE_MASK|STENCIL_BACK_WRITEMASK|VIEWPORT|SCISSOR_BOX|COLOR_CLEAR_VALUE|COLOR_WRITEMASK|UNPACK_ALIGNMENT|PACK_ALIGNMENT|MAX_TEXTURE_SIZE|MAX_VIEWPORT_DIMS|SUBPIXEL_BITS|RED_BITS|GREEN_BITS|BLUE_BITS|ALPHA_BITS|DEPTH_BITS|STENCIL_BITS|POLYGON_OFFSET_UNITS|POLYGON_OFFSET_FACTOR|TEXTURE_BINDING_2D|SAMPLE_BUFFERS|SAMPLES|SAMPLE_COVERAGE_VALUE|SAMPLE_COVERAGE_INVERT|COMPRESSED_TEXTURE_FORMATS|DONT_CARE|FASTEST|NICEST|GENERATE_MIPMAP_HINT|BYTE|UNSIGNED_BYTE|SHORT|UNSIGNED_SHORT|INT|UNSIGNED_INT|FLOAT|DEPTH_COMPONENT|ALPHA|RGB|RGBA|LUMINANCE|LUMINANCE_ALPHA|UNSIGNED_SHORT_4_4_4_4|UNSIGNED_SHORT_5_5_5_1|UNSIGNED_SHORT_5_6_5|FRAGMENT_SHADER|VERTEX_SHADER|MAX_VERTEX_ATTRIBS|MAX_VERTEX_UNIFORM_VECTORS|MAX_VARYING_VECTORS|MAX_COMBINED_TEXTURE_IMAGE_UNITS|MAX_VERTEX_TEXTURE_IMAGE_UNITS|MAX_TEXTURE_IMAGE_UNITS|MAX_FRAGMENT_UNIFORM_VECTORS|SHADER_TYPE|DELETE_STATUS|LINK_STATUS|VALIDATE_STATUS|ATTACHED_SHADERS|ACTIVE_UNIFORMS|ACTIVE_ATTRIBUTES|SHADING_LANGUAGE_VERSION|CURRENT_PROGRAM|NEVER|LESS|EQUAL|LEQUAL|GREATER|NOTEQUAL|GEQUAL|ALWAYS|KEEP|REPLACE|INCR|DECR|INVERT|INCR_WRAP|DECR_WRAP|VENDOR|RENDERER|VERSION|NEAREST|LINEAR|NEAREST_MIPMAP_NEAREST|LINEAR_MIPMAP_NEAREST|NEAREST_MIPMAP_LINEAR|LINEAR_MIPMAP_LINEAR|TEXTURE_MAG_FILTER|TEXTURE_MIN_FILTER|TEXTURE_WRAP_S|TEXTURE_WRAP_T|TEXTURE|TEXTURE_CUBE_MAP|TEXTURE_BINDING_CUBE_MAP|TEXTURE_CUBE_MAP_POSITIVE_X|TEXTURE_CUBE_MAP_NEGATIVE_X|TEXTURE_CUBE_MAP_POSITIVE_Y|TEXTURE_CUBE_MAP_NEGATIVE_Y|TEXTURE_CUBE_MAP_POSITIVE_Z|TEXTURE_CUBE_MAP_NEGATIVE_Z|MAX_CUBE_MAP_TEXTURE_SIZE|TEXTURE0|TEXTURE1|TEXTURE2|TEXTURE3|TEXTURE4|TEXTURE5|TEXTURE6|TEXTURE7|TEXTURE8|TEXTURE9|TEXTURE10|TEXTURE11|TEXTURE12|TEXTURE13|TEXTURE14|TEXTURE15|TEXTURE16|TEXTURE17|TEXTURE18|TEXTURE19|TEXTURE20|TEXTURE21|TEXTURE22|TEXTURE23|TEXTURE24|TEXTURE25|TEXTURE26|TEXTURE27|TEXTURE28|TEXTURE29|TEXTURE30|TEXTURE31|ACTIVE_TEXTURE|REPEAT|CLAMP_TO_EDGE|MIRRORED_REPEAT|FLOAT_VEC2|FLOAT_VEC3|FLOAT_VEC4|INT_VEC2|INT_VEC3|INT_VEC4|BOOL|BOOL_VEC2|BOOL_VEC3|BOOL_VEC4|FLOAT_MAT2|FLOAT_MAT3|FLOAT_MAT4|SAMPLER_2D|SAMPLER_CUBE|VERTEX_ATTRIB_ARRAY_ENABLED|VERTEX_ATTRIB_ARRAY_SIZE|VERTEX_ATTRIB_ARRAY_STRIDE|VERTEX_ATTRIB_ARRAY_TYPE|VERTEX_ATTRIB_ARRAY_NORMALIZED|VERTEX_ATTRIB_ARRAY_POINTER|VERTEX_ATTRIB_ARRAY_BUFFER_BINDING|IMPLEMENTATION_COLOR_READ_TYPE|IMPLEMENTATION_COLOR_READ_FORMAT|COMPILE_STATUS|LOW_FLOAT|MEDIUM_FLOAT|HIGH_FLOAT|LOW_INT|MEDIUM_INT|HIGH_INT|FRAMEBUFFER|RENDERBUFFER|RGBA4|RGB5_A1|RGB565|DEPTH_COMPONENT16|STENCIL_INDEX8|DEPTH_STENCIL|RENDERBUFFER_WIDTH|RENDERBUFFER_HEIGHT|RENDERBUFFER_INTERNAL_FORMAT|RENDERBUFFER_RED_SIZE|RENDERBUFFER_GREEN_SIZE|RENDERBUFFER_BLUE_SIZE|RENDERBUFFER_ALPHA_SIZE|RENDERBUFFER_DEPTH_SIZE|RENDERBUFFER_STENCIL_SIZE|FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE|FRAMEBUFFER_ATTACHMENT_OBJECT_NAME|FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL|FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE|COLOR_ATTACHMENT0|DEPTH_ATTACHMENT|STENCIL_ATTACHMENT|DEPTH_STENCIL_ATTACHMENT|NONE|FRAMEBUFFER_COMPLETE|FRAMEBUFFER_INCOMPLETE_ATTACHMENT|FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT|FRAMEBUFFER_INCOMPLETE_DIMENSIONS|FRAMEBUFFER_UNSUPPORTED|FRAMEBUFFER_BINDING|RENDERBUFFER_BINDING|MAX_RENDERBUFFER_SIZE|INVALID_FRAMEBUFFER_OPERATION|UNPACK_FLIP_Y_WEBGL|UNPACK_PREMULTIPLY_ALPHA_WEBGL|CONTEXT_LOST_WEBGL|UNPACK_COLORSPACE_CONVERSION_WEBGL|BROWSER_DEFAULT_WEBGL|activeTexture|attachShader|bindAttribLocation|bindRenderbuffer|blendColor|blendEquation|blendEquationSeparate|blendFunc|blendFuncSeparate|bufferData|bufferSubData|checkFramebufferStatus|compileShader|compressedTexImage2D|compressedTexSubImage2D|copyTexImage2D|copyTexSubImage2D|createBuffer|createFramebuffer|createProgram|createRenderbuffer|createShader|createTexture|cullFace|deleteBuffer|deleteFramebuffer|deleteProgram|deleteRenderbuffer|deleteShader|deleteTexture|depthFunc|depthMask|depthRange|detachShader|disable|enable|finish|flush|framebufferRenderbuffer|framebufferTexture2D|frontFace|generateMipmap|getActiveAttrib|getActiveUniform|getAttachedShaders|getAttribLocation|getBufferParameter|getContextAttributes|getError|getExtension|getFramebufferAttachmentParameter|getParameter|getProgramInfoLog|getProgramParameter|getRenderbufferParameter|getShaderInfoLog|getShaderParameter|getShaderPrecisionFormat|getShaderSource|getSupportedExtensions|getTexParameter|getUniform|getUniformLocation|getVertexAttrib|getVertexAttribOffset|hint|isBuffer|isContextLost|isEnabled|isFramebuffer|isProgram|isRenderbuffer|isShader|isTexture|lineWidth|linkProgram|pixelStorei|polygonOffset|readPixels|renderbufferStorage|sampleCoverage|shaderSource|stencilFunc|stencilFuncSeparate|stencilMask|stencilMaskSeparate|stencilOp|stencilOpSeparate|texImage2D|texParameterf|texParameteri|texSubImage2D|useProgram|validateProgram|bindBuffer|bindFramebuffer|bindTexture|clear|clearColor|clearDepth|clearStencil|colorMask|disableVertexAttribArray|drawArrays|drawElements|enableVertexAttribArray|scissor|uniform1f|uniform1fv|uniform1i|uniform1iv|uniform2f|uniform2fv|uniform2i|uniform2iv|uniform3f|uniform3fv|uniform3i|uniform3iv|uniform4f|uniform4fv|uniform4i|uniform4iv|uniformMatrix2fv|uniformMatrix3fv|uniformMatrix4fv|vertexAttrib1f|vertexAttrib1fv|vertexAttrib2f|vertexAttrib2fv|vertexAttrib3f|vertexAttrib3fv|vertexAttrib4f|vertexAttrib4fv|vertexAttribPointer|viewport|makeXRCompatible'
    }
    if (this[0] === '{"foo\\u0000bar":42}') {
           // this.sort(sortRandom)

        // let strs = [`{"foo\\u0000bar":42}INVALID:SyntaxError: Unexpected token t in JSON at position 3INVALID:SyntaxError: Unexpected token � in JSON at position 0INVALID:SyntaxError: Unexpected token � in JSON at position 0`, `{"foo\\u0000bar":42}INVALID:SyntaxError: Expected ',' or ']' after array element in JSON at position 3INVALID:SyntaxError: Unexpected token '�', "�{}" is not valid JSONINVALID:SyntaxError: Unexpected token '�', "��[�]" is not valid JSON`, `{"foo\\u0000bar":42}INVALID:SyntaxError: Expected ',' or ']' after array element in JSON at position 3INVALID:SyntaxError: Unexpected token '�', "�{}" is not valid JSONINVALID:SyntaxError: Unexpected token '�', "��[`]
        // return strs[parseInt(_random() * strs.length)]
        //
        return `{"foo\\u0000bar":42}INVALID:SyntaxError: Expected ',' or ']' after array element in JSON at position 3INVALID:SyntaxError: Unexpected token '�', "�{}" is not valid JSONINVALID:SyntaxError: Unexpected token '�', "��[�]" is not valid JSON`
        // 家里的
        // return `{"foo\\u0000bar":42}INVALID:SyntaxError: Expected ',' or ']' after array element in JSON at position 3INVALID:SyntaxError: Unexpected token '�', "�{}" is not valid JSONINVALID:SyntaxError: Unexpected token '�', "��[�]" is not valid JSON`

        // return `{"foo\\u0000bar":42}INVALID:SyntaxError: Expected ',' or ']' after array element in JSON at position 3INVALID:SyntaxError: Unexpected token '�', "�{}" is not valid JSONINVALID:SyntaxError: Unexpected token '�', "��[`
        // this.sort(sortRandom)

        // return `{"foo\\u0000bar":42}INVALID:SyntaxError: Expected ',' or ']' after array element in JSON at position 3INVALID:SyntaxError: Unexpected token '�', "�{}" is not valid JSONINVALID:SyntaxError: Unexpected token '�', "��[\x00\x00�\x00\x00]\x00" is not valid JSON`
        // return
        // return `{"foo\\u0000bar":42}INVALID:SyntaxError: Expected ',' or ']' after array element in JSON at position 3INVALID:SyntaxError: Unexpected token '�', "�{}" is not valid JSONINVALID:SyntaxError: Unexpected token '�', "��[�]" is not valid JSON`
    }
    return _join.call(this, s)
})
_getOwnPropertyNames = Object.getOwnPropertyNames;
Object.getOwnPropertyNames = v_saf(function (a) {
    let res = _getOwnPropertyNames(a);
    console.log('getOwnPropertyNames', a, res)

    if (res.length >= 180 && res.indexOf('Function') > -1) {
         if (ENV.windowprops){
            return ENV.windowprops
        }
        console.log('getWindow')
        res = [
    "Object",
    "Function",
    "Array",
    "Number",
    "parseFloat",
    "parseInt",
    "Infinity",
    "NaN",
    "undefined",
    "Boolean",
    "String",
    "Symbol",
    "Date",
    "Promise",
    "RegExp",
    "Error",
    "AggregateError",
    "EvalError",
    "RangeError",
    "ReferenceError",
    "SyntaxError",
    "TypeError",
    "URIError",
    "globalThis",
    "JSON",
    "Math",
    "Intl",
    "ArrayBuffer",
    "Uint8Array",
    "Int8Array",
    "Uint16Array",
    "Int16Array",
    "Uint32Array",
    "Int32Array",
    "Float32Array",
    "Float64Array",
    "Uint8ClampedArray",
    "BigUint64Array",
    "BigInt64Array",
    "DataView",
    "Map",
    "BigInt",
    "Set",
    "WeakMap",
    "WeakSet",
    "Proxy",
    "Reflect",
    "FinalizationRegistry",
    "WeakRef",
    "decodeURI",
    "decodeURIComponent",
    "encodeURI",
    "encodeURIComponent",
    "escape",
    "unescape",
    "eval",
    "isFinite",
    "isNaN",
    "console",
    "Option",
    "Image",
    "Audio",
    "webkitURL",
    "webkitRTCPeerConnection",
    "webkitMediaStream",
    "WebKitMutationObserver",
    "WebKitCSSMatrix",
    "XPathResult",
    "XPathExpression",
    "XPathEvaluator",
    "XMLSerializer",
    "XMLHttpRequestUpload",
    "XMLHttpRequestEventTarget",
    "XMLHttpRequest",
    "XMLDocument",
    "WritableStreamDefaultWriter",
    "WritableStreamDefaultController",
    "WritableStream",
    "Worker",
    "Window",
    "WheelEvent",
    "WebSocket",
    "WebGLVertexArrayObject",
    "WebGLUniformLocation",
    "WebGLTransformFeedback",
    "WebGLTexture",
    "WebGLSync",
    "WebGLShaderPrecisionFormat",
    "WebGLShader",
    "WebGLSampler",
    "WebGLRenderingContext",
    "WebGLRenderbuffer",
    "WebGLQuery",
    "WebGLProgram",
    "WebGLFramebuffer",
    "WebGLContextEvent",
    "WebGLBuffer",
    "WebGLActiveInfo",
    "WebGL2RenderingContext",
    "WaveShaperNode",
    "VisualViewport",
    "ValidityState",
    "VTTCue",
    "UserActivation",
    "URLSearchParams",
    "URLPattern",
    "URL",
    "UIEvent",
    "TrustedTypePolicyFactory",
    "TrustedTypePolicy",
    "TrustedScriptURL",
    "TrustedScript",
    "TrustedHTML",
    "TreeWalker",
    "TransitionEvent",
    "TransformStreamDefaultController",
    "TransformStream",
    "TrackEvent",
    "TouchList",
    "TouchEvent",
    "Touch",
    "TimeRanges",
    "TextTrackList",
    "TextTrackCueList",
    "TextTrackCue",
    "TextTrack",
    "TextMetrics",
    "TextEvent",
    "TextEncoderStream",
    "TextEncoder",
    "TextDecoderStream",
    "TextDecoder",
    "Text",
    "TaskSignal",
    "TaskPriorityChangeEvent",
    "TaskController",
    "TaskAttributionTiming",
    "SyncManager",
    "SubmitEvent",
    "StyleSheetList",
    "StyleSheet",
    "StylePropertyMapReadOnly",
    "StylePropertyMap",
    "StorageEvent",
    "Storage",
    "StereoPannerNode",
    "StaticRange",
    "ShadowRoot",
    "Selection",
    "SecurityPolicyViolationEvent",
    "ScriptProcessorNode",
    "ScreenOrientation",
    "Screen",
    "Scheduling",
    "Scheduler",
    "SVGViewElement",
    "SVGUseElement",
    "SVGUnitTypes",
    "SVGTransformList",
    "SVGTransform",
    "SVGTitleElement",
    "SVGTextPositioningElement",
    "SVGTextPathElement",
    "SVGTextElement",
    "SVGTextContentElement",
    "SVGTSpanElement",
    "SVGSymbolElement",
    "SVGSwitchElement",
    "SVGStyleElement",
    "SVGStringList",
    "SVGStopElement",
    "SVGSetElement",
    "SVGScriptElement",
    "SVGSVGElement",
    "SVGRectElement",
    "SVGRect",
    "SVGRadialGradientElement",
    "SVGPreserveAspectRatio",
    "SVGPolylineElement",
    "SVGPolygonElement",
    "SVGPointList",
    "SVGPoint",
    "SVGPatternElement",
    "SVGPathElement",
    "SVGNumberList",
    "SVGNumber",
    "SVGMetadataElement",
    "SVGMatrix",
    "SVGMaskElement",
    "SVGMarkerElement",
    "SVGMPathElement",
    "SVGLinearGradientElement",
    "SVGLineElement",
    "SVGLengthList",
    "SVGLength",
    "SVGImageElement",
    "SVGGraphicsElement",
    "SVGGradientElement",
    "SVGGeometryElement",
    "SVGGElement",
    "SVGForeignObjectElement",
    "SVGFilterElement",
    "SVGFETurbulenceElement",
    "SVGFETileElement",
    "SVGFESpotLightElement",
    "SVGFESpecularLightingElement",
    "SVGFEPointLightElement",
    "SVGFEOffsetElement",
    "SVGFEMorphologyElement",
    "SVGFEMergeNodeElement",
    "SVGFEMergeElement",
    "SVGFEImageElement",
    "SVGFEGaussianBlurElement",
    "SVGFEFuncRElement",
    "SVGFEFuncGElement",
    "SVGFEFuncBElement",
    "SVGFEFuncAElement",
    "SVGFEFloodElement",
    "SVGFEDropShadowElement",
    "SVGFEDistantLightElement",
    "SVGFEDisplacementMapElement",
    "SVGFEDiffuseLightingElement",
    "SVGFEConvolveMatrixElement",
    "SVGFECompositeElement",
    "SVGFEComponentTransferElement",
    "SVGFEColorMatrixElement",
    "SVGFEBlendElement",
    "SVGEllipseElement",
    "SVGElement",
    "SVGDescElement",
    "SVGDefsElement",
    "SVGComponentTransferFunctionElement",
    "SVGClipPathElement",
    "SVGCircleElement",
    "SVGAnimationElement",
    "SVGAnimatedTransformList",
    "SVGAnimatedString",
    "SVGAnimatedRect",
    "SVGAnimatedPreserveAspectRatio",
    "SVGAnimatedNumberList",
    "SVGAnimatedNumber",
    "SVGAnimatedLengthList",
    "SVGAnimatedLength",
    "SVGAnimatedInteger",
    "SVGAnimatedEnumeration",
    "SVGAnimatedBoolean",
    "SVGAnimatedAngle",
    "SVGAnimateTransformElement",
    "SVGAnimateMotionElement",
    "SVGAnimateElement",
    "SVGAngle",
    "SVGAElement",
    "Response",
    "ResizeObserverSize",
    "ResizeObserverEntry",
    "ResizeObserver",
    "Request",
    "ReportingObserver",
    "ReadableStreamDefaultReader",
    "ReadableStreamDefaultController",
    "ReadableStreamBYOBRequest",
    "ReadableStreamBYOBReader",
    "ReadableStream",
    "ReadableByteStreamController",
    "Range",
    "RadioNodeList",
    "RTCTrackEvent",
    "RTCStatsReport",
    "RTCSessionDescription",
    "RTCSctpTransport",
    "RTCRtpTransceiver",
    "RTCRtpSender",
    "RTCRtpReceiver",
    "RTCPeerConnectionIceEvent",
    "RTCPeerConnectionIceErrorEvent",
    "RTCPeerConnection",
    "RTCIceCandidate",
    "RTCErrorEvent",
    "RTCError",
    "RTCEncodedVideoFrame",
    "RTCEncodedAudioFrame",
    "RTCDtlsTransport",
    "RTCDataChannelEvent",
    "RTCDataChannel",
    "RTCDTMFToneChangeEvent",
    "RTCDTMFSender",
    "RTCCertificate",
    "PromiseRejectionEvent",
    "ProgressEvent",
    "ProcessingInstruction",
    "PopStateEvent",
    "PointerEvent",
    "PluginArray",
    "Plugin",
    "PeriodicWave",
    "PerformanceTiming",
    "PerformanceServerTiming",
    "PerformanceResourceTiming",
    "PerformancePaintTiming",
    "PerformanceObserverEntryList",
    "PerformanceObserver",
    "PerformanceNavigationTiming",
    "PerformanceNavigation",
    "PerformanceMeasure",
    "PerformanceMark",
    "PerformanceLongTaskTiming",
    "PerformanceEventTiming",
    "PerformanceEntry",
    "PerformanceElementTiming",
    "Performance",
    "Path2D",
    "PannerNode",
    "PageTransitionEvent",
    "OverconstrainedError",
    "OscillatorNode",
    "OffscreenCanvasRenderingContext2D",
    "OffscreenCanvas",
    "OfflineAudioContext",
    "OfflineAudioCompletionEvent",
    "NodeList",
    "NodeIterator",
    "NodeFilter",
    "Node",
    "NetworkInformation",
    "Navigator",
    "NamedNodeMap",
    "MutationRecord",
    "MutationObserver",
    "MutationEvent",
    "MouseEvent",
    "MimeTypeArray",
    "MimeType",
    "MessagePort",
    "MessageEvent",
    "MessageChannel",
    "MediaStreamTrackProcessor",
    "MediaStreamTrackEvent",
    "MediaStreamEvent",
    "MediaStreamAudioSourceNode",
    "MediaStreamAudioDestinationNode",
    "MediaStream",
    "MediaRecorder",
    "MediaQueryListEvent",
    "MediaQueryList",
    "MediaList",
    "MediaError",
    "MediaEncryptedEvent",
    "MediaElementAudioSourceNode",
    "MediaCapabilities",
    "Location",
    "LayoutShiftAttribution",
    "LayoutShift",
    "LargestContentfulPaint",
    "KeyframeEffect",
    "KeyboardEvent",
    "IntersectionObserverEntry",
    "IntersectionObserver",
    "InputEvent",
    "InputDeviceInfo",
    "InputDeviceCapabilities",
    "ImageData",
    "ImageCapture",
    "ImageBitmapRenderingContext",
    "ImageBitmap",
    "IdleDeadline",
    "IIRFilterNode",
    "IDBVersionChangeEvent",
    "IDBTransaction",
    "IDBRequest",
    "IDBOpenDBRequest",
    "IDBObjectStore",
    "IDBKeyRange",
    "IDBIndex",
    "IDBFactory",
    "IDBDatabase",
    "IDBCursorWithValue",
    "IDBCursor",
    "History",
    "Headers",
    "HashChangeEvent",
    "HTMLVideoElement",
    "HTMLUnknownElement",
    "HTMLUListElement",
    "HTMLTrackElement",
    "HTMLTitleElement",
    "HTMLTimeElement",
    "HTMLTextAreaElement",
    "HTMLTemplateElement",
    "HTMLTableSectionElement",
    "HTMLTableRowElement",
    "HTMLTableElement",
    "HTMLTableColElement",
    "HTMLTableCellElement",
    "HTMLTableCaptionElement",
    "HTMLStyleElement",
    "HTMLSpanElement",
    "HTMLSourceElement",
    "HTMLSlotElement",
    "HTMLSelectElement",
    "HTMLScriptElement",
    "HTMLQuoteElement",
    "HTMLProgressElement",
    "HTMLPreElement",
    "HTMLPictureElement",
    "HTMLParamElement",
    "HTMLParagraphElement",
    "HTMLOutputElement",
    "HTMLOptionsCollection",
    "HTMLOptionElement",
    "HTMLOptGroupElement",
    "HTMLObjectElement",
    "HTMLOListElement",
    "HTMLModElement",
    "HTMLMeterElement",
    "HTMLMetaElement",
    "HTMLMenuElement",
    "HTMLMediaElement",
    "HTMLMarqueeElement",
    "HTMLMapElement",
    "HTMLLinkElement",
    "HTMLLegendElement",
    "HTMLLabelElement",
    "HTMLLIElement",
    "HTMLInputElement",
    "HTMLImageElement",
    "HTMLIFrameElement",
    "HTMLHtmlElement",
    "HTMLHeadingElement",
    "HTMLHeadElement",
    "HTMLHRElement",
    "HTMLFrameSetElement",
    "HTMLFrameElement",
    "HTMLFormElement",
    "HTMLFormControlsCollection",
    "HTMLFontElement",
    "HTMLFieldSetElement",
    "HTMLEmbedElement",
    "HTMLElement",
    "HTMLDocument",
    "HTMLDivElement",
    "HTMLDirectoryElement",
    "HTMLDialogElement",
    "HTMLDetailsElement",
    "HTMLDataListElement",
    "HTMLDataElement",
    "HTMLDListElement",
    "HTMLCollection",
    "HTMLCanvasElement",
    "HTMLButtonElement",
    "HTMLBodyElement",
    "HTMLBaseElement",
    "HTMLBRElement",
    "HTMLAudioElement",
    "HTMLAreaElement",
    "HTMLAnchorElement",
    "HTMLAllCollection",
    "GeolocationPositionError",
    "GeolocationPosition",
    "GeolocationCoordinates",
    "Geolocation",
    "GamepadHapticActuator",
    "GamepadEvent",
    "GamepadButton",
    "Gamepad",
    "GainNode",
    "FormDataEvent",
    "FormData",
    "FontFaceSetLoadEvent",
    "FontFace",
    "FocusEvent",
    "FileReader",
    "FileList",
    "File",
    "FeaturePolicy",
    "External",
    "EventTarget",
    "EventSource",
    "EventCounts",
    "Event",
    "ErrorEvent",
    "ElementInternals",
    "Element",
    "DynamicsCompressorNode",
    "DragEvent",
    "DocumentType",
    "DocumentFragment",
    "Document",
    "DelayNode",
    "DecompressionStream",
    "DataTransferItemList",
    "DataTransferItem",
    "DataTransfer",
    "DOMTokenList",
    "DOMStringMap",
    "DOMStringList",
    "DOMRectReadOnly",
    "DOMRectList",
    "DOMRect",
    "DOMQuad",
    "DOMPointReadOnly",
    "DOMPoint",
    "DOMParser",
    "DOMMatrixReadOnly",
    "DOMMatrix",
    "DOMImplementation",
    "DOMException",
    "DOMError",
    "CustomStateSet",
    "CustomEvent",
    "CustomElementRegistry",
    "Crypto",
    "CountQueuingStrategy",
    "ConvolverNode",
    "ConstantSourceNode",
    "CompressionStream",
    "CompositionEvent",
    "Comment",
    "CloseEvent",
    "ClipboardEvent",
    "CharacterData",
    "ChannelSplitterNode",
    "ChannelMergerNode",
    "CanvasRenderingContext2D",
    "CanvasPattern",
    "CanvasGradient",
    "CanvasFilter",
    "CanvasCaptureMediaStreamTrack",
    "CSSVariableReferenceValue",
    "CSSUnparsedValue",
    "CSSUnitValue",
    "CSSTranslate",
    "CSSTransformValue",
    "CSSTransformComponent",
    "CSSSupportsRule",
    "CSSStyleValue",
    "CSSStyleSheet",
    "CSSStyleRule",
    "CSSStyleDeclaration",
    "CSSSkewY",
    "CSSSkewX",
    "CSSSkew",
    "CSSScale",
    "CSSRuleList",
    "CSSRule",
    "CSSRotate",
    "CSSPropertyRule",
    "CSSPositionValue",
    "CSSPerspective",
    "CSSPageRule",
    "CSSNumericValue",
    "CSSNumericArray",
    "CSSNamespaceRule",
    "CSSMediaRule",
    "CSSMatrixComponent",
    "CSSMathValue",
    "CSSMathSum",
    "CSSMathProduct",
    "CSSMathNegate",
    "CSSMathMin",
    "CSSMathMax",
    "CSSMathInvert",
    "CSSMathClamp",
    "CSSLayerStatementRule",
    "CSSLayerBlockRule",
    "CSSKeywordValue",
    "CSSKeyframesRule",
    "CSSKeyframeRule",
    "CSSImportRule",
    "CSSImageValue",
    "CSSGroupingRule",
    "CSSFontFaceRule",
    "CSSCounterStyleRule",
    "CSSConditionRule",
    "CSS",
    "CDATASection",
    "ByteLengthQueuingStrategy",
    "BroadcastChannel",
    "BlobEvent",
    "Blob",
    "BiquadFilterNode",
    "BeforeUnloadEvent",
    "BeforeInstallPromptEvent",
    "BaseAudioContext",
    "BarProp",
    "AudioWorkletNode",
    "AudioScheduledSourceNode",
    "AudioProcessingEvent",
    "AudioParamMap",
    "AudioParam",
    "AudioNode",
    "AudioListener",
    "AudioDestinationNode",
    "AudioContext",
    "AudioBufferSourceNode",
    "AudioBuffer",
    "Attr",
    "AnimationEvent",
    "AnimationEffect",
    "Animation",
    "AnalyserNode",
    "AbstractRange",
    "AbortSignal",
    "AbortController",
    "window",
    "self",
    "document",
    "name",
    "location",
    "customElements",
    "history",
    "locationbar",
    "menubar",
    "personalbar",
    "scrollbars",
    "statusbar",
    "toolbar",
    "status",
    "closed",
    "frames",
    "length",
    "top",
    "opener",
    "parent",
    "frameElement",
    "navigator",
    "origin",
    "external",
    "screen",
    "innerWidth",
    "innerHeight",
    "scrollX",
    "pageXOffset",
    "scrollY",
    "pageYOffset",
    "visualViewport",
    "screenX",
    "screenY",
    "outerWidth",
    "outerHeight",
    "devicePixelRatio",
    "event",
    "clientInformation",
    "offscreenBuffering",
    "screenLeft",
    "screenTop",
    "defaultStatus",
    "defaultstatus",
    "styleMedia",
    "onsearch",
    "isSecureContext",
    "trustedTypes",
    "performance",
    "onappinstalled",
    "onbeforeinstallprompt",
    "crypto",
    "indexedDB",
    "webkitStorageInfo",
    "sessionStorage",
    "localStorage",
    "onbeforexrselect",
    "onabort",
    "onbeforeinput",
    "onblur",
    "oncancel",
    "oncanplay",
    "oncanplaythrough",
    "onchange",
    "onclick",
    "onclose",
    "oncontextlost",
    "oncontextmenu",
    "oncontextrestored",
    "oncuechange",
    "ondblclick",
    "ondrag",
    "ondragend",
    "ondragenter",
    "ondragleave",
    "ondragover",
    "ondragstart",
    "ondrop",
    "ondurationchange",
    "onemptied",
    "onended",
    "onerror",
    "onfocus",
    "onformdata",
    "oninput",
    "oninvalid",
    "onkeydown",
    "onkeypress",
    "onkeyup",
    "onload",
    "onloadeddata",
    "onloadedmetadata",
    "onloadstart",
    "onmousedown",
    "onmouseenter",
    "onmouseleave",
    "onmousemove",
    "onmouseout",
    "onmouseover",
    "onmouseup",
    "onmousewheel",
    "onpause",
    "onplay",
    "onplaying",
    "onprogress",
    "onratechange",
    "onreset",
    "onresize",
    "onscroll",
    "onsecuritypolicyviolation",
    "onseeked",
    "onseeking",
    "onselect",
    "onslotchange",
    "onstalled",
    "onsubmit",
    "onsuspend",
    "ontimeupdate",
    "ontoggle",
    "onvolumechange",
    "onwaiting",
    "onwebkitanimationend",
    "onwebkitanimationiteration",
    "onwebkitanimationstart",
    "onwebkittransitionend",
    "onwheel",
    "onauxclick",
    "ongotpointercapture",
    "onlostpointercapture",
    "onpointerdown",
    "onpointermove",
    "onpointerrawupdate",
    "onpointerup",
    "onpointercancel",
    "onpointerover",
    "onpointerout",
    "onpointerenter",
    "onpointerleave",
    "onselectstart",
    "onselectionchange",
    "onanimationend",
    "onanimationiteration",
    "onanimationstart",
    "ontransitionrun",
    "ontransitionstart",
    "ontransitionend",
    "ontransitioncancel",
    "onafterprint",
    "onbeforeprint",
    "onbeforeunload",
    "onhashchange",
    "onlanguagechange",
    "onmessage",
    "onmessageerror",
    "onoffline",
    "ononline",
    "onpagehide",
    "onpageshow",
    "onpopstate",
    "onrejectionhandled",
    "onstorage",
    "onunhandledrejection",
    "onunload",
    "crossOriginIsolated",
    "scheduler",
    "alert",
    "atob",
    "blur",
    "btoa",
    "cancelAnimationFrame",
    "cancelIdleCallback",
    "captureEvents",
    "clearInterval",
    "clearTimeout",
    "close",
    "confirm",
    "createImageBitmap",
    "fetch",
    "find",
    "focus",
    "getComputedStyle",
    "getSelection",
    "matchMedia",
    "moveBy",
    "moveTo",
    "open",
    "postMessage",
    "print",
    "prompt",
    "queueMicrotask",
    "releaseEvents",
    "reportError",
    "requestAnimationFrame",
    "requestIdleCallback",
    "resizeBy",
    "resizeTo",
    "scroll",
    "scrollBy",
    "scrollTo",
    "setInterval",
    "setTimeout",
    "stop",
    "structuredClone",
    "webkitCancelAnimationFrame",
    "webkitRequestAnimationFrame",
    "Atomics",
    "chrome",
    "WebAssembly",
    "caches",
    "cookieStore",
    "ondevicemotion",
    "ondeviceorientation",
    "ondeviceorientationabsolute",
    "launchQueue",
    "onbeforematch",
    "AbsoluteOrientationSensor",
    "Accelerometer",
    "AudioWorklet",
    "Cache",
    "CacheStorage",
    "Clipboard",
    "ClipboardItem",
    "CookieChangeEvent",
    "CookieStore",
    "CookieStoreManager",
    "Credential",
    "CredentialsContainer",
    "CryptoKey",
    "DeviceMotionEvent",
    "DeviceMotionEventAcceleration",
    "DeviceMotionEventRotationRate",
    "DeviceOrientationEvent",
    "FederatedCredential",
    "Gyroscope",
    "Keyboard",
    "KeyboardLayoutMap",
    "LinearAccelerationSensor",
    "Lock",
    "LockManager",
    "MIDIAccess",
    "MIDIConnectionEvent",
    "MIDIInput",
    "MIDIInputMap",
    "MIDIMessageEvent",
    "MIDIOutput",
    "MIDIOutputMap",
    "MIDIPort",
    "MediaDeviceInfo",
    "MediaDevices",
    "MediaKeyMessageEvent",
    "MediaKeySession",
    "MediaKeyStatusMap",
    "MediaKeySystemAccess",
    "MediaKeys",
    "NavigationPreloadManager",
    "NavigatorManagedData",
    "OrientationSensor",
    "PasswordCredential",
    "RTCIceTransport",
    "RelativeOrientationSensor",
    "Sensor",
    "SensorErrorEvent",
    "ServiceWorker",
    "ServiceWorkerContainer",
    "ServiceWorkerRegistration",
    "StorageManager",
    "SubtleCrypto",
    "WebTransport",
    "WebTransportBidirectionalStream",
    "WebTransportDatagramDuplexStream",
    "WebTransportError",
    "Worklet",
    "XRDOMOverlayState",
    "XRLayer",
    "XRWebGLBinding",
    "AudioData",
    "EncodedAudioChunk",
    "EncodedVideoChunk",
    "ImageTrack",
    "ImageTrackList",
    "VideoColorSpace",
    "VideoFrame",
    "AudioDecoder",
    "AudioEncoder",
    "ImageDecoder",
    "VideoDecoder",
    "VideoEncoder",
    "AuthenticatorAssertionResponse",
    "AuthenticatorAttestationResponse",
    "AuthenticatorResponse",
    "PublicKeyCredential",
    "BarcodeDetector",
    "BatteryManager",
    "Bluetooth",
    "BluetoothCharacteristicProperties",
    "BluetoothDevice",
    "BluetoothRemoteGATTCharacteristic",
    "BluetoothRemoteGATTDescriptor",
    "BluetoothRemoteGATTServer",
    "BluetoothRemoteGATTService",
    "BrowserCaptureMediaStreamTrack",
    "CropTarget",
    "EyeDropper",
    "FileSystemDirectoryHandle",
    "FileSystemFileHandle",
    "FileSystemHandle",
    "FileSystemWritableFileStream",
    "FontData",
    "FragmentDirective",
    "GravitySensor",
    "HID",
    "HIDConnectionEvent",
    "HIDDevice",
    "HIDInputReportEvent",
    "IdleDetector",
    "LaunchParams",
    "LaunchQueue",
    "OTPCredential",
    "PaymentAddress",
    "PaymentRequest",
    "PaymentResponse",
    "PaymentMethodChangeEvent",
    "Presentation",
    "PresentationAvailability",
    "PresentationConnection",
    "PresentationConnectionAvailableEvent",
    "PresentationConnectionCloseEvent",
    "PresentationConnectionList",
    "PresentationReceiver",
    "PresentationRequest",
    "Profiler",
    "Sanitizer",
    "ScreenDetailed",
    "ScreenDetails",
    "Serial",
    "SerialPort",
    "USB",
    "USBAlternateInterface",
    "USBConfiguration",
    "USBConnectionEvent",
    "USBDevice",
    "USBEndpoint",
    "USBInTransferResult",
    "USBInterface",
    "USBIsochronousInTransferPacket",
    "USBIsochronousInTransferResult",
    "USBIsochronousOutTransferPacket",
    "USBIsochronousOutTransferResult",
    "USBOutTransferResult",
    "VirtualKeyboard",
    "WakeLock",
    "WakeLockSentinel",
    "WindowControlsOverlay",
    "WindowControlsOverlayGeometryChangeEvent",
    "XRAnchor",
    "XRAnchorSet",
    "XRBoundedReferenceSpace",
    "XRFrame",
    "XRInputSource",
    "XRInputSourceArray",
    "XRInputSourceEvent",
    "XRInputSourcesChangeEvent",
    "XRPose",
    "XRReferenceSpace",
    "XRReferenceSpaceEvent",
    "XRRenderState",
    "XRRigidTransform",
    "XRSession",
    "XRSessionEvent",
    "XRSpace",
    "XRSystem",
    "XRView",
    "XRViewerPose",
    "XRViewport",
    "XRWebGLLayer",
    "XRCPUDepthInformation",
    "XRDepthInformation",
    "XRWebGLDepthInformation",
    "XRHitTestResult",
    "XRHitTestSource",
    "XRRay",
    "XRTransientInputHitTestResult",
    "XRTransientInputHitTestSource",
    "XRLightEstimate",
    "XRLightProbe",
    "getScreenDetails",
    "queryLocalFonts",
    "showDirectoryPicker",
    "showOpenFilePicker",
    "showSaveFilePicker",
    "originAgentCluster",
    "navigation",
    "speechSynthesis",
    "AnimationPlaybackEvent",
    "AnimationTimeline",
    "CSSAnimation",
    "CSSTransition",
    "DocumentTimeline",
    "BackgroundFetchManager",
    "BackgroundFetchRecord",
    "BackgroundFetchRegistration",
    "BluetoothUUID",
    "CSSContainerRule",
    "CSSFontPaletteValuesRule",
    "DelegatedInkTrailPresenter",
    "Ink",
    "Highlight",
    "HighlightRegistry",
    "MediaMetadata",
    "MediaSession",
    "MediaSource",
    "SourceBuffer",
    "SourceBufferList",
    "MediaStreamTrack",
    "MediaStreamTrackGenerator",
    "NavigateEvent",
    "Navigation",
    "NavigationCurrentEntryChangeEvent",
    "NavigationDestination",
    "NavigationHistoryEntry",
    "NavigationTransition",
    "NavigatorUAData",
    "Notification",
    "PaymentInstruments",
    "PaymentManager",
    "PaymentRequestUpdateEvent",
    "PeriodicSyncManager",
    "PermissionStatus",
    "Permissions",
    "PictureInPictureEvent",
    "PictureInPictureWindow",
    "PushManager",
    "PushSubscription",
    "PushSubscriptionOptions",
    "RemotePlayback",
    "SharedWorker",
    "SpeechSynthesisErrorEvent",
    "SpeechSynthesisEvent",
    "SpeechSynthesisUtterance",
    "VideoPlaybackQuality",
    "VirtualKeyboardGeometryChangeEvent",
    "XSLTProcessor",
    "webkitSpeechGrammar",
    "webkitSpeechGrammarList",
    "webkitSpeechRecognition",
    "webkitSpeechRecognitionError",
    "webkitSpeechRecognitionEvent",
    "openDatabase",
    "webkitRequestFileSystem",
    "webkitResolveLocalFileSystemURL",
    "_getOwnPropertyNames",
    "con4",
    "con3",
    "_defin",
    "_join"
];
    }
    return res;

})
let aa = false;








// 44 funcs start
let funcs = [
  'XRHitTestResult',
  'crossOriginIsolated',
  'AbstractRange',
  'RTCDtlsTransport',
  'BarcodeDetector',
  'EventCounts',
  'SharedArrayBuffer',
  'VisualViewport',
  'FinalizationRegistry',
  'WritableStreamDefaultController',
  'HTMLMenuItemElement',
  'HID',
  'CSSCounterStyleRule',
  'FileSystemDirectoryHandle',
  'PerformancePaintTiming',
  'onbeforeinput',
  'ApplicationCache',
  'AudioData',
  'AudioTrack',
  'DOMRectList',
  'FragmentDirective',
  'Sanitizer',
  'onselectionchange',
  'onsecuritypolicyviolation',
  'structuredClone',
  'XRHand',
  'Lock',
  'EyeDropper',
  'CSSLayerBlockRule',
  'ServiceWorkerContainer',
  'IdleDetector',
  'HTMLDialogElement',
  'CSSFontPaletteValuesRule',
  'CSSMathClamp',
  'NavigationPreloadManager',
  'LaunchParams',
  'content',
  'IDBFileHandle',
  'BrowserCaptureMediaStreamTrack',
  'FontData',
  'ReadableByteStreamController',
  'OffscreenCanvas',
  'MediaSourceHandle',
  'XRCamera'
]
let funcProperties = {};
if (ENV.funcs && ENV.funcs.length > 0) {
    for (let i = 0; i < funcs.length; i++) {
    let funcName = funcs[i]
    let hasFunc = ENV.funcs[i] === 1;
    if (hasFunc){
        funcProperties[funcName] = {
            enumerable:true,
            value: funcName === 'OffscreenCanvas' ? OffscreenCanvas : v_saf(function (){})
        }
    }else {
                delete window[funcName]

    }


}
}
else {
    for (let i = 0; i < funcs.length; i++) {
    let funcName = funcs[i]
    let hasFunc = Math.random() < 0.5 ;
    if (hasFunc){
        funcProperties[funcName] = {
            enumerable:true,
            value: funcName === 'OffscreenCanvas' ? OffscreenCanvas : v_saf(function (){})
        }
    }else {
        delete window[funcName]
        // funcProperties[funcName] = {
        //     value: undefined,
        //     enumerable:false,
        // }
    }


}
}
Object.defineProperties(window, funcProperties)


// 44 funcs end
let funcs2 = [
    "ActiveXObject",
    "ApplePaySession",
    "File",
    "MutationObserver",
    "Notification",
    "SharedWorker",
    "TouchEvent",
    "XDomainRequest",
    "_phantom",
    "attachEvent",
    "callPhantom",
    "createPopup",
    "detachEvent",
    "event",
    "external",
    "fireEvent",
    "frameElement",
    "globalStorage",
    "localStorage",
    "mozRTCPeerConnection",
    "mozRequestAnimationFrame",
    "phantom",
    "postMessage",
    "PushManager",
    "registerProtocolHandler",
    "requestAnimationFrame",
    "sessionStorage",
    "sidebar",
    "webkitRequestAnimationFrame",
    "webkitResolveLocalFileSystemURL",
    "webkitRTCPeerConnection",
    "BluetoothUUID",
    "netscape"
];
let func2Properties = {};
if (ENV.funcs2 && ENV.funcs2.length > 0) {
    for (let i = 0; i < funcs2.length; i++) {
    let funcName = funcs2[i]
    if (funcName === 'localStorage' || funcName === 'sessionStorage' || funcName === 'external'){
        continue;
    }
    let hasFunc = ENV.funcs2[i] === 1;
    if (hasFunc){
        let v = undefined;
        switch (funcName){
            case "MutationObserver":
                v = MutationObserver;
                break
            case "TouchEvent":
                v = TouchEvent;
                break
            case "event":
                v = undefined;
                break;
            case "external":
                v = external;
                break;
            case "postMessage":
                v = postMessage;
                break;
            case "frameElement":
                v = null;
                break;
            case "PushManager":
                v = PushManager;
                break;
            case "requestAnimationFrame":
                v = requestAnimationFrame;
                break;
            case "webkitRequestAnimationFrame":
                v = webkitRequestAnimationFrame;
                break;
            case "webkitResolveLocalFileSystemURL":
                v = webkitResolveLocalFileSystemURL;
                break;
            case "webkitRTCPeerConnection":
                v = RTCPeerConnection;
                break;
            default:
                v = v_saf(function(){})
                break;

        }
        func2Properties[funcName] = {
            enumerable:true,
            value: v
        }
    }else {
        delete window[funcName]
        // func2Properties[funcName] = {
        //     value: undefined,
        //     enumerable:false,
        // }
    }


}
}
else {
    for (let i = 0; i < funcs2.length; i++) {
        let funcName = funcs2[i]
        let hasFunc = Math.random() < 0.5 ;
        if (hasFunc){
            func2Properties[funcName] = {
                enumerable:true,
                value: funcName === 'OffscreenCanvas' ? OffscreenCanvas : v_saf(function (){})
            }
        }else {
                    delete window[funcName]

        }
    }
}
Object.defineProperties(window, func2Properties)


let bodyFuncs = [
            "contextMenu",
            "innerText",
            "mozRequestFullScreen",
            "requestFullScreen",
            "webkitRequestFullScreen"
        ]
// if (ENV.bodyfunc){
//     for (let i = 0; i < ENV.bodyfunc.length; i++) {
//         let funcName = bodyFuncs[i];
//         let hasFunc = ENV.bodyfunc[i] === 1;
//         if (hasFunc){
//             console.log('body set', funcName)
//             Object.defineProperty(HTMLBodyElement.prototype, funcName, {
//                 value: v_saf(function (){})
//             })
//         }
//     }
// }
window.external = external

// // 0 XRHitTestResult true false
// window.XRHitTestResult = v_saf(function XRHitTestResult(){})
// window.crossOriginIsolated = false
// // todo hasOwnProperty 的环境
// window.AbstractRange = v_saf(function AbstractRange() {
//     if (!v_new_toggle) {
//         throw TypeError("Illegal constructor")
//     }
//     ;
// });
// window.RTCDtlsTransport = v_saf(function RTCDtlsTransport() {
//     if (!v_new_toggle) {
//         throw TypeError("Illegal constructor")
//     }
//     ;
// });
// // 4 BarcodeDetector true false
// window.BarcodeDetector = v_saf(function BarcodeDetector(){})
// window.EventCounts = v_saf(function EventCounts() {
//     if (!v_new_toggle) {
//         throw TypeError("Illegal constructor")
//     }
//     ;
// });
// window.VisualViewport = v_saf(function VisualViewport() {
//     if (!v_new_toggle) {
//         throw TypeError("Illegal constructor")
//     }
//     ;
// });
// window.FinalizationRegistry = v_saf(function FinalizationRegistry() {
//     if (!v_new_toggle) {
//         throw TypeError("Illegal constructor")
//     }
//     ;
// });
// window.WritableStreamDefaultController = v_saf(function WritableStreamDefaultController() {
//     if (!v_new_toggle) {
//         throw TypeError("Illegal constructor")
//     }
//     ;
// });
// // HTMLMenuItemElement
// // 11 HID true false
// window.HID = v_saf(function HID(){})
// window.CSSCounterStyleRule = v_saf(function CSSCounterStyleRule() {
//     if (!v_new_toggle) {
//         throw TypeError("Illegal constructor")
//     }
//     ;
// });
// // 13 FileSystemDirectoryHandle true false
// window.FileSystemDirectoryHandle = v_saf(function FileSystemDirectoryHandle(){})
// window.PerformancePaintTiming = v_saf(function PerformancePaintTiming() {
//     if (!v_new_toggle) {
//         throw TypeError("Illegal constructor")
//     }
//     ;
// });
// window.onbeforeinput = null
// //ApplicationCache
// window.AudioData = v_saf(function AudioData() {
//     if (!v_new_toggle) {
//         throw TypeError("Illegal constructor")
//     }
//     ;
// });
// // AudioTrack
// window.DOMRectList = v_saf(function DOMRectList() {
//     if (!v_new_toggle) {
//         throw TypeError("Illegal constructor")
//     }
//     ;
// });
// window.FragmentDirective = v_saf(function FragmentDirective() {
//     if (!v_new_toggle) {
//         throw TypeError("Illegal constructor")
//     }
//     ;
// });
// // 21 Sanitizer true false
// window.Sanitizer = v_saf(function Sanitizer() {
//     if (!v_new_toggle) {
//         throw TypeError("Illegal constructor")
//     }
//     ;
// });
// window.onselectionchange = null;
// window.onsecuritypolicyviolation = null;
window.structuredClone = v_saf(function structuredClone() {
    throw TypeError("Uncaught DOMException: Failed to execute 'structuredClone' on 'Window'")
})
// //XRHand
// // 26 Lock true false
// window.Lock = v_saf(function Lock(){})
// // 27 EyeDropper true false
// window.EyeDropper = v_saf(function EyeDropper(){})
// window.CSSLayerBlockRule = v_saf(function CSSLayerBlockRule(){})
// // 29 ServiceWorkerContainer true false
// window.ServiceWorkerContainer = v_saf(function ServiceWorkerContainer(){})
// // 30 IdleDetector true false
// window.IdleDetector = v_saf(function IdleDetector(){})
// window.HTMLDialogElement = v_saf(function HTMLDialogElement() {
//     if (!v_new_toggle) {
//         throw TypeError("Illegal constructor")
//     }
//     ;
// });
// window.CSSFontPaletteValuesRule = v_saf(function CSSFontPaletteValuesRule() {
//     if (!v_new_toggle) {
//         throw TypeError("Illegal constructor")
//     }
//     ;
// });
// window.CSSMathClamp = v_saf(function CSSMathClamp() {
//     if (!v_new_toggle) {
//         throw TypeError("Illegal constructor")
//     }
//     ;
// });
// // 34 NavigationPreloadManager true false
// window.NavigationPreloadManager = v_saf(function NavigationPreloadManager(){})
// window.LaunchParams = v_saf(function LaunchParams(){})
// // content
// // IDBFileHandle
// window.BrowserCaptureMediaStreamTrack = v_saf(function BrowserCaptureMediaStreamTrack(){})
//
// // 39 FontData true false
// window.FontData = v_saf(function FontData(){})
// window.ReadableByteStreamController = v_saf(function ReadableByteStreamController() {
//     if (!v_new_toggle) {
//         throw TypeError("Illegal constructor")
//     }
//     ;
// });
//
//
// window.OffscreenCanvas = proxy(OffscreenCanvas, 'OffscreenCanvas')
// window.MediaSourceHandle = v_saf(function MediaSourceHandle() {
//     if (!v_new_toggle) {
//         throw TypeError("Illegal constructor")
//     }
//     ;
// });
// window.XRCamera = v_saf(function XRCamera() {
//     if (!v_new_toggle) {
//         throw TypeError("Illegal constructor")
//     }
//     ;
// });


// end 44 func

    ;;;



(function(a) {
    var d = document
      , w = window
      , u = "https://s20.tiktokcdn.com/tiktok/common/init.js?seed=AEAnQXCLAQAALv-xeOsCGEnS4GMG6kwJcJFqgCUYHDyRj5Nj-WaHpzRdnXG5&hTc6j8Njvn--z=q"
      , v = "swHXOeLIM"
      , i = "b124a713562997e8e4397446a7cd93d2";
    var s = d.currentScript;
    addEventListener(v, function f(e) {
        e.detail.init("A_UjUXCLAQAA5kJPNZy1ErsYvjlolV8o4f2uhhbxtO1hXQpAzjjWpquFwL9hAWe-spUXTuHJwH9eCOfvosJeCA==", "Y36TQ_Gfm4Z95g08slNbajydXLhi-uMewFvpCcP1xntoUrKBq7RHVWJOkA2ES=DIz", [], [364400829, 172552180, 1962595844, 2116533963, 526998748, 849404755, 452409228, 1117512303], document.currentScript && document.currentScript.nonce || "4VzCy3UApu1LWcYbaSZWxakN", document.currentScript && document.currentScript.nonce || "4VzCy3UApu1LWcYbaSZWxakN", [], a)
    }, !0);
    var o = s && s.nonce ? s.nonce : "";
    try {
        s && s.parentNode.removeChild(s)
    } catch (e) {}
    {
        var n = d.createElement("script");
        n.id = i;
        n.src = u;
        n.async = !0;
        n.nonce = o;
        d.head.appendChild(n)
    }
}(typeof arguments === "undefined" ? void 0 : arguments))

    ;;;


(function t(h) {
    var rN = {}
      , rg = {};
    var rw = ReferenceError
      , rP = TypeError
      , rJ = Object
      , rk = RegExp
      , rW = Number
      , rm = String
      , rq = Array
      , rr = rJ.bind
      , rv = rJ.call
      , rb = rv.bind(rr, rv)
      , g = rJ.apply
      , rY = rb(g)
      , o = [].push
      , Z = [].pop
      , l = [].slice
      , p = [].splice
      , j = [].join
      , u = [].map
      , Y = rb(o)
      , d = rb(l)
      , y = rb(j)
      , E = rb(u)
      , C = {}.hasOwnProperty
      , R = rb(C)
      , X = JSON.stringify
      , e = rJ.getOwnPropertyDescriptor
      , rz = rJ.defineProperty
      , x = rm.fromCharCode
      , O = Math.min
      , rt = Math.floor
      , rf = rJ.create
      , N = "".indexOf
      , S = "".charAt
      , i = rb(N)
      , ra = rb(S)
      , rX = typeof Uint8Array === "function" ? Uint8Array : rq;
    var M = [rw, rP, rJ, rk, rW, rm, rq, rr, rv, g, o, Z, l, p, j, u, C, X, e, rz, x, O, rt, rf, N, S, rX];
    var b = ["JWxDtQHuAvA_wC1W", "0CdGpif-U8l2xD8", "g6f5OfQ", "ORkH81U", "WJKyU_g18A2BFeg", "KrCda9I9pxXyAg", "isArray", "duS1H-gx3Sayb9SdxB7q-RXdomy_R96a", "TRUE", "ngd0j2PDI7x_u14tPJA9bYEJYQ", "application\x2Fx-www-form-urlencoded", "input", "Proxy", "bXk78ROFMqYE-SdsO8FPBaYfYMNcz0wd3O2AyVz-zg", "R2Il8nmJAok4lXA", "JSAc6F6qEeM1yng", "CPXIc4dfzgbnGOatvAGD1j2DzwqZf72cZidUZ9thGOc", "Bj9U", "Tb61Q6oOsyGrIdKZyF3T4wjOqH_kFLKCA1o2Cd0", "bylvvyn-", "bind", "higP71WbEaUzsSMb", "replace", "JMKvQKcpqkGzNNmT21Q", "7UtlkTaT", "fj12hVjga_lM4XNaaeNf", "DsT7A_IO7HL9c9Y", "dispatchEvent", "85iGY9dioBbk", "7HAAqQW4S61XmCZdBK9NHbdjXoM17jwy2O-OoE6r-wc", "Array", "hxpRqhbNJc5emGZoHw", "jElSmQLBXvk_", "iovwBvR4tX3HFN6ajg6k", "0wBhmyP8Ccl6qkUATcgfVQ", "6_m5W6gIjCm3Iqc", "WkkH8BuhErwk", "eR0", "action", "Ak0L42KPBNAllG4A", "exxEuUX-V6s", "_-mMZrcwykSQUKLc", "ZNzWIpFfz1Co", "80", "eQUqlnu8KL9UmRMAMasFHu83fu8G9Sobpuf6pkP32mUbkUcGB3Q", "FgYIzD7xIQ", "R0pBhUWRKoY4sxppNt5SAOM7CPA", "rD03iGmpI7FJvgMWHaA0JcIZS84yzw8gkcT0n2I", "7KDxR6F9-0T_XNC3yg", "igtBuhfRdQ", "E5G2Fusk", "s6LKLg", "global", "7Mr8SK9k5EuJTs7HwHL04xXRhAzvE9rr", "fA1OuhXZIPw", "cg9-gmLcfw", "cPGEJ7Ek2zjeD6LejSrI", "ay4G50CYEoBp", "click", "eykc", "Reflect", "WLqGe9glow", "RteZW6E", "IvGlTecj9yY", "QoOaa9YVwhj6Dbr78RuwlDPRjlnYcw", "H52vBb49xm-FV4Q", "rEEU6EKJBrARi3cAMw", "ysLdYIhZn1-PSqqh", "PH9NukWXC-In2ms2", "-a6XU7BD3keDcuHSgQ", "m62zU_xtilvjO48", "DOMContentLoaded", "aAcZ", "LZnFF4RH827UZw", "SZHDJcVc4TY", "PPv6Atsb5nuOaZ_W", "vMW6e8kNpz--", "6V0kwzeMaNhk-R9rfJI9LcRGMP5ZwgNVrA", "qOY", "fQJRtUTlUIYalwYb", "J9XHMJVfz3v3c-DFxFH96UOP", "c6SRf8E2hBDlLLuNgj-3syP6", "iJqjH7Q7o3LULcKe1hs", "NvqEd98J", "3rj2HPJbtlr7JdaxvR7WrA", "0v6TTQ", "ZY-L", "TcurU90fsTitFtPoymG8", "jCsb81aICZ17qgEeGK0tIqh2KbQvwEpNlsL1wnnz8nls6EY", "oeytQOQQlzKZGebF", "0tPwNc4GsBE", "getOwnPropertyDescriptor", "gtKbU7ELqTuCbprmtUrvhCWJ", "t9XsU5hi4mWbRtDYwkTNgSTmkgXlHcXHVmckTKxuBLvjRqT22bbYrk9RP7zi_Y6BHLpAOB0OD7aFrENa4A", "A_K-D_Yhyg", "w1Jz0zTlYPA", "sort", "pP3OWbx4sxeUXNKrhXHx7w", "TuSKf8YalBOfXOqTtxPZh3_4kgjkNPGyeg", "zgA5x26iB6RI", "L5X6bOV33A", "QpWkQbVKiC_f", "bm8y8mmfPa8", "e216xij_C_wtyVM", "WKD7ErJm92k", "21R3izi1c8Uo9Fg6EMl4OYBaOrEq20VX0p2D0A", "configurable", "document", "MGFepiPO", "TIqKOM0FxC3mGPzzrA", "z_yBTY9bsQ", "kYOMaIVH", "ZKWYQYdeoX7ydsLi2xSVxyrxwDDEUqM", "8of5Isdb", "-MLvEag", "u39bhGyWBJRS", "mfjSCoIO92Y", "Tl5a8hHdRpgpny1Kbs8YSLsSAdpF7yxapqGy8w", "5bS3X-xx", "VtawU78G9ymtZ6raxljN-yzF", "nDNFq13LMA", "\uD800\uDFFF", "number", "value", "TXdRgQfKVNoSx0pAV8xs", "gCkP5VOcDa56g3E8I-h0Jg", "EX1epCCQTekX6X46K-lCPrR7BJM", "floor", "ri4", "9tadU9sIqyGcI9LN", "YrjhXbdv8A_neZWWlCzNpEnMtgy7RsywGUdLDrFUQbA", "6HtG_xTUVcoP01l8edZPWaRrJA", "828y9RaKfasUrXwsOM5LAKUMPYFdzAFOng", "Error", "\uFFFD\uFFFD[\x00\x00\uFFFD\x00\x00]\x00", "3NP2MMNx_gW0D6em", "JN3oArFgp3WQR92KmE6m-wqb", "LN2", "KobCP4hOwV3GT7uouzrOj3jy0Q-RfuvwZnFQaslNW_SNFufVyuz_j2kyEcTOp5HqSa0zLmlyDMKB5wc35Wge4BykP6eG2RJ54xuHYZHlekK2TKFjMxKmLcwUyLWj3kX9RBOOc8u3ZUww7FOC30GM6-vmIxdTk9Jejjs349GSEHLhbSELcz-wS9U-2Q", "ax9PpDzy", "kIA", "mAEX9lulE4ZVpwwJJp42MpZu", "a-nPebVR00SGYurE23PO", "4lEx3SeGL9B6801tK5t2IsRaNfYZiBJYpoGstiWLnXUf5ANCQWAYYrfW2A5-M0Ba60qRiuaDvlVyK_o", "Azs9yG-hdpEBpVk1G8NYO_dTeKx3mUN9", "jdzIOpRYklP0RLzA-CeO3guvu1-VbLaDUA", "3IyBcJ1PlQ79", "4sSONc8LoHyBCeei", "ddDCPZ9E3Cw", "RJ0", "1IboC5FYiBylY52r2E-52RGGpSXQUQ", "pTxw2ie1", "02QQ_BKnWLUWng", "Rg1OvAHQNP9sqEA-dA", "apWfQJ1G4nvocd-b7w6N0jc", "O8C1V6AuvWOGKcGE3FPjvB3G", "OQF4tlHDSrZozg58NeAHAfU7XQ", "ceil", "E1tmnwrEesoV72l3OMQ-cA", "GoLvQKx-6R3vQYCYjTPFsUPV", "YImtRv0wiRw", "-6v3Eu0Z9H30a5OI9E-27A", "9ILvFph29njqKYbf1Xa38x-c", "KmEcwRHFOZIIsUV-HtwbYoZ8MQ", "File", "8-mDO4M", "method", "7TdEqAvFSfxMwhcVaLFXM-NmbM4", "set", "Dgs-yTThb9lpq043E-UsYclWJqhMhg4", "4z8", "XCUs0nK5PqgGnxMjNaYXD7M", "string", "9N67eKF8kUo", "me7bfL90iCObYPmdiWf29A", "Uint8Array", "Ddj6Fbk-_gCwdci3lAznuAzGug", "e5vpFQ", "ny000jqVE7Y", "tHZZvgzdB90k_nw7LvEYT7MkOds4qjpRtvc", "XyYb", "cEIY2CHaLA", "Yc2pW-Qc", "3Vl6wTY", "CSS", "5Mybc5E52Q", "dKXSO9NlyWTSW-HCzDTEi222zl-TYOuzIW8rMc5xaPGfVsCzx-jn0Hs7NsDCsw", "true", "XYHdIdNNoxbyC9aTvg-w8j8", "fbvIOJJO21PQRKrXziTMvifR_ECdb-I", "is2MJfwXkkaFGPztnE6ZmSuj5VnaLqjkDjY", "querySelector", "Ft3rFehY5E3iYc3J5g", "uNGTKNgZjl2SDOQ", "MVNihn7jdLhA5x5VBsQ", "6\uFE0F\u20E3", "nhF-wCLxb4J0", "haPbIYpbxn-Oew", "wEom3ma6V9knwShX", "SmgtpG69C-sVp08_OvI", "interactive", "Qt-YY9sDoxbU", "zTgM4GqWUrUUhG4MOOFOFO1uYb1RuHcU", "LyVKpQQ", "2Sk5wzngbJ4", "og9Kgxf7QtIRxi0zMIZCEKx_Qp8W0mp6xcvn-Ek", "nyQE_leREK5FqAE2PJ8pHaxLEI4a-WJJ", "K_qbKMMIjgeWFvSKpyDLgHznxV6gZf7wbXAeaI0ZTf-IUYaDmr3nmS19Qd7Eh5LvS7RrIjtoRpGb3l5_6HNbhwP4YfbPh1575A6GOuHxYkekCa12KyrxfN5ghKKszUrrQFrQPpOjSSg691-JylC7yvynfRB5gtIH2HZE9M_KQ2SlInEaEk3qB5lggYhHPTzO3EKMHeXAWQNzSjbQ-yfDWEMydxAqXxQZWgA44M-flb9-ZmmWRxDY1VaTRpnLlf9ayGX5v_9hQAsxIdOkM6WtV1HZCQHtUaxOBbCoyg2PhZRamf7FsEx21uMkNQPEdTxopKmpsZuNDCVSaGZ-CfRQkjH0ITOkZt3AfV1q7LkFqKQzKtJLBpp7Xm6UPj7rb8Pbo4xlFtSWXcUhIRS2w-4lgPj-RA9EmE39H1wcYIEyuv7cpXQAfir4-b_s0qVDlHVRkdRqyZuH2hhq4adpHI38el-F6ial_d5A38YiV8VM11w0hKGz6hKS8cbf79LgcVOGl2HH1r4AuVioppOL0ifb9SoAn4LWSyhdTE_0OT8Ae52-BxsomoVJ53KS3ypeN3MTdZvB2dFfXHxt2rU05j5Z7IMQct9MpR1q0Ty63AQRUljT_69SXneqmYycJUTqsk6aJ7y7_b_7jWj5vnitpnNgV6lJ79se7bdbgvklt57LJ89m42WmFxdReaKVAg3Z1j_nehBfYrWk1adUC196f2nrDLRwNeKyzwu8zyuCEMXU2ssdB44m0VSGszk2jwKxBEqdxCRkQL8miXXeqmd8v-qZjo_v8glStUKWErW1EyPs2-JH4JsLgs9tLZskAxP_afG7RT0WOlqKEGblxs6KMluWNf83CZ5lu1JRkr1TeYoVIYy6nRN2p2CgAOqbYspKFPo1TMqKrw9ms8Z_6U6Xo9wcXuG1bWR6XqbThaXx5dwGHXaKdAcTCK42woeLBiZ7WOinGOpM58Jv8oap5KXYLAjPSFsb3D1wxGOWJ5PG62QmnzVbGZbJ5S6Npvpwjym5sVI4balRT4BHKysq276RcuPs5P-bJJK99yYvXIVticoph6NUDjmq5e7w0s768Psa1gS9cJsPqOGwT3JbbVp8_BoV5MzDISf-BZceuFJIYiDK5kS1u0wz7Lto8Qs3gz6Yc6hruhD3jWn5zZiEGObCVE2w2Gy-MEfbbiigLuPUPhSXgU3ak8sEuVNOUz2XKVnmw_VKX5FFXxxl3GTTBXJ3TQhYWV5A-OxV8BOkFELA5MH-l-Ybtoad3e65fW9JTSW4zkSDNRb0zdDsgaBuKEPtZFKQ8oEtsfbo1dB9_bp0aWIq98CSzdY_bhXJb99yYD4rQpWJCmQ8BmJIrJVJAUZH5yh1vxCaxitO3LX3zDo1qk2RkIX8CMVKZAddYVevGiEk4pG2jpW-DLnXDPetvrwPhMgZu2jH0mXnQxoUBRb5V4d594xwWdY2NYQn1UsS9apEcX3upQwm3On9mIo7Ydz603OcRHnSUNoPoz2PsYgENK3eYbJ4EKX2yNXBDM4xYYKSOpjP3C_4ujF8ARAVrZD3gezyhuv0_XDZc7Nh4xu1N99whXwgAUvjoXZPy56XcrKFnAEdq76KySsDQwaa2GoNvqApNWw3UinxNSh_JSS1-_RpxVjad3-EOmsvdytyJYyaL1M8BJUJKDl47q-UtsIvFkxd24rRfe6IQCG4NJ84MNdRUPxN0fm0lVWQXJuvGKERjofed0E-t72z9LqiIJ2GHYWDy-Bkzr70IWvX4tDW6NdQPjPK3Z3SXAH-hVsZgt44puOfh32H75cLH3RKNi3wSu2UlJbuqa6_Elhrw7DNFAbivJHp9J2kA2-trYiAmZqIS5fJHP6xrcHvnnbxi-WCvIoLyvyjnJN6eE4LW951Gzr3PfKZ-26dlZ6iHD2M2Te-hd46_dfap4GHKQsotZYvs7oMorEPW68LRwW-m4gi3QRe23-bVYI0TwTvCycxMSpiioo55ZiX-1I7pUi69JF4_pjozUS088j9GX2mGjBjiYdsviOCX3UNaiJabgO_OmZ5DboKaJqAPM45m3ZJyoYmoHOlU2j_ZjG0_BjEEBXVr0mXZ03nXYm-i-Tfw4JjREmSnyuV0uA6yaAaLU4jiFNoyXr1PabLshuSwcIP7kS0seOk-ljfZOw2xeYzyb3apV29IzeUbM-QDa5G6TQ9nwkRTq6uwcmqqhSMbUi2-ZEmx2Ouy4iUiPwYwrkeS9KNjQgkozcWy6IEBo9otoxQudRhVuVxCcGgXOGGdtxef882YxXO-9cAaxjZKrKq7aygZbwcfBR1gz5LYlhFrf5IgC_a-s-4Cedm71uOkDvtDcV3kBro6RAnPlRfywBnL4ISUAQ3DMtwk1IViVCuPgbTIwaH2AtXFsTR-igKHLdwzzGKeYEK8giiSfmL3UPq84hGblId3xalHmloJ2VuPrdFCaL01Js8s3MiS9rA-M51fWcXZf82erTClyKUL0of9hJM5IJ7RuYkeagO7Ck51BSkHP9S-pVTOqFGyZkGZBV8qmsnVVBip_EPVPggzrS0Qb6Y6OVwVgfEtn2VlTJuB-D4rAXnr44pHkyCLJTMcyCmIk2cvdtqQZiNijaWKPY3zP7gwX45lZCa2BfRY1-TbQVTUFd2mVy8Nc-ZtjPLRHxe_yhBohfKt4L1wWHA9yymijFiWkR6ETlCFoBZp6eng-z0x46YH9qU_C_r67NmkPTVziAxeeOW9d5wEEvvwSRzIgxwowWfqP73LjG5akzV14QQSgQwncrr8szVEBNZDfFSmMcPOS7hUn0hDvvH4FrqMw0tKHHF9sd3YAD12uikMXKjufGs-_c0R-NeHjGSm68RKZ_ijrSxPM0bO_ilI0lE2q5RuWRnBxaNHpM5WIneRJJZAzDk7L7uHiuTgbHycpp0H0wIiiwSII0PO2Sz9poOOgdYRkfmjgr63q9mlvZSTgb6RaXca7870vnnjG1ryBFNlrd9QdMGxNOtQjLKSZUUNlULBwQPniTAHc0bcWAxHo-QwrhXKtWiGXqcTar9a90Z03QsrsTWcrIiAx80XxTNqZ2qWDm_qIsPDIvwj-h6mLnX0VnZbdBpTZP6EYWBc86xDulYiTdMWdvC0I-RJUWqIDYQOVg94RH5IXShRb06XZO4L5TfLlQ-SY5Y6OTwVun5n1V3wS2eg2QgxhKv-d6lYclp8756ez4LhxVKFTnz1jFCZ-3_juUcwYtGnZAFN-VOafizQoOp2JO-4lltcdbzmKzv1LzIK3m2WjTZsOMQbO-HuVUgQZsoXrChTdtnhkBZWKgjxDHIZo8", "fLiRdcQbnEDs", "{\\s*\\[\\s*native\\s+code\\s*]\\s*}\\s*$", "LKTuAbty5Setbpw", "1E8J-zDz", "ReferenceError", "wCkC8Ui4P4tr", "4QBZrUXoW-Jt0ikxUs0RR6U", "rXMf91yAAKoH", "_xYdwAfRPpF9txtDR4ZCUKghRrAMsCxBp8b-iGSYkw", "ffPTHZ4X6WU", "0cGvSLcO91mzapzs", "70", "cFFbwj_zYw", "SlBirHy-W_cDhDIAQPs7LNUIPM13pkQo_qOS7QzjjXd1_C0aJXEEUISCu1R2QzERpg", "foH1GbpU32bHdQ", "writable", "TEg", "ASdAugo", "rJLsc-Rhzz2cEg", "QM4", "OXVcm3fGVbES", "i44", "MZffL71LznE", "9lYWwECfI4QAqFE", "W_vLP5ZOlUCzUw", "-JHaOodJ0gY", "PR56gHI", "OKqBf8Ub0RjlBQ", "08ftK4RF", "6z06-nqtI75jlg", "okVhmQvldJNTvicoAdB8M9x1Bao", "fg1LozzNVs5F2ikfI44bJ_xkaMoF", "qerIJJ9C2m2oU_jQpXqXwjixokzZIrvVMyo1aolbA_2lAKL6-8qnw30RM_jW0-LHTrIi", "xc-DfoIMkwibGw", "s8GUOIMVqDmEVQ", "Zumab4U", "NlM-3VeKGA", "mMP2JZ1PkWW4RA", "bGJStBidR-oX8msON_Nc", "3uLPP55QjEyzTvuvvknC0WCBwReLNrzQNHBebdRBP8reS_U", "defineProperty", "yksS4AiqD_tP3GpYKKhfLuZ4", "xb6BJQ", "jlAA7VueF6gE", "YvblEuo", "JQcj8C7-Tv4e", "14n5Bvt-sXjyGsqYhwq2uE22tnmkUoHZ", "prototype", "AtG8VKYMuF3xedo", "IFtenx7VWNQL-EZDXcQ", "ULXvJbUeiA7kEfT26g", "GT9LvSK1Nftt5TViAQ", "vvv9Fr50_m4", "dEUbv2eGQ9UL0jkzAd8DArYuJoVCvDd50g", "NGtvixn6LclB_gdxWLIAfoYBLu813BE", "charset", "0aOObo8T", "zDh_iiDlc7Ew9RBhU4pxCQ", "hzNihlbhYfk", "AioA_0CiPQ", "xSlJuVDMdsR-6Qw", "rZ6jBeo", "B3kn3Q", "p93aONU_", "readyState", "37WkV-csuxiC", "q3Q80GvMPdk", "sfaMedgElCjMKKDB-z2fzDTllC2PfuTvD3Z8b5Qk", "iQ17kRbyLqBDuQ", "kW4S8Um4KqsJnUFBee8nXA", "Ha3EKd9D8VL0ZIr5rwamsg", "JUdvwHj7", "KuqbY9sNwwSAQ6nLrATFmmTz11LzPPy5ICcPAtZCd6jPcZbNmviZ3nglGYA", "8N7OP5dChH2hW_yh", "WpLk", "ma66QOIopA", "PjE00Gf6K_RYjQ", "length", "Sfus", "LmF4njf3", "zBcqkXWwOaVUhAIaAIs4L98AXvUl2QMqhtDggmjb7E8qpm0zK1IYeJWa-EYzFDhM9RSU2tb99mdiQZieVtG2Wb860xY", "hidden", "^https?:\\\x2F\\\x2F", "IUZ1kXGpM5Ie918", "HGEu5y_qBL1vnjY4HL0jJMsLD4Iu7gwUs_De_A_D0g", "reduce", "bwk4nHSlW6VOwA", "X_HAeIxdyhU", "q_z8E-sI-GyReA", "z6udbNcDkAH5Oeuw4CjT", "9n0BsVqHH88IlVpxKtUJH78", "B8rQOvwZjlalc5rw7jz0", "2YrqDOBGqnLnLNOUhQKHp0yMtHKjSI_GHw", "OsDYP58r-U-4Qu8", "detachEvent", "GLLxBed07UE", "Jk8OvFaXANsTn1FuDdEJ", "error", "lw5M", "8ZfD", "hasOwnProperty", "0tfaMYVVyGyyXOrEsFOJ3iq5rUXb", "PRIC4E6THe0p1HofVfsDRA", "FKLDfpFC", "qEg9n3m0crUkphx5F5x8NsxHK68V2kxAnA", "cMrkEdUBuQ", "dp2LZtYC2wvvB-66oT7PhGbwskCFa_iSZi9qLY9cUsWdRIu4", "uqnWMNxm", "done", "8SFQqBDGCM9LiGIAZ88OUa84HJkx9zdyvfo", "characterSet", "d3oB8QCxX-wO-iBOXPlQFQ", "WeakSet", "Zb-KUJ1LtkD-TdHl_gCN8Cf01TDASI-cCgx9DPUXZ5c", "createElement", "bubbles", "aF4e1y-S", "([0-9]{1,3}(\\.[0-9]{1,3}){3}|[a-f0-9]{1,4}(:[a-f0-9]{1,4}){7})", "5cLqGqRDqEk", "AUJDsFn1X8Ah", "26yxX7QT", "jpbmUr976RI", "l3oQ-H2eFJ8jy3kn", "7-GVaJ840XmGT6jdwWrEnHHuh1T1e7X5T3xdCoRuLYr6BfA", "eaeEbPoStGaEbv_RwDU", "e08a727c226e38eb", "iIW9H8I-qCjNDZaXkheb3WKvxFW2Q46RBjY", "xCdOr2z0XbFIzjFeEA", "YVs4-hPAAKA", "Qc2MYcYLxCqZBOA", "HTIK_WnWD7BCow", "e-jqTKhyrnu-ZoCKzmro_h791Vz4Cw", "bxQN9QK-", "qT0f4k6FVbYHgWwyK_ZcB-k", "rVkn1Hq1LoAj", "kXBT_RjEffQQ7WV3YQ", "TB5xwmP4N-Q", "H5TjDNRcqhKlHMuwqw", "charAt", "saTkS7I", "FkcnxWa3AI0u", "Z6TfIQ", "4ealXMQg6Uv1NdA", "pXwO9mKuXaQP1yBSJIFRDutxTsxb", "95zEO8YKhQeMHKLexhnQ8A", "7ERN4wLdUMU482Fvd9hY", "UZr5KqBpwFyxbLi7qTE", "1d64cbwNyGqoZw", "K09VvhfaUPUcyHBXLMIH", "Uq7qF6Bm6XXuZ4KRiT25q03DyGG6b47iDkZxQ_JmP8ayPuGO5JGDsEMJPZqV0LnGd5gRKBpwOsHjzhxdxUQj_Xe2V5Cn8ClShym4SZe-VD-f", "0iQq2j-oM61bpgRBFI42KscOQe0t3EVhhYr03yXU_0dhuHwgOV0cbJDNs0AoGzxU9ls", "ROLKL41s4BjNN5-joAX9okXUnEyBBp78ZRR5PrMKLw", "\u202EpQHDeQkQA\u202D", "Ilg", "nodeName", "ywB-o2OvSt9rxCdRTA", "unescape", "abs", "iaqAK84YgljkB7e1qReC", "HdiWMdIewB7BKrfMpy0", "PPOmBusq3zWtHYI", "a3BMqRzX", "HTl55yz4De141jhbdA", "6Y3Pc5VR0A", "j0VomDn3K-sU6U0ZA8E6b4QOFfYvhhJ3m8fu3WjI414yoHI", "className", "Z4XaFLFt", "Hsi0TMY", "5QZAlFmKd9gL-3NYad0", "SE44y1y-Ce5zlF8C", "Option", "getItem", "YN2AXp5Ntw", "4o73FMMlsQ", "apply", "yX8ZwC61PPk", "D5v-DOhhyhrWZA", "rmUjxFKga-ER_FUeAQ", "String", "LWA8m2ilJt0qrW9BJMwnKYE_Rvd5", "kBhrmij4dNhG_HsnZvECRA", "url", "ho7PIIlSwljhVKCO9ynMh2_380qX", "0su3XtAfuC6REQ", "ngRzhH3faag-tFw", "N0Aih1Y", "Uh4C8AiTFA", "6_zqQLxl6XODCcbZx2rr", "LI-vV68LhTLCE9Hfrz6orA", "PMSqQbM8uESDO9Wa2E37pRk", "pDx1wzrpRI9t4wY", "IZPbac4lvniTCvaa03PJn3Q", "JxJNm0__CcVrzxJ3VqAjc91jU_40", "HTZIlGLnToVf_CE", "n9eQ", "complete", "onload", "4JP9GLhh6A", "0mY-zX-8Z4IN", "1h8Qt1eVB9g", "c6LPIohL6GPCYZH9", "mF0QwD2gOOoIqQ", "gFks0Gy7LZ4-_ksv", "addEventListener", "l9j1FpQm7CKxeg", "WS5Z6ivAA8RK1WkdctgFQ6goWcd7tT4", "1tTvCqV0ynSVZ-vS_lbp3Q", "w0MpjTyGKqoxokw", "pow", "4gg83nWxctwQvl4t", "parentNode", "9aTYOsI", "(?:)", "status", "buH-Lq96qUaL", "mXVajguOFNMG2EpT", "i66lWqBggBfjAg", "Tzs_4Tr6IL5HkQ", "a1Ak7BCSPKgL_g", "Nf62TA", "Juy9Qt0Coz6ZKsA", "substring", "isFinite", "ANDCZJ9orGW3X5ee1nrB8Anj", "XG8P-WigFpUuh2FsY8kY", "puPzMuIh3yeQFa6ckGrrv0mZv06nN8f4b3MEaJJwCe7qYg", "sFlJpQ35Es8l9Gws", "OImGa4k", "8RRPrFOwXg", "y0Yvwjg", "getEntriesByType", "TpW5UKgRkSbU", "xIrIZrc0", "D0Mi1WS9", "I-qmV7khoiK_O8SF2V7W5xfOvmfiB5i-HkkgFfIqZA", "oQlC6Q_Jc75BwzB4W4w", "RangeError", "-OPc", "YbPCNJlDoGbDBLj_y2uNzXQ", "hl1R-R_vffAv_lBKXOJpZYQ", "GChD9A7HCA", "w_PDDc4", "8j0Cv12LV81jnyBzcZkRC_YMUN1P4zhbvA", "\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67\uDB40\uDC7F", "OH1DjTk", "G0J7gS70K-4X-RF7QsoyepYFbrB6mw5mhQ", "cAEb-lKVNdw", "-g1PvAf0B-ZXlQ", "OCJN6UTzQOQDiDlZQ-QNXPA0R4VwvHsn0v-YwVq_5gErm3Q5MhZCH8Ctq3hKSjUt", "RbeFeNgcgBj1D7W3vQmOlibBkQmKdOnDJn1NYMdWUcfNUPSSmr6-ylpyH9vIlNHzF55zNmN_P4Ke-gcy72QF01y7P7ud6lI_8FzXM9CgSQK4U6dQcwv4HowS07-h7QXxWRmAaMGEJUEq71exnwfK", "LHcohmq-DukGtQ", "which", "capture", "clpTxhn9bKcl2FtSew", "log", "sJbFb6NO3FHNQ7K-yQ", "NqfgPqlG6HnkbJCPnT3_rFnT6CagecLDb3ZRQ-haedOsDPHF6fb2sDphBsDDr8fpGZUJf3FnPeOgxiYWwz4r8BGFELCLjTBV4k6daZ3KdmO-dak2NUCvIg", "Gt-1Hew", "WWoIuUaSMrwTyXg9b7QFe4k", "9EcrkGK-VLwz4kEYE4djKQ", "UIEvent", "F_7qE-tK", "hes", "unshift", "PGEW60-RJY4Gj2l6", "fLaRYYwWl03xGA", "7X4CuQ", "setAttribute", "4pqpC-c59UE", "OL2-Xd8iiw", "jzgG5WuEA4Y", "d6DvC7p0-GH3d5jlxgi0_gCC6g", "1", "B3B9hCDFU98bgDBWffwQWLU5", "fywU9WaFO9Ea8HRMTJQwd5Mg", "4Qcn2lanPpNHoQY", "innerText", "M6LfDNdtrQ3WCuU", "97nAL7RNyEjAW77l-VGH3ze5", "bPSQSa41nxayTp_ZwlnkvR2v2g", "put", "TypeError", "nodeType", "M2YN8X3eEw", "rRsRr16dKaZyuQ", "tFchhHO7J70thlshEZB6LA", "Date", "lFRj0CLnetcR0g", "SnxOxQGdRMJZw00", "console", "empty", "KTNj5xCYEOo", "_QQE0y3XPeZn4Xx8cYo0Vb5sR4tW3TMong", "KsaiV6Q_vUKCOMWi0Vfotx3P", "fGIO-1SqFP1LwWZHHKpG", "IWsS9E-JDo0KnQ", "2Vtp4jryGg", "t-6IcMQKkzLJCabd9jKFxSjomA2Ieef0JH94a5koMe3ZV4C13Q", "-2\u202EHOYQAYqfF\u202D", "QovPaYRF4hXQRbXc3RvU", "1Yzg", "jGgq2SyYPN987npiH4pEGcA", "0", "D9aiRPBt7jW9MtvYk1G66APB_w", "d3gO_BOjWA", "3es", "MS8S-VWc", "call", "3MyEU4R3nTf0Dp6hliS2rw", "src", "1jJ2izz6dely-x4aHp96KtBdbrs-ylgZh8nEkWj89Egi92JLflhLO92GpSZ6FShF-hzSmN2F-jMgJPyOfcH9MfoLoRMybabNAeB6xGtVyfAevUPOi6EPmWLEE0dRObQd6406xzhPrp7WGfYUduA-QxhPwbDHfCrzC9vlGDc9jsZV2ZXi7YsEqS7DKWapkZ9nLPph5FctvL63ss46F8l1tb3Xn6iExIH15-ucVGooPlqQy_838aY6crwyrG0hcUnbYsVEH1TKlfLD0TFJkF1Du7dhj7EXqEji8hweXrotJiCvVgFzBvraP0-GmNQujJe8SgY", "lhE", "ZoCEb59NkA3lGsM", "getOwnPropertyNames", "host|srflx|prflx|relay", "-30S-Ho", "7purXqIX", "TmlDuEI", "hfPDPA", "6MPkEbRlo1mNdI2oh0LF", "RzJHlmvZNoEhpHASCOdST5EVb7wNl0E", "textContent", "submit", "BKo", "FFdSvxLkSuI1", "2DtLsy7E", "XPTCZpZe3wc", "H_bsG45a7QnUCb8", "D6fqHfxY1z_R", "window", "Vv_sCuF2-V-6dcM", "cTB40y39a99dnhYZJA", "performance", "v_7iALpk8HafNIf9g0-h4A", "LXtgnzP6aNwBtwZBDtA5aZJPD-Z1lQtszYiQ3jiiw1x3uWpdFloGY8vGiH90cAVQ5gayho3d9lFVSozdUIz-PKUPhw", "B19gqWG6B7xWvCZVGelB", "iXNq8CzLRdc", "s9fIMp9qmEquRLfd8A", "eKmKbpMonVe5COWg", "9r7oO49VzhKKQ7c", "form", "jsrTNIFylw", "ToXRCYt52n3V", "RXZxhz7qdpMG818", "3InRQY15oBil", "eJPEI5hs7mCjRQ", "bOHBY4RV032CYvnt-U3J", "JYLGGsRCxlTuVuvo", "wnVKt1DlRME232p9S7tf", "start", "0dOEWY1jmiHoGQ", "CAcZw1eRI5VEvg8HBg", "KSAB6krYGLRfsilQcKEZaes1W9td", "message", "H5zyX-BPsWy1MN-k6w", "Dq_pA7Vn5VfhcoyVgDO-iULb-mi9Z5o", "mark", "O_yXZLY8", "yGse6F2TBY4WimYMI41MD_p1DZB3pA", "3MHKJJND1U67DL3b-3yH0jm0-xLZKraOPyICPo4hTq7eS4PDwebjgyItH6vW9cO9TP9iayVYFI_evHorsnNZsFXHMuvaj0Ec9lTUPu75", "target", "dR5thHrTO_t45V0IZId2OctDbex6iEkWmw", "Function", "XHIlzX--Pus1q107CMs2T45TDLxnjwBN", "n2BPqwPLRuVC8X5K", "sj8V50yIJ691jgc_BA", "ACoU9UW_Qpp8g20BLbhGDw", "querySelectorAll", "1-m-YOIkiwC5APHn5ESX9zWykE7eJrqiBw", "_IKrVvU_oCs", "vX9RpyWRRr4fx0MJKrREELU", "-K7Pfp5Zl1vQWe-R9niZxA", "appendChild", "Djh1xTLqeKp4-DEbbbBuc95tGKI22UIP", "UfXsJ7pv8EuQVg", "\u202EHOYQAYqfF\u202D", "PKiQbMUgyRLxAfHF", "S6epBu4l_C8", "5noyxkikA6cEqV5i", "j_HIPKAJ0H2JauSQqA", "eofJOp4", "Ztn8SLxv6VuOWtrQwA", "VWw", "UrjfJ9R701HPR_30gyPemmnn2RafIv7ifmhUNtZQSa-FSv7R1fXmlzUjDMDbtpj7Fb46JmV7BJ6O7wki93NC8AW2JK-ShQJs8g6PNd-sNRfk", "1x4I9nP1BJ9Giw", "get", "_tWFbPgc0HE", "initCustomEvent", "toString", "every", "getEntriesByName", "href", "utf-8", "LWFfkX7BVw", "8nRRqxKIQqAL2HYf", "uPiLZN8K0xXPQqTFoRSKi2X50F39", "_yVV4EbHGd1ByA", "qZO0A_I8qj_ZDqGvqwk", "2JCPa9EW6S-qCuo", "ahk3z23reKJgnCwk", "5JS_Ww", "9uy0fZER", "_Zb8UKtp", "kqbnS4xm614", "fUw5_BCZANY4", "QKfTNLNelQ", "RWlJ6QPIRtUpwXJ5dv9d", "Q9Y", "-hp6k1o", "hiYy0z2TCw", "7jxxgSI", "efuwaLwdqiOcdg", "body", "iaCeVLIcmw", "OJnzBA", "left", "enctype", "frameElement", "bjAB6lSJ", "FZ68Cv8t_HaKMcCQwnP6rkPt7zXlFMOwVQ4NSvZNQNjnFw", "XRVOhCLhe9VsulBc", "VcfyCeFA4Wk", "\u26CE", "HFIZ4DanRatpln4", "MjZZqF8", "ZavmA8lC73_BdtTY_mE", "Z4avUOgO9jHwHrg", "jAxKuDnwVsh15yA", "RCUF8xM", "Promise", "LgFUgkelT-Uu", "0qLhCf1G4Vb9fsbw5QDDuV-V-220UsSaCXsIBPhYQMS8", "W_HsZLk", "ifTtNa9u4mWhRw", "hS1pnUehOA", "uxJCkR_bafNf-wEZE_ZVF8hYew", "jcCvUuVj5CA", "vVAF5g2vWo4G2D5PUt0", "Bt2PVJQ", "YL6hdaZ4kCTnT_XPmQ", "uoHyAus", "lu2dG_4tqlM", "FGYwy2atK7YoulVmDNQzXJYODKN-kQRO", "q2UsyWm3LbVhgWI", "Wj8j5WS6Qu10h2JmOg", "348", "OpuyTuE3", "nx09x3uxKI11gT4l", "FALSE", "XSU", "KYu5ROQgvCTJM5iamxrts1nV3nO1SNr_GlFmV_5Ba8i6IOipsMOE4wdPaMuyhKPKaY4PD059cOa31ghL01Ys2iOrQ4ew5CV10yewV56ZAG3NIM8eSh3aCfolx8mD4GXxey-6Sfa4GTZK", "Uint32Array", "VMSAb8MczxefU7TQnRjIgWj7zF4", "UUg5rw", "VXk", "jMXiIZVp9RypEvONjknKhA", "\uD83C\uDF7C", "XV5WkxmRcvUx-WI", "dXYV8wejVd1BxixTSg", "JZarUagHqzvTMsDZlDiuvEfg", "e47ZINlkg2zVUeaGiC7hkHe7xR3bafnvZg", "cncwgl20Cd49pFEEOOY", "NV5Isg", "3hpogTjwKd9x8QcpWIdzP9kYbusgzgQRiMbNk3yJxVZ48jsSagJDLIWb0WZtAB4VuwjXzpyT6RR7", "iRk26XWjY6xY", "SiFi8XflV6oG", "uS5iqCfsfOld7gYoC-dMBtJY", "wTJEtkztDYtDnXoBFA", "OGca8kaBQKUKhHY", "Gba9OdsbhkvLF7GtkQDrjnLeyyKCbw", "9A8032X3DpE", "Ai8J2XKEHr9U9wg", "6TAG81-uHbB5hzs", "KD8m3nqMII1Iuw", "createEvent", "YEA96AOQX-Up4w", "removeChild", "erzyVo0", "Nyx1tVHJMukX9js", "OLzHPcBIjzvOEeevlDWa3w", "uSlWlHngNZVflHA", "2tjPbotezAqOdvDs_Fum0w", "uRRh0mT6Q-E", "ZQNtkCfhbvJp4ERVUdYoc54SMKBzlAAWnJOvxSCuuxp2omJ6ZUNQIMadvj0gWmcMqEWc14Oet214K-fUBZWqZbMLkAgpdr3WGvthij4HlKRX61iD1fkAgjiRZxoMcepS67wh3CNUtYXNArtOP6JsFkRUjO6fczG-c4-yTH49v91Owo759pAf5HqRdn3_y80yP7c1tgg_p_6GqdUhDNJurqbMhPTToOqhr7nTBj59JVyLkZRjufR1IOhnt306KxyvP5gMQRvKpOnYyipSi0ZYoKws9-VA_AH59AdEJu56cmmvZxpoHeHBJFSd3uU1l4ynUR1dQH98odDsnJea-EiwY9MF3MZAkz8j0JKfWE30TFWNyiOp92eOupt23YIWmicjXHiGuxtj6THQxeUIPhvBeAcKp6Siaa9N_an_hX3WFzURDoL_nJIeCF1cKwjjP4z9cSWIOGZyPu2IAhmV6XMLnqcuE50eRDWiKiXHqyHyN7nXfBlEFtlvBCInECYDuvNLWtknJ1zxRK1MU3FoGd4WTJOrcmIpqMyAuawXyMj1w3Zd8uzVb3utTZFnKNeryZevl24iPC279p6YOVDIAtPgR27ljjy5FeScad9PK_nkrLx-UgLlrcBGdW9p0rkfTKo3ihEMCQhCZo4IXMhiU8eUpk24TXbrU0OqZgiZeH46xT6bFoFT9fT8tlch9vw9J51ZmuG9k0hRMVK26OOPl40e8leJyhxRYsRJe99z9DR2ZD7143vYMq15TdqKQP9E4LJiMMfJj0qSfYQ6W8XCQh99dnAbEaK0RKAm3VdA8MYQP0-MLTDtcy3d2HPAruUOlRJO7svp2OJs4YRVCTcnkvBZzFPC4XqQRbGobUOwx3bg33teZbi5XtsbuQFuii7n4RLRoCZ9U8SpTjObEbFjQBe8kywNmIyeq1gwfFoPBhfJ5Lsz3-rq_hbDKmMy7dCEulBB6Qj8KDvNXyYCK1x6gMcvubnqIciUMYF1mW8zFZPCZ56U4DRyXpdmaRiFbMxFVezYiEqp93e74OTXLlppjRcPL15W6SpIH8Lkk2WcazvUckeh7NphKhdSHwNDSVD3O_FBk27kZwNFrJeniffBXbH4BDMgxfoL5nTvT6fwicM_EblARaiZD06fDP7JZ4J6hkuORvRdQosMLn14_At7_6BFJI9LgL4t1stV2R4hwPA6LOBtZny9UrW_sY1Y3O0SMhG7_Dyw4eiUOJVvyo-CqfCnrb3iVSOgROdV8LNjWjwLcx7kQmUhPQxGnZqrqdxNLelMwKIAPDQdIh6OyrwNkbB0C3TOGhAZN2CyH0-XjJ7OVW1kKCjMiuw2kWea2dXJt3Fs6JqM7s2gZ3Wr_qayBcyMSvNRZuaDdkMGMNnAAaApZ3k3xzi_gP-ilbQN0YHpLykPNz5e81oz0QJOXU34cXDyWJ0wL5AZp7D38OEEonmdS26FujPK0S7oN77xEFag05BXDuHTIAoIKHPN2T8PJI5pup1__Xe4VYo2Wm711h0RlAaM4UEHbHg0sjrAhXMu9WU6ONcHTtLfrN_gGWQGZR1WOBYBGYgmh1DdAONEwyqSRY3C8LYADLm6f2pmlkMhIuLlWkp_K-vyofdnO9buRlHdwI7hrtYA0eid0NdMGA2WO_UVgstwy4_e05WR3X1u2rHq-Gr4zPmaG1xtVTvQ6PC-I3sliAxRvsV41mrLyTSorwLgHgwAYaR0rT8R-1ngenI8rr_ad19GB0NB2WJ4oWZ7OhSRLH4W3osiADQvHTT98cZ-KWw2raVAZqPodivaZgFgZ4hlC27-_N-sx89AhQ9hd3MSTQ0S2ZXAOkZ18O8CSW4fRGpYyKBQWGx4Zm5r6Fxp0TMcAGxYaJMPeAF7Q3S8cxdVY3HCnr_p6xGMuJdXlj1gWMJ-bW9W6d9MKNVPeD2EASIkUGV_gsTRFi2UClH6XVO3vV7p9_8TOyPYceemKotut1TIsPULy8XEwtOBc3XHW2RiBaXfXeNATyrBFX4ZL_RcXj8B0rJb79SbdnOPHegikri1idqrmvZd-peb_Efpo1V5nwOFeI64PnPEdo9aoow_hMRHBfs97-seVYQuzKVKtSQTdQEjPy3U8-NZd-B2KhHOPELaz7HDfbGMMI8W9gYGf6d6CiH3H7BBUyNGBbgqhgjPMAX4aHAXGbV2wM9lmDpyzUy5CcHfe_DkrWUMDARnFO5zlLYOTiafbKxMPmtxdBi7fFn7qCo1ZbGPTtrgNEC84H6KBkOpHXnB_SqIrW1DpBBygz6eji3HnvZwByL-nPwhgX1TSRcb3Ffqg_bNZc-p0pe_AF7jT9V2GTdJ_RKENqVqUNkY_jyUaeUWV-zSwKO7M6uo1Tmp6e_R_SnAXLq4fqxl8fsmx_54LOj03WQcN5Dp5EaEOtNKiGP7D-tphgAvEP8JC3mym7DEIfJl_Jyb3oaXwUmOxlg5bTDzW97to3dtBiuJgcig0lX9tVwJdNpl27_9NvCzBHeZoh_RmmOuIeSFG_xv_wejDmCx-kO5KWzkgOyJSaCGmJ3eaBnEtwDROkFWgVxnCBCSsv4xVbY3WP-juRoHVftfGDmQtYNg2Xcpj8QFnK15XiPSjnA0Idt7xQPLLwsLDpzMdnVmPLR8haBqmbXz-7qWZr9Y6Dp6VcI8scS1HN22X-I0UygWNJY9AtJCNtOXuaGG9ZON9HW6QltDIAFNbGNt4zlhTNYdU1CTZwkgMMSc1E4hAmnJ-60eI5S83_mUW_prS1pa249Nm6gkaXnlrvzPaSlAFD03oNy7-BK3ZCOrlNkdmbLc-x8_H64Jl8aN5bx9Tyubq81eOhdH1a9WWhJdDAKMrACr6cxnZUu7ymoVc0FP2HH5zhtA363uFUykWoGb47JgpzjUrXU9sSKg9YgHGUkT69V3LBxfxWLDpqfue86i72_62IFPEj-j8crzsLgENuwLPB-GdAmy_v8E9VIg0lT0MAwEaZGPba-tc1SF-TPkOzMU6d8qtnbw66Do5PX4a5wr_jjsjJXP-iVzN0-q3ytGpZhprk8Bj3fWMYHPSzgy11-bqPLZrOUpWmUSrdtdV2m252sPbAynbVo0IK4s1SaYsXAPqC5snmVH6xerbc6zp2s1JWtW0Ld9_I7jgLPbEPNJ1pZQpUXDrnBk1mZy0LHCtSW8Cg0boQsIf62OMs5CepaNNaxYDDp2njeNBlaew4nscue96Y5KOt2x2RoKajbjP2-zdXS9gBCmiQ1Ru35cJndPHuSKhCQEZBtWf1E72p1FoowgRx3vjhpzAL7No27Mu1Jf_SyFd6ChoVvAGMg6zWI", "Symbol", "Xpr9F_ZQ8CY", "2ZWLaZRTlRejHPq7g369xi6O8UuTYrs", "cVFLvy3VWKxRiAgXObM", "children", "onreadystatechange", "6T1Log3aR9wGx2UY", "3zB2szjUXg", "W5aqSeEmjzDWM76gowi2iSI", "T8DmF6x_0mzZXNHr", "RiAg1nbEB6E", "SzphpDTTbtZf", "eSA80GShb49WvF5T", "teDcEfhP5DCLPZ8", "P0Zgwg", "0_m_CNQ-lG-hNcSNqXqgoBOQ5V_pEpjcbklJTeU", "ypG7", "rjomxUWyCJJYrw", "_aWbSYkungzaBaE", "\uD83D\uDCCA", "open", "0RkY6nKTE7tkjSwufpFNGNx0Z5IL", "qMHiWpFm_Ws", "5ykY5AORF8l-kW8xZrpaCqV-GdhD", "Jqg", "w4GPe9AVlAa3KA", "UKWAOuEQkwD4Iqk", "IsuOaMsIpB3cOMc", "5l1FpwbGMNl9xyA", "BUhrigL8e_g", "TN7QOYIUxCuATvSc", "YsmLQMsumRo", "URL", "qLWRWaIWln0", "uB9GthrDSv1OwDMAMpQMKg", "bDM", "cc_1GbYt8EPxTsU", "^[\\x20-\\x7E]$", "CL_Vb69J", "3q-Yb8MH1wPr", "qhAq9Q", "Inlc_xPeQw", "xP6sQOQ9qjepIte_kR74oFnevTzb", "J6miDv45onniIZSfjjPIvFvu_z2kQcI", "1LH7Gbxs_Q", "4e_aAug_iibf", "wLbtNMNqqg", "nOTkB7xg4wCGcdvrjUWurwCSi2TyBpj9GlcJUewrTYPra-PPytLX-FgWCA", "w0gA60SGQoYalGRzL4xQB-x9Ttp68Xg6rriHgl7B7g", "PCMoxGThN4c", "sTJbuQHnSt5b0A", "AqM", "undefined", "getPrototypeOf", "pvg", "BaaOadAW9gH0IK32", "kSYqzSmqPIxXsAlGHoMyC8sVbusoyw", "9Aom1Xm7S4I", "XdHqC7JM8g3YJp8", "-StMsULdFc1QmmgnI7UFB_EuB8cQ7jR7o_qRrg", "gtaqH80lk16gNsyVqA", "75HSSvlBxX_TWJ-p10i05TSJjX3i", "T4yxCv4mt2rDOJCCnTf9pUPs6CK8UsaiUltHGqBoZ46wUaHTq5XC5lU2c_Ky", "RSxqnSfrffZOsggqUI11Pw", "WqTMDvdGxEHYRuT2nxjFhgb43wI", "9_DNHg", "SuDrGLhP8G_OTdro", "8AU711ClOeR27UkSGQ", "TXpAiWmaeocNtAQnPA", "lXo632eg", "eL23X_I6ow3Nc8-X", "axBPpU_qGf9O", "_RE", "Infinity", "B4_fMKN7wUH1QKiQlDbYrGr6", "constructor", "round", "WdKmUr0Yq1T4Z9HojQ", "wt2Rd88", "uBAp1lKjNrcD", "removeEventListener", "zng", "qcDXCvEP5CGaMJO8uVHgs1m_tkOZDew", "nTJ-3g", "attachEvent", "location", "o6b6HqFjrQ68cI-uxlap7QmfpjffUt_LIhh9X7MXfOA", "CrHPLohU1Gc", "GUV81iLsOQ", "function", "FXYnqHo", "1DB7tGveVcl_0Ep7", "HzsL-nTPDw", "xScj8GT1SfxRzQ", "unUig3S4L4s7nw", "hLiTSagaimDWcM708D2_7BXr", "iterator", "d9K4AqsdmQ", "CeK1QYh26Xs", "ckxXm0eIZOMn7EUxQw", "multipart\x2Fform-data", "n8qdP90GrH66DsPSwkGg4wqF-XM", "eRVAtg", "7OO2f709tiia", "hkgi1z74Or0hshxNdp1bPoJkMeN-m0Re-8y4tT6lqBZw9Ht1OHYOYtSatnxlMzwVllfPx9yOuhsqAIrKApL7TYBH1Q", "7rrCMsBV3UfHSbTgpz2GhXW63QKaeef9aitBa41IEOvOH9WOpvKywClRXKnB", "lx8LtleRDg", "filter", "SFI013Y", "LrWPNewWgg", "lGMK7QeQYc1a6AN7cQ", "rR1ninDrYZlt6QRtOQ", "YMLm", "IJuvTLobsQ-HIpk", "Hb6_UtEOokGJR_fl0w63", "7bz0GpRE7GfURIi8nj7qgkLX", "v9A", "vMPdOMRizmrDXLj4lT23j0y0", "AIDDe5NT", "7YvlEKl1-37nYIX82Hy26BCX_WeFXYidGQQqUPFkJZP4C_Hu7MG6-UEAN7W18OSnPMUdTgMdK_r35igIhEsh-juFEJq_-jQ", "ArbGK5dduVPNFfW27EiYzC-igASSa63vOg", "4AFWpDD9SMV36CkiOpRJLuNpeKY", "h2AszX-sRg", "XN6VcMsTgw", "uvD6D51a7VaJY9U", "ipjzR5wV1A", "n9W_W-0xqiA", "8MM", "RoaOCMgmsTLvD4-P", "FY6Reescmhm6AJaomBypkg", "wh5IsTXdQg", "2QR5mmk", "86jxJLBU", "^(xn--zn7c)?$|%", "documentMode", "Math", "7LnfMIVx1EjRV73W21CLzw", "chU", "crypto", "v9SAbMAflCeUHOjRtmmHzSqlngPOJ7npfC84a5M0Oq7FAdPjm7-xwzhnbJ2F8-D8T_okfyFgG_3GwwpF1TkH3kL7TPLClkAx-xuyCo2yP0G2WKQ0c0TuUNk79Y8", "5UQqliD1PQ", "Hxg2_xH5U-kZ9W4", "VKo", "Image", "__proto__", "ttzqF6F6okLSaZvmyQ2j-guDlmizV4HyV08", "f01ThB7RQfYl", "kX1NpxrkSQ", "b9ONePEeynLKC_PblyjSmnX55kCuNA", "UEh4qXOaRfUzmjc", "vnJCqBvAWsAx6zVpP-wOWKIldosstClA5g", "o2Up2FeL", "-B1ZkUSwT-461g", "f3Ylnk6sSbci6HEJQ4pyaZRNJQ", "k8zrMMts9BmoCb6shUA", "Uxg46wX9eQ", "concat", "ih12", "PeGROIMT0gg", "q3RLsS7i", "XuWHQKIxr2iRLcmZxxT55QvDpA", "VWER9EaWc4AcymslL7xPEq1zGNIR4nY0q7GElQTNli4", "\uFFFD{}", "p0svhjWH", "detail", "1kpWo12ZSMshwTBwWbJ3DaxMMZBVonpeiPeBnT2IhilDzEJ1SwN7", "iframe", "height", "F4HkKQ", "ilxE_BjTSuMa6kBHdORnfZBKD512plB4wZ0", "arguments", "zzZ80jXzW69q-QNLX716dsRAIrQm0V0bmYWCmzTv-kE86C5Hex9MfJ2EuTx6SCpV41vW382c5yt7", "KiBk6XA", "cos", "YMSDQctK8Q", "_9M", "parse", "ahsRzw_NO4xErBdcS4FfXKU", "eToX9HbEGNtQnwFXefEbVQ", "hDRyvzX7aIVyhHNn", "byteLength", "\u3297\uFE0F", "2BwLtmieWZNOlHxn", "jHV2nXTcWe8-zh0CdPJ_Zg", "F1xLtxvbT-wglxFsLfocQaU", "encodeURIComponent", "KvjSPahF2Vm3cKXYrWk", "esinP6h8uw", "fQVJuUX5CcRM238TAw", "AZKhW-Ipoj_KEg", "Event", "xAhAnVnOV8lK2mx0CI4", "lastIndexOf", "-brdMpFPjE7QBfg", "UPmXTopVsA", "DmBpix3RA-5L3StXdpU", "DwIajVCaFZ9Ysw", "RkYS5jGqCLEmkGo", "40ZrnHDSbuZ-60Fca5BlL9wYe-8siV5ZzQ", "UuG5Zes6zR4", "ml1Dp3mAVd4r3i5lZqRhDrlI", "ZJ6Ge98Zgib3AQ", "U6TuA6lllnXoK8_XtwDyoFHZtX4", "Intl", "Element", "f3dRjwk", "Object", "4b2laPNqml3DHeLAmg", "1FNOqk0", "fTMI1xbEVf12xV0IfZk", "OO7aFvEBhA", "OFUepUacHscYkGBgeNMbUbA3QNBIsDN5-q6l8UabiWZZigkhXHYkFbft21wcO0QkgXy4tr7-h0kOSJegAL-WXJ1jxnhY", "map", "qF5apx0", "TNbdf8ANjBW8", "RKA", "dlYJ10aINQ", "RobuEuh_jzU", "stringify", "C-M", "data", "21QhmjqFa4Q", "v3VEowqzd9cl3nM", "N-6Mbeoy91rBDPM", "Vl92jzahfoEs_g", "seeCdMk2lBnODaLQ_S4", "9a-dZ9o93QM", "8b-UONcHm0PwGaSrshmdjHCMwAOOdquBfX9iPsBBSbqfMZX7jvXnyHYZV9eA", "catch", "e7rcRA", "9", "Safari", "57aUSJVzuQP6", "-WUj3Tg", "9s_IPt1O2nu1", "QVlVgX-MYKw8uxcxJtptPOUwLtoaiGhk", "wlob7S7YTMRDx1cHFA", "8_Kda6c_12XUYabEwzyIgWzzg0w", "Zw1PtknvA_tD1kINBrhmAA", "RegExp", "93F1kiHiT_Mcuhx-ScM", "MNDlCL5x53qeUY7U", "cDRcsQrKW99K_CdScMkfUL4", "\uD83D\uDE0E", "s7-Ld9lJsSTBHbPG", "fireEvent", "xdvrEexrwH6ZcPby7EXz", "yDZopSXeeuhtvwwdDKBq", "slice", "-sf-Et416g", "6er8ca9j2g", "bVx22Tnsc-gryFdPatFzc4NX", "sszOCNEQ8y2tPIOhu0byiXishmKWAPHmRUoxVQ", "fromCharCode", "zaSyXeYetAzSPA", "xw4Dg222", "Sa6BfNMAwiCzFv-0rHbLhg", "BnxnhSfHaswR-xJOMNs-e4A", "SSpc9xLrH9tm0Q", "top", "^(?:[\\0-\\t\\x0B\\f\\x0E-\\u2027\\u202A-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])$", "CNroHpVHpyrNEKCvgQ", "BB4E_FmiEr8", "aW1HthWfAg", "GbqCdaRAgALqAM6ip3Kz0A", "O8CDZJZdxVzQScOVh1-Hrw", "It68Qfwh2A", "UNDEFINED", "JwMr6XWWN4kAqQc", "WU5b6QnDCdsr3D0ze8pVRaRvc-lBujIH", "H3Ffr0r6D_s90nU", "all", "KWJArBfKUuUg23BYLfIfSrA5KsRRqjNdu7Kj5gmA_SpCjlJlL3hwV_iwuVtHRydjwnCQuLrlgEpCRIXEU46AWMZq-DUDVw", "FVJisVXmYaognCUODA", "jd7sHq5P81HRadb0tw", "Pvv0H_Qw-mQ", "boolean", "JSON", "Gq_nA4p45H7vbpGYqhDjrVPE-B2wWdvbUEY", "Int8Array", "BeDRYIZB5GCccvw", "fQsy", "-VgV5UukAf1V", "UMa8ZJ089X_bVojw6w", "aVtKslb7QMYu1SE5ScJSV6gDWslDri9N-KaNtwqXmwwQ3jRTQDBxCJizxhAC", "A3AV_wy-RtsG0j1dUvU", "_ojpErMfxw", "EmNVqBbyWKE_639bQg", "TR1WvUHzSclA1TkzZP8bS6w", "b4SsF-c9oTuRHpWEoA", "hzNeklmUbOha4gBxe55SRb0wd7oW0z13nsjsiHCZmQ", "W3ZKuHmm", "rjVSoEv_U7Bk0jNYBrY", "p5rZMI5GyCmGDv7E73OHwiCm0V_0bvawRmYFU8lsc4j-Temqpof-nx49NKeQyKyyFqZqIxtiVrLblEARznZe", "tS013USkB7oUvjQ", "rUBnhi8", "UldhmhPsP9km-B59U4wweIY", "clear", "zx8", "_OGsFvc-", "assign", "parseInt", "vPPMJJdq22G1TfDZm36UzDCVoUjA", "VEcK0U-CBYsi", "Pa_bJtF2nzfIAeaTjySK0j-gyRq_MfvlEg", "DBJ4kBftSuc", "nloQ1jWyRA", "z_2hVasP1A", "9fvQaMQ", "c8_oBqYr9lymSvC0mFjrhh7GqTQ", "4wEo91GmJNNs2Gw", "qH1ArwyQBd4", "MrbdLdt23zXXWrLcgySB2DO8m1e4O-K7X25PHIc", "v7XhNOFKvXbUeqo", "svg", "bihj", "Il5TrUO3Q8Q", "dOeIbZo2px-HEw", "h4LPO89un13fXcqwjSI", "DVJ5kCj8cagX40RNXOQ", "21", "gKTpEeJN5Wf5cZuQ_V294w_XtiT4H4qHWRQvAKs-MpM", "3IPfOpxZyEeSY5Y", "Int32Array", "vEZ2xyvmMucRmB0VZ_FUTrlxdvhStnwdveb9o0bzqnI", "filename", "P8moGfk-8Dy3BZLslRjvuF3F", "Wxgg0Gq-QLdClhtA", "f46bfM4LiwA", "mYmaZd4b-hq8Af8", "DbySbvMDqwyjEQ", "nQ1jp3G_WYQs2D85fw", "width", "1_bqF5wPmQM", "wztCu0nvEYVVkH8_Ab0QR7s", "sQtPvCzBRQ", "igwf6wauAJ9i", "enumerable", "WGJBqRHJLuR23j8", "py4G9HmIGaZ5mxc3aJ9UEw", "l3cu3FCAMbwfp0Zr", "YDhCimTRKPFJtG0ZFZ0P", "bzR3vnmKUdF3", "MrbbOutslwWdIe6EiG0", "YpXuHuFThgP0Kg", "5AtTqmr2Xu1TyCg", "hnc0-3SAN68OtA", "9joN73zZIN1bhAY", "ynpEtF-DJPErxBpY", "navigator", "charCodeAt", "VpjgEOI", "cfG0HdY53Q", "1kwR1jWpXog3jl8PG-1oI4YvHqJy_Ds_sZrzpCqf", "FPW0PaojtB29PujPpg", "M0d4_ADKAIEw33cJIdJDXLJZBZ0O", "dWY_1Vm_JfV_", "decodeURIComponent", "type", "m6DSJ8tG", "GgtPxRT4", "h5reKcEY6UDAXbg", "huytWq0RvzezPbLJ", "UYTtH-82pCGr", "RyF-rl7dLOBZ0Td8YpwQTc9bbtogj3ZDy-I", "pCVMqGHiQcI", "443", "avyaWdcgpCKXJdXU9nGk0xWe", "setPrototypeOf", "zZj8N9Bbxj3NUQ", "now", "gGII-EmADqs", "ArzDKdVbsw", "4xNfuWL9W-A", "VrbSO8hV8GLvYpfhjxyvpF-K", "ocuNLMA", "FTJzs0qzQw", "eQBSok-AH4kQmA", "hVk83HuTY-4V6wN6ZIx-Nt4", "zV4gg2ClQqw0vgxiFqpmNtdG", "c72Kf8wFgiDhM5GTgg", "indexOf", "push", "BHMt1XaLP6Y0pl85PQ", "Float64Array", "VofgDqo", "RousUPE_qDvkHbelqzSaiSndiBKYf9n8J3VUYw", "khx3jzHBZPJu9hs2H4V3IcxadKoew14Vg8Q", "By54g2nCasFmokA", "eoe6eats0AiGB_-Gvg", "oHI", "w8fAOo5Ph3e6W7rm9nO47g", "iG8eoUOMANYTmA", "PDom92CtYa8wtUUhKfw", "bSIdwQ3SfLR5oEgbd4FZVbUjFf8Tui1Ft5D8iCmP9w", "AOeILJokyyDCTqTehiaB0DLiwgCrdrGwQDgf", "name", "7WZumDzoJNB87h9hb7sqcKcP", "MdnVPN8e61awYA", "lzV9nGzzKZtv", "3XMuzzKVbuF0514y", "zQ5Ak3brTcRqlk8TXrY0Z8NkFLA1uiJ1qYfjrCOcoBEV6QdGW3wtdIH850w5OWN0ugc", "PpLSdJ9DxzHFcLuh", "SubmitEvent", "3Jr0Abhk6m_2cZTtyW2n-QGG7HaUTJmOCBU7NOF1NIw", "QW9-mg6fcOY99g", "9fbaI8A", "max", "event", "diR6lWDea9B78x8PafskfJdVJaA", "7NT_GoB4-GybTvXD_H7czmmK6UnQKA", "9Hwa1S6_Cg", "uNI", "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=", "QHYX7UKWHA", "setTimeout", "AH0A7neqI5IlrGl0Ew", "ADN4vV_rStprnw", "JNaMZtwatSmVCuO1", "[xX][nN]--", "PmRQqgbLeds", "aoTAEcUh_G3K", "y3Uv03OyOLFykno", "_bLRI4Y", "sbXdcvVrng", "Document", "XMLHttpRequest", "_7f3CaVj4n7gcg", "c57VNs9A_0nTRqHy", "p2Q91y3sep8E", "description", "US8-0zjvHbVfkihneKQ", "qyMe5UmXXJpxlHdPfb44EP5pKg", "zIu2XKgOpDv8NIKSsFml8h6aoiXxVZiZDFs4SbwnOA", "pNK2X9c4rwHXPIn0whmnyBLftjOg", "NfE", "KkIAvFqN", "kqfZStQE2BP-e7alxQ", "head", "gl0g3Gesda4-v0JTOqh8LN1sYvJW2lo", "5-SjQvA8tQ", "D5mqEPc5", "2lxllRLrYYJKrC81EYF3KsJuFeQRmzR39YLu", "t1Us4iOA", "toLowerCase", "IbPoGK5irXP1ONLNigfpuETZpG6kTZuPXgoDSK85IQ", "self", "oqi9W7QZpXXHEw", "jlo3mFq0Lss", "8MDCIppa0F-DW_D2_U7e7naQzV3sNa6TciUsJ5MADw", "zIvCfo9VjQDMRQ", "iTwI6lGhMI12gjsQEA", "7Z7HIZhQ2Evd", "7SU", "EI3NJo1cyXjIWb_16w", "ArrayBuffer", "pHhG7A3QFA", "jtrTOZQO_Gydd_2Cj3fAujDn", "QnVfpkTXSY53yy9_IfIfA-klQp4Y_lk", "ljMV70KHEbJqiCgWGpgpO5BvIA", "Float32Array", "create", "CustomEvent", "f384-A", "-CNnwBbhPahi7BsD", "OffscreenCanvas", "Hel$&?6%){mZ+#@\uD83D\uDC7A", "2NXzFK9ztmqGcoY", "IzoUxVm1BaY5", "_SMc616NEqpihg", "y2RJuynCWcEn6yRIPA", "-ns", "QV0ly3WEDrwWvlxaItAXcbQ", "6jd7nn3aAcN16XIwJA", "q_KQdcANjDGMBfg", "Tea2cfwknyCzFeM", "VlJDryXFb_cszg", "Fb7aJ8BLuAvuNsaSqQ-05T-H9y0", "-lQf-AGtacZczCJR", "Oyw30n2aIJo", "X0lurzaqRsAf03ZHFeNyKcYPNIBp30JkhuewqFHViA", "Y_usb-w", "EWpaohGPUQ", "WkY2xEWRO6ELhQ", "lrg", "28fJC4dPz3yEbM_ZwVo", "EiFWhGntdY536gpaF98", "YXIWzR6YEZ4Gjz04QsUbT-4qHtxSzjk1moSqp1-ujypV9BJyGw8FB9qf5T90WXAW93L2jYjdxx1ZJMI", "closed", "J_aafuYBiACFW_KqrQXNhmPiiQ", "join", "J6P7B6o_-G3kcM2Nygn6u0eD6TCpW9PAW0lyXvw8J4WvMsbh6ZWH_lACM_u4guDZfZkMX1tCMf-10g", "bIfyBLF_6WL6Zo7gz2Gq4wyc-2mZRpaI", "nTx50jXLUrty", "qHxFvS7SU9Q26jZOOukNTbc", "some", "T5PKdoxJzl3oOLC8lgiR-ESQ2wPnFA", "864", "rEQ93jOsIvAxvEkTXsZwMp9SKPtlkA4IgsI", "Na6hPOEcjQzLO78", "split", "qV9NsgrLWfAB_V5OTuw", "XTR72hj1Z7N68RYfZbpxcdpo", "0iMc_E-CCLNdrQkkJY82C7g", "123", "Wt-ONNEb1gDC", "n3IwhimLKr0pqARgKY9iJdJIa7QOxlNT05qiwyum4hUh-iInPwMNMYKX7GZrLCxA817VgJDMrDkwZ_Gb", "YKX_FoZ_xDT7cpLd7jzh9g", "kNCJTYl2lC_9EIE", "Hdy1XtwZpmmLOMjc", "YaHOJpVP6lvaSOaz-mWdwXi2k0bGIqOzMzMAZoJIFLqQBcrYg-r4inl7EZ3G-MS6GusYfjA2Fe7GmUR8sDoDzSWiP6CbkBJj", "GmgaiB7BEw", "forEach", "3XV_sQ", "jRVC9RDd", "RChR61H_Gu8C63kDV-oPX-I9Dco", "WqKJa_kSmA", "wOacbsQXz0DUVbDSqx8", "rVhR", "match", "HmMU7QerPoonlWZ3", "sin", "xML1G7JjvRXYepn531qx5RiehGY", "5U1jsGGr", "vKeSe9IYhWC5Qu3G_2OUzjGx7hPgaPePCmALUcNjTMTvS-2gtpD4jiIoMraazbaOGapuKRZdGviR", "W82uWq0j8Rm1Sg", "ipqcaZ4rgA", "hMOKUYFxkiXxB5CxgzA", "ufSMedoI", "JJKtA98wtWzVOJewgC3jt0T29D-JU9S8RA", "from-page-runscript", "abGAbMQB9SjwCLGP", "EMKgW6AVsWDndNH7sAfjklnQg2GYGYXEIA", "bS8d4ECEGIBtly04Lq9JBuFqcdcO-nQG6-zooEzaw1QR1VJ7SnR6HMLqzxkRaVYokwO-rPuk5V8GCt6kUt6RAtg7kSceXIHSbdFc9E1i1dIzml_hp4UltH2oeXg6RcpwgpJW8x5usfLlO8YkQswPZAcj8Jb3Wh3sZ7GP", "iwsfwwTWJ9w", "object", "dZ2UcNMVnQ", "Ayxyzg7qDg", "min", "bdaQBc964xHaZ432rw", "VbP3Cr179Gjzeo6KhTGkp0zF3ny4ZJmtXUtHPqF8aPG0Prk", "tagName", "wbLQeORwmGyd", "E_nePtF480nH", "msOdcM4Gmh2gFeeFoDc", "a2IUyAakD9M", "Umo5mWazFQ", "gduCOOUF71aFVav5nkGQkSS3jCnSNrn7GA", "any", "qtSqQ74eozKpLJi0pg", "3ajLONZazjPB", "yqSVIsIE0TTFVw", "EbXoNatO3lT6XaY", "", "vtKheNES", "baekd7JpyBvT", "G5iNPt0M8QvZM6C9", "E8yUJeYJijU", "KZCOeY8dtz68O82V21k", "uCNHvXf8AZk", "7NbZIolEmWzhUqTN0SySxBulq0mC", "7M7jNfoy6UyKHbuokw", "^[xX][nN]--"];
    var T = rf(null);
    var rc = [[[6, 179], [6, 118], [7, 177], [3, 155], [8, 113], [8, 8], [1, 151], [8, 229], [3, 124], [0, 57], [9, 120], [4, 31], [3, 142], [1, 178], [3, 115], [8, 223], [0, 128], [1, 36], [5, 65], [4, 126], [4, 119], [4, 222], [8, 109], [1, 99], [5, 16], [5, 220], [5, 233], [4, 206], [0, 90], [2, 12], [0, 147], [2, 30], [4, 156], [5, 87], [3, 168], [3, 50], [9, 17], [4, 100], [4, 200], [3, 23], [2, 66], [8, 88], [3, 127], [4, 28], [8, 7], [9, 73], [8, 25], [0, 11], [5, 187], [7, 56], [6, 185], [6, 32], [5, 129], [9, 35], [4, 108], [8, 227], [5, 76], [9, 131], [3, 180], [8, 157], [4, 24], [6, 64], [8, 190], [3, 84], [2, 21], [3, 133], [0, 41], [1, 138], [0, 165], [5, 150], [0, 55], [1, 225], [5, 232], [9, 70], [7, 39], [4, 125], [5, 158], [2, 60], [0, 210], [6, 191], [5, 174], [0, 135], [1, 145], [5, 29], [9, 75], [1, 189], [4, 203], [3, 116], [7, 134], [8, 67], [7, 136], [7, 217], [5, 164], [0, 78], [0, 228], [7, 153], [8, 42], [3, 93], [6, 207], [7, 94], [2, 195], [2, 74], [6, 218], [0, 71], [5, 9], [0, 137], [3, 40], [2, 170], [0, 37], [0, 27], [5, 98], [0, 105], [9, 63], [8, 202], [4, 61], [8, 97], [1, 106], [4, 212], [7, 20], [1, 5], [7, 68], [1, 13], [3, 96], [7, 144], [7, 122], [6, 104], [3, 34], [9, 121], [1, 89], [4, 72], [9, 92], [9, 19], [5, 231], [5, 161], [6, 52], [9, 117], [7, 141], [8, 51], [2, 193], [5, 214], [2, 91], [1, 6], [2, 53], [1, 139], [7, 4], [6, 140], [8, 80], [9, 79], [0, 208], [0, 33], [5, 10], [8, 173], [3, 224], [3, 219], [6, 102], [6, 196], [9, 181], [8, 182], [0, 175], [3, 77], [2, 226], [8, 167], [0, 215], [9, 188], [9, 205], [9, 26], [9, 152], [0, 204], [5, 162], [5, 3], [2, 81], [3, 112], [3, 199], [2, 209], [9, 2], [8, 221], [6, 85], [1, 95], [7, 143], [9, 184], [6, 192], [1, 114], [0, 213], [4, 148], [2, 48], [5, 230], [3, 163], [0, 169], [9, 216], [7, 69], [5, 176], [0, 211], [1, 186], [2, 154], [2, 107], [3, 0], [8, 15], [8, 166], [8, 22], [3, 46], [5, 198], [8, 111], [6, 123], [7, 58], [6, 146], [9, 130], [0, 18], [7, 38], [3, 14], [3, 62], [9, 101], [1, 47], [2, 132], [1, 103], [8, 194], [9, 43], [1, 83], [9, 171], [4, 183], [3, 197], [9, 172], [3, 159], [0, 82], [1, 86], [9, 1], [1, 49], [6, 149], [7, 201], [5, 54], [3, 45], [9, 110], [0, 160], [7, 44], [1, 59]], [[1, 91], [9, 10], [3, 216], [9, 212], [1, 33], [9, 21], [5, 36], [8, 169], [3, 85], [8, 108], [9, 158], [9, 185], [0, 123], [4, 179], [5, 118], [8, 140], [8, 114], [4, 72], [4, 126], [0, 204], [3, 112], [6, 22], [8, 110], [0, 52], [4, 111], [1, 192], [9, 233], [3, 46], [2, 168], [8, 115], [2, 224], [0, 180], [1, 49], [2, 18], [1, 150], [7, 232], [5, 128], [1, 51], [3, 203], [4, 181], [8, 191], [4, 41], [9, 129], [1, 106], [1, 220], [1, 213], [9, 2], [9, 197], [0, 194], [7, 26], [5, 151], [8, 58], [1, 195], [1, 178], [9, 86], [2, 176], [0, 166], [3, 25], [4, 219], [9, 138], [7, 96], [5, 32], [3, 125], [5, 82], [8, 119], [5, 147], [0, 226], [6, 5], [9, 210], [1, 76], [0, 56], [8, 66], [0, 105], [1, 7], [8, 19], [5, 57], [0, 71], [3, 16], [7, 88], [3, 139], [0, 187], [4, 101], [0, 160], [3, 54], [9, 221], [5, 117], [0, 59], [9, 113], [8, 55], [7, 11], [4, 229], [8, 144], [4, 9], [4, 107], [1, 4], [8, 47], [6, 167], [0, 214], [8, 230], [2, 8], [7, 215], [7, 39], [1, 198], [1, 98], [8, 89], [7, 184], [7, 225], [9, 177], [4, 90], [9, 157], [0, 134], [0, 137], [6, 145], [2, 222], [3, 205], [4, 77], [5, 100], [5, 218], [3, 35], [0, 13], [8, 131], [7, 92], [1, 104], [7, 102], [3, 42], [0, 64], [6, 163], [0, 34], [5, 207], [8, 142], [5, 228], [5, 200], [9, 109], [5, 70], [8, 38], [1, 24], [7, 99], [0, 120], [0, 148], [8, 79], [8, 173], [5, 87], [8, 1], [9, 159], [0, 149], [8, 68], [1, 196], [3, 188], [4, 231], [7, 73], [6, 193], [0, 60], [4, 95], [5, 62], [8, 15], [7, 175], [7, 63], [4, 199], [7, 171], [5, 30], [4, 50], [3, 202], [5, 223], [2, 45], [8, 155], [0, 152], [5, 143], [8, 186], [3, 53], [9, 17], [1, 75], [3, 153], [5, 227], [1, 122], [0, 156], [2, 121], [1, 201], [7, 80], [5, 161], [5, 67], [7, 164], [2, 172], [0, 211], [5, 48], [1, 154], [1, 127], [4, 69], [8, 217], [7, 103], [2, 40], [7, 170], [0, 136], [0, 27], [5, 23], [8, 6], [3, 37], [2, 189], [6, 97], [8, 12], [2, 78], [3, 84], [0, 124], [7, 162], [1, 29], [0, 141], [6, 20], [4, 133], [8, 182], [4, 14], [3, 0], [3, 130], [0, 206], [6, 94], [1, 3], [0, 132], [8, 74], [6, 43], [2, 93], [9, 44], [2, 61], [4, 116], [4, 174], [3, 209], [7, 83], [6, 146], [5, 81], [0, 183], [5, 208], [7, 135], [6, 28], [2, 190], [4, 31], [3, 165], [6, 65]], [[4, 2], [7, 174], [9, 71], [1, 154], [9, 155], [5, 76], [0, 73], [2, 105], [4, 72], [8, 176], [8, 194], [1, 115], [6, 80], [4, 122], [4, 138], [0, 61], [2, 88], [4, 106], [7, 198], [3, 164], [9, 20], [1, 58], [3, 4], [8, 179], [5, 90], [1, 47], [8, 32], [9, 227], [0, 50], [3, 44], [7, 104], [4, 31], [5, 150], [2, 117], [0, 159], [4, 82], [1, 143], [8, 9], [4, 126], [5, 167], [4, 10], [4, 78], [2, 200], [5, 124], [5, 180], [0, 221], [2, 208], [5, 16], [4, 182], [1, 57], [6, 17], [8, 94], [7, 133], [8, 65], [8, 64], [6, 203], [9, 220], [3, 70], [5, 91], [6, 112], [9, 74], [6, 35], [3, 119], [7, 19], [7, 13], [6, 129], [0, 38], [6, 23], [7, 59], [6, 96], [6, 33], [4, 113], [5, 163], [6, 1], [2, 207], [6, 49], [0, 134], [2, 39], [2, 54], [8, 101], [3, 52], [7, 3], [8, 0], [7, 141], [2, 99], [5, 48], [4, 146], [9, 60], [4, 6], [9, 14], [6, 75], [3, 66], [5, 175], [3, 172], [1, 187], [8, 83], [7, 226], [5, 231], [6, 8], [3, 28], [3, 202], [0, 55], [7, 132], [4, 67], [1, 140], [0, 186], [0, 166], [2, 145], [6, 56], [5, 218], [2, 156], [7, 188], [7, 53], [8, 183], [9, 92], [1, 29], [1, 209], [7, 81], [7, 95], [2, 144], [6, 161], [5, 12], [4, 63], [2, 199], [8, 42], [1, 184], [8, 152], [3, 87], [2, 169], [2, 219], [6, 26], [0, 27], [2, 168], [9, 108], [1, 225], [8, 45], [2, 103], [8, 204], [3, 181], [7, 118], [8, 201], [9, 189], [9, 120], [4, 147], [2, 136], [9, 123], [7, 62], [8, 170], [1, 97], [3, 137], [1, 190], [6, 46], [8, 98], [7, 131], [5, 85], [2, 107], [9, 165], [6, 79], [0, 30], [8, 215], [5, 230], [7, 110], [7, 34], [8, 43], [3, 206], [5, 77], [5, 178], [0, 24], [0, 157], [1, 160], [1, 213], [9, 41], [2, 149], [4, 89], [4, 191], [3, 148], [4, 128], [0, 216], [6, 109], [3, 5], [8, 84], [2, 196], [5, 142], [7, 173], [5, 223], [1, 233], [4, 116], [0, 158], [4, 212], [8, 192], [3, 21], [7, 125], [2, 185], [3, 222], [1, 111], [7, 11], [9, 100], [1, 51], [6, 68], [5, 22], [9, 127], [3, 130], [7, 15], [3, 214], [6, 229], [4, 102], [8, 93], [0, 232], [7, 37], [0, 217], [8, 135], [6, 193], [9, 25], [1, 197], [7, 205], [2, 40], [2, 151], [3, 211], [8, 153], [2, 7], [6, 86], [7, 228], [4, 162], [3, 36], [4, 121], [3, 210], [8, 69], [9, 195], [6, 114], [4, 139], [9, 224], [2, 177], [9, 171], [6, 18]], [[6, 213], [5, 186], [1, 127], [7, 188], [8, 183], [7, 150], [8, 13], [3, 217], [6, 191], [6, 120], [8, 97], [7, 135], [5, 124], [0, 60], [9, 149], [2, 4], [5, 64], [6, 85], [8, 105], [7, 76], [9, 98], [7, 202], [9, 27], [9, 129], [6, 19], [6, 221], [9, 176], [4, 42], [8, 131], [2, 115], [6, 91], [1, 89], [7, 12], [7, 133], [2, 196], [4, 161], [9, 30], [6, 147], [0, 208], [5, 36], [6, 117], [3, 75], [5, 195], [2, 77], [2, 44], [6, 83], [5, 140], [3, 101], [3, 209], [7, 5], [8, 51], [3, 113], [9, 20], [2, 155], [0, 33], [5, 228], [2, 47], [2, 226], [8, 205], [4, 141], [7, 86], [4, 37], [5, 118], [7, 110], [2, 153], [0, 71], [3, 162], [7, 172], [2, 232], [0, 204], [9, 59], [8, 139], [9, 10], [0, 207], [4, 152], [3, 7], [6, 182], [9, 119], [0, 192], [5, 61], [2, 166], [7, 137], [0, 80], [3, 99], [1, 206], [0, 193], [8, 69], [4, 58], [7, 28], [8, 94], [8, 177], [6, 197], [8, 210], [2, 90], [4, 43], [5, 38], [3, 84], [8, 212], [2, 211], [5, 65], [1, 46], [3, 116], [2, 164], [9, 185], [7, 39], [8, 32], [6, 184], [0, 6], [6, 154], [6, 219], [2, 187], [6, 225], [1, 178], [4, 134], [5, 96], [6, 21], [7, 194], [7, 222], [8, 53], [8, 157], [2, 57], [2, 29], [5, 180], [5, 151], [1, 233], [4, 102], [0, 92], [9, 62], [7, 103], [5, 174], [9, 159], [6, 95], [2, 148], [8, 230], [8, 231], [6, 31], [2, 168], [5, 52], [2, 170], [6, 74], [4, 111], [4, 79], [3, 198], [9, 14], [4, 220], [7, 165], [5, 112], [9, 179], [7, 203], [7, 16], [5, 136], [5, 158], [0, 167], [5, 81], [5, 55], [5, 66], [3, 201], [7, 122], [3, 156], [0, 114], [2, 35], [3, 25], [4, 93], [7, 24], [4, 11], [4, 125], [8, 26], [3, 1], [1, 41], [2, 142], [6, 190], [4, 87], [2, 199], [3, 171], [3, 104], [1, 189], [8, 82], [0, 73], [3, 15], [0, 23], [4, 216], [2, 34], [3, 175], [0, 48], [3, 3], [0, 145], [6, 223], [1, 54], [4, 218], [4, 17], [6, 126], [2, 49], [7, 146], [9, 200], [0, 45], [6, 40], [9, 18], [4, 121], [1, 0], [3, 63], [7, 163], [6, 2], [9, 229], [4, 88], [8, 70], [6, 160], [2, 138], [0, 78], [7, 106], [0, 132], [6, 123], [5, 143], [3, 72], [6, 50], [1, 9], [3, 109], [5, 214], [3, 130], [9, 107], [9, 67], [5, 8], [4, 181], [9, 56], [9, 128], [3, 215], [0, 169], [1, 173], [5, 227], [2, 224], [8, 100], [0, 68], [1, 144], [8, 22], [8, 108]], [[7, 99], [6, 154], [3, 142], [5, 117], [4, 188], [0, 139], [5, 172], [0, 137], [8, 212], [1, 47], [3, 150], [3, 49], [5, 80], [6, 110], [3, 33], [8, 132], [0, 233], [0, 167], [5, 92], [1, 104], [5, 72], [8, 30], [5, 3], [7, 19], [5, 0], [9, 71], [7, 216], [6, 131], [9, 8], [2, 165], [8, 76], [9, 84], [7, 51], [6, 161], [9, 78], [7, 97], [1, 151], [7, 79], [4, 23], [5, 77], [0, 81], [5, 173], [5, 196], [9, 195], [9, 108], [1, 54], [8, 200], [8, 136], [1, 48], [3, 5], [4, 186], [5, 88], [4, 124], [0, 147], [7, 65], [4, 35], [2, 98], [4, 68], [0, 220], [8, 168], [5, 164], [1, 209], [5, 228], [0, 224], [3, 223], [3, 82], [4, 149], [1, 156], [7, 105], [1, 166], [7, 232], [4, 211], [3, 159], [2, 182], [7, 128], [2, 34], [6, 27], [7, 230], [5, 125], [6, 83], [4, 120], [3, 226], [6, 106], [4, 199], [4, 32], [5, 45], [8, 46], [5, 219], [7, 157], [3, 42], [9, 24], [8, 126], [1, 63], [6, 21], [8, 225], [1, 86], [9, 11], [7, 96], [4, 179], [8, 107], [3, 91], [1, 198], [4, 177], [9, 55], [6, 189], [1, 87], [0, 25], [1, 191], [3, 194], [1, 74], [2, 93], [7, 162], [2, 176], [7, 222], [9, 113], [6, 15], [6, 102], [7, 115], [0, 85], [3, 36], [7, 197], [2, 109], [5, 95], [7, 122], [0, 44], [7, 170], [3, 111], [2, 231], [4, 16], [1, 2], [5, 12], [2, 141], [4, 90], [5, 52], [7, 1], [7, 4], [9, 174], [7, 127], [9, 118], [3, 153], [2, 43], [8, 158], [2, 7], [2, 38], [4, 203], [1, 40], [5, 14], [2, 175], [5, 202], [3, 135], [5, 70], [6, 56], [4, 205], [0, 207], [8, 64], [1, 41], [9, 9], [8, 184], [4, 10], [2, 103], [3, 39], [3, 31], [6, 37], [3, 204], [5, 73], [5, 227], [2, 206], [2, 190], [8, 138], [1, 145], [0, 181], [4, 163], [8, 20], [7, 143], [6, 50], [3, 6], [4, 100], [6, 130], [9, 171], [0, 187], [8, 28], [9, 218], [6, 213], [6, 208], [0, 116], [7, 221], [3, 201], [2, 29], [1, 129], [0, 152], [2, 215], [0, 69], [1, 66], [5, 101], [3, 53], [2, 60], [2, 22], [0, 180], [5, 193], [7, 144], [8, 119], [5, 160], [0, 17], [2, 114], [8, 229], [9, 146], [0, 183], [6, 89], [1, 217], [6, 94], [1, 148], [7, 214], [2, 61], [9, 133], [6, 75], [7, 67], [6, 57], [9, 134], [4, 185], [6, 18], [0, 26], [3, 13], [6, 62], [8, 58], [2, 112], [1, 178], [3, 123], [8, 210], [1, 155], [5, 140], [4, 59], [6, 121], [0, 169], [9, 192]], [[9, 183], [6, 69], [7, 53], [5, 128], [4, 137], [7, 175], [9, 207], [9, 153], [2, 98], [8, 4], [1, 74], [4, 9], [4, 208], [2, 123], [3, 80], [3, 119], [2, 84], [6, 35], [1, 197], [4, 25], [2, 115], [5, 1], [1, 99], [0, 114], [8, 87], [7, 67], [4, 161], [0, 43], [0, 100], [5, 5], [9, 146], [4, 13], [7, 169], [0, 126], [4, 95], [5, 12], [5, 173], [7, 139], [1, 2], [4, 144], [7, 56], [9, 104], [5, 85], [7, 216], [4, 147], [0, 155], [3, 171], [5, 36], [1, 16], [8, 186], [8, 108], [5, 10], [0, 158], [0, 61], [9, 211], [2, 132], [6, 212], [7, 92], [9, 0], [0, 94], [2, 224], [3, 42], [5, 52], [9, 143], [4, 129], [8, 219], [4, 54], [0, 154], [4, 41], [3, 205], [0, 55], [8, 30], [6, 93], [9, 152], [4, 159], [9, 192], [9, 86], [7, 164], [5, 136], [4, 26], [1, 233], [1, 140], [2, 37], [4, 44], [3, 229], [1, 215], [2, 20], [4, 178], [3, 88], [5, 190], [3, 157], [3, 160], [2, 81], [9, 199], [6, 102], [7, 33], [9, 148], [7, 191], [4, 48], [6, 116], [1, 133], [2, 15], [7, 174], [8, 130], [8, 23], [7, 8], [2, 121], [3, 127], [0, 71], [0, 65], [7, 176], [8, 124], [8, 77], [1, 97], [2, 62], [8, 188], [1, 27], [7, 82], [4, 70], [0, 28], [1, 187], [0, 203], [9, 73], [2, 109], [3, 202], [8, 110], [3, 105], [1, 68], [5, 149], [9, 125], [2, 46], [4, 182], [7, 230], [8, 232], [7, 106], [1, 78], [8, 134], [3, 76], [3, 14], [5, 189], [7, 38], [2, 60], [5, 145], [7, 58], [7, 194], [5, 162], [8, 181], [0, 75], [6, 32], [4, 141], [8, 167], [8, 231], [8, 163], [9, 198], [1, 18], [8, 217], [8, 180], [0, 210], [2, 223], [0, 150], [1, 57], [1, 34], [8, 184], [8, 177], [6, 170], [0, 29], [1, 112], [0, 196], [1, 222], [3, 66], [8, 45], [4, 111], [4, 39], [7, 151], [6, 220], [2, 179], [1, 103], [2, 206], [1, 200], [2, 156], [4, 17], [2, 193], [2, 3], [9, 195], [2, 72], [6, 228], [7, 221], [4, 142], [0, 59], [6, 218], [6, 168], [8, 21], [0, 226], [5, 6], [1, 166], [2, 209], [7, 79], [0, 89], [1, 120], [6, 50], [5, 11], [0, 19], [6, 83], [0, 101], [2, 172], [2, 225], [7, 118], [0, 138], [8, 131], [5, 63], [5, 31], [4, 51], [5, 49], [3, 96], [9, 7], [5, 91], [3, 227], [6, 185], [7, 213], [8, 47], [6, 90], [3, 214], [0, 117], [9, 24], [3, 64], [4, 135], [2, 204], [5, 113], [3, 201], [1, 107], [5, 165], [3, 40], [6, 122], [3, 22]], [[8, 221], [3, 223], [8, 156], [2, 185], [5, 93], [2, 228], [8, 33], [3, 163], [0, 10], [3, 172], [2, 44], [8, 31], [4, 218], [6, 179], [0, 165], [0, 189], [1, 103], [4, 70], [1, 226], [7, 23], [9, 134], [8, 81], [3, 125], [0, 85], [8, 158], [6, 42], [8, 102], [1, 145], [1, 138], [1, 119], [1, 217], [5, 136], [5, 101], [2, 224], [3, 41], [9, 197], [3, 57], [9, 220], [1, 153], [0, 183], [5, 171], [2, 16], [6, 39], [4, 92], [2, 51], [9, 17], [4, 49], [1, 9], [9, 12], [0, 54], [0, 79], [9, 212], [8, 196], [1, 27], [7, 122], [2, 203], [5, 177], [0, 83], [2, 192], [1, 14], [4, 181], [7, 133], [7, 143], [8, 47], [3, 48], [8, 207], [1, 29], [4, 195], [0, 206], [4, 89], [3, 2], [9, 61], [3, 108], [7, 36], [8, 18], [5, 188], [5, 91], [9, 100], [5, 159], [7, 94], [9, 129], [8, 105], [7, 19], [2, 166], [8, 114], [1, 215], [2, 68], [3, 88], [6, 148], [2, 230], [3, 40], [9, 151], [0, 50], [6, 90], [0, 117], [8, 13], [8, 59], [0, 115], [2, 147], [9, 58], [0, 209], [8, 191], [7, 34], [3, 63], [2, 98], [6, 182], [3, 140], [3, 204], [6, 120], [0, 20], [3, 233], [5, 62], [1, 109], [0, 210], [8, 178], [5, 202], [0, 135], [4, 187], [9, 7], [4, 66], [5, 168], [3, 104], [8, 199], [9, 25], [3, 161], [4, 43], [4, 167], [4, 28], [7, 110], [9, 15], [0, 155], [6, 193], [1, 21], [5, 35], [3, 69], [5, 130], [2, 139], [1, 55], [4, 123], [2, 3], [1, 186], [0, 38], [7, 30], [3, 198], [7, 173], [5, 124], [9, 37], [6, 118], [2, 214], [8, 160], [5, 141], [3, 208], [5, 76], [5, 142], [2, 219], [2, 116], [0, 127], [8, 74], [4, 11], [9, 52], [2, 231], [5, 113], [3, 180], [5, 149], [6, 65], [6, 232], [5, 8], [2, 96], [9, 213], [2, 164], [3, 205], [6, 144], [4, 154], [8, 0], [5, 222], [9, 99], [7, 194], [5, 56], [5, 162], [7, 24], [3, 200], [9, 71], [3, 64], [7, 78], [0, 53], [7, 190], [6, 229], [5, 72], [8, 67], [7, 176], [1, 157], [1, 106], [2, 132], [2, 150], [2, 46], [1, 216], [0, 4], [6, 146], [8, 26], [1, 175], [6, 95], [7, 77], [3, 121], [2, 225], [3, 97], [4, 152], [9, 126], [2, 201], [0, 227], [5, 32], [9, 45], [8, 1], [7, 6], [7, 5], [5, 22], [5, 86], [9, 87], [1, 170], [9, 169], [3, 174], [6, 80], [4, 111], [3, 84], [1, 107], [9, 82], [2, 60], [3, 112], [8, 75], [2, 131], [5, 184], [8, 137], [9, 128], [6, 73], [4, 211]], [[7, 80], [6, 227], [4, 91], [4, 30], [6, 127], [3, 109], [3, 2], [5, 93], [4, 232], [9, 9], [2, 101], [1, 228], [7, 160], [0, 1], [4, 35], [0, 171], [6, 82], [9, 202], [1, 155], [0, 113], [6, 45], [8, 55], [1, 106], [8, 62], [4, 13], [1, 130], [0, 179], [0, 221], [1, 59], [3, 19], [3, 18], [6, 117], [4, 188], [3, 185], [0, 64], [8, 17], [7, 119], [8, 114], [3, 178], [0, 31], [1, 147], [6, 210], [8, 129], [9, 176], [0, 60], [5, 151], [6, 22], [7, 167], [0, 51], [6, 163], [4, 225], [1, 187], [6, 10], [9, 90], [3, 84], [5, 233], [4, 81], [4, 213], [8, 208], [8, 92], [0, 121], [2, 89], [1, 217], [5, 83], [5, 65], [5, 15], [7, 47], [4, 111], [0, 229], [2, 76], [2, 75], [5, 125], [7, 192], [3, 144], [3, 112], [6, 157], [9, 108], [3, 191], [0, 201], [0, 52], [1, 24], [4, 175], [1, 104], [7, 211], [3, 66], [9, 169], [8, 215], [2, 154], [9, 102], [4, 85], [0, 156], [5, 196], [3, 63], [1, 48], [7, 97], [4, 69], [9, 131], [8, 152], [6, 61], [4, 37], [3, 107], [2, 3], [9, 94], [8, 198], [4, 29], [6, 219], [6, 126], [3, 95], [5, 38], [1, 28], [6, 195], [4, 168], [0, 99], [2, 44], [9, 194], [3, 74], [9, 150], [8, 218], [5, 20], [0, 120], [0, 41], [2, 133], [2, 224], [6, 115], [1, 182], [6, 6], [1, 174], [0, 78], [5, 143], [2, 199], [5, 36], [3, 159], [0, 180], [4, 14], [4, 205], [2, 138], [7, 184], [1, 100], [6, 79], [6, 209], [6, 190], [1, 53], [3, 146], [6, 139], [2, 132], [3, 197], [5, 25], [2, 145], [0, 12], [9, 86], [7, 122], [1, 170], [1, 142], [1, 46], [7, 148], [4, 32], [2, 58], [4, 4], [0, 222], [2, 54], [1, 103], [4, 96], [5, 223], [6, 164], [4, 42], [5, 207], [1, 173], [8, 98], [6, 214], [1, 0], [6, 172], [0, 8], [8, 27], [7, 128], [9, 183], [4, 50], [6, 49], [1, 206], [3, 73], [5, 165], [7, 203], [7, 26], [2, 118], [9, 137], [6, 21], [4, 57], [5, 226], [0, 158], [8, 5], [2, 230], [7, 87], [7, 124], [5, 135], [5, 11], [6, 140], [1, 220], [0, 56], [9, 23], [9, 189], [4, 110], [4, 181], [3, 71], [9, 67], [4, 231], [4, 77], [2, 193], [8, 123], [3, 141], [6, 40], [9, 166], [6, 153], [1, 43], [7, 34], [2, 162], [2, 204], [9, 88], [9, 72], [1, 33], [2, 200], [6, 16], [6, 68], [9, 177], [7, 136], [5, 70], [5, 149], [4, 39], [1, 7], [5, 216], [0, 134], [1, 161], [5, 212], [6, 186], [3, 116], [2, 105]], [[9, 48], [9, 15], [3, 98], [3, 90], [9, 164], [7, 149], [9, 157], [2, 144], [8, 204], [0, 202], [1, 3], [3, 169], [2, 190], [7, 25], [9, 82], [5, 1], [0, 28], [0, 112], [0, 188], [0, 179], [3, 92], [1, 129], [4, 191], [2, 156], [7, 78], [1, 183], [1, 37], [2, 86], [8, 79], [1, 96], [1, 124], [2, 206], [9, 75], [1, 34], [5, 109], [1, 227], [5, 16], [3, 212], [8, 134], [6, 115], [7, 11], [9, 132], [7, 76], [9, 66], [1, 22], [7, 192], [3, 185], [4, 168], [6, 219], [3, 77], [4, 189], [6, 150], [6, 68], [0, 178], [0, 55], [5, 122], [8, 165], [5, 218], [0, 111], [9, 186], [2, 44], [2, 200], [6, 103], [3, 114], [5, 233], [2, 131], [7, 130], [5, 148], [7, 208], [3, 53], [7, 51], [7, 45], [1, 119], [1, 0], [2, 143], [0, 100], [5, 32], [5, 99], [8, 27], [6, 217], [9, 151], [4, 43], [6, 2], [8, 216], [3, 20], [9, 213], [8, 50], [7, 221], [2, 89], [1, 201], [6, 52], [3, 120], [0, 61], [5, 47], [2, 23], [7, 141], [2, 81], [3, 223], [6, 193], [8, 209], [4, 152], [1, 21], [7, 57], [1, 205], [4, 74], [1, 162], [9, 198], [0, 110], [1, 87], [2, 146], [2, 199], [6, 88], [1, 197], [5, 102], [8, 135], [3, 19], [9, 159], [4, 30], [6, 60], [9, 224], [2, 177], [9, 4], [7, 31], [8, 26], [5, 161], [0, 126], [3, 93], [6, 104], [5, 113], [4, 182], [4, 72], [4, 71], [7, 174], [0, 84], [1, 24], [8, 101], [0, 170], [0, 17], [4, 184], [9, 194], [5, 5], [5, 207], [8, 7], [9, 140], [5, 54], [4, 172], [4, 83], [9, 211], [8, 147], [2, 39], [0, 127], [7, 142], [7, 9], [6, 228], [4, 29], [6, 137], [8, 14], [8, 220], [7, 56], [5, 123], [8, 49], [7, 67], [7, 214], [7, 160], [5, 139], [4, 116], [3, 136], [1, 203], [8, 38], [1, 232], [4, 138], [5, 12], [5, 18], [0, 181], [5, 58], [8, 230], [3, 158], [6, 128], [1, 106], [4, 180], [2, 155], [4, 8], [4, 226], [8, 65], [9, 145], [9, 108], [4, 176], [0, 40], [6, 195], [6, 36], [4, 125], [1, 166], [5, 73], [6, 175], [9, 222], [2, 64], [8, 10], [5, 91], [3, 107], [7, 171], [2, 133], [2, 69], [4, 33], [7, 117], [4, 70], [7, 97], [0, 41], [0, 163], [7, 35], [6, 6], [0, 105], [7, 85], [1, 95], [4, 173], [8, 42], [1, 229], [8, 187], [3, 215], [5, 80], [8, 231], [9, 94], [9, 154], [8, 59], [8, 13], [9, 167], [4, 225], [2, 46], [9, 196], [4, 153], [9, 118], [5, 121], [9, 62], [6, 210], [6, 63]], [[4, 199], [8, 159], [5, 194], [0, 112], [0, 107], [8, 116], [1, 10], [9, 183], [4, 167], [5, 175], [1, 71], [2, 18], [6, 181], [2, 88], [5, 118], [4, 113], [9, 89], [1, 102], [8, 82], [3, 99], [7, 207], [2, 6], [6, 111], [1, 44], [6, 76], [8, 184], [9, 29], [3, 33], [1, 124], [3, 186], [4, 153], [9, 51], [0, 227], [2, 7], [8, 138], [8, 149], [9, 133], [7, 79], [4, 158], [7, 110], [3, 105], [2, 182], [7, 134], [5, 200], [2, 172], [8, 219], [8, 232], [3, 16], [2, 145], [6, 193], [3, 164], [7, 154], [8, 171], [8, 224], [0, 176], [6, 9], [6, 32], [1, 25], [0, 104], [5, 47], [3, 106], [0, 2], [1, 180], [4, 64], [0, 62], [1, 36], [2, 94], [5, 202], [6, 12], [6, 213], [9, 163], [8, 84], [8, 66], [4, 55], [3, 49], [7, 208], [5, 41], [6, 45], [5, 131], [1, 189], [3, 220], [8, 125], [2, 59], [9, 217], [3, 211], [2, 231], [9, 212], [2, 40], [1, 214], [3, 53], [4, 73], [6, 152], [0, 160], [8, 21], [0, 22], [7, 30], [4, 58], [3, 52], [8, 15], [7, 221], [4, 65], [1, 218], [7, 93], [9, 34], [9, 61], [4, 192], [3, 101], [0, 14], [9, 24], [9, 188], [3, 20], [7, 50], [7, 90], [4, 26], [4, 109], [8, 0], [3, 135], [2, 173], [0, 169], [7, 87], [4, 81], [0, 23], [6, 210], [1, 19], [3, 126], [5, 132], [7, 203], [1, 201], [4, 85], [8, 215], [6, 157], [1, 103], [0, 140], [2, 143], [3, 60], [7, 115], [6, 136], [3, 205], [5, 197], [5, 70], [7, 128], [2, 225], [2, 83], [6, 216], [0, 190], [6, 196], [8, 206], [7, 42], [5, 191], [2, 98], [9, 95], [0, 5], [8, 108], [3, 139], [0, 226], [4, 174], [6, 123], [4, 155], [6, 74], [0, 185], [5, 195], [0, 56], [5, 69], [5, 146], [2, 117], [5, 3], [7, 80], [0, 147], [8, 168], [2, 39], [1, 57], [6, 228], [0, 67], [9, 119], [8, 86], [1, 68], [9, 178], [4, 46], [4, 96], [0, 100], [4, 92], [0, 170], [2, 97], [2, 130], [4, 222], [4, 77], [7, 150], [4, 35], [0, 229], [1, 156], [6, 4], [5, 75], [0, 137], [3, 223], [7, 127], [9, 179], [6, 38], [9, 91], [8, 63], [4, 187], [3, 48], [1, 129], [8, 114], [7, 148], [1, 31], [0, 78], [9, 28], [3, 11], [0, 144], [9, 204], [9, 1], [2, 166], [4, 120], [7, 122], [9, 142], [7, 17], [4, 43], [2, 161], [2, 233], [2, 162], [5, 165], [2, 177], [2, 72], [1, 198], [5, 230], [3, 141], [0, 13], [6, 8], [5, 151], [9, 27], [5, 121], [6, 54], [9, 209], [1, 37]]];
    var V = [{
        m: [4, 7, 1],
        r: [0, 1, 2, 3, 4, 5, 6, 7],
        v: []
    }, {
        m: [],
        r: [1, 2, 4, 5, 8],
        v: [0, 3, 6, 7, 13, 15, 16, 21, 309]
    }, {
        m: [1, 15, 13, 7, 12, 6],
        r: [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18],
        v: [2, 58, 67, 75, 156, 212, 242, 278, 326]
    }, {
        m: [],
        r: [2, 3, 5, 7, 10, 11, 13, 16, 18, 19],
        v: [0, 1, 4, 6, 8, 9, 12, 14, 15, 17, 21, 22, 23, 75, 156, 242, 300, 321]
    }, {
        m: [0, 1],
        r: [0, 1, 2],
        v: [19]
    }, {
        m: [],
        r: [1, 2, 4, 5, 8, 9, 10],
        v: [0, 3, 6, 7, 13, 15, 16, 21, 309]
    }, {
        J: 11,
        g: 2,
        m: [5],
        r: [1, 3, 4, 5, 6, 7, 8, 9, 10],
        v: [0, 94]
    }, {
        m: [0],
        r: [0],
        v: [1, 190]
    }, {
        m: [1],
        r: [1],
        v: [0, 50, 317, 324]
    }, {
        m: [0],
        r: [0],
        v: [20]
    }, {
        m: [1],
        r: [0, 1],
        v: [234, 256, 311]
    }, {
        m: [],
        r: [3, 4, 5, 7, 8],
        v: [0, 1, 2, 6, 9, 10, 11, 13, 16, 21, 22, 23, 156, 160, 242]
    }, {
        m: [2, 3],
        r: [0, 1, 2, 3, 4, 5, 6, 7, 8],
        v: []
    }, {
        m: [],
        r: [],
        v: [13, 17, 18, 157]
    }, {
        m: [],
        r: [0, 1, 2, 4],
        v: [3]
    }, {
        m: [1, 0],
        r: [0, 1, 2, 3],
        v: [263]
    }, {
        m: [],
        r: [],
        v: [3, 10]
    }, {
        m: [0],
        r: [0],
        v: []
    }, {
        m: [],
        r: [],
        v: [3]
    }, {
        m: [2, 3],
        r: [0, 1, 2, 3],
        v: [159, 266]
    }, {
        m: [0, 7],
        r: [0, 5, 6, 7],
        v: [1, 2, 3, 4, 125]
    }, {
        m: [0],
        r: [0],
        v: []
    }, {
        m: [0],
        r: [0, 2, 4, 5],
        v: [1, 3, 175, 220, 265]
    }, {
        m: [],
        r: [0, 1, 2],
        v: [3, 9, 11, 256]
    }, {
        m: [],
        r: [1, 2, 3],
        v: [0, 7, 8, 13, 17, 23]
    }, {
        m: [4],
        r: [0, 2, 3, 4, 5, 6],
        v: [1, 11, 26, 31, 337]
    }, {
        m: [8, 11, 32, 14, 9, 1],
        r: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 30, 32, 33, 34, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49],
        v: [29, 31, 35, 51, 55, 60, 96, 124, 145, 154, 156, 195, 205, 236, 242, 277, 285, 302, 303, 322, 336]
    }, {
        m: [0],
        r: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
        v: [13, 20, 75, 111, 156, 242]
    }, {
        m: [18, 7, 14, 13, 9, 17],
        r: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24],
        v: [51, 75, 156, 242, 328]
    }, {
        J: 0,
        m: [1, 2],
        r: [1, 2, 3],
        v: []
    }, {
        m: [0],
        r: [0],
        v: []
    }, {
        m: [0],
        r: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13],
        v: [73, 86, 108, 265]
    }, {
        m: [],
        r: [],
        v: [186]
    }, {
        m: [],
        r: [0, 1, 3, 4],
        v: [2, 7, 8, 12, 54]
    }, {
        m: [0],
        r: [0, 1],
        v: [79, 98, 234]
    }, {
        m: [0],
        r: [0],
        v: []
    }, {
        m: [],
        r: [],
        v: []
    }, {
        m: [1, 0],
        r: [0, 1],
        v: []
    }, {
        m: [],
        r: [0, 1, 3, 5, 7, 8, 9, 10, 11, 12, 13, 16, 17, 18, 19, 20, 22, 23, 24, 26, 27, 28, 29],
        v: [2, 4, 6, 14, 15, 21, 25, 33, 137, 171, 250]
    }, {
        m: [17],
        r: [1, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 17, 21, 24, 25, 26, 28, 29, 31, 34],
        v: [0, 2, 11, 16, 18, 19, 20, 22, 23, 27, 30, 32, 33, 36, 37, 38, 39, 75, 111, 156, 242, 309]
    }, {
        m: [0, 1, 2],
        r: [0, 1, 2],
        v: [7, 8, 12]
    }, {
        m: [],
        r: [],
        v: [10, 22]
    }, {
        m: [1, 4, 3],
        r: [0, 1, 2, 3, 4, 5, 6, 7, 8],
        v: []
    }, {
        m: [0],
        r: [0],
        v: []
    }, {
        m: [],
        r: [],
        v: []
    }, {
        m: [],
        r: [],
        v: [8]
    }, {
        m: [3, 11, 29, 23, 19, 10],
        r: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34],
        v: [12, 21, 75, 83, 111, 124, 137, 156, 166, 171, 233, 242, 250, 265, 267]
    }, {
        m: [8],
        r: [1, 2, 4, 5, 7, 8, 9, 10, 11, 12, 13],
        v: [0, 3, 6, 156, 242, 294]
    }, {
        g: 6,
        m: [],
        r: [0, 2, 4, 5, 7],
        v: [1, 3, 8, 10]
    }, {
        m: [0],
        r: [0],
        v: [3, 217]
    }, {
        m: [20, 18, 12, 10, 6, 16],
        r: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21],
        v: [24, 51, 75, 111, 156, 222, 242, 303, 309, 331]
    }, {
        m: [3],
        r: [0, 1, 2, 3],
        v: [37, 71, 123]
    }, {
        m: [0],
        r: [0],
        v: []
    }, {
        m: [2, 0],
        r: [0, 1, 2, 3],
        v: [29]
    }, {
        m: [0],
        r: [0],
        v: []
    }, {
        m: [],
        r: [0],
        v: [1, 2]
    }, {
        m: [],
        r: [],
        v: []
    }, {
        m: [0, 2],
        r: [0, 1, 2],
        v: [5, 213]
    }, {
        m: [],
        r: [],
        v: [8, 11, 15, 157]
    }, {
        m: [0],
        r: [0],
        v: [1, 94]
    }, {
        m: [0],
        r: [0],
        v: [7, 10]
    }, {
        m: [0],
        r: [0],
        v: [5]
    }, {
        J: 0,
        m: [1],
        r: [1],
        v: [26]
    }, {
        m: [3, 4],
        r: [0, 1, 3, 4, 5],
        v: [2, 9, 13, 14, 16, 17, 21, 156, 242]
    }, {
        m: [],
        r: [],
        v: [2, 3]
    }, {
        m: [],
        r: [4, 7, 8, 10, 11, 13, 14],
        v: [0, 1, 2, 3, 5, 6, 9, 12, 30, 44, 127, 273, 318]
    }, {
        m: [0],
        r: [0],
        v: [18]
    }, {
        m: [3],
        r: [0, 1, 2, 3, 5, 6, 7, 8],
        v: [4, 11, 31, 33, 145, 303, 331]
    }, {
        m: [],
        r: [],
        v: []
    }, {
        m: [0],
        r: [0],
        v: [5]
    }, {
        m: [],
        r: [],
        v: [0, 7]
    }, {
        m: [1],
        r: [0, 1],
        v: []
    }, {
        m: [],
        r: [],
        v: [6, 16]
    }, {
        m: [],
        r: [],
        v: [0, 7]
    }, {
        m: [],
        r: [0, 2, 4, 8, 9, 11, 13, 16, 18, 19, 21, 22, 23, 25, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41],
        v: [1, 3, 5, 6, 7, 10, 12, 14, 15, 17, 20, 24, 26, 61, 75, 111, 132, 156, 187, 218, 242, 275, 309, 334]
    }, {
        m: [],
        r: [],
        v: [0, 18]
    }, {
        m: [0],
        r: [0, 1],
        v: [29]
    }, {
        m: [4, 2, 6],
        r: [1, 2, 3, 4, 5, 6, 7],
        v: [0]
    }, {
        m: [21, 2, 16, 8, 25, 19],
        r: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26],
        v: [61, 75, 111, 132, 156, 176, 187, 218, 242, 275, 309, 334]
    }, {
        m: [],
        r: [4, 12, 13, 14, 15, 16, 17],
        v: [0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 11]
    }, {
        m: [0],
        r: [0],
        v: [272]
    }, {
        m: [0],
        r: [0],
        v: [11]
    }, {
        m: [0],
        r: [0],
        v: [7]
    }, {
        m: [0],
        r: [0],
        v: [15]
    }, {
        m: [],
        r: [1, 3, 4, 5, 6, 7, 10, 12, 13, 18, 19],
        v: [0, 2, 8, 9, 11, 14, 15, 16, 17, 58, 67, 75, 156, 212, 242, 278, 326]
    }, {
        m: [],
        r: [0, 1, 2, 3, 4, 5, 7],
        v: [6, 21, 22, 23, 156]
    }, {
        m: [0],
        r: [0],
        v: [1, 3, 6]
    }, {
        m: [],
        r: [0, 1, 2, 3, 5, 6, 7, 9, 12, 13, 16],
        v: [4, 8, 10, 11, 14, 15, 156, 242, 326]
    }, {
        m: [],
        r: [0, 1, 2, 3, 4],
        v: [6, 7, 13, 16]
    }, {
        m: [0],
        r: [0, 2],
        v: [1, 4, 6, 170, 213]
    }, {
        m: [0],
        r: [0],
        v: []
    }, {
        m: [],
        r: [],
        v: []
    }, {
        m: [0],
        r: [0],
        v: []
    }, {
        m: [],
        r: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16],
        v: [10, 20, 22, 31, 38, 39, 40, 41, 42, 43, 46, 60, 96, 156, 195, 205, 242, 277]
    }, {
        m: [1, 16],
        r: [0, 1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 15, 16, 17, 18],
        v: [8, 14, 36, 135, 178, 238, 266, 292, 297, 307]
    }, {
        m: [2, 5, 6],
        r: [1, 2, 3, 4, 5, 6, 7],
        v: [0]
    }, {
        m: [],
        r: [],
        v: [0, 14]
    }, {
        m: [],
        r: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13],
        v: [14, 21, 156, 242]
    }, {
        J: 0,
        m: [],
        r: [],
        v: []
    }, {
        m: [0],
        r: [0, 2, 3],
        v: [1, 4, 6, 163]
    }, {
        m: [2],
        r: [2],
        v: [0, 1, 147, 209]
    }, {
        m: [0],
        r: [0],
        v: [2]
    }, {
        m: [0, 1],
        r: [0, 1],
        v: []
    }, {
        m: [0],
        r: [0],
        v: [3]
    }, {
        m: [1],
        r: [0, 1, 2, 3, 4, 5],
        v: [6, 11, 75, 156, 242]
    }, {
        m: [4],
        r: [0, 1, 2, 4, 5, 6, 8, 9, 10, 11, 13],
        v: [3, 7, 12, 28, 145, 303]
    }, {
        m: [0],
        r: [0],
        v: [1]
    }, {
        m: [],
        r: [0, 1],
        v: [2, 10, 11, 13, 49, 110, 155, 170, 198, 213, 227]
    }, {
        J: 19,
        m: [23],
        r: [3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 20, 21, 22, 23, 24],
        v: [0, 1, 2, 4, 14, 32, 95, 100, 135, 178, 186, 226, 307, 310, 326]
    }, {
        m: [1],
        r: [1, 2, 3, 4],
        v: [0, 19]
    }, {
        m: [6],
        r: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
        v: [0, 13, 156, 242]
    }, {
        m: [1, 10],
        r: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
        v: [13, 101, 263]
    }, {
        m: [0],
        r: [0],
        v: [14, 135, 142, 147, 150, 157, 307]
    }, {
        m: [0],
        r: [0, 1],
        v: []
    }, {
        m: [1],
        r: [1],
        v: [0]
    }, {
        m: [3],
        r: [0, 1, 2, 3, 5, 6, 7, 8, 9, 10],
        v: [4, 11, 31, 33, 145, 303, 331]
    }, {
        g: 3,
        m: [],
        r: [],
        v: [0, 1, 2]
    }, {
        m: [0],
        r: [0],
        v: [50, 272, 317, 324]
    }, {
        m: [],
        r: [],
        v: [3, 16]
    }, {
        m: [0],
        r: [0],
        v: [2]
    }, {
        m: [0],
        r: [0, 1, 2, 3, 4, 5],
        v: [143]
    }, {
        m: [4],
        r: [0, 2, 3, 4, 5],
        v: [1, 8, 13, 104, 256]
    }, {
        m: [0],
        r: [0],
        v: [2, 3]
    }, {
        m: [0],
        r: [0],
        v: [278]
    }, {
        m: [],
        r: [],
        v: [0, 14]
    }, {
        m: [1, 8, 21, 7, 14, 10],
        r: [0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24],
        v: [4, 11, 41, 43, 75, 111, 136, 156, 165, 241, 242, 246, 284, 343, 347, 349]
    }, {
        m: [],
        r: [0, 1, 2, 5, 6, 7, 8, 10, 12, 13, 15, 16, 17, 18, 19, 20, 21, 24],
        v: [3, 4, 9, 11, 14, 22, 23, 26, 27, 75, 111, 156, 242]
    }, {
        m: [0],
        r: [0],
        v: [147]
    }, {
        m: [1, 0],
        r: [0, 1],
        v: []
    }, {
        m: [],
        r: [],
        v: [14]
    }, {
        m: [],
        r: [],
        v: []
    }, {
        m: [2, 0],
        r: [0, 1, 2],
        v: [263, 299]
    }, {
        m: [],
        r: [],
        v: [1]
    }, {
        m: [],
        r: [],
        v: [9]
    }, {
        m: [],
        r: [],
        v: [0, 14]
    }, {
        m: [0],
        r: [0],
        v: [13]
    }, {
        m: [],
        r: [1, 2, 3, 4, 5],
        v: [0, 8, 15, 17, 23, 156, 242]
    }, {
        m: [1, 0],
        r: [0, 1],
        v: [3]
    }, {
        m: [0],
        r: [0],
        v: []
    }, {
        m: [],
        r: [],
        v: []
    }, {
        m: [],
        r: [0, 1, 3, 6],
        v: [2, 4, 5, 10, 11]
    }, {
        m: [5],
        r: [0, 1, 2, 3, 5, 6, 7],
        v: [4, 10, 11, 28, 317]
    }, {
        m: [6],
        r: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
        v: [28, 46, 317]
    }, {
        m: [2, 3],
        r: [0, 1, 2, 3],
        v: [10]
    }, {
        J: 1,
        m: [],
        r: [],
        v: [0]
    }, {
        m: [1],
        r: [0, 1],
        v: [133, 138, 173, 182, 223, 279, 341]
    }, {
        m: [],
        r: [1, 3, 4, 7, 8, 9, 11, 12, 14, 15, 16, 17, 18, 19, 20],
        v: [0, 2, 5, 6, 10, 13, 75, 156, 242, 309]
    }, {
        m: [],
        r: [],
        v: [62]
    }, {
        m: [0],
        r: [0],
        v: []
    }, {
        m: [1],
        r: [1],
        v: [0]
    }, {
        m: [9, 6, 5],
        r: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11],
        v: [34]
    }, {
        m: [1, 0],
        r: [0, 1],
        v: []
    }, {
        m: [1],
        r: [0, 1],
        v: [42]
    }, {
        m: [],
        r: [0, 1, 2, 4],
        v: [3, 6, 20, 156, 242, 309]
    }, {
        m: [0],
        r: [0, 1],
        v: [7, 17]
    }, {
        m: [],
        r: [],
        v: [12, 24]
    }, {
        J: 0,
        m: [1],
        r: [1],
        v: [3, 71]
    }, {
        m: [1],
        r: [1],
        v: [0, 147]
    }, {
        m: [],
        r: [0],
        v: [66]
    }, {
        m: [0],
        r: [0],
        v: [4, 5, 7, 10, 11]
    }, {
        m: [1, 0],
        r: [0, 1],
        v: [99]
    }, {
        m: [],
        r: [4, 6, 13, 17, 18, 20, 22, 23, 24, 25, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52],
        v: [0, 1, 2, 3, 5, 7, 8, 9, 10, 11, 12, 14, 15, 16, 19, 21, 26, 58, 75, 77, 121, 141, 156, 229, 242, 261, 309, 337, 349]
    }, {
        m: [1, 8, 4, 5],
        r: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
        v: [321]
    }, {
        m: [6, 1, 11, 8, 7, 4],
        r: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
        v: [30, 44, 127, 163, 273, 318]
    }, {
        m: [],
        r: [],
        v: [0, 15]
    }, {
        m: [],
        r: [0, 1, 4, 5, 7, 8, 9, 10, 11, 12, 14],
        v: [2, 3, 6, 13, 15, 17, 20, 22, 75, 111, 156, 242, 349]
    }, {
        m: [1],
        r: [0, 1, 2, 3, 4, 5],
        v: []
    }, {
        m: [6],
        r: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14],
        v: [49, 110, 155, 170, 198, 213, 227, 233, 238, 266, 292, 312]
    }, {
        m: [0],
        r: [0],
        v: []
    }, {
        m: [],
        r: [],
        v: [235]
    }, {
        m: [],
        r: [0, 1, 2, 3, 4, 5],
        v: []
    }, {
        m: [4, 8, 14, 1, 7, 12],
        r: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
        v: [75, 156, 197, 208, 240, 242, 309]
    }, {
        m: [0],
        r: [0],
        v: []
    }, {
        m: [],
        r: [],
        v: [3]
    }, {
        J: 2,
        g: 6,
        m: [8],
        r: [0, 1, 3, 4, 5, 7, 8, 9, 10, 11, 12],
        v: [40, 224, 231, 263]
    }, {
        m: [],
        r: [],
        v: [18, 20]
    }, {
        m: [0],
        r: [0],
        v: [4, 7]
    }, {
        m: [1, 0],
        r: [0, 1, 2],
        v: []
    }, {
        m: [],
        r: [1, 2, 3, 4, 6],
        v: [0, 5, 7, 9, 10, 14, 15, 19, 75, 77, 121, 156, 229, 242, 261]
    }, {
        m: [],
        r: [],
        v: [0]
    }, {
        m: [3],
        r: [1, 2, 3, 4],
        v: [0, 9, 25, 26]
    }, {
        m: [0],
        r: [0],
        v: [5]
    }, {
        m: [],
        r: [],
        v: [6, 7, 8, 9]
    }, {
        m: [4],
        r: [1, 2, 3, 4],
        v: [0]
    }, {
        m: [1, 0],
        r: [0, 1],
        v: [295]
    }, {
        m: [],
        r: [1, 2, 3, 6, 7, 8, 10, 12, 13, 14, 15, 17, 20, 21, 22],
        v: [0, 4, 5, 9, 11, 16, 18, 19, 23, 41, 43, 136, 156, 165, 241, 242, 246, 284, 343, 347]
    }, {
        m: [0],
        r: [0],
        v: [262, 278]
    }, {
        m: [],
        r: [4, 6, 7],
        v: [0, 1, 2, 3, 5]
    }, {
        m: [0],
        r: [0],
        v: [7, 270]
    }, {
        m: [2, 4],
        r: [0, 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18],
        v: [6, 17, 33, 104, 116, 140, 204, 234, 247, 256, 288, 293, 329, 333, 335, 344]
    }, {
        m: [16],
        r: [0, 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19, 20],
        v: [6, 14, 36, 54, 135, 140, 159, 161, 175, 178, 192, 234, 238, 247, 256, 266, 288, 292, 297, 307, 329, 333]
    }, {
        J: 0,
        m: [],
        r: [],
        v: []
    }, {
        m: [1],
        r: [0, 1],
        v: [12, 16, 18, 23]
    }, {
        m: [0],
        r: [0],
        v: [193]
    }, {
        m: [],
        r: [],
        v: [2]
    }, {
        m: [],
        r: [],
        v: []
    }, {
        m: [],
        r: [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32],
        v: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 132, 156, 242, 275]
    }, {
        m: [],
        r: [0, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20],
        v: [1, 4, 75, 156, 242]
    }, {
        J: 11,
        m: [10, 5, 7],
        r: [3, 4, 5, 6, 7, 8, 9, 10],
        v: [0, 1, 2, 174, 242]
    }, {
        m: [],
        r: [4],
        v: [0, 1, 2, 3, 6]
    }, {
        m: [4, 6, 0, 2, 12, 3],
        r: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17],
        v: [74, 75, 85, 107, 114, 156, 200, 242, 309]
    }, {
        m: [1],
        r: [1, 5],
        v: [0, 2, 3, 4, 7, 8]
    }, {
        J: 0,
        m: [],
        r: [],
        v: []
    }, {
        m: [2, 0],
        r: [0, 1, 2],
        v: [3, 213]
    }, {
        m: [1],
        r: [1],
        v: [0]
    }, {
        m: [],
        r: [],
        v: []
    }, {
        m: [2],
        r: [0, 1, 2, 5],
        v: [3, 4, 52, 196, 260]
    }, {
        m: [12, 9, 4, 7, 1, 5, 3],
        r: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18],
        v: [147, 157]
    }, {
        m: [],
        r: [0],
        v: [109, 194]
    }, {
        m: [],
        r: [],
        v: [3]
    }, {
        m: [],
        r: [],
        v: []
    }, {
        m: [8],
        r: [0, 1, 2, 3, 4, 5, 6, 8],
        v: [7, 75, 156, 242]
    }, {
        m: [0],
        r: [0],
        v: [5]
    }, {
        m: [],
        r: [],
        v: [4]
    }, {
        m: [0],
        r: [0],
        v: []
    }, {
        m: [],
        r: [],
        v: [5]
    }, {
        m: [3],
        r: [0, 1, 2, 3, 4],
        v: [22, 137, 267]
    }, {
        m: [1],
        r: [1, 2],
        v: [0, 5, 6, 7, 8, 9, 10, 11, 14, 16, 17, 20]
    }, {
        m: [0],
        r: [0, 1],
        v: [46, 216]
    }, {
        J: 0,
        m: [1],
        r: [1],
        v: []
    }, {
        m: [],
        r: [1, 2],
        v: [0, 9, 12, 54, 161]
    }, {
        m: [],
        r: [0, 1, 2, 3],
        v: [9, 63, 65, 68, 73, 86, 128, 164, 243, 264]
    }, {
        m: [],
        r: [0, 1, 2, 3, 4, 5, 6],
        v: [9, 21, 22, 23, 38, 156]
    }, {
        m: [],
        r: [],
        v: []
    }, {
        m: [5, 4],
        r: [1, 2, 3, 4, 5, 6, 7, 8],
        v: [0, 16, 97, 124, 128, 243, 270, 324]
    }, {
        m: [1],
        r: [0, 1],
        v: [7, 17]
    }, {
        m: [5],
        r: [0, 5],
        v: [1, 2, 3, 4, 6, 213, 227]
    }, {
        m: [0],
        r: [0],
        v: [5]
    }, {
        m: [0],
        r: [0],
        v: [1, 2, 6]
    }, {
        m: [1],
        r: [1, 2],
        v: [0, 5, 7, 283]
    }, {
        m: [0],
        r: [0],
        v: [6]
    }, {
        m: [],
        r: [],
        v: [1, 9, 16, 20, 142, 150]
    }, {
        m: [],
        r: [],
        v: []
    }, {
        m: [0],
        r: [0],
        v: [10]
    }, {
        m: [0],
        r: [0],
        v: [10]
    }, {
        m: [1],
        r: [0, 1, 2],
        v: [4, 5]
    }, {
        m: [0],
        r: [0, 1],
        v: [26, 33, 303]
    }, {
        m: [0, 2],
        r: [0, 1, 2],
        v: [213, 304]
    }, {
        m: [],
        r: [3, 4],
        v: [0, 1, 2, 5, 6, 7, 8, 9, 10, 12, 13, 14, 170, 213, 227, 233, 238, 292, 312]
    }, {
        m: [],
        r: [0, 1, 2, 3, 4, 5],
        v: []
    }, {
        m: [],
        r: [],
        v: [0, 4]
    }, {
        m: [0],
        r: [0],
        v: []
    }, {
        m: [32, 15, 3, 12],
        r: [0, 2, 3, 4, 5, 6, 7, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32],
        v: [1, 8, 9, 53, 57, 70, 84, 91, 118, 124, 126, 130, 133, 138, 148, 173, 182, 183, 211, 223, 228, 258, 279, 290, 320, 341]
    }, {
        m: [],
        r: [],
        v: [3, 5]
    }, {
        g: 4,
        m: [],
        r: [1, 2, 3, 5, 6],
        v: [0, 147]
    }, {
        m: [],
        r: [3, 5, 6, 10],
        v: [0, 1, 2, 4, 7, 8, 9, 11, 13, 14, 17, 19, 156, 242]
    }, {
        m: [8],
        r: [0, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17],
        v: [1, 10, 132, 156, 242, 275]
    }, {
        m: [0],
        r: [0, 1],
        v: [15, 19, 67, 278]
    }, {
        m: [0],
        r: [0],
        v: [10]
    }, {
        m: [],
        r: [0, 1, 3, 4, 6, 7, 8, 9, 11],
        v: [2, 5, 10, 12, 15, 16, 20, 156, 242]
    }, {
        m: [],
        r: [],
        v: []
    }, {
        m: [0],
        r: [0],
        v: [2]
    }, {
        m: [0],
        r: [0],
        v: []
    }, {
        m: [0],
        r: [0, 1, 2],
        v: [11, 24, 25, 27, 33, 303]
    }, {
        m: [],
        r: [],
        v: []
    }, {
        m: [0],
        r: [0],
        v: [5]
    }, {
        m: [],
        r: [],
        v: [1, 2, 4]
    }, {
        m: [],
        r: [],
        v: []
    }, {
        m: [1],
        r: [1],
        v: [0, 147]
    }, {
        m: [],
        r: [],
        v: [2]
    }, {
        m: [0],
        r: [0],
        v: [4, 6]
    }, {
        J: 0,
        m: [],
        r: [],
        v: []
    }, {
        m: [0, 1],
        r: [0, 1],
        v: [27, 92]
    }, {
        m: [3, 5],
        r: [1, 2, 3, 4, 5, 6, 7],
        v: [0, 16, 19, 97, 124, 128, 177, 243, 270, 324, 330]
    }, {
        m: [1, 0],
        r: [0, 1, 3],
        v: [2, 213]
    }, {
        J: 0,
        m: [],
        r: [],
        v: []
    }, {
        m: [11],
        r: [0, 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 15, 16],
        v: [6, 14, 36, 54, 135, 140, 161, 175, 178, 192, 234, 238, 247, 256, 266, 288, 292, 297, 307, 329, 333]
    }, {
        m: [1],
        r: [1, 3],
        v: [0, 2]
    }, {
        m: [3],
        r: [0, 1, 2, 3],
        v: [14, 39, 135, 178, 210, 214, 249, 298, 307, 309]
    }, {
        m: [0],
        r: [0, 1],
        v: [7, 17]
    }, {
        m: [],
        r: [0, 1, 2, 4, 5, 6, 7, 8, 10, 12, 13, 14, 16, 17, 18, 19],
        v: [3, 9, 11, 15, 75, 156, 197, 208, 240, 242, 309]
    }, {
        m: [5, 4, 6, 0],
        r: [0, 1, 2, 3, 4, 5, 6, 7],
        v: [52, 76, 105, 113, 149, 190, 196, 199, 206, 260]
    }, {
        m: [0],
        r: [0],
        v: []
    }, {
        m: [8],
        r: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16],
        v: [73, 108, 135, 265, 286]
    }, {
        m: [0],
        r: [0],
        v: [8]
    }, {
        m: [1],
        r: [0, 1],
        v: [3]
    }, {
        m: [0],
        r: [0],
        v: [1]
    }, {
        m: [3],
        r: [0, 1, 2, 3],
        v: [25, 40, 88, 94, 101, 117, 189, 215, 217, 224, 231, 251, 263, 271, 287, 299, 340, 351]
    }, {
        m: [],
        r: [],
        v: [16, 24, 48, 49]
    }, {
        m: [0],
        r: [0],
        v: [4]
    }, {
        m: [0],
        r: [0],
        v: [7]
    }, {
        J: 2,
        g: 0,
        m: [],
        r: [1, 3, 4],
        v: [5, 8, 13, 15, 201, 338]
    }, {
        m: [0],
        r: [0],
        v: [4, 76]
    }, {
        g: 3,
        m: [2],
        r: [0, 1, 2, 4, 5, 6, 7, 8, 9, 10],
        v: []
    }, {
        m: [],
        r: [0, 2, 3, 4, 6, 10, 11, 14, 15, 19, 21, 22, 23, 25, 28, 29, 32, 33, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50],
        v: [1, 5, 7, 8, 9, 12, 13, 16, 17, 18, 20, 24, 26, 27, 30, 31, 34, 75, 83, 111, 124, 156, 166, 242, 265]
    }, {
        m: [],
        r: [],
        v: []
    }, {
        J: 3,
        m: [2],
        r: [0, 1, 2],
        v: []
    }, {
        m: [0],
        r: [0],
        v: [5, 9]
    }, {
        m: [],
        r: [1, 2, 3, 5, 6, 7, 8, 9],
        v: [0, 4, 11, 15, 16, 18, 20, 21, 24, 25, 27, 30, 31, 33, 75, 145, 156, 242, 303, 315, 331]
    }, {
        m: [],
        r: [1, 2, 4, 5, 8],
        v: [0, 3, 6, 7, 13, 15, 16, 21, 309]
    }, {
        J: 1,
        m: [0],
        r: [0],
        v: []
    }, {
        m: [],
        r: [],
        v: [2]
    }, {
        m: [],
        r: [],
        v: [5, 27]
    }, {
        m: [2],
        r: [0, 2],
        v: [1, 10]
    }, {
        m: [],
        r: [0],
        v: []
    }, {
        m: [0],
        r: [0],
        v: [15]
    }, {
        m: [0, 1],
        r: [0, 1],
        v: [147, 283]
    }, {
        m: [],
        r: [0, 1, 2, 4, 5, 6],
        v: [3, 14, 156, 242, 326]
    }, {
        m: [0],
        r: [0],
        v: [7, 9, 12]
    }, {
        m: [],
        r: [],
        v: [2]
    }, {
        m: [],
        r: [0, 1, 2, 3],
        v: [7, 9, 10, 11]
    }, {
        m: [],
        r: [0, 1, 2, 3],
        v: [4, 13, 22, 23, 156, 242]
    }, {
        m: [],
        r: [0, 1, 2, 4, 5, 6, 8, 9],
        v: [3, 7, 12, 16, 24, 28, 37, 48, 49, 145, 156, 242, 303]
    }, {
        m: [],
        r: [],
        v: [0, 12]
    }, {
        m: [5],
        r: [2, 3, 4, 5, 6, 7, 8],
        v: [0, 1]
    }, {
        m: [],
        r: [0, 2, 3, 4, 6, 9, 10, 12, 13, 15, 16, 17, 18, 19, 24, 25, 26, 27, 28, 29, 30, 31],
        v: [1, 5, 7, 8, 11, 14, 20, 21, 22, 23, 75, 156, 242, 309]
    }, {
        m: [0],
        r: [0],
        v: [17]
    }, {
        m: [6],
        r: [0, 1, 2, 4, 5, 6, 8, 9, 10],
        v: [3, 7, 12, 28, 145, 303]
    }, {
        m: [0],
        r: [0],
        v: []
    }, {
        m: [0],
        r: [0],
        v: [3, 15]
    }, {
        m: [0],
        r: [0],
        v: []
    }, {
        m: [0],
        r: [0],
        v: [2]
    }, {
        m: [0, 6, 2, 1],
        r: [0, 1, 2, 3, 4, 5, 6, 7, 8],
        v: [14, 32, 78, 94, 95, 100, 135, 139, 178, 186, 226, 307, 310, 326]
    }, {
        m: [0],
        r: [0],
        v: []
    }, {
        m: [5],
        r: [0, 1, 2, 3, 4, 5],
        v: [9, 12, 40, 224, 263]
    }, {
        m: [1, 2],
        r: [0, 1, 2],
        v: []
    }, {
        m: [],
        r: [],
        v: [1, 2]
    }, {
        m: [16, 13],
        r: [0, 1, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 15, 16],
        v: [2, 10, 14, 36, 135, 159, 178, 238, 266, 292, 297, 307]
    }, {
        m: [1],
        r: [0, 1, 2],
        v: [174, 242]
    }, {
        m: [0],
        r: [0],
        v: [147]
    }, {
        m: [0],
        r: [0],
        v: [3, 180]
    }, {
        m: [2],
        r: [0, 1, 2, 3, 4, 5, 6, 7],
        v: [14, 28, 29, 56, 65, 99, 135, 168, 249, 272, 281, 307, 314]
    }, {
        J: 4,
        m: [1, 5],
        r: [0, 1, 3, 5],
        v: [2]
    }, {
        m: [],
        r: [0, 1, 2, 3, 4, 6, 7, 11, 12, 13, 15, 16, 18, 19, 20, 21, 22, 23],
        v: [5, 8, 9, 10, 14, 17, 75, 156, 242, 309]
    }, {
        m: [0],
        r: [0],
        v: [1]
    }, {
        m: [2, 4],
        r: [0, 2, 4, 5],
        v: [1, 3]
    }, {
        J: 0,
        m: [1],
        r: [1],
        v: [119]
    }, {
        m: [3, 4, 6, 1],
        r: [0, 1, 2, 3, 4, 5, 6, 7],
        v: [90, 163]
    }, {
        m: [0],
        r: [0],
        v: [8]
    }, {
        m: [],
        r: [],
        v: [8, 31, 141, 156, 242]
    }, {
        m: [1, 0],
        r: [0, 1],
        v: []
    }, {
        m: [1, 2],
        r: [0, 1, 2],
        v: []
    }, {
        m: [0],
        r: [0, 2, 3],
        v: [1, 5]
    }, {
        m: [0],
        r: [0, 1],
        v: []
    }, {
        m: [7],
        r: [0, 1, 2, 3, 5, 6, 7],
        v: [4, 11, 31, 33, 145, 303, 331]
    }, {
        m: [0],
        r: [0, 2],
        v: [1, 9, 94]
    }, {
        m: [],
        r: [0, 1, 2, 3],
        v: [17, 19, 156, 242]
    }, {
        m: [0],
        r: [0],
        v: []
    }, {
        m: [5],
        r: [0, 1, 2, 5],
        v: [3, 4]
    }, {
        J: 0,
        m: [5, 1],
        r: [1, 3, 4, 5],
        v: [2]
    }, {
        m: [1, 2],
        r: [0, 1, 2, 3, 4, 6, 7, 8, 9],
        v: [5, 21, 222, 303, 309, 331]
    }, {
        m: [0],
        r: [0],
        v: [266]
    }, {
        m: [3],
        r: [0, 1, 2, 3, 4],
        v: [8, 156, 242]
    }, {
        m: [0],
        r: [0],
        v: [5, 14]
    }, {
        m: [0],
        r: [0],
        v: []
    }, {
        m: [],
        r: [0, 1, 3, 4, 5, 6, 8],
        v: [2, 7, 18, 20, 42, 58, 119, 122, 141, 147, 156, 163, 172, 188, 242, 268, 276, 278, 291, 309]
    }, {
        m: [],
        r: [0, 1, 2],
        v: []
    }, {
        m: [0],
        r: [0, 1],
        v: [2, 5, 6, 8, 12, 20]
    }, {
        m: [],
        r: [],
        v: []
    }, {
        m: [2],
        r: [1, 2],
        v: [0, 8, 9, 10]
    }, {
        m: [0],
        r: [0],
        v: [147]
    }, {
        m: [0, 1],
        r: [0, 1],
        v: [6, 16]
    }, {
        m: [0],
        r: [0],
        v: []
    }, {
        m: [1, 2, 6, 0],
        r: [0, 1, 2, 3, 4, 5, 6, 7],
        v: []
    }, {
        m: [0],
        r: [0],
        v: [186]
    }, {
        m: [0],
        r: [0],
        v: [2]
    }, {
        m: [0],
        r: [0],
        v: []
    }, {
        m: [],
        r: [0],
        v: [1, 3, 4, 5]
    }, {
        m: [],
        r: [3, 5, 6, 7, 8, 9, 10, 11, 12, 15, 17, 18],
        v: [0, 1, 2, 4, 13, 14, 16, 21, 156, 242]
    }, {
        m: [0],
        r: [0, 1, 2, 3, 4, 5, 6],
        v: [7, 156, 242]
    }, {
        m: [2],
        r: [0, 1, 2, 3, 4],
        v: [5]
    }, {
        m: [],
        r: [0],
        v: [15, 16]
    }, {
        J: 2,
        m: [5, 4],
        r: [1, 3, 4, 5, 6],
        v: [0]
    }, {
        m: [0],
        r: [0],
        v: []
    }, {
        m: [3],
        r: [0, 1, 2, 3, 4],
        v: [10, 82]
    }, {
        m: [4],
        r: [0, 1, 3, 4, 5, 6, 7],
        v: [2, 156, 242]
    }, {
        m: [10, 2, 13],
        r: [0, 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15],
        v: [6, 17, 33, 104, 116, 131, 140, 146, 191, 201, 204, 234, 247, 256, 288, 293, 329, 333, 335, 338, 344]
    }, {
        m: [5],
        r: [0, 2, 5],
        v: [1, 3, 4, 6, 268, 278]
    }, {
        m: [],
        r: [0],
        v: [33, 204, 323]
    }, {
        J: 1,
        g: 2,
        m: [],
        r: [0, 3, 4, 5, 6],
        v: []
    }, {
        m: [16, 24, 13, 3, 5, 19],
        r: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24],
        v: [42, 51, 58, 75, 119, 122, 141, 147, 156, 163, 172, 188, 242, 268, 276, 278, 291, 300, 309, 321]
    }, {
        m: [],
        r: [],
        v: []
    }, {
        m: [0],
        r: [0],
        v: [147]
    }, {
        m: [],
        r: [1, 2, 3, 6, 7, 8, 10, 13, 14, 15, 17],
        v: [0, 4, 5, 9, 11, 12, 16, 18, 19, 23, 24, 41, 43, 136, 156, 165, 241, 246, 284, 343, 347]
    }, {
        m: [0],
        r: [0],
        v: [1]
    }, {
        m: [],
        r: [],
        v: [0]
    }, {
        m: [0],
        r: [0],
        v: []
    }, {
        J: 0,
        m: [2, 1],
        r: [1, 2],
        v: []
    }, {
        m: [2],
        r: [0, 2],
        v: [1, 4, 5]
    }, {
        g: 1,
        m: [],
        r: [0, 2, 3, 10, 11],
        v: [4, 5, 6, 7, 8, 9]
    }, {
        m: [0],
        r: [0],
        v: [5]
    }, {
        m: [],
        r: [],
        v: [186]
    }, {
        m: [],
        r: [0, 1, 2, 3, 4, 5, 6],
        v: [45, 49, 64, 69, 110, 134, 152, 170, 198, 213, 227, 252, 253, 304, 342]
    }, {
        m: [0],
        r: [0],
        v: [4, 76]
    }, {
        m: [3, 5],
        r: [0, 1, 2, 3, 4, 5, 6],
        v: [105, 113, 190, 199, 206]
    }, {
        J: 2,
        m: [0],
        r: [0, 1, 3],
        v: []
    }, {
        J: 2,
        m: [5, 3],
        r: [0, 1, 3, 4, 5, 6, 7, 8, 9, 10],
        v: [40, 88, 101, 215, 224, 251, 263, 271, 299, 340]
    }, {
        m: [1],
        r: [0, 1],
        v: [46, 93, 147, 202, 216, 280, 348]
    }, {
        m: [],
        r: [],
        v: []
    }, {
        m: [],
        r: [],
        v: [0, 5]
    }, {
        m: [],
        r: [7, 9, 10, 13, 14, 15, 17, 18, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42],
        v: [0, 1, 2, 3, 4, 5, 6, 8, 11, 12, 16, 19, 20, 21, 22, 23, 24, 75, 156, 242, 328]
    }, {
        m: [0],
        r: [0],
        v: []
    }, {
        m: [0],
        r: [0],
        v: [1, 2, 5, 8, 10]
    }, {
        m: [30, 23, 0, 31, 2, 17, 4, 25, 7, 27, 13],
        r: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 19, 21, 23, 24, 25, 26, 27, 29, 30, 31],
        v: [14, 18, 20, 22, 28, 39, 46, 47, 48, 56, 63, 65, 68, 72, 73, 86, 93, 97, 99, 102, 128, 135, 143, 147, 151, 153, 161, 164, 168, 175, 181, 184, 186, 193, 202, 203, 210, 216, 219, 220, 239, 243, 249, 255, 259, 264, 265, 266, 270, 272, 280, 281, 282, 298, 307, 309, 313, 314, 316, 317, 321, 325, 326, 327, 339, 348]
    }, {
        m: [1],
        r: [1, 2, 4],
        v: [0, 3]
    }, {
        m: [1],
        r: [0, 1, 2, 3, 4, 5],
        v: [10]
    }, {
        m: [],
        r: [],
        v: []
    }, {
        m: [3],
        r: [0, 1, 2, 3, 4],
        v: [9]
    }, {
        m: [],
        r: [],
        v: [1, 2]
    }, {
        m: [],
        r: [],
        v: [0, 1, 2, 5, 10, 14, 15, 18, 36, 135, 159, 161, 178, 238, 266, 292, 297, 307]
    }, {
        m: [],
        r: [0, 1, 3, 5, 8, 9, 10, 11, 13, 14, 16, 17, 20, 21, 22, 24, 25, 26, 27, 28, 31, 32, 35, 36],
        v: [2, 4, 6, 7, 12, 15, 18, 19, 23, 29, 30, 33, 34, 44, 47, 124, 156, 242, 302, 322, 336]
    }, {
        m: [],
        r: [],
        v: []
    }, {
        m: [],
        r: [0, 1, 2, 3, 4],
        v: [11, 156, 176, 242, 309]
    }, {
        g: 2,
        m: [],
        r: [1, 3, 4, 5, 6],
        v: [0, 7, 11, 12]
    }, {
        m: [1],
        r: [0, 1],
        v: [46, 216]
    }, {
        m: [],
        r: [1, 2],
        v: [0, 3, 7, 15, 309]
    }, {
        m: [8],
        r: [0, 1, 4, 6, 7, 8, 9],
        v: [2, 3, 5, 45, 152, 170, 213, 227, 342]
    }, {
        m: [],
        r: [],
        v: [1, 2]
    }, {
        m: [0],
        r: [0],
        v: [115, 239, 346]
    }, {
        m: [9, 1, 4, 7],
        r: [0, 1, 2, 3, 4, 6, 7, 8, 9, 10],
        v: [5, 59, 89, 221, 237, 305]
    }, {
        m: [2],
        r: [2],
        v: [0, 1, 147, 283]
    }, {
        m: [2],
        r: [2, 3],
        v: [0, 1]
    }, {
        J: 6,
        m: [5, 1, 4, 3],
        r: [0, 1, 2, 3, 4, 5],
        v: []
    }, {
        m: [16],
        r: [0, 1, 3, 4, 8, 11, 13, 15, 16],
        v: [2, 5, 6, 7, 9, 10, 12, 14, 233, 238, 292, 312]
    }, {
        J: 15,
        m: [7, 14, 11, 17],
        r: [6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, 18, 19, 20],
        v: [0, 1, 2, 3, 4, 5]
    }, {
        m: [6, 4, 2, 3, 7, 1, 5],
        r: [1, 2, 3, 4, 5, 6, 7],
        v: [0, 14, 135, 142, 147, 150, 157, 307]
    }, {
        m: [],
        r: [0, 1],
        v: [2, 7, 8, 12, 54, 238, 292, 297]
    }, {
        m: [1],
        r: [1, 2],
        v: [0, 5, 7, 11]
    }, {
        g: 0,
        m: [],
        r: [],
        v: [3]
    }, {
        m: [0],
        r: [0],
        v: [42]
    }, {
        m: [1, 10, 3],
        r: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11],
        v: [87]
    }, {
        m: [0, 5],
        r: [0, 5],
        v: [1, 2, 3, 4]
    }, {
        m: [],
        r: [],
        v: [6]
    }, {
        m: [5],
        r: [3, 4, 5, 6, 7],
        v: [0, 1, 2, 283]
    }, {
        m: [],
        r: [0, 2, 3, 4, 5, 6],
        v: [1, 11, 156]
    }, {
        m: [0],
        r: [0],
        v: [5]
    }, {
        m: [1],
        r: [1],
        v: [0]
    }, {
        J: 2,
        m: [6, 1, 7],
        r: [0, 1, 3, 4, 5, 6, 7, 8],
        v: [66, 81, 103, 162, 269]
    }, {
        m: [],
        r: [0],
        v: [1, 3, 5]
    }, {
        m: [2],
        r: [2],
        v: [0, 1, 27, 92]
    }, {
        m: [0, 1],
        r: [0, 1],
        v: [12, 17]
    }, {
        m: [0],
        r: [0],
        v: [180, 319]
    }, {
        m: [6, 28, 29, 2, 5, 17],
        r: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33],
        v: [15, 51, 75, 111, 145, 156, 242, 254, 262, 278, 303, 308, 315, 331, 345]
    }, {
        m: [7],
        r: [0, 1, 2, 3, 4, 5, 6, 7, 8],
        v: [65]
    }, {
        m: [],
        r: [],
        v: [1, 8, 11, 13]
    }, {
        m: [1, 2],
        r: [1, 2, 3, 4, 5, 6],
        v: [0, 25, 189]
    }, {
        m: [],
        r: [],
        v: [4, 15]
    }, {
        m: [],
        r: [1, 2, 3, 5, 6, 7, 8, 10, 12, 13, 14],
        v: [0, 4, 9, 11, 15, 17, 22, 30, 32, 33, 156, 233, 267]
    }, {
        m: [0],
        r: [0],
        v: []
    }, {
        m: [],
        r: [],
        v: [3, 42, 156, 242, 349]
    }, {
        m: [],
        r: [],
        v: [1, 5]
    }, {
        m: [],
        r: [],
        v: []
    }, {
        m: [],
        r: [0, 1, 2, 3],
        v: [7]
    }, {
        m: [6],
        r: [0, 1, 2, 5, 6],
        v: [3, 4]
    }, {
        m: [0],
        r: [0],
        v: [3, 190]
    }, {
        J: 4,
        m: [3],
        r: [0, 1, 2, 3],
        v: [217, 351]
    }, {
        m: [],
        r: [],
        v: []
    }, {
        m: [14],
        r: [6, 10, 12, 13, 14, 15],
        v: [0, 1, 2, 3, 4, 5, 7, 8, 9, 11, 34]
    }, {
        m: [3],
        r: [1, 2, 3],
        v: [0, 50, 272, 317]
    }, {
        m: [],
        r: [0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19],
        v: [5, 18, 20, 75, 111, 156, 187, 242, 309]
    }, {
        m: [],
        r: [0],
        v: []
    }, {
        m: [5],
        r: [0, 1, 2, 3, 4, 5],
        v: [90]
    }, {
        m: [1, 2],
        r: [0, 1, 2],
        v: []
    }, {
        J: 3,
        m: [6],
        r: [0, 1, 2, 4, 5, 6, 7, 8],
        v: []
    }, {
        m: [1],
        r: [0, 1, 2, 3],
        v: []
    }, {
        m: [],
        r: [1, 3, 5, 6],
        v: [0, 2, 4, 9, 14, 19, 156, 242]
    }, {
        m: [],
        r: [],
        v: []
    }, {
        m: [0],
        r: [0],
        v: [3, 5, 9]
    }, {
        m: [0, 7, 5],
        r: [0, 1, 2, 3, 4, 5, 6, 7, 8],
        v: [74, 125]
    }, {
        m: [],
        r: [],
        v: [3, 9, 15, 34]
    }, {
        m: [],
        r: [],
        v: []
    }, {
        m: [],
        r: [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12],
        v: [9, 14, 15, 18, 20, 46, 48, 72, 93, 102, 135, 143, 147, 153, 168, 184, 202, 203, 216, 266, 280, 282, 307, 309, 316, 325, 326, 327, 339, 348]
    }, {
        m: [],
        r: [1, 5, 6, 7, 8, 10, 11, 12, 13, 16, 18, 20, 22, 23, 24, 25, 26, 27, 28],
        v: [0, 2, 3, 4, 9, 14, 15, 17, 19, 21, 75, 111, 156, 242]
    }, {
        m: [0],
        r: [0],
        v: []
    }, {
        m: [16],
        r: [8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19, 20],
        v: [0, 1, 2, 3, 4, 5, 6, 7, 14, 135, 142, 150, 157, 307]
    }, {
        m: [3, 0, 1],
        r: [0, 1, 2, 3, 4, 5],
        v: [232, 266]
    }, {
        m: [0],
        r: [0],
        v: [6, 7]
    }, {
        m: [],
        r: [],
        v: [1, 9, 16, 20, 142, 150]
    }, {
        m: [6, 17, 18, 4, 13, 20],
        r: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21],
        v: [26, 58, 75, 77, 121, 141, 156, 229, 242, 261, 309, 337, 349]
    }, {
        m: [0],
        r: [0],
        v: [17]
    }, {
        m: [0],
        r: [0],
        v: [14]
    }, {
        m: [],
        r: [0],
        v: [1, 9, 14, 15, 16, 135, 150, 307]
    }, {
        m: [1],
        r: [1],
        v: [0, 14, 18, 28, 31]
    }, {
        m: [],
        r: [],
        v: [0, 8, 9, 12, 14, 36, 135, 161, 178, 238, 266, 292, 297, 307]
    }, {
        m: [4, 2, 0, 6, 3, 5],
        r: [0, 1, 2, 3, 4, 5, 6],
        v: [75, 156, 242]
    }, {
        m: [1],
        r: [1],
        v: [0, 15, 23, 31]
    }, {
        m: [12, 2, 17, 19, 3, 18],
        r: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23],
        v: [0, 38, 75, 156, 160, 242, 309]
    }, {
        m: [0],
        r: [0],
        v: [1]
    }, {
        m: [2],
        r: [2],
        v: [0, 1]
    }, {
        m: [6, 13, 14, 10, 11, 0, 9, 4, 5],
        r: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
        v: [106, 169]
    }, {
        m: [],
        r: [],
        v: []
    }, {
        m: [0],
        r: [0],
        v: [4, 270]
    }, {
        m: [0],
        r: [0],
        v: [5, 14]
    }, {
        m: [6, 1, 4, 5],
        r: [0, 1, 2, 3, 4, 5, 6],
        v: [58, 156, 242, 294]
    }, {
        m: [],
        r: [0],
        v: [1, 4, 16, 326]
    }, {
        J: 0,
        m: [4],
        r: [1, 2, 3, 4],
        v: []
    }, {
        m: [0],
        r: [0, 1, 2, 4, 5],
        v: [3, 156, 242]
    }, {
        m: [0, 1],
        r: [0, 1, 2],
        v: [7, 333, 338]
    }, {
        J: 0,
        m: [],
        r: [],
        v: []
    }, {
        m: [0],
        r: [0, 1, 2, 3, 4],
        v: [180, 207]
    }, {
        m: [0, 1],
        r: [0, 1],
        v: [123]
    }, {
        J: 0,
        m: [],
        r: [1, 2, 3, 4, 5],
        v: [66, 81]
    }, {
        m: [1, 2],
        r: [1, 2],
        v: [0]
    }, {
        m: [],
        r: [],
        v: [3, 180, 207, 244, 319]
    }, {
        m: [],
        r: [1, 2],
        v: [0, 109]
    }, {
        m: [5],
        r: [0, 1, 2, 3, 4, 5, 6],
        v: []
    }, {
        m: [],
        r: [0, 2, 3, 4, 5, 6],
        v: [1, 11, 156]
    }, {
        m: [1],
        r: [0, 1],
        v: []
    }, {
        m: [],
        r: [],
        v: [1, 6, 14, 87]
    }, {
        m: [],
        r: [0, 1, 2, 3],
        v: [16, 19, 28, 93, 97, 124, 128, 129, 177, 202, 243, 257, 270, 280, 306, 324, 330]
    }, {
        m: [0],
        r: [0],
        v: [124]
    }, {
        m: [],
        r: [],
        v: []
    }, {
        m: [],
        r: [0, 2, 3, 4, 5, 6, 7, 9, 11, 13, 14],
        v: [1, 8, 10, 12, 19, 32, 156, 242, 254, 262, 278, 345]
    }, {
        m: [0],
        r: [0],
        v: [5]
    }, {
        m: [],
        r: [2, 3, 4],
        v: [0, 1, 5, 15, 18, 20, 54, 161]
    }, {
        m: [0],
        r: [0, 1],
        v: [2, 3, 6]
    }, {
        m: [],
        r: [0, 2, 3, 4, 5, 8, 9, 10, 12, 14, 17, 18, 19],
        v: [1, 6, 7, 11, 13, 15, 16, 75, 85, 114, 156, 200, 242]
    }, {
        m: [4, 2],
        r: [2, 3, 4, 5],
        v: [0, 1, 276, 291]
    }, {
        m: [],
        r: [],
        v: [3, 17]
    }, {
        m: [0],
        r: [0],
        v: []
    }, {
        J: 2,
        m: [],
        r: [0, 1],
        v: [81]
    }, {
        J: 1,
        m: [2],
        r: [0, 2, 3, 4],
        v: [81]
    }, {
        m: [7],
        r: [3, 7, 12, 13, 14, 15],
        v: [0, 1, 2, 4, 5, 6, 8, 9, 10, 11, 87]
    }, {
        m: [1],
        r: [1],
        v: [0, 42, 119, 122, 147, 163, 188, 276, 291]
    }, {
        m: [],
        r: [],
        v: [2]
    }, {
        m: [0],
        r: [0],
        v: [4]
    }, {
        m: [],
        r: [0, 1, 2, 3],
        v: [26, 66, 81, 103, 119, 162, 269]
    }, {
        m: [2],
        r: [2],
        v: [0, 1]
    }, {
        m: [],
        r: [],
        v: [0, 1]
    }, {
        m: [],
        r: [0, 3, 6, 7],
        v: [1, 2, 4, 5, 8]
    }, {
        m: [],
        r: [0],
        v: [93, 202]
    }, {
        m: [],
        r: [],
        v: [0, 4, 5, 209]
    }, {
        m: [0],
        r: [0],
        v: []
    }, {
        m: [0],
        r: [0],
        v: []
    }, {
        m: [],
        r: [],
        v: [16, 18, 20, 21, 30]
    }, {
        m: [5],
        r: [0, 1, 2, 3, 4, 5, 7, 8, 9],
        v: [6, 156, 242]
    }, {
        J: 4,
        m: [2],
        r: [0, 1, 2, 3],
        v: []
    }, {
        m: [0],
        r: [0],
        v: [4]
    }, {
        m: [2],
        r: [0, 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12],
        v: [6, 54, 140, 192, 234, 238, 247, 256, 288, 292, 297, 329, 333]
    }, {
        m: [3, 0, 4, 1],
        r: [0, 1, 2, 3, 4],
        v: [14, 135, 307]
    }, {
        m: [],
        r: [0, 2, 3, 4],
        v: [1, 5, 7, 16, 20, 27, 156, 166, 242]
    }, {
        m: [4],
        r: [0, 1, 2, 4, 5, 6, 8, 9, 10, 11, 13],
        v: [3, 7, 12, 28, 145, 303]
    }, {
        m: [1],
        r: [0, 1, 2],
        v: [180, 244]
    }, {
        m: [],
        r: [],
        v: []
    }, {
        m: [2, 3],
        r: [0, 2, 3, 4],
        v: [1, 213]
    }, {
        m: [0],
        r: [0],
        v: [5]
    }, {
        m: [1, 0],
        r: [0, 1],
        v: [147, 209]
    }, {
        m: [0],
        r: [0, 1],
        v: [296, 321]
    }, {
        m: [1, 4],
        r: [0, 1, 2, 3, 4, 5],
        v: [113, 149, 190, 206]
    }, {
        m: [230],
        r: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351],
        v: []
    }, {
        J: 2,
        g: 3,
        m: [],
        r: [1, 4, 5, 6, 7],
        v: [0]
    }, {
        m: [4],
        r: [3, 4, 5],
        v: [0, 1, 2, 209]
    }];
    var rn = [77017224e4, 226.2, .3, 257348550135456.88, 3044314627, 99.2, 47.2, 83.2, .1, 35.2, 18446744073709550000, 210.2, 136.2, 3411106865, 302.2, 3126959776, 1816369375, 38.2, 2212565264, 27.2, 2592018542, 2046679217, 3963131381, 323656287, 2117391518, 743362228, 1325477925, 3509019519, 65.2, 820594998, -1074, 1110009478, 1939832674, 3147831656, 61.2, 3600535035, 3308937602, 789502490, 2483636864, 187.2, 178.2, 6.2831853, 107.2, 3073699768, 1015086425, 31.2, 164.2, 29.2, 217.2, 228096235, 2010533657, 68.2, 84.2, 520069806, 3148090228, 952095951, 4110861978, 12.5663706, 177.2, 2607630355, 3.5, 1294972280, 2389837486, 0x20000000000000, 3062722653, 282.2, 648604482, 3818220364, 147.2, 2299575633, 74.2, 2.75, 0x1FFFFFFFFFFFFF, 209.2, 7.5398223600000005, 2520591343, 199.2, 2809483521, .8, 10.05309648, 536870911, 3843270879, 150.2, 1224332412, 957143667, 696703448, 3655031431, 73.2, 168.2, 144.2, 121.2, 1414071229, 167.2, 207.2, 2147483648, 126.2, 263.2, 67108864, .9, 166.2, 268.2, 4294967296, 2.51327412, 2230821689, 36.2, 601936812, 92.2, 185316337, 201.2, 0x1FFBD6DC4BE5DF, 3266997843, 2773389219, .4, .5, 63.2, 81866972, 3735928559, 151.2, 56.2, 2082017108, 146127734, 2353574222, 54.2, 2957177755, 18.2, 1380911598, 3304067933, 1218341103, 4294967295, 9.2, .7, -1022, 101.2, 44.2, 57.2, 20.2, 81.2, 1289231740, 222.2, 1348541489, 5.02654824, 1148846804, 2329583359, .6, 87.2, 592062385, 113.2, 45.2, 1617924641, 468255325, 149.2, 3662901763, 130.2, 90.2, 3790797992, 2159003130, .2, 292.2, 2234752578, 72.2];
    var rK = [Array.prototype.filter, Array.prototype.map, Array.prototype.forEach];
    function rT(D) {
        var k = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";
        var L = D.length;
        var v = new rX(rt(L * 3 / 4));
        var P, a, f, z, n, t, r;
        for (var m = 0, A = 0; m < L; m += 4,
        A += 3) {
            P = i(k, ra(D, m));
            a = i(k, ra(D, m + 1));
            f = i(k, ra(D, m + 2));
            z = i(k, ra(D, m + 3));
            n = P << 2 | a >> 4;
            t = (a & 15) << 4 | f >> 2;
            r = (f & 3) << 6 | z;
            v[A] = n;
            if (m + 2 < L) {
                v[A + 1] = t
            }
            if (m + 3 < L) {
                v[A + 2] = r
            }
        }
        return v
    }
    var G = {
        value: null,
        writable: true
    };
    function rp() {
        this.f = []
    }
    var U = rp.prototype;
    rz(U, "f", G);
    rz(U, "o", {
        value: function(v) {
            this.f[v] = {
                v: void 0
            }
        }
    });
    rz(U, "h", {
        value: function(v) {
            return this.f[v].v
        }
    });
    rz(U, "b", {
        value: function(r, v) {
            this.f[r].v = v
        }
    });
    rz(U, "P", {
        value: function() {
            var v = new rp;
            v.f = [].slice !== l ? d(this.f, 0) : this.f.slice(0);
            return v
        }
    });
    function B() {
        var v = [];
        rz(v, "R", {
            value: Z
        });
        rz(v, "n", {
            value: o
        });
        rz(v, "s", {
            value: l
        });
        rz(v, "Y", {
            value: p
        });
        return v
    }
    function rS(t, n, r, v) {
        this.C = B();
        this.F = B();
        this.w = B();
        this.a = void 0;
        this.M = n;
        this.E = t;
        this.x = r;
        this.c = v == null ? h : rJ(v);
        this.W = v;
        this.V = 0
    }
    var I = rS.prototype;
    rz(I, "U", {
        value: function() {
            {
                var v = rc[this.M][H[this.E++]];
                this.M = v[0];
                return v[1]
            }
        }
    });
    rz(I, "C", G);
    rz(I, "F", G);
    rz(I, "w", G);
    rz(I, "a", G);
    rz(I, "M", G);
    rz(I, "E", G);
    rz(I, "x", G);
    rz(I, "c", G);
    rz(I, "W", G);
    rz(I, "V", G);
    function rA(t, r) {
        try {
            t(r)
        } catch (v) {
            rD(v, r)
        }
    }
    function rD(n, v) {
        var t = v.w.R();
        for (var r = 0; r < t.p; ++r) {
            v.F.R()
        }
        v.F.n({
            H: true,
            I: n
        });
        v.E = t.D;
        v.M = t.M
    }
    var rC = [function(v) {
        var r = v.F.R();
        if (r.H) {
            throw r.I
        }
        v.E = r.I;
        v.M = r.M
    }
    , function(v) {
        var z = H[v.E];
        v.E += 1;
        var D = v.C[v.C.length - 2];
        var A = v.C[v.C.length - 1];
        var n = D[A];
        var L = v.C[v.C.length - 3];
        var t = L ^ n;
        v.x.b(z, t);
        v.C[v.C.length - 3] = t;
        v.C.length -= 2
    }
    , function(v) {
        var f = H[v.E];
        var z = rn[H[v.E + 1]];
        v.E += 2;
        var D = v.C[v.C.length - 1];
        var L = D[f];
        var A = v.C[v.C.length - 2];
        var n = A + L;
        var r = v.C.length - 2;
        v.C[r] = n;
        v.C[r + 1] = z
    }
    , function(v) {
        var A = H[v.E];
        var L = rn[H[v.E + 1]];
        v.E += 2;
        var n = v.C[v.C.length - 1];
        var t = n << A;
        v.C[v.C.length - 1] = t & L
    }
    , function(v) {
        var r = v.C[v.C.length - 7];
        v.C[v.C.length - 7] = r(v.C[v.C.length - 6], v.C[v.C.length - 5], v.C[v.C.length - 4], v.C[v.C.length - 3], v.C[v.C.length - 2], v.C[v.C.length - 1]);
        v.C.length -= 6
    }
    , function(v) {
        var z = H[v.E];
        var D = H[v.E + 1];
        var A = H[v.E + 2] << 16 | (H[v.E + 3] << 8 | H[v.E + 4]);
        var L = H[v.E + 5];
        v.E += 6;
        var n = v.x.h(z);
        var t = n + D;
        v.E = A;
        v.M = L;
        v.C[v.C.length] = t
    }
    , function(v) {
        var A = H[v.E];
        var L = H[v.E + 1];
        v.E += 2;
        var n = v.C[v.C.length - 1];
        v.x.b(A, n);
        var t = [];
        v.x.b(L, t);
        v.C.length -= 1
    }
    , function(v) {
        var f = H[v.E];
        var z = H[v.E + 1];
        var D = rn[H[v.E + 2]];
        var A = H[v.E + 3];
        v.E += 4;
        var L = v.C[v.C.length - 1];
        v.x.b(f, L);
        var n = v.x.h(z);
        var r = v.C.length - 1;
        v.C[r] = n;
        v.C[r + 1] = D;
        v.C[r + 2] = v.x.h(A)
    }
    , function(v) {
        var z = H[v.E];
        v.E += 1;
        var D = v.C[v.C.length - 2];
        var A = v.C[v.C.length - 1];
        var t = D & A;
        var L = v.C[v.C.length - 4];
        var n = v.C[v.C.length - 3];
        rz(L, n, {
            writable: true,
            configurable: true,
            enumerable: true,
            value: t
        });
        v.x.b(z, L);
        v.C.length -= 4
    }
    , function(v) {
        var D = H[v.E];
        var A = H[v.E + 1];
        var L = H[v.E + 2] << 16 | (H[v.E + 3] << 8 | H[v.E + 4]);
        var n = H[v.E + 5];
        v.E += 6;
        var t = v.x.h(D);
        v.x.b(A, t);
        v.V = {
            E: v.E,
            M: v.M
        };
        v.E = L;
        v.M = n
    }
    , function(v) {
        v.C[v.C.length - 2] = v.C[v.C.length - 2] * v.C[v.C.length - 1];
        v.C.length -= 1
    }
    , function(v) {
        v.C[v.C.length - 2] = v.C[v.C.length - 2] ^ v.C[v.C.length - 1];
        v.C.length -= 1
    }
    , function(v) {
        var A = H[v.E];
        v.E += 1;
        var L = v.C[v.C.length - 2];
        var n = v.C[v.C.length - 1];
        var t = L[n];
        v.x.b(A, t);
        v.C[v.C.length - 2] = t;
        v.C.length -= 1
    }
    , function(v) {
        v.C[v.C.length] = M
    }
    , function(v) {
        v.C[v.C.length - 2] = v.C[v.C.length - 2] / v.C[v.C.length - 1];
        v.C.length -= 1
    }
    , function(v) {
        var z = H[v.E];
        var D = b[H[v.E + 1] << 8 | H[v.E + 2]];
        var A = H[v.E + 3] << 16 | (H[v.E + 4] << 8 | H[v.E + 5]);
        var L = H[v.E + 6];
        v.E += 7;
        var n = v.x.h(z);
        v.V = {
            E: v.E,
            M: v.M
        };
        v.E = A;
        v.M = L;
        var r = v.C.length;
        v.C[r] = n;
        v.C[r + 1] = D
    }
    , function(v) {
        var D = H[v.E];
        var A = H[v.E + 1];
        v.E += 2;
        var L = v.C[v.C.length - 2];
        var n = v.C[v.C.length - 1];
        var t = L[n];
        v.x.b(D, t);
        v.C[v.C.length - 2] = v.x.h(A);
        v.C.length -= 1
    }
    , function(r) {
        var v = H[r.E];
        r.E += 1;
        var t = r.F.R();
        r.x.b(v, t.I)
    }
    , function(v) {
        var A = H[v.E];
        var L = H[v.E + 1];
        v.E += 2;
        var n = v.x.h(A);
        var r = v.C.length - 1;
        v.C[r] = n;
        v.C[r + 1] = v.x.h(L)
    }
    , function(v) {
        "use strict";
        var f = H[v.E];
        var z = b[H[v.E + 1] << 8 | H[v.E + 2]];
        v.E += 3;
        var D = v.C[v.C.length - 3];
        var A = v.C[v.C.length - 2];
        var L = v.C[v.C.length - 1];
        D[A] = L;
        var n = v.x.h(f);
        var r = v.C.length - 3;
        v.C[r] = n;
        v.C[r + 1] = z;
        v.C.length -= 1
    }
    , function(r) {
        var J = b[H[r.E] << 8 | H[r.E + 1]];
        var w = H[r.E + 2] << 8 | H[r.E + 3];
        r.E += 4;
        b1: {
            var n = J;
            var f = n + "," + w;
            var t = T[f];
            if (typeof t !== "undefined") {
                var m = t;
                break b1
            }
            var z = b[w];
            var v = rT(z);
            var L = rT(n);
            var A = v[0] + L[0] & 255;
            var a = "";
            for (var D = 1; D < v.length; ++D) {
                a += x(L[D] ^ v[D] ^ A)
            }
            var m = T[f] = a
        }
        var k = r.C[r.C.length - 1];
        r.C[r.C.length - 1] = k[m]()
    }
    , function(v) {
        var D = H[v.E];
        var A = H[v.E + 1];
        v.E += 2;
        var L = v.C[v.C.length - 3];
        var n = v.C[v.C.length - 2];
        var t = v.C[v.C.length - 1];
        rz(L, n, {
            writable: true,
            configurable: true,
            enumerable: true,
            value: t
        });
        rz(L, D, {
            writable: true,
            configurable: true,
            enumerable: true,
            value: A
        });
        v.C[v.C.length - 3] = L;
        v.C.length -= 2
    }
    , function(r) {
        var K = H[r.E] << 8 | H[r.E + 1];
        var c = H[r.E + 2];
        var q = H[r.E + 3] << 16 | (H[r.E + 4] << 8 | H[r.E + 5]);
        var W = H[r.E + 6];
        r.E += 7;
        b0: {
            var J = r.C[r.C.length - 1];
            var n = J;
            var a = n + "," + K;
            var t = T[a];
            if (typeof t !== "undefined") {
                var w = t;
                break b0
            }
            var f = b[K];
            var v = rT(f);
            var L = rT(n);
            var A = v[0] + L[0] & 255;
            var P = "";
            for (var D = 1; D < v.length; ++D) {
                P += x(L[D] ^ v[D] ^ A)
            }
            var w = T[a] = P
        }
        var k = r.x.h(c);
        r.V = {
            E: r.E,
            M: r.M
        };
        r.E = q;
        r.M = W;
        var z = r.C.length - 1;
        r.C[z] = w;
        r.C[z + 1] = k
    }
    , function(v) {
        var n = H[v.E] << 8 | H[v.E + 1];
        var r = H[v.E + 2];
        v.E += 3;
        if (v.C[v.C.length - 1]) {
            v.E = n;
            v.M = r
        }
        v.C.length -= 1
    }
    , function(v) {
        var z = H[v.E];
        var D = H[v.E + 1];
        var A = H[v.E + 2] << 16 | (H[v.E + 3] << 8 | H[v.E + 4]);
        var L = H[v.E + 5];
        v.E += 6;
        var n = v.C[v.C.length - 1];
        v.x.b(z, n);
        var r = v.C.length - 1;
        v.C[r] = D;
        v.C[r + 1] = L;
        v.C[r + 2] = A
    }
    , function(v) {
        v.C[v.C.length - 2] = v.C[v.C.length - 2]instanceof v.C[v.C.length - 1];
        v.C.length -= 1
    }
    , function(r) {
        "use strict";
        var q = H[r.E] << 8 | H[r.E + 1];
        var W = H[r.E + 2];
        r.E += 3;
        b0: {
            var J = r.C[r.C.length - 1];
            var n = J;
            var f = n + "," + q;
            var t = T[f];
            if (typeof t !== "undefined") {
                var k = t;
                break b0
            }
            var z = b[q];
            var v = rT(z);
            var L = rT(n);
            var A = v[0] + L[0] & 255;
            var a = "";
            for (var D = 1; D < v.length; ++D) {
                a += x(L[D] ^ v[D] ^ A)
            }
            var k = T[f] = a
        }
        var m = r.x.h(W);
        var w = r.C[r.C.length - 2];
        w[k] = m;
        r.C.length -= 2
    }
    , function(v) {
        var z = H[v.E];
        var D = H[v.E + 1] << 16 | (H[v.E + 2] << 8 | H[v.E + 3]);
        var A = H[v.E + 4];
        v.E += 5;
        var n = v.x.h(z);
        var L = v.C[v.C.length - 1];
        var t = L < n;
        if (!t) {
            v.E = D;
            v.M = A
        }
        v.C.length -= 1
    }
    , function(v) {
        throw v.C[v.C.length - 1];
        v.C.length -= 1
    }
    , function(v) {
        var f = H[v.E];
        var z = H[v.E + 1];
        var D = H[v.E + 2] << 16 | (H[v.E + 3] << 8 | H[v.E + 4]);
        var A = H[v.E + 5];
        v.E += 6;
        var L = v.x.h(f);
        var n = v.x.h(z);
        v.V = {
            E: v.E,
            M: v.M
        };
        v.E = D;
        v.M = A;
        var r = v.C.length;
        v.C[r] = L;
        v.C[r + 1] = n
    }
    , function(v) {
        --v.w[v.w.length - 1].p
    }
    , function(r) {
        var v = H[r.E] << 16 | (H[r.E + 1] << 8 | H[r.E + 2]);
        r.E += 3;
        r.C[r.C.length] = v
    }
    , function(r) {
        var W = H[r.E] << 8 | H[r.E + 1];
        var J = b[H[r.E + 2] << 8 | H[r.E + 3]];
        var w = H[r.E + 4] << 8 | H[r.E + 5];
        r.E += 6;
        var k = r.x.h(W);
        var n = J;
        var a = n + "," + w;
        var t = T[a];
        if (typeof t !== "undefined") {
            var z = r.C.length;
            r.C[z] = k;
            r.C[z + 1] = t;
            return
        }
        var f = b[w];
        var v = rT(f);
        var L = rT(n);
        var A = v[0] + L[0] & 255;
        var P = "";
        for (var D = 1; D < v.length; ++D) {
            P += x(L[D] ^ v[D] ^ A)
        }
        var z = r.C.length;
        r.C[z] = k;
        r.C[z + 1] = T[a] = P
    }
    , function(v) {
        var z = H[v.E];
        var D = H[v.E + 1];
        var A = H[v.E + 2] << 16 | (H[v.E + 3] << 8 | H[v.E + 4]);
        var L = H[v.E + 5];
        v.E += 6;
        var n = v.x.h(D);
        v.V = {
            E: v.E,
            M: v.M
        };
        v.E = A;
        v.M = L;
        var r = v.C.length;
        v.C[r] = z;
        v.C[r + 1] = n
    }
    , function(v) {
        v.C[v.C.length - 2] = v.C[v.C.length - 2] !== v.C[v.C.length - 1];
        v.C.length -= 1
    }
    , function(v) {
        var D = rn[H[v.E]];
        var A = H[v.E + 1];
        v.E += 2;
        var L = v.C[v.C.length - 1];
        var n = L & D;
        var r = v.C.length - 1;
        v.C[r] = n;
        v.C[r + 1] = v.x.h(A)
    }
    , function(v) {
        var D = H[v.E];
        var A = H[v.E + 1];
        v.E += 2;
        var L = v.C[v.C.length - 3];
        var n = v.C[v.C.length - 2];
        var t = v.C[v.C.length - 1];
        rz(L, n, {
            writable: true,
            configurable: true,
            enumerable: true,
            value: t
        });
        v.x.b(D, L);
        v.C[v.C.length - 3] = v.x.h(A);
        v.C.length -= 2
    }
    , function(v) {
        var A = H[v.E];
        var L = H[v.E + 1];
        v.E += 2;
        var n = v.C[v.C.length - 1];
        var t = n | A;
        v.x.b(L, t);
        v.C.length -= 1
    }
    , function(v) {
        v.C[v.C.length - 2] = v.C[v.C.length - 2] != v.C[v.C.length - 1];
        v.C.length -= 1
    }
    , function(v) {
        var n = H[v.E] << 16 | (H[v.E + 1] << 8 | H[v.E + 2]);
        var r = H[v.E + 3];
        v.E += 4;
        H[n] = r
    }
    , function(v) {
        var r = v.C[v.C.length - 3];
        v.C[v.C.length - 3] = new r(v.C[v.C.length - 2],v.C[v.C.length - 1]);
        v.C.length -= 2
    }
    , function(v) {
        var z = H[v.E];
        var D = H[v.E + 1];
        var A = b[H[v.E + 2] << 8 | H[v.E + 3]];
        v.E += 4;
        var L = v.x.h(z);
        var n = v.x.h(D);
        var r = v.C.length;
        v.C[r] = L;
        v.C[r + 1] = n;
        v.C[r + 2] = A
    }
    , function(v) {
        v.C.n(function() {
            null[0]()
        })
    }
    , function(r) {
        var v = rK[H[r.E]];
        r.E += 1;
        r.C[r.C.length] = v
    }
    , function(v) {
        v.C[v.C.length - 1] = -v.C[v.C.length - 1]
    }
    , function(v) {
        v.w.R()
    }
    , function(v) {
        var D = H[v.E];
        var A = H[v.E + 1] << 8 | H[v.E + 2];
        v.E += 3;
        var L = v.C[v.C.length - 3];
        var n = v.C[v.C.length - 2];
        var t = v.C[v.C.length - 1];
        rz(L, n, {
            writable: true,
            configurable: true,
            enumerable: true,
            value: t
        });
        rz(L, D, {
            writable: true,
            configurable: true,
            enumerable: true,
            value: A
        });
        v.C[v.C.length - 3] = L;
        v.C.length -= 2
    }
    , function(r) {
        var J = H[r.E];
        var w = b[H[r.E + 1] << 8 | H[r.E + 2]];
        var k = H[r.E + 3] << 8 | H[r.E + 4];
        r.E += 5;
        var n = w;
        var a = n + "," + k;
        var t = T[a];
        if (typeof t !== "undefined") {
            var z = r.C.length;
            r.C[z] = J;
            r.C[z + 1] = t;
            return
        }
        var f = b[k];
        var v = rT(f);
        var L = rT(n);
        var A = v[0] + L[0] & 255;
        var P = "";
        for (var D = 1; D < v.length; ++D) {
            P += x(L[D] ^ v[D] ^ A)
        }
        var z = r.C.length;
        r.C[z] = J;
        r.C[z + 1] = T[a] = P
    }
    , function(v) {
        var z = H[v.E];
        var D = H[v.E + 1];
        var A = H[v.E + 2];
        v.E += 3;
        var L = v.C[v.C.length - 1];
        v.x.b(z, L);
        var n = v.x.h(D);
        var r = v.C.length - 1;
        v.C[r] = n;
        v.C[r + 1] = A
    }
    , function(r) {
        var q = b[H[r.E] << 8 | H[r.E + 1]];
        var W = b[H[r.E + 2] << 8 | H[r.E + 3]];
        var J = H[r.E + 4] << 8 | H[r.E + 5];
        r.E += 6;
        if (!(q in h)) {
            throw new rw(q + " is not defined.")
        }
        var w = h[q];
        b2: {
            var n = W;
            var a = n + "," + J;
            var t = T[a];
            if (typeof t !== "undefined") {
                var k = t;
                break b2
            }
            var f = b[J];
            var v = rT(f);
            var L = rT(n);
            var A = v[0] + L[0] & 255;
            var P = "";
            for (var D = 1; D < v.length; ++D) {
                P += x(L[D] ^ v[D] ^ A)
            }
            var k = T[a] = P
        }
        var z = w;
        r.C[r.C.length] = new z(k)
    }
    , function(v) {
        var D = H[v.E];
        var A = H[v.E + 1];
        v.E += 2;
        var L = v.x.h(D);
        var n = v.x.h(A);
        v.E = v.V.E;
        v.M = v.V.M;
        var r = v.C.length;
        v.C[r] = L;
        v.C[r + 1] = n
    }
    , function(v) {
        var D = H[v.E];
        var A = H[v.E + 1];
        var L = H[v.E + 2];
        v.E += 3;
        var n = v.x.h(A);
        var r = v.C.length;
        v.C[r] = D;
        v.C[r + 1] = n;
        v.C[r + 2] = v.x.h(L)
    }
    , function(v) {
        var D = H[v.E];
        var A = H[v.E + 1];
        v.E += 2;
        var n = v.x.h(D);
        var t = n[A];
        var L = v.C[v.C.length - 1];
        v.C[v.C.length - 1] = L ^ t
    }
    , function(v) {
        v.C[v.C.length - 2] = v.C[v.C.length - 2] + v.C[v.C.length - 1];
        v.C.length -= 1
    }
    , function(v) {
        var r = v.C[v.C.length - 8];
        v.C[v.C.length - 8] = r(v.C[v.C.length - 7], v.C[v.C.length - 6], v.C[v.C.length - 5], v.C[v.C.length - 4], v.C[v.C.length - 3], v.C[v.C.length - 2], v.C[v.C.length - 1]);
        v.C.length -= 7
    }
    , function(r) {
        var v = H[r.E] << 8 | H[r.E + 1];
        r.E += 2;
        r.C[r.C.length] = v
    }
    , function(r) {
        var q = b[H[r.E] << 8 | H[r.E + 1]];
        var W = H[r.E + 2] << 8 | H[r.E + 3];
        var J = H[r.E + 4];
        r.E += 5;
        b1: {
            var n = q;
            var a = n + "," + W;
            var t = T[a];
            if (typeof t !== "undefined") {
                var w = t;
                break b1
            }
            var f = b[W];
            var v = rT(f);
            var L = rT(n);
            var A = v[0] + L[0] & 255;
            var P = "";
            for (var D = 1; D < v.length; ++D) {
                P += x(L[D] ^ v[D] ^ A)
            }
            var w = T[a] = P
        }
        var k = [];
        var z = r.C.length;
        r.C[z] = w;
        r.C[z + 1] = k;
        r.C[z + 2] = J
    }
    , function(r) {
        var J = b[H[r.E] << 8 | H[r.E + 1]];
        var w = H[r.E + 2] << 8 | H[r.E + 3];
        r.E += 4;
        var k = r.C[r.C.length - 1];
        var n = J;
        var a = n + "," + w;
        var t = T[a];
        if (typeof t !== "undefined") {
            var z = r.C.length - 1;
            r.C[z] = k;
            r.C[z + 1] = k;
            r.C[z + 2] = t;
            return
        }
        var f = b[w];
        var v = rT(f);
        var L = rT(n);
        var A = v[0] + L[0] & 255;
        var P = "";
        for (var D = 1; D < v.length; ++D) {
            P += x(L[D] ^ v[D] ^ A)
        }
        var z = r.C.length - 1;
        r.C[z] = k;
        r.C[z + 1] = k;
        r.C[z + 2] = T[a] = P
    }
    , function(v) {
        v.C[v.C.length - 2] = v.C[v.C.length - 2] >> v.C[v.C.length - 1];
        v.C.length -= 1
    }
    , function(r) {
        var K = b[H[r.E] << 8 | H[r.E + 1]];
        var c = H[r.E + 2] << 8 | H[r.E + 3];
        var q = H[r.E + 4];
        r.E += 5;
        var W = r.C[r.C.length - 3];
        var J = r.C[r.C.length - 2];
        var w = r.C[r.C.length - 1];
        rz(W, J, {
            writable: true,
            configurable: true,
            enumerable: true,
            value: w
        });
        b2: {
            var n = K;
            var a = n + "," + c;
            var t = T[a];
            if (typeof t !== "undefined") {
                var k = t;
                break b2
            }
            var f = b[c];
            var v = rT(f);
            var L = rT(n);
            var A = v[0] + L[0] & 255;
            var P = "";
            for (var D = 1; D < v.length; ++D) {
                P += x(L[D] ^ v[D] ^ A)
            }
            var k = T[a] = P
        }
        var z = r.C.length - 3;
        r.C[z] = W;
        r.C[z + 1] = k;
        r.C[z + 2] = q
    }
    , function(v) {
        var r = b[H[v.E] << 8 | H[v.E + 1]];
        v.E += 2;
        v.C[v.C.length] = typeof h[r]
    }
    , function(v) {
        var A = H[v.E];
        var L = b[H[v.E + 1] << 8 | H[v.E + 2]];
        v.E += 3;
        var n = v.x.h(A);
        var r = v.C.length;
        v.C[r] = n;
        v.C[r + 1] = n;
        v.C[r + 2] = L
    }
    , function(v) {
        var A = H[v.E];
        v.E += 1;
        var L = v.C[v.C.length - 1];
        v.x.b(A, L);
        var t = null;
        var n = v.C[v.C.length - 2];
        v.C[v.C.length - 2] = n == t;
        v.C.length -= 1
    }
    , function(v) {
        "use strict";
        var f = H[v.E];
        var z = H[v.E + 1] << 16 | (H[v.E + 2] << 8 | H[v.E + 3]);
        var D = H[v.E + 4];
        v.E += 5;
        var A = v.C[v.C.length - 3];
        var L = v.C[v.C.length - 2];
        var n = v.C[v.C.length - 1];
        A[L] = n;
        var t = v.x.h(f);
        v.V = {
            E: v.E,
            M: v.M
        };
        v.E = z;
        v.M = D;
        v.C[v.C.length - 3] = t;
        v.C.length -= 2
    }
    , function(v) {
        var z = H[v.E];
        var D = H[v.E + 1];
        var A = H[v.E + 2];
        v.E += 3;
        var L = v.C[v.C.length - 1];
        v.x.b(z, L);
        var n = v.x.h(D);
        var r = v.C.length - 1;
        v.C[r] = n;
        v.C[r + 1] = v.x.h(A)
    }
    , function(v) {
        var L = H[v.E];
        var n = b[H[v.E + 1] << 8 | H[v.E + 2]];
        v.E += 3;
        var t = v.x.h(L);
        v.C[v.C.length] = t[n]()
    }
    , function(v) {
        var L = H[v.E];
        var n = H[v.E + 1];
        var t = H[v.E + 2];
        v.E += 3;
        v.x.b(n, L);
        v.C[v.C.length] = v.x.h(t)
    }
    , function(v) {
        var A = H[v.E];
        var L = H[v.E + 1];
        v.E += 2;
        var n = [];
        var r = v.C.length;
        v.C[r] = n;
        v.C[r + 1] = A;
        v.C[r + 2] = L
    }
    , function(v) {
        var n = H[v.E] << 16 | (H[v.E + 1] << 8 | H[v.E + 2]);
        var r = H[v.E + 3];
        v.E += 4;
        v.V = {
            E: v.E,
            M: v.M
        };
        v.E = n;
        v.M = r
    }
    , function(v) {
        v.C[v.C.length] = void 0
    }
    , function(r) {
        var v = H[r.E] << 8 | H[r.E + 1];
        r.E += 2;
        r.x.b(v, r.C[r.C.length - 1]);
        r.C.length -= 1
    }
    , function(v) {
        v.C.length -= 1
    }
    , function(r) {
        var v = rn[H[r.E]];
        r.E += 1;
        r.C[r.C.length] = v
    }
    , function(v) {
        var f = H[v.E];
        var z = H[v.E + 1];
        v.E += 2;
        var D = v.C[v.C.length - 2];
        var A = v.C[v.C.length - 1];
        var L = D[A];
        var n = v.x.h(f);
        var r = v.C.length - 2;
        v.C[r] = L;
        v.C[r + 1] = n;
        v.C[r + 2] = v.x.h(z)
    }
    , function(r) {
        var c = H[r.E];
        var q = b[H[r.E + 1] << 8 | H[r.E + 2]];
        var W = H[r.E + 3] << 8 | H[r.E + 4];
        r.E += 5;
        var k = r.x.h(c);
        var J = r.C[r.C.length - 2];
        var w = r.C[r.C.length - 1];
        rz(J, w, {
            writable: true,
            configurable: true,
            enumerable: true,
            value: k
        });
        var n = q;
        var a = n + "," + W;
        var t = T[a];
        if (typeof t !== "undefined") {
            var z = r.C.length - 2;
            r.C[z] = J;
            r.C[z + 1] = t;
            return
        }
        var f = b[W];
        var v = rT(f);
        var L = rT(n);
        var A = v[0] + L[0] & 255;
        var P = "";
        for (var D = 1; D < v.length; ++D) {
            P += x(L[D] ^ v[D] ^ A)
        }
        var z = r.C.length - 2;
        r.C[z] = J;
        r.C[z + 1] = T[a] = P
    }
    , function(v) {
        var r = v.C[v.C.length - 3];
        v.C[v.C.length - 3] = r(v.C[v.C.length - 2], v.C[v.C.length - 1]);
        v.C.length -= 2
    }
    , function(v) {
        var D = H[v.E];
        var A = H[v.E + 1];
        var L = H[v.E + 2];
        v.E += 3;
        var n = v.C[v.C.length - 1];
        var t = n + D;
        v.x.b(A, t);
        v.C[v.C.length - 1] = v.x.h(L)
    }
    , function(v) {
        var D = H[v.E];
        var A = H[v.E + 1];
        var L = H[v.E + 2];
        v.E += 3;
        var n = v.x.h(D);
        var t = n + A;
        v.x.b(L, t)
    }
    , function(v) {
        var A = H[v.E];
        var L = b[H[v.E + 1] << 8 | H[v.E + 2]];
        v.E += 3;
        var n = [];
        var r = v.C.length;
        v.C[r] = n;
        v.C[r + 1] = A;
        v.C[r + 2] = L
    }
    , function(v) {
        var n = H[v.E] << 16 | (H[v.E + 1] << 8 | H[v.E + 2]);
        var r = H[v.E + 3];
        v.E += 4;
        v.w.n({
            D: n,
            M: r,
            p: 0
        })
    }
    , function(v) {
        var D = H[v.E];
        var A = H[v.E + 1];
        var L = H[v.E + 2];
        v.E += 3;
        var n = v.C[v.C.length - 1];
        v.x.b(D, n);
        var t = v.x.h(A);
        v.x.b(L, t);
        v.C.length -= 1
    }
    , function(v) {
        rI = rN
    }
    , function(r) {
        var v = H[r.E];
        r.E += 1;
        r.x.b(v, r.C[r.C.length - 1]);
        r.C.length -= 1
    }
    , function(v) {
        var r = v.C[v.C.length - 5];
        v.C[v.C.length - 5] = r(v.C[v.C.length - 4], v.C[v.C.length - 3], v.C[v.C.length - 2], v.C[v.C.length - 1]);
        v.C.length -= 4
    }
    , function(v) {
        var z = H[v.E];
        var D = H[v.E + 1];
        var A = rn[H[v.E + 2]];
        v.E += 3;
        var L = v.x.h(z);
        var n = v.x.h(D);
        var r = v.C.length;
        v.C[r] = L;
        v.C[r + 1] = n ^ A
    }
    , function(v) {
        var n = H[v.E] << 8 | H[v.E + 1];
        var r = H[v.E + 2];
        v.E += 3;
        if (!v.C[v.C.length - 1]) {
            v.E = n;
            v.M = r
        }
        v.C.length -= 1
    }
    , function(v) {
        "use strict";
        v.C[v.C.length - 2] = delete v.C[v.C.length - 2][v.C[v.C.length - 1]];
        v.C.length -= 1
    }
    , function(v) {
        var n = H[v.E];
        var r = H[v.E + 1];
        v.E += 2;
        if (v.C[v.C.length - 1]) {
            v.E = n;
            v.M = r
        }
        v.C.length -= 1
    }
    , function(v) {
        if (v.C[v.C.length - 1] === null || v.C[v.C.length - 1] === void 0) {
            throw new rP(v.C[v.C.length - 1] + " is not an object")
        }
        v.C[v.C.length - 1] = rJ(v.C[v.C.length - 1])
    }
    , function(v) {
        var z = b[H[v.E] << 8 | H[v.E + 1]];
        var D = H[v.E + 2];
        var A = H[v.E + 3];
        var L = b[H[v.E + 4] << 8 | H[v.E + 5]];
        v.E += 6;
        v.x.b(D, z);
        var n = v.x.h(A);
        var r = v.C.length;
        v.C[r] = n;
        v.C[r + 1] = L
    }
    , function(r) {
        var m = H[r.E] << 8 | H[r.E + 1];
        r.E += 2;
        var n = r.C[r.C.length - 1];
        var f = n + "," + m;
        var t = T[f];
        if (typeof t !== "undefined") {
            r.C[r.C.length - 1] = t;
            return
        }
        var z = b[m];
        var v = rT(z);
        var L = rT(n);
        var A = v[0] + L[0] & 255;
        var a = "";
        for (var D = 1; D < v.length; ++D) {
            a += x(L[D] ^ v[D] ^ A)
        }
        r.C[r.C.length - 1] = T[f] = a
    }
    , function(v) {
        v.C[v.C.length] = v.c
    }
    , function(v) {
        var r = v.w.R();
        var t = {
            H: false,
            I: v.E,
            M: v.M
        };
        v.F.n(t);
        v.E = r.D;
        v.M = r.M
    }
    , function(v) {
        var D = H[v.E];
        var A = H[v.E + 1];
        var L = H[v.E + 2];
        v.E += 3;
        var n = v.C[v.C.length - 1];
        v.x.b(D, n);
        var r = v.C.length - 1;
        v.C[r] = A;
        v.C[r + 1] = v.x.h(L)
    }
    , function(v) {
        var z = H[v.E];
        var D = H[v.E + 1];
        var A = H[v.E + 2];
        v.E += 3;
        var L = v.x.h(z);
        var n = L[D];
        var r = v.C.length;
        v.C[r] = n;
        v.C[r + 1] = v.x.h(A)
    }
    , function(r) {
        var J = H[r.E];
        var w = b[H[r.E + 1] << 8 | H[r.E + 2]];
        var k = H[r.E + 3] << 8 | H[r.E + 4];
        r.E += 5;
        var m = r.C[r.C.length - 1];
        r.x.b(J, m);
        var n = w;
        var f = n + "," + k;
        var t = T[f];
        if (typeof t !== "undefined") {
            r.C[r.C.length - 1] = t;
            return
        }
        var z = b[k];
        var v = rT(z);
        var L = rT(n);
        var A = v[0] + L[0] & 255;
        var a = "";
        for (var D = 1; D < v.length; ++D) {
            a += x(L[D] ^ v[D] ^ A)
        }
        r.C[r.C.length - 1] = T[f] = a
    }
    , function(v) {
        rz(v.C[v.C.length - 3], v.C[v.C.length - 2], {
            writable: true,
            configurable: true,
            enumerable: true,
            value: v.C[v.C.length - 1]
        });
        v.C.length -= 2
    }
    , function(v) {
        var z = H[v.E];
        var D = H[v.E + 1];
        var A = H[v.E + 2];
        v.E += 3;
        var L = v.C[v.C.length - 2];
        var n = v.C[v.C.length - 1];
        var t = L | n;
        v.x.b(z, t);
        v.x.b(A, D);
        v.C.length -= 2
    }
    , function(v) {
        v.C[v.C.length] = v.W
    }
    , function(r) {
        var v = H[r.E] << 8 | H[r.E + 1];
        r.E += 2;
        r.C[r.C.length - 2] = Q(v, r.C[r.C.length - 1], r.C[r.C.length - 2], r.x);
        r.C.length -= 1
    }
    , function(v) {
        var n = H[v.E] << 16 | (H[v.E + 1] << 8 | H[v.E + 2]);
        var r = H[v.E + 3];
        v.E = n;
        v.M = r
    }
    , function(v) {
        v.C[v.C.length] = {}
    }
    , function(v) {
        var r = v.C[v.C.length - 1];
        v.C[v.C.length - 1] = r()
    }
    , function(v) {
        v.C[v.C.length] = v.C[v.C.length - 1]
    }
    , function(v) {
        var r = v.C[v.C.length - 4];
        v.C[v.C.length - 4] = r(v.C[v.C.length - 3], v.C[v.C.length - 2], v.C[v.C.length - 1]);
        v.C.length -= 3
    }
    , function(v) {
        var D = H[v.E];
        v.E += 1;
        var A = v.C[v.C.length - 1];
        var t = A & D;
        var L = v.C[v.C.length - 3];
        var n = v.C[v.C.length - 2];
        rz(L, n, {
            writable: true,
            configurable: true,
            enumerable: true,
            value: t
        });
        v.C[v.C.length - 3] = L;
        v.C.length -= 2
    }
    , function(v) {
        var z = H[v.E];
        var D = H[v.E + 1];
        var A = H[v.E + 2];
        v.E += 3;
        var L = v.x.h(z);
        var n = v.x.h(D);
        var r = v.C.length;
        v.C[r] = L;
        v.C[r + 1] = n;
        v.C[r + 2] = v.x.h(A)
    }
    , function(v) {
        var A = H[v.E];
        var L = H[v.E + 1];
        v.E += 2;
        var n = v.x.h(A);
        var t = v.x.h(L);
        v.C[v.C.length] = n in t
    }
    , function(v) {
        var A = H[v.E];
        var L = H[v.E + 1];
        v.E += 2;
        var n = v.C[v.C.length - 1];
        v.x.b(A, n);
        var r = v.C.length - 1;
        v.C[r] = n;
        v.C[r + 1] = v.x.h(L)
    }
    , function(v) {
        var f = H[v.E];
        var z = H[v.E + 1];
        var D = H[v.E + 2];
        v.E += 3;
        var A = v.C[v.C.length - 1];
        var L = A[f];
        var n = v.x.h(z);
        var r = v.C.length - 1;
        v.C[r] = L;
        v.C[r + 1] = n;
        v.C[r + 2] = D
    }
    , function(v) {
        var z = H[v.E];
        var D = H[v.E + 1];
        var A = H[v.E + 2] << 16 | (H[v.E + 3] << 8 | H[v.E + 4]);
        var L = H[v.E + 5];
        v.E += 6;
        var n = v.x.h(z);
        v.V = {
            E: v.E,
            M: v.M
        };
        v.E = A;
        v.M = L;
        var r = v.C.length;
        v.C[r] = n;
        v.C[r + 1] = D
    }
    , function(v) {
        rI = void 0
    }
    , function(v) {
        var A = H[v.E];
        var L = b[H[v.E + 1] << 8 | H[v.E + 2]];
        v.E += 3;
        var n = v.C[v.C.length - 1];
        v.x.b(A, n);
        var t = v.C[v.C.length - 2];
        v.C[v.C.length - 2] = t[L];
        v.C.length -= 1
    }
    , function(v) {
        var L = H[v.E];
        var n = b[H[v.E + 1] << 8 | H[v.E + 2]];
        v.E += 3;
        var t = v.x.h(L);
        v.C[v.C.length] = t[n]
    }
    , function(v) {
        var z = H[v.E];
        var D = H[v.E + 1] << 16 | (H[v.E + 2] << 8 | H[v.E + 3]);
        var A = H[v.E + 4];
        v.E += 5;
        var n = v.x.h(z);
        var L = v.C[v.C.length - 1];
        var t = L in n;
        if (!t) {
            v.E = D;
            v.M = A
        }
        v.C.length -= 1
    }
    , function(r) {
        var v = H[r.E];
        r.E += 1;
        r.C[r.C.length] = r.x.h(v)
    }
    , function(v) {
        var n = H[v.E];
        var r = H[v.E + 1];
        v.E = n;
        v.M = r
    }
    , function(v) {
        var a = H[v.E] << 8 | H[v.E + 1];
        var f = H[v.E + 2];
        v.E += 3;
        var z = v.C[v.C.length - 2];
        var D = v.C[v.C.length - 1];
        var L = Q(a, D, z, v.x);
        var A = v.C[v.C.length - 3];
        var r = A;
        var n = r(L);
        v.C[v.C.length - 3] = v.x.h(f);
        v.C.length -= 2
    }
    , function(r) {
        var W = H[r.E];
        var J = b[H[r.E + 1] << 8 | H[r.E + 2]];
        var w = H[r.E + 3] << 8 | H[r.E + 4];
        r.E += 5;
        var k = r.x.h(W);
        var n = J;
        var a = n + "," + w;
        var t = T[a];
        if (typeof t !== "undefined") {
            var z = r.C.length;
            r.C[z] = k;
            r.C[z + 1] = t;
            return
        }
        var f = b[w];
        var v = rT(f);
        var L = rT(n);
        var A = v[0] + L[0] & 255;
        var P = "";
        for (var D = 1; D < v.length; ++D) {
            P += x(L[D] ^ v[D] ^ A)
        }
        var z = r.C.length;
        r.C[z] = k;
        r.C[z + 1] = T[a] = P
    }
    , function(v) {
        var A = H[v.E];
        var L = H[v.E + 1];
        var n = H[v.E + 2];
        v.E += 3;
        var r = v.C.length;
        v.C[r] = A;
        v.C[r + 1] = L;
        v.C[r + 2] = n
    }
    , function(v) {
        var D = H[v.E];
        var A = H[v.E + 1];
        var L = H[v.E + 2];
        v.E += 3;
        var n = v.x.h(A);
        var r = v.C.length;
        v.C[r] = D;
        v.C[r + 1] = n[L]
    }
    , function(v) {
        v.C[v.C.length - 1] = rW(v.C[v.C.length - 1])
    }
    , function(v) {
        var z = H[v.E] << 8 | H[v.E + 1];
        var D = H[v.E + 2];
        var A = H[v.E + 3] << 8 | H[v.E + 4];
        v.E += 5;
        var L = v.C[v.C.length - 2];
        var n = v.C[v.C.length - 1];
        rz(L, n, {
            writable: true,
            configurable: true,
            enumerable: true,
            value: z
        });
        var r = v.C.length - 2;
        v.C[r] = L;
        v.C[r + 1] = D;
        v.C[r + 2] = A
    }
    , function(v) {
        var a = H[v.E];
        var f = H[v.E + 1];
        v.E += 2;
        var L = v.x.h(a);
        var n = v.x.h(f);
        var z = v.C[v.C.length - 3];
        var D = v.C[v.C.length - 2];
        var A = v.C[v.C.length - 1];
        var r = z;
        v.C[v.C.length - 3] = r(D, A, L, n);
        v.C.length -= 2
    }
    , function(v) {
        var L = b[H[v.E] << 8 | H[v.E + 1]];
        v.E += 2;
        var n = v.C[v.C.length - 1];
        var t = n[L];
        v.E = v.V.E;
        v.M = v.V.M;
        v.C[v.C.length - 1] = t
    }
    , function(r) {
        var v = b[H[r.E] << 8 | H[r.E + 1]];
        r.E += 2;
        r.C[r.C.length] = v
    }
    , function(v) {
        var L = H[v.E];
        var n = H[v.E + 1];
        v.E += 2;
        var t = [];
        v.x.b(L, t);
        v.C[v.C.length] = v.x.h(n)
    }
    , function(v) {
        v.C[v.C.length - 2] = v.C[v.C.length - 2] === v.C[v.C.length - 1];
        v.C.length -= 1
    }
    , function(r) {
        var w = b[H[r.E] << 8 | H[r.E + 1]];
        var k = H[r.E + 2] << 8 | H[r.E + 3];
        r.E += 4;
        b1: {
            var n = w;
            var f = n + "," + k;
            var t = T[f];
            if (typeof t !== "undefined") {
                var m = t;
                break b1
            }
            var z = b[k];
            var v = rT(z);
            var L = rT(n);
            var A = v[0] + L[0] & 255;
            var a = "";
            for (var D = 1; D < v.length; ++D) {
                a += x(L[D] ^ v[D] ^ A)
            }
            var m = T[f] = a
        }
        r.E = r.V.E;
        r.M = r.V.M;
        r.C[r.C.length] = m
    }
    , function(v) {
        v.E = v.C[v.C.length - 1];
        v.M = v.C[v.C.length - 2];
        v.C.length -= 2
    }
    , function(v) {
        var A = H[v.E];
        v.E += 1;
        var L = v.C[v.C.length - 3];
        var n = v.C[v.C.length - 2];
        var t = v.C[v.C.length - 1];
        rz(L, n, {
            writable: true,
            configurable: true,
            enumerable: true,
            value: t
        });
        v.x.b(A, L);
        v.C[v.C.length - 3] = [];
        v.C.length -= 2
    }
    , function(v) {
        "use strict";
        var r = v.C[v.C.length - 1];
        v.C[v.C.length - 3][v.C[v.C.length - 2]] = r;
        v.C[v.C.length - 3] = r;
        v.C.length -= 2
    }
    , function(r) {
        var J = b[H[r.E] << 8 | H[r.E + 1]];
        var w = H[r.E + 2] << 8 | H[r.E + 3];
        r.E += 4;
        b1: {
            var n = J;
            var f = n + "," + w;
            var t = T[f];
            if (typeof t !== "undefined") {
                var m = t;
                break b1
            }
            var z = b[w];
            var v = rT(z);
            var L = rT(n);
            var A = v[0] + L[0] & 255;
            var a = "";
            for (var D = 1; D < v.length; ++D) {
                a += x(L[D] ^ v[D] ^ A)
            }
            var m = T[f] = a
        }
        var k = r.C[r.C.length - 1];
        r.C[r.C.length - 1] = k[m]
    }
    , function(r) {
        var q = b[H[r.E] << 8 | H[r.E + 1]];
        var W = H[r.E + 2] << 8 | H[r.E + 3];
        var J = H[r.E + 4] << 16 | (H[r.E + 5] << 8 | H[r.E + 6]);
        var w = H[r.E + 7];
        r.E += 8;
        b1: {
            var n = q;
            var a = n + "," + W;
            var t = T[a];
            if (typeof t !== "undefined") {
                var k = t;
                break b1
            }
            var f = b[W];
            var v = rT(f);
            var L = rT(n);
            var A = v[0] + L[0] & 255;
            var P = "";
            for (var D = 1; D < v.length; ++D) {
                P += x(L[D] ^ v[D] ^ A)
            }
            var k = T[a] = P
        }
        var z = r.C.length;
        r.C[z] = k;
        r.C[z + 1] = w;
        r.C[z + 2] = J
    }
    , function(v) {
        var L = H[v.E];
        v.E += 1;
        var n = null;
        var t = v.x.h(L);
        v.C[v.C.length] = n != t
    }
    , function(v) {
        v.C[v.C.length - 2] = v.C[v.C.length - 2]in v.C[v.C.length - 1];
        v.C.length -= 1
    }
    , function(v) {
        v.C[v.C.length] = []
    }
    , function(v) {
        v.C[v.C.length - 2] = v.C[v.C.length - 2] & v.C[v.C.length - 1];
        v.C.length -= 1
    }
    , function(v) {
        v.C[v.C.length - 2] = v.C[v.C.length - 2] >= v.C[v.C.length - 1];
        v.C.length -= 1
    }
    , function(v) {
        v.C[v.C.length - 2] = v.C[v.C.length - 2][v.C[v.C.length - 1]];
        v.C.length -= 1
    }
    , function(v) {
        var z = H[v.E];
        var D = H[v.E + 1];
        v.E += 2;
        var n = v.x.h(D);
        var t = z & n;
        var A = v.C[v.C.length - 2];
        var L = v.C[v.C.length - 1];
        rz(A, L, {
            writable: true,
            configurable: true,
            enumerable: true,
            value: t
        });
        v.C[v.C.length - 2] = A;
        v.C.length -= 1
    }
    , function(v) {
        v.C[v.C.length - 2] = v.C[v.C.length - 2] >>> v.C[v.C.length - 1];
        v.C.length -= 1
    }
    , function(v) {
        var r = v.C[v.C.length - 2];
        v.C[v.C.length - 2] = new r(v.C[v.C.length - 1]);
        v.C.length -= 1
    }
    , function(v) {
        v.C[v.C.length] = false
    }
    , function(v) {
        var m = H[v.E];
        v.E += 1;
        var P = v.C[v.C.length - 4];
        var a = v.C[v.C.length - 3];
        var f = v.C[v.C.length - 2];
        var z = v.C[v.C.length - 1];
        var r = P;
        var L = r(a, f, z);
        var D = v.C[v.C.length - 6];
        var A = v.C[v.C.length - 5];
        rz(D, A, {
            writable: true,
            configurable: true,
            enumerable: true,
            value: L
        });
        var t = v.C.length - 6;
        v.C[t] = D;
        v.C[t + 1] = m;
        v.C.length -= 4
    }
    , function(v) {
        var D = H[v.E];
        var A = b[H[v.E + 1] << 8 | H[v.E + 2]];
        var L = H[v.E + 3];
        var n = H[v.E + 4];
        v.E += 5;
        var t = v.C[v.C.length - 1];
        v.x.b(D, t);
        v.x.b(L, A);
        v.C[v.C.length - 1] = v.x.h(n)
    }
    , function(v) {
        var A = H[v.E];
        var L = H[v.E + 1];
        v.E += 2;
        var n = v.x.h(A);
        var t = v.x.h(L);
        v.C[v.C.length] = n[t]
    }
    , function(v) {
        var D = H[v.E];
        var A = H[v.E + 1];
        var L = H[v.E + 2];
        v.E += 3;
        var n = v.x.h(D);
        var r = v.C.length;
        v.C[r] = n;
        v.C[r + 1] = A;
        v.C[r + 2] = v.x.h(L)
    }
    , function(v) {
        v.F.R()
    }
    , function(v) {
        v.C[v.C.length - 2] = v.C[v.C.length - 2] % v.C[v.C.length - 1];
        v.C.length -= 1
    }
    , function(v) {
        var L = H[v.E];
        v.E += 1;
        var n = v.C[v.C.length - 1];
        v.x.b(L, n);
        var r = v.C.length - 1;
        v.C[r] = n;
        v.C[r + 1] = n
    }
    , function(r) {
        var q = b[H[r.E] << 8 | H[r.E + 1]];
        var W = H[r.E + 2] << 8 | H[r.E + 3];
        var J = b[H[r.E + 4] << 8 | H[r.E + 5]];
        var w = H[r.E + 6] << 8 | H[r.E + 7];
        r.E += 8;
        b1: {
            var n = q;
            var a = n + "," + W;
            var t = T[a];
            if (typeof t !== "undefined") {
                var k = t;
                break b1
            }
            var f = b[W];
            var v = rT(f);
            var L = rT(n);
            var A = v[0] + L[0] & 255;
            var P = "";
            for (var D = 1; D < v.length; ++D) {
                P += x(L[D] ^ v[D] ^ A)
            }
            var k = T[a] = P
        }
        var n = J;
        var a = n + "," + w;
        var t = T[a];
        if (typeof t !== "undefined") {
            var z = r.C.length;
            r.C[z] = k;
            r.C[z + 1] = t;
            return
        }
        var f = b[w];
        var v = rT(f);
        var L = rT(n);
        var A = v[0] + L[0] & 255;
        var P = "";
        for (var D = 1; D < v.length; ++D) {
            P += x(L[D] ^ v[D] ^ A)
        }
        var z = r.C.length;
        r.C[z] = k;
        r.C[z + 1] = T[a] = P
    }
    , function(v) {
        v.C[v.C.length - 2] = v.C[v.C.length - 2] == v.C[v.C.length - 1];
        v.C.length -= 1
    }
    , function(v) {
        var A = b[H[v.E] << 8 | H[v.E + 1]];
        var L = H[v.E + 2];
        v.E += 3;
        var n = v.C[v.C.length - 1];
        var t = n[A];
        v.x.b(L, t);
        v.C.length -= 1
    }
    , function(v) {
        var D = H[v.E];
        var A = H[v.E + 1];
        v.E += 2;
        var L = v.x.h(D);
        var n = v.x.h(A);
        var r = v.C.length;
        v.C[r] = L;
        v.C[r + 1] = L[n]
    }
    , function(v) {
        var r = v.C[v.C.length - 12];
        v.C[v.C.length - 12] = new r(v.C[v.C.length - 11],v.C[v.C.length - 10],v.C[v.C.length - 9],v.C[v.C.length - 8],v.C[v.C.length - 7],v.C[v.C.length - 6],v.C[v.C.length - 5],v.C[v.C.length - 4],v.C[v.C.length - 3],v.C[v.C.length - 2],v.C[v.C.length - 1]);
        v.C.length -= 11
    }
    , function(v) {
        "use strict";
        var z = rn[H[v.E]];
        var D = H[v.E + 1];
        v.E += 2;
        var A = v.C[v.C.length - 1];
        var t = A & z;
        var L = v.C[v.C.length - 3];
        var n = v.C[v.C.length - 2];
        L[n] = t;
        v.C[v.C.length - 3] = v.x.h(D);
        v.C.length -= 2
    }
    , function(v) {
        var n = H[v.E] << 16 | (H[v.E + 1] << 8 | H[v.E + 2]);
        var r = H[v.E + 3];
        v.E += 4;
        if (!v.C[v.C.length - 1]) {
            v.E = n;
            v.M = r
        }
        v.C.length -= 1
    }
    , function(r) {
        var c = H[r.E] << 8 | H[r.E + 1];
        var q = H[r.E + 2];
        var W = b[H[r.E + 3] << 8 | H[r.E + 4]];
        r.E += 5;
        b0: {
            var J = r.C[r.C.length - 1];
            var n = J;
            var a = n + "," + c;
            var t = T[a];
            if (typeof t !== "undefined") {
                var k = t;
                break b0
            }
            var f = b[c];
            var v = rT(f);
            var L = rT(n);
            var A = v[0] + L[0] & 255;
            var P = "";
            for (var D = 1; D < v.length; ++D) {
                P += x(L[D] ^ v[D] ^ A)
            }
            var k = T[a] = P
        }
        var w = r.C[r.C.length - 2];
        rz(w, k, {
            writable: true,
            configurable: true,
            enumerable: true,
            value: q
        });
        var z = r.C.length - 2;
        r.C[z] = w;
        r.C[z + 1] = W
    }
    , function(v) {
        var z = H[v.E];
        var D = H[v.E + 1];
        var A = H[v.E + 2];
        v.E += 3;
        var L = v.C[v.C.length - 1];
        v.x.b(z, L);
        var n = v.C[v.C.length - 2];
        v.x.b(D, n);
        var t = v.C[v.C.length - 3];
        v.x.b(A, t);
        v.C.length -= 3
    }
    , function(v) {
        var r = v.C[v.C.length - 2];
        v.C[v.C.length - 2] = r(v.C[v.C.length - 1]);
        v.C.length -= 1
    }
    , function(r) {
        var q = b[H[r.E] << 8 | H[r.E + 1]];
        var W = H[r.E + 2] << 8 | H[r.E + 3];
        r.E += 4;
        var J = r.C[r.C.length - 2];
        var w = r.C[r.C.length - 1];
        var k = J[w];
        var n = q;
        var a = n + "," + W;
        var t = T[a];
        if (typeof t !== "undefined") {
            var z = r.C.length - 2;
            r.C[z] = k;
            r.C[z + 1] = t;
            return
        }
        var f = b[W];
        var v = rT(f);
        var L = rT(n);
        var A = v[0] + L[0] & 255;
        var P = "";
        for (var D = 1; D < v.length; ++D) {
            P += x(L[D] ^ v[D] ^ A)
        }
        var z = r.C.length - 2;
        r.C[z] = k;
        r.C[z + 1] = T[a] = P
    }
    , function(v) {
        var z = b[H[v.E] << 8 | H[v.E + 1]];
        var D = H[v.E + 2];
        var A = b[H[v.E + 3] << 8 | H[v.E + 4]];
        v.E += 5;
        var L = v.C[v.C.length - 2];
        var n = v.C[v.C.length - 1];
        rz(L, n, {
            writable: true,
            configurable: true,
            enumerable: true,
            value: z
        });
        var r = v.C.length - 2;
        v.C[r] = L;
        v.C[r + 1] = D;
        v.C[r + 2] = A
    }
    , function(v) {
        v.C[v.C.length] = true
    }
    , function(r) {
        var q = H[r.E];
        var W = b[H[r.E + 1] << 8 | H[r.E + 2]];
        var J = H[r.E + 3] << 8 | H[r.E + 4];
        r.E += 5;
        var w = r.C[r.C.length - 2];
        var k = r.C[r.C.length - 1];
        rz(w, k, {
            writable: true,
            configurable: true,
            enumerable: true,
            value: q
        });
        var n = W;
        var a = n + "," + J;
        var t = T[a];
        if (typeof t !== "undefined") {
            var z = r.C.length - 2;
            r.C[z] = w;
            r.C[z + 1] = t;
            return
        }
        var f = b[J];
        var v = rT(f);
        var L = rT(n);
        var A = v[0] + L[0] & 255;
        var P = "";
        for (var D = 1; D < v.length; ++D) {
            P += x(L[D] ^ v[D] ^ A)
        }
        var z = r.C.length - 2;
        r.C[z] = w;
        r.C[z + 1] = T[a] = P
    }
    , function(v) {
        var L = b[H[v.E] << 8 | H[v.E + 1]];
        v.E += 2;
        var n = v.C[v.C.length - 1];
        var r = v.C.length - 1;
        v.C[r] = n;
        v.C[r + 1] = n[L]
    }
    , function(v) {
        var r = v.C[v.C.length - 1];
        v.C[v.C.length - 1] = new r
    }
    , function(v) {
        var f = rn[H[v.E]];
        var z = H[v.E + 1];
        v.E += 2;
        var D = v.C[v.C.length - 1];
        var L = D ^ f;
        var A = v.C[v.C.length - 2];
        var r = A;
        var n = r(L);
        v.x.b(z, n);
        v.C.length -= 2
    }
    , function(v) {
        var D = H[v.E];
        var A = H[v.E + 1];
        v.E += 2;
        var L = v.C[v.C.length - 1];
        v.x.b(D, L);
        var n = null;
        var t = v.x.h(A);
        v.C[v.C.length - 1] = n == t
    }
    , function(v) {
        v.C[v.C.length - 2] = v.C[v.C.length - 2] < v.C[v.C.length - 1];
        v.C.length -= 1
    }
    , function(v) {
        var z = H[v.E];
        var D = H[v.E + 1];
        var A = H[v.E + 2];
        v.E += 3;
        var L = v.x.h(z);
        var n = v.x.h(D);
        var r = v.C.length;
        v.C[r] = L;
        v.C[r + 1] = n;
        v.C[r + 2] = A
    }
    , function(v) {
        var r = b[H[v.E] << 8 | H[v.E + 1]];
        v.E += 2;
        v.C[v.C.length] = rk(r)
    }
    , function(v) {
        var D = H[v.E];
        v.E += 1;
        var L = v.x.h(D);
        var A = v.C[v.C.length - 1];
        var n = A[L];
        var r = v.C.length - 1;
        v.C[r] = n;
        v.C[r + 1] = n
    }
    , function(v) {
        "use strict";
        v.C[v.C.length - 3][v.C[v.C.length - 2]] = v.C[v.C.length - 1];
        v.C.length -= 3
    }
    , function(v) {
        var D = H[v.E];
        var A = H[v.E + 1];
        var L = H[v.E + 2];
        v.E += 3;
        var n = v.x.h(D);
        var t = n[A];
        v.x.b(L, t)
    }
    , function(v) {
        var D = H[v.E];
        var A = H[v.E + 1];
        v.E += 2;
        var L = v.C[v.C.length - 2];
        var n = v.C[v.C.length - 1];
        rz(L, n, {
            writable: true,
            configurable: true,
            enumerable: true,
            value: D
        });
        var r = v.C.length - 2;
        v.C[r] = L;
        v.C[r + 1] = A
    }
    , function(v) {
        var f = H[v.E];
        var z = H[v.E + 1];
        v.E += 2;
        var D = v.C[v.C.length - 2];
        var A = v.C[v.C.length - 1];
        var L = D & A;
        var n = v.x.h(f);
        var r = v.C.length - 2;
        v.C[r] = L;
        v.C[r + 1] = n >>> z
    }
    , function(v) {
        v.C[v.C.length - 2] = rk(v.C[v.C.length - 1], v.C[v.C.length - 2]);
        v.C.length -= 1
    }
    , function(r) {
        var v = H[r.E];
        r.E += 1;
        r.C.length = v
    }
    , function(v) {
        v.C[v.C.length - 2] = v.C[v.C.length - 2] | v.C[v.C.length - 1];
        v.C.length -= 1
    }
    , function(v) {
        var A = H[v.E];
        var L = H[v.E + 1];
        v.E += 2;
        var n = v.C[v.C.length - 1];
        v.x.b(A, n);
        var t = v.C[v.C.length - 2];
        v.C[v.C.length - 2] = t >= L;
        v.C.length -= 1
    }
    , function(v) {
        var L = H[v.E];
        var n = H[v.E + 1];
        v.E += 2;
        var t = v.C[v.C.length - 1];
        v.x.b(L, t);
        v.C[v.C.length - 1] = t << n
    }
    , function(v) {
        v.C[v.C.length - 2] = v.C[v.C.length - 2][v.C[v.C.length - 1]]();
        v.C.length -= 1
    }
    , function(r) {
        var W = b[H[r.E] << 8 | H[r.E + 1]];
        var J = H[r.E + 2] << 8 | H[r.E + 3];
        var w = H[r.E + 4];
        r.E += 5;
        b1: {
            var n = W;
            var a = n + "," + J;
            var t = T[a];
            if (typeof t !== "undefined") {
                var k = t;
                break b1
            }
            var f = b[J];
            var v = rT(f);
            var L = rT(n);
            var A = v[0] + L[0] & 255;
            var P = "";
            for (var D = 1; D < v.length; ++D) {
                P += x(L[D] ^ v[D] ^ A)
            }
            var k = T[a] = P
        }
        var z = r.C.length;
        r.C[z] = k;
        r.C[z + 1] = r.x.h(w)
    }
    , function(v) {
        var z = H[v.E];
        var D = H[v.E + 1];
        v.E += 2;
        var n = v.x.h(z);
        var A = v.C[v.C.length - 2];
        var L = v.C[v.C.length - 1];
        rz(A, L, {
            writable: true,
            configurable: true,
            enumerable: true,
            value: n
        });
        var r = v.C.length - 2;
        v.C[r] = A;
        v.C[r + 1] = D
    }
    , function(v) {
        var D = H[v.E];
        var A = H[v.E + 1];
        v.E += 2;
        var L = v.x.h(D);
        var n = v.x.h(A);
        var r = L;
        v.C[v.C.length] = r(n)
    }
    , function(r) {
        var v = H[r.E];
        r.E += 1;
        r.C[r.C.length] = v
    }
    , function(v) {
        var D = H[v.E];
        var A = H[v.E + 1];
        v.E += 2;
        var n = v.x.h(D);
        var t = n[A];
        var L = v.C[v.C.length - 1];
        v.C[v.C.length - 1] = L + t
    }
    , function(v) {
        var n = H[v.E] << 16 | (H[v.E + 1] << 8 | H[v.E + 2]);
        var r = H[v.E + 3];
        v.E += 4;
        if (v.C[v.C.length - 1]) {
            v.E = n;
            v.M = r
        }
        v.C.length -= 1
    }
    , function(v) {
        "use strict";
        var P = H[v.E];
        var a = H[v.E + 1];
        v.E += 2;
        var f = v.C[v.C.length - 2];
        var z = v.C[v.C.length - 1];
        var L = f & z;
        var D = v.C[v.C.length - 4];
        var A = v.C[v.C.length - 3];
        D[A] = L;
        var n = v.x.h(P);
        var r = v.C.length - 4;
        v.C[r] = n;
        v.C[r + 1] = a;
        v.C.length -= 2
    }
    , function(v) {
        var n = H[v.E] << 8 | H[v.E + 1];
        var r = H[v.E + 2];
        v.E += 3;
        v.w.n({
            D: n,
            M: r,
            p: 0
        })
    }
    , function(v) {
        var L = H[v.E];
        var n = H[v.E + 1];
        v.E += 2;
        var t = v.x.h(L);
        v.x.b(n, t);
        v.C[v.C.length] = t
    }
    , function(v) {
        var A = H[v.E];
        var L = H[v.E + 1] << 16 | (H[v.E + 2] << 8 | H[v.E + 3]);
        var n = H[v.E + 4];
        v.E += 5;
        var t = v.C[v.C.length - 1];
        v.x.b(A, t);
        v.V = {
            E: v.E,
            M: v.M
        };
        v.E = L;
        v.M = n;
        v.C[v.C.length - 1] = t
    }
    , function(v) {
        var z = H[v.E];
        var D = H[v.E + 1];
        v.E += 2;
        var A = v.C[v.C.length - 3];
        var L = v.C[v.C.length - 2];
        var n = v.C[v.C.length - 1];
        rz(A, L, {
            writable: true,
            configurable: true,
            enumerable: true,
            value: n
        });
        var r = v.C.length - 3;
        v.C[r] = A;
        v.C[r + 1] = z;
        v.C[r + 2] = v.x.h(D)
    }
    , function(v) {
        v.C[v.C.length - 2] = v.C[v.C.length - 2] + v.C[v.C.length - 1];
        v.C.length -= 1
    }
    , function(v) {
        var L = H[v.E];
        var n = H[v.E + 1];
        v.E += 2;
        var t = v.C[v.C.length - 1];
        v.x.b(L, t);
        v.x.b(n, t);
        v.C.length -= 1
    }
    , function(v) {
        v.C[v.C.length - 2] = v.C[v.C.length - 2] <= v.C[v.C.length - 1];
        v.C.length -= 1
    }
    , function(r) {
        var K = H[r.E] << 8 | H[r.E + 1];
        var c = H[r.E + 2];
        var q = b[H[r.E + 3] << 8 | H[r.E + 4]];
        r.E += 5;
        b0: {
            var W = r.C[r.C.length - 1];
            var n = W;
            var a = n + "," + K;
            var t = T[a];
            if (typeof t !== "undefined") {
                var k = t;
                break b0
            }
            var f = b[K];
            var v = rT(f);
            var L = rT(n);
            var A = v[0] + L[0] & 255;
            var P = "";
            for (var D = 1; D < v.length; ++D) {
                P += x(L[D] ^ v[D] ^ A)
            }
            var k = T[a] = P
        }
        var J = r.C[r.C.length - 3];
        var w = r.C[r.C.length - 2];
        rz(J, w, {
            writable: true,
            configurable: true,
            enumerable: true,
            value: k
        });
        var z = r.C.length - 3;
        r.C[z] = J;
        r.C[z + 1] = c;
        r.C[z + 2] = q
    }
    , function(v) {
        v.C[v.C.length - 1] = !v.C[v.C.length - 1]
    }
    , function(v) {
        var f = H[v.E];
        var z = H[v.E + 1];
        var D = H[v.E + 2] << 16 | (H[v.E + 3] << 8 | H[v.E + 4]);
        var A = H[v.E + 5] << 16 | (H[v.E + 6] << 8 | H[v.E + 7]);
        v.E += 8;
        var L = v.x.h(f);
        var n = v.x.h(z);
        var r = v.C.length;
        v.C[r] = L;
        v.C[r + 1] = n;
        v.C[r + 2] = D;
        v.C[r + 3] = A
    }
    , function(v) {
        var z = H[v.E];
        var D = H[v.E + 1] << 16 | (H[v.E + 2] << 8 | H[v.E + 3]);
        var A = H[v.E + 4];
        v.E += 5;
        var L = v.C[v.C.length - 2];
        var n = v.C[v.C.length - 1];
        var t = L[n];
        v.x.b(z, t);
        v.V = {
            E: v.E,
            M: v.M
        };
        v.E = D;
        v.M = A;
        v.C.length -= 2
    }
    , function(v) {
        var A = H[v.E];
        var L = H[v.E + 1];
        v.E += 2;
        var n = [];
        var r = v.C.length;
        v.C[r] = n;
        v.C[r + 1] = A;
        v.C[r + 2] = v.x.h(L)
    }
    , function(v) {
        var z = H[v.E];
        var D = H[v.E + 1] << 16 | (H[v.E + 2] << 8 | H[v.E + 3]);
        var A = H[v.E + 4];
        v.E += 5;
        var n = v.x.h(z);
        var L = v.C[v.C.length - 1];
        var t = L < n;
        if (t) {
            v.E = D;
            v.M = A
        }
        v.C.length -= 1
    }
    , function(v) {
        var n = H[v.E] << 8 | H[v.E + 1];
        var r = H[v.E + 2];
        v.E += 3;
        v.V = {
            E: v.E,
            M: v.M
        };
        v.E = n;
        v.M = r
    }
    , function(v) {
        var n = H[v.E] << 8 | H[v.E + 1];
        var r = H[v.E + 2];
        v.E = n;
        v.M = r
    }
    , function(v) {
        v.C[v.C.length - 2] = v.C[v.C.length - 2] << v.C[v.C.length - 1];
        v.C.length -= 1
    }
    , function(v) {
        ++v.w[v.w.length - 1].p
    }
    , function(v) {
        var D = H[v.E];
        var A = H[v.E + 1];
        var L = H[v.E + 2];
        v.E += 3;
        var n = v.C[v.C.length - 1];
        v.x.b(D, n);
        var t = v.C[v.C.length - 2];
        v.x.b(A, t);
        v.C[v.C.length - 2] = v.x.h(L);
        v.C.length -= 1
    }
    , function(v) {
        v.C[v.C.length] = null
    }
    , function(v) {
        var r = [];
        for (var t in v.C[v.C.length - 1]) {
            Y(r, t)
        }
        v.C[v.C.length - 1] = r
    }
    , function(v) {
        var f = H[v.E];
        var z = rn[H[v.E + 1]];
        v.E += 2;
        var D = v.C[v.C.length - 1];
        var L = D >>> f;
        var A = v.C[v.C.length - 2];
        var n = A | L;
        var r = v.C.length - 2;
        v.C[r] = n;
        v.C[r + 1] = z
    }
    , function(v) {
        var z = rn[H[v.E]];
        v.E += 1;
        var D = v.C[v.C.length - 2];
        var A = v.C[v.C.length - 1];
        var n = D[A];
        var L = v.C[v.C.length - 3];
        var t = L + n;
        v.C[v.C.length - 3] = t & z;
        v.C.length -= 2
    }
    , function(v) {
        v.C[v.C.length - 2] = v.C[v.C.length - 2] > v.C[v.C.length - 1];
        v.C.length -= 1
    }
    , function(v) {
        var D = H[v.E];
        var A = H[v.E + 1];
        var L = b[H[v.E + 2] << 8 | H[v.E + 3]];
        var n = H[v.E + 4];
        v.E += 5;
        var t = v.x.h(D);
        v.x.b(A, t);
        v.x.b(n, L)
    }
    , function(v) {
        rI = v.C[v.C.length - 1];
        v.C.length -= 1
    }
    , function(r) {
        var v = H[r.E] << 8 | H[r.E + 1];
        r.E += 2;
        r.C[r.C.length] = r.x.h(v)
    }
    , function(v) {
        v.E = v.V.E;
        v.M = v.V.M
    }
    , function(v) {
        var n = H[v.E];
        var r = H[v.E + 1];
        v.E += 2;
        if (!v.C[v.C.length - 1]) {
            v.E = n;
            v.M = r
        }
        v.C.length -= 1
    }
    , function(v) {
        v.C[v.C.length - 2] = v.C[v.C.length - 2] - v.C[v.C.length - 1];
        v.C.length -= 1
    }
    , function(v) {
        v.C[v.C.length - 1] = typeof v.C[v.C.length - 1]
    }
    , function(v) {
        var A = H[v.E];
        var L = H[v.E + 1];
        v.E += 2;
        var n = v.C[v.C.length - 1];
        v.x.b(A, n);
        var t = v.C[v.C.length - 2];
        v.x.b(L, t);
        v.C[v.C.length - 2] = t;
        v.C.length -= 1
    }
    , function(v) {
        v.C[v.C.length] = t
    }
    , function(v) {
        v.C[v.C.length - 2] = v.C[v.C.length - 2] + v.C[v.C.length - 1];
        v.C.length -= 1
    }
    , function(v) {
        var m = H[v.E];
        var P = H[v.E + 1];
        var a = H[v.E + 2];
        v.E += 3;
        var L = v.x.h(m);
        var f = v.C[v.C.length - 4];
        var z = v.C[v.C.length - 3];
        var D = v.C[v.C.length - 2];
        var A = v.C[v.C.length - 1];
        var r = f;
        var n = r(z, D, A, L);
        v.x.b(P, n);
        v.C[v.C.length - 4] = v.x.h(a);
        v.C.length -= 3
    }
    , function(v) {
        var z = H[v.E];
        var D = H[v.E + 1] << 16 | (H[v.E + 2] << 8 | H[v.E + 3]);
        var A = H[v.E + 4];
        v.E += 5;
        var L = null;
        var n = v.x.h(z);
        var t = L == n;
        if (!t) {
            v.E = D;
            v.M = A
        }
    }
    , function(r) {
        var W = b[H[r.E] << 8 | H[r.E + 1]];
        var J = H[r.E + 2] << 8 | H[r.E + 3];
        r.E += 4;
        b1: {
            var n = W;
            var f = n + "," + J;
            var t = T[f];
            if (typeof t !== "undefined") {
                var k = t;
                break b1
            }
            var z = b[J];
            var v = rT(z);
            var L = rT(n);
            var A = v[0] + L[0] & 255;
            var a = "";
            for (var D = 1; D < v.length; ++D) {
                a += x(L[D] ^ v[D] ^ A)
            }
            var k = T[f] = a
        }
        var m = null;
        var w = r.C[r.C.length - 1];
        rz(w, k, {
            writable: true,
            configurable: true,
            enumerable: true,
            value: m
        });
        r.C[r.C.length - 1] = w
    }
    , function(v) {
        var A = H[v.E];
        var L = b[H[v.E + 1] << 8 | H[v.E + 2]];
        v.E += 3;
        var n = v.C[v.C.length - 1];
        v.x.b(A, n);
        var r = v.C.length - 1;
        v.C[r] = n;
        v.C[r + 1] = L
    }
    , function(v) {
        var f = H[v.E];
        var z = H[v.E + 1];
        v.E += 2;
        var L = v.x.h(f);
        var n = v.x.h(z);
        var D = v.C[v.C.length - 2];
        var A = v.C[v.C.length - 1];
        var r = D;
        v.C[v.C.length - 2] = r(A, L, n);
        v.C.length -= 1
    }
    , function(v) {
        var z = rn[H[v.E]];
        var D = H[v.E + 1];
        v.E += 2;
        var L = v.x.h(D);
        var n = z ^ L;
        var A = v.C[v.C.length - 1];
        var r = A;
        v.C[v.C.length - 1] = r(n)
    }
    , function(v) {
        var A = H[v.E];
        var L = b[H[v.E + 1] << 8 | H[v.E + 2]];
        v.E += 3;
        var n = v.x.h(A);
        var r = v.C.length - 1;
        v.C[r] = n;
        v.C[r + 1] = L
    }
    , function(v) {
        var L = H[v.E];
        v.E += 1;
        var n = v.C[v.C.length - 1];
        v.x.b(L, n);
        var r = v.C.length - 1;
        v.C[r] = n;
        v.C[r + 1] = null
    }
    , function(v) {
        var t = H[v.E];
        v.E += 1;
        v.C[v.C.length - (2 + t)] = rY(v.C[v.C.length - (1 + t)], v.C[v.C.length - (2 + t)], v.C.s(v.C.length - t));
        v.C.length -= 1 + t
    }
    , function(v) {
        var a = H[v.E];
        var f = H[v.E + 1];
        v.E += 2;
        var z = v.C[v.C.length - 2];
        var D = v.C[v.C.length - 1];
        var L = z ^ D;
        var A = v.C[v.C.length - 3];
        var r = A;
        var n = r(L);
        v.x.b(a, n);
        v.C[v.C.length - 3] = v.x.h(f);
        v.C.length -= 2
    }
    , function(v) {
        var r = b[H[v.E] << 8 | H[v.E + 1]];
        v.E += 2;
        if (!(r in h)) {
            throw new rw(r + " is not defined.")
        }
        v.C[v.C.length] = h[r]
    }
    ];
    function Q(r, L, v, n) {
        "use strict";
        var t = V[r];
        return s(L, v, n, t.r, t.v, t.m, t.g, t.J)
    }
    ;var rI = rg;
    var H = rT(" ");
    function s(a, P, r, n, m, t, k, D) {
        var f = new rp;
        var A, L, z;
        var v = k !== void 0;
        for (A = 0,
        L = m.length; A < L; ++A) {
            f.f[m[A]] = r.f[m[A]]
        }
        z = F(a, P, f, n, t, v, k);
        if (D !== void 0) {
            f.o(D);
            f.b(D, z)
        }
        return z
    }
    ;function F(m, k, W, f, z, D, w) {
        var P = z.length;
        var a = function() {
            "use strict";
            var L = W.P();
            var v = new rS(m,k,L,this);
            var n, t, r = O(arguments.length, P);
            if (D) {
                L.o(w);
                L.b(w, arguments)
            }
            for (n = 0,
            t = f.length; n < t; ++n) {
                L.o(f[n])
            }
            for (n = 0; n < r; ++n) {
                L.b(z[n], arguments[n])
            }
            for (n = r; n < P; ++n) {
                L.b(z[n], void 0)
            }
            return rL(v)
        };
        return a
    }
    function rL(r) {
        var t, v;
        for (; ; ) {
            if (rI !== rg) {
                v = rI;
                rI = rg;
                return v
            }
            t = r.U();
            if (r.w.length === 0) {
                rC[t](r)
            } else {
                rA(rC[t], r)
            }
        }
    }
    s(0, 0, null, [1, 2, 3, 4, 5, 0], [], [], void 0, void 0)()
}(typeof window !== "undefined" && window != null && window.window === window ? window : typeof global !== "undefined" && global != null && global.global === global ? global : this))

;;;

