let sortRandom = function () {
    return .5 - _random();
}

let con3 = console.log
let con4 = console.log;
// if (!process.argv[2]){


con3 = function () {
}
con4 = function () {
};

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

    function u(n, t, tag) {
        return -1 == o(n) && (e(n), r(`function ${tag ? tag : ""}${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 () {
            return "function" == typeof this && i[o(this)] || n.call(this)
        }
    }), u(Function.prototype.toString, "toString"), v_saf = u
}();
_process = process;
var v_new = function (v) {
    var temp = v_new_toggle;
    v_new_toggle = true;
    var r = new v;
    v_new_toggle = temp;
    return r
}
const Canvas = require("canvas");
// import Canvas from "canvas";
const fss = require("fs");

var ENVS = JSON.parse(fss.readFileSync('env.json').toString())
// dc6a639f12738c9276d68c74
let keys = Object.keys(ENVS);
// let ENV = ENVS[process.argv[2] || keys[parseInt(Math.random() * keys.length)]]
// d849c3286d37b521717482d0  af2e0109addda0ff7427c775   8ffdff7b995c8ad51d902ff0
// let sid = process.argv[2] || 'd849c3286d37b521717482d0';
let sid = keys[parseInt(Math.random() * keys.length)]
// sid = 'e7c1b090e7bff770d19ced41'
let ENV = ENVS[sid]
// let ENV = ENVS[ '1']
let randomEvent = false;
let timeout = true;
_hasOwnProperty = Object.hasOwnProperty
Object.hasOwnProperty = v_saf(function (a) {
    let res = _hasOwnProperty.call(this, a);
    console.log(' hasOwnProperty', a, res)

    return res;
})


ENV ={"windowparams":{"innerheight":853,"innerwidth":906,"outerheight":970,"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)":true,"(max-aspect-ratio: 3/2)":true,"(max-aspect-ratio: 5/4)":true,"(max-aspect-ratio: 9/8)":true,"(max-aspect-ratio: 17/16)":true,"(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)":true,"(max-height: 750px)":false,"(max-height: 825px)":false,"(max-height: 863px)":true,"(max-height: 882px)":true,"(max-height: 891px)":true,"(max-height: 887px)":true,"(max-height: 889px)":true,"(max-height: 890px)":true,"(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)":true,"(max-width: 900px)":false,"(max-width: 1050px)":true,"(max-width: 975px)":true,"(max-width: 938px)":true,"(max-width: 919px)":true,"(max-width: 929px)":true,"(max-width: 934px)":true,"(max-width: 932px)":true,"(max-width: 931px)":true,"(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)":true,"(max-height: 859px)":true,"(max-height: 861px)":true,"(max-height: 862px)":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},"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]}


if (ENV.useragentdata && ENV.useragentdata.highvalue) {
    if (ENV.useragentdata.highvalue.fullVersionList) {
        ENV.useragentdata.highvalue['fullversionlist'] = ENV.useragentdata.highvalue.fullVersionList
    }
    if (ENV.useragentdata.highvalue.platformVersion) {
        ENV.useragentdata.highvalue['platformversion'] = ENV.useragentdata.highvalue.platformVersion
    }
    if (ENV.useragentdata.highvalue.uaFullVersion) {
        ENV.useragentdata.highvalue['uafullversion'] = ENV.useragentdata.highvalue.uaFullVersion
    }
}


let imgRes = {}
let imgs = Object.keys(ENV.imgsres['94px sans-serif'])
for (let i = 0; i < imgs.length; i++) {
    let t = ENV.imgsres['94px sans-serif'][imgs[i]].split(',');
    let r = [];
    for (let j = 0; j < t.length; j++) {
        r.push(parseInt(t[j]))
    }
    imgRes[imgs[i]] = r;
}
ENV.imgsres['94px sans-serif'] = imgRes
let plgs = ENV.plugins;
Object.keys(plgs).forEach(e => {
    if (plgs[e]['field1']) {
        plgs[e]['0'] = plgs[e]['field1']
    }
    if (plgs[e]['field2']) {
        plgs[e]['1'] = plgs[e]['field2']
    }
})

ENV.plugins = plgs;


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;
let proxy = 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)
        }
    })
}

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, tag) {
        return -1 == o(n) && (e(n), r(`function ${tag ? tag : ""}${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 () {
            return "function" == typeof this && i[o(this)] || n.call(this)
        }
    }), u(Function.prototype.toString, "toString"), v_saf = u
}();
const jsdom = require("./jsdom");
const path = require("ghost-cursor").path;
const {
    Worker, isMainThread, parentPort, workerData
} = require('worker_threads');
// var crypto = require("crypto");
module = undefined;
process = undefined;
__dirname = undefined;
__filename = undefined;
require = undefined;


var _random = Math.random
Date.prototype.toString = v_saf(function () {
    try {
        return this.getTime()
    } catch (e) {
        return Date.now()
    }
}, 'toString')

if (!_process.argv[3]) {
    Date.now = function now() {
        return 1693903208580
    };
    Date.parse = function () {
        return 1693903208580
    };
    Date.prototype.valueOf = function () {
        return 1693903208580
    };
    Date.prototype.getTime = function () {
        return 1693903208580
    };
    Date.prototype.toString = function () {
        return 1693903208580
    };
    Performance.prototype.now = function now() {
        return Number('1693903208580'.slice(8))
    }

    Math.random = function random() {
        return 0.08636862211354912
    };
}


const {
    JSDOM
} = jsdom; // 引出 JSDOM 类， 等同于 JSDOM = jsdom.JSDOM

const dom = new JSDOM(`<html lang="en" class="asappChatSDKHostHTML asappChatSDKHostHTML_chatRight jbSurvey reportWebsiteIssue"><head><link href="https://sdk.asapp.com/chat-sdk.css" media="screen" rel="stylesheet" type="text/css"><style type="text/css">.truste_cursor_pointer {cursor: pointer;}.truste_border_none {border: none;}</style> <base href="/booking/"> <meta charset="utf-8"> <title>JetBlue | Select Flights</title> <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,viewport-fit=cover"> <meta name="theme-color" content="#00205b" media="(prefers-color-scheme: light)"> <script async="" src="https://snap.licdn.com/li.lms-analytics/insight.old.min.js"></script><script type="text/javascript" async="" src="https://analytics.tiktok.com/i18n/pixel/events.js?sdkid=C3SSKICVE57P75FJ1NB0&amp;lib=ttq"></script><script type="text/javascript" src="https://www.googletagmanager.com/gtag/js?id=DC-2784362"></script><script type="text/javascript" src="https://www.googletagmanager.com/gtag/js?id=AW-1067674170"></script><script type="text/javascript" src="https://tag.yieldoptimizer.com/ps/ps?t=s&amp;p=1358&amp;pg=ftsrsl&amp;soac=&amp;sdac=&amp;sddate=&amp;srdate=&amp;snoa=&amp;snok="></script><script type="text/javascript" async="" src="https://analytics.tiktok.com/i18n/pixel/events.js?sdkid=C3SSKICVE57P75FJ1NB0&amp;lib=ttq"></script><script type="text/javascript" src="https://connect.facebook.net/en_US/fbevents.js"></script><script type="text/javascript" src="https://s.btstatic.com/lib/e9bcb44ed129c80dfabd74332358a222d7bda56c.js?v=2"></script><script src="https://s.yimg.com/wi/ytc.js" async=""></script><script type="text/javascript" async="" src="https://snap.licdn.com/li.lms-analytics/insight.min.js"></script><script type="text/javascript" src="https://js.adsrvr.org/up_loader.1.1.0.js"></script><script async="true" src="https://tr.snapchat.com/config/com/056dd3be-e70e-43a3-afeb-e4f349162700.js" crossorigin="anonymous"></script><script async="" src="https://snap.licdn.com/li.lms-analytics/insight.old.min.js"></script><script type="text/javascript" async="" src="https://cdn.appdynamics.com/adrum-ext.7f7b11e2ec93e71bae6b513f9fdfe436.js"></script><script type="text/javascript" src="//s.thebrighttag.com/tag?site=UXE8DVB&amp;H=1k6esl3&amp;referrer=https%3A%2F%2Fwww.jetblue.com%2Fbooking%2Fflights%3Ffrom%255C%3DJFK%255C%26to%255C%3DLAX%255C%26depart%255C%3D2023-09-16%255C%26isMultiCity%255C%3Dfalse%255C%26noOfRoute%255C%3D1%255C%26lang%255C%3Den%255C%26adults%255C%3D1%255C%26children%255C%3D0%255C%26infants%255C%3D0%255C%26sharedMarket%255C%3Dfalse%255C%26roundTripFaresFlag%255C%3Dfalse%255C%26usePoints%255C%3Dfalse&amp;mode=v2&amp;cf=6719408%2C7441747%2C7442869%2C7443866%2C7458768%2C7479162%2C7498928%2C7498997%2C7500068%2C7506900%2C7508448%2C7522203%2C7522277%2C7525577%2C7525578%2C7525659%2C7525660%2C7525737%2C7538859%2C7542355%2C7542887%2C7564710"></script><script type="text/javascript" src="//s.thebrighttag.com/tag?site=UXE8DVB&amp;H=1k6esl3&amp;referrer=https%3A%2F%2Fwww.jetblue.com%2Fbooking%2Fflights%3Ffrom%255C%3DJFK%255C%26to%255C%3DLAX%255C%26depart%255C%3D2023-09-16%255C%26isMultiCity%255C%3Dfalse%255C%26noOfRoute%255C%3D1%255C%26lang%255C%3Den%255C%26adults%255C%3D1%255C%26children%255C%3D0%255C%26infants%255C%3D0%255C%26sharedMarket%255C%3Dfalse%255C%26roundTripFaresFlag%255C%3Dfalse%255C%26usePoints%255C%3Dfalse&amp;mode=v2&amp;cf=7444987"></script><script type="text/javascript" async="" src="https://analytics.tiktok.com/i18n/pixel/events.js?sdkid=C3SSKICVE57P75FJ1NB0&amp;lib=ttq"></script><script type="text/javascript" src="https://www.googletagmanager.com/gtag/js?id=DC-2784362"></script><script type="text/javascript" src="https://www.googletagmanager.com/gtag/js?id=AW-1067674170"></script><script async="true" type="text/javascript" src="https://www.googletagmanager.com/gtag/destination?id=DC-10274533&amp;l=dataLayer&amp;cx=c"></script><script async="" src="https://sc-static.net/scevent.min.js"></script><script type="text/javascript" async="" src="https://cdn.krxd.net/controltag?confid=KPiiBM29"></script><script src="//bat.bing.com/bat.js" async=""></script><script src="//bat.bing.com/bat.js" async=""></script><script type="text/javascript" src="https://tag.yieldoptimizer.com/ps/ps?t=s&amp;p=1358&amp;pg=ftsrsl&amp;soac=&amp;sdac=&amp;sddate=&amp;srdate=&amp;snoa=&amp;snok="></script><script type="text/javascript" async="" src="https://analytics.tiktok.com/i18n/pixel/events.js?sdkid=C3SSKICVE57P75FJ1NB0&amp;lib=ttq"></script><script type="text/javascript" src="https://connect.facebook.net/en_US/fbevents.js"></script><script async="" crossorigin="anonymous" src="https://edge.fullstory.com/s/fs.js"></script><script type="text/javascript" src="https://s.btstatic.com/lib/e9bcb44ed129c80dfabd74332358a222d7bda56c.js?v=2"></script><script src="https://s.yimg.com/wi/ytc.js" async=""></script><script type="text/javascript" async="" src="https://snap.licdn.com/li.lms-analytics/insight.min.js"></script><script type="text/javascript" src="https://js.adsrvr.org/up_loader.1.1.0.js"></script><script type="text/javascript" async="" src="//uwhfgjlv.micpn.com/p/js/1.js"></script><script type="text/javascript" src="//s.thebrighttag.com/tag?site=UXE8DVB&amp;H=1k6esl3&amp;referrer=https%3A%2F%2Fwww.jetblue.com%2Fbooking%2Fflights%3Ffrom%255C%3DJFK%255C%26to%255C%3DLAX%255C%26depart%255C%3D2023-09-16%255C%26isMultiCity%255C%3Dfalse%255C%26noOfRoute%255C%3D1%255C%26lang%255C%3Den%255C%26adults%255C%3D1%255C%26children%255C%3D0%255C%26infants%255C%3D0%255C%26sharedMarket%255C%3Dfalse%255C%26roundTripFaresFlag%255C%3Dfalse%255C%26usePoints%255C%3Dfalse&amp;mode=v2&amp;cf=7473185%2C7473308%2C7498981%2C7506928"></script><script type="text/javascript" src="//s.thebrighttag.com/tag?site=UXE8DVB&amp;H=1k6esl3&amp;referrer=https%3A%2F%2Fwww.jetblue.com%2Fbooking%2Fflights%3Ffrom%255C%3DJFK%255C%26to%255C%3DLAX%255C%26depart%255C%3D2023-09-16%255C%26isMultiCity%255C%3Dfalse%255C%26noOfRoute%255C%3D1%255C%26lang%255C%3Den%255C%26adults%255C%3D1%255C%26children%255C%3D0%255C%26infants%255C%3D0%255C%26sharedMarket%255C%3Dfalse%255C%26roundTripFaresFlag%255C%3Dfalse%255C%26usePoints%255C%3Dfalse&amp;mode=v2&amp;cf=6719408%2C7409306%2C7441747%2C7442869%2C7443866%2C7444554%2C7458768%2C7479162%2C7498928%2C7498997%2C7500068%2C7506900%2C7508448%2C7522203%2C7522277%2C7523502%2C7523503%2C7525269%2C7525577%2C7525578%2C7525659%2C7525660%2C7525737%2C7538859%2C7542355%2C7542887%2C7564710"></script><script type="text/javascript" src="//s.btstatic.com/lib/bf6a62a996276a0287f6a785afcd2e1798645f34.js?v=2"></script><script async="true" type="text/javascript" src="https://www.googletagmanager.com/gtag/js?id=AW-1067674170&amp;l=dataLayer&amp;cx=c"></script><script async="true" type="text/javascript" src="https://www.googletagmanager.com/gtag/js?id=DC-2784362&amp;l=dataLayer&amp;cx=c"></script><script type="text/javascript" src="https://code.jquery.com/jquery-1.6.js"></script><script type="text/javascript" src="//s.btstatic.com/lib/2dc2cd4fa4c00a075854a285cb2e825df8aae69c.js?v=2"></script><script type="text/javascript" src="//s.btstatic.com/lib/62b8d315ab2a689900a3f2f07e5a7db60a08e7b8.js?v=2"></script><script type="text/javascript" src="//s.btstatic.com/lib/53619312e0b8b5e1e79b408d5c7ee2735a6818ed.js?v=2"></script><script type="text/javascript" src="//s.btstatic.com/lib/f5b2bb90cc0f344a3fab25952d3a06ea22fe3bb1.js?v=2"></script><script type="text/javascript" src="//s.btstatic.com/lib/8f86577e28b85e001f413a777c6ad88b95f4cc7b.js?v=2"></script><script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.2/rollups/md5.js"></script><script type="text/javascript" src="//s.btstatic.com/lib/e9bcb44ed129c80dfabd74332358a222d7bda56c.js?v=2"></script><script type="text/javascript" src="//s.thebrighttag.com/tag?site=UXE8DVB&amp;referrer=https%3A%2F%2Fwww.jetblue.com%2Fbooking%2Fflights%3Ffrom%255C%3DJFK%255C%26to%255C%3DLAX%255C%26depart%255C%3D2023-09-16%255C%26isMultiCity%255C%3Dfalse%255C%26noOfRoute%255C%3D1%255C%26lang%255C%3Den%255C%26adults%255C%3D1%255C%26children%255C%3D0%255C%26infants%255C%3D0%255C%26sharedMarket%255C%3Dfalse%255C%26roundTripFaresFlag%255C%3Dfalse%255C%26usePoints%255C%3Dfalse&amp;H=1k6esl3"></script><script type="text/javascript" src="/js/src/jb-74873.js"></script> <link href="assets/favicon/iphone5_splash.png" media="(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2)" rel="apple-touch-startup-image"> <link href="assets/favicon/iphone6_splash.png" media="(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2)" rel="apple-touch-startup-image"> <link href="assets/favicon/iphoneplus_splash.png" media="(device-width: 414px) and (device-height: 736px) and (-webkit-device-pixel-ratio: 3)" rel="apple-touch-startup-image"> <link href="assets/favicon/iphonex_splash.png" media="(device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3)" rel="apple-touch-startup-image"> <link href="assets/favicon/iphonexr_splash.png" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 2)" rel="apple-touch-startup-image"> <link href="assets/favicon/iphonexsmax_splash.png" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 3)" rel="apple-touch-startup-image"> <link href="assets/favicon/ipad_splash.png" media="(device-width: 768px) and (device-height: 1024px) and (-webkit-device-pixel-ratio: 2)" rel="apple-touch-startup-image"> <link href="assets/favicon/ipadpro1_splash.png" media="(device-width: 834px) and (device-height: 1112px) and (-webkit-device-pixel-ratio: 2)" rel="apple-touch-startup-image"> <link href="assets/favicon/ipadpro3_splash.png" media="(device-width: 834px) and (device-height: 1194px) and (-webkit-device-pixel-ratio: 2)" rel="apple-touch-startup-image"> <link href="assets/favicon/ipadpro2_splash.png" media="(device-width: 1024px) and (device-height: 1366px) and (-webkit-device-pixel-ratio: 2)" rel="apple-touch-startup-image"> <link rel="apple-touch-icon" sizes="180x180" href="assets/favicon/apple-touch-icon.png"> <link rel="icon" type="image/png" sizes="32x32" href="assets/favicon/favicon-32x32.png"> <link rel="icon" type="image/png" sizes="16x16" href="assets/favicon/favicon-16x16.png"> <link rel="mask-icon" href="assets/favicon/safari-pinned-tab.svg" color="#00205b"> <script type="text/javascript" src="https://www.jetblue.com/config.js" id="booker-config" defer=""></script> <script type="text/javascript" src="https://www.jetblue.com/initial-sitemap.js" id="booker-sitemap" defer=""></script> <script type="text/javascript" src="https://www.jetblue.com/sitemap-dictionary.js" id="booker-sitemap-dic" defer=""></script> <script type="module" src="https://www.jetblue.com/booker/booker-element-es2015.js" id="booker-module" defer=""></script> <link rel="stylesheet" href="styles.f6bd0f72f3ee72e8.css"><script type="text/javascript" id="rwb-config">window.__ENV_CONFIG_RWB={analytics:{orgId:"A553776A5245AE600A490D44@AdobeOrg",rsIdNative:"jetblueiphonedev",rsId:"jetblue2020desktop",trackingServer:"omnistats.jetblue.com",trackingServerSecure:"somnistats.jetblue.com",fullStoryOrgId:"4HV1Q",isFullStoryDisabled:"false"},api:{infoServiceUrl:"https://jbrest.jetblue.com/info-rwb",iamServiceUrl:"https://jbrest.jetblue.com/iam-rwb",odServiceUrl:"https://jbrest.jetblue.com/od/od-service",reservationServiceUrl:"https://jbrest.jetblue.com/reservation-rwb",feSignInUrl:"https://www.jetblue.com/signin?returnUrl=",feHostUrl:"https://www.jetblue.com",pciHostUrl:"https://pay.jetblueairways.com/rwbpci/",paymentServiceUrl:"https://jbrest.jetblue.com/payment-rwb",paymentInfoServiceUrl:"https://jbrest.jetblue.com/payment-info-rwb",lfsServiceUrl:"https://jbrest.jetblue.com/lfs-rwb",confirmPriceServiceUrl:"https://jbrest.jetblue.com/price-rwb",paymentGetOrdersUrl:"https://jbrest.jetblue.com/payment-rwb/fulfill/orders",cmsFlightResult:"https://www.jetblue.com/resp-magnoliapublic/.rest/jetblue/v4/en/page/home/flight-result?depth=3",merchandizeUrl:"https://jbrest.jetblue.com/bk-merchandize-rwb",frequentFlyerUrl:"https://jbrest.jetblue.com/info-rwb/programs",trueBlueB2cUrl:"https://trueblue.jetblue.com/b2c",shoppingCartUrl:"https://jbrest.jetblue.com/cart-rwb",cmsTravelerDetails:"https://www.jetblue.com/resp-magnoliapublic/.rest/jetblue/v4/en/page/home/checkout?depth=4",cubaTravelReasonUrl:"https://jbrest.jetblue.com/info-rwb/travelreasons",checkInOnlineHostUrl:"https://checkin.jetblue.com/WCI/wci?",masterPassUrl:"https://sandbox.masterpass.com/switchui/index.html",cmsPaymentConfirmation:"https://www.jetblue.com/resp-magnoliapublic/.rest/jetblue/v4/en/page/home/payment-confirmation?depth=2",flightAmenityUrl:"https://jbrest.jetblue.com/lfs-rwb/aircraftamenity",flightOnTimeFlightPerformanceUrl:"https://jbrest.jetblue.com/flightstats-rwb/flight-stats/ontimeflightperformance?",seatMapUrl:"https://jbrest.jetblue.com/bk-seatmap-rwb",currencyListUrl:"https://www.apilayer.net/api/list?access_key=bc30b93e371e28576f91aabd2fa7ee04",currencyConverterUrl:"https://www.apilayer.net/api/convert?access_key=bc30b93e371e28576f91aabd2fa7ee04&format=1&from=",currencyExchangeUrl:"https://jbrest.jetblue.com/info-rwb/currencyConverter",multicityLfsServiceUrl:"https://jbrest.jetblue.com/lfs-rwb",cmsPriceSummary:"https://www.jetblue.com/resp-magnoliapublic/.rest/jetblue/v4/en/page/home/price-summary?depth=2",manageYourBookingHost:"https://managetrips.jetblue.com",manageYourBookingBaseUrl:"https://managetrips.jetblue.com/dx/B6DX/#/myb?",trueBlueB2bUrl:"https://trueblue.jetblue.com/iam-rwb",trueblueDevEnrollUrl:"https://trueblue.jetblue.com/enroll/join-us",trueblueHost:"https://trueblue.jetblue.com",cmsTripSummary:"https://www.jetblue.com/resp-magnoliapublic/.rest/jetblue/v4/en/page/home/trip-summary?depth=2",cmsErrorMessages:"https://www.jetblue.com/resp-magnoliapublic/.rest/jetblue/v4/errors-backend/customDelivery/backendError",cmsShoppingCart:"https://www.jetblue.com/resp-magnoliapublic/.rest/jetblue/v4/en/page/home/shopping-cart?depth=2",cmsHeaderFooter:"https://www.jetblue.com/resp-magnoliapublic/.rest/jetblue/v4/en/page/home?depth=5",cmsAircraftCodes:"https://www.jetblue.com/resp-magnoliapublic/.rest/jetblue/v4/aircraftCodes/customDelivery/aircraftCode",backgroundDestinationImageUrl:"https://www.jetblue.com/magnoliapublic/dam/ui-assets/imagery/destinations/",cmsSeats:"https://www.jetblue.com/resp-magnoliapublic/.rest/jetblue/v4/en/page/home/seat-selection?depth=2",encryptCreditCardUrl:"https://pay.jetblueairways.com/encryption/prd/booker/card/encrypt",marcusPayURL:"https://vacationspay.jetblue.com/payment-rwb/fulfill/redirectMarcus",barclaysURL:"https://cobrand.jetblue.com/payment-rwb/fulfill/redirectBarclays?context=BARCLAYS",checkInOnlineMobileUrl:"https://mobilecheckin.jetblue.com/checkin/check-in",ssrPreferencesUrl:"https://az-api.jetblue.com/preferences/members/preferences",spanishHostUrl:"https://hola.jetblue.com/booking/",englishHostUrl:"https://www.jetblue.com/booking/",bookerScriptBaseUrl:"https://www.jetblue.com",securityOperationsUrl:"https://jbrest.jetblue.com/security-ops-ngb",cmsJbCampaign:"https://www.jetblue.com/resp-magnoliapublic/.rest/jetblue/v4/jb-campaign-manager/customDelivery/ngb-campaigns",cmsBookingClassMapping:"https://www.jetblue.com/resp-magnoliapublic/.rest/jetblue/v4/aircraftCabinClass/customDelivery/aircraftCabinClass",cmsPillarConfig:"https://www.jetblue.com/resp-magnoliapublic/.rest/jetblue/v4/en/page/home/pillarConfiguration",cmsTravelerDetailsUrl:"https://www.jetblue.com/resp-magnoliapublic/.rest/jetblue/v4/en/page/home/checkout/travel-details?depth=5",cmsExtrasDetailsUrl:"https://www.jetblue.com/resp-magnoliapublic/.rest/jetblue/v4/en/page/home/checkout/extras?depth=2",cmsReviewPayUrl:"https://www.jetblue.com/resp-magnoliapublic/.rest/jetblue/v4/en/page/home/checkout/review-pay?depth=2",validateFrequentFlyerNumberURL:"https://jbrest.jetblue.com/info-rwb/validateFrequentFlyer",merchandizeGetExtrasUrl:"https://jbrest.jetblue.com/bk-merchandize-rwb/getExtras",merchandizeAddExtrasUrl:"https://jbrest.jetblue.com/bk-merchandize-rwb/addExtras",iamServiceLoginUrl:"https://jbrest.jetblue.com/iam-rwb/login",merchandizeGetBcOffersUrl:"https://jbrest.jetblue.com/bk-merchandize-rwb/getBcOffers",paymentServiceGetBarclaysApprovedDetailsUrl:"https://jbrest.jetblue.com/payment-rwb/fulfill/getBarclaysDetails",merchandizePreScreenUrl:"https://jbrest.jetblue.com/bk-merchandize-rwb/prescreen",bffServiceBestFareUrl:"https://jbrest.jetblue.com/bff/bff-service/bestFares",bffApiKey:"72258669250547cca2c2424dbb5dbce2",cabinClassMappingInfoUrl:"https://jbrest.jetblue.com/info-rwb/cabinClassMapping",updateCurrencyPreferenceCartUrl:"https://jbrest.jetblue.com/cart-rwb/updateCurrencyPreference",fareRulesInfoServiceUrl:"https://jbrest.jetblue.com/info-rwb/fareRules",outboundLfsServiceUrl:"https://jbrest.jetblue.com/lfs-rwb/outboundLFS",inboundLfsServiceUrl:"https://jbrest.jetblue.com/lfs-rwb/inboundLFS",confirmPriceUrl:"https://jbrest.jetblue.com/price-rwb/confirmPrice",deeplinkConfirmPriceUrl:"https://jbrest.jetblue.com/price-rwb/deeplinkConfirmPrice",viewSeatsFlightSeatmapUrl:"https://jbrest.jetblue.com/bk-seatmap-rwb/viewSeats",flightDetailsLfsUrl:"https://jbrest.jetblue.com/lfs-rwb/flightDetails",calculateMarcusMonthlyPayUrl:"https://jbrest.jetblue.com/info-rwb/calculateMarcusMonthlyPay",multicityLfsUrl:"https://jbrest.jetblue.com/lfs-rwb/multiCityLFS",otaLfsServiceUrl:"https://jbrest.jetblue.com/lfs-rwb/otaLFS",confirmPriceServiceOffersUrl:"https://jbrest.jetblue.com/price-rwb/price/offers",paymentInfoServiceCalculatePaymentUrl:"https://jbrest.jetblue.com/payment-info-rwb/calculate-payment",reservationServiceRsvUpdateUrl:"https://jbrest.jetblue.com/reservation-rwb/rsvUpdate",reservationServiceRsvCreateUrl:"https://jbrest.jetblue.com/reservation-rwb/rsvCreate",seatMapSelectSeatUrl:"https://jbrest.jetblue.com/bk-seatmap-rwb/selectSeat",infoServiceExtendSessionUrl:"https://jbrest.jetblue.com/info-rwb/extendsession",infoServiceForwardItinerarUrl:"https://jbrest.jetblue.com/info-rwb/forwardItinerary",shoppingCartAddToCartUrl:"https://jbrest.jetblue.com/cart-rwb/addCart",shoppingCartUpdateCartUrl:"https://jbrest.jetblue.com/cart-rwb/updateCart",shoppingCartGetCartsUrl:"https://jbrest.jetblue.com/cart-rwb/getCarts",shoppingCartMoveCartUrl:"https://jbrest.jetblue.com/cart-rwb/moveCart",shoppingCartWishlistRenameUrl:"https://jbrest.jetblue.com/cart-rwb/renameCart",shoppingCartDeleteCartUrl:"https://jbrest.jetblue.com/cart-rwb/deleteCart",infoServiceSpecialServiceUrl:"https://jbrest.jetblue.com/info-rwb/ssr",paymentInfoServiceQueryPaymentUrl:"https://jbrest.jetblue.com/payment-info-rwb/query-payment",merchandizeAddInsuranceUrl:"https://jbrest.jetblue.com/bk-merchandize-rwb/addInsurance",merchandizeDeleteInsuranceUrl:"https://jbrest.jetblue.com/bk-merchandize-rwb/deleteInsurance",merchandizeDeclineInsuranceUrl:"https://jbrest.jetblue.com/bk-merchandize-rwb/declineInsurance",iamServiceBookProfileUrl:"https://jbrest.jetblue.com/iam-rwb/v1/book/profile",iamServiceMosaicTrackerUrl:"https://jbrest.jetblue.com/iam-rwb/mosaicTracker",iamServiceUpdateTrueBlueProfileUrl:"https://jbrest.jetblue.com/iam-rwb/updateTrueBlueProfile",iamServiceValidateTBProfileUrl:"https://jbrest.jetblue.com/iam-rwb/validateTBProfile",infoServiceTrueBlueAccrualUrl:"https://jbrest.jetblue.com/info-rwb/trueBlueAccrual",iamServiceEnrollUrl:"https://jbrest.jetblue.com/iam-rwb/enroll",paymentServiceFulfillOrdersUrl:"https://jbrest.jetblue.com/payment-rwb/fulfill/orders",paymentServiceFulFillReservationswUrl:"https://jbrest.jetblue.com/payment-rwb/fulfill/reservations",securityOperationsGenerateTokenUrl:"https://jbrest.jetblue.com/security-ops-ngb/generateToken",feHostMarcusPayCallbackUrl:"https://www.jetblue.com/booking/paymentProcessing",odServiceOriginsUrl:"https://jbrest.jetblue.com/od/od-service/origins",odServiceDestinationsOriginUrl:"https://jbrest.jetblue.com/od/od-service/routes/destinations/origin",odServiceOriginsDestinationUrl:"https://jbrest.jetblue.com/od/od-service/routes/origins/destination",odServiceNearbyAirportsUrl:"https://jbrest.jetblue.com/od/od-service/nearby-airports",odServiceScheduleExtension:"https://jbrest.jetblue.com/od/od-service/schedule-extension",odServiceRoutesUrl:"https://jbrest.jetblue.com/od/od-service/routes",odServiceScheduleExtensionUrl:"https://jbrest.jetblue.com/od/od-service/schedule-extension",odServiceStateCountriesUrl:"https://jbrest.jetblue.com/od/od-service/countries",odServiceCountriesUrl:"https://jbrest.jetblue.com/od/od-service/regions/countries?all=true",odServiceRegionUrl:"https://jbrest.jetblue.com/od/od-service/regions",deeplinkLfsServiceUrl:"https://jbrest.jetblue.com/lfs-rwb/deeplinkLFS",seatMapDeselectSeatUrl:"https://jbrest.jetblue.com/bk-seatmap-rwb/deselectSeat",myPointsUrl:"https://trueblue.jetblue.com/my-points",cmsFareBrandDetailsUrl:"https://www.jetblue.com/resp-magnoliapublic/.rest/jetblue/v4/dcInterlineMigration/customDelivery/dcInterlineMigration",seatMapOperationsSeatUrl:"https://jbrest.jetblue.com/bk-seatmap-rwb/seatOperations",settlePaymentServiceUrl:"https://jbrest.jetblue.com/payment-info-rwb/settle-payment",paymentServiceFulFillRedirect3DS:"https://jbrest.jetblue.com/payment-rwb/fulfill/redirect3DS",getChallenegForm:"https://jbrest.jetblue.com/payment-rwb/fulfill/getThreeDSDetails",flightSeatMapPreviewUrl:"https://cb-api.jetblue.com/cb-seat-service/v1/seat-map/preview"},feature:{},buildId:"8.1.5-rc-2",environment:"prd",sentry:{url:"https://5fe08123daf046ae800e1a5ab73a0cc6@o83455.ingest.sentry.io/5465638"},appDynamics:{appdKey:"AD-AAB-AAZ-FYA",isAppDynamicsEnabled:"True",monitoring:{controllerHostName:"jetblue.saas.appdynamics.com",controllerPort:"443",controllerSslEnabled:"True",accountName:"jetblue",accountAccessKey:"c444c2db-7b81-4261-95bb-e994400ddaef",applicationName:"ngb-prd",tierName:"ngb-booking-airways",nodeName:"ngb-ui",reuseNode:"True",reuseNodePrefix:"ngb-booking-airways",debug:"False",maxProcessSnapshotsPerPeriod:"0"}},widgets:{asappConfig:{hostname:"jetblue.asapp.com",appId:"jetblue"}},apiHeaders:{apiVersion:"v3",bookingAppType:"NGB"},featureFlags:{isPCIEnabled:"true",isCVVMandatory:"true",isBlueBasicPriceDisplay:"true",isOktaFlow:"true",flightResultsTravelAlertTimout:"5000",seatMapCovidAlertMessage:"false",isMasterpassHidden:"true",isApplePayEnabled:"false",isFlightResultWarningEnabled:"false",isExpressCheckoutEnabled:"false",isValidateForShoppingCartEnabled:"false",isMarcusPayEnabled:"false",isFlightResultsTravelAlertEnabled:"false",isSentryEnabled:"true",isSaveForLaterEnabled:"false",isPointsBookingEnabled:"true",isDecisionModalForSpanishTranslationEnabled:"true",showCookieConsentBanner:"true",timeToDisableReturnFlightBeforeDepartForDomesticInMinutes:"60",timeToDisableReturnFlightBeforeDepartForInternationalInMinutes:"60",hideInternalSearchPage:"true",isUpdateCartModalDisabled:"true",hideBooker:"false",isSpanishTranslationEnabled:"true",tripSummaryUKCovidAlert:"false",tokenExIframeLoadTimeout:"15000",isBestValueEnabled:"false",interlineFaresHeadsupTimeout:"5000",isFlightResultsProfileAlertEnabled:"true",loadASAPPWidget:"true",generateTokenRetryCount:"3",isAddressLocatorEnabled:"true",fetchBookingClassMappingFromCMS:"true",isUpsellModalForBlueToBlueExtraFlag:"true",isUpsellModalForBlueToBluePlusFlag:"true",isGetCartsApiFailureModalToShow:"false",isFlexibleDateSelectorEnabled:"true",cartJwtTokenExpiryInMinutes:"15",showLowestFareTag:"true",isFlightOtpListEnabled:"true",timeToShowShortLayoverForDomesticInMinutes:"45",timeToShowShortLayoverForInternationalInMinutes:"90",enableJTPCrossSellNativeAppFlow:"true",ssoTokenCookieExpiryInMinutes:"25",authenticationRetryCount:"0",isTransatlanticPartnerFlightFilterEnabled:"true",useExperimentalTranslation:"true",isOARedemptionEnabled:"true"},promotionalMessagesCardFlags:{isBarclayCardEnabled:"true",isBPPRCardEnabled:"false",isSantanderCardEnabled:"false",isBoncoCardEnabled:"false"},crystalBlueGatekeeperUrl:"https://cb-api.jetblue.com/cb-gatekeeper/v1/gatekeeper/flags",abExperienceCookies:{extras_bag_recommended:"NGB-Extras-Bag-Recommended",payment_billingAddress:"NGB-Payment-Billing-Address",flightResult_blue:"NGB-Flight-Result-Blue",show_miniCart:"NGB-Mini-Cart",skip_tripSummary:"NGB-Skip-Trip-Summary",fare_upsell_upgrade_message:"NGB-Fare-Upsell-Upgrade-Message",upsell_modal_four_fares:"NGB-Upsell-Modal-Four-Fares",upsell_modal_incremental_pricing:"NGB-Upsell-Modal-Incremental-Pricing",deeplink_blueBasic_merchandise_modal:"NGB-Deeplink-BlueBasic-Merchandising-Modal",unified_shopping:"NGB-Unified-Shopping",flights_seats_urgency:"NGB-Flights-Seats-Urgency",blue_basic_to_blue_fare_upsell:"NGB-Blue-Basic-to-Blue-fare-upsell",blue_basic_to_blue_plus_fare_upsell:"NGB-Blue-Basic-to-Blue-Plus-fare-upsell",blue_to_blue_extra_fare_upsell:"NGB-Blue-to-Blue-Extra-fare-upsell",blue_to_blue_plus_fare_upsell:"NGB-Blue-to-Blue-Plus-fare-upsell",blue_extra_to_mint_fare_upsell:"NGB-Blue-Extra-to-Mint-fare-upsell",blue_plus_to_blue_extra_fare_upsell:"NGB-Blue-Plus-to-Blue-Extra-fare-upsell",paisly_confirmation_placement:"NGB-Paisly-Confirmation-Placement",insurance_payment_placement:"NGB-Insurance-On-Payment-Page"},applicationChannel:{web_desktop:"Desktop_Web",web_mobile_ios:"Mobile_Web_iOS",web_mobile_android:"Mobile_Web_Android",nativeapp_ios:"App_iPhone",nativeapp_android:"App_Android"},fareLfsConfig:{before:"3",after:"3"},cookieConsent:{src:"//consent.trustarc.com/notice?domain=jetblue.com&c=teconsent&js=nj&noticeType=bb&gtm=1"},riskFreeCancellationInDaysConfig:{riskFreeCancellationInDays:"8"},validityOfPassportInMonthConfig:{months:"6"},tokenexConfig:{url:"https://htp.tokenex.com/Iframe/Iframe-v3.min.js"},loqateConfig:{findUrl:"https://api.addressy.com/Capture/Interactive/Find/v1.10/json3.ws",retrieveUrl:"https://api.addressy.com/Capture/Interactive/Retrieve/v1.00/json3.ws",key:"KZ72-MR97-FD48-UZ15",limit:"10",isMiddleWare:"True",language:"en"},ddcConfig:{isDDCEnabled:"true",ddcSessionTimeout:"10"},jbAnalytics:{initialDelay:"10000"},calculatePaymentTimer:{timer:"900"},seatOrPriceConfig:{jbFlightSoldOut:"JB_FLIGHT_SOLD_OUT",jbBadPriceRequest:"JB_BAD_PRICE_REQUEST",jbFlightsSoldOut:"JB_FLIGHTS_SOLD_OUT"},pnrStatusConfig:{pnrNotFound:"PNR_NOT_FOUND"},barclaysData:{timer:"15"},jtpsdk:{url:"https://sdk.jetbluevacations.com/jtpsdk/api/v1?client=jbresponsivebooking"},carsApi:{timeout:"10"},popupTimers:{guestUserPopupShoppingCart:"5000"},applePayConfig:{applePaySupportedNetworks:{amexNetwork:"amex",discoverNetwork:"discover",masterCardNetwork:"masterCard",visaNetwork:"visa"},countryCode:"US",currencyCode:"USD",totalLabel:"TOTAL INCL. TAXES",totalType:"final",merchantCapabilities:{capability3DS:"supports3DS"},requiredBillingContactFields:{addressField:"postalAddress",nameField:"name"},merchantIdentifier:"jetblue.com.pay"},ssrPreference:{apiKey:"90d279b2d40c4414b5c4e1a036a93af4"},okta:{auth:{idp:"0oa6qe03vy6TWGN9o2p7",client_id:"0oa6q038snKiMbTRW2p7",issuer:"https://accounts.jetblue.com/oauth2/aus63a5bs52M8z9aE2p7",expire_early_time:"240"},oktaAuthCookie:"B6auth"}}</script><meta name="referrer" content="no-referrer-when-downgrade"><style type="text/css"></style><style>@media screen and (max-width: 47.999em){.router-pd[_ngcontent-resp-booking-airways-c185]{padding-top:3.1rem}}#app-container-div[_ngcontent-resp-booking-airways-c185]{min-height:calc(100vh - 8.75rem);height:auto}[hidden][_ngcontent-resp-booking-airways-c185]{display:none!important}</style><style>:host{max-width:10rem}@media screen and (min-width: 47.999em){.persistent-booker-desktop-tablet-rt-mc{border-radius:1.375rem;height:2rem;width:21.75rem;margin-top:.75rem;margin-bottom:.75rem}.persistent-booker-desktop-tablet-ow{border-radius:1.375rem;height:2rem;width:19.375rem;margin-top:.75rem;margin-bottom:.75rem}.persistent-booker-width{width:21.75rem}}@media only screen and (min-width: 48em) and (max-width: 63.999em){.width-jb-logo{width:10.438rem}}@media only screen and (min-width: 64em){.width-jb-logo{width:18.375rem}}@media only screen and (max-width: 47.999em){.persistent-booker-mobile-rt-mc{width:21.4375rem;border-radius:1.375rem;height:2rem;padding-top:.5rem;margin:0 auto}.persistent-booker-height{height:60%}.persistent-booker-mobile-ow{width:20.625rem;border-radius:1.375rem;height:2rem;padding-top:.5rem;margin:0 auto}.left-margin-divider{margin-left:.5rem}.right-margin-divider{margin-right:.5rem}.pb-toolbar-cls nav{height:5rem}.pb-height{height:65%}}.m-auto{margin:auto!important}.left-side-margin{margin-left:.3rem}.header-btn.active{background-color:#fff;border-width:2px;padding-left:calc(.5rem - 1px);padding-right:calc(.5rem - 1px);padding-top:calc(.5rem - 1px);padding-bottom:calc(.5rem - 1px)}.mosaic-avatar-pl{padding-left:1.25rem}.truncate{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.divider{width:1px;opacity:.15;transform:scaleX(-1)}.span-divider{opacity:1;height:.75rem;vertical-align:middle}.cart-down-arrow{padding-top:2px}.jb-interstitial-logo{fill:#02205b}.interstitial-toolbar jb-toolbar nav{background-color:#fff;height:4.43rem}.avatar-card-header jb-avatar-card{height:100%;max-width:100%}.avatar-card-header jb-avatar-card button{background-color:#00205b;border-color:#00205b;position:relative;padding-right:0;margin-right:8px}.avatar-card-header jb-avatar-card button:focus,.avatar-card-header jb-avatar-card button:hover{background-color:#00205b;border-color:#00205b}.avatar-card-header jb-avatar-card button jb-icon{left:13px;top:40%}.avatar-card-header jb-avatar-card button jb-icon svg{height:18px;width:21px}.avatar-card-header jb-avatar-card button .jb-avatar-medium{border-radius:50%;margin-right:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:#fff}.avatar-card-header jb-avatar-card.avatar-dropdown-open button{border-bottom:4px solid #ff8200;border-right:none;border-left:none;border-radius:0}.avatar-card-header jb-avatar-card.avatar-dropdown-open button:focus,.avatar-card-header jb-avatar-card.avatar-dropdown-open button:hover{border-bottom:4px solid #ff8200}.avatar-card-header .logged-in-user-profile{border-bottom:.25rem solid #ff8200;padding-bottom:.1rem;margin-bottom:-.1rem}.itinerary-margin-right-10{margin-right:.63rem}.itinerary-margin-right-1-mobile{margin-right:.6rem}.icon-margin-right{margin-right:1.3rem}.itinerary-margin-right{margin-right:.4rem}.itinerary-margin-left-10{margin-left:.63rem}.itinerary-margin-left-1-mobile{margin-left:.9rem}.signin-pipe-margin-top-bottom{margin-top:.63rem;margin-bottom:.63rem;height:32px}@media screen and (min-width: 48em) and (max-width: 63.999em){.avatar-card-header jb-avatar-card button jb-icon{left:14px}.avatar-card-header jb-avatar-card button .mosaic-avatar-pl{padding-right:0}.avatar-card-header jb-avatar-card button .pr2{padding-right:0}}@media screen and (max-width: 47.999em) and (min-width: 320px){.avatar-dropdown jb-flyout{right:0;top:56px;width:100%}.avatar-dropdown jb-flyout nav{width:100%}.avatar-card-header jb-avatar-card button{position:static;height:100%;display:flex}.avatar-card-header jb-avatar-card button jb-icon{top:20px;right:auto;left:auto}.avatar-card-header jb-avatar-card button .mosaic-avatar-pl{padding-right:0}.avatar-card-header jb-avatar-card button .pr2{padding-right:0}}.skip-to-content{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.skip-to-content:focus,.skip-to-content:active{left:auto;top:auto;height:auto;width:auto;overflow:auto;z-index:2147483647;text-decoration:underline}.hide-outline-onFocus{outline:0!important}.booker-container{background:rgba(0,0,0,.5);top:3.5rem;cursor:default!important;color:#303234}.booker-container .booker-max-range{max-width:1160px!important;max-height:80vh}@media screen and (max-width: 47.999em){.booker-container{top:6.65rem}}.hr-underline{height:.25rem;background:#ff8200;border:none;margin:0 auto}.z-42{z-index:42}
</style><style>.shadow{box-shadow:0 2px 4px #00000026}.customized-margin-alert{margin-bottom:.219rem}.covid-notice p{margin-bottom:0}.covid-notice a{color:#0033a0;text-decoration:underline}
</style><style>[_nghost-resp-booking-airways-c28]{line-height:0}svg[_ngcontent-resp-booking-airways-c28]{color:inherit;fill:currentcolor}</style><style>.fare{height:17.81rem;background-size:100% 17.81rem;background-repeat:no-repeat;background-color:#f6f6f6;object-fit:cover}.banner-height-with-barclays-message{height:21.81rem!important}.fare-cards{margin-top:185px}.fare-cards-with-no-banner{margin-top:1.875rem}.unified-fare-cards{margin-top:9.875rem}.top-3-l{top:5rem}.fare-taxes{letter-spacing:.3px;line-height:16px}.fare-taxes-unified-shopping{margin-top:.625rem}.margin-for-banners{margin-left:10.018rem}.spinner{margin-top:15%}.mt20p{margin-top:20%}.top-3{top:3rem}.interlineHeadsup{margin-top:-1.6rem}.shadow{box-shadow:0 2px 4px #00000026}@media only screen and (min-width: 64em){.fare-details-block{width:83%;right:2px}.explore-panel{width:142px}.auto-margin-left-l{margin-left:auto}}@media screen and (max-width: 47.999em){.fares-banner{margin-top:6.575rem}.fare-cards{margin-top:9.188rem}.interlineHeadsup{margin-top:4.4rem}}.banner-height{height:11.81rem}.travel-alert-flight-result{border-radius:.375rem;box-shadow:0 .125rem .25rem #00000026}.travel-alert-flight-result .closebtn{top:.5rem;right:.5rem}.travel-alert-flight-result .travel-alert-text{letter-spacing:.3px;font-size:.75rem;line-height:1rem;padding-right:2.5rem}.travel-alert-flight-result .travel-alert-text p{margin:0}.travel-alert-flight-result .travel-alert-text p strong,.travel-alert-flight-result .travel-alert-text p a{color:#0033a0}.travel-alert-flight-result .p75v{padding-top:.75rem;padding-bottom:.75rem}.travel-alert-flight-result .p75a{padding:.75rem}.travel-alert-flight-result.t-35{top:3.5rem}@media screen and (max-width: 47.999em){.top-rem{top:3.6rem}}@media screen and (min-width: 47.999em){.top-rem{top:4rem}}@media screen and (max-width: 47.999em){.overflow-scroll-enable{overflow-y:unset!important}}
</style><meta name="robots" content="noindex"><style>.pb11[_ngcontent-resp-booking-airways-c182]{padding-bottom:11rem}.pbdown[_ngcontent-resp-booking-airways-c182]{padding-bottom:7.5rem}.pb9[_ngcontent-resp-booking-airways-c182]{padding-bottom:9rem}</style><style>.interstitial-container[_ngcontent-resp-booking-airways-c154]{min-height:28.5rem}.dt-show-logo[_ngcontent-resp-booking-airways-c154]{display:block}.ds-show-logo[_ngcontent-resp-booking-airways-c154]{display:none}.title[_ngcontent-resp-booking-airways-c154]{font-size:2.5rem}.line-height[_ngcontent-resp-booking-airways-c154]{line-height:2.5rem}@media screen and (max-width: 47.999em){.dt-show-logo[_ngcontent-resp-booking-airways-c154]{display:none}.ds-show-logo[_ngcontent-resp-booking-airways-c154]{display:block}.title[_ngcontent-resp-booking-airways-c154]{font-size:1.875rem}.line-height[_ngcontent-resp-booking-airways-c154]{line-height:1.875rem}.interstitial-container[_ngcontent-resp-booking-airways-c154]{min-height:auto;margin-top:4.5rem}.interstitial-footer[_ngcontent-resp-booking-airways-c154]{margin-right:1.25rem}}</style><style>@media screen and (min-width: 64em){.width-calculated[_ngcontent-resp-booking-airways-c235]{width:calc(100% - 5.5rem)}.h-20vh[_ngcontent-resp-booking-airways-c235]{height:20vh}}@media screen and (min-width: 48em) and (max-width: 63.999em){.width-calculated[_ngcontent-resp-booking-airways-c235]{width:calc(100% - 4rem)}.margin-bottom[_ngcontent-resp-booking-airways-c235]{margin-bottom:6.25rem}.h-20vh[_ngcontent-resp-booking-airways-c235]{height:20vh}}@media screen and (max-width: 47.999em){.flex-s[_ngcontent-resp-booking-airways-c235]{display:flex}.grid-s[_ngcontent-resp-booking-airways-c235]{display:block}.margin-bottom[_ngcontent-resp-booking-airways-c235]{margin-bottom:6.25rem}.h-20vh[_ngcontent-resp-booking-airways-c235]{height:auto}}</style><style>.guest-cart-popup-msg[_ngcontent-resp-booking-airways-c195]{letter-spacing:.01875rem;color:#303234}.cart-header[_ngcontent-resp-booking-airways-c195]{margin-top:0}.cart-msg[_ngcontent-resp-booking-airways-c195]{border-radius:6px;box-shadow:0 2px 4px #00000026;margin-bottom:-3.625rem;letter-spacing:.3px}.cart-msg-desktop[_ngcontent-resp-booking-airways-c195]{height:auto;width:-moz-fit-content;width:fit-content}.promotion-expired[_ngcontent-resp-booking-airways-c195]{height:auto;width:36rem}.cart-price-change-desktop[_ngcontent-resp-booking-airways-c195]{margin-left:11rem;height:2.5rem}.cart-msg-mobile[_ngcontent-resp-booking-airways-c195]{height:auto}.cart-msg-tablet-guest[_ngcontent-resp-booking-airways-c195]{margin-left:4rem}</style><style>.popular-links-wrapper[_ngcontent-resp-booking-airways-c181]   ul[_ngcontent-resp-booking-airways-c181]   li[_ngcontent-resp-booking-airways-c181]:last-child{border-right:none}@media screen and (max-width: 47.999em){.copyright[_ngcontent-resp-booking-airways-c181]{line-height:1rem}.popular-links-right-panel[_ngcontent-resp-booking-airways-c181]{margin-bottom:6.87rem}.flight-not-found[_ngcontent-resp-booking-airways-c181]{margin-bottom:4.875rem}}@media screen and (min-width: 48em) and (max-width: 63.999em){.popular-links-wrapper[_ngcontent-resp-booking-airways-c181]{padding-bottom:11.25rem}.flight-not-found[_ngcontent-resp-booking-airways-c181]{padding-bottom:1.5rem}}</style><style>[_nghost-resp-booking-airways-c88]{display:-ms-flexbox}.items-list[_ngcontent-resp-booking-airways-c88]{top:100%}.selected-option-width[_ngcontent-resp-booking-airways-c88]{width:0}button.jb-disabled[_ngcontent-resp-booking-airways-c88]{cursor:default}.disabled[_ngcontent-resp-booking-airways-c88]   span[_ngcontent-resp-booking-airways-c88], .disabled[_ngcontent-resp-booking-airways-c88]   div[_ngcontent-resp-booking-airways-c88], .disabled[_ngcontent-resp-booking-airways-c88]   label[_ngcontent-resp-booking-airways-c88]{color:#d3d3d3}.jb-form-field.jb-disabled[_ngcontent-resp-booking-airways-c88]{padding-left:calc(1rem - 1px);padding-right:calc(1rem - 1px);background-color:#fff}.jb-form-field.active[_ngcontent-resp-booking-airways-c88], .jb-form-field[_ngcontent-resp-booking-airways-c88]:active, .jb-form-field[_ngcontent-resp-booking-airways-c88]:focus{padding-left:calc(1rem - 1px);padding-right:calc(1rem - 1px)}.jb-form-field.active[_ngcontent-resp-booking-airways-c88]   .dropdown-text[_ngcontent-resp-booking-airways-c88], .jb-form-field[_ngcontent-resp-booking-airways-c88]:active   .dropdown-text[_ngcontent-resp-booking-airways-c88], .jb-form-field[_ngcontent-resp-booking-airways-c88]:focus   .dropdown-text[_ngcontent-resp-booking-airways-c88]{padding-top:calc(1.5rem - 1px);padding-bottom:calc(.5rem - 1px)}.clip[_ngcontent-resp-booking-airways-c88]{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}</style><style>.indicator[_ngcontent-resp-booking-airways-c44]{display:flex;align-items:flex-end;transition:transform .2s}.indicator.small[_ngcontent-resp-booking-airways-c44]{width:8px;height:8px}.indicator.small[_ngcontent-resp-booking-airways-c44]   .arrow[_ngcontent-resp-booking-airways-c44]{width:8px;height:5px}.indicator.small[_ngcontent-resp-booking-airways-c44]   .arrow[_ngcontent-resp-booking-airways-c44]   span[_ngcontent-resp-booking-airways-c44]{width:5px;height:.1rem}.indicator.compact[_ngcontent-resp-booking-airways-c44]{width:12px;height:12px}.indicator.compact[_ngcontent-resp-booking-airways-c44]   .arrow[_ngcontent-resp-booking-airways-c44]{width:12px;height:6px}.indicator.compact[_ngcontent-resp-booking-airways-c44]   .arrow[_ngcontent-resp-booking-airways-c44]   span[_ngcontent-resp-booking-airways-c44]{width:7.5px;height:.1rem}.indicator.medium[_ngcontent-resp-booking-airways-c44]{width:16px;height:16px}.indicator.medium[_ngcontent-resp-booking-airways-c44]   .arrow[_ngcontent-resp-booking-airways-c44]{width:16px;height:8px}.indicator.medium[_ngcontent-resp-booking-airways-c44]   .arrow[_ngcontent-resp-booking-airways-c44]   span[_ngcontent-resp-booking-airways-c44]{width:10px;height:.1rem}.arrow.dark-theme[_ngcontent-resp-booking-airways-c44]   span[_ngcontent-resp-booking-airways-c44]{background-color:#fff}.arrow.error[_ngcontent-resp-booking-airways-c44]   span[_ngcontent-resp-booking-airways-c44]{background-color:#d50f0f}.arrow.disabled[_ngcontent-resp-booking-airways-c44]   span[_ngcontent-resp-booking-airways-c44]{background-color:#d3d3d3}.arrow[_ngcontent-resp-booking-airways-c44]{display:inline-block;position:relative}.arrow[_ngcontent-resp-booking-airways-c44]   span[_ngcontent-resp-booking-airways-c44]{position:absolute;background-color:#0033a0;display:inline-block;transition:all .2s ease}.arrow[_ngcontent-resp-booking-airways-c44]   span[_ngcontent-resp-booking-airways-c44]:first-of-type{left:0;transform:rotate(45deg)}.arrow[_ngcontent-resp-booking-airways-c44]   span[_ngcontent-resp-booking-airways-c44]:last-of-type{right:0;transform:rotate(-45deg)}.arrow.active[_ngcontent-resp-booking-airways-c44]   span[_ngcontent-resp-booking-airways-c44]:first-of-type{transform:rotate(-45deg)}.arrow.active[_ngcontent-resp-booking-airways-c44]   span[_ngcontent-resp-booking-airways-c44]:last-of-type{transform:rotate(45deg)}.rotate-90[_ngcontent-resp-booking-airways-c44]{transform:rotate(0) rotate(90deg)}</style><style>.simple-option[_nghost-resp-booking-airways-c87]:first-child > div[_ngcontent-resp-booking-airways-c87], .simple-option   [_nghost-resp-booking-airways-c87]:first-child > div[_ngcontent-resp-booking-airways-c87]{border-radius:.375rem .375rem 0 0}.simple-option[_nghost-resp-booking-airways-c87]:last-child > div[_ngcontent-resp-booking-airways-c87], .simple-option   [_nghost-resp-booking-airways-c87]:last-child > div[_ngcontent-resp-booking-airways-c87]{border-radius:0 0 .375rem .375rem}</style><style>.mini-cart-panel[_ngcontent-resp-booking-airways-c176]{width:20rem;top:3.5rem;left:.656rem;box-shadow:0 .125rem .25rem #00000026;border-radius:0 0 .375rem .375rem}.mini-cart-panel[_ngcontent-resp-booking-airways-c176]   .cart-btn[_ngcontent-resp-booking-airways-c176]{height:3.063rem;width:8.75rem}.cart-btn-border-color[_ngcontent-resp-booking-airways-c176]{border-color:#97999b}.shopping-cart-button[_ngcontent-resp-booking-airways-c176]{background:none}.mini-cart-button-border-radius[_ngcontent-resp-booking-airways-c176]{border-radius:.75rem}.two-line-header-cart[_ngcontent-resp-booking-airways-c176]{top:3rem;box-shadow:0 .125rem .25rem #7e6d6d26;border-radius:0 0 .375rem .375rem}.two-line-header-cart[_ngcontent-resp-booking-airways-c176]   .cart-btn[_ngcontent-resp-booking-airways-c176]{height:3.063rem;width:8.75rem}.cart-btn-flightSoldOut[_ngcontent-resp-booking-airways-c176]{height:3rem;width:18rem!important}.saved-wishlist-notification[_ngcontent-resp-booking-airways-c176]{top:2.6rem;width:15rem;z-index:1}@media only screen and (min-width: 64em){.mini-cart-panel[_ngcontent-resp-booking-airways-c176]{top:.955rem}}@media screen and (min-width: 48em) and (max-width: 63.999em){.mini-cart-panel[_ngcontent-resp-booking-airways-c176]{top:.955rem}}@media screen and (max-width: 47.999em){.mini-cart-panel[_ngcontent-resp-booking-airways-c176]{width:100%;top:0;left:unset}}.shopping-cart[_ngcontent-resp-booking-airways-c176]{left:0;width:100%;z-index:1}@media screen and (min-width: 47.999em){.shopping-cart[_ngcontent-resp-booking-airways-c176]{width:20rem;top:auto;left:auto}}</style><script type="text/javascript" src="https://www.googletagmanager.com/gtag/js?id=GF-9"></script><script type="text/javascript" src="https://www.googletagmanager.com/gtag/js?id=DC-2784362www.googletagmanager.com/gtag/js?id=AW-1067674170"></script><script async="true" type="text/javascript" src="https://googleads.g.doubleclick.net/pagead/viewthroughconversion/1067674170/?random=1694768988845&amp;cv=11&amp;fst=1694768988845&amp;bg=ffffff&amp;guid=ON&amp;async=1&amp;gtm=45be39d0&amp;u_w=1920&amp;u_h=1080&amp;url=https%3A%2F%2Fwww.jetblue.com%2Fbooking%2Fflights%3Ffrom%255C%3DJFK%255C%26to%255C%3DLAX%255C%26depart%255C%3D2023-09-16%255C%26isMultiCity%255C%3Dfalse%255C%26noOfRoute%255C%3D1%255C%26lang%255C%3Den%255C%26adults%255C%3D1%255C%26children%255C%3D0%255C%26infants%255C%3D0%255C%26sharedMarket%255C%3Dfalse%255C%26roundTripFaresFlag%255C%3Dfalse%255C%26usePoints%255C%3Dfalse&amp;hn=www.googleadservices.com&amp;frm=0&amp;tiba=JetBlue%20%7C%20Select%20Flights&amp;auid=185475204.1693903209&amp;fledge=1&amp;uaa=arm&amp;uab=64&amp;uafvl=Not%252FA)Brand%3B99.0.0.0%7CGoogle%2520Chrome%3B115.0.5790.170%7CChromium%3B115.0.5790.170&amp;uamb=0&amp;uap=macOS&amp;uapv=13.5.0&amp;uaw=0&amp;data=event%3Dgtag.config&amp;rfmt=3&amp;fmt=4"></script><script async="true" type="text/javascript" src="https://googleads.g.doubleclick.net/pagead/viewthroughconversion/1067674170/?random=1694768988905&amp;cv=11&amp;fst=1694768988905&amp;bg=ffffff&amp;guid=ON&amp;async=1&amp;gtm=45be39d0&amp;u_w=1920&amp;u_h=1080&amp;url=https%3A%2F%2Fwww.jetblue.com%2Fbooking%2Fflights%3Ffrom%255C%3DJFK%255C%26to%255C%3DLAX%255C%26depart%255C%3D2023-09-16%255C%26isMultiCity%255C%3Dfalse%255C%26noOfRoute%255C%3D1%255C%26lang%255C%3Den%255C%26adults%255C%3D1%255C%26children%255C%3D0%255C%26infants%255C%3D0%255C%26sharedMarket%255C%3Dfalse%255C%26roundTripFaresFlag%255C%3Dfalse%255C%26usePoints%255C%3Dfalse&amp;hn=www.googleadservices.com&amp;frm=0&amp;tiba=JetBlue%20%7C%20Select%20Flights&amp;auid=185475204.1693903209&amp;fledge=1&amp;uaa=arm&amp;uab=64&amp;uafvl=Not%252FA)Brand%3B99.0.0.0%7CGoogle%2520Chrome%3B115.0.5790.170%7CChromium%3B115.0.5790.170&amp;uamb=0&amp;uap=macOS&amp;uapv=13.5.0&amp;uaw=0&amp;data=event%3Dgtag.config&amp;rfmt=3&amp;fmt=4"></script><meta name="referrer" content="no-referrer-when-downgrade"><script src="https://bat.bing.com/p/action/5762284.js" type="text/javascript" async="" data-ueto="ueto_75266ad7cd"></script><script src="https://bat.bing.com/p/action/5103746.js" type="text/javascript" async="" data-ueto="ueto_6c819396dd"></script><script async="true" type="text/javascript" src="https://googleads.g.doubleclick.net/pagead/viewthroughconversion/1067674170/?random=1694769068863&amp;cv=11&amp;fst=1694769068863&amp;bg=ffffff&amp;guid=ON&amp;async=1&amp;gtm=45be39d0&amp;u_w=1920&amp;u_h=1080&amp;url=https%3A%2F%2Fwww.jetblue.com%2Fbooking%2Fflights%3Ffrom%255C%3DJFK%255C%26to%255C%3DLAX%255C%26depart%255C%3D2023-09-16%255C%26isMultiCity%255C%3Dfalse%255C%26noOfRoute%255C%3D1%255C%26lang%255C%3Den%255C%26adults%255C%3D1%255C%26children%255C%3D0%255C%26infants%255C%3D0%255C%26sharedMarket%255C%3Dfalse%255C%26roundTripFaresFlag%255C%3Dfalse%255C%26usePoints%255C%3Dfalse&amp;hn=www.googleadservices.com&amp;frm=0&amp;tiba=JetBlue%20%7C%20Select%20Flights&amp;auid=185475204.1693903209&amp;fledge=1&amp;uaa=arm&amp;uab=64&amp;uafvl=Not%252FA)Brand%3B99.0.0.0%7CGoogle%2520Chrome%3B115.0.5790.170%7CChromium%3B115.0.5790.170&amp;uamb=0&amp;uap=macOS&amp;uapv=13.5.0&amp;uaw=0&amp;data=event%3Dgtag.config&amp;rfmt=3&amp;fmt=4"></script><script async="true" type="text/javascript" src="https://googleads.g.doubleclick.net/pagead/viewthroughconversion/1067674170/?random=1694769070124&amp;cv=11&amp;fst=1694769070124&amp;bg=ffffff&amp;guid=ON&amp;async=1&amp;gtm=45be39d0&amp;u_w=1920&amp;u_h=1080&amp;url=https%3A%2F%2Fwww.jetblue.com%2Fbooking%2Fflights%3Ffrom%255C%3DJFK%255C%26to%255C%3DLAX%255C%26depart%255C%3D2023-09-16%255C%26isMultiCity%255C%3Dfalse%255C%26noOfRoute%255C%3D1%255C%26lang%255C%3Den%255C%26adults%255C%3D1%255C%26children%255C%3D0%255C%26infants%255C%3D0%255C%26sharedMarket%255C%3Dfalse%255C%26roundTripFaresFlag%255C%3Dfalse%255C%26usePoints%255C%3Dfalse&amp;hn=www.googleadservices.com&amp;frm=0&amp;tiba=JetBlue%20%7C%20Select%20Flights&amp;auid=185475204.1693903209&amp;fledge=1&amp;uaa=arm&amp;uab=64&amp;uafvl=Not%252FA)Brand%3B99.0.0.0%7CGoogle%2520Chrome%3B115.0.5790.170%7CChromium%3B115.0.5790.170&amp;uamb=0&amp;uap=macOS&amp;uapv=13.5.0&amp;uaw=0&amp;data=event%3Dgtag.config&amp;rfmt=3&amp;fmt=4"></script><script type="text/javascript" src="https://www.jetblue.com/magnoliapublic/.resources/survey_lib/jbsurvey_NTS_JQueryOnPage_logger.js"></script><style>@media screen and (min-width: 47.999em){.session-timeout-panel jb-dialog .dialog-notification{top:-138px!important}}@media screen and (max-width: 47.999em){.session-timeout-panel jb-dialog .dialog-notification{top:-22px!important}}
</style><style>@media screen and (min-width: 48em) and (max-width: 63.999em){.page-margin[_ngcontent-resp-booking-airways-c77]{padding-left:1.5rem;padding-right:1.5rem}.dialog-notification[_ngcontent-resp-booking-airways-c77]{width:calc(50% + 1.4rem)}.jb-dialog-content-width[_ngcontent-resp-booking-airways-c77]{width:calc(83.3333333333% + 2.7rem)}}@media screen and (min-width: 64em){.page-margin[_ngcontent-resp-booking-airways-c77]{padding-left:1.5rem;padding-right:1.5rem}.dialog-notification[_ngcontent-resp-booking-airways-c77]{width:calc(33.3333333333% + 1.1rem);max-width:480px}.jb-dialog-content-width[_ngcontent-resp-booking-airways-c77]{width:calc(83.3333333333% + 2.7rem)}}@media (min-width: 64em){.dialog-notification[_ngcontent-resp-booking-airways-c77]{width:30rem}.jb-dialog-content-width[_ngcontent-resp-booking-airways-c77]{width:73rem}}</style><style>.dark-theme[_ngcontent-resp-booking-airways-c79]{color:#fff}.dark-theme[_nghost-resp-booking-airways-c79], .dark-theme   [_nghost-resp-booking-airways-c79]{color:#fff}.dark-theme[_nghost-resp-booking-airways-c79]   h3[_ngcontent-resp-booking-airways-c79], .dark-theme   [_nghost-resp-booking-airways-c79]   h3[_ngcontent-resp-booking-airways-c79]{color:#fff}</style><style>.dark-theme[_ngcontent-resp-booking-airways-c74], .dark-theme[_nghost-resp-booking-airways-c74], .dark-theme   [_nghost-resp-booking-airways-c74]{color:#fff}</style><style>[_nghost-resp-booking-airways-c73]{background:#fff}.actions-wrapper[_ngcontent-resp-booking-airways-c73]{display:flex;justify-content:center;flex-direction:column;align-items:center}@media screen and (min-width: 47.999em){.content-dialog[_nghost-resp-booking-airways-c73], .content-dialog   [_nghost-resp-booking-airways-c73]{display:none}.content-dialog.desktop-visible[_nghost-resp-booking-airways-c73], .content-dialog   .desktop-visible[_nghost-resp-booking-airways-c73]{display:block;position:relative;box-shadow:0 -2px 4px #00000026;padding:1rem}}@media screen and (max-width: 47.999em){.content-dialog[_nghost-resp-booking-airways-c73]   .actions-wrapper[_ngcontent-resp-booking-airways-c73], .content-dialog   [_nghost-resp-booking-airways-c73]   .actions-wrapper[_ngcontent-resp-booking-airways-c73]{width:100%;box-shadow:0 -2px 4px #00000026;padding:1rem}}.dark-theme[_ngcontent-resp-booking-airways-c73], .dark-theme[_nghost-resp-booking-airways-c73], .dark-theme   [_nghost-resp-booking-airways-c73]{color:#fff;background-color:#00205b}</style><style>.jb-button-disabled[_ngcontent-resp-booking-airways-c66]   .svgPath[_ngcontent-resp-booking-airways-c66]{fill:#d3d3d3}.baseline-offset[_ngcontent-resp-booking-airways-c66]{top:-.1rem}.jb-button-large[_nghost-resp-booking-airways-c66]{min-height:3.5rem;min-width:12.5rem;padding:1rem 1.5rem}.jb-button-large.jb-button-standard[_nghost-resp-booking-airways-c66]{padding:.9375rem 1.4375rem}.jb-button-large.full-width[_nghost-resp-booking-airways-c66]{width:100%}.jb-button-medium[_nghost-resp-booking-airways-c66]{min-height:3rem;min-width:9rem;padding:.875rem 1.5rem}.jb-button-medium.jb-button-standard[_nghost-resp-booking-airways-c66]{padding:.8125rem 1.4375rem}.jb-button-medium.full-width[_nghost-resp-booking-airways-c66]{width:100%}.jb-button-small[_nghost-resp-booking-airways-c66]{min-height:2.5rem;min-width:8rem;padding:.625rem 1.5rem}.jb-button-small.jb-button-standard[_nghost-resp-booking-airways-c66]{padding:.5625rem 1.4375rem}.jb-button-small.full-width[_nghost-resp-booking-airways-c66]{width:100%}.jb-button-paired[_nghost-resp-booking-airways-c66]{height:3.5rem;width:3.5rem;padding:1rem .875rem}.jb-button-paired.jb-button-standard[_nghost-resp-booking-airways-c66]{padding:.9375rem .8125rem}.jb-button-paired[_nghost-resp-booking-airways-c66]   .baseline-offset[_ngcontent-resp-booking-airways-c66]{top:0}.jb-button-standard[_nghost-resp-booking-airways-c66]{border-width:.0625rem}.jb-button-minimal[_nghost-resp-booking-airways-c66]{background:#fff;color:#0033a0}.jb-button-minimal.jb-button-large[_nghost-resp-booking-airways-c66]{padding-left:.5rem;padding-right:.5rem;min-width:0;min-width:initial}.jb-button-minimal.jb-button-medium[_nghost-resp-booking-airways-c66]{padding-left:.5rem;padding-right:.5rem;min-width:0;min-width:initial}.jb-button-minimal.jb-button-small[_nghost-resp-booking-airways-c66]{padding-left:.5rem;padding-right:.5rem;min-width:0;min-width:initial}.jb-button-minimal[_nghost-resp-booking-airways-c66]   .baseline-offset[_ngcontent-resp-booking-airways-c66]{top:0}.jb-button-minimal.dark[_nghost-resp-booking-airways-c66]{background:#00205b;color:#fff}.jb-button-minimal.dark[_nghost-resp-booking-airways-c66]:hover:not(:disabled){background:#00205b;color:#e8e8e9}@media (pointer: fine) and (hover: hover),(-moz-touch-enabled: 0),(-ms-high-contrast: none){.jb-button-primary[_nghost-resp-booking-airways-c66]:hover{background-color:#00205b}.jb-button-secondary[_nghost-resp-booking-airways-c66]:hover{background-color:#f05c00}.jb-button-standard[_nghost-resp-booking-airways-c66]:hover, .jb-button-minimal[_nghost-resp-booking-airways-c66]:hover{background-color:#f6f6f6;color:#00205b}}.jb-button-standard.jb-button-disabled[_nghost-resp-booking-airways-c66], .jb-button-secondary.jb-button-disabled[_nghost-resp-booking-airways-c66], .jb-button-primary.jb-button-disabled[_nghost-resp-booking-airways-c66], .jb-button-minimal.jb-button-disabled[_nghost-resp-booking-airways-c66]{color:#d3d3d3;border:1px solid #d3d3d3;background:#f6f6f6}.jb-button-standard.jb-button-disabled[_nghost-resp-booking-airways-c66]   [_ngcontent-resp-booking-airways-c66]:hover, .jb-button-secondary.jb-button-disabled[_nghost-resp-booking-airways-c66]   [_ngcontent-resp-booking-airways-c66]:hover, .jb-button-primary.jb-button-disabled[_nghost-resp-booking-airways-c66]   [_ngcontent-resp-booking-airways-c66]:hover, .jb-button-minimal.jb-button-disabled[_nghost-resp-booking-airways-c66]   [_ngcontent-resp-booking-airways-c66]:hover, .jb-button-standard.jb-button-disabled[_nghost-resp-booking-airways-c66]   [_ngcontent-resp-booking-airways-c66]:focus, .jb-button-secondary.jb-button-disabled[_nghost-resp-booking-airways-c66]   [_ngcontent-resp-booking-airways-c66]:focus, .jb-button-primary.jb-button-disabled[_nghost-resp-booking-airways-c66]   [_ngcontent-resp-booking-airways-c66]:focus, .jb-button-minimal.jb-button-disabled[_nghost-resp-booking-airways-c66]   [_ngcontent-resp-booking-airways-c66]:focus{color:#d3d3d3}.jb-button-minimal.jb-button-disabled[_nghost-resp-booking-airways-c66]{border:0 solid transparent}.flex-button-container   .jb-button-large[_nghost-resp-booking-airways-c66], .flex-button-container   .jb-button-large   [_nghost-resp-booking-airways-c66]{height:3.5rem;width:12.5rem}.flex-button-container   .jb-button-medium[_nghost-resp-booking-airways-c66], .flex-button-container   .jb-button-medium   [_nghost-resp-booking-airways-c66]{height:3rem;width:9rem}.flex-button-container   .jb-button-small[_nghost-resp-booking-airways-c66], .flex-button-container   .jb-button-small   [_nghost-resp-booking-airways-c66]{height:2.5rem;width:8rem}</style></head> <body class="bg-off-white disable-scroll-in-layer"> <jb-app _nghost-sc316="" ng-version="14.2.12" ng-server-context="other" _nghost-resp-booking-airways-c185=""><jb-header _ngcontent-resp-booking-airways-c185="" class="ng-tns-c152-0 db"><a jbfocuson="" href="javascript:void(0)" movefocusto="first-focus" class="legal b ml5 pa2 royal-blue bg-white skip-to-content ng-tns-c152-0">Skip to main content</a><jb-toolbar class="top-0 w-100 fixed bg-core-blue ng-tns-c152-0 z-3 toolbar-cls ng-star-inserted"><nav role="toolbar" aria-label="jb-toolbar" class="bg-core-blue ph3 ph4-ns pv3"><div class="page-margin h-100"><div id="mainHeader" class="db h-100 jb-max-width center ng-tns-c152-0"><div class="ng-tns-c152-0 h-100"><div class="fl h-100 flex items-center justify-left w-33 ng-tns-c152-0"><jb-icon tabindex="0" name="jetBlueLogo" fill="white" class="t-fast notranslate pointer db ttn ng-tns-c152-0 fill-current-color ng-star-inserted" _nghost-resp-booking-airways-c28="" aria-hidden="true" role="img" aria-label="JetBlue home logo link to go back to home page"><svg xmlns="http://www.w3.org/2000/svg" width="96" height="32" viewBox="0 0 120 40" fill="white" focusable="false"><g fill-rule="evenodd"><path d="M3.779 4.519H8.26V0H3.78v4.519zm0 4.563H8.26v24.213c0 3.765-2.724 6.291-6.503 6.291H0v-4.254h1.274c1.538 0 2.505-.709 2.505-2.392V9.082zM29.517 22.02v-3.722c0-5.804-4.26-9.48-9.182-9.48-4.306 0-9.183 2.835-9.183 11.562 0 9.215 5.317 11.43 9.886 11.43 2.988 0 5.844-1.063 8.04-3.632l-3.251-2.791c-1.318 1.373-3.163 2.17-4.877 2.17-3.075 0-5.316-1.86-5.316-5.537h13.883zm-13.883-3.722c.088-3.412 2.064-5.228 4.701-5.228 2.636 0 4.57 1.816 4.701 5.228h-9.402zM33.069 2.26h4.482v6.823h3.25v3.456h-3.25v13.069c0 1.24.483 1.683 1.581 1.683h1.67v4.254h-2.329c-3.119 0-5.404-1.994-5.404-5.538V12.538h-2.24V9.082h2.24V2.26zm22.188 1.994c3.428 0 5.053 2.082 5.053 4.519 0 2.481-1.625 4.519-5.053 4.519h-6.854V4.253h6.854zm-11.599 27.29H56.84c4.702 0 8.7-3.499 8.7-8.948 0-3.19-1.67-6.469-5.097-7.266v-.089c3.646-1.64 4.613-4.164 4.613-6.778C65.055 3.5 61.891 0 55.785 0H43.657v31.544zm12.039-13.999c3.514 0 5.097 2.26 5.097 4.74 0 2.482-1.583 4.741-5.097 4.741h-7.294v-9.481h7.294zM68.115 0h4.481v25.74c0 1.019.572 1.55 1.67 1.55h1.538v4.254h-1.977c-3.251 0-5.712-1.418-5.712-5.45V0zm9.578 9.082h4.482v13.38c0 3.057 1.889 4.828 4.437 4.828 2.504 0 4.394-1.771 4.394-4.829V9.082h4.482v22.462h-4.482V29.15h-.087c-1.407 1.773-3.428 2.659-5.757 2.659-3.514 0-7.47-2.703-7.47-7.798V9.082zM116.26 22.02v-3.722c0-5.804-4.261-9.48-9.183-9.48-4.306 0-9.182 2.835-9.182 11.562 0 9.215 5.316 11.43 9.885 11.43 2.988 0 5.844-1.063 8.041-3.632l-3.251-2.791c-1.319 1.373-3.165 2.17-4.877 2.17-3.076 0-5.317-1.86-5.317-5.537h13.884zm-13.884-3.722c.088-3.412 2.065-5.228 4.701-5.228 2.637 0 4.57 1.816 4.702 5.228h-9.403zm15.165-7.804h.273c.318 0 .608-.022.608-.325 0-.27-.263-.331-.52-.331h-.361v.656zm-.394-1.02h.876c.53 0 .793.214.793.695 0 .464-.268.64-.591.679l.662.955h-.46l-.662-.944h-.224v.944h-.394v-2.33zm.75 2.82c.892 0 1.554-.668 1.554-1.6 0-.934-.662-1.602-1.555-1.602-.892 0-1.555.668-1.555 1.601 0 .933.663 1.601 1.555 1.601zm0-3.6a1.99 1.99 0 0 1 1.982 2 1.99 1.99 0 0 1-1.983 1.998 1.99 1.99 0 0 1-1.982-1.999 1.99 1.99 0 0 1 1.982-1.998z"></path></g></svg></jb-icon><!----></div><div class="flex-ns fl justify-center w-34 ng-tns-c152-0"><div class="persistent-booker-width ng-tns-c152-0"><!----></div></div><div class="fr avatar-card-header profile-avatar-card h-100 flex items-center justify-center ng-tns-c152-0 ng-star-inserted"><a tabindex="0" class="white b pointer mr3 s-body klarheit next ng-tns-c152-0 ng-star-inserted"> Sign in </a><!----><!----><div tabindex="-1" class="dib divider signin-pipe-margin-top-bottom bg-white ng-tns-c152-0 ng-star-inserted"></div><!----><jb-cart-popup-box class="relative ng-tns-c152-0 ng-star-inserted" _nghost-resp-booking-airways-c176=""><button _ngcontent-resp-booking-airways-c176="" tabindex="0" jbbutton="" class="shopping-cart-button pr2-ns flex bn" aria-label="Shopping Cart"><jb-icon _ngcontent-resp-booking-airways-c176="" name="cartEmptyIcon" width="27px" height="24px" class="t-fast notranslate ml3 mr2 fill-current-color ng-star-inserted" _nghost-resp-booking-airways-c28="" aria-hidden="true" role="img"><!--?xml version="1.0" encoding="UTF-8"?-->
<svg width="27px" height="24px" viewBox="0 0 23 22" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" focusable="false">
    <!-- Generator: Sketch 61.2 (89653) - https://sketch.com -->
    <title>Cart-Empty</title>
    <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
        <g id="Simple-Icons-Additions" transform="translate(-49.000000, -1517.000000)">
            <g id="Cart-Full" transform="translate(44.000000, 1512.000000)">
                <g id="Iconography-/-Cart-Empty">
                    <g id="Cart-Icon" transform="translate(6.000000, 6.000000)">
                        <path d="M0,0 L2,0 L8,15 L17.5857864,15 C18.4912922,15 19.3597108,14.6402892 20,14 C20.6402892,13.3597108 21,12.4912922 21,11.5857864 L21,3.99475446 L3.63794643,4" id="Stroke-1" stroke="#FFFFFF" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path>
                        <path d="M11,19 C11,20.104 10.104,21 9,21 C7.896,21 7,20.104 7,19 C7,17.896 7.896,17 9,17 C10.104,17 11,17.896 11,19" id="Fill-3" fill="#FFFFFF"></path>
                        <path d="M20,19 C20,20.104 19.104,21 18,21 C16.896,21 16,20.104 16,19 C16,17.896 16.896,17 18,17 C19.104,17 20,17.896 20,19" id="Fill-5" fill="#FFFFFF"></path>
                    </g>
                </g>
            </g>
        </g>
    </g>
</svg></jb-icon><!----><!----></button><!----></jb-cart-popup-box><!----></div><!----><!----></div></div></div><div class="dn-ns cf"></div><!----></nav></jb-toolbar><!----><!----><!----><!----><!----><!----></jb-header><!----><jb-uk-covid-alert _ngcontent-resp-booking-airways-c185="" class="w-100 fixed uk-notice-floater jb-max-width center z-2"><!----></jb-uk-covid-alert><div _ngcontent-resp-booking-airways-c185="" id="app-container-div" class="center pt8"><router-outlet _ngcontent-resp-booking-airways-c185="" class="router-pd"></router-outlet><jb-fares class="ng-tns-c240-1 ng-star-inserted"><jb-book-messaging-interstitial aria-live="assertive" _nghost-resp-booking-airways-c154="" class="ng-tns-c240-1 ng-star-inserted"><div _ngcontent-resp-booking-airways-c154="" class="bg-white vh-100 w-100 absolute top-0 z-9999 fixed"><div _ngcontent-resp-booking-airways-c154="" class="jb-max-width center page-margin-s page-margin-m br3 bg-white mt4-ns mt3"><jb-icon _ngcontent-resp-booking-airways-c154="" name="jetBlueLogo" width="120" height="40" fill="#00205B" class="t-fast notranslate dt-show-logo fill-current-color" _nghost-resp-booking-airways-c28="" aria-hidden="true" role="img"><svg xmlns="http://www.w3.org/2000/svg" width="120" height="40" viewBox="0 0 120 40" fill="#00205B" focusable="false"><g fill-rule="evenodd"><path d="M3.779 4.519H8.26V0H3.78v4.519zm0 4.563H8.26v24.213c0 3.765-2.724 6.291-6.503 6.291H0v-4.254h1.274c1.538 0 2.505-.709 2.505-2.392V9.082zM29.517 22.02v-3.722c0-5.804-4.26-9.48-9.182-9.48-4.306 0-9.183 2.835-9.183 11.562 0 9.215 5.317 11.43 9.886 11.43 2.988 0 5.844-1.063 8.04-3.632l-3.251-2.791c-1.318 1.373-3.163 2.17-4.877 2.17-3.075 0-5.316-1.86-5.316-5.537h13.883zm-13.883-3.722c.088-3.412 2.064-5.228 4.701-5.228 2.636 0 4.57 1.816 4.701 5.228h-9.402zM33.069 2.26h4.482v6.823h3.25v3.456h-3.25v13.069c0 1.24.483 1.683 1.581 1.683h1.67v4.254h-2.329c-3.119 0-5.404-1.994-5.404-5.538V12.538h-2.24V9.082h2.24V2.26zm22.188 1.994c3.428 0 5.053 2.082 5.053 4.519 0 2.481-1.625 4.519-5.053 4.519h-6.854V4.253h6.854zm-11.599 27.29H56.84c4.702 0 8.7-3.499 8.7-8.948 0-3.19-1.67-6.469-5.097-7.266v-.089c3.646-1.64 4.613-4.164 4.613-6.778C65.055 3.5 61.891 0 55.785 0H43.657v31.544zm12.039-13.999c3.514 0 5.097 2.26 5.097 4.74 0 2.482-1.583 4.741-5.097 4.741h-7.294v-9.481h7.294zM68.115 0h4.481v25.74c0 1.019.572 1.55 1.67 1.55h1.538v4.254h-1.977c-3.251 0-5.712-1.418-5.712-5.45V0zm9.578 9.082h4.482v13.38c0 3.057 1.889 4.828 4.437 4.828 2.504 0 4.394-1.771 4.394-4.829V9.082h4.482v22.462h-4.482V29.15h-.087c-1.407 1.773-3.428 2.659-5.757 2.659-3.514 0-7.47-2.703-7.47-7.798V9.082zM116.26 22.02v-3.722c0-5.804-4.261-9.48-9.183-9.48-4.306 0-9.182 2.835-9.182 11.562 0 9.215 5.316 11.43 9.885 11.43 2.988 0 5.844-1.063 8.041-3.632l-3.251-2.791c-1.319 1.373-3.165 2.17-4.877 2.17-3.076 0-5.317-1.86-5.317-5.537h13.884zm-13.884-3.722c.088-3.412 2.065-5.228 4.701-5.228 2.637 0 4.57 1.816 4.702 5.228h-9.403zm15.165-7.804h.273c.318 0 .608-.022.608-.325 0-.27-.263-.331-.52-.331h-.361v.656zm-.394-1.02h.876c.53 0 .793.214.793.695 0 .464-.268.64-.591.679l.662.955h-.46l-.662-.944h-.224v.944h-.394v-2.33zm.75 2.82c.892 0 1.554-.668 1.554-1.6 0-.934-.662-1.602-1.555-1.602-.892 0-1.555.668-1.555 1.601 0 .933.663 1.601 1.555 1.601zm0-3.6a1.99 1.99 0 0 1 1.982 2 1.99 1.99 0 0 1-1.983 1.998 1.99 1.99 0 0 1-1.982-1.999 1.99 1.99 0 0 1 1.982-1.998z"></path></g></svg></jb-icon><jb-icon _ngcontent-resp-booking-airways-c154="" name="jetBlueLogo" width="77" height="26" fill="#00205B" class="t-fast notranslate ds-show-logo fill-current-color" _nghost-resp-booking-airways-c28="" aria-hidden="true" role="img"><svg xmlns="http://www.w3.org/2000/svg" width="77" height="26" viewBox="0 0 120 40" fill="#00205B" focusable="false"><g fill-rule="evenodd"><path d="M3.779 4.519H8.26V0H3.78v4.519zm0 4.563H8.26v24.213c0 3.765-2.724 6.291-6.503 6.291H0v-4.254h1.274c1.538 0 2.505-.709 2.505-2.392V9.082zM29.517 22.02v-3.722c0-5.804-4.26-9.48-9.182-9.48-4.306 0-9.183 2.835-9.183 11.562 0 9.215 5.317 11.43 9.886 11.43 2.988 0 5.844-1.063 8.04-3.632l-3.251-2.791c-1.318 1.373-3.163 2.17-4.877 2.17-3.075 0-5.316-1.86-5.316-5.537h13.883zm-13.883-3.722c.088-3.412 2.064-5.228 4.701-5.228 2.636 0 4.57 1.816 4.701 5.228h-9.402zM33.069 2.26h4.482v6.823h3.25v3.456h-3.25v13.069c0 1.24.483 1.683 1.581 1.683h1.67v4.254h-2.329c-3.119 0-5.404-1.994-5.404-5.538V12.538h-2.24V9.082h2.24V2.26zm22.188 1.994c3.428 0 5.053 2.082 5.053 4.519 0 2.481-1.625 4.519-5.053 4.519h-6.854V4.253h6.854zm-11.599 27.29H56.84c4.702 0 8.7-3.499 8.7-8.948 0-3.19-1.67-6.469-5.097-7.266v-.089c3.646-1.64 4.613-4.164 4.613-6.778C65.055 3.5 61.891 0 55.785 0H43.657v31.544zm12.039-13.999c3.514 0 5.097 2.26 5.097 4.74 0 2.482-1.583 4.741-5.097 4.741h-7.294v-9.481h7.294zM68.115 0h4.481v25.74c0 1.019.572 1.55 1.67 1.55h1.538v4.254h-1.977c-3.251 0-5.712-1.418-5.712-5.45V0zm9.578 9.082h4.482v13.38c0 3.057 1.889 4.828 4.437 4.828 2.504 0 4.394-1.771 4.394-4.829V9.082h4.482v22.462h-4.482V29.15h-.087c-1.407 1.773-3.428 2.659-5.757 2.659-3.514 0-7.47-2.703-7.47-7.798V9.082zM116.26 22.02v-3.722c0-5.804-4.261-9.48-9.183-9.48-4.306 0-9.182 2.835-9.182 11.562 0 9.215 5.316 11.43 9.885 11.43 2.988 0 5.844-1.063 8.041-3.632l-3.251-2.791c-1.319 1.373-3.165 2.17-4.877 2.17-3.076 0-5.317-1.86-5.317-5.537h13.884zm-13.884-3.722c.088-3.412 2.065-5.228 4.701-5.228 2.637 0 4.57 1.816 4.702 5.228h-9.403zm15.165-7.804h.273c.318 0 .608-.022.608-.325 0-.27-.263-.331-.52-.331h-.361v.656zm-.394-1.02h.876c.53 0 .793.214.793.695 0 .464-.268.64-.591.679l.662.955h-.46l-.662-.944h-.224v.944h-.394v-2.33zm.75 2.82c.892 0 1.554-.668 1.554-1.6 0-.934-.662-1.602-1.555-1.602-.892 0-1.555.668-1.555 1.601 0 .933.663 1.601 1.555 1.601zm0-3.6a1.99 1.99 0 0 1 1.982 2 1.99 1.99 0 0 1-1.983 1.998 1.99 1.99 0 0 1-1.982-1.999 1.99 1.99 0 0 1 1.982-1.998z"></path></g></svg></jb-icon><div _ngcontent-resp-booking-airways-c154="" class="flex flex-column tc interstitial-container justify-center-l justify-center-m"><div _ngcontent-resp-booking-airways-c154=""><jb-icon _ngcontent-resp-booking-airways-c154="" width="57" height="57" fill="#00205B" class="t-fast notranslate fill-current-color" _nghost-resp-booking-airways-c28="" aria-hidden="true" role="img"><svg xmlns="http://www.w3.org/2000/svg" width="57" height="57" viewBox="0 0 72 72" fill="#00205B" focusable="false"><g fill="none" transform="translate(7 7)"><path stroke="#00205B" stroke-linecap="round" stroke-width="1.5" d="M16.097 46.152H5.307L.993 11.443a2.053 2.053 0 0 1 2.035-2.32h4.548c.93.003 1.742.63 1.98 1.529l6.54 35.5z"></path><rect width="41.088" height="9.584" x=".681" y="46.023" fill="#8DC8E8" stroke="#00205B" stroke-linecap="round" stroke-width="1.5" rx="2"></rect><circle cx="20.88" cy="7.503" r="7.365" fill="#00205B"></circle><path fill="#00205B" d="M42.25 40.186H27.034a4.527 4.527 0 0 1-4.252-2.975 5.677 5.677 0 0 1-.522-1.328l-3.079-12.098a5.667 5.667 0 0 1 10.983-2.795l2.582 10.146h11.817c.126 0 .25.005.372.015a4.527 4.527 0 0 1 4.59 2.838l6.476 16.289a4.525 4.525 0 1 1-8.41 3.343L42.25 40.186z"></path></g></svg></jb-icon><div _ngcontent-resp-booking-airways-c154=""><div _ngcontent-resp-booking-airways-c154="" class="din title core-blue line-height" aria-label="Stretch out."> Stretch out. </div><div _ngcontent-resp-booking-airways-c154="" class="body klarheit charcoal pt3">Enjoy the most legroom in coach<sup>1</sup> – or go from roomy to roomier with Even More<sup>®</sup> Space</div></div></div><!----><jb-icon _ngcontent-resp-booking-airways-c154="" name="loading" width="75" height="70" class="t-fast notranslate dt-show fill-current-color" _nghost-resp-booking-airways-c28="" aria-hidden="true" role="img"><svg id="SJAs-d6_LM" xmlns="http://www.w3.org/2000/svg" width="75" height="70" viewBox="0 0 42 5" focusable="false"><style>@-webkit-keyframes H1Wlsb_auIG_Animation{0%,16.67%,to{opacity:.2;transform-box:fill-box;-webkit-transform-origin:50% 50%;transform-origin:50% 50%}8.33%{opacity:.1;transform-box:fill-box;-webkit-transform-origin:50% 50%;transform-origin:50% 50%}25%,91.67%{opacity:.4;transform-box:fill-box;-webkit-transform-origin:50% 50%;transform-origin:50% 50%}33.33%,83.33%{opacity:.6;transform-box:fill-box;-webkit-transform-origin:50% 50%;transform-origin:50% 50%}41.67%,75%{opacity:.8;transform-box:fill-box;-webkit-transform-origin:50% 50%;transform-origin:50% 50%}50%,58.33%,66.67%{opacity:1;transform-box:fill-box;-webkit-transform-origin:50% 50%;transform-origin:50% 50%}}@keyframes H1Wlsb_auIG_Animation{0%,16.67%,to{opacity:.2;transform-box:fill-box;-webkit-transform-origin:50% 50%;transform-origin:50% 50%}8.33%{opacity:.1;transform-box:fill-box;-webkit-transform-origin:50% 50%;transform-origin:50% 50%}25%,91.67%{opacity:.4;transform-box:fill-box;-webkit-transform-origin:50% 50%;transform-origin:50% 50%}33.33%,83.33%{opacity:.6;transform-box:fill-box;-webkit-transform-origin:50% 50%;transform-origin:50% 50%}41.67%,75%{opacity:.8;transform-box:fill-box;-webkit-transform-origin:50% 50%;transform-origin:50% 50%}50%,58.33%,66.67%{opacity:1;transform-box:fill-box;-webkit-transform-origin:50% 50%;transform-origin:50% 50%}}@-webkit-keyframes rkxejZ_p_8f_Animation{0%,8.33%,91.67%,to{opacity:.2;transform-box:fill-box;-webkit-transform-origin:50% 50%;transform-origin:50% 50%}16.67%,83.33%{opacity:.4;transform-box:fill-box;-webkit-transform-origin:50% 50%;transform-origin:50% 50%}25%,75%{opacity:.6;transform-box:fill-box;-webkit-transform-origin:50% 50%;transform-origin:50% 50%}33.33%,66.67%{opacity:.8;transform-box:fill-box;-webkit-transform-origin:50% 50%;transform-origin:50% 50%}41.67%,50%,58.33%{opacity:1;transform-box:fill-box;-webkit-transform-origin:50% 50%;transform-origin:50% 50%}}@keyframes rkxejZ_p_8f_Animation{0%,8.33%,91.67%,to{opacity:.2;transform-box:fill-box;-webkit-transform-origin:50% 50%;transform-origin:50% 50%}16.67%,83.33%{opacity:.4;transform-box:fill-box;-webkit-transform-origin:50% 50%;transform-origin:50% 50%}25%,75%{opacity:.6;transform-box:fill-box;-webkit-transform-origin:50% 50%;transform-origin:50% 50%}33.33%,66.67%{opacity:.8;transform-box:fill-box;-webkit-transform-origin:50% 50%;transform-origin:50% 50%}41.67%,50%,58.33%{opacity:1;transform-box:fill-box;-webkit-transform-origin:50% 50%;transform-origin:50% 50%}}@-webkit-keyframes ry1eiW_6d8z_Animation{0%,83.33%,91.67%,to{opacity:.2;transform-box:fill-box;-webkit-transform-origin:50% 50%;transform-origin:50% 50%}75%,8.33%{opacity:.4;transform-box:fill-box;-webkit-transform-origin:50% 50%;transform-origin:50% 50%}16.67%,66.67%{opacity:.6;transform-box:fill-box;-webkit-transform-origin:50% 50%;transform-origin:50% 50%}25%,58.33%{opacity:.8;transform-box:fill-box;-webkit-transform-origin:50% 50%;transform-origin:50% 50%}33.33%,41.67%,50%{opacity:1;transform-box:fill-box;-webkit-transform-origin:50% 50%;transform-origin:50% 50%}}@keyframes ry1eiW_6d8z_Animation{0%,83.33%,91.67%,to{opacity:.2;transform-box:fill-box;-webkit-transform-origin:50% 50%;transform-origin:50% 50%}75%,8.33%{opacity:.4;transform-box:fill-box;-webkit-transform-origin:50% 50%;transform-origin:50% 50%}16.67%,66.67%{opacity:.6;transform-box:fill-box;-webkit-transform-origin:50% 50%;transform-origin:50% 50%}25%,58.33%{opacity:.8;transform-box:fill-box;-webkit-transform-origin:50% 50%;transform-origin:50% 50%}33.33%,41.67%,50%{opacity:1;transform-box:fill-box;-webkit-transform-origin:50% 50%;transform-origin:50% 50%}}#SJAs-d6_LM *{-webkit-animation-duration:1.2s;animation-duration:1.2s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-timing-function:cubic-bezier(0,0,1,1);animation-timing-function:cubic-bezier(0,0,1,1)}</style><circle cx="2.5" cy="2.5" r="2.5" style="-webkit-animation-name:ry1eiW_6d8z_Animation;animation-name:ry1eiW_6d8z_Animation;-webkit-animation-timing-function:cubic-bezier(.42,0,.58,1);animation-timing-function:cubic-bezier(.42,0,.58,1)"></circle><circle cx="20.5" cy="2.5" r="2.5" style="-webkit-animation-name:rkxejZ_p_8f_Animation;animation-name:rkxejZ_p_8f_Animation;-webkit-animation-timing-function:cubic-bezier(.42,0,.58,1);animation-timing-function:cubic-bezier(.42,0,.58,1)"></circle><circle cx="38.5" cy="2.5" r="2.5" style="-webkit-animation-name:H1Wlsb_auIG_Animation;animation-name:H1Wlsb_auIG_Animation;-webkit-animation-timing-function:cubic-bezier(.42,0,.58,1);animation-timing-function:cubic-bezier(.42,0,.58,1)"></circle></svg></jb-icon></div><div _ngcontent-resp-booking-airways-c154="" class="fixed bottom-2 interstitial-footer mr3 bt b--light-gray"><div _ngcontent-resp-booking-airways-c154="" class="pt3 pt4-ns"><div _ngcontent-resp-booking-airways-c154="" class="legal charcoal klarheit lh-copy ng-star-inserted"><span _ngcontent-resp-booking-airways-c154="">1. U.S., Caribbean, Latin America: Based on average fleet-wide seat pitch of U.S. airline. JetBlue operated flights only. Transatlantic: Based on baseline seat pitch of transatlantic aircraft.</span></div><div _ngcontent-resp-booking-airways-c154="" class="legal charcoal klarheit lh-copy ng-star-inserted"><span _ngcontent-resp-booking-airways-c154="">2. Fly-Fi<sup>®</sup> and live television are available on all JetBlue-operated flights. Availability and coverage area may vary by aircraft. Details on inflight <a href="https://www.jetblue.com/flying-with-us/wifi" target="_blank">wi-fi</a> and <a href="https://www.jetblue.com/flying-with-us/inflight-experience/tv-movies-and-more" target="_blank">entertainment</a>.</span></div><div _ngcontent-resp-booking-airways-c154="" class="legal charcoal klarheit lh-copy ng-star-inserted"><span _ngcontent-resp-booking-airways-c154="">3. JetBlue-operated flights only.</span></div><!----></div></div></div></div></jb-book-messaging-interstitial><!----><!----><!----><!----><!----><!----><div class="w-100 page-margin-ns relative z-2 ng-tns-c240-1 ng-star-inserted"><div class="jb-max-width center page-margin-s page-margin-m ng-tns-c240-1"><div class="justify-center ng-tns-c240-1"><div class="jb-grid grid-offset w-100 pb3 ng-tns-c240-1"><div class="cart-header flex justify-center ng-tns-c240-1"><jb-notification-popup-box class="ng-tns-c240-1" _nghost-resp-booking-airways-c195=""><!----></jb-notification-popup-box></div></div></div></div></div><!----><!----><div class="page-margin-ns mt7 mt0-ns w-100 absolute-removed bg-off-white ng-tns-c240-1 ng-star-inserted"><!----><!----></div><jb-fares-footer _nghost-resp-booking-airways-c235="" class="ng-tns-c240-1 ng-star-inserted"><div _ngcontent-resp-booking-airways-c235="" class="center bg-off-white"><div _ngcontent-resp-booking-airways-c235="" class="w-100 lh-copy page-margin-s page-margin-m center jb-max-width b--medium-gray"><div _ngcontent-resp-booking-airways-c235="" class="pb5 ph1"><div _ngcontent-resp-booking-airways-c235="" class="legal charcoal klarheit lh-copy ng-star-inserted"><span _ngcontent-resp-booking-airways-c235="">1. U.S., Caribbean, Latin America: Based on average fleet-wide seat pitch of U.S. airline. JetBlue operated flights only. Transatlantic: Based on baseline seat pitch of transatlantic aircraft.</span></div><div _ngcontent-resp-booking-airways-c235="" class="legal charcoal klarheit lh-copy ng-star-inserted"><span _ngcontent-resp-booking-airways-c235="">2. Fly-Fi<sup>®</sup> and live television are available on all JetBlue-operated flights. Availability and coverage area may vary by aircraft. Details on inflight <a href="https://www.jetblue.com/flying-with-us/wifi" target="_blank">wi-fi</a> and <a href="https://www.jetblue.com/flying-with-us/inflight-experience/tv-movies-and-more" target="_blank">entertainment</a>.</span></div><div _ngcontent-resp-booking-airways-c235="" class="legal charcoal klarheit lh-copy ng-star-inserted"><span _ngcontent-resp-booking-airways-c235="">3. JetBlue-operated flights only.</span></div><!----></div></div></div></jb-fares-footer><!----><!----><!----><!----></jb-fares><!----></div><jb-footer _ngcontent-resp-booking-airways-c185="" _nghost-resp-booking-airways-c182="" class="db ng-star-inserted"><div _ngcontent-resp-booking-airways-c182="" id="footer-div-element" class="bg-white bt b--medium-gray footer-wrapper page-margin-ns ng-star-inserted"><jb-help-and-faq _ngcontent-resp-booking-airways-c182="" _nghost-resp-booking-airways-c181=""><div _ngcontent-resp-booking-airways-c181="" class="jb-max-width center"><div _ngcontent-resp-booking-airways-c181="" class="popular-links-wrapper pv3 col-12-ns ng-star-inserted"><div _ngcontent-resp-booking-airways-c181="" class="flex mt2 mb4-m mb2"><div _ngcontent-resp-booking-airways-c181="" class="w-70"><div _ngcontent-resp-booking-airways-c181="" class="mb2 w-100 pl2 mt0 core-blue b"> Popular Help Topics </div><ul _ngcontent-resp-booking-airways-c181="" class="w-auto-ns mv0 w-100 db-ns pl2"><li _ngcontent-resp-booking-airways-c181="" class="mb2-ns mb0-l br-ns ph2-ns w-auto-ns w-50 mt2 mt0-ns ph0 db fl list b--medium-gray klarheit s-body ng-star-inserted"><a _ngcontent-resp-booking-airways-c181="" class="royal-blue s-body focus-underline-hover no-underline underline-hover" href="https://www.jetblue.com/flying-with-us/our-fares" target="_blank" aria-label="Our Fares opens in a new window">Our Fares <!----></a></li><li _ngcontent-resp-booking-airways-c181="" class="mb2-ns mb0-l br-ns ph2-ns w-auto-ns w-50 mt2 mt0-ns ph0 db fl list b--medium-gray klarheit s-body ng-star-inserted"><a _ngcontent-resp-booking-airways-c181="" class="royal-blue s-body focus-underline-hover no-underline underline-hover" href="https://www.jetblue.com/at-the-airport/baggage-information" target="_blank" aria-label="Bag Info opens in a new window">Bag Info <!----></a></li><li _ngcontent-resp-booking-airways-c181="" class="mb2-ns mb0-l br-ns ph2-ns w-auto-ns w-50 mt2 mt0-ns ph0 db fl list b--medium-gray klarheit s-body ng-star-inserted"><a _ngcontent-resp-booking-airways-c181="" class="royal-blue s-body focus-underline-hover no-underline underline-hover" href="https://www.jetblue.com/help/travel-bank-credits" target="_blank" aria-label="Travel Credit opens in a new window">Travel Credit <!----></a></li><li _ngcontent-resp-booking-airways-c181="" class="mb2-ns mb0-l br-ns ph2-ns w-auto-ns w-50 mt2 mt0-ns ph0 db fl list b--medium-gray klarheit s-body ng-star-inserted"><a _ngcontent-resp-booking-airways-c181="" class="royal-blue s-body focus-underline-hover no-underline underline-hover" href="https://www.jetblue.com/help" target="_blank" aria-label="See all help topics opens in a new window">See all help topics <jb-icon _ngcontent-resp-booking-airways-c181="" name="rightFilled" class="t-fast notranslate ml1 fill-royal-blue br-ns0 ng-star-inserted" _nghost-resp-booking-airways-c28="" aria-hidden="true" role="img"><svg xmlns="http://www.w3.org/2000/svg" width="4" height="8" viewBox="0 0 4 8" focusable="false"><g stroke="none" fill="currentColor"><polygon fill-rule="evenodd" points="2 2 6 6 -2 6" transform="matrix(0 -1 -1 0 6 6)"></polygon></g></svg></jb-icon><!----></a></li><!----></ul></div><div _ngcontent-resp-booking-airways-c181=""><div _ngcontent-resp-booking-airways-c181="" class="flex fr"><ul _ngcontent-resp-booking-airways-c181="" class="mt0 mb2"><li _ngcontent-resp-booking-airways-c181="" class="mb2-ns mb0-l mh1-ns ph2-ns w-auto-ns w-50 mt2 mt0-ns ph0 db fl list b--medium-gray klarheit s-body ng-star-inserted"><a _ngcontent-resp-booking-airways-c181="" class="royal-blue s-body focus-underline-hover no-underline underline-hover pointer" href="https://www.jetblue.com/legal/privacy" target="undefined" aria-label="Privacy Policy opens in a new window">Privacy Policy <!----></a></li><li _ngcontent-resp-booking-airways-c181="" class="mb2-ns mb0-l mh1-ns ph2-ns w-auto-ns w-50 mt2 mt0-ns ph0 db fl list b--medium-gray klarheit s-body ng-star-inserted"><a _ngcontent-resp-booking-airways-c181="" class="royal-blue s-body focus-underline-hover no-underline underline-hover pointer" href="https://www.jetblue.com/contact-us" target="_blank" aria-label="Submit feedback opens in a new window">Submit feedback <!----></a></li><!----></ul><div _ngcontent-resp-booking-airways-c181="" class="self-center self-baseline-l mb flex royal-blue items-center"><jb-icon _ngcontent-resp-booking-airways-c181="" class="t-fast notranslate mr1 fill-royal-blue" _nghost-resp-booking-airways-c28="" aria-hidden="true" role="img"></jb-icon><jb-form-field-container _ngcontent-resp-booking-airways-c181="" class="db"><!----><jb-select _ngcontent-resp-booking-airways-c181="" type="simple" class="flex flex-column ng-tns-c88-2 ng-untouched ng-pristine ng-valid ng-star-inserted" _nghost-resp-booking-airways-c88=""><div _ngcontent-resp-booking-airways-c88="" class="ng-tns-c88-2" aria-disabled="false"><div _ngcontent-resp-booking-airways-c88="" class="relative ng-tns-c88-2"><!----></div><!----><button _ngcontent-resp-booking-airways-c88="" type="button" aria-haspopup="listbox" jbanchor="" class="flex flex-row items-center klarheit pointer ng-tns-c88-2 bg-transparent tl pa0 b bn royal-blue hover-core-blue hover-fill-core-blue" title="" aria-expanded="false"><!----><div _ngcontent-resp-booking-airways-c88="" class="dropdown-text truncate dib ng-tns-c88-2 s-body b royal-blue hover-core-blue mr2"> English </div><jb-expandable-indicator _ngcontent-resp-booking-airways-c88="" class="ng-tns-c88-2" _nghost-resp-booking-airways-c44=""><div _ngcontent-resp-booking-airways-c44="" class="indicator small"><span _ngcontent-resp-booking-airways-c44="" class="arrow flex pa0 t-fast"><span _ngcontent-resp-booking-airways-c44=""></span><span _ngcontent-resp-booking-airways-c44=""></span></span></div></jb-expandable-indicator></button><!----><jb-flyout _ngcontent-resp-booking-airways-c88="" class="ng-tns-c88-2"><!----></jb-flyout></div></jb-select></jb-form-field-container></div><div _ngcontent-resp-booking-airways-c181="" class="pl1"><jb-currency-toggle _ngcontent-resp-booking-airways-c181=""><!----></jb-currency-toggle></div></div><div _ngcontent-resp-booking-airways-c181="" class="legal mt0 tr pr2 fr dib"> ©2023. All rights reserved </div></div></div></div><!----><!----></div></jb-help-and-faq></div><!----></jb-footer><!----></jb-app> <script src="assets/monitoring/adrum-config.js"></script> <script src="assets/monitoring/adrum.js"></script> <script type="text/javascript" src="assets/crystal-blue-feature-flags.js"></script> <noscript> <iframe src="//s.thebrighttag.com/iframe?c=UXE8DVB" width="1" height="1" frameborder="0" scrolling="no" marginheight="0" marginwidth="0"></iframe> </noscript> <script src="runtime.adbbc5eb994aee7d.js" type="module"></script><script src="polyfills.6d208da441276908.js" type="module"></script><script src="vendor.96b5eb770ac54b47.js" type="module"></script><script src="main.b3c8698e7c435e0b.js" type="module"></script> <script id="jtpsdk-prd-script" src="https://sdk.jetbluevacations.com/jtpsdk/api/v1?client=jbresponsivebooking" type="text/javascript"></script><script type="text/javascript" async="" src="https://sdk.jetbluevacations.com/jtpsdk/api/v1/retrieve/features/cars/jtpsdk.cars.js?v=2.0.67" id="jtpcars-main-script"></script><script id="tokenex-prd-script" src="https://htp.tokenex.com/Iframe/Iframe-v3.min.js" type="text/javascript"></script><script type="text/javascript" src="assets/third-party-utils/flyingFocus.js"></script><script async="" type="text/javascript" src="//s.btstatic.com/tag.js#site=UXE8DVB&amp;referrer=https%3A%2F%2Fwww.jetblue.com%2Fbooking%2Fflights%3Ffrom%255C%3DJFK%255C%26to%255C%3DLAX%255C%26depart%255C%3D2023-09-16%255C%26isMultiCity%255C%3Dfalse%255C%26noOfRoute%255C%3D1%255C%26lang%255C%3Den%255C%26adults%255C%3D1%255C%26children%255C%3D0%255C%26infants%255C%3D0%255C%26sharedMarket%255C%3Dfalse%255C%26roundTripFaresFlag%255C%3Dfalse%255C%26usePoints%255C%3Dfalse"></script><div id="consent_blackbar"></div><script type="text/javascript" src="//consent.trustarc.com/notice?domain=jetblue.com&amp;c=teconsent&amp;js=nj&amp;noticeType=bb&amp;gtm=1" async="async" crossorigin="" id="truste_0.4771268501457455"></script><script type="text/javascript">(function (w, d, h, n, s) {
        s = d.createElement('script');
        (w[n] =
          w[n] ||
          function () {
            (w[n]._ = w[n]._ || []).push(arguments);
          }),
          (w[n].Host = h),
          (s.async = 1),
          (s.src = h + '/chat-sdk.js'),
          (s.type = 'text/javascript'),
          d.body.appendChild(s);
      })(window, document, 'https://sdk.asapp.com', 'ASAPP')</script><script async="" src="https://sdk.asapp.com/chat-sdk.js" type="text/javascript"></script><div class="cdk-live-announcer-element cdk-visually-hidden" aria-atomic="true" aria-live="polite">Enjoy the most legroom in coach&lt;sup&gt;1&lt;/sup&gt; – or go from roomy to roomier with Even More&lt;sup&gt;®&lt;/sup&gt; Space</div>
  <img height="1" width="1" alt="" src="https://www.google-analytics.com/collect?v=1&amp;tid=UA-123051220-6&amp;t=event&amp;ec=pageview&amp;ea=jbresponsivebooking&amp;el=JetBlue%20%7C%20Select%20Flights&amp;cid=1030577586193"><style>    .keyboard:focus, #flying-focus {        outline: 1px solid #1d2758;        outline-offset: 0.25rem;        box-shadow: 0 0 1px 1px #ffffff;    }    *:focus, .nofocus:focus, .nofocus.keyboard, .flying-focus_target { outline: none; }    #flying-focus {      position: absolute;      margin: 0;      background: transparent;      -webkit-transition-property: left, top, width, height;      transition-property: left, top, width, height;      -webkit-transition-timing-function: cubic-bezier(0,1,0,1);      transition-timing-function: cubic-bezier(0,1,0,1);      visibility: hidden;      pointer-events: none;    }    #flying-focus.flying-focus_visible {      visibility: visible;      z-index: 9999;    }    </style><script async="async" type="text/javascript" crossorigin="" importance="high" src="https://consent.trustarc.com/asset/notice.js/v/v1.7-2141"></script><iframe name="trustarc_notice" id="trustarcNoticeFrame" title="Trustarc Cross-Domain Consent Frame" src="https://consent.trustarc.com/get?name=crossdomain.html&amp;domain=jetblue.com" style="display: none;"></iframe><iframe allow="join-ad-interest-group" data-tagging-id="AW-1067674170" data-load-time="1694769068927" height="0" width="0" style="display: none; visibility: hidden;" src="https://td.doubleclick.net/td/rul/1067674170?random=1694769068863&amp;cv=11&amp;fst=1694769068863&amp;fmt=3&amp;bg=ffffff&amp;guid=ON&amp;async=1&amp;gtm=45be39d0&amp;u_w=1920&amp;u_h=1080&amp;url=https%3A%2F%2Fwww.jetblue.com%2Fbooking%2Fflights%3Ffrom%255C%3DJFK%255C%26to%255C%3DLAX%255C%26depart%255C%3D2023-09-16%255C%26isMultiCity%255C%3Dfalse%255C%26noOfRoute%255C%3D1%255C%26lang%255C%3Den%255C%26adults%255C%3D1%255C%26children%255C%3D0%255C%26infants%255C%3D0%255C%26sharedMarket%255C%3Dfalse%255C%26roundTripFaresFlag%255C%3Dfalse%255C%26usePoints%255C%3Dfalse&amp;hn=www.googleadservices.com&amp;frm=0&amp;tiba=JetBlue%20%7C%20Select%20Flights&amp;auid=185475204.1693903209&amp;fledge=1&amp;uaa=arm&amp;uab=64&amp;uafvl=Not%252FA)Brand%3B99.0.0.0%7CGoogle%2520Chrome%3B115.0.5790.170%7CChromium%3B115.0.5790.170&amp;uamb=0&amp;uap=macOS&amp;uapv=13.5.0&amp;uaw=0&amp;data=event%3Dgtag.config"></iframe><iframe sandbox="allow-scripts allow-same-origin" title="Adobe ID Syncing iFrame" id="destination_publishing_iframe_jetblueairways_0" src="https://jetblueairways.demdex.net/dest5.html?d_nsid=0#https%3A%2F%2Fwww.jetblue.com%2Fbooking%2Fflights%3Ffrom%255C%3DJFK%255C%26to%255C%3DLAX%255C%26depart%255C%3D2023-09-16%255C%26isMultiCity%255C%3Dfalse%255C%26noOfRoute%255C%3D1%255C%26lang%255C%3Den%255C%26adults%255C%3D1%255C%26children%255C%3D0%255C%26infants%255C%3D0%255C%26sharedMarket%255C%3Dfalse%255C%26roundTripFaresFlag%255C%3Dfalse%255C%26usePoints%255C%3Dfalse" style="display: none; width: 0px; height: 0px;" class="aamIframeLoaded"></iframe><div aria-labelledby="asapp-chat-sdk-frame-el" class="asappChatSDKIFrame asappChatSDKIFrame_closed asappChatSDKIFrame_closedFinished asappChatSDKIFrame_right asappChatSDKIFrame_badge" data-target="asapp-chat-sdk-iframe" id="asapp-chat-sdk-iframe" style="height: 0px;"><iframe class="asappChatSDKFrameEl" id="asapp-chat-sdk-frame-el" title="Chat Window" frameborder="0" src="https://sdk.asapp.com/chat-sdk-iframe.html?APIHostname=jetblue.asapp.com&amp;CompanyMarker=jetblue&amp;Origin=https%3A%2F%2Fwww.jetblue.com%2Fbooking%2Fflights&amp;RegionCode=US&amp;Language=en"></iframe></div> 
 
        <iframe style="position: absolute; visibility: hidden; width: 1px; height: 1px;" src="//servedby.flashtalking.com/container/1777;109595;11302;iframe/?ftXRef=&amp;ftXVaftXRef=&amp;ftXValue=&amp;ftXCurrency=Cash&amp;U1=&amp;U2=&amp;U3=&amp;U5=&amp;U6=&amp;U11=&amp;U15=false&amp;U16=&amp;U17=&amp;U18=false&amp;ft_referrer=https%3A%2F%2Fwww.jetblue.com%2Fbooking%2Fflights%3Ffrom%255C%3DJFK%255C%26to%255C%3DLAX%255C%26depart%255C%3D2023-09-16%255C%26isMultiCity%255C%3Dfalse%255C%26noOfRoute%255C%3D1%255C%26lang%255C%3Den%255C%26adults%255C%3D1%255C%26children%255C%3D0%255C%26infants%255C%3D0%255C%26sharedMarket%255C%3Dfalse%255C%26roundTripFaresFlag%255C%3Dfalse%255C%26usePoints%255C%3Dfalse%3F~U1%3D%26U2%3D%26U3%3D%26U5%3D%26U6%3D%26U11%3D%26U15%3Dfalse%26U16%3D%26U17%3D%26U18%3Dfalse&amp;ns=&amp;cachebuster=2113588751"></iframe>
<style id="getToKnowUsMargin"> .page-margin.pt5-ns.jb-max-width.center.ng-star-inserted {margin-top: -10px !important}</style>
      
      

      <iframe style="position: absolute; visibility: hidden; width: 1px; height: 1px;" src="//servedby.flashtalking.com/container/1777;30045;3530;iframe/?spotName=Flight_Search_Results_Flight_Select&amp;ftXValue=Cash&amp;U1=&amp;U2=&amp;U3=&amp;U5=&amp;cachebuster=88638483"></iframe><!-- Bing Code for Remarketing Tag - JetBlue Card-->
<!-- Bing Code for Remarketing Tag - JetBlue Card-->
<!-- BEGIN Krux Control Tag for "book.jetblue.com" -->
<!-- Source: /controltag?confid=KPiiBM29&site=book.jetblue.com&edit=1 -->

<!-- END Krux Controltag --><img style="visibility:hidden;display:none;" height="1" width="1" src="https://live.rezync.com/sync?c=16b6410431b6374e780104abb0443ca8&amp;p=85c500c20900a7e018f3371f24a9ad5c&amp;k=retargeting-4-jetblue">

<!--<img style="visibility:hidden;display:none;" height="1" width="1" src="https://urldefense.proofpoint.com/v2/url?u=https-3A__live.rezync.com_sync-3Fc-3D16b6410431b6374e780104abb0443ca8-26p-3D85c500c20900a7e018f3371f24a9ad5c-26k-3Dretargeting-2D4-2Djetblue&d=DwIGAg&c=Ftw_YSVcGmqQBvrGwAZugGylNRkk-uER0-5bY94tjsc&r=t9Xx8AIt6ZBalF1Oq30XBTQmmxu-vHJJStrxXrgHf9E&m=Rq-Ck5avHfD4MD5VhpMIGQckqNcXI49O4ceg4jRwGGU&s=RFIXJdF3Bu0FMN8Si7WPGloC4A9ftttPOQhdKdAqYjQ&e= ">-->



<img src="//sp.analytics.yahoo.com/spp.pl?a=10001407071497&amp;.yp=12643&amp;js=no" style="height:1;width:1;border:0;display:none;"><img src="https://ci.iasds01.com/?anId=928923&amp;chanId=2979" height="1" width="1" alt=""><!--
Event snippet for JetBlue - Flight Searches on : Please do not remove.
Place this snippet on pages with events you’re tracking. 
Creation date: 08/13/2020
-->


<!-- End of event snippet: Please do not remove -->
<!-- 
Start of global snippet: Please do not remove
Place this snippet between the <head> and </head> tags on every page of your site.
-->
<!-- Global site tag (gtag.js) - Google Marketing Platform -->


<!-- End of global snippet: Please do not remove -->
<div style="width:0px; height:0px; display:none; visibility:hidden;" id="batBeacon164556168164"><img style="width:0px; height:0px; display:none; visibility:hidden;" id="batBeacon689703505367" width="0" height="0" alt="" src="https://bat.bing.com/action/0?ti=5762284&amp;Ver=2&amp;mid=b8b8b8b8-b8b8-48b8-b8b8-b8b8b8b8b8b8&amp;sid=ceafd34053a711eeb8b8b9b8b8b8b8b8&amp;vid=d1d180c04bc711eeb8b8b9b8b8b8b8b8&amp;vids=0&amp;msclkid=N&amp;pi=918639831&amp;lg=en-US&amp;sw=1920&amp;sh=1080&amp;sc=24&amp;tl=JetBlue%20%7C%20Select%20Flights&amp;p=https%3A%2F%2Fwww.jetblue.com%2Fbooking%2Fflights%3Ffrom%255C%3DJFK%255C%26to%255C%3DLAX%255C%26depart%255C%3D2023-09-16%255C%26isMultiCity%255C%3Dfalse%255C%26noOfRoute%255C%3D1%255C%26lang%255C%3Den%255C%26adults%255C%3D1%255C%26children%255C%3D0%255C%26infants%255C%3D0%255C%26sharedMarket%255C%3Dfalse%255C%26roundTripFaresFlag%255C%3Dfalse%255C%26usePoints%255C%3Dfalse&amp;r=&amp;lt=86683&amp;evt=pageLoad&amp;sv=1&amp;rn=196009"></div><iframe height="0" width="0" style="display: none; visibility: hidden;" src="https://10274533.fls.doubleclick.net/activityi;src=10274533;type=invmedia;cat=jetbl00;ord=1906408713075;auiddc=185475204.1693903209;ps=1;pcor=1648471209;gtm=45fe39d0;uaa=arm;uab=64;uafvl=Not%252FA)Brand%3B99.0.0.0%7CGoogle%2520Chrome%3B115.0.5790.170%7CChromium%3B115.0.5790.170;uamb=0;uam=;uap=macOS;uapv=13.5.0;uaw=0;epver=2;~oref=https%3A%2F%2Fwww.jetblue.com%2Fbooking%2Fflights%3Ffrom%255C%3DJFK%255C%26to%255C%3DLAX%255C%26depart%255C%3D2023-09-16%255C%26isMultiCity%255C%3Dfalse%255C%26noOfRoute%255C%3D1%255C%26lang%255C%3Den%255C%26adults%255C%3D1%255C%26children%255C%3D0%255C%26infants%255C%3D0%255C%26sharedMarket%255C%3Dfalse%255C%26roundTripFaresFlag%255C%3Dfalse%255C%26usePoints%255C%3Dfalse?"></iframe><iframe allow="join-ad-interest-group" data-tagging-id="DC-10274533/invmedia/jetbl00+standard" data-load-time="1694769068774" height="0" width="0" style="display: none; visibility: hidden;" src="https://td.doubleclick.net/td/fls/rul/activityi;fledge=1;src=10274533;type=invmedia;cat=jetbl00;ord=1906408713075;auiddc=185475204.1693903209;ps=1;pcor=1648471209;gtm=45fe39d0;uaa=arm;uab=64;uafvl=Not%252FA)Brand%3B99.0.0.0%7CGoogle%2520Chrome%3B115.0.5790.170%7CChromium%3B115.0.5790.170;uamb=0;uam=;uap=macOS;uapv=13.5.0;uaw=0;epver=2;~oref=https%3A%2F%2Fwww.jetblue.com%2Fbooking%2Fflights%3Ffrom%255C%3DJFK%255C%26to%255C%3DLAX%255C%26depart%255C%3D2023-09-16%255C%26isMultiCity%255C%3Dfalse%255C%26noOfRoute%255C%3D1%255C%26lang%255C%3Den%255C%26adults%255C%3D1%255C%26children%255C%3D0%255C%26infants%255C%3D0%255C%26sharedMarket%255C%3Dfalse%255C%26roundTripFaresFlag%255C%3Dfalse%255C%26usePoints%255C%3Dfalse?"></iframe><div style="width:0px; height:0px; display:none; visibility:hidden;" id="batBeacon217550454827"><img style="width:0px; height:0px; display:none; visibility:hidden;" id="batBeacon998526033535" width="0" height="0" alt="" src="https://bat.bing.com/action/0?ti=5103746&amp;Ver=2&amp;mid=b8b8b8b8-b8b8-48b8-b8b8-b8b8b8b8b8b8&amp;sid=ceafd34053a711eeb8b8b9b8b8b8b8b8&amp;vid=d1d180c04bc711eeb8b8b9b8b8b8b8b8&amp;vids=0&amp;msclkid=N&amp;pi=918639831&amp;lg=en-US&amp;sw=1920&amp;sh=1080&amp;sc=24&amp;tl=JetBlue%20%7C%20Select%20Flights&amp;p=https%3A%2F%2Fwww.jetblue.com%2Fbooking%2Fflights%3Ffrom%255C%3DJFK%255C%26to%255C%3DLAX%255C%26depart%255C%3D2023-09-16%255C%26isMultiCity%255C%3Dfalse%255C%26noOfRoute%255C%3D1%255C%26lang%255C%3Den%255C%26adults%255C%3D1%255C%26children%255C%3D0%255C%26infants%255C%3D0%255C%26sharedMarket%255C%3Dfalse%255C%26roundTripFaresFlag%255C%3Dfalse%255C%26usePoints%255C%3Dfalse&amp;r=&amp;lt=86683&amp;evt=pageLoad&amp;sv=1&amp;rn=807290"></div><style id="getToKnowUsMargin"> .page-margin.pt5-ns.jb-max-width.center.ng-star-inserted {margin-top: -10px !important}</style><div class="jbsurvey-reportWebsiteIssue">
  <!-- <script src="https://cdn.ravenjs.com/3.26.4/raven.min.js" crossorigin="anonymous"></script> -->
  <script type="text/javascript">
    ; var checkjbABtest = setInterval(function() {
      if (typeof jbABTest !== 'undefined') {
        ; (function(jbABTest) {

          if ((/(iPhone|iPod|iPad).*AppleWebKit(?!.*Version)/i.test(navigator.userAgent)) && (/(iPhone|iPod|iPad).*AppleWebKit(?!.*CriOS)/i.test(navigator.userAgent)) || (/(iPhone|iPod|iPad|Android)/i.test(navigator.userAgent))) {
            return;
          }
          if (/(?:\\b(MS)?IE\\s+|\\bTrident\\/7\\.0;.*\\s+rv:)(\\d+)/i.test(navigator.userAgent) || /Edge\\/([0-9]{1,}[\\.0-9]{0,})/i.test(navigator.userAgent)) {
            return;
          }
          // Raven.config('https://8b22a5ab7d6642ce9daa5c8c792e5012@sentry.io/225409').install();
          if (window.outerWidth < 768) {
            return;
          }
          if (typeof jQuery === 'function') {
            var lib = 'https://www.jetblue.com/magnoliapublic/.resources/survey_lib/jbsurvey_NTS_JQueryOnPage_logger.js';
          } else if (typeof BrightTag.jQuery === 'function') {
            var lib = 'https://www.jetblue.com/magnoliapublic/.resources/survey_lib/jbsurvey_NTS.js';
          }
          var campaign = new jbABTest.campaign({
            surveyClassName: 'jbSurvey reportWebsiteIssue',
            loadAssets: {
              js: [lib]
              // js: [ 'https://www.jetblue.com/img/ABTests/survey/jbsurvey_with_checkbox.js' ]
              // js: [ 'https://www.jetblue.com/magnoliapublic/.resources/survey_lib/jbsurvey_NTS.js' ]
            },
            checkUrlParam: false,
            userAgent: /./,
            cookieParam: {
              name: 'NgbIssueSurvey',
              reset: true,
              days: 20
              //hours: 10
            },
            campaignParam: [
              {
                name: "blueFareFamilies",
                experience: "BLUE_CONTROL"
              },
              {
                name: "blueFareFamilies",
                experience: "BLUE_TEST"
              },
              {
                name: "bluePlusFareFamilies",
                experience: "BLUE_PLUS_CONTROL"
              },
              {
                name: "bluePlusFareFamilies",
                experience: "BLUE_PLUS_TEST"
              },
              {
                name: "blueFlexFareFamilies",
                experience: "BLUE_FLEX_CONTROL"
              },
              {
                name: "blueFlexFareFamilies",
                experience: "BLUE_FLEX_TEST"
              }

            ]
          });

          campaign.onFallback(function() {
            var createdElements = document.querySelectorAll('.jbsurvey-reportWebsiteIssue');
            Array.prototype.forEach.call(createdElements, function(element) {
              element.parentElement.removeChild(element);
            });
          });


          var surveyDataOrglSide = {
            SET: {
              MAIN_OT_S: [
                { QUESTION: "ISSUEQUES" },
                { QUESTION: "GOODBYE" }
              ]
            },
            QUESTION: {
              ISSUEQUES: {
                QUESTION: "We’re sorry you encountered an issue.<br /><p style='font-weight:400'>Please tell us about the problem to help us improve the jetblue.com experience.</p>",
                CHOICES: [
                  {
                    TYPE: "TEXT",
                    MAX_LENGTH: 250,
                    MANDATORY: 'Yes'
                  }
                ],
                BUTTON: [
                  {
                    ID: "TEXT",
                    LABEL: 'Submit',
                    ERROR: 'Please describe the issue you encountered.',
                    MANDATORY: 'Yes'
                  },
                ]
              },
              GOODBYE: {
                QUESTION: "Thanks so much for taking the time to report this issue. <br/> <p style='font-weight:400'>We can't reply back but our development team will get on it right away.</p>",
              }
            },
            MINIMIZED_TEXT: 'Report Website Problem'
          };


          //Control
          new campaign.experience({ name: "NGB Issue Survey Control", split: 0.75, track: 'false', cookieExpiry: { days: 7 } });
          //old content + side button
          new campaign.experience({ name: "NGB Issue Survey test", split: 0.25, track: 'init', cookieExpiry: { days: 20 } }, function() {
            var survey = new jbSurvey('IssueSurvey', surveyDataOrglSide, {
              INITIAL_SET_ID: 'MAIN_OT_S',
              FIRST_QUESTION: 'REPORTISSUE',
              LAST_QUESTION: 'GOODBYE',
              INITIAL_HEIGHT: 218,

              SHOW_ONCE_WITHIN: 0, //number of days
              //NO_SHOW_AFTER_FINISH: 20,
              //NO_SHOW_AFTER_MINIMIZE: [1,20],
              //NO_SHOW_TILL_EXPIRY: 1, //24*60*60*1000 = 86400000 ; (5*60*1000)/(24*60*60*1000)

              IS_SURVEY_PERSISTENT: true,
              INITIAL_STATE_MINIMIZE: true
              //alreadyServed: false
            });
            //survey.alreadyServed = false;
            (function(jQuery) {
              function getPosition(el) {
                for (var lx = 0, ly = 0;
                  el != null;
                  lx += el.offsetLeft, ly += el.offsetTop, el = el.offsetParent);

                return { x: lx, y: ly };
              }
              jQuery(survey).bind(survey.EVENTS.LOAD, function() {
                jQuery(survey).trigger(survey.EVENTS.ACTIVATE);
              });


              jQuery(window).bind('scroll', function() {
                if (jQuery('body').hasClass('fixed-nav-enabled')) {
                  jQuery('#sticky-nav').css('top', jQuery('.contentSizeProxy').outerHeight());
                }
              });

              jQuery(survey).bind(survey.EVENTS.NEXT_QUESTION, function(e, value) {
                // console.info('next question triggered');
                // console.info(value);

                value = value == 300 ? 125 : value;
                if (jQuery('body').hasClass('fixed-nav-enabled')) {
                  jQuery('#sticky-nav').css('transition', 'top .45s').css('top', value);
                }
                var scrollTop = jQuery(window).scrollTop();
                if (scrollTop == 0) {
                  // console.log("getting scroll value"+scrollTop);
                  jQuery('#bodyTag').removeClass("fixed-nav-enabled");
                }
                var quesHeight = jQuery('.quesDiv').height();
                var quesDivNextQstyle = {
                  'min-height': quesHeight + 25,
                }
                jQuery('.min-block').css('top', quesHeight + 25);
                jQuery('.surveyModalContainer').css(quesDivNextQstyle);
              });
              jQuery(survey).bind(survey.EVENTS.SURVEY_MINIMIZED, function(e) {
                console.info('Minimizing Survey');
              });


              var btnHtml = '<div id="sideBtn"><a href="javascript:void(0);">' + surveyDataOrglSide.MINIMIZED_TEXT + '</a></div>';
              var hideMinMaxStyle = '<style id="hideMinMax"> #minMax {display: none}</style>';
              var hideSideBtnStyle = '<style id="hideSideBtn"> #sideBtn {display: none}</style>';
              var minimizeBtnHtml = '<div id="minimizeBtn"><a href="javascript:void(0);">Minimize</a>' +
                '<svg width="17px" height="9px" viewBox="0 0 17 9" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">' +
                '<title>Iconography / Arrows / Navigation Dropdown / Mobile Down</title>' +
                '<desc>Created with Sketch.</desc>' +
                '<defs></defs>' +
                '<g id="Symbols" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round">' +
                '<g id="minimize" transform="translate(-70.000000, -5.000000)" stroke="#0033A0" stroke-width="2">' +
                '<g id="Group">' +
                '<g id="Iconography-/-Arrows-/-Navigation-Dropdown-/-Mobile-Down" transform="translate(78.500000, 9.000000) rotate(-180.000000) translate(-78.500000, -9.000000) translate(71.000000, 5.000000)">' +
                '<polyline points="14.0937956 0.00219177553 7.0937956 7.00219178 0.0937955955 0.00219177553"></polyline>' +
                '</g>' +
                '</g>' +
                '</g>' +
                '</g>' +
                '</svg>' +
                '</div>';
              var newSubmitBtnHtml = '<div id="newSubmitBtn"><button>Submit</button></div>';
              jQuery('head').append(hideMinMaxStyle);
              var counter = 0;
              var checkSurvey = setInterval(function() {
                if (jQuery('.lifeCycleState').length !== 0) {
                  if (jQuery('jb-app').length !== 0 && jQuery('jb-footer').length !== 0) {
                    jQuery('jb-app').append(jQuery('.lifeCycleState'));
                  }
                  // if (jQuery('jb-app').length !== 0 && jQuery('jb-footer').length !== 0) {
                  //   jQuery('jb-footer').append(jQuery('#sideBtn'));
                  // }
                  jQuery('.lifeCycleState').append(btnHtml);
                  jQuery('.surveyModal').append(minimizeBtnHtml);
                  jQuery('#submitDiv').hide();
                  jQuery('.ansDiv').append(newSubmitBtnHtml);
                  jQuery('.quesDiv').attr('tabindex', '-1');
                  jQuery('#surveyErrDisplay').attr('tabindex', '-1');
                  jQuery('.surveyInput').attr('tabindex', '-1');
                  jQuery('#newSubmitBtn button').attr('tabindex', '-1');
                  jQuery('#minimizeBtn a').attr('tabindex', '-1');
                  var windowOuterHeight = jQuery(window).height();
                  var windowOuterWidth = window.innerWidth;

                  var textboxSize = jQuery('.jbSurvey .surveyInput').outerWidth();
                  var btnStyle = {
                    'border': '1px solid #d3d3d3',
                    'border-radius': '5px 5px 5px 5px',
                    'padding': '22px 15px 22px 15px',
                    'font-size': '14px',
                    '-webkit-writing-mode': 'vertical-rl',
                    '-moz-writing-mode': 'vertical-rl',
                    '-ms-writing-mode': 'tb-rl',
                    'writing-mode': 'vertical-rl',

                    'font-weight': '700',
                    'cursor': 'pointer',
                    'position': 'fixed',
                    'z-index': '98',
                    'margin-top': windowOuterHeight / 2 - 100,
                    'transform': 'rotate(180deg)',
                    'margin-right': '40px',
                    'background-color': '#fff',
                    'min-height': '155px' //prevent button resizing
                  };
                  // var btnTextStyle = {
                  //   'color': '#0033A0',
                  //   'text-decoration': 'none',
                  // };

                  var btnTextStyle = {
                    'color': '#0033A0',
                    'font-family': 'JBDin,Arial,Helvetica,sans-serif',
                    'text-decoration': 'none',
                  };

                  var minMaxStyle = {
                    'color': '#0033A0',

                    'border': '1px solid #0033a0',
                    'border-top-color': '#ffffff',
                    'margin-left': '0px',
                  };

                  var surveyContainerStyle = {
                    'border-bottom': '1px solid #0033a0',
                  };

                  var minDivStyle = {
                    'min-width': '100px',
                  }

                  var minBlockStyle = {
                    'margin-left': '85px',
                    'width': '100px',
                  }

                  var quesDivStyle = {
                    'line-height': '1.5',
                    'padding': '15px 0 2px 0',
                    'margin-left': '85px',
                    'width': '85%',
                    'float': 'none',
                  }

                  var ansDivStyle = {
                    'margin-left': '85px',
                  }

                  var textareaCounterStyle = {
                    'width': textboxSize,
                    'padding': '10px 0px 0px 0px',
                  }

                  var surveyErrDisplayStyle = {
                    'float': 'left',
                    'margin-left': '85px',
                  }

                  var sumitDivStyle = {
                    'min-height': '2.75rem',
                    'min-width': '8rem',
                    'background-color': '#0033A0',
                    'text-transform': 'none',
                    'border-radius': '.125rem .75rem .125rem .75rem',

                  }
                  var submitDivBGStyle = {
                    'background-color': '#0033A0',
                  }
                  var submitDivHoverBGStyle = {
                    'background-color': '#00205B',
                  }

                  var submitBtnStyle = {
                    'margin-left': '85px',
                  }

                  var modalStyleSmallerThan968 = {
                    'width': '100%',
                    'min-width': 0,
                  }

                  var modalStyleBiggerThan968 = {
                    'width': '968px',
                    'min-width': '968px',
                  }

                  var minimizeStyle = {
                    'margin-left': '15px',
                    'font-size': '15px',

                    'color': '#0033A0',
                    'text-decoration': 'none',
                    'font-weight': '700',
                    'float': 'right',
                  }

                  var minimizeDivStyle = {
                    'padding-top': '18px',
                    'width': textboxSize,
                  }

                  var surveyInputStyle = {
                    'height': '55px',
                  }

                  var minimizeBtnStyle = {
                    // 'max-width': textboxSize,
                    'margin-left': '85px',
                    'margin-top': '18px',
                    'padding-bottom': '30px',
                    'font-size': '14px',

                    'color': '#0033A0',
                    'text-decoration': 'none',
                    'font-weight': 'bold',
                  }

                  var newSubmitBtnStyle = {
                    'margin-top': '-15px',
                    'width': '8rem',
                    'min-height': '2.75rem',
                    'min-width': '8rem',
                    
                    
                   
                  }

                  var newSubmitBtnStyleOTSNewH = {
                    'margin-top': '-15px',
                    'width': '128px',
                    'min-height': '48px',
                    'min-width': '128px',
                    'background-color': '#0033A0',
                    'text-transform': 'none',
                    'border-radius': '2.5px 15px',
                  }

                  var newSubmitBtnButtonStyle = {
                    'cursor': 'pointer',
                    'font-weight': '500',
                    'color': 'white',
                    'padding': '1rem 2.5rem',
                    'border-radius': '0.125rem 0.75rem',
                    'background-color': '#0033A0',
                    'text-transform': 'none',
                    'border-style': 'hidden',
                  }

                  var newSubmitBtnButtonStyleOTSNewH = {
                    'cursor': 'pointer',
                    'font-weight': '500',
                    'color': 'white',
                    'padding': '16px 40px',
                    'border': '0',
                    'background': '0 0',
                  }

                  var surveyModuleContainerStyle = {
                    'background-color': '#f6f6f6',
                  }
                  var minimizeBtnAStyle = {
                    'text-decoration': 'unset',
                    'margin-left': textboxSize / 2 - 40,
                    'color': '#0033A0',
                  }

                  var surveyModalDivStyle = {
                    'background-color': '#f6f6f6',
                  }

                  var surveyModalStyle = {
                    'background-color': '#f6f6f6',
                    'font-size': '14px',
                  }

                  var surveyModalMinDivStyle = {
                    'font-family': 'avenir next,JBAvenir,avenir,Arial,Helvetica,sans-serif',
                  }

                  var arrowStyle = {
                    'margin-left': '10px',
                    'cursor': 'pointer',
                  }

                  jQuery('#sideBtn').css(btnStyle);
                  if (jQuery('jb-app').length !== 0 && jQuery('jb-footer').length !== 0) {
                    jQuery('jb-footer').append(jQuery('#sideBtn'));
                  }
                  jQuery('#sideBtn a').css(btnTextStyle);
                  jQuery('#minMax').css(minMaxStyle);
                  jQuery('#minMax a').css(btnTextStyle);
                  jQuery('.quesDiv').css(quesDivStyle);
                  jQuery('.ansDiv').css(ansDivStyle);
                  jQuery('.ansDiv #textareaCounter').css(textareaCounterStyle);
                  jQuery('#surveyErrDisplay').css(surveyErrDisplayStyle);
                  jQuery('.jbSurvey .surveyModalDiv #submitDiv input[type=submit]').css(sumitDivStyle);
                  jQuery('#submitDiv').css(submitBtnStyle);
                  jQuery('.surveyModalContainer').css(surveyContainerStyle);
                  jQuery('.min-block').css(minBlockStyle);
                  jQuery('.min-div').css(minDivStyle);
                  jQuery('a.Minimize').css(minimizeStyle);
                  jQuery('a.Minimize').parent().css(minimizeDivStyle);
                  jQuery('.surveyInput').css(surveyInputStyle);
                  jQuery('#minimizeBtn').css(minimizeBtnStyle);
                  jQuery('#minimizeBtn a').css(minimizeBtnAStyle);
                  if (jQuery('jb-app').length !== 0) {
                    jQuery('#newSubmitBtn').css(newSubmitBtnStyle);
                  } else {
                    jQuery('#newSubmitBtn').css(newSubmitBtnStyleOTSNewH);
                  }
                  if (jQuery('jb-app').length !== 0) {
                    jQuery('#newSubmitBtn button').css(newSubmitBtnButtonStyle);
                  } else {
                    jQuery('#newSubmitBtn button').css(newSubmitBtnButtonStyleOTSNewH);
                  }
                  jQuery('.surveyModal').css(surveyModalStyle);
                  jQuery('.surveyModal, .min-div').css(surveyModalMinDivStyle);
                  jQuery('.surveyModalDiv').css(surveyModalDivStyle);
                  jQuery('.surveyModuleContainer').css(surveyModuleContainerStyle);
                  jQuery('#minimizeBtn svg').css(arrowStyle);


                  if (window.navigator.userAgent.includes("Firefox") || window.navigator.userAgent.includes("Chrome")) {
                    jQuery('#sideBtn').css('margin-left', window.innerWidth - 10 - 58);
                    if (jQuery('jb-footer').length !== 0 && jQuery('jb-app').length !== 0) {
                      jQuery('#sideBtn').css('top', 0);
                    }
                  } else if (jQuery('jb-footer').length !== 0 && jQuery('jb-app').length !== 0) {
                    jQuery('#sideBtn').css('right', 0);
                  }


                  jQuery('#sideBtn').bind('click', function() {
                    // var textboxSize = jQuery('.jbSurvey .surveyInput').outerWidth();
                    // jQuery('#minimizeBtn a').css('margin-left', textboxSize / 2 - 40);

                    if (window.innerWidth < 968) {
                      var marginLeft = window.innerWidth * 0.177 / 2;
                      jQuery('.surveyModal').css(modalStyleSmallerThan968);
                      jQuery('.min-block').css('margin-left', marginLeft);
                      jQuery('.quesDiv').css('margin-left', marginLeft);
                      jQuery('.ansDiv').css('margin-left', marginLeft);
                      jQuery('#submitDiv').css('margin-left', marginLeft);
                      jQuery('#surveyErrDisplay').css('margin-left', marginLeft);
                      // jQuery('.surveyInput').css('margin-left', marginLeft);
                      jQuery('#minimizeBtn').css('margin-left', marginLeft);
                      jQuery('#minimizeBtn a').css('margin-left', window.innerWidth * 0.823 / 2 - 40);
                    }
                    jQuery('.quesDiv').attr('tabindex', '0');
                    jQuery('#surveyErrDisplay').attr('tabindex', '0');
                    jQuery('.surveyInput').attr('tabindex', '0');
                    jQuery('#newSubmitBtn button').attr('tabindex', '0');
                    jQuery('#minimizeBtn a').attr('tabindex', '0');
                    jQuery('a.Minimize').parent().css('width', textboxSize);
                    jQuery('.ansDiv #textareaCounter').css('width', textboxSize);
                    jQuery('#minMax').click();
                    jQuery('#minMax').css(minMaxStyle);
                    jQuery('#minMax a').css(btnTextStyle);
                    jQuery('head').append(hideSideBtnStyle);

                    // jQuery('#hideMinMax').remove();
                  });

                  jQuery('#minimizeBtn a').bind('click', function() {
                    jQuery('.quesDiv').attr('tabindex', '-1');
                    jQuery('#surveyErrDisplay').attr('tabindex', '-1');
                    jQuery('.surveyInput').attr('tabindex', '-1');
                    jQuery('#newSubmitBtn button').attr('tabindex', '-1');
                    jQuery('#minimizeBtn a').attr('tabindex', '-1');
                    if (jQuery('.quesDiv').text().indexOf('Thanks so much for taking the time to report this issue.') !== -1) {
                      jQuery('.surveyModalContainer').css('min-height', 0);
                      jQuery('.contentSizeProxy').css('min-height', 0);
                      jQuery('.contentSizeProxy').animate({ height: 0 }, 20);
                      jQuery('.surveyModalContainer').animate({ height: 0 }, 400);
                      setTimeout(function() {
                        jQuery('.surveyModalContainer').css('display', 'none');
                      }, 500);
                    } else {
                      jQuery('#minMax').click();
                    }
                  });

                  jQuery('#minimizeBtn svg').bind('click', function() {
                    if (jQuery('.quesDiv').text().indexOf('Thanks so much for taking the time to report this issue.') !== -1) {
                      jQuery('.surveyModalContainer').css('min-height', 0);
                      jQuery('.contentSizeProxy').css('min-height', 0);
                      jQuery('.contentSizeProxy').animate({ height: 0 }, 20);
                      jQuery('.surveyModalContainer').animate({ height: 0 }, 400);
                      setTimeout(function() {
                        jQuery('.surveyModalContainer').css('display', 'none');
                      }, 500);
                    } else {
                      jQuery('#minMax').click();
                    }
                  });

                  jQuery('#newSubmitBtn').bind('click', function() {
                    jQuery('#submitDiv input').click();
                  });


                  jQuery(window).bind('resize', function() {
                    jQuery('#sideBtn').css('margin-top', jQuery(window).height() / 2 - 100);

                    if (window.navigator.userAgent.includes("Firefox") || window.navigator.userAgent.includes("Chrome")) {
                      jQuery('#sideBtn').css('margin-left', window.innerWidth - 10 - 58);
                    }
                    var textboxSize = jQuery('.jbSurvey .surveyInput').outerWidth();
                    var marginLeft = window.innerWidth * 0.177 / 2;
                    if (window.innerWidth >= 968) {
                      jQuery('.surveyModal').css(modalStyleBiggerThan968);
                    } else {
                      jQuery('.surveyModal').css(modalStyleSmallerThan968);
                      jQuery('.min-block').css('margin-left', marginLeft);
                      jQuery('.quesDiv').css('margin-left', marginLeft);
                      jQuery('.ansDiv').css('margin-left', marginLeft);
                      jQuery('#submitDiv').css('margin-left', marginLeft);
                      jQuery('#surveyErrDisplay').css('margin-left', marginLeft);
                      jQuery('#minimizeBtn').css('margin-left', marginLeft);
                    }
                    var containerHeight = jQuery('.surveyModalContainer').height();
                    var contentSizeProxyStyle = {
                      'height': containerHeight,
                      '-webkit-transition': 'height .4s',
                      'transition': 'height .4s',
                    };
                    jQuery('.contentSizeProxy').css(contentSizeProxyStyle);
                    jQuery('a.Minimize').parent().css('width', textboxSize);
                    jQuery('.ansDiv #textareaCounter').css('width', textboxSize);
                    jQuery('#minimizeBtn a').css('margin-left', textboxSize / 2 - 40);


                  });
                  jQuery('#minMax').bind('click', function() {
                    if (jQuery('.surveyModalContainer').outerHeight() > 1) {
                      // jQuery('head').append(hideMinMaxStyle);
                      setTimeout(function() {
                        jQuery('#hideSideBtn').remove();
                      }, 400);
                    } else {
                      // jQuery('#hideMinMax').remove();
                    }
                  });

                  jQuery('#newSubmitBtn button').bind('click', function() {
                    var fsSessionId = FS.getCurrentSession()
                    var track = trackfs(fsSessionId);
                    track.then(function(val) {
                      if (val === 'eVarCreated') {
                        setTimeout(function() {
                          clearEvar('eVar83');
                        }, 3000);
                      }
                    });

                  });

                  function trackfs(fssessionId) { //add full store session to s.tl call
                    if (window.s) {
                      var fseVar = 'eVar83';
                      s.linkTrackVars = s.linkTrackVars || '';
                      var linkTrackVars = s.linkTrackVars.split(',');
                      var isEvarExist = false;
                      linkTrackVars.forEach(element => {
                        if (element === 'eVar83') {
                          isEvarExist = true;
                        }
                      })

                      if (!isEvarExist) {
                        linkTrackVars.push(fseVar);
                      }

                      s.linkTrackVars = linkTrackVars.join(',');
                      s[fseVar] = fssessionId;

                      return new Promise(function(resolve, reject) {
                        resolve('eVarCreated');
                      });
                    } else {
                      setTimeout(function() { track(surveyActivityData, surveyTextResponse); }, 1000);
                    }
                  }
                  function clearEvar(evar) {
                    if (window.s) {
                      s['eVar72'] = '';
                      s['eVar71'] = '';
                      s.linkTrackVars = s.linkTrackVars || '';
                      var linkTrackVars = s.linkTrackVars.split(',');
                      var newLinkTrackVars = [];
                      linkTrackVars.forEach(e => {
                        if (e != evar) {
                          newLinkTrackVars.push(e);
                        } else {
                          s[evar] = '';
                        }
                      })
                      s.linkTrackVars = newLinkTrackVars.join(',');
                    }
                  }
                  clearInterval(checkSurvey);
                } else if (counter == 10) {
                  clearInterval(checkSurvey);
                }
                counter++;
              }, 500);
            })(typeof BrightTag.jQuery === 'function' ? BrightTag.jQuery : jQuery);
          });
          campaign.serve();
        })(jbABTest);
        clearInterval(checkjbABtest);

      }
    }, 300);
    setTimeout(function() {
      clearInterval(checkjbABtest);
    }, 4000);
  </script>
</div>

 
        <iframe style="position: absolute; visibility: hidden; width: 1px; height: 1px;" src="//servedby.flashtalking.com/container/1777;109595;11302;iframe/?ftXRef=&amp;ftXVaftXRef=&amp;ftXValue=&amp;ftXCurrency=Cash&amp;U1=&amp;U2=&amp;U3=&amp;U5=&amp;U6=&amp;U11=&amp;U15=false&amp;U16=&amp;U17=&amp;U18=false&amp;ft_referrer=https%3A%2F%2Fwww.jetblue.com%2Fbooking%2Fflights%3Ffrom%255C%3DJFK%255C%26to%255C%3DLAX%255C%26depart%255C%3D2023-09-16%255C%26isMultiCity%255C%3Dfalse%255C%26noOfRoute%255C%3D1%255C%26lang%255C%3Den%255C%26adults%255C%3D1%255C%26children%255C%3D0%255C%26infants%255C%3D0%255C%26sharedMarket%255C%3Dfalse%255C%26roundTripFaresFlag%255C%3Dfalse%255C%26usePoints%255C%3Dfalse%3F~U1%3D%26U2%3D%26U3%3D%26U5%3D%26U6%3D%26U11%3D%26U15%3Dfalse%26U16%3D%26U17%3D%26U18%3Dfalse&amp;ns=&amp;cachebuster=1531669317"></iframe>

      
      

      <iframe style="position: absolute; visibility: hidden; width: 1px; height: 1px;" src="//servedby.flashtalking.com/container/1777;30045;3530;iframe/?spotName=Flight_Search_Results_Flight_Select&amp;ftXValue=Cash&amp;U1=&amp;U2=&amp;U3=&amp;U5=&amp;cachebuster=1005592797"></iframe><img style="visibility:hidden;display:none;" height="1" width="1" src="https://live.rezync.com/sync?c=16b6410431b6374e780104abb0443ca8&amp;p=85c500c20900a7e018f3371f24a9ad5c&amp;k=retargeting-4-jetblue">

<!--<img style="visibility:hidden;display:none;" height="1" width="1" src="https://urldefense.proofpoint.com/v2/url?u=https-3A__live.rezync.com_sync-3Fc-3D16b6410431b6374e780104abb0443ca8-26p-3D85c500c20900a7e018f3371f24a9ad5c-26k-3Dretargeting-2D4-2Djetblue&d=DwIGAg&c=Ftw_YSVcGmqQBvrGwAZugGylNRkk-uER0-5bY94tjsc&r=t9Xx8AIt6ZBalF1Oq30XBTQmmxu-vHJJStrxXrgHf9E&m=Rq-Ck5avHfD4MD5VhpMIGQckqNcXI49O4ceg4jRwGGU&s=RFIXJdF3Bu0FMN8Si7WPGloC4A9ftttPOQhdKdAqYjQ&e= ">-->



<img src="//sp.analytics.yahoo.com/spp.pl?a=10001407071497&amp;.yp=12643&amp;js=no" style="height:1;width:1;border:0;display:none;"><img src="https://ci.iasds01.com/?anId=928923&amp;chanId=2979" height="1" width="1" alt=""><!--
Event snippet for JetBlue - Flight Searches on : Please do not remove.
Place this snippet on pages with events you’re tracking. 
Creation date: 08/13/2020
-->


<iframe height="0" width="0" style="display: none; visibility: hidden;" src="https://10274533.fls.doubleclick.net/activityi;src=10274533;type=invmedia;cat=jetbl00;ord=2990325777279;auiddc=185475204.1693903209;ps=1;pcor=2056248045;gtm=45fe39d0;uaa=arm;uab=64;uafvl=Not%252FA)Brand%3B99.0.0.0%7CGoogle%2520Chrome%3B115.0.5790.170%7CChromium%3B115.0.5790.170;uamb=0;uam=;uap=macOS;uapv=13.5.0;uaw=0;epver=2;~oref=https%3A%2F%2Fwww.jetblue.com%2Fbooking%2Fflights%3Ffrom%255C%3DJFK%255C%26to%255C%3DLAX%255C%26depart%255C%3D2023-09-16%255C%26isMultiCity%255C%3Dfalse%255C%26noOfRoute%255C%3D1%255C%26lang%255C%3Den%255C%26adults%255C%3D1%255C%26children%255C%3D0%255C%26infants%255C%3D0%255C%26sharedMarket%255C%3Dfalse%255C%26roundTripFaresFlag%255C%3Dfalse%255C%26usePoints%255C%3Dfalse?"></iframe><!-- End of event snippet: Please do not remove -->
<!-- 
Start of global snippet: Please do not remove
Place this snippet between the <head> and </head> tags on every page of your site.
-->
<!-- Global site tag (gtag.js) - Google Marketing Platform -->


<!-- End of global snippet: Please do not remove -->
<iframe id="universal_pixel_28erq50" height="0" width="0" style="display:none;" src="https://insight.adsrvr.org/track/up?adv=7asns46&amp;ref=https%3A%2F%2Fwww.jetblue.com%2Fbooking%2Fflights%3Ffrom%255C%3DJFK%255C%26to%255C%3DLAX%255C%26depart%255C%3D2023-09-16%255C%26isMultiCity%255C%3Dfalse%255C%26noOfRoute%255C%3D1%255C%26lang%255C%3Den%255C%26adults%255C%3D1%255C%26children%255C%3D0%255C%26infants%255C%3D0%255C%26sharedMarket%255C%3Dfalse%255C%26roundTripFaresFlag%255C%3Dfalse%255C%26usePoints%255C%3Dfalse&amp;upid=28erq50&amp;upv=1.1.0" title="TTD Universal Pixel"></iframe><jb-session-timeout-dialog><div class="session-timeout-panel db"><jb-dialog dialogtype="notification" class="jb-dialog" _nghost-resp-booking-airways-c77=""><div _ngcontent-resp-booking-airways-c77="" jbscrolllock="" class="fixed overlay-z-index overflow-auto relative left-0 top-0 w-100 h-100 bg-black-60 flex pt0 pt5-m pt6-l justify-center page-margin"><div tabindex="0" class="cdk-visually-hidden cdk-focus-trap-anchor" aria-hidden="true"></div><div _ngcontent-resp-booking-airways-c77="" cdktrapfocus="" role="dialog" aria-modal="true" class="dialog-z-index self-start w-100 tc dialog-notification br3 self-center" style="background: rgb(255, 255, 255);"><div _ngcontent-resp-booking-airways-c77="" class="ph4 pt4 pt5-ns"><jb-dialog-title class="tc mb3-ns db" _nghost-resp-booking-airways-c79=""><h3 _ngcontent-resp-booking-airways-c79="" class="m-heading"> Are you still there? </h3></jb-dialog-title><jb-dialog-content class="jb-dialog-content body db center pb0-ns overflow-auto charcoal" _nghost-resp-booking-airways-c74=""><p>A session usually expires when we notice that there hasn't been any action taken in a set amount of time. Let us know if you want to continue booking.</p><strong><p>This session will expire in:</p><p>0:21</p></strong></jb-dialog-content></div><div _ngcontent-resp-booking-airways-c77="" class="ph4 pt4 pb5"><jb-dialog-actions class="flex justify-center flex-column items-center" _nghost-resp-booking-airways-c73=""><div _ngcontent-resp-booking-airways-c73="" class="actions-wrapper"><button role="button" jbbutton="" theme="ctaPrimary" autofocus="" tabindex="0" class="pointer klarheit b no-underline t-med-bg t-out-hover w-100 w-auto-ns tc border-box inline-flex items-center justify-center mb3 min-w-70 mb2 jb-button-primary jb-button-large b--none bg-royal-blue br-rounded-2 body hover-white white w-max-ns" _nghost-resp-booking-airways-c66="" aria-label="Click Continue to extend your session.The session will expire in 59 seconds." aria-disabled="false"><span _ngcontent-resp-booking-airways-c66="" class="dib relative baseline-offset"> Continue </span></button></div></jb-dialog-actions></div></div><div tabindex="0" class="cdk-visually-hidden cdk-focus-trap-anchor" aria-hidden="true"></div></div></jb-dialog></div></jb-session-timeout-dialog></body></html>`, {
    url: "https://www.jetblue.com/booking/flights?from=JFK&to=STT&depart=2023-09-14&return=2023-09-16&isMultiCity=false&noOfRoute=1&lang=en&adults=1&children=0&infants=0&sharedMarket=false&roundTripFaresFlag=false&usePoints=false",
    // url: "https://www.jetblue.com",
    // window.location，document.URL
    // referrer: "https://www.jetblue.com/booking/flights?from=JFK&to=STT&depart=2023-09-14&return=2023-09-16&isMultiCity=false&noOfRoute=1&lang=en&adults=1&children=0&infants=0&sharedMarket=false&roundTripFaresFlag=false&usePoints=false",
    // referrer: "https://www.jetblue.com/",
    origin: 'https://www.jetblue.com',
    // document.referrer
    contentType: "text/html",
    // document.contentType
    userAgent: ENV.navigatorparams.useragent,
    // userAgent: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36',
    // UA
    includeNodeLocations: true // 保留由HTML解析器生成的位置信息，允许使用nodeLocation()方法

});
window = dom.window;
window.videos = []
window.fonts = []
window.imageDatas = []
// window.localStorage.setItem('FTzyeq12rr', 'A76x_HOKAQAAeQnrfCam7e5nJhCItdNV2ab9APm5Bh9QD_nPoeUjQgDFVXR-AXL3RNj6K21wfMBeCOfvosJeCA==')
Object.defineProperties(window.Event.prototype, {
    stopPropagation: {
        value: v_saf({
            func() {
            }
        }.func),
        writable: true, enumerable: true, configurable: true
    },
    preventDefault: {
        value: v_saf({
            func() {
            }
        }.func),
        writable: true, enumerable: true, configurable: true
    },
    cancelBubble: {
        value: v_saf({
            func() {
            }
        }.func),
        writable: true, enumerable: true, configurable: true
    },
    stopImmediatePropagation: {
        value: {
            func() {
            }
        }.func,
        writable: true, enumerable: true, configurable: true
    },
})
Object.defineProperties(window.HTMLFormElement.prototype, {
    [Symbol.toStringTag]: {
        value: 'HTMLFormElement',
        [Symbol.iterator]: {
            value: function () {
            }
        }
    },
    submit: {
        value: {
            func() {
            }
        }.func,
        configurable: true, writable: false
    }
})
// Object.defineProperties(window, {
//     SharedArrayBuffer: {
//         value:undefined,
//         enumerable:false
//     }
// })
window.ENV = ENV;
window.crossOriginIsolated = false
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")
    }
    ;
});
window.BarcodeDetector = v_saf(function BarcodeDetector() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
// 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")
    }
    ;
});
window.HID = v_saf(function HID() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
window.CSSCounterStyleRule = v_saf(function CSSCounterStyleRule() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
window.FileSystemDirectoryHandle = v_saf(function FileSystemDirectoryHandle() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
window.PerformancePaintTiming = v_saf(function PerformancePaintTiming() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
window.AudioData = v_saf(function AudioData() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
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")
    }
    ;
});
window.Sanitizer = v_saf(function Sanitizer() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
window.Lock = v_saf(function Lock() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
window.EyeDropper = v_saf(function EyeDropper() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
window.CSSLayerBlockRule = v_saf(function CSSLayerBlockRule() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
window.ServiceWorkerContainer = v_saf(function ServiceWorkerContainer() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
// if (!ENV.navigatorparams.useragent.includes('Edg')){
window.IdleDetector = v_saf(function IdleDetector() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
// }
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")
    }
    ;
});
window.NavigationPreloadManager = v_saf(function NavigationPreloadManager() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
window.LaunchParams = v_saf(function LaunchParams() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
window.BrowserCaptureMediaStreamTrack = v_saf(function BrowserCaptureMediaStreamTrack() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
window.FontData = v_saf(function FontData() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
window.ReadableByteStreamController = v_saf(function ReadableByteStreamController() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});

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")
    }
    ;
});
window.onbeforeinput = null;
window.onselectionchange = null;
window.onsecuritypolicyviolation = null;
window._random = _random

_defin = Object.defineProperty;
Object.defineProperty = v_saf(function (p, v, d) {
    // console.log('definnnnn',p,v, d)
    // if( d.value === false) con3('_define',  v, d)

    if (v === 'positionalSignals') {


        if (Array.isArray(d.value) && d.value.length > 50) {
            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'))
        }

        con3 = function () {
        }
    }
    if (v === 'collectedUsingWebWorker' && d.value === false) {
        d.value = true
    }
    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;
    }
    if ((typeof v === 'number') && (v >= 28 && v <= 38 || v === 11 || v === 12) && d.value === false) {
        d.value = true;
        // debugger;
    }
    return _defin(p, v, d)
})

_join = Array.prototype.join;
Array.prototype.join = v_saf(function join(s) {
    console.log('join', this.length, this, s)
    if (this.indexOf('abs') > -1) {
        this.sort(sortRandom)
    }
    if (this[0] === 'constructor' && this[1] === 'font') {
        let res = [
            "canvas",
            "globalAlpha",
            "globalCompositeOperation",
            "filter",
            "imageSmoothingEnabled",
            "imageSmoothingQuality",
            "strokeStyle",
            "fillStyle",
            "shadowOffsetX",
            "shadowOffsetY",
            "shadowBlur",
            "shadowColor",
            "lineWidth",
            "lineCap",
            "lineJoin",
            "miterLimit",
            "lineDashOffset",
            "font",
            "textAlign",
            "textBaseline",
            "direction",
            "fontKerning",
            "fontStretch",
            "fontVariantCaps",
            "letterSpacing",
            "textRendering",
            "wordSpacing",
            "clip",
            "createConicGradient",
            "createImageData",
            "createLinearGradient",
            "createPattern",
            "createRadialGradient",
            "drawFocusIfNeeded",
            "drawImage",
            "fill",
            "fillText",
            "getContextAttributes",
            "getImageData",
            "getLineDash",
            "getTransform",
            "isContextLost",
            "isPointInPath",
            "isPointInStroke",
            "measureText",
            "putImageData",
            "reset",
            "roundRect",
            "save",
            "scale",
            "setLineDash",
            "setTransform",
            "stroke",
            "strokeText",
            "transform",
            "translate",
            "arc",
            "arcTo",
            "beginPath",
            "bezierCurveTo",
            "clearRect",
            "closePath",
            "ellipse",
            "fillRect",
            "lineTo",
            "moveTo",
            "quadraticCurveTo",
            "rect",
            "resetTransform",
            "restore",
            "rotate",
            "strokeRect"
        ];
        res.sort(sortRandom)
        return _join.call(res, s)
    }
    if (this[0] === 'getDetails') {
        return _join.call([
            "isInstalled",
            "getDetails",
            "getIsInstalled",
            "installState",
            "runningState",
            "InstallState",
            "RunningState"
        ], s)
    }
    if (this[0] === 'constructor' && this[1] === 'javaEnabled') {
        let res = [
            "vendorSub",
            "productSub",
            "vendor",
            "maxTouchPoints",
            "scheduling",
            "userActivation",
            "doNotTrack",
            "geolocation",
            "connection",
            "plugins",
            "mimeTypes",
            "pdfViewerEnabled",
            "webkitTemporaryStorage",
            "webkitPersistentStorage",
            "hardwareConcurrency",
            "cookieEnabled",
            "appCodeName",
            "appName",
            "appVersion",
            "platform",
            "product",
            "userAgent",
            "language",
            "languages",
            "onLine",
            "webdriver",
            "getGamepads",
            "javaEnabled",
            "sendBeacon",
            "vibrate",
            "bluetooth",
            "clipboard",
            "credentials",
            "keyboard",
            "managed",
            "mediaDevices",
            "storage",
            "serviceWorker",
            "virtualKeyboard",
            "wakeLock",
            "deviceMemory",
            "ink",
            "hid",
            "locks",
            "mediaCapabilities",
            "mediaSession",
            "permissions",
            "presentation",
            "serial",
            "gpu",
            "usb",
            "windowControlsOverlay",
            "xr",
            "userAgentData",
            "adAuctionComponents",
            "runAdAuction",
            "canLoadAdAuctionFencedFrame",
            "clearAppBadge",
            "getBattery",
            "getUserMedia",
            "requestMIDIAccess",
            "requestMediaKeySystemAccess",
            "setAppBadge",
            "webkitGetUserMedia",
            "deprecatedReplaceInURN",
            "deprecatedURNToURL",
            "getInterestGroupAdAuctionData",
            "joinAdInterestGroup",
            "leaveAdInterestGroup",
            "updateAdInterestGroups",
            "getInstalledRelatedApps",
            "registerProtocolHandler",
            "unregisterProtocolHandler"
        ]
        res.sort(sortRandom)
        return _join.call(res, s)
    }
    if (this.indexOf('assert') > -1) {
        ENV.consoleprops.sort(sortRandom)
        if (ENV.consoleprops) {
            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)
        //
        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}') {

        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)
})
window.Intl = Intl
_getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
// Object.getOwnPropertyDescriptor = v_saf(function (p, v){
//     let res = _getOwnPropertyDescriptor(p,v)
//     // if (v === 'webkitMediaStream'){
//     //     debugger;
//     // }
//     con3('_getOwnPropertyDescriptor', v, res)
//     return res;
// })
_getOwnPropertyNames = Object.getOwnPropertyNames;
Object.getOwnPropertyNames = v_saf(function (a) {
    let res = _getOwnPropertyNames(a);
    console.log('getOwnPropertyNames', a, res)
    if (res.indexOf('target') > -1) {
        return [
            "target",
            "download",
            "ping",
            "rel",
            "relList",
            "hreflang",
            "type",
            "referrerPolicy",
            "text",
            "coords",
            "charset",
            "name",
            "rev",
            "shape",
            "origin",
            "protocol",
            "username",
            "password",
            "host",
            "hostname",
            "port",
            "pathname",
            "search",
            "hash",
            "href",
            "toString",
            "constructor",
            "hrefTranslate",
            "attributionSrc"
        ]
    }
    if (res.length >= 180 && res.indexOf('EventCounts') > -1) {
        console.log('getWindow')
        if (ENV.windowprops) {
            // ENV.windowprops = ENV.windowprops.slice(0, parseInt(800 + Math.random() * (ENV.windowprops.length - 800)))
            return ENV.windowprops
        }
        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",
            "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",
            "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",
            "credentialless",
            "fence",
            "caches",
            "cookieStore",
            "ondevicemotion",
            "ondeviceorientation",
            "ondeviceorientationabsolute",
            "launchQueue",
            "sharedStorage",
            "onbeforematch",
            "onbeforetoggle",
            "AbsoluteOrientationSensor",
            "Accelerometer",
            "AudioWorklet",
            "BatteryManager",
            "Cache",
            "CacheStorage",
            "Clipboard",
            "ClipboardItem",
            "CookieChangeEvent",
            "CookieStore",
            "CookieStoreManager",
            "Credential",
            "CredentialsContainer",
            "CryptoKey",
            "DeviceMotionEvent",
            "DeviceMotionEventAcceleration",
            "DeviceMotionEventRotationRate",
            "DeviceOrientationEvent",
            "FederatedCredential",
            "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",
            "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",
            "EyeDropper",
            "Fence",
            "FencedFrameConfig",
            "HTMLFencedFrameElement",
            "FileSystemDirectoryHandle",
            "FileSystemFileHandle",
            "FileSystemHandle",
            "FileSystemWritableFileStream",
            "FontData",
            "FragmentDirective",
            "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",
            "WGSLLanguageFeatures",
            "HID",
            "HIDConnectionEvent",
            "HIDDevice",
            "HIDInputReportEvent",
            "IdentityCredential",
            "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",
            "queryLocalFonts",
            "showDirectoryPicker",
            "showOpenFilePicker",
            "showSaveFilePicker",
            "originAgentCluster",
            "speechSynthesis",
            "oncontentvisibilityautostatechange",
            "onscrollend",
            "AnimationPlaybackEvent",
            "AnimationTimeline",
            "CSSAnimation",
            "CSSTransition",
            "DocumentTimeline",
            "BackgroundFetchManager",
            "BackgroundFetchRecord",
            "BackgroundFetchRegistration",
            "BluetoothUUID",
            "BrowserCaptureMediaStreamTrack",
            "CropTarget",
            "ContentVisibilityAutoStateChangeEvent",
            "DelegatedInkTrailPresenter",
            "Ink",
            "Highlight",
            "HighlightRegistry",
            "MathMLElement",
            "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",
            "openDatabase",
            "webkitRequestFileSystem",
            "webkitResolveLocalFileSystemURL",
            "_getOwnPropertyNames",
            "con4",
            "con3",
            "_defin",
            "_join"
        ];
        res = res.slice(0, 1117)
    }
    return res;

})


window.webkitMediaStream = v_saf(function webkitMediaStream() {
})
window.WebKitCSSMatrix = v_saf(function WebKitCSSMatrix() {
})
window.XSLTProcessor = v_saf(function XSLTProcessor() {
})
window.WritableStreamDefaultWriter = v_saf(function WritableStreamDefaultWriter() {
})
window.WritableStream = v_saf(function WritableStream() {
})
window.WebGLVertexArrayObject = v_saf(function WebGLVertexArrayObject() {
})
window.WebGLUniformLocation = v_saf(function WebGLUniformLocation() {
})
window.WebGLTransformFeedback = v_saf(function WebGLTransformFeedback() {
})
window.WebGLTexture = v_saf(function WebGLTexture() {
})
window.WebGLSync = v_saf(function WebGLSync() {
})
window.WebGLShaderPrecisionFormat = v_saf(function WebGLShaderPrecisionFormat() {
})
window.WebGLShader = v_saf(function WebGLShader() {
})
window.WebGLSampler = v_saf(function WebGLSampler() {
})
window.WebGLRenderbuffer = v_saf(function WebGLRenderbuffer() {
})
window.WebGLQuery = v_saf(function WebGLQuery() {
})
window.WebGLProgram = v_saf(function WebGLProgram() {
})
window.WebGLFramebuffer = v_saf(function WebGLFramebuffer() {
})
window.WebGLContextEvent = v_saf(function WebGLContextEvent() {
})
window.WebGLBuffer = v_saf(function WebGLBuffer() {
})
window.WebGLActiveInfo = v_saf(function WebGLActiveInfo() {
})
window.WebGL2RenderingContext = v_saf(function WebGL2RenderingContext() {
})
window.WaveShaperNode = v_saf(function WaveShaperNode() {
})
window.VirtualKeyboardGeometryChangeEvent = v_saf(function VirtualKeyboardGeometryChangeEvent() {
})
window.VTTCue = v_saf(function VTTCue() {
})
window.UserActivation = v_saf(function UserActivation() {
})
window.URLPattern = v_saf(function URLPattern() {
})
window.TrustedTypePolicyFactory = v_saf(function TrustedTypePolicyFactory() {
})
window.TrustedTypePolicy = v_saf(function TrustedTypePolicy() {
})
window.TrustedScriptURL = v_saf(function TrustedScriptURL() {
})
window.TrustedScript = v_saf(function TrustedScript() {
})
window.TrustedHTML = v_saf(function TrustedHTML() {
})
window.TransitionEvent = v_saf(function TransitionEvent() {
})
window.TransformStreamDefaultController = v_saf(function TransformStreamDefaultController() {
})
window.TrackEvent = v_saf(function TrackEvent() {
})
window.TouchList = v_saf(function TouchList() {
})
window.Touch = v_saf(function Touch() {
})
window.TimeRanges = v_saf(function TimeRanges() {
})
window.TextTrackList = v_saf(function TextTrackList() {
})
window.TextTrackCueList = v_saf(function TextTrackCueList() {
})
window.TextTrackCue = v_saf(function TextTrackCue() {
})
window.TextTrack = v_saf(function TextTrack() {
})
window.TextMetrics = v_saf(function TextMetrics() {
})
window.TextEvent = v_saf(function TextEvent() {
})
window.TextEncoder = v_saf(function TextEncoder() {
})
window.TextDecoder = v_saf(function TextDecoder() {
})
window.TaskSignal = v_saf(function TaskSignal() {
})
window.TaskPriorityChangeEvent = v_saf(function TaskPriorityChangeEvent() {
})
window.TaskController = v_saf(function TaskController() {
})
window.TaskAttributionTiming = v_saf(function TaskAttributionTiming() {
})
window.SyncManager = v_saf(function SyncManager() {
})
window.StylePropertyMapReadOnly = v_saf(function StylePropertyMapReadOnly() {
})
window.StylePropertyMap = v_saf(function StylePropertyMap() {
})
window.StereoPannerNode = v_saf(function StereoPannerNode() {
})
window.SourceBufferList = v_saf(function SourceBufferList() {
})
window.SourceBuffer = v_saf(function SourceBuffer() {
})
window.SecurityPolicyViolationEvent = v_saf(function SecurityPolicyViolationEvent() {
})
window.ScriptProcessorNode = v_saf(function ScriptProcessorNode() {
})
window.ScreenOrientation = v_saf(function ScreenOrientation() {
})
window.Scheduling = v_saf(function Scheduling() {
})
window.Scheduler = v_saf(function Scheduler() {
})
window.SVGViewElement = v_saf(function SVGViewElement() {
})
window.SVGUseElement = v_saf(function SVGUseElement() {
})
window.SVGUnitTypes = v_saf(function SVGUnitTypes() {
})
window.SVGTransformList = v_saf(function SVGTransformList() {
})
window.SVGTransform = v_saf(function SVGTransform() {
})
window.SVGTextPositioningElement = v_saf(function SVGTextPositioningElement() {
})
window.SVGTextPathElement = v_saf(function SVGTextPathElement() {
})
window.SVGTextElement = v_saf(function SVGTextElement() {
})
window.SVGTextContentElement = v_saf(function SVGTextContentElement() {
})
window.SVGTSpanElement = v_saf(function SVGTSpanElement() {
})
window.SVGSymbolElement = v_saf(function SVGSymbolElement() {
})
window.SVGSwitchElement = v_saf(function SVGSwitchElement() {
})
window.SVGStyleElement = v_saf(function SVGStyleElement() {
})
window.SVGStopElement = v_saf(function SVGStopElement() {
})
window.SVGSetElement = v_saf(function SVGSetElement() {
})
window.SVGScriptElement = v_saf(function SVGScriptElement() {
})
window.SVGRectElement = v_saf(function SVGRectElement() {
})
window.SVGRect = v_saf(function SVGRect() {
})
window.SVGRadialGradientElement = v_saf(function SVGRadialGradientElement() {
})
window.SVGPreserveAspectRatio = v_saf(function SVGPreserveAspectRatio() {
})
window.SVGPolylineElement = v_saf(function SVGPolylineElement() {
})
window.SVGPolygonElement = v_saf(function SVGPolygonElement() {
})
window.SVGPointList = v_saf(function SVGPointList() {
})
window.SVGPoint = v_saf(function SVGPoint() {
})
window.SVGPatternElement = v_saf(function SVGPatternElement() {
})
window.SVGPathElement = v_saf(function SVGPathElement() {
})
window.SVGNumberList = v_saf(function SVGNumberList() {
})
window.SVGMetadataElement = v_saf(function SVGMetadataElement() {
})
window.SVGMatrix = v_saf(function SVGMatrix() {
})
window.SVGMaskElement = v_saf(function SVGMaskElement() {
})
window.SVGMarkerElement = v_saf(function SVGMarkerElement() {
})
window.SVGMPathElement = v_saf(function SVGMPathElement() {
})
window.SVGLinearGradientElement = v_saf(function SVGLinearGradientElement() {
})
window.SVGLineElement = v_saf(function SVGLineElement() {
})
window.SVGLengthList = v_saf(function SVGLengthList() {
})
window.SVGLength = v_saf(function SVGLength() {
})
window.SVGImageElement = v_saf(function SVGImageElement() {
})
window.SVGGradientElement = v_saf(function SVGGradientElement() {
})
window.SVGGeometryElement = v_saf(function SVGGeometryElement() {
})
window.SVGGElement = v_saf(function SVGGElement() {
})
window.SVGForeignObjectElement = v_saf(function SVGForeignObjectElement() {
})
window.SVGFilterElement = v_saf(function SVGFilterElement() {
})
window.SVGFETurbulenceElement = v_saf(function SVGFETurbulenceElement() {
})
window.SVGFETileElement = v_saf(function SVGFETileElement() {
})
window.SVGFESpotLightElement = v_saf(function SVGFESpotLightElement() {
})
window.SVGFESpecularLightingElement = v_saf(function SVGFESpecularLightingElement() {
})
window.SVGFEPointLightElement = v_saf(function SVGFEPointLightElement() {
})
window.SVGFEOffsetElement = v_saf(function SVGFEOffsetElement() {
})
window.SVGFEMorphologyElement = v_saf(function SVGFEMorphologyElement() {
})
window.SVGFEMergeNodeElement = v_saf(function SVGFEMergeNodeElement() {
})
window.SVGFEMergeElement = v_saf(function SVGFEMergeElement() {
})
window.SVGFEImageElement = v_saf(function SVGFEImageElement() {
})
window.SVGFEGaussianBlurElement = v_saf(function SVGFEGaussianBlurElement() {
})
window.SVGFEFuncRElement = v_saf(function SVGFEFuncRElement() {
})
window.SVGFEFuncGElement = v_saf(function SVGFEFuncGElement() {
})
window.SVGFEFuncBElement = v_saf(function SVGFEFuncBElement() {
})
window.SVGFEFuncAElement = v_saf(function SVGFEFuncAElement() {
})
window.SVGFEFloodElement = v_saf(function SVGFEFloodElement() {
})
window.SVGFEDropShadowElement = v_saf(function SVGFEDropShadowElement() {
})
window.SVGFEDistantLightElement = v_saf(function SVGFEDistantLightElement() {
})
window.SVGFEDisplacementMapElement = v_saf(function SVGFEDisplacementMapElement() {
})
window.SVGFEDiffuseLightingElement = v_saf(function SVGFEDiffuseLightingElement() {
})
window.SVGFEConvolveMatrixElement = v_saf(function SVGFEConvolveMatrixElement() {
})
window.SVGFECompositeElement = v_saf(function SVGFECompositeElement() {
})
window.SVGFEComponentTransferElement = v_saf(function SVGFEComponentTransferElement() {
})
window.SVGFEColorMatrixElement = v_saf(function SVGFEColorMatrixElement() {
})
window.SVGFEBlendElement = v_saf(function SVGFEBlendElement() {
})
window.SVGEllipseElement = v_saf(function SVGEllipseElement() {
})
window.SVGDescElement = v_saf(function SVGDescElement() {
})
window.SVGDefsElement = v_saf(function SVGDefsElement() {
})
window.SVGComponentTransferFunctionElement = v_saf(function SVGComponentTransferFunctionElement() {
})
window.SVGClipPathElement = v_saf(function SVGClipPathElement() {
})
window.SVGCircleElement = v_saf(function SVGCircleElement() {
})
window.SVGAnimationElement = v_saf(function SVGAnimationElement() {
})
window.SVGAnimatedTransformList = v_saf(function SVGAnimatedTransformList() {
})
window.SVGAnimatedRect = v_saf(function SVGAnimatedRect() {
})
window.SVGAnimatedPreserveAspectRatio = v_saf(function SVGAnimatedPreserveAspectRatio() {
})
window.SVGAnimatedNumberList = v_saf(function SVGAnimatedNumberList() {
})
window.SVGAnimatedNumber = v_saf(function SVGAnimatedNumber() {
})
window.SVGAnimatedLengthList = v_saf(function SVGAnimatedLengthList() {
})
window.SVGAnimatedLength = v_saf(function SVGAnimatedLength() {
})
window.SVGAnimatedInteger = v_saf(function SVGAnimatedInteger() {
})
window.SVGAnimatedEnumeration = v_saf(function SVGAnimatedEnumeration() {
})
window.SVGAnimatedBoolean = v_saf(function SVGAnimatedBoolean() {
})
window.SVGAnimatedAngle = v_saf(function SVGAnimatedAngle() {
})
window.SVGAnimateTransformElement = v_saf(function SVGAnimateTransformElement() {
})
window.SVGAnimateMotionElement = v_saf(function SVGAnimateMotionElement() {
})
window.SVGAnimateElement = v_saf(function SVGAnimateElement() {
})
window.SVGAngle = v_saf(function SVGAngle() {
})
window.SVGAElement = v_saf(function SVGAElement() {
})
window.Response = v_saf(function Response() {
})
window.ResizeObserverSize = v_saf(function ResizeObserverSize() {
})
window.ResizeObserverEntry = v_saf(function ResizeObserverEntry() {
})
window.ResizeObserver = v_saf(function ResizeObserver() {
})
window.Request = v_saf(function Request() {
})
window.ReportingObserver = v_saf(function ReportingObserver() {
})
window.ReadableStreamDefaultReader = v_saf(function ReadableStreamDefaultReader() {
})
window.ReadableStreamDefaultController = v_saf(function ReadableStreamDefaultController() {
})
window.ReadableStreamBYOBRequest = v_saf(function ReadableStreamBYOBRequest() {
})
window.ReadableStreamBYOBReader = v_saf(function ReadableStreamBYOBReader() {
})
window.RadioNodeList = v_saf(function RadioNodeList() {
})
window.RTCTrackEvent = v_saf(function RTCTrackEvent() {
})
window.RTCStatsReport = v_saf(function RTCStatsReport() {
})
window.RTCSessionDescription = v_saf(function RTCSessionDescription() {
})
window.RTCSctpTransport = v_saf(function RTCSctpTransport() {
})
window.RTCRtpTransceiver = v_saf(function RTCRtpTransceiver() {
})
window.RTCRtpSender = v_saf(function RTCRtpSender() {
})
window.RTCRtpReceiver = v_saf(function RTCRtpReceiver() {
})
window.RTCPeerConnectionIceEvent = v_saf(function RTCPeerConnectionIceEvent() {
})
window.RTCPeerConnectionIceErrorEvent = v_saf(function RTCPeerConnectionIceErrorEvent() {
})
window.RTCIceTransport = v_saf(function RTCIceTransport() {
})
window.RTCIceCandidate = v_saf(function RTCIceCandidate() {
})
window.RTCErrorEvent = v_saf(function RTCErrorEvent() {
})
window.RTCError = v_saf(function RTCError() {
})
window.RTCEncodedVideoFrame = v_saf(function RTCEncodedVideoFrame() {
})
window.RTCEncodedAudioFrame = v_saf(function RTCEncodedAudioFrame() {
})
window.RTCDataChannelEvent = v_saf(function RTCDataChannelEvent() {
})
window.RTCDataChannel = v_saf(function RTCDataChannel() {
})
window.RTCDTMFToneChangeEvent = v_saf(function RTCDTMFToneChangeEvent() {
})
window.RTCDTMFSender = v_saf(function RTCDTMFSender() {
})
window.RTCCertificate = v_saf(function RTCCertificate() {
})
window.PromiseRejectionEvent = v_saf(function PromiseRejectionEvent() {
})
window.Profiler = v_saf(function Profiler() {
})
window.PointerEvent = v_saf(function PointerEvent() {
})
window.PictureInPictureWindow = v_saf(function PictureInPictureWindow() {
})
window.PictureInPictureEvent = v_saf(function PictureInPictureEvent() {
})
window.PeriodicWave = v_saf(function PeriodicWave() {
})
window.PerformanceTiming = v_saf(function PerformanceTiming() {
})
window.PerformanceServerTiming = v_saf(function PerformanceServerTiming() {
})
window.PerformanceResourceTiming = v_saf(function PerformanceResourceTiming() {
})
window.PerformanceObserverEntryList = v_saf(function PerformanceObserverEntryList() {
})
window.PerformanceNavigationTiming = v_saf(function PerformanceNavigationTiming() {
})
window.PerformanceNavigation = v_saf(function PerformanceNavigation() {
})
window.PerformanceMeasure = v_saf(function PerformanceMeasure() {
})
window.PerformanceMark = v_saf(function PerformanceMark() {
})
window.PerformanceLongTaskTiming = v_saf(function PerformanceLongTaskTiming() {
})
window.PerformanceEventTiming = v_saf(function PerformanceEventTiming() {
})
window.PerformanceEntry = v_saf(function PerformanceEntry() {
})
window.PerformanceElementTiming = v_saf(function PerformanceElementTiming() {
})
window.PannerNode = v_saf(function PannerNode() {
})
window.OverconstrainedError = v_saf(function OverconstrainedError() {
})
window.OscillatorNode = v_saf(function OscillatorNode() {
})
window.OfflineAudioContext = v_saf(function OfflineAudioContext() {
})
window.OfflineAudioCompletionEvent = v_saf(function OfflineAudioCompletionEvent() {
})
window.NetworkInformation = v_saf(function NetworkInformation() {
})
window.NavigationTransition = v_saf(function NavigationTransition() {
})
window.NavigationHistoryEntry = v_saf(function NavigationHistoryEntry() {
})
window.NavigationDestination = v_saf(function NavigationDestination() {
})
window.NavigationCurrentEntryChangeEvent = v_saf(function NavigationCurrentEntryChangeEvent() {
})
window.Navigation = v_saf(function Navigation() {
})
window.NavigateEvent = v_saf(function NavigateEvent() {
})
window.MessagePort = v_saf(function MessagePort() {
})
window.MediaStreamTrackProcessor = v_saf(function MediaStreamTrackProcessor() {
})
window.MediaStreamTrackGenerator = v_saf(function MediaStreamTrackGenerator() {
})
window.MediaStreamTrackEvent = v_saf(function MediaStreamTrackEvent() {
})
window.MediaStreamTrack = v_saf(function MediaStreamTrack() {
})
window.MediaStreamEvent = v_saf(function MediaStreamEvent() {
})
window.MediaStreamAudioSourceNode = v_saf(function MediaStreamAudioSourceNode() {
})
window.MediaStreamAudioDestinationNode = v_saf(function MediaStreamAudioDestinationNode() {
})
window.MediaSource = v_saf(function MediaSource() {
})
window.MediaRecorder = v_saf(function MediaRecorder() {
})
window.MediaQueryListEvent = v_saf(function MediaQueryListEvent() {
})
window.MediaQueryList = v_saf(function MediaQueryList() {
})
window.MediaError = v_saf(function MediaError() {
})
window.MediaEncryptedEvent = v_saf(function MediaEncryptedEvent() {
})
window.MediaElementAudioSourceNode = v_saf(function MediaElementAudioSourceNode() {
})
window.MediaCapabilities = v_saf(function MediaCapabilities() {
})
window.LayoutShiftAttribution = v_saf(function LayoutShiftAttribution() {
})
window.LayoutShift = v_saf(function LayoutShift() {
})
window.LargestContentfulPaint = v_saf(function LargestContentfulPaint() {
})
window.KeyframeEffect = v_saf(function KeyframeEffect() {
})
window.IntersectionObserverEntry = v_saf(function IntersectionObserverEntry() {
})
window.InputDeviceInfo = v_saf(function InputDeviceInfo() {
})
window.InputDeviceCapabilities = v_saf(function InputDeviceCapabilities() {
})
window.ImageData = v_saf(function ImageData() {
})
window.ImageCapture = v_saf(function ImageCapture() {
})
window.ImageBitmapRenderingContext = v_saf(function ImageBitmapRenderingContext() {
})
window.ImageBitmap = v_saf(function ImageBitmap() {
})
window.IdleDeadline = v_saf(function IdleDeadline() {
})
window.IIRFilterNode = v_saf(function IIRFilterNode() {
})
window.IDBVersionChangeEvent = v_saf(function IDBVersionChangeEvent() {
})
window.IDBTransaction = v_saf(function IDBTransaction() {
})
window.IDBRequest = v_saf(function IDBRequest() {
})
window.IDBOpenDBRequest = v_saf(function IDBOpenDBRequest() {
})
window.IDBObjectStore = v_saf(function IDBObjectStore() {
})
window.IDBKeyRange = v_saf(function IDBKeyRange() {
})
window.IDBIndex = v_saf(function IDBIndex() {
})
window.IDBFactory = v_saf(function IDBFactory() {
})
window.IDBDatabase = v_saf(function IDBDatabase() {
})
window.IDBCursorWithValue = v_saf(function IDBCursorWithValue() {
})
window.IDBCursor = v_saf(function IDBCursor() {
})
window.HTMLFormControlsCollection = v_saf(function HTMLFormControlsCollection() {
})
window.HTMLAllCollection = v_saf(function HTMLAllCollection() {
})
window.GeolocationPositionError = v_saf(function GeolocationPositionError() {
})
window.GeolocationPosition = v_saf(function GeolocationPosition() {
})
window.GeolocationCoordinates = v_saf(function GeolocationCoordinates() {
})
window.Geolocation = v_saf(function Geolocation() {
})
window.GamepadHapticActuator = v_saf(function GamepadHapticActuator() {
})
window.GamepadEvent = v_saf(function GamepadEvent() {
})
window.GamepadButton = v_saf(function GamepadButton() {
})
window.Gamepad = v_saf(function Gamepad() {
})
window.GainNode = v_saf(function GainNode() {
})
window.FormDataEvent = v_saf(function FormDataEvent() {
})
window.FontFaceSetLoadEvent = v_saf(function FontFaceSetLoadEvent() {
})
window.FontFace = v_saf(function FontFace() {
})
window.FeaturePolicy = v_saf(function FeaturePolicy() {
})
window.EventSource = v_saf(function EventSource() {
})
window.ElementInternals = v_saf(function ElementInternals() {
})
window.DynamicsCompressorNode = v_saf(function DynamicsCompressorNode() {
})
window.DragEvent = v_saf(function DragEvent() {
})
window.DelayNode = v_saf(function DelayNode() {
})
window.DecompressionStream = v_saf(function DecompressionStream() {
})
window.DataTransferItemList = v_saf(function DataTransferItemList() {
})
window.DataTransferItem = v_saf(function DataTransferItem() {
})
window.DataTransfer = v_saf(function DataTransfer() {
})
window.DOMStringList = v_saf(function DOMStringList() {
})
window.DOMRectReadOnly = v_saf(function DOMRectReadOnly() {
})
window.DOMRect = v_saf(function DOMRect() {
})
window.DOMQuad = v_saf(function DOMQuad() {
})
window.DOMMatrix = v_saf(function DOMMatrix() {
})
window.DOMError = v_saf(function DOMError() {
})
window.CustomStateSet = v_saf(function CustomStateSet() {
})
window.Crypto = v_saf(function Crypto() {
})
window.CountQueuingStrategy = v_saf(function CountQueuingStrategy() {
})
window.ConvolverNode = v_saf(function ConvolverNode() {
})
window.ConstantSourceNode = v_saf(function ConstantSourceNode() {
})
window.CompressionStream = v_saf(function CompressionStream() {
})
window.ClipboardEvent = v_saf(function ClipboardEvent() {
})
window.ChannelSplitterNode = v_saf(function ChannelSplitterNode() {
})
window.ChannelMergerNode = v_saf(function ChannelMergerNode() {
})
window.CanvasPattern = v_saf(function CanvasPattern() {
})
window.CanvasGradient = v_saf(function CanvasGradient() {
})
window.CanvasCaptureMediaStreamTrack = v_saf(function CanvasCaptureMediaStreamTrack() {
})
window.CSSVariableReferenceValue = v_saf(function CSSVariableReferenceValue() {
})
window.CSSUnparsedValue = v_saf(function CSSUnparsedValue() {
})
window.CSSUnitValue = v_saf(function CSSUnitValue() {
})
window.CSSTranslate = v_saf(function CSSTranslate() {
})
window.CSSTransformValue = v_saf(function CSSTransformValue() {
})
window.CSSTransformComponent = v_saf(function CSSTransformComponent() {
})
window.CSSSupportsRule = v_saf(function CSSSupportsRule() {
})
window.CSSStyleValue = v_saf(function CSSStyleValue() {
})
window.CSSSkewY = v_saf(function CSSSkewY() {
})
window.CSSSkewX = v_saf(function CSSSkewX() {
})
window.CSSSkew = v_saf(function CSSSkew() {
})
window.CSSScale = v_saf(function CSSScale() {
})
window.CSSRuleList = v_saf(function CSSRuleList() {
})
window.CSSRotate = v_saf(function CSSRotate() {
})
window.CSSPropertyRule = v_saf(function CSSPropertyRule() {
})
window.CSSPositionValue = v_saf(function CSSPositionValue() {
})
window.CSSPerspective = v_saf(function CSSPerspective() {
})
window.CSSPageRule = v_saf(function CSSPageRule() {
})
window.CSSNumericValue = v_saf(function CSSNumericValue() {
})
window.CSSNumericArray = v_saf(function CSSNumericArray() {
})
window.CSSNamespaceRule = v_saf(function CSSNamespaceRule() {
})
window.CSSMatrixComponent = v_saf(function CSSMatrixComponent() {
})
window.CSSMathValue = v_saf(function CSSMathValue() {
})
window.CSSMathSum = v_saf(function CSSMathSum() {
})
window.CSSMathProduct = v_saf(function CSSMathProduct() {
})
window.CSSMathNegate = v_saf(function CSSMathNegate() {
})
window.CSSMathMin = v_saf(function CSSMathMin() {
})
window.CSSMathMax = v_saf(function CSSMathMax() {
})
window.CSSMathInvert = v_saf(function CSSMathInvert() {
})
window.CSSLayerStatementRule = v_saf(function CSSLayerStatementRule() {
})
window.CSSKeywordValue = v_saf(function CSSKeywordValue() {
})
window.CSSKeyframesRule = v_saf(function CSSKeyframesRule() {
})
window.CSSKeyframeRule = v_saf(function CSSKeyframeRule() {
})
window.CSSImageValue = v_saf(function CSSImageValue() {
})
window.CSSGroupingRule = v_saf(function CSSGroupingRule() {
})
window.CSSFontFaceRule = v_saf(function CSSFontFaceRule() {
})
window.CSSContainerRule = v_saf(function CSSContainerRule() {
})
window.CSSConditionRule = v_saf(function CSSConditionRule() {
})
window.ByteLengthQueuingStrategy = v_saf(function ByteLengthQueuingStrategy() {
})
window.BroadcastChannel = v_saf(function BroadcastChannel() {
})
window.BlobEvent = v_saf(function BlobEvent() {
})
window.BiquadFilterNode = v_saf(function BiquadFilterNode() {
})
window.BeforeUnloadEvent = v_saf(function BeforeUnloadEvent() {
})
window.BeforeInstallPromptEvent = v_saf(function BeforeInstallPromptEvent() {
})
window.BaseAudioContext = v_saf(function BaseAudioContext() {
})
window.AudioWorkletNode = v_saf(function AudioWorkletNode() {
})
window.AudioSinkInfo = v_saf(function AudioSinkInfo() {
})
window.AudioScheduledSourceNode = v_saf(function AudioScheduledSourceNode() {
})
window.AudioProcessingEvent = v_saf(function AudioProcessingEvent() {
})
window.AudioParamMap = v_saf(function AudioParamMap() {
})
window.AudioParam = v_saf(function AudioParam() {
})
window.AudioNode = v_saf(function AudioNode() {
})
window.AudioListener = v_saf(function AudioListener() {
})
window.AudioDestinationNode = v_saf(function AudioDestinationNode() {
})
window.AudioContext = v_saf(function AudioContext() {
})
window.AudioBufferSourceNode = v_saf(function AudioBufferSourceNode() {
})
window.AudioBuffer = v_saf(function AudioBuffer() {
})
window.AnimationEvent = v_saf(function AnimationEvent() {
})
window.AnimationEffect = v_saf(function AnimationEffect() {
})
window.AnalyserNode = v_saf(function AnalyserNode() {
})
window.visualViewport = v_saf(function visualViewport() {
})
window.clientInformation = v_saf(function clientInformation() {
})
window.offscreenBuffering = v_saf(function offscreenBuffering() {
})
window.styleMedia = v_saf(function styleMedia() {
})
window.onsearch = v_saf(function onsearch() {
})
window.trustedTypes = v_saf(function trustedTypes() {
})
window.onappinstalled = v_saf(function onappinstalled() {
})
window.onbeforeinstallprompt = v_saf(function onbeforeinstallprompt() {
})
window.indexedDB = v_saf(function indexedDB() {
})
window.onbeforexrselect = v_saf(function onbeforexrselect() {
})
window.oncontextlost = v_saf(function oncontextlost() {
})
window.oncontextrestored = v_saf(function oncontextrestored() {
})
window.onformdata = v_saf(function onformdata() {
})
window.onmousewheel = v_saf(function onmousewheel() {
})
window.onslotchange = v_saf(function onslotchange() {
})
window.onwebkitanimationend = v_saf(function onwebkitanimationend() {
})
window.onwebkitanimationiteration = v_saf(function onwebkitanimationiteration() {
})
window.onwebkitanimationstart = v_saf(function onwebkitanimationstart() {
})
window.onwebkittransitionend = v_saf(function onwebkittransitionend() {
})
window.onauxclick = v_saf(function onauxclick() {
})
window.ongotpointercapture = v_saf(function ongotpointercapture() {
})
window.onlostpointercapture = v_saf(function onlostpointercapture() {
})
window.onpointerdown = v_saf(function onpointerdown() {
})
window.onpointermove = v_saf(function onpointermove() {
})
window.onpointerrawupdate = v_saf(function onpointerrawupdate() {
})
window.onpointerup = v_saf(function onpointerup() {
})
window.onpointercancel = v_saf(function onpointercancel() {
})
window.onpointerover = v_saf(function onpointerover() {
})
window.onpointerout = v_saf(function onpointerout() {
})
window.onpointerenter = v_saf(function onpointerenter() {
})
window.onpointerleave = v_saf(function onpointerleave() {
})
window.onselectstart = v_saf(function onselectstart() {
})
window.onanimationend = v_saf(function onanimationend() {
})
window.onanimationiteration = v_saf(function onanimationiteration() {
})
window.onanimationstart = v_saf(function onanimationstart() {
})
window.ontransitionrun = v_saf(function ontransitionrun() {
})
window.ontransitionstart = v_saf(function ontransitionstart() {
})
window.ontransitionend = v_saf(function ontransitionend() {
})
window.ontransitioncancel = v_saf(function ontransitioncancel() {
})
window.scheduler = v_saf(function scheduler() {
})
window.cancelIdleCallback = v_saf(function cancelIdleCallback() {
})
window.createImageBitmap = v_saf(function createImageBitmap() {
})
window.fetch = v_saf(function fetch() {
})
window.find = v_saf(function find() {
})
window.reportError = v_saf(function reportError() {
})
window.requestIdleCallback = v_saf(function requestIdleCallback() {
})
window.webkitCancelAnimationFrame = v_saf(function webkitCancelAnimationFrame() {
})
window.credentialless = v_saf(function credentialless() {
})
window.fence = v_saf(function fence() {
})
window.caches = v_saf(function caches() {
})
window.cookieStore = v_saf(function cookieStore() {
})
window.ondevicemotion = v_saf(function ondevicemotion() {
})
window.ondeviceorientation = v_saf(function ondeviceorientation() {
})
window.ondeviceorientationabsolute = v_saf(function ondeviceorientationabsolute() {
})
window.launchQueue = v_saf(function launchQueue() {
})
window.sharedStorage = v_saf(function sharedStorage() {
})
window.onbeforematch = v_saf(function onbeforematch() {
})
window.onbeforetoggle = v_saf(function onbeforetoggle() {
})
window.AbsoluteOrientationSensor = v_saf(function AbsoluteOrientationSensor() {
})
window.Accelerometer = v_saf(function Accelerometer() {
})
window.AudioWorklet = v_saf(function AudioWorklet() {
})
window.BatteryManager = v_saf(function BatteryManager() {
})
window.Cache = v_saf(function Cache() {
})
window.CacheStorage = v_saf(function CacheStorage() {
})
window.Clipboard = v_saf(function Clipboard() {
})
window.ClipboardItem = v_saf(function ClipboardItem() {
})
window.CookieChangeEvent = v_saf(function CookieChangeEvent() {
})
window.CookieStore = v_saf(function CookieStore() {
})
window.CookieStoreManager = v_saf(function CookieStoreManager() {
})
window.Credential = v_saf(function Credential() {
})
window.CredentialsContainer = v_saf(function CredentialsContainer() {
})
window.CryptoKey = v_saf(function CryptoKey() {
})
window.DeviceMotionEvent = v_saf(function DeviceMotionEvent() {
})
window.DeviceMotionEventAcceleration = v_saf(function DeviceMotionEventAcceleration() {
})
window.DeviceMotionEventRotationRate = v_saf(function DeviceMotionEventRotationRate() {
})
window.DeviceOrientationEvent = v_saf(function DeviceOrientationEvent() {
})
window.FederatedCredential = v_saf(function FederatedCredential() {
})
window.GravitySensor = v_saf(function GravitySensor() {
})
window.Gyroscope = v_saf(function Gyroscope() {
})
window.Keyboard = v_saf(function Keyboard() {
})
window.KeyboardLayoutMap = v_saf(function KeyboardLayoutMap() {
})
window.LinearAccelerationSensor = v_saf(function LinearAccelerationSensor() {
})
window.LockManager = v_saf(function LockManager() {
})
window.MIDIAccess = v_saf(function MIDIAccess() {
})
window.MIDIConnectionEvent = v_saf(function MIDIConnectionEvent() {
})
window.MIDIInput = v_saf(function MIDIInput() {
})
window.MIDIInputMap = v_saf(function MIDIInputMap() {
})
window.MIDIMessageEvent = v_saf(function MIDIMessageEvent() {
})
window.MIDIOutput = v_saf(function MIDIOutput() {
})
window.MIDIOutputMap = v_saf(function MIDIOutputMap() {
})
window.MIDIPort = v_saf(function MIDIPort() {
})
window.MediaDeviceInfo = v_saf(function MediaDeviceInfo() {
})
window.MediaDevices = v_saf(function MediaDevices() {
})
window.MediaKeyMessageEvent = v_saf(function MediaKeyMessageEvent() {
})
window.MediaKeySession = v_saf(function MediaKeySession() {
})
window.MediaKeyStatusMap = v_saf(function MediaKeyStatusMap() {
})
window.MediaKeySystemAccess = v_saf(function MediaKeySystemAccess() {
})
window.MediaKeys = v_saf(function MediaKeys() {
})
window.NavigatorManagedData = v_saf(function NavigatorManagedData() {
})
window.OrientationSensor = v_saf(function OrientationSensor() {
})
window.PasswordCredential = v_saf(function PasswordCredential() {
})
window.RelativeOrientationSensor = v_saf(function RelativeOrientationSensor() {
})
window.ScreenDetailed = v_saf(function ScreenDetailed() {
})
window.ScreenDetails = v_saf(function ScreenDetails() {
})
window.Sensor = v_saf(function Sensor() {
})
window.SensorErrorEvent = v_saf(function SensorErrorEvent() {
})
window.ServiceWorker = v_saf(function ServiceWorker() {
})
window.ServiceWorkerRegistration = v_saf(function ServiceWorkerRegistration() {
})
window.StorageManager = v_saf(function StorageManager() {
})
window.SubtleCrypto = v_saf(function SubtleCrypto() {
})
window.VirtualKeyboard = v_saf(function VirtualKeyboard() {
})
window.WebTransport = v_saf(function WebTransport() {
})
window.WebTransportBidirectionalStream = v_saf(function WebTransportBidirectionalStream() {
})
window.WebTransportDatagramDuplexStream = v_saf(function WebTransportDatagramDuplexStream() {
})
window.WebTransportError = v_saf(function WebTransportError() {
})
window.Worklet = v_saf(function Worklet() {
})
window.XRDOMOverlayState = v_saf(function XRDOMOverlayState() {
})
window.XRLayer = v_saf(function XRLayer() {
})
window.XRWebGLBinding = v_saf(function XRWebGLBinding() {
})
window.EncodedAudioChunk = v_saf(function EncodedAudioChunk() {
})
window.EncodedVideoChunk = v_saf(function EncodedVideoChunk() {
})
window.ImageTrack = v_saf(function ImageTrack() {
})
window.ImageTrackList = v_saf(function ImageTrackList() {
})
window.VideoColorSpace = v_saf(function VideoColorSpace() {
})
window.VideoFrame = v_saf(function VideoFrame() {
})
window.AudioDecoder = v_saf(function AudioDecoder() {
})
window.AudioEncoder = v_saf(function AudioEncoder() {
})
window.ImageDecoder = v_saf(function ImageDecoder() {
})
window.VideoDecoder = v_saf(function VideoDecoder() {
})
window.VideoEncoder = v_saf(function VideoEncoder() {
})
window.Bluetooth = v_saf(function Bluetooth() {
})
window.BluetoothCharacteristicProperties = v_saf(function BluetoothCharacteristicProperties() {
})
window.BluetoothDevice = v_saf(function BluetoothDevice() {
})
window.BluetoothRemoteGATTCharacteristic = v_saf(function BluetoothRemoteGATTCharacteristic() {
})
window.BluetoothRemoteGATTDescriptor = v_saf(function BluetoothRemoteGATTDescriptor() {
})
window.BluetoothRemoteGATTServer = v_saf(function BluetoothRemoteGATTServer() {
})
window.BluetoothRemoteGATTService = v_saf(function BluetoothRemoteGATTService() {
})
window.CaptureController = v_saf(function CaptureController() {
})
window.Fence = v_saf(function Fence() {
})
window.FencedFrameConfig = v_saf(function FencedFrameConfig() {
})
window.HTMLFencedFrameElement = v_saf(function HTMLFencedFrameElement() {
})
window.FileSystemFileHandle = v_saf(function FileSystemFileHandle() {
})
window.FileSystemHandle = v_saf(function FileSystemHandle() {
})
window.FileSystemWritableFileStream = v_saf(function FileSystemWritableFileStream() {
})
window.GPU = v_saf(function GPU() {
})
window.GPUAdapter = v_saf(function GPUAdapter() {
})
window.GPUAdapterInfo = v_saf(function GPUAdapterInfo() {
})
window.GPUBindGroup = v_saf(function GPUBindGroup() {
})
window.GPUBindGroupLayout = v_saf(function GPUBindGroupLayout() {
})
window.GPUBuffer = v_saf(function GPUBuffer() {
})
window.GPUBufferUsage = v_saf(function GPUBufferUsage() {
})
window.GPUCanvasContext = v_saf(function GPUCanvasContext() {
})
window.GPUColorWrite = v_saf(function GPUColorWrite() {
})
window.GPUCommandBuffer = v_saf(function GPUCommandBuffer() {
})
window.GPUCommandEncoder = v_saf(function GPUCommandEncoder() {
})
window.GPUCompilationInfo = v_saf(function GPUCompilationInfo() {
})
window.GPUCompilationMessage = v_saf(function GPUCompilationMessage() {
})
window.GPUComputePassEncoder = v_saf(function GPUComputePassEncoder() {
})
window.GPUComputePipeline = v_saf(function GPUComputePipeline() {
})
window.GPUDevice = v_saf(function GPUDevice() {
})
window.GPUDeviceLostInfo = v_saf(function GPUDeviceLostInfo() {
})
window.GPUError = v_saf(function GPUError() {
})
window.GPUExternalTexture = v_saf(function GPUExternalTexture() {
})
window.GPUInternalError = v_saf(function GPUInternalError() {
})
window.GPUMapMode = v_saf(function GPUMapMode() {
})
window.GPUOutOfMemoryError = v_saf(function GPUOutOfMemoryError() {
})
window.GPUPipelineError = v_saf(function GPUPipelineError() {
})
window.GPUPipelineLayout = v_saf(function GPUPipelineLayout() {
})
window.GPUQuerySet = v_saf(function GPUQuerySet() {
})
window.GPUQueue = v_saf(function GPUQueue() {
})
window.GPURenderBundle = v_saf(function GPURenderBundle() {
})
window.GPURenderBundleEncoder = v_saf(function GPURenderBundleEncoder() {
})
window.GPURenderPassEncoder = v_saf(function GPURenderPassEncoder() {
})
window.GPURenderPipeline = v_saf(function GPURenderPipeline() {
})
window.GPUSampler = v_saf(function GPUSampler() {
})
window.GPUShaderModule = v_saf(function GPUShaderModule() {
})
window.GPUShaderStage = v_saf(function GPUShaderStage() {
})
window.GPUSupportedFeatures = v_saf(function GPUSupportedFeatures() {
})
window.GPUSupportedLimits = v_saf(function GPUSupportedLimits() {
})
window.GPUTexture = v_saf(function GPUTexture() {
})
window.GPUTextureUsage = v_saf(function GPUTextureUsage() {
})
window.GPUTextureView = v_saf(function GPUTextureView() {
})
window.GPUUncapturedErrorEvent = v_saf(function GPUUncapturedErrorEvent() {
})
window.GPUValidationError = v_saf(function GPUValidationError() {
})
window.WGSLLanguageFeatures = v_saf(function WGSLLanguageFeatures() {
})
window.HIDConnectionEvent = v_saf(function HIDConnectionEvent() {
})
window.HIDDevice = v_saf(function HIDDevice() {
})
window.HIDInputReportEvent = v_saf(function HIDInputReportEvent() {
})
window.IdentityCredential = v_saf(function IdentityCredential() {
})
window.LaunchQueue = v_saf(function LaunchQueue() {
})
window.OTPCredential = v_saf(function OTPCredential() {
})
window.PaymentAddress = v_saf(function PaymentAddress() {
})
window.PaymentRequest = v_saf(function PaymentRequest() {
})
window.PaymentResponse = v_saf(function PaymentResponse() {
})
window.PaymentMethodChangeEvent = v_saf(function PaymentMethodChangeEvent() {
})
window.Presentation = v_saf(function Presentation() {
})
window.PresentationAvailability = v_saf(function PresentationAvailability() {
})
window.PresentationConnection = v_saf(function PresentationConnection() {
})
window.PresentationConnectionAvailableEvent = v_saf(function PresentationConnectionAvailableEvent() {
})
window.PresentationConnectionCloseEvent = v_saf(function PresentationConnectionCloseEvent() {
})
window.PresentationConnectionList = v_saf(function PresentationConnectionList() {
})
window.PresentationReceiver = v_saf(function PresentationReceiver() {
})
window.PresentationRequest = v_saf(function PresentationRequest() {
})
window.Serial = v_saf(function Serial() {
})
window.SerialPort = v_saf(function SerialPort() {
})
window.SharedStorage = v_saf(function SharedStorage() {
})
window.SharedStorageWorklet = v_saf(function SharedStorageWorklet() {
})
window.ToggleEvent = v_saf(function ToggleEvent() {
})
window.USB = v_saf(function USB() {
})
window.USBAlternateInterface = v_saf(function USBAlternateInterface() {
})
window.USBConfiguration = v_saf(function USBConfiguration() {
})
window.USBConnectionEvent = v_saf(function USBConnectionEvent() {
})
window.USBDevice = v_saf(function USBDevice() {
})
window.USBEndpoint = v_saf(function USBEndpoint() {
})
window.USBInTransferResult = v_saf(function USBInTransferResult() {
})
window.USBInterface = v_saf(function USBInterface() {
})
window.USBIsochronousInTransferPacket = v_saf(function USBIsochronousInTransferPacket() {
})
window.USBIsochronousInTransferResult = v_saf(function USBIsochronousInTransferResult() {
})
window.USBIsochronousOutTransferPacket = v_saf(function USBIsochronousOutTransferPacket() {
})
window.USBIsochronousOutTransferResult = v_saf(function USBIsochronousOutTransferResult() {
})
window.USBOutTransferResult = v_saf(function USBOutTransferResult() {
})
window.WakeLock = v_saf(function WakeLock() {
})
window.WakeLockSentinel = v_saf(function WakeLockSentinel() {
})
window.WindowControlsOverlay = v_saf(function WindowControlsOverlay() {
})
window.WindowControlsOverlayGeometryChangeEvent = v_saf(function WindowControlsOverlayGeometryChangeEvent() {
})
window.XRAnchor = v_saf(function XRAnchor() {
})
window.XRAnchorSet = v_saf(function XRAnchorSet() {
})
window.XRBoundedReferenceSpace = v_saf(function XRBoundedReferenceSpace() {
})
window.XRCPUDepthInformation = v_saf(function XRCPUDepthInformation() {
})
window.XRDepthInformation = v_saf(function XRDepthInformation() {
})
window.XRFrame = v_saf(function XRFrame() {
})
window.XRHitTestSource = v_saf(function XRHitTestSource() {
})
window.XRInputSource = v_saf(function XRInputSource() {
})
window.XRInputSourceArray = v_saf(function XRInputSourceArray() {
})
window.XRInputSourceEvent = v_saf(function XRInputSourceEvent() {
})
window.XRInputSourcesChangeEvent = v_saf(function XRInputSourcesChangeEvent() {
})
window.XRLightEstimate = v_saf(function XRLightEstimate() {
})
window.XRLightProbe = v_saf(function XRLightProbe() {
})
window.XRPose = v_saf(function XRPose() {
})
window.XRRay = v_saf(function XRRay() {
})
window.XRReferenceSpace = v_saf(function XRReferenceSpace() {
})
window.XRReferenceSpaceEvent = v_saf(function XRReferenceSpaceEvent() {
})
window.XRRenderState = v_saf(function XRRenderState() {
})
window.XRRigidTransform = v_saf(function XRRigidTransform() {
})
window.XRSession = v_saf(function XRSession() {
})
window.XRSessionEvent = v_saf(function XRSessionEvent() {
})
window.XRSpace = v_saf(function XRSpace() {
})
window.XRSystem = v_saf(function XRSystem() {
})
window.XRTransientInputHitTestResult = v_saf(function XRTransientInputHitTestResult() {
})
window.XRTransientInputHitTestSource = v_saf(function XRTransientInputHitTestSource() {
})
window.XRView = v_saf(function XRView() {
})
window.XRViewerPose = v_saf(function XRViewerPose() {
})
window.XRViewport = v_saf(function XRViewport() {
})
window.XRWebGLDepthInformation = v_saf(function XRWebGLDepthInformation() {
})
window.XRWebGLLayer = v_saf(function XRWebGLLayer() {
})
window.getScreenDetails = v_saf(function getScreenDetails() {
})
window.queryLocalFonts = v_saf(function queryLocalFonts() {
})
window.showDirectoryPicker = v_saf(function showDirectoryPicker() {
})
window.showOpenFilePicker = v_saf(function showOpenFilePicker() {
})
window.showSaveFilePicker = v_saf(function showSaveFilePicker() {
})
window.originAgentCluster = v_saf(function originAgentCluster() {
})
window.speechSynthesis = v_saf(function speechSynthesis() {
})
window.oncontentvisibilityautostatechange = v_saf(function oncontentvisibilityautostatechange() {
})
window.onscrollend = v_saf(function onscrollend() {
})
window.AnimationPlaybackEvent = v_saf(function AnimationPlaybackEvent() {
})
window.AnimationTimeline = v_saf(function AnimationTimeline() {
})
window.CSSAnimation = v_saf(function CSSAnimation() {
})
window.CSSTransition = v_saf(function CSSTransition() {
})
window.DocumentTimeline = v_saf(function DocumentTimeline() {
})
window.BackgroundFetchManager = v_saf(function BackgroundFetchManager() {
})
window.BackgroundFetchRecord = v_saf(function BackgroundFetchRecord() {
})
window.BackgroundFetchRegistration = v_saf(function BackgroundFetchRegistration() {
})
window.CropTarget = v_saf(function CropTarget() {
})
window.ContentVisibilityAutoStateChangeEvent = v_saf(function ContentVisibilityAutoStateChangeEvent() {
})
window.DelegatedInkTrailPresenter = v_saf(function DelegatedInkTrailPresenter() {
})
window.Ink = v_saf(function Ink() {
})
window.Highlight = v_saf(function Highlight() {
})
window.HighlightRegistry = v_saf(function HighlightRegistry() {
})
window.MathMLElement = v_saf(function MathMLElement() {
})
window.MediaMetadata = v_saf(function MediaMetadata() {
})
window.MediaSession = v_saf(function MediaSession() {
})
window.MutationEvent = v_saf(function MutationEvent() {
})
window.NavigatorUAData = v_saf(function NavigatorUAData() {
})
window.PaymentManager = v_saf(function PaymentManager() {
})
window.PaymentRequestUpdateEvent = v_saf(function PaymentRequestUpdateEvent() {
})
window.PeriodicSyncManager = v_saf(function PeriodicSyncManager() {
})
window.PermissionStatus = v_saf(function PermissionStatus() {
})
window.Permissions = v_saf(function Permissions() {
})
window.PushSubscription = v_saf(function PushSubscription() {
})
window.PushSubscriptionOptions = v_saf(function PushSubscriptionOptions() {
})
window.RemotePlayback = v_saf(function RemotePlayback() {
})
window.ScrollTimeline = v_saf(function ScrollTimeline() {
})
window.ViewTimeline = v_saf(function ViewTimeline() {
})
window.SpeechSynthesisErrorEvent = v_saf(function SpeechSynthesisErrorEvent() {
})
window.SpeechSynthesisEvent = v_saf(function SpeechSynthesisEvent() {
})
window.SpeechSynthesisUtterance = v_saf(function SpeechSynthesisUtterance() {
})
window.VideoPlaybackQuality = v_saf(function VideoPlaybackQuality() {
})
window.ViewTransition = v_saf(function ViewTransition() {
})
window.VisibilityStateEntry = v_saf(function VisibilityStateEntry() {
})
window.webkitSpeechGrammar = v_saf(function webkitSpeechGrammar() {
})
window.webkitSpeechGrammarList = v_saf(function webkitSpeechGrammarList() {
})
window.webkitSpeechRecognition = v_saf(function webkitSpeechRecognition() {
})
window.webkitSpeechRecognitionError = v_saf(function webkitSpeechRecognitionError() {
})
window.webkitSpeechRecognitionEvent = v_saf(function webkitSpeechRecognitionEvent() {
})
window.openDatabase = v_saf(function openDatabase() {
})
window.webkitRequestFileSystem = v_saf(function webkitRequestFileSystem() {
})

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')
}
let metrics = ENV.fontsres;
let textRandom = 1;

class TextMetrics {
    constructor(text, context, font) {
        this._text = text
        this._font = font
        this._context = context
        // this._TextMetrics = context.measureText(text)
        try {
            metrics = window.ENV.fontsres
            if (metrics[this._font][this._text]) {
                this._TextMetrics = metrics[this._font][this._text]
            } else {
                if (metrics[this._font.replace(' serif', ' sans-serif')][this._text]) {
                    this._TextMetrics = metrics[this._font.replace('serif', 'sans-serif')][this._text]

                } else {
                    this._TextMetrics = {
                        "width": 132.39996337890625 * _random(),
                        "actualboundingboxascent": -4.299999237060547 * _random(),
                        "actualboundingboxleft": -1.600000023841858 * _random(),
                        "actualboundingboxright": 129.59996032714844 * _random(),
                        "fontboundingboxascent": parseInt(10 * _random()),
                        "actualboundingboxdescent": 49.95000076293945 * _random()
                    }
                }
            }
        } catch (e) {
            console.log('_TextMetrics', this._text, this._font)
            this._TextMetrics = {
                width: 180.55
            }
        }
    }

    get width() {
        let res = this._TextMetrics.width;
        if (res.toString().indexOf('.') !== -1) {
            res = res * textRandom;
        } else {
            res = parseInt(res * textRandom);
        }
        if (this._text === '0-_{w.') {
            // debugger
        }
        return res;
    }

    get actualBoundingBoxAscent() {
        let res = this._TextMetrics.actualboundingboxascent;
        if (res.toString().indexOf('.') !== -1) {
            res = res * textRandom;
        } else {
            res = parseInt(res * textRandom);
        }
        return res;

    }

    get actualBoundingBoxDescent() {
        let res = this._TextMetrics.actualboundingboxdescent;
        if (res.toString().indexOf('.') !== -1) {
            res = res * textRandom;
        } else {
            res = parseInt(res * textRandom);
        }
        // console.log(this._TextMetrics.actualBoundingBoxDescent, res)
        return res;

    }

    get actualBoundingBoxLeft() {
        let res = this._TextMetrics.actualboundingboxleft;
        if (res.toString().indexOf('.') !== -1) {
            res = res * textRandom;
        } else {
            res = parseInt(res * textRandom);
        }
        return res;

    }

    get actualBoundingBoxRight() {
        let res = this._TextMetrics.actualboundingboxright;
        if (res.toString().indexOf('.') !== -1) {
            res = res * textRandom;
        } else {
            res = parseInt(res * textRandom);
        }
        return res;

    }
}

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')
    }


}

Object.defineProperties(OffscreenCanvasRenderingContext2D.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}

})


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)

window.CSSCounterStyleRule = v_saf(function CSSCounterStyleRule() {
})

function randInt(min, max) {
    return Math.round(Math.random() * (max - min) + min)
}

let initTime = Date.now()
var addit = randInt(1500, 10000)
window.requestAnimationFrame = function requestAnimationFrame(cb) {
    addit += randInt(20, 100);
    cb(Date.now() - initTime + addit + parseFloat(Math.random().toFixed(2)))
}
window.cancelAnimationFrame = function cancelAnimationFrame() {
}
if (sid === '8ffdff7b995c8ad51d902ff0') {
    window.ENV.screenparams.height = 1080
    window.ENV.screenparams.width = 1920
    window.ENV.screenparams.availheight = 1055
    window.ENV.screenparams.availwidth = 1920
    window.ENV.screenparams.pixeldepth = 24
    window.ENV.screenparams.colordepth = 24
}

window.URLSearchParams = v_saf(URLSearchParams)
window.DOMException = v_saf(DOMException)
// fingerprint.screen.availWidth =parseInt((_random()*100+900) / 1000 * 1920);
// fingerprint.screen.availHeight = parseInt((_random()*100+900) / 1000 * 1080);
// fingerprint.screen.width = fingerprint.screen.availWidth ;
// fingerprint.screen.height = fingerprint.screen.availHeight ;
window.screenX = ENV.windowparams.screenx;
window.screenY = ENV.windowparams.screeny;
window.devicePixelRatio = ENV.windowparams.devicepixelratio;
window.isSecureContext = true
window.innerWidth = ENV.windowparams.innerwidth;
window.outerWidth = ENV.windowparams.outerwidth;
window.innerHeight = ENV.windowparams.innerheight;
window.outerHeight = ENV.windowparams.outerheight;
window.pageYOffset = ENV.windowparams.pageyoffset;
window.screenLeft = 0;
window.screenTop = parseInt(Math.random() * 10 + 20);
window.saffunc = v_saf
window.Notification = v_saf(function Notification() {
})
window.requestAnimationFrame = v_saf(function requestAnimationFrame() {
})
window.frameElement = null;
window.Function = Function;
window.event = undefined;
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 = null
    window.innerWidth = 1920
    window.outerHeight = 1055
    window.outerWidth = 1920
    window.screenX = 1728
    window.screenY = 25
    window.devicePixelRatio = 1
}

window.CSS = proxy({
    supports: function () {
        print('CSS.supports', arguments)
        return true;
    }
}, 'CSS')


window._eventListenerss = {}

// 补充环境

class App {
    constructor() {
    }

    getDetails() {
        console.log('App.getDetails')
    }

    getIsInstalled() {
        console.log('App.getIsInstalled')
        return false
    }

    installState() {
        console.log('App.installState')

    }

    runningState() {
        console.log('App.runningState')
    }

    InstallState() {
        console.log('App.InstallState')
        return {
            "DISABLED": "disabled",
            "INSTALLED": "installed",
            "NOT_INSTALLED": "not_installed"
        }
    }

    RunningState() {
        console.log('App.RunningState')
        return {
            "CANNOT_RUN": "cannot_run",
            "READY_TO_RUN": "ready_to_run",
            "RUNNING": "running"
        }
    }


}

Object.defineProperties(App.prototype, {
    isInstalled: {enumerable: true},
    getDetails: {enumerable: true},
    getIsInstalled: {enumerable: true},
    installState: {enumerable: true},
    runningState: {enumerable: true},
    InstallState: {enumerable: true},
    RunningState: {enumerable: true},

    [Symbol.toStringTag]: {value: "app", configurable: true}
});
window.chrome = {
    app: proxy(new App(), 'chrome.app'),
    csi: function () {
        return {
            "startE": Date.now(),
            "onloadT": Date.now() - parseInt(Math.random() * 10000 + 15000),
            "pageT": parseInt(Math.random() * 10000 + 15000),
            "tran": 15
        }
    },
    loadTimes: function () {
        return {
            "requestTime": Date.now() / 1000,
            "startLoadTime": Date.now() / 1000,
            "commitLoadTime": Date.now() / 1000,
            "finishDocumentLoadTime": Date.now() / 1000,
            "finishLoadTime": Date.now() / 1000,
            "firstPaintTime": Date.now() / 1000,
            "firstPaintAfterLoadTime": 0,
            "navigationType": "Other",
            "wasFetchedViaSpdy": true,
            "wasNpnNegotiated": true,
            "npnNegotiatedProtocol": "h2",
            "wasAlternateProtocolAvailable": false,
            "connectionInfo": "h2"
        }
    }

}

window.Animation = v_saf(function Animation() {
})
window.DOMMatrixReadOnly = v_saf(function DOMMatrixReadOnly() {
})
window.DOMPoint = v_saf(function DOMPoint() {
})
window.DOMPointReadOnly = v_saf(function DOMPointReadOnly() {
})
window.IntersectionObserver = v_saf(function IntersectionObserver() {
})
window.MediaStream = v_saf(function MediaStream() {
})
window.MessageChannel = v_saf(function MessageChannel() {
})
window.Path2D = v_saf(function Path2D() {
})
window.PerformanceObserver = v_saf(function PerformanceObserver() {
})
window.ReadableStream = v_saf(function ReadableStream() {
})
window.TextDecoderStream = v_saf(function TextDecoderStream() {
})
window.TextEncoderStream = v_saf(function TextEncoderStream() {
})
window.TransformStream = v_saf(function TransformStream() {
})

window.onssage = function () {
    console.log('onssage', arguments)
}
// class Worker {
//     constructor(w) {
//         console.log('newWorker', w)
//         this.jsCode = w.blob.jsCode
//     }
//
//
//     set onmessage(args) {
//         console.log('set onmessage', args)
//     }
//
//     postMessage(arg) {
//         arg = {
//             data:arg
//         }
//         let js =  (this.jsCode[0] + '\n' + `onmessage(${JSON.stringify(arg)})`).replaceAll('postMessage', 'window.onssage').replaceAll('var', 'let').replaceAll('function getWebGL', 'let getWebGL = function').replaceAll('OffscreenCanvas', 'window.OffscreenCanvas').replaceAll('let getWebGL = function(c){let graphicsLib=null;try{graphicsLib=c.getContext(\'webgl\')||c.getContext(\'experimental-webgl\');}catch(ignored){}return graphicsLib;}', '')
//         js = 'getWebGL = function(c){let graphicsLib=null;try{graphicsLib=c.getContext(\'webgl\')||c.getContext(\'experimental-webgl\');}catch(ignored){}return graphicsLib;}\n' + js
//         console.log('Worker.postMessage', arg)
//
//     }
//
//     terminate() {
//
//     }
// }

// Worker.prototype = proxy(Worker.prototype, 'Worker.proto')
window.Worker = proxy(v_saf(Worker), 'Worker')

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;

    }
}

window.OffscreenCanvas = proxy(OffscreenCanvas, 'OffscreenCanvas')

class RTCSessionDescription {

}

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`
            print("  [*] 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},

})

class RTCDataChannel {
    constructor(label) {
        this._label = label
    }
}

Object.defineProperties(RTCDataChannel.prototype, {
    onopen: {
        set(args) {
            console.log('RTCDataChannel.onopen', args)
        }
    },

    onmessage: {
        set(args) {
            console.log('RTCDataChannel.onmessage', args)
        }
    }
})

class RTCPeerConnectionIceEvent {
    constructor() {

    }
}

let t1 = parseInt(_random() * 2430043322 / 2 + 1430043322);
let t2 = parseInt(_random() * 2430043322 / 2 + 1430043322);
let t3 = parseInt(_random() * 5000 + 60199);
let ip = `192.168.${parseInt(_random() * 150 + 1)}.${parseInt(_random() * 150 + 1)}`
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 5M2j 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 '
            // res = 'candidate:2627249215 1 udp 2113937151 d4196244-480c-418e-bb47-b2e9c255099c.local 55063 typ host generation 0 ufrag y53d network-cost 999'
            console.log('RTCPeerConnectionIceEvent.candidate.get', res)

            let rrr = proxy(new RTCIceCandidate(
                ip, res, "rtp", t1, t2, t3, 'tcp', null, null, 0, "0", 'active', 'host', '5M2j'
            ), '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},

})

let RTCIceCandidate = v_saf(function RTCIceCandidate(address, candidate, component, foundation, port, priority, protocol, relatedAddress, relatedPort, sdpMid, sdpMLineIndex, tcpType, type, usernameFragment) {
    this._address = address;
    this._candidate = candidate;
    this._component = component;
    this._foundation = foundation;
    this._port = port;
    this._priority = priority;
    this._protocol = protocol;
    this._relatedAddress = relatedAddress;
    this._relatedPort = relatedPort;
    this._sdpMLineIndex = sdpMLineIndex;
    this._sdpMid = sdpMid;
    this._tcpType = tcpType;
    this._type = type;
    this._usernameFragment = usernameFragment;
})


Object.defineProperties(RTCIceCandidate.prototype, {
    address: {
        enumerable: true, configurable: true,
        get: function () {
            console.log('RTCIceCandidate.address[get]')
            return this._address
        }
    },
    candidate: {
        enumerable: true, configurable: true,
        get: function () {
            console.log('RTCIceCandidate.candidate[get]')
            return this._candidate
        },
        set: function (arg) {
            this._candidate = arg
        }
    },
    component: {
        enumerable: true, configurable: true,
        get: function () {
            console.log('RTCIceCandidate.component[get]')
            return this._component
        }
    },
    foundation: {
        enumerable: true, configurable: true,
        get: function () {
            console.log('RTCIceCandidate.foundation[get]')
            return this._foundation
        }
    },
    port: {
        enumerable: true, configurable: true,
        get: function () {
            console.log('RTCIceCandidate.port[get]')
            return this._port
        }
    },
    priority: {
        enumerable: true, configurable: true,
        get: function () {
            console.log('RTCIceCandidate.priority[get]')
            return this._priority
        }
    },
    protocol: {
        enumerable: true, configurable: true,
        get: function () {
            console.log('RTCIceCandidate.protocol[get]')
            return this._protocol
        }
    },
    relatedAddress: {
        enumerable: true, configurable: true,
        get: function () {
            console.log('RTCIceCandidate.relatedAddress[get]')
            return this._relatedAddress
        }
    },
    relatedPort: {
        enumerable: true, configurable: true,
        get: function () {
            console.log('RTCIceCandidate.relatedPort[get]')
            return this._relatedPort
        }
    },
    sdpMLineIndex: {
        enumerable: true, configurable: true,
        get: function () {
            console.log('RTCIceCandidate.sdpMLineIndex[get]')
            return this._sdpMLineIndex
        }
    },
    sdpMid: {
        enumerable: true, configurable: true,
        get: function () {
            console.log('RTCIceCandidate.sdpMid[get]')
            return this._sdpMid
        }
    },
    tcpType: {
        enumerable: true, configurable: true,
        get: function () {
            console.log('RTCIceCandidate.tcpType[get]')
            return this._tcpType
        }
    },
    type: {
        enumerable: true, configurable: true,
        get: function () {
            console.log('RTCIceCandidate.type[get]')
            return this._type
        }
    },
    usernameFragment: {
        enumerable: true, configurable: true,
        get: function () {
            console.log('RTCIceCandidate.usernameFragment[get]')
            return this._usernameFragment
        }
    },
    [Symbol.toStringTag]: {value: "RTCPeerConnection", writable: true, enumerable: false, configurable: true},


})

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);
    });
}


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},
})

window.RTCPeerConnection = proxy(RTCPeerConnection, 'RTCPeerConnection')
window.webkitRTCPeerConnection = RTCPeerConnection
window.AuthenticatorResponse = v_saf(function AuthenticatorResponse() {
    console.log('AuthenticatorResponse.call')

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

})
window.WebKitMutationObserver = window.MutationObserver

window.Notification = v_saf(function Notification() {
    console.log('Notification', arguments)

})
window.SharedWorker = v_saf(function SharedWorker() {
    console.log('SharedWorker', arguments)

})

// 0 XRHitTestResult true false
window.XRHitTestResult = v_saf(function XRHitTestResult() {
    console.log('XRHitTestResult', arguments)
})
// 5 EventCounts true false
window.EventCounts = v_saf(function EventCounts() {
    console.log('EventCounts', arguments)
})

// 6 SharedArrayBuffer false true
window.event = v_saf(function event() {
    console.log('event', arguments)

})
window.frameElement = null
window.PushManager = v_saf(function PushManager() {
    console.log('PushManager', arguments)

})
window.requestAnimationFrame = v_saf(function requestAnimationFrame() {
    console.log('requestAnimationFrame', arguments)

})
window.webkitRequestAnimationFrame = v_saf(function webkitRequestAnimationFrame() {
    console.log('webkitRequestAnimationFrame', arguments)

})
window.webkitResolveLocalFileSystemURL = v_saf(function webkitResolveLocalFileSystemURL() {
    console.log('webkitResolveLocalFileSystemURL', arguments)

})
window.BluetoothUUID = v_saf(function BluetoothUUID() {
    console.log('BluetoothUUID', arguments)

})


window.PublicKeyCredential = v_saf(function PublicKeyCredential() {
    console.log('PublicKeyCredential', arguments)

})
window.AuthenticatorAttestationResponse = v_saf(function AuthenticatorAttestationResponse() {
    console.log('AuthenticatorAttestationResponse', arguments)

})
window.AuthenticatorAssertionResponse = v_saf(function AuthenticatorAssertionResponse() {
    console.log('AuthenticatorAssertionResponse', arguments)
})


window.SubmitEvent = v_saf(function SubmitEvent() {
})
var v_new_toggle = true
MediaQueryList = v_saf(function MediaQueryList() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
let medias = [];
let mediaRes = ENV.matchmedias;


v_console_log = console.log
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;
            // }
            // if (_random() > 0.5){
            //     t = true
            // }else {
            //     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},
})
window.matchMedia = function matchMedia(type) {
    let t = new MediaQueryList()
    t.type = arguments
    return t;
}
window.structuredClone = v_saf(function structuredClone() {
    throw TypeError("Uncaught DOMException: Failed to execute 'structuredClone' on 'Window'")
})
// window.window = window
print = console.log

// console.log = function () {}
document = window.document;
XMLHttpRequest = v_saf(function XMLHttpRequest() {
    ;
});
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 ' uPF3AwEoJlHlzWNlesZQyw==nEDp0BiUXDVv+kZI0xmvWA2l1/2Sd+cwEqZ/dab98vw/EW9vHnlu0ewwQ6/XbKoC/4OMgkSZlMatR5Juv64BjfveRzkJCkOxeOqOk82GovL+Lz68K0ps6QBt+rFSkT/Q9/HmcE+4gxnSBp2rS1FPXpuulY3PxlibjQHx4beX+JTnZBN+EC9mU+dCite0S5/uqq5SVVm7QQhHJikbu5oY0H72574dVVA22nEDH4QT4XKjfzPsPqdxUEOh77Y+H5aA6X6gLPtQz7L2uWO/naJhfodv6ngafMaz/pgYGIbCZJySNifAsPDEXTRsJIIi+mmCMOjadxgmYo7x2ZZXHUS4ATT7yIBYRsPHoWEyk37f7zzyNJ8N+LXhZF4vc++yBopxHJpDrCevB8zHA6mJPl+vdaojopVeOjMllg9CNemDelw0IPKj7hRp2ohhjMISI8tVlX9FdgAG5GcXAxs1tJNvZ72tOiEueFcY4qxjgK+9ZrfEjvVWx5qdnYjUHSruCn6wAd3yd7qG0/9tZjKjSogKOYsa8HXyuBaMEcb3DZc9dvzi8CqM6kCMaztIfwnklpbrufz9+CKOkcCAbJQnff8rb286T90uXbhcEBQGY6a8K4vYSEXsL0YaO+KcErqGyn6Eb6jQDdhr+ahQYcX4GaObwz5SLL0fZd9tML5R30G0hO5KFT1kw6kpPHtDUtQMtq6/OQB0jSioN+AQrNrHHG369g1v02danTP9BM03yNDL06f3yaVzQgiWf9uk4iSCwDGyWaciKnOWyMDtkWa+aRrrc6fLE/cBaOMPeHC9tU6o6q71k6SkV6LY/cNTn4InnVV3ZOeTZSNYSq7ufeTSbRnbr5sdWLLFUyWClwAPzf6bzaHwIy839XZoSFSLVeVOlCuf0xWLJ5b4BDCX2/5ZiXBK08qKsPWYipmfAwG+6R7HiyAIzYma6x8JBcEbMVxUSeUnOwqXWK5mF4YGXpnv3WpxuU5TLWHNI4RuljlOOM01K2tssd0XUrUSkbE4YpAlzT9rQFuUHHL98n0tf6gLT6dRqpGx5LjI8BLwatS6KMEzoa++BVtJKGWvUi6aP0xSVy9axRQxUFsFpeaJt4/u+jjclIqIkscTd1v+VKKMYLcoSDFfYbtF1005RUaIlSuHhsP9u6BM7QtanQD7Q/t1I91gRYekXgeJ/1PJdzVSSrGAY0DGkcl9oNgV5XaAY/PzNx6YmKk7YQx50/ynwSG9Wz8jBO0tx6K5dwfEB6tWvS+5VFN8QPBzXwBs/e2hQTnN/nT/hz9F3r6M3UGjp2Wey2dyolw2noQ4BTpMLls8Y9Bk9LHN4kW9u1x7TU2HTwx754VVcy/iEhvFJQcT1i8VT7Ozg2p5Gdh2hwRyr5lHXutAlFYad698dYVFu5Ow5tVu0lnj0QQZ6D3GUi0yYcTCImyVY6AbqIzGZxlTN0NzokG1aqSbUSJmHLLxsZ4jaKK4NegXQVlAxcN3NzXvexdB5NXQRD49Mj6FQ3BxEXrPuKRKKLqlTvFbDpZp3BC0rqtXgk+tYCg+FP3rwXWnNPlZSuAoyeJOdmTtcVMTyO50M+VS3caWHf3MNpBrwzMkQh8BRw3XKwf1mvENc4rOYqSgtlzSFQ+BdjExHNdU1Z1HFClDekC0gU4Ep9UFz2vL+ZHKGXGcSDED78NJXWJdS0Kz2FJhTKFM69pa7bnQEunY3MEfAw4=';
        }
    },
    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: v_saf({
            func() {
                console.log("open_call", arguments)
            }
        }.func), enumerable: true, configurable: true
    },
    overrideMimeType: {
        get() {
            console.log("overrideMimeType_call", arguments)
        }, enumerable: true, configurable: true
    },
    send: {
        value: v_saf({
            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
    },
})
window.XMLHttpRequest = XMLHttpRequest
dispatchEvent = window.dispatchEvent
_console = console.log
global = window
window.global = window


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]')
        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) {
        v_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
            }

        }
        v_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


var idx = 0
// crypto.getRandomValues = function (a) {
//     console.log(a)
//
//     for (var i = 0; i < a.length; i++) {
//         a.fill(10000, i, i + 1)
//     }
// }

crypto = v_saf(function Crypto() {

})

Object.defineProperties(crypto, {
    subtle: {
        value: v_saf(function SubtleCrypto() {
        })
    },
    getRandomValues: {
        value: function () {
            var e = arguments[0];
            return e.map(function (x, i) {
                return e[i] = 1073712824
            });
        }
    }
})
window.crypto = crypto;

_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;
};

window.setInterval = setInterval
// window.setInterval = function (func, delay) {
//     // console.log('setInterval',delay,  func)
//     try {
//         // func()
//     } catch (e) {
//     }
// };


var events = {}
// 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
//
// }


// var _stringify = JSON.stringify;
// JSON.stringify = v_saf(function () {
//     let res = _stringify.apply(this, arguments);
//
//     console.log('_stringify', arguments, res)
//
//     return res;
//
// })
// window.JSON.stringify = JSON.stringify;
_console2 = function () {
}

var times = 0;
var stackTrace = {};
let arggs = [];


setTimeout(() => {
    if (randomEvent) {
        let randomT1 = parseInt(Math.random() * 300 + 100);
        randomT1 = 1;
        const from = {x: parseInt(Math.random() * 500 + 500), y: parseInt(Math.random() * 500 + 500)}
        const to = {x: parseInt(Math.random() * 500 + 500), y: parseInt(Math.random() * 500 + 500)}

        const route = path(from, to, {
            moveSpeed: _random() * 20 + 10
        })
        for (let p of route) {
            let t = new window.MouseEvent('mousemove');
            let x = parseInt(p.x);
            let y = parseInt(p.y);
            t.initMouseEvent('mousemove', true, true, window, 0, 0, 0, x, y, false, false, false, false, 0, null)

            t.isTrusted = true;
            t = proxy(t, 'MouseEvent')

            dispatchEvent(t)

        }
        let randomT = parseInt(Math.random() * 50 + 20);
        for (let i = 0; i < randomT; i++) {
            let t = new window.KeyboardEvent('keydown');
            let keyStr = "J8QoS9q62O4cnMVvkemfCdXE_-l3abjzRiHAP7uwFLZB0Ir=pKGxN5sgtYTWDy1hU";

            let key = keyStr[parseInt(Math.random() * keyStr.length)]
            console.log('initKeyboard', key)
            t.initKeyboardEvent('keydown', true, true, window.document.body, key)
            t = proxy(t, 'KeyboardEvent')

            dispatchEvent(t)
        }
    }


    var xhr = new XMLHttpRequest();
    xhr.open('POST', "https://jbrest.jetblue.com/lfs-rwb/outboundLFS", 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))
    // print(JSON.stringify(window.imageDatas))
    // print(JSON.stringify(medias))
    // print(candidateGetTimes)
    _process.exit(0)
// }, !_process.argv[3]?15000:1000)
}, 10000)
;
;
;


;
;
;
// debug = true;


