├── .gitattributes ├── .gitignore ├── README.md ├── data.json ├── main.py ├── obfuscated_version.js └── unobfuscated_version.js /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Byte-compiled / optimized / DLL files 2 | __pycache__/ 3 | *.py[cod] 4 | *$py.class 5 | 6 | # C extensions 7 | *.so 8 | 9 | # Distribution / packaging 10 | .Python 11 | build/ 12 | develop-eggs/ 13 | dist/ 14 | downloads/ 15 | eggs/ 16 | .eggs/ 17 | lib/ 18 | lib64/ 19 | parts/ 20 | sdist/ 21 | var/ 22 | wheels/ 23 | share/python-wheels/ 24 | *.egg-info/ 25 | .installed.cfg 26 | *.egg 27 | MANIFEST 28 | 29 | # PyInstaller 30 | # Usually these files are written by a python script from a template 31 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 32 | *.manifest 33 | *.spec 34 | 35 | # Installer logs 36 | pip-log.txt 37 | pip-delete-this-directory.txt 38 | 39 | # Unit test / coverage reports 40 | htmlcov/ 41 | .tox/ 42 | .nox/ 43 | .coverage 44 | .coverage.* 45 | .cache 46 | nosetests.xml 47 | coverage.xml 48 | *.cover 49 | *.py,cover 50 | .hypothesis/ 51 | .pytest_cache/ 52 | cover/ 53 | 54 | # Translations 55 | *.mo 56 | *.pot 57 | 58 | # Django stuff: 59 | *.log 60 | local_settings.py 61 | db.sqlite3 62 | db.sqlite3-journal 63 | 64 | # Flask stuff: 65 | instance/ 66 | .webassets-cache 67 | 68 | # Scrapy stuff: 69 | .scrapy 70 | 71 | # Sphinx documentation 72 | docs/_build/ 73 | 74 | # PyBuilder 75 | .pybuilder/ 76 | target/ 77 | 78 | # Jupyter Notebook 79 | .ipynb_checkpoints 80 | 81 | # IPython 82 | profile_default/ 83 | ipython_config.py 84 | 85 | # pyenv 86 | # For a library or package, you might want to ignore these files since the code is 87 | # intended to run in multiple environments; otherwise, check them in: 88 | # .python-version 89 | 90 | # pipenv 91 | # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. 92 | # However, in case of collaboration, if having platform-specific dependencies or dependencies 93 | # having no cross-platform support, pipenv may install dependencies that don't work, or not 94 | # install all needed dependencies. 95 | #Pipfile.lock 96 | 97 | # poetry 98 | # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. 99 | # This is especially recommended for binary packages to ensure reproducibility, and is more 100 | # commonly ignored for libraries. 101 | # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control 102 | #poetry.lock 103 | 104 | # PEP 582; used by e.g. github.com/David-OConnor/pyflow 105 | __pypackages__/ 106 | 107 | # Celery stuff 108 | celerybeat-schedule 109 | celerybeat.pid 110 | 111 | # SageMath parsed files 112 | *.sage.py 113 | 114 | # Environments 115 | .env 116 | .venv 117 | env/ 118 | venv/ 119 | ENV/ 120 | env.bak/ 121 | venv.bak/ 122 | 123 | # Spyder project settings 124 | .spyderproject 125 | .spyproject 126 | 127 | # Rope project settings 128 | .ropeproject 129 | 130 | # mkdocs documentation 131 | /site 132 | 133 | # mypy 134 | .mypy_cache/ 135 | .dmypy.json 136 | dmypy.json 137 | 138 | # Pyre type checker 139 | .pyre/ 140 | 141 | # pytype static type analyzer 142 | .pytype/ 143 | 144 | # Cython debug symbols 145 | cython_debug/ 146 | 147 | # PyCharm 148 | # JetBrains specific template is maintainted in a separate JetBrains.gitignore that can 149 | # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore 150 | # and can be added to the global gitignore or merged into this file. For a more nuclear 151 | # option (not recommended) you can uncomment the following to ignore the entire idea folder. 152 | #.idea/ 153 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Datadome documented & solved 2 | This repository contains files that will make solving Datadome protection much easier, if not solve it instantly. 3 | This solver worked on **7/3/2023**. It is very likely that something in their security changed since then. It is also possible for this solver to be flagging although I haven't noticed any signs of that happening yet. 4 | 5 | ## How Datadome works 6 | The way Datadome works is simple. You only make one request to the url `https://api-js.datadome.co/js/` with some information about your browser and you get a `datadome` cookie back. 7 | The data being sent by the browser is not encrypted or encoded but it is still hard to make sense of some values and their names. 8 | 9 | ## Big datadome oopsie 10 | A few weeks back I was already preparing to make this solver for Reddit. I downloaded the script I had to deobfuscate but left it alone after a bit because I was busy with another project. After recently coming back I noticed that the Javascript for Datadome, specifically on Reddit is [unobfuscated](https://www.redditstatic.com/js/tags-slim.js). 11 | I've archived this unobfuscated version in this repository in case they take it down as well as attached an obfuscated version of the script from another source. 12 | 13 | ## Highlights of the checks 14 | As I've figured out what all the checks do I'll do a quick sum-up of what I've found. 15 | - Screen size 16 | - Time of execution of the script 17 | - Basic renderer information 18 | - (Mostly public) checks for webdrivers and evaluation libraries like JSDom 19 | - Timezone 20 | - Plugin information (could lead to revealing real browser) 21 | - `eva` length check for the eval function. obscure check but could lead to revealing real browser 22 | - Supported audio types 23 | - Supported video types 24 | - Checking if elements specific to different browsers exist 25 | - Checking usb support 26 | 27 | ## How to try this and continue development? 28 | The solver that worked on 7/3/2023 is in the `main.py` file. If you've noticed that Datadome added some new checks in the JSON they're sending. You will likely have to deobfuscate the script or find a website that has the script unobfuscated (for whatever reason). Then just search for the variable name you want and you'll likely quickly find what you're looking for. The only things you need for this solver to work are the site URL and site key which you can find in the API request. -------------------------------------------------------------------------------- /data.json: -------------------------------------------------------------------------------- 1 | { 2 | "opts":"ajaxListenerPath", // always this for reddit 3 | "ttst":271.20000000018626, // time to execute all checks in milis 4 | "ifov":false, // some sort of jsdom check? should be false 5 | "tagpu":10.464481108568917, 6 | "glvd":"", // UNMASKED_VENDOR_WEBGL 7 | "glrd":"", // UNMASKED_RENDERER_WEBGL 8 | "hc":12, // navigator.hardwareConcurrency 9 | "br_oh":1002, // window.outerHeight 10 | "br_ow":1784, // window.outerWidth 11 | "ua":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36", // navigator.userAgent 12 | "wbd":false, // webdriver check 1. should be false 13 | "wdif":false, // webdriver check 2. should be false 14 | "wdifrm":false, // webdriver check 3. should be false 15 | "npmtm":false, // jsdom check. should be false 16 | "br_h":811, // document.documentElement.clientHeight or window.innerHeight 17 | "br_w":1706, // document.documentElement.clientWidth or window.innerWidth 18 | "nddc":1, // should be 1. something related to the datadome cookie 19 | "rs_h":1440, // window.screen.height 20 | "rs_w":2560, // window.screen.width 21 | "rs_cd":24, // window.screen.colorDepth 22 | "phe":false, // phantomjs check. should be false 23 | "nm":false, // nightmarejs check. should be false 24 | "jsf":false, // eval check. should be false 25 | "lg":"en-US", // navigator.language 26 | "pr":1, // window.devicePixelRatio 27 | "ars_h":1386, // screen.availHeight 28 | "ars_w":2560, // screen.availWidth 29 | "tz":-120, // new Date().getTimezoneOffset() 30 | "str_ss":true, // session storage exists 31 | "str_ls":true, // local storage exists 32 | "str_idb":true, // indexed db exists 33 | "str_odb":true, // open database exists 34 | "plgod":false, // something related to plugins. should be false 35 | "plg":5, // amount of plugins installed. default is 5 36 | "plgne":true, // should be true 37 | "plgre":true, // should be true 38 | "plgof":false, // should be false 39 | "plggt":false, // should be false 40 | "pltod":false, // getOwnPropertyDescriptor navigator.platform. should be false 41 | "hcovdr":false, // should be false 42 | "hcovdr2":false, // should be false 43 | "plovdr":false, // should be false 44 | "plovdr2":false, // should be false 45 | "ftsovdr":false, // should be false 46 | "ftsovdr2":false, // should be false 47 | "lb":false, // false on both chrome and firefox 48 | "eva":33, // eval.toString().length | chrome = 33, firefox = 37 49 | "lo":false, // complicated, false on firefox 50 | "ts_mtp":0, // navigator.maxTouchPoints 51 | "ts_tec":false, // document.createEvent('TouchEvent') | false on both chrome and firefox 52 | "ts_tsa":false, // 'ontouchstart' in window | false on both chrome and firefox 53 | "vnd":"Google Inc.", // window.navigator.vendor 54 | "bid":"NA", // window.navigator.buildID | available on firefox. NA on chrome 55 | "mmt":"application/pdf,text/pdf", // window.navigator.mimeTypes | same on chrome and firefox 56 | "plu":"PDF Viewer,Chrome PDF Viewer,Chromium PDF Viewer,Microsoft Edge PDF Viewer,WebKit built-in PDF", // default plugins on chrome and firefox 57 | "hdn":false, // document.hidden | false on chrome and firefox 58 | "awe":false, // window.awesomium | false 59 | "geb":false, // window.geb | false 60 | "dat":false, // dom automation | false 61 | "med":"defined", // window.navigator.mediaDevices (is defined?) | same on chrome and firefox 62 | "aco":"probably", // firefox = probably, chrome = probably | audio/ogg;\x20codecs=\x22vorbis\x22 63 | "acots":false, // firefox = false, chrome = false | audio/ogg;\x20codecs=\x22vorbis\x22 64 | "acmp":"probably", // firefox = maybe, chrome = probably | audio/mpeg; 65 | "acmpts":true, // firefox = false, chrome = true | audio/mpeg;\x22 66 | "acw":"probably", // firefox = probably, chrome = probably | audio/wav;\x20codecs=\x221\x22 67 | "acwts":false, // firefox = false, chrome = false | audio/wav;\x20codecs=\x221\x22 68 | "acma":"maybe", // firefox = maybe, chrome = maybe | audio/x-m4a; 69 | "acmats":false, // firefox = false, chrome = false | audio/x-m4a; 70 | "acaa":"probably", // firefox = maybe, chrome = probably | audio/aac; 71 | "acaats":true, // firefox = false, chrome = true | audio/aac; 72 | "ac3":"", // firefox = "", chrome = "" | audio/3gpp; 73 | "ac3ts":false, // firefox = false, chrome = false | audio/3gpp; 74 | "acf":"probably", // firefox = maybe, chrome = probably | audio/flac; 75 | "acfts":false, // firefox = false, chrome = false | audio/flac; 76 | "acmp4":"maybe", // firefox = maybe, chrome = maybe | audio/mp4; 77 | "acmp4ts":false, // firefox = true, chrome = false | audio/mp4; 78 | "acmp3":"probably", // firefox = maybe, chrome = probably | audio/mp3; 79 | "acmp3ts":false, // firefox = false, chrome = false | audio/mp3; 80 | "acwm":"maybe", // firefox = maybe, chrome = maybe | audio/webm; 81 | "acwmts":false, // firefox = true, chrome = false | audio/webm; 82 | "ocpt":false, // false | -0x1 === x.canPlayType.toString().indexOf('canPlayType') 83 | "vco":"NA", // these are all video types. they can be NA ---------- 84 | "vch":"NA", 85 | "vcw":"NA", 86 | "vc3":"NA", 87 | "vcmp":"NA", 88 | "vcq":"NA", 89 | "vc1":"NA", 90 | "vcots":"NA", 91 | "vchts":"NA", 92 | "vcwts":"NA", 93 | "vc3ts":"NA", 94 | "vcmpts":"NA", 95 | "vcqts":"NA", 96 | "vc1ts":"NA", // video types end 97 | "dvm":8, // -1 on firefox. on chrome it is the amount of ram (navigator.deviceMemory) 98 | "sqt":false, // false 99 | "so":"landscape-primary", // window.screen.orientation.type 100 | "wdw":true, // true on both firefox and chrome 101 | "cokys":"bG9hZFRpbWVzY3NpYXBwL=", // empty on firefox, "loadTimescsiapp" base64d on chrome (window.chrome keys connected together) 102 | "ecpc":false, // electron check, false 103 | "lgs":true, // navigator.languages !== "" 104 | "lgsod":false, // Object['getOwnPropertyDescriptor'](navigator, 'languages') 105 | "psn":true, // window['PermissionStatus']['prototype']['hasOwnProperty']('name') | true on both 106 | "edp":true, // window['EyeDropper'] | exists on chrome, not on firefox 107 | "addt":true, // window['AudioData'] | exists on chrome, not on firefox 108 | "wsdc":true, // window['WritableStreamDefaultController'] | exists on both 109 | "ccsr":true, // window['CSSCounterStyleRule'] | exists on both 110 | "nuad":true, // window['NavigatorUAData'] | exists on both 111 | "bcda":false, // window['BarcodeDetector'] | undefined on both 112 | "idn":true, // !(!window['Intl'] || !Intl['DisplayNames']) | true on both 113 | "capi":false, // !!(window['navigator'] && window['navigator']['contacts'] && window['navigator']['ContactsManager']) | false on both 114 | "svde":false, // !!window['SVGDiscardElement'] | false on both 115 | "vpbq":true, // !!(window['HTMLVideoElement'] && window['HTMLVideoElement']['prototype'] && window['HTMLVideoElement']['prototype']['getVideoPlaybackQuality']); | true on both 116 | "ucdv":false, // 'undefined' != typeof objectToInspect | false on both 117 | "spwn":false, // window.spawn | false on both 118 | "emt":false, // window.emit | false on both 119 | "bfr":false, // window.Buffer | false on both 120 | "dbov":false, // !!('' + window['console']['debug'])['match'](/[\)\( ]{3}[>= ]{3}\{\n[ r]{9}etu[n r]{3}n[lu]{3}/) | false on both 121 | "prm":true, // notification permission prompt denied/accepted 122 | "tzp":"Europe/Warsaw", // Intl['DateTimeFormat']()['resolvedOptions']()['timeZone'] 123 | "cvs":true, // canvas exists 124 | "usb":"defined", // window.navigator.usb 125 | "jset":1688336290 // Math.floor(Date.now() / 1000) 126 | } -------------------------------------------------------------------------------- /main.py: -------------------------------------------------------------------------------- 1 | import json 2 | import math 3 | import random 4 | import time 5 | import requests 6 | import urllib.parse 7 | 8 | site_key = "0E49E35544878DA7D303EE2DD9E6D8" 9 | website = "https://www.govx.com" # without / at the end 10 | 11 | 12 | def generate_realistic_data(): 13 | return { 14 | "opts": "ajaxListenerPath", 15 | "ttst": random.randint(200, 300) + random.uniform(0, 1), 16 | "ifov": False, 17 | "tagpu": 12.464481108548958, 18 | "glvd": "", 19 | "glrd": "", 20 | "hc": 12, 21 | "br_oh": 1002, 22 | "br_ow": 1784, 23 | "ua": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36", 24 | "wbd": False, 25 | "wdif": False, 26 | "wdifrm": False, 27 | "npmtm": False, 28 | "br_h": 811, 29 | "br_w": 1706, 30 | "nddc": 0, 31 | "rs_h": 1440, 32 | "rs_w": 2560, 33 | "rs_cd": 24, 34 | "phe": False, 35 | "nm": False, 36 | "jsf": False, 37 | "lg": "en-US", 38 | "pr": 1, 39 | "ars_h": 1386, 40 | "ars_w": 2560, 41 | "tz": -120, 42 | "str_ss": True, 43 | "str_ls": True, 44 | "str_idb": True, 45 | "str_odb": True, 46 | "plgod": False, 47 | "plg": 5, 48 | "plgne": True, 49 | "plgre": True, 50 | "plgof": False, 51 | "plggt": False, 52 | "pltod": False, 53 | "hcovdr": False, 54 | "hcovdr2": False, 55 | "plovdr": False, 56 | "plovdr2": False, 57 | "ftsovdr": False, 58 | "ftsovdr2": False, 59 | "lb": False, 60 | "eva": 33, 61 | "lo": False, 62 | "ts_mtp": 0, 63 | "ts_tec": False, 64 | "ts_tsa": False, 65 | "vnd": "Google Inc.", 66 | "bid": "NA", 67 | "mmt": "application/pdf,text/pdf", 68 | "plu": "PDF Viewer,Chrome PDF Viewer,Chromium PDF Viewer,Microsoft Edge PDF Viewer,WebKit built-in PDF", 69 | "hdn": False, 70 | "awe": False, 71 | "geb": False, 72 | "dat": False, 73 | "med": "defined", 74 | "aco": "probably", 75 | "acots": False, 76 | "acmp": "probably", 77 | "acmpts": True, 78 | "acw": "probably", 79 | "acwts": False, 80 | "acma": "maybe", 81 | "acmats": False, 82 | "acaa": "probably", 83 | "acaats": True, 84 | "ac3": "", 85 | "ac3ts": False, 86 | "acf": "probably", 87 | "acfts": False, 88 | "acmp4": "maybe", 89 | "acmp4ts": False, 90 | "acmp3": "probably", 91 | "acmp3ts": False, 92 | "acwm": "maybe", 93 | "acwmts": False, 94 | "ocpt": False, 95 | "vco": "NA", 96 | "vch": "NA", 97 | "vcw": "NA", 98 | "vc3": "NA", 99 | "vcmp": "NA", 100 | "vcq": "NA", 101 | "vc1": "NA", 102 | "vcots": "NA", 103 | "vchts": "NA", 104 | "vcwts": "NA", 105 | "vc3ts": "NA", 106 | "vcmpts": "NA", 107 | "vcqts": "NA", 108 | "vc1ts": "NA", 109 | "dvm": 8, 110 | "sqt": False, 111 | "so": "landscape-primary", 112 | "wdw": True, 113 | "cokys": "bG9hZFRpbWVzY3NpYXBwL=", 114 | "ecpc": False, 115 | "lgs": True, 116 | "lgsod": False, 117 | "psn": True, 118 | "edp": True, 119 | "addt": True, 120 | "wsdc": True, 121 | "ccsr": True, 122 | "nuad": True, 123 | "bcda": False, 124 | "idn": True, 125 | "capi": False, 126 | "svde": False, 127 | "vpbq": True, 128 | "ucdv": False, 129 | "spwn": False, 130 | "emt": False, 131 | "bfr": False, 132 | "dbov": False, 133 | "prm": True, 134 | "tzp": "Europe/Berlin", 135 | "cvs": True, 136 | "usb": "defined", 137 | "jset": math.floor(time.time()) 138 | } 139 | 140 | 141 | data = json.dumps(generate_realistic_data()) 142 | 143 | final_data = { 144 | "jsData": data, 145 | "eventCounters": [], 146 | "cid": "null", 147 | "ddk": site_key, 148 | "Referer": urllib.parse.quote(f"{website}/", safe=''), 149 | "request": "%2F", 150 | "responsePage": "origin", 151 | "ddv": "4.10.2" 152 | } 153 | 154 | token = requests.post("https://api-js.datadome.co/js/", data=final_data, headers={ 155 | "origin": website, 156 | "referer": f"{website}/", 157 | "sec-ch-ua": '"Chromium";v="111", "Not(A:Brand";v="8"', 158 | "sec-ch-ua-mobile": "?0", 159 | "sec-ch-ua-platform": '"Linux"', 160 | "sec-fetch-dest": "empty", 161 | "sec-fetch-mode": "cors", 162 | "sec-fetch-site": "cross-site", 163 | "user-agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36" 164 | }) 165 | 166 | -------------------------------------------------------------------------------- /unobfuscated_version.js: -------------------------------------------------------------------------------- 1 | /** (version 4.10.2) */ 2 | !function e(b, c, d) { 3 | function f(j, k) { 4 | var m, p, q; 5 | if (!c[j]) { 6 | if (!b[j]) { 7 | if (m = 'function' == typeof require && require, 8 | !k && m) 9 | return m(j, !0x0); 10 | if (g) 11 | return g(j, !0x0); 12 | throw (p = new Error('Cannot\x20find\x20module\x20\x27' + j + '\x27'))['code'] = 'MODULE_NOT_FOUND', 13 | p; 14 | } 15 | q = c[j] = { 16 | 'exports': {} 17 | }, 18 | b[j][0x0]['call'](q['exports'], function(u) { 19 | return f(b[j][0x1][u] || u); 20 | }, q, q['exports'], e, b, c, d); 21 | } 22 | return c[j]['exports']; 23 | } 24 | for (var g = 'function' == typeof require && require, h = 0x0; h < d['length']; h++) 25 | f(d[h]); 26 | return f; 27 | }({ 28 | 0x1: [function(a, b, c) { 29 | var d = { 30 | 'BIBli': function(f, g) { 31 | return f(g); 32 | }, 33 | 'MEGNV': function(f, g) { 34 | return f != g; 35 | }, 36 | 'iGHwr': '4.10.2' 37 | }; 38 | b['exports'] = function() { 39 | this['endpoint'] = 'https://api-js.datadome.co/js/', 40 | this['version'] = d['iGHwr'], 41 | this['ajaxListenerPath'] = null, 42 | this['ajaxListenerPathExclusion'] = null, 43 | this['customParam'] = null, 44 | this['exposeCaptchaFunction'] = !0x1, 45 | this['abortAsyncOnCaptchaDisplay'] = !0x0, 46 | this['patternToRemoveFromReferrerUrl'] = null, 47 | this['eventsTrackingEnabled'] = !0x0, 48 | this['overrideAbortFetch'] = !0x1, 49 | this['ddResponsePage'] = 'origin', 50 | this['isSalesforce'] = !0x1, 51 | this['allowHtmlContentTypeOnCaptcha'] = !0x1, 52 | this['disableAutoRefreshOnCaptchaPassed'] = !0x1, 53 | this['enableTagEvents'] = !0x1, 54 | this['withCredentials'] = !0x1, 55 | this['overrideCookieDomain'] = !0x1, 56 | this['dryRun'] = [], 57 | this['volatileSession'] = !0x1, 58 | this['sessionByHeader'] = !0x1, 59 | this['check'] = function(f) { 60 | var g = { 61 | 'yuSth': function(i, j) { 62 | return i !== j; 63 | } 64 | }; 65 | null == f && (f = {}), 66 | null != f['endpoint'] && (this['endpoint'] = f['endpoint']); 67 | var h = function(j) { 68 | var k, l, m, p, q = null, s = typeof j; 69 | if (g['yuSth']('undefined', s)) { 70 | if (k = j, 71 | 'string' === s) 72 | q = [{ 73 | 'url': k 74 | }]; 75 | else { 76 | if (!0x0 === k) 77 | q = [{ 78 | 'url': document['location']['host'] 79 | }]; 80 | else { 81 | if (Array['isArray'](k)) { 82 | if (k['length'] > 0x0) { 83 | for (q = [], 84 | l = 0x0; l < k['length']; ++l) 85 | 'string' == (p = typeof (m = k[l])) ? q['push']({ 86 | 'url': m 87 | }) : 'object' === p && q['push'](m); 88 | } 89 | } else 90 | 'object' === s && (q = [k]); 91 | } 92 | } 93 | } 94 | return q; 95 | }; 96 | this['ajaxListenerPath'] = h(f['ajaxListenerPath']), 97 | this['ajaxListenerPathExclusion'] = d['BIBli'](h, f['ajaxListenerPathExclusion']), 98 | null == this['ajaxListenerPathExclusion'] && (this['ajaxListenerPathExclusion'] = [{ 99 | 'url': 'https://www.google-analytics.com' 100 | }]), 101 | d['MEGNV'](null, f['sfcc']) && (this['isSalesforce'] = f['sfcc']), 102 | null != f['allowHtmlContentTypeOnCaptcha'] && (this['allowHtmlContentTypeOnCaptcha'] = f['allowHtmlContentTypeOnCaptcha']), 103 | null != f['customParam'] && (this['customParam'] = f['customParam']), 104 | null != f['exposeCaptchaFunction'] && (this['exposeCaptchaFunction'] = f['exposeCaptchaFunction']), 105 | null != f['abortAsyncOnCaptchaDisplay'] && (this['abortAsyncOnCaptchaDisplay'] = f['abortAsyncOnCaptchaDisplay']), 106 | null != f['debug'] && (this['debug'] = f['debug']), 107 | null != f['testingMode'] && (this['testingMode'] = f['testingMode']), 108 | null != f['eventsTrackingEnabled'] && (this['eventsTrackingEnabled'] = f['eventsTrackingEnabled']), 109 | d['MEGNV'](null, f['responsePage']) && (this['ddResponsePage'] = f['responsePage']), 110 | null != f['patternToRemoveFromReferrerUrl'] && (this['patternToRemoveFromReferrerUrl'] = f['patternToRemoveFromReferrerUrl']), 111 | null != f['overrideAbortFetch'] && (this['overrideAbortFetch'] = f['overrideAbortFetch']), 112 | null != f['disableAutoRefreshOnCaptchaPassed'] && (this['disableAutoRefreshOnCaptchaPassed'] = f['disableAutoRefreshOnCaptchaPassed']), 113 | null != f['enableTagEvents'] && (this['enableTagEvents'] = f['enableTagEvents']), 114 | null != f['withCredentials'] && (this['withCredentials'] = f['withCredentials']), 115 | d['MEGNV'](null, f['overrideCookieDomain']) && (this['overrideCookieDomain'] = f['overrideCookieDomain']), 116 | null != f['dryRun'] && (this['dryRun'] = f['dryRun']), 117 | null != f['volatileSession'] && (this['volatileSession'] = f['volatileSession']), 118 | d['MEGNV'](null, f['sessionByHeader']) && (this['sessionByHeader'] = f['sessionByHeader'], 119 | window['ddSbh'] = f['sessionByHeader']); 120 | } 121 | ; 122 | } 123 | ; 124 | } 125 | , {}], 126 | 0x2: [function(a, b, c) { 127 | b['exports'] = function() { 128 | var d = { 129 | 'eoSIA': function(g, h) { 130 | return g * h; 131 | } 132 | } 133 | , f = a('../services/VolatileSession.js'); 134 | this['dataDomeCookieName'] = 'datadome', 135 | this['dataDomeCookieValue'] = null, 136 | this['IECustomEvent'] = null, 137 | this['emptyCookieDefaultValue'] = '.keep', 138 | this['eventNames'] = { 139 | 'ready': 'dd_ready', 140 | 'posting': 'dd_post', 141 | 'posted': 'dd_post_done', 142 | 'blocked': 'dd_blocked', 143 | 'captchaDisplayed': 'dd_captcha_displayed', 144 | 'captchaError': 'dd_captcha_error', 145 | 'captchaPassed': 'dd_captcha_passed' 146 | }, 147 | this['getCookie'] = function(g, h) { 148 | var i; 149 | return null == g && (g = this['dataDomeCookieName']), 150 | null == h && (h = document['cookie']), 151 | null != (i = new RegExp(g + '=([^;]+)')['exec'](h)) ? unescape(i[0x1]) : null; 152 | } 153 | , 154 | this['setCookie'] = function(g) { 155 | try { 156 | if (document['cookie'] = g, 157 | window['ddvs']) { 158 | var h = this['getCookie']('datadome', g); 159 | null != h && f['updateProperties'](h); 160 | } 161 | } catch (i) {} 162 | } 163 | , 164 | this['replaceCookieDomain'] = function(g, h) { 165 | try { 166 | g = g['replace'](/Domain=.*?;/, 'Domain=' + h + ';'); 167 | } catch (i) {} 168 | return g; 169 | } 170 | , 171 | this['getDDSession'] = function() { 172 | var g, h; 173 | return this['dataDomeCookieValue'] ? this['dataDomeCookieValue'] : this['isLocalStorageEnabled']() && (g = window['localStorage']['getItem']('ddSession')) ? g : (h = this['getCookie'](this['dataDomeCookieName'], document['cookie'])) ? (this['dataDomeCookieValue'] = h, 174 | h) : this['emptyCookieDefaultValue']; 175 | } 176 | , 177 | this['setDDSession'] = function(g) { 178 | var h, j, k, l; 179 | try { 180 | h = this['getCookie'](this['dataDomeCookieName'], g), 181 | j = this['getRootDomain'](window['location']['origin'] ? window['location']['origin'] : window['location']['href']), 182 | this['isLocalStorageEnabled']() && window['localStorage']['setItem']('ddSession', h), 183 | (k = new Date())['setTime'](k['getTime']() + d['eoSIA'](0x16d * 0x18 * 0x3c, 0x3c) * 0x3e8), 184 | l = ';\x20expires=' + k['toGMTString'](), 185 | document['cookie'] = 'datadome=' + h + l + ';\x20path=/' + (j ? ';\x20domain=' + j : ''); 186 | } catch (m) {} 187 | } 188 | , 189 | this['getRootDomain'] = function(g) { 190 | var h, j, k, l, m, p, q; 191 | return 'string' != typeof g ? '' : (h = '://', 192 | -0x1 === (j = g['indexOf'](h)) ? '' : ((p = (m = -0x1 !== (l = (k = g['substring'](j + h['length']))['indexOf']('/')) ? k['substring'](0x0, l) : k)['indexOf'](':')) > -0x1 && (m = m['slice'](0x0, p)), 193 | (q = m['split']('.'))['length'] >= 0x2 ? '.' + q['slice'](-0x2)['join']('.') : m)); 194 | } 195 | , 196 | this['debug'] = function(g, h) { 197 | 'undefined' != typeof console && void 0x0 !== console['log'] && window['dataDomeOptions']['debug']; 198 | } 199 | , 200 | this['removeSubstringPattern'] = function(g, h) { 201 | return h ? g['replace'](new RegExp(h), function(i, j) { 202 | return i['replace'](j, ''); 203 | }) : g; 204 | } 205 | , 206 | this['addEventListener'] = function(g, h, i, j) { 207 | g['addEventListener'] ? g['addEventListener'](h, i, j) : void 0x0 !== g['attachEvent'] ? g['attachEvent']('on' + h, i) : g['on' + h] = i; 208 | } 209 | , 210 | this['removeEventListener'] = function(g, h, i, j) { 211 | g['removeEventListener'] ? g['removeEventListener'](h, i, j) : g['detachEvent'] && g['detachEvent']('on' + h, i); 212 | } 213 | , 214 | this['safeDeleteVar'] = function(g) {} 215 | , 216 | this['noscroll'] = function() { 217 | window['scrollTo'](0x0, 0x0); 218 | } 219 | , 220 | this['isSafariUA'] = function() { 221 | return !!window['navigator'] && /^((?!chrome|android).)*safari/i['test'](navigator['userAgent']); 222 | } 223 | , 224 | this['dispatchEvent'] = function(g, h) { 225 | var i; 226 | (h = h || {})['context'] = 'tags', 227 | 'function' == typeof window['CustomEvent'] ? i = new CustomEvent(g,{ 228 | 'detail': h 229 | }) : (this['IECustomEvent'] || (this['IECustomEvent'] = function(j, k) { 230 | var l = document['createEvent']('CustomEvent'); 231 | return l['initCustomEvent'](j, !0x1, !0x1, k), 232 | l; 233 | } 234 | ), 235 | i = new this['IECustomEvent'](g,h)), 236 | i && window['dispatchEvent'](i); 237 | } 238 | , 239 | this['isLocalStorageEnabled'] = function() { 240 | return null == this['localStorageEnabled'] && (this['localStorageEnabled'] = (function() { 241 | try { 242 | return !!window['localStorage']; 243 | } catch (g) { 244 | return !0x1; 245 | } 246 | }())), 247 | this['localStorageEnabled']; 248 | } 249 | ; 250 | } 251 | ; 252 | } 253 | , { 254 | '../services/VolatileSession.js': 0xb 255 | }], 256 | 0x3: [function(a, b, c) { 257 | var d = { 258 | 'FaoWV': function(h, j) { 259 | return h != j; 260 | }, 261 | 'CoDxn': 'https://ct.captcha-delivery.com' 262 | } 263 | , f = ['https://c.datado.me', 'https://c.captcha-delivery.com', d['CoDxn'], 'https://geo.captcha-delivery.com'] 264 | , g = { 265 | 'matchURLParts': function(j, k) { 266 | var m, q, v, w, x, y, z, A, B, C, D, E; 267 | return 'string' == typeof k && (null == j['host'] && null == j['path'] && null == j['query'] && null == j['fragment'] ? null != j['url'] && k['indexOf'](j['url']) > -0x1 : (m = { 268 | 'host': '', 269 | 'path': '', 270 | 'query': '', 271 | 'fragment': '' 272 | }, 273 | q = '//', 274 | v = '/', 275 | w = '?', 276 | x = '#', 277 | y = k['indexOf'](q), 278 | k['indexOf']('://') > -0x1 || 0x0 === y ? (A = (z = k['slice'](y + q['length']))['indexOf'](v), 279 | m['host'] = z['slice'](0x0, A > -0x1 ? A : void 0x0)) : (z = k, 280 | m['host'] = document['location']['host']), 281 | B = z['indexOf'](v), 282 | C = z['indexOf'](w), 283 | D = z['indexOf'](x), 284 | E = B > -0x1 ? B : 0x0, 285 | C > -0x1 && (m['path'] || (m['path'] = z['slice'](E, C)), 286 | m['query'] = z['slice'](C, D > -0x1 ? D : void 0x0)), 287 | D > -0x1 && (m['path'] || (m['path'] = z['slice'](E, D)), 288 | m['fragment'] = z['slice'](D)), 289 | m['path'] || (m['path'] = z['slice'](E)), 290 | j['strict'] ? Object['keys'](j)['filter'](function(F) { 291 | return 'strict' != F; 292 | })['every'](function(F) { 293 | return 'url' === F ? k['indexOf'](j[F]) > -0x1 : m[F]['indexOf'](j[F]) > -0x1; 294 | }) : null != j['host'] && m['host']['indexOf'](j['host']) > -0x1 || null != j['path'] && m['path']['indexOf'](j['path']) > -0x1 || null != j['query'] && m['query']['indexOf'](j['query']) > -0x1 || null != j['fragment'] && m['fragment']['indexOf'](j['fragment']) > -0x1 || d['FaoWV'](null, j['url']) && k['indexOf'](j['url']) > -0x1)); 295 | }, 296 | 'matchURLConfig': function(h, j, k) { 297 | var l, m, p, q; 298 | if (null == h) 299 | return !0x1; 300 | if (Array['isArray'](j)) { 301 | for (l = 0x0; l < k['length']; ++l) 302 | if (m = k[l], 303 | this['matchURLParts'](m, h)) 304 | return !0x1; 305 | } 306 | if (Array['isArray'](k)) { 307 | for (p = 0x0; p < j['length']; ++p) 308 | if (q = j[p], 309 | this['matchURLParts'](q, h)) 310 | return !0x0; 311 | } 312 | return !0x1; 313 | }, 314 | 'isAbsoluteUrl': function(h) { 315 | return 'string' == typeof h && (-0x1 !== h['indexOf']('://') || 0x0 === h['indexOf']('//')); 316 | }, 317 | 'isDatadomeOrigin': function(h) { 318 | var j = '.captcha-delivery.com' 319 | , k = h['slice'](h['indexOf'](j)) === j; 320 | return f['indexOf'](h) > -0x1 || k; 321 | }, 322 | 'hasDatadomeOrigin': function(h) { 323 | for (var j = 0x0; j < f['length']; ++j) 324 | if (0x0 === h['indexOf'](f[j])) 325 | return !0x0; 326 | return !0x1; 327 | } 328 | }; 329 | b['exports'] = g; 330 | } 331 | , {}], 332 | 0x4: [function(a, b, c) { 333 | var d = { 334 | 'RkEJg': '05B30BD9055986BD2EE8F5A199D973', 335 | 'SZfXZ': function(h, j) { 336 | return h(j); 337 | }, 338 | 'yHurO': function(h, j) { 339 | return h >= j; 340 | }, 341 | 'JnipR': function(h, j) { 342 | return h >= j; 343 | }, 344 | 'nTMVD': function(h, j) { 345 | return h === j; 346 | }, 347 | 'aVaIG': function(h, j) { 348 | return h !== j; 349 | }, 350 | 'vhrrD': 'Other', 351 | 'tJwHt': function(h, j) { 352 | return h !== j; 353 | }, 354 | 'ngWFn': 'iOS', 355 | 'PVPhM': function(h, j) { 356 | return h !== j; 357 | }, 358 | 'LRFEu': 'android', 359 | 'uHBAh': 'Mac', 360 | 'jNvrb': 'mac', 361 | 'vGAiM': 'other', 362 | 'wEFWT': 'name', 363 | 'SoCZS': '__fxdriver_unwrapped', 364 | 'ksSVO': 'calledSelenium', 365 | 'pGSNA': 'selenium-evaluate', 366 | 'lkYxw': function(h, j) { 367 | return h < j; 368 | }, 369 | 'ZXQfP': function(h, j) { 370 | return h in j; 371 | }, 372 | 'cvqtK': 'asyncChallengeFinished', 373 | 'AkEzI': 'platform', 374 | 'neoGp': function(h, j) { 375 | return h === j; 376 | }, 377 | 'pXqTD': 'Internet\x20Explorer', 378 | 'InJeb': function(h, j) { 379 | return h !== j; 380 | }, 381 | 'ycaVs': 'Windows\x20Phone', 382 | 'VmvZR': function(h, j) { 383 | return h >= j; 384 | }, 385 | 'FganD': 'ontouchstart', 386 | 'pyPZU': function(h, j) { 387 | return h !== j; 388 | }, 389 | 'zEMnY': 'Android', 390 | 'ijXGB': 'Linux', 391 | 'gkPkm': 'iphone', 392 | 'ydlMC': function(h, j) { 393 | return h === j; 394 | }, 395 | 'tNAtz': function(h) { 396 | return h(); 397 | }, 398 | 'Kdlom': function(h, j, k) { 399 | return h(j, k); 400 | }, 401 | 'XkGna': '00D958EEDB6E382CCCF60351ADCBC5', 402 | 'bUFQD': 'E425597ED9CAB7918B35EB23FEDF90', 403 | 'pGCMX': '288922D4BE1987530B4E5D4A17952C', 404 | 'EaSAN': function(h, j) { 405 | return h == j; 406 | } 407 | } 408 | , f = a('./../common/DataDomeTools') 409 | , g = function(h) { 410 | var j = { 411 | 'JqEjT': function(x) { 412 | return x(); 413 | }, 414 | 'jeHID': function(z, A) { 415 | return z === A; 416 | }, 417 | 'lwGmC': function(x, y) { 418 | return x(y); 419 | }, 420 | 'kBzqB': d['AkEzI'], 421 | 'JcySC': 'err', 422 | 'NUlny': function(z, A) { 423 | return z == A; 424 | }, 425 | 'OpXIe': 'empty', 426 | 'LIUEe': 'audio/wav;\x20codecs=\x221\x22', 427 | 'dmNJx': 'audio/aac;', 428 | 'rPeaF': 'video/mp4;\x20codecs=\x22avc1.42E01E\x22', 429 | 'EaySH': 'video/3gpp;', 430 | 'PtVeE': function(x, y) { 431 | return x(y); 432 | }, 433 | 'biVUE': function(z, A) { 434 | return z != A; 435 | }, 436 | 'DhQtl': function(z, A) { 437 | return d['neoGp'](z, A); 438 | }, 439 | 'hcUAf': 'mousemove', 440 | 'vSvxl': function(z, A) { 441 | return z > A; 442 | } 443 | }; 444 | function k() { 445 | return -0x1 === navigator['userAgent']['toLowerCase']()['indexOf']('android') && -0x1 === navigator['userAgent']['toLowerCase']()['indexOf']('iphone') && -0x1 === navigator['userAgent']['toLowerCase']()['indexOf']('ipad'); 446 | } 447 | function l(x) { 448 | if (window['btoa']) 449 | try { 450 | return window['btoa'](x); 451 | } catch (y) { 452 | return 'b_e'; 453 | } 454 | return 'b_u'; 455 | } 456 | function m() { 457 | return !!(h['cfpp'] || h['slat'] || h['cfcpw'] || h['cffpw'] || h['cffrb'] || h['cfse']); 458 | } 459 | function p(x) { 460 | if (void 0x0 !== window['Event'] && 'function' == typeof window['dispatchEvent']) { 461 | var y = new Event(x); 462 | window['dispatchEvent'](y); 463 | } 464 | } 465 | function q(x) { 466 | var y = { 467 | 'BkDYy': 'boolean', 468 | 'YTJOZ': function(B, C) { 469 | return B(C); 470 | }, 471 | 'QfwGV': function(B) { 472 | return j['JqEjT'](B); 473 | } 474 | } 475 | , z = x['navigator'] 476 | , A = function(B) { 477 | var C, D, E, F, G, H, I, J, K = {}; 478 | if (y['QfwGV'](k)) 479 | try { 480 | D = performance['now'](), 481 | E = B['document']['createElement']('canvas')['getContext']('webgl'), 482 | B['navigator']['buildID'] && +/Firefox\/(\d+)/['exec'](B['navigator']['userAgent'])[0x1] > 0x5b ? (F = E['VENDOR'], 483 | G = E['RENDERER']) : (F = (H = E['getExtension']('WEBGL_debug_renderer_info'))['UNMASKED_VENDOR_WEBGL'], 484 | G = H['UNMASKED_RENDERER_WEBGL']), 485 | I = E['getParameter'](F), 486 | J = E['getParameter'](G), 487 | C = performance['now']() - D + Math['random'](), 488 | K = { 489 | 'vd': I, 490 | 'rd': J 491 | }; 492 | } catch (L) { 493 | C = 'NA', 494 | K = { 495 | 'vd': 'NA', 496 | 'rd': 'NA' 497 | }; 498 | } 499 | else 500 | C = 0xa * Math['random'](); 501 | return h['tagpu'] = function(M) { 502 | var N = { 503 | 'CoYXy': 'text/javascript' 504 | }, O, P, Q, R, S; 505 | try { 506 | if (!(window['chrome'] || window['navigator'] && window['navigator']['vendor'] && 'Google\x20Inc.' == window['navigator']['vendor'])) 507 | return M; 508 | if (O = (function() { 509 | var T, U = !0x1; 510 | if (Object['defineProperty']) 511 | try { 512 | T = new Error(), 513 | window['Object']['defineProperty'](T, 'stack', { 514 | 'configurable': !0x1, 515 | 'enumerable': !0x1, 516 | 'get': function() { 517 | return U = !0x0, 518 | ''; 519 | } 520 | }), 521 | window['console']['debug'](T); 522 | } catch (V) {} 523 | return U; 524 | }()), 525 | P = '5D768A5D53EF4D2F5899708C392EAC' != window['ddjskey'] && -0x1 === v['indexOf'](0x5) && (function() { 526 | var T, U, V, W, X; 527 | try { 528 | return (T = document['createElement']('iframe'))['setAttribute']('style', 'display:\x20none;'), 529 | U = 'var\x20w=[\x27lSolWPPbW5C\x27,\x27W64IW4fwegS\x27,\x27tCo2WQ9AW5pcIXG\x27,\x27W4fLWPRdSeC\x27,\x27sebJW6Li\x27,\x27uCk5fgjDW4ddRq\x27,\x27fxpdQXX0\x27,\x27qSk1afH3\x27,\x27WQ/dOcaPnG\x27,\x27uCkZWQVcVGS\x27,\x27W74RW5iSW4Pn\x27,\x27sg/cRSkCWOO\x27,\x27FszcgYuDhCkXWOVcLH4\x27,\x27a8kUW7GsF8o5WQS\x27,\x27cvGGuvG\x27,\x27W4PNWQBcR8o6FW\x27,\x27g8oGWRLBW4i\x27,\x27WQLVW5TOhG\x27,\x27vmkDqSkmW6pdTCodecpcGez9cq\x27,\x27WPCYW7ZdVCk7jx7cV2BcOG8+W48\x27,\x27W4i6d8kJDW\x27,\x27CSkCWQNcQspdKa\x27,\x27y8o0WR9mAa\x27,\x27W6qfemoZuG\x27,\x27wCkAW67cKxjEsHehfW\x27,\x27WOPUySorkuTWWPVdHCksxmo9tq\x27,\x27W6WkkCktmG\x27,\x27W517vIpdGfKyySk1W6GltG\x27,\x27a8oOWO/dGwy\x27,\x27W4fHWPFdULG\x27,\x27xMWmW6RcMCkTW41wWPGbCv5zWRK\x27,\x27xh7cU8kVWPpcNSoSlSobW4qOyCkCW5i\x27,\x27tdddUYZcSZdcISkoW4RcIG\x27,\x27lmkODMzjlSoKgCoMo8kR\x27,\x27WR0uxCoufG\x27,\x27a8oMtIqhWPxcVSkIweqKW4HO\x27,\x27vSoWfIuo\x27,\x27W4myW5euW6NcLW\x27,\x27A0uFW7lcPa\x27,\x27imkVW7jZsuBdTNRdTW\x27,\x27c1pdVa\x27,\x27g1LhW4lcVSoA\x27,\x27WORdOYqboSo1\x27,\x27qCo4pWPf\x27,\x27W4vTWQBcRSoNCdlcV23cOYGT\x27,\x27xr4aWPNdQCkfW5tdPZ/dS1VcKG\x27,\x27bmkKW7quDW\x27,\x27sgJcPSkhWO0\x27,\x27W78oW5OsW6e\x27,\x27W4e/mmkhDG\x27,\x27C8kjWQBcRIC\x27,\x27tCkiWRhcNJ8\x27,\x27rmoVW7ZdTSka\x27,\x27W5BcUGCTWPW\x27,\x27D8oYWQnSq2ldGu7dMCoJnWVdOgy\x27,\x27WPddQ8kxpCot\x27,\x27th1yW7xcICkOW5XAWPHwCL5IWO/dR28\x27,\x27WRFdOcaanSoS\x27,\x27WRFdLfHIca\x27,\x27WPFdPg5Doa\x27,\x27W5jTWPVcVmo8FINcQG\x27,\x27xSkBkerP\x27,\x27W4FdKdNcT8oi\x27,\x27W5z0WP3dUKldKe4mpGTIWPWsWPu\x27,\x27rCougrVcOa\x27,\x27wwyRW47cMCkRW5DE\x27,\x27BmoQlJyxgCoWk8olemkQWRxdNCoAta\x27,\x27WQmMWQRdJ1KRhrCAvqm\x27,\x27W6T7W6TvW74wmaeExmk6WQDNxCk9bSon\x27,\x27l0JcI3FcRa\x27,\x27W4GWomoZFCoJ\x27,\x27W4XXW7jiW5C\x27,\x27W4RcKqq9WPD8y8kL\x27,\x27fc7cKqToW50\x27,\x27AsXWW5NdMbu\x27,\x27dCkPW54svW\x27,\x27W4NcKa8dWQy\x27,\x27W41dFHrEjSkgWPZcG8kwimo9\x27,\x27s35RW5vIfuS\x27,\x27W7xdGLGadL3dRSoDFSkpcW\x27,\x27W5TiW6TjW7i\x27,\x27nYJcJbzpW47cGsOF\x27,\x27W6zSW7dcJam5iqWA\x27,\x27W7GjCCoQi8kLxa\x27,\x27WQuMWQJcJGGmpZO+\x27,\x27WQqBAmo7\x27,\x27ACo2WQnMrW\x27,\x27bMBdPmoCxG\x27,\x27kCkVW48ryG\x27,\x27W7n4WR7dT0m\x27,\x27fSoRWR9lW53cNd0\x27,\x27W6hdNrxcVmo1\x27,\x27W6yRW5ifW4O\x27,\x27WOZcMs1Dva\x27,\x27W7pcIYeAWPy\x27,\x27W7allSk6pCkf\x27,\x27BCkFW4NcGSkz\x27,\x27W6jXW4ZcJb4KnHS\x27,\x27ACkNbKzsWO7cMSkYf8o4\x27,\x27W7T2W5FcIYS\x27,\x27D1FcNCkmWQK\x27,\x27W7vHWQxcHmoI\x27,\x27uxv7W6bOnvKoBmkaW5DEtLm\x27,\x27ASk7hez+WPRcICkXfSo4\x27,\x27W4vTWQBcU8oHEYi\x27,\x27W6boWQ/cGmob\x27,\x27ymk7W53cNSkOgK8\x27,\x27WPddJhTUmCku\x27,\x27WPFdOcadpmoesgLLbW\x27,\x27W7qHo8oUCG\x27,\x27fYG6WOCVpgGkFCk6W60\x27,\x27c8kTW7SBzW\x27,\x27g8oGWR1hW4VcTGVcHCocWPG7WQWLW6O\x27,\x27rNvPW5L0p30tD8kjW4jjDuW\x27,\x27vthcS0WQW7P1Au7dU1e\x27,\x27CmoaWODGyq\x27];function\x20l(t,a){t=t-0x9c;var\x20O=w[t];if(l[\x27AbSdhQ\x27]===undefined){var\x20x=function(Q){var\x20Z=\x27abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=\x27;var\x20T=\x27\x27;for(var\x20D=0x0,e,q,R=0x0;q=Q[\x27charAt\x27](R++);~q&&(e=D%0x4?e*0x40+q:q,D++%0x4)?T+=String[\x27fromCharCode\x27](0xff&e>>(-0x2*D&0x6)):0x0){q=Z[\x27indexOf\x27](q);}return\x20T;};var\x20Y=function(Q,Z){var\x20T=[],D=0x0,e,q=\x27\x27,R=\x27\x27;Q=x(Q);for(var\x20X=0x0,G=Q[\x27length\x27];X= 0x2 ? h['ifov'] = !!x[0x1]['match'](/Ob[cej]{3}t\.a[lp]{3}y[\(< ]{3}an[oynm]{5}us>/) : h['ifov'] = 'e1'; 670 | } catch (z) { 671 | h['ifov'] = 'e2'; 672 | } 673 | } 674 | } 675 | , 676 | this['dd_b'] = function() { 677 | try { 678 | var x = document['createElement']('iframe'); 679 | x['srcdoc'] = '/**/', 680 | x['setAttribute']('style', 'display:\x20none;'), 681 | document && document['head'] && (document['head']['appendChild'](x), 682 | this['_iframeRef'] = x, 683 | this['_spawningIframeVals'] = q(x['contentWindow']), 684 | this['_spawningIframeRefs'] = u(x['contentWindow'])); 685 | } catch (y) {} 686 | } 687 | , 688 | this['dd_f'] = function() { 689 | var x, y, z; 690 | try { 691 | x = this['_iframeRef']['contentWindow']['navigator'], 692 | document['head']['removeChild'](this['_iframeRef']), 693 | this['_iframeRef'] = null, 694 | y = window['navigator']['platform'], 695 | (z = x['platform']) !== y && (h['dil'] = l(z + '__' + y)); 696 | } catch (A) {} 697 | } 698 | , 699 | this['dd_c'] = function() { 700 | var x, y, z, A = q(window); 701 | h['glvd'] = A['glvd'], 702 | h['glrd'] = A['glrd'], 703 | h['hc'] = A['hc'], 704 | h['br_oh'] = A['br_oh'], 705 | h['br_ow'] = A['br_ow'], 706 | h['ua'] = A['ua'], 707 | h['wbd'] = A['wbd']; 708 | try { 709 | function B(C, D) { 710 | var E, F = [], G = []; 711 | for (E in C) 712 | C[E] !== D[E] && (F['push'](E), 713 | G['push'](C[E])); 714 | return { 715 | 'keysDelta': F['join'](), 716 | 'deltaVals': G['join']() 717 | }; 718 | } 719 | (x = B(this['_spawningIframeVals'], A))['keysDelta'] && (h['sivd'] = x['keysDelta'], 720 | h['sirv'] = l(x['deltaVals']['slice'](0x0, 0x12c))), 721 | y = d['SZfXZ'](u, this['_iframeRef']['contentWindow']), 722 | (z = B(this['_spawningIframeRefs'], y))['keysDelta'] && (h['sird'] = z['keysDelta']); 723 | } catch (C) { 724 | h['log1'] = l(C['message']); 725 | } 726 | } 727 | , 728 | this['dd_v'] = function() { 729 | var x = { 730 | 'TOaoG': function(E, F) { 731 | return E === F; 732 | } 733 | }; 734 | function y(E) { 735 | return j['jeHID']('RangeError', E['name']); 736 | } 737 | function z(E) { 738 | if ('string' == typeof E['stack']) { 739 | var F = E['stack']['split']('\x0a'); 740 | if (F['length'] > 0x2) 741 | return x['TOaoG'](0x0, F[0x0]['indexOf']('TypeError:\x20Cyclic')) && F[0x1]['indexOf']('at\x20Object.setPro') > -0x1; 742 | } 743 | } 744 | function A(E) { 745 | var F = Object['getPrototypeOf'](E); 746 | try { 747 | Object['setPrototypeOf'](E, E)['toString'](); 748 | } catch (G) { 749 | return G; 750 | } finally { 751 | Object['setPrototypeOf'](E, F); 752 | } 753 | return !0x1; 754 | } 755 | var B, C, D; 756 | window['chrome'] || (h['hcovdr'] = !0x1, 757 | h['plovdr'] = !0x1, 758 | h['ftsovdr'] = !0x1, 759 | h['hcovdr2'] = !0x1, 760 | h['plovdr2'] = !0x1, 761 | h['ftsovdr2'] = !0x1); 762 | try { 763 | B = j['lwGmC'](A, Object['getOwnPropertyDescriptor'](navigator['__proto__'], 'hardwareConcurrency')['get']), 764 | h['hcovdr'] = y(B), 765 | h['hcovdr2'] = z(B); 766 | } catch (E) { 767 | h['hcovdr'] = !0x1, 768 | h['hcovdr2'] = !0x1; 769 | } 770 | try { 771 | C = A(Object['getOwnPropertyDescriptor'](navigator['__proto__'], j['kBzqB'])['get']), 772 | h['plovdr'] = y(C), 773 | h['plovdr2'] = z(C); 774 | } catch (F) { 775 | h['plovdr'] = !0x1, 776 | h['plovdr2'] = !0x1; 777 | } 778 | try { 779 | D = A(Function['prototype']['toString']), 780 | h['ftsovdr'] = y(D), 781 | h['ftsovdr2'] = z(D); 782 | } catch (G) { 783 | h['ftsovdr'] = !0x1, 784 | h['ftsovdr2'] = !0x1; 785 | } 786 | } 787 | , 788 | this['dd_d'] = function() { 789 | try { 790 | var x = this['_iframeRef']; 791 | h['wdif'] = !!x['contentWindow']['navigator']['webdriver'], 792 | h['wdifrm'] = x['contentWindow'] === window || x['contentWindow']['setTimeout'] === window['setTimeout'], 793 | h['iwgl'] = x['contentWindow']['self'] && x['contentWindow']['self']['get'] && x['contentWindow']['self']['get']['toString'] && x['contentWindow']['self']['get']['toString']()['length']; 794 | } catch (y) { 795 | h['wdif'] = 'err'; 796 | } 797 | } 798 | , 799 | this['dd_g'] = function() { 800 | h['br_h'] = Math['max'](document['documentElement']['clientHeight'], window['innerHeight'] || 0x0), 801 | h['br_w'] = Math['max'](document['documentElement']['clientWidth'], window['innerWidth'] || 0x0); 802 | } 803 | , 804 | this['dd_i'] = function() { 805 | h['rs_h'] = window['screen']['height'], 806 | h['rs_w'] = window['screen']['width'], 807 | h['rs_cd'] = window['screen']['colorDepth']; 808 | } 809 | , 810 | this['dd_ac'] = function() { 811 | try { 812 | var x = document['createElement']('canvas'); 813 | h['cvs'] = !(!x['getContext'] || !x['getContext']('2d')); 814 | } catch (y) { 815 | h['cvs'] = !0x1; 816 | } 817 | } 818 | , 819 | this['dd_j'] = function() { 820 | h['phe'] = !(!window['callPhantom'] && !window['_phantom']); 821 | } 822 | , 823 | this['dd_k'] = function() { 824 | h['nm'] = !!window['__nightmare']; 825 | } 826 | , 827 | this['dd_l'] = function() { 828 | h['jsf'] = !0x1, 829 | (!Function['prototype']['bind'] || Function['prototype']['bind']['toString']()['replace'](/bind/g, 'Error') != Error['toString']() && void 0x0 === window['Prototype']) && (h['jsf'] = !0x0); 830 | } 831 | , 832 | this['dd_n'] = function() { 833 | h['lg'] = navigator['language'] || navigator['userLanguage'] || navigator['browserLanguage'] || navigator['systemLanguage'] || ''; 834 | } 835 | , 836 | this['dd_o'] = function() { 837 | h['pr'] = window['devicePixelRatio'] || 'unknown'; 838 | } 839 | , 840 | this['dd_q'] = function() { 841 | h['ars_h'] = screen['availHeight'] || 0x0, 842 | h['ars_w'] = screen['availWidth'] || 0x0; 843 | } 844 | , 845 | this['dd_r'] = function() { 846 | h['tz'] = new Date()['getTimezoneOffset'](); 847 | } 848 | , 849 | this['dd_ab'] = function() { 850 | h['tzp'] = 'NA', 851 | window['Intl'] && Intl['DateTimeFormat'] && 'function' == typeof Intl['DateTimeFormat']['prototype']['resolvedOptions'] && (h['tzp'] = Intl['DateTimeFormat']()['resolvedOptions']()['timeZone'] || 'NA'); 852 | } 853 | , 854 | this['dd_s'] = function() { 855 | try { 856 | h['str_ss'] = !!window['sessionStorage']; 857 | } catch (x) { 858 | h['str_ss'] = 'NA'; 859 | } 860 | try { 861 | h['str_ls'] = !!window['localStorage']; 862 | } catch (y) { 863 | h['str_ls'] = 'NA'; 864 | } 865 | try { 866 | h['str_idb'] = !!window['indexedDB']; 867 | } catch (z) { 868 | h['str_idb'] = 'NA'; 869 | } 870 | try { 871 | h['str_odb'] = !!window['openDatabase']; 872 | } catch (A) { 873 | h['str_odb'] = 'NA'; 874 | } 875 | } 876 | , 877 | this['dd_t'] = function() { 878 | try { 879 | if (h['plgod'] = !0x1, 880 | h['plg'] = navigator['plugins']['length'], 881 | h['plgne'] = 'NA', 882 | h['plgre'] = 'NA', 883 | h['plgof'] = 'NA', 884 | h['plggt'] = 'NA', 885 | h['plgod'] = !!Object['getOwnPropertyDescriptor'](navigator, 'plugins'), 886 | navigator['plugins'] && navigator['plugins']['length'] > 0x0 && 'string' == typeof navigator['plugins'][0x0]['name']) { 887 | try { 888 | navigator['plugins'][0x0]['length']; 889 | } catch (x) { 890 | h['plgod'] = !0x0; 891 | } 892 | try { 893 | h['plgne'] = navigator['plugins'][0x0]['name'] === navigator['plugins'][0x0][0x0]['enabledPlugin']['name'], 894 | h['plgre'] = navigator['plugins'][0x0][0x0]['enabledPlugin'] === navigator['plugins'][0x0], 895 | h['plgof'] = navigator['plugins']['item'](0x30dbb74c12bcd) === navigator['plugins'][0x0], 896 | h['plggt'] = Object['getOwnPropertyDescriptor'](navigator['__proto__'], 'plugins')['get']['toString']()['indexOf']('return') > -0x1; 897 | } catch (y) { 898 | h['plgne'] = 'err', 899 | h['plgre'] = 'err', 900 | h['plgof'] = j['JcySC'], 901 | h['plggt'] = 'err'; 902 | } 903 | } 904 | } catch (z) { 905 | h['plg'] = 0x0; 906 | } 907 | } 908 | , 909 | this['dd_u'] = function() { 910 | h['pltod'] = !!Object['getOwnPropertyDescriptor'](navigator, 'platform'); 911 | } 912 | , 913 | this['dd_w'] = function() { 914 | var x, y, z; 915 | h['lb'] = !0x1, 916 | 'Chrome' != (y = (x = navigator['userAgent']['toLowerCase']())['indexOf']('firefox') >= 0x0 ? 'Firefox' : d['yHurO'](x['indexOf']('opera'), 0x0) || x['indexOf']('opr') >= 0x0 ? 'Opera' : d['JnipR'](x['indexOf']('chrome'), 0x0) ? 'Chrome' : x['indexOf']('safari') >= 0x0 ? 'Safari' : x['indexOf']('trident') >= 0x0 ? 'Internet\x20Explorer' : 'Other') && 'Safari' !== y && 'Opera' !== y || '20030107' === navigator['productSub'] || (h['lb'] = !0x0), 917 | z = eval['toString']()['length'], 918 | h['eva'] = z, 919 | (d['nTMVD'](0x25, z) && 'Safari' !== y && d['aVaIG']('Firefox', y) && 'Other' !== y || 0x27 === z && 'Internet\x20Explorer' !== y && 'Other' !== y || 0x21 === z && 'Chrome' !== y && 'Opera' !== y && 'Other' !== y) && (h['lb'] = !0x0); 920 | } 921 | , 922 | this['dd_x'] = function() { 923 | var x, y, z, A; 924 | h['lo'] = !0x1, 925 | x = navigator['userAgent']['toLowerCase'](), 926 | y = navigator['oscpu'], 927 | z = navigator['platform']['toLowerCase'](), 928 | A = x['indexOf']('windows\x20phone') >= 0x0 ? 'Windows\x20Phone' : x['indexOf']('win') >= 0x0 ? 'Windows' : x['indexOf']('android') >= 0x0 ? 'Android' : x['indexOf']('linux') >= 0x0 ? 'Linux' : x['indexOf']('iphone') >= 0x0 || d['JnipR'](x['indexOf']('ipad'), 0x0) ? 'iOS' : x['indexOf']('mac') >= 0x0 ? 'Mac' : 'Other', 929 | ('ontouchstart'in window || navigator['maxTouchPoints'] > 0x0 || navigator['msMaxTouchPoints'] > 0x0) && 'Windows\x20Phone' !== A && 'Android' !== A && 'iOS' !== A && d['vhrrD'] !== A && (h['lo'] = !0x0), 930 | void 0x0 !== y && ((y = y['toLowerCase']())['indexOf']('win') >= 0x0 && 'Windows' !== A && 'Windows\x20Phone' !== A || y['indexOf']('linux') >= 0x0 && 'Linux' !== A && d['tJwHt']('Android', A) || d['JnipR'](y['indexOf']('mac'), 0x0) && 'Mac' !== A && d['ngWFn'] !== A || 0x0 === y['indexOf']('win') && 0x0 === y['indexOf']('linux') && y['indexOf']('mac') >= 0x0 && 'other' !== A) && (h['lo'] = !0x0), 931 | (z['indexOf']('win') >= 0x0 && 'Windows' !== A && d['PVPhM']('Windows\x20Phone', A) || (z['indexOf']('linux') >= 0x0 || z['indexOf'](d['LRFEu']) >= 0x0 || z['indexOf']('pike') >= 0x0) && 'Linux' !== A && d['PVPhM']('Android', A) || (z['indexOf']('mac') >= 0x0 || z['indexOf']('ipad') >= 0x0 || d['JnipR'](z['indexOf']('ipod'), 0x0) || z['indexOf']('iphone') >= 0x0) && d['uHBAh'] !== A && 'iOS' !== A || 0x0 === z['indexOf']('win') && 0x0 === z['indexOf']('linux') && z['indexOf'](d['jNvrb']) >= 0x0 && d['vGAiM'] !== A) && (h['lo'] = !0x0), 932 | void 0x0 === navigator['plugins'] && 'Windows' !== A && 'Windows\x20Phone' !== A && (h['lo'] = !0x0); 933 | } 934 | , 935 | this['dd_y'] = function() { 936 | h['ts_mtp'] = navigator['maxTouchPoints'] || navigator['msMaxTouchPoints'] || 0x0; 937 | try { 938 | document['createEvent']('TouchEvent'), 939 | h['ts_tec'] = !0x0; 940 | } catch (x) { 941 | h['ts_tec'] = !0x1; 942 | } 943 | h['ts_tsa'] = 'ontouchstart'in window; 944 | } 945 | , 946 | this['dd_ad'] = function() { 947 | window['navigator']['usb'] ? h['usb'] = 'defined' : h['usb'] = 'NA'; 948 | } 949 | , 950 | this['dd_z'] = function() { 951 | h['vnd'] = window['navigator']['vendor']; 952 | } 953 | , 954 | this['dd_A'] = function() { 955 | h['bid'] = window['navigator']['buildID'] || 'NA'; 956 | } 957 | , 958 | this['dd_B'] = function() { 959 | var x, y; 960 | if (window['navigator']['mimeTypes']) { 961 | if (0x0 == window['navigator']['mimeTypes']['length']) 962 | h['mmt'] = 'empty'; 963 | else { 964 | for (x = [], 965 | y = 0x0; y < window['navigator']['mimeTypes']['length']; y++) 966 | x['push'](window['navigator']['mimeTypes'][y]['type']); 967 | h['mmt'] = x['join'](); 968 | } 969 | } else 970 | h['mmt'] = 'NA'; 971 | } 972 | , 973 | this['dd_C'] = function() { 974 | var x, y; 975 | if (window['navigator']['plugins']) { 976 | if (j['NUlny'](0x0, window['navigator']['plugins']['length'])) 977 | h['plu'] = j['OpXIe']; 978 | else { 979 | for (x = [], 980 | y = 0x0; y < window['navigator']['plugins']['length']; y++) 981 | x['push'](window['navigator']['plugins'][y]['name']); 982 | h['plu'] = x['join'](); 983 | } 984 | } else 985 | h['plu'] = 'NA'; 986 | } 987 | , 988 | this['dd_D'] = function() { 989 | h['hdn'] = !!document['hidden']; 990 | } 991 | , 992 | this['dd_E'] = function() { 993 | h['awe'] = !!window['awesomium']; 994 | } 995 | , 996 | this['dd_F'] = function() { 997 | h['geb'] = !!window['geb']; 998 | } 999 | , 1000 | this['dd_G'] = function() { 1001 | h['dat'] = 'domAutomation'in window || 'domAutomationController'in window; 1002 | } 1003 | , 1004 | this['dd_H'] = function() { 1005 | window['navigator']['mediaDevices'] ? h['med'] = 'defined' : h['med'] = 'NA'; 1006 | } 1007 | , 1008 | this['dd_I'] = function() { 1009 | var x, y; 1010 | try { 1011 | x = document['createElement']('audio'), 1012 | y = MediaSource || WebKitMediaSource, 1013 | h['aco'] = x['canPlayType']('audio/ogg;\x20codecs=\x22vorbis\x22'), 1014 | h['acots'] = y['isTypeSupported']('audio/ogg;\x20codecs=\x22vorbis\x22'), 1015 | h['acmp'] = x['canPlayType']('audio/mpeg;'), 1016 | h['acmpts'] = y['isTypeSupported']('audio/mpeg;\x22'), 1017 | h['acw'] = x['canPlayType']('audio/wav;\x20codecs=\x221\x22'), 1018 | h['acwts'] = y['isTypeSupported'](j['LIUEe']), 1019 | h['acma'] = x['canPlayType']('audio/x-m4a;'), 1020 | h['acmats'] = y['isTypeSupported']('audio/x-m4a;'), 1021 | h['acaa'] = x['canPlayType']('audio/aac;'), 1022 | h['acaats'] = y['isTypeSupported'](j['dmNJx']), 1023 | h['ac3'] = x['canPlayType']('audio/3gpp;'), 1024 | h['ac3ts'] = y['isTypeSupported']('audio/3gpp;'), 1025 | h['acf'] = x['canPlayType']('audio/flac;'), 1026 | h['acfts'] = y['isTypeSupported']('audio/flac;'), 1027 | h['acmp4'] = x['canPlayType']('audio/mp4;'), 1028 | h['acmp4ts'] = y['isTypeSupported']('audio/mp4;'), 1029 | h['acmp3'] = x['canPlayType']('audio/mp3;'), 1030 | h['acmp3ts'] = y['isTypeSupported']('audio/mp3;'), 1031 | h['acwm'] = x['canPlayType']('audio/webm;'), 1032 | h['acwmts'] = y['isTypeSupported']('audio/webm;'), 1033 | h['ocpt'] = -0x1 === x['canPlayType']['toString']()['indexOf']('canPlayType'); 1034 | } catch (z) { 1035 | h['aco'] = 'NA', 1036 | h['acmp'] = 'NA', 1037 | h['acw'] = 'NA', 1038 | h['acma'] = 'NA', 1039 | h['acaa'] = 'NA', 1040 | h['ac3'] = 'NA', 1041 | h['acf'] = 'NA', 1042 | h['acmp4'] = 'NA', 1043 | h['acmp3'] = 'NA', 1044 | h['acwm'] = 'NA', 1045 | h['acots'] = 'NA', 1046 | h['acmpts'] = 'NA', 1047 | h['acwts'] = 'NA', 1048 | h['acmats'] = 'NA', 1049 | h['acaats'] = 'NA', 1050 | h['ac3ts'] = 'NA', 1051 | h['acfts'] = 'NA', 1052 | h['acmp4ts'] = 'NA', 1053 | h['acmp3ts'] = 'NA', 1054 | h['acwmts'] = 'NA'; 1055 | } 1056 | } 1057 | , 1058 | this['dd_J'] = function() { 1059 | var x, y; 1060 | try { 1061 | x = document['createElement']('video'), 1062 | y = MediaSource || WebKitMediaSource, 1063 | h['vco'] = x['canPlayType']('video/ogg;\x20codecs=\x22theora\x22'), 1064 | h['vcots'] = y['isTypeSupported']('video/ogg;\x20codecs=\x22theora\x22'), 1065 | h['vch'] = x['canPlayType']('video/mp4;\x20codecs=\x22avc1.42E01E\x22'), 1066 | h['vchts'] = y['isTypeSupported'](j['rPeaF']), 1067 | h['vcw'] = x['canPlayType']('video/webm;\x20codecs=\x22vp8,\x20vorbis\x22'), 1068 | h['vcwts'] = y['isTypeSupported']('video/webm;\x20codecs=\x22vp8,\x20vorbis\x22'), 1069 | h['vc3'] = x['canPlayType'](j['EaySH']), 1070 | h['vc3ts'] = y['isTypeSupported']('video/3gpp;'), 1071 | h['vcmp'] = x['canPlayType']('video/mpeg;'), 1072 | h['vcmpts'] = y['isTypeSupported']('video/mpeg'), 1073 | h['vcq'] = x['canPlayType']('video/quicktime;'), 1074 | h['vcqts'] = y['isTypeSupported']('video/quicktime;'), 1075 | h['vc1'] = x['canPlayType']('video/mp4;\x20codecs=\x22av01.0.08M.08\x22'), 1076 | h['vc1ts'] = y['isTypeSupported']('video/mp4;\x20codecs=\x22av01.0.08M.08\x22'); 1077 | } catch (z) { 1078 | h['vco'] = 'NA', 1079 | h['vch'] = 'NA', 1080 | h['vcw'] = 'NA', 1081 | h['vc3'] = 'NA', 1082 | h['vcmp'] = 'NA', 1083 | h['vcq'] = 'NA', 1084 | h['vc1'] = 'NA', 1085 | h['vcots'] = 'NA', 1086 | h['vchts'] = 'NA', 1087 | h['vcwts'] = 'NA', 1088 | h['vc3ts'] = 'NA', 1089 | h['vcmpts'] = 'NA', 1090 | h['vcqts'] = 'NA', 1091 | h['vc1ts'] = 'NA'; 1092 | } 1093 | } 1094 | , 1095 | this['dd_K'] = function() { 1096 | h['dvm'] = navigator['deviceMemory'] || -0x1; 1097 | } 1098 | , 1099 | this['dd_L'] = function() { 1100 | h['sqt'] = window['external'] && window['external']['toString'] && window['external']['toString']()['indexOf']('Sequentum') > -0x1; 1101 | } 1102 | , 1103 | this['dd_M'] = function() { 1104 | try { 1105 | h['so'] = window['screen']['orientation']['type']; 1106 | } catch (x) { 1107 | try { 1108 | h['so'] = window['screen']['msOrientation']; 1109 | } catch (y) { 1110 | h['so'] = 'NA'; 1111 | } 1112 | } 1113 | } 1114 | , 1115 | this['dd_R'] = function() { 1116 | 'object' == typeof window['process'] && 'renderer' === window['process']['type'] || 'undefined' != typeof process && 'object' == typeof process['versions'] && process['versions']['electron'] || window['close']['toString']()['indexOf']('ELECTRON') > -0x1 ? h['ecpc'] = !0x0 : h['ecpc'] = !!window['process']; 1117 | } 1118 | , 1119 | this['dd_Q'] = function() { 1120 | var x, y; 1121 | if (h['wdw'] = !0x0, 1122 | navigator['userAgent']['toLowerCase']()['indexOf']('chrome') >= 0x0 && !window['chrome'] && (h['wdw'] = !0x1), 1123 | window['chrome']) { 1124 | for (y in (x = '', 1125 | window['chrome'])) 1126 | x += y; 1127 | h['cokys'] = l(x) + 'L='; 1128 | } 1129 | } 1130 | , 1131 | this['dd_aa'] = function() { 1132 | var x = { 1133 | 'tdjUu': function(z, A) { 1134 | return z != A; 1135 | } 1136 | }; 1137 | h['prm'] = !0x0, 1138 | void 0x0 !== navigator['permissions'] && void 0x0 !== navigator['permissions']['query'] && navigator['permissions']['query']({ 1139 | 'name': 'notifications' 1140 | })['then'](function(y) { 1141 | x['tdjUu']('undefined', typeof Notification) && 'denied' == Notification['permission'] && 'prompt' == y['state'] && (h['prm'] = !0x1); 1142 | })['catch'](function() {}); 1143 | } 1144 | , 1145 | this['dd_S'] = function() { 1146 | h['lgs'] = '' !== navigator['languages'], 1147 | h['lgsod'] = !!Object['getOwnPropertyDescriptor'](navigator, 'languages'); 1148 | } 1149 | , 1150 | this['dd_T'] = function() { 1151 | var x = { 1152 | 'Hsyvn': '3|0|1|4|5|2', 1153 | 'fzWfX': function(G) { 1154 | return G(); 1155 | }, 1156 | 'xYjzJ': function(G, H) { 1157 | return G > H; 1158 | }, 1159 | 'wmchJ': function(G, H) { 1160 | return j['lwGmC'](G, H); 1161 | }, 1162 | 'RkBVo': 'asyncChallengeFinished', 1163 | 'GFBYp': function(G, H) { 1164 | return G - H; 1165 | } 1166 | }; 1167 | function y(G) { 1168 | return 'function' != typeof G || !0x0 === navigator['webdriver'] ? G : G['toString']()['match'](/\{\s*\[native code\]\s*\}$/m) && G['toString']['toString']()['match'](/\{\s*\[native code\]\s*\}$/m) ? function() { 1169 | var H = x['Hsyvn']['split']('|') 1170 | , I = 0x0; 1171 | while (!![]) { 1172 | switch (H[I++]) { 1173 | case '0': 1174 | if (F <= 0x0) 1175 | return G['apply'](this, arguments); 1176 | continue; 1177 | case '1': 1178 | if (F--, 1179 | x['fzWfX'](m) || !z) 1180 | return G['apply'](this, arguments); 1181 | continue; 1182 | case '2': 1183 | return G['apply'](this, arguments); 1184 | case '3': 1185 | var J, K; 1186 | continue; 1187 | case '4': 1188 | try { 1189 | J = arguments['callee']['caller']['toString'](), 1190 | h['cfpfe'] = l(J['slice'](0x0, 0x96)), 1191 | J['indexOf']('on(selector,\x20wit') > -0x1 && (h['cffrb'] = !0x0, 1192 | p('asyncChallengeFinished')); 1193 | } catch (L) { 1194 | h['cfpfe'] = l('Error:\x20' + L['message']['slice'](0x0, 0x96)); 1195 | } 1196 | continue; 1197 | case '5': 1198 | try { 1199 | null[0x0]; 1200 | } catch (M) { 1201 | if ('string' != typeof M['stack']) 1202 | return G['apply'](this, arguments); 1203 | if (h['stcfp'] = l(M['stack']['slice'](-0x96)), 1204 | K = M['stack']['split']('\x0a'), 1205 | A) 1206 | try { 1207 | x['xYjzJ'](K['length'], 0x1) && C['test'](K[0x2]) && (h['cfpp'] = !0x0, 1208 | x['wmchJ'](p, x['RkBVo'])), 1209 | K['length'] > 0x2 && D['test'](K[K['length'] - 0x3]) && (h['cfcpw'] = !0x0, 1210 | p('asyncChallengeFinished')), 1211 | K['length'] > 0x8 && E['test'](K[x['GFBYp'](K['length'], 0x4)]) && (h['cfse'] = !0x0, 1212 | p('asyncChallengeFinished')); 1213 | } catch (N) {} 1214 | else { 1215 | if (B) 1216 | try { 1217 | x['xYjzJ'](K['length'], 0x2) && D['test'](K[K['length'] - 0x3]) && (h['cffpw'] = !0x0, 1218 | p('asyncChallengeFinished')); 1219 | } catch (O) {} 1220 | } 1221 | } 1222 | continue; 1223 | } 1224 | break; 1225 | } 1226 | } 1227 | : G; 1228 | } 1229 | var z = !0x0 1230 | , A = !!navigator['deviceMemory'] 1231 | , B = !!navigator['buildID'] 1232 | , C = /[p_]{3}up[tep]{4}er[ae_v]{4}lua[noti]{4}/ 1233 | , D = /eval\sat\sevaluate|@chrome|evaluate@/ 1234 | , E = /apply\.(css\sselector|xpath|(partial\s)?link\stext)/ 1235 | , F = 0x32; 1236 | try { 1237 | document['getElementById'] = y(document['getElementById']), 1238 | document['getElementsByTagName'] = j['PtVeE'](y, document['getElementsByTagName']), 1239 | document['querySelector'] = y(document['querySelector']), 1240 | document['querySelectorAll'] = y(document['querySelectorAll']), 1241 | document['evaluate'] = y(document['evaluate']), 1242 | XMLSerializer && XMLSerializer['prototype'] && XMLSerializer['prototype']['serializeToString'] && (XMLSerializer['prototype']['serializeToString'] = y(XMLSerializer['prototype']['serializeToString'])), 1243 | setTimeout(function() { 1244 | z = !0x1; 1245 | }, 0x1388); 1246 | } catch (G) {} 1247 | } 1248 | , 1249 | this['dd_e'] = function() { 1250 | if (navigator['deviceMemory']) { 1251 | var x = this['_iframeRef']; 1252 | if (x) { 1253 | function y(z, A) { 1254 | var B, C; 1255 | if (!z) 1256 | return null; 1257 | try { 1258 | x['contentWindow']['postMessage'](z, '*'); 1259 | } catch (D) { 1260 | B = D; 1261 | } 1262 | return !B || (C = 'Failed\x20to\x20execute\x20\x27postMessage\x27\x20on\x20\x27Window\x27:\x20' + A + '\x20object\x20could\x20not\x20be\x20cloned.', 1263 | j['biVUE'](B['message'], C)); 1264 | } 1265 | h['npmtm'] = !!(y(navigator['plugins'], 'PluginArray') || y(navigator['plugins'][0x0], 'Plugin') || y(navigator['mimeTypes'], 'MimeTypeArray') || y(navigator['mimeTypes'][0x0], 'MimeType')); 1266 | } else 1267 | h['npmtm'] = 'noIframe'; 1268 | } else 1269 | h['npmtm'] = 'NA'; 1270 | } 1271 | , 1272 | this['dd_U'] = function() { 1273 | h['psn'] = !!window['PermissionStatus'] && window['PermissionStatus']['prototype']['hasOwnProperty'](d['wEFWT']), 1274 | h['edp'] = !!window['EyeDropper'], 1275 | h['addt'] = !!window['AudioData'], 1276 | h['wsdc'] = !!window['WritableStreamDefaultController'], 1277 | h['ccsr'] = !!window['CSSCounterStyleRule'], 1278 | h['nuad'] = !!window['NavigatorUAData'], 1279 | h['bcda'] = !!window['BarcodeDetector'], 1280 | h['idn'] = !(!window['Intl'] || !Intl['DisplayNames']), 1281 | h['capi'] = !!(window['navigator'] && window['navigator']['contacts'] && window['navigator']['ContactsManager']), 1282 | h['svde'] = !!window['SVGDiscardElement'], 1283 | h['vpbq'] = !!(window['HTMLVideoElement'] && window['HTMLVideoElement']['prototype'] && window['HTMLVideoElement']['prototype']['getVideoPlaybackQuality']); 1284 | } 1285 | , 1286 | this['dd_V'] = function() { 1287 | var x = { 1288 | 'ILrMi': function(D, E) { 1289 | return D in E; 1290 | }, 1291 | 'ADYjb': 'function' 1292 | }; 1293 | function y(D) { 1294 | D && (m() ? h['slat'] = !0x0 : (h['slat'] = !0x0, 1295 | h['slevt'] = !0x0, 1296 | p('asyncChallengeFinished'))); 1297 | } 1298 | var z, A, B = ['__driver_evaluate', '__webdriver_evaluate', '__selenium_evaluate', '__fxdriver_evaluate', '__driver_unwrapped', '__webdriver_unwrapped', '__selenium_unwrapped', d['SoCZS'], '_Selenium_IDE_Recorder', '_selenium', d['ksSVO'], '$cdc_asdjflasutopfhvcZLmcfl_', '$chrome_asyncScriptInfo', '__$webdriverAsyncExecutor', 'webdriver', '__webdriverFunc', 'domAutomation', 'domAutomationController', '__lastWatirAlert', '__lastWatirConfirm', '__lastWatirPrompt', '__webdriver_script_fn', '__webdriver_script_func', '__webdriver_script_function', '_WEBDRIVER_ELEM_CACHE'], C = ['driver-evaluate', 'webdriver-evaluate', d['pGSNA'], 'webdriverCommand', 'webdriver-evaluate-response']; 1299 | if ('function' == typeof document['addEventListener']) { 1300 | for (z = 0x0; d['lkYxw'](z, C['length']); z++) 1301 | document['addEventListener'](C[z], y); 1302 | } 1303 | for (setTimeout(function() { 1304 | if ('function' == typeof document['removeEventListener']) { 1305 | for (var D = 0x0; D < C['length']; D++) 1306 | document['removeEventListener'](C[D], y); 1307 | } 1308 | }, 0x2710), 1309 | z = 0x0; z < B['length']; z++) 1310 | if ((B[z]in window || d['ZXQfP'](B[z], document)) && !m()) 1311 | return h['slat'] = !0x0, 1312 | void p(d['cvqtK']); 1313 | A = setInterval(function() { 1314 | var D, E, F, G; 1315 | for (D = 0x0; D < B['length']; D++) 1316 | if ((x['ILrMi'](B[D], window) || B[D]in document) && !m()) 1317 | return h['slat'] = !0x0, 1318 | p('asyncChallengeFinished'), 1319 | void clearInterval(A); 1320 | if ('undefined' != typeof Object && x['ADYjb'] == typeof Object['keys']) 1321 | for (E = Object['keys'](document), 1322 | D = 0x0; D < E['length']; D++) { 1323 | if ((F = E[D]) && 'string' == typeof F && F['indexOf']('$cdc_') > -0x1 && !m()) 1324 | return h['slat'] = !0x0, 1325 | p('asyncChallengeFinished'), 1326 | void clearInterval(A); 1327 | try { 1328 | if (document[F] && void 0x0 === document[F]['window'] && void 0x0 !== document[F]['cache_']) { 1329 | for (G in document[F]['cache_']) 1330 | G && G['match'](/[\d\w]{8}\-[\d\w]{4}\-[\d\w]{4}\-[\d\w]{4}\-[\d\w]{12}/) && (m() || (h['slmk'] = F['slice'](0x0, 0x40), 1331 | h['slat'] = !0x0, 1332 | p('asyncChallengeFinished'), 1333 | clearInterval(A))); 1334 | } 1335 | } catch (H) {} 1336 | } 1337 | }, 0x1f4), 1338 | setTimeout(function() { 1339 | clearInterval(A); 1340 | }, 0x2710); 1341 | } 1342 | , 1343 | this['dd_W'] = function() { 1344 | h['ucdv'] = 'undefined' != typeof objectToInspect && j['DhQtl'](null, objectToInspect) && 'undefined' != typeof result && !!result; 1345 | } 1346 | , 1347 | this['dd_X'] = function() { 1348 | h['spwn'] = !!window['spawn'], 1349 | h['emt'] = !!window['emit'], 1350 | h['bfr'] = !!window['Buffer']; 1351 | } 1352 | , 1353 | this['dd_Y'] = function() { 1354 | void 0x0 !== window['console'] && 'function' == typeof window['console']['debug'] && (h['dbov'] = !!('' + window['console']['debug'])['match'](/[\)\( ]{3}[>= ]{3}\{\n[ r]{9}etu[n r]{3}n[lu]{3}/)); 1355 | } 1356 | , 1357 | this['dd_h'] = function() { 1358 | try { 1359 | h['nddc'] = (document['cookie']['match'](/datadome=/g) || [])['length'], 1360 | -0x1 === ['8FE0CF7F8AB30EC588599D8046ED0E', '87F03788E785FF301D90BB197E5803', '765F4FCDDF6BEDC11EC6F933C2BBAF', '00D958EEDB6E382CCCF60351ADCBC5', 'E425597ED9CAB7918B35EB23FEDF90', 'E425597ED9CAB7918B35EB23FEDF90']['indexOf'](window['ddjskey']) && 0x2 === h['nddc'] && window['location']['href']['indexOf']('www.') > -0x1 && (document['cookie'] = 'datadome=1;\x20Max-Age=0;\x20Path=/;'); 1361 | } catch (x) { 1362 | h['nddc'] = 'err'; 1363 | } 1364 | } 1365 | , 1366 | this['checkMousePosition'] = function() { 1367 | function x(z) { 1368 | if (z['isTrusted']) { 1369 | if (y && z['timeStamp'] && (j['DhQtl'](null, h['tbce']) || void 0x0 === h['tbce'])) { 1370 | h['tbce'] = parseInt(z['timeStamp'] - y); 1371 | try { 1372 | this['dataDomeTools']['removeEventListener'](window, 'mousedown', x), 1373 | this['dataDomeTools']['removeEventListener'](window, 'mouseup', x); 1374 | } catch (A) {} 1375 | } 1376 | z['timeStamp'] && (y = z['timeStamp']); 1377 | } 1378 | } 1379 | var y; 1380 | this['dataDomeTools']['addEventListener'](window, j['hcUAf'], this['getMousePosition']), 1381 | '288922D4BE1987530B4E5D4A17952C' === window['ddjskey'] && this['dataDomeTools']['addEventListener'](window, 'click', this['getInfoClick']), 1382 | this['dataDomeTools']['addEventListener'](window, 'mousedown', x), 1383 | this['dataDomeTools']['addEventListener'](window, 'mouseup', x); 1384 | } 1385 | , 1386 | this['getMousePosition'] = function(x) { 1387 | var y, z = { 1388 | 'clientX': x['clientX'], 1389 | 'clientY': x['clientY'] 1390 | }; 1391 | w ? Math['sqrt'] && window['parseInt'] && (y = Math['sqrt']((z['clientX'] - w['clientX']) * (z['clientX'] - w['clientX']) + (z['clientY'] - w['clientY']) * (z['clientY'] - w['clientY'])), 1392 | (!h['mm_md'] || j['vSvxl'](y, h['mm_md'])) && (h['mm_md'] = parseInt(y)), 1393 | w = z) : w = z; 1394 | try { 1395 | h['mp_cx'] = x['clientX'], 1396 | h['mp_cy'] = x['clientY'], 1397 | h['mp_tr'] = x['isTrusted'], 1398 | h['mp_mx'] = x['movementX'], 1399 | h['mp_my'] = x['movementY'], 1400 | h['mp_sx'] = x['screenX'], 1401 | h['mp_sy'] = x['screenY']; 1402 | } catch (A) {} 1403 | } 1404 | , 1405 | this['getInfoClick'] = function(x) { 1406 | try { 1407 | var y = x['target']; 1408 | (y['href'] && y['href']['indexOf']('alb.reddit') > -0x1 || y['parentElement'] && y['parentElement']['href'] && y['parentElement']['href']['indexOf']('alb.reddit') > -0x1) && (x['isTrusted'] || (h['haent'] = !0x0), 1409 | h['nclad'] ? h['nclad']++ : h['nclad'] = 0x1, 1410 | p('asyncChallengeFinished')); 1411 | } catch (z) {} 1412 | } 1413 | , 1414 | this['dd_ae'] = function() { 1415 | var x = document['dispatchEvent']; 1416 | document['dispatchEvent'] = function(y) { 1417 | return 0x0 == y['type']['indexOf']('web-scraper-callback') && (h['ewsi'] = !0x0), 1418 | x['call'](document, y); 1419 | } 1420 | ; 1421 | } 1422 | , 1423 | this['dd_af'] = function() { 1424 | h['uid'] = this['dataDomeTools']['getCookie']('correlation_id'); 1425 | } 1426 | , 1427 | this['dd_Z'] = function() { 1428 | var x = { 1429 | 'veLAt': function(z, A, B) { 1430 | return z(A, B); 1431 | } 1432 | } 1433 | , y = document['querySelector']('browserflow-container'); 1434 | y && function z() { 1435 | try { 1436 | var A = y['shadowRoot']['querySelector']('browserflow-status'); 1437 | A && A['childNodes']['length'] > 0x0 ? h['bflw'] = !0x0 : x['veLAt'](setTimeout, z, 0x64); 1438 | } catch (B) { 1439 | try { 1440 | h['log3'] = l(B['message']); 1441 | } catch (C) {} 1442 | } 1443 | }(); 1444 | } 1445 | ; 1446 | }; 1447 | b['exports'] = g, 1448 | f = a('./../common/DataDomeTools'), 1449 | g = function(h) { 1450 | var j = { 1451 | 'WwfdL': function(z, A) { 1452 | return z === A; 1453 | }, 1454 | 'nonGz': 'defined', 1455 | 'kYaAf': function(z, A) { 1456 | return z < A; 1457 | }, 1458 | 'zMZlN': function(z, A) { 1459 | return z || A; 1460 | }, 1461 | 'daAYo': 'video/ogg;\x20codecs=\x22theora\x22', 1462 | 'wgSnW': function(z, A) { 1463 | return d['EaSAN'](z, A); 1464 | }, 1465 | 'yNXCM': 'chrome', 1466 | 'ilVzo': function(x, y) { 1467 | return x(y); 1468 | }, 1469 | 'ePGdR': '\x20object\x20could\x20not\x20be\x20cloned.', 1470 | 'nETBv': function(z, A) { 1471 | return z in A; 1472 | }, 1473 | 'KywzF': function(x, y) { 1474 | return x(y); 1475 | } 1476 | }; 1477 | function k() { 1478 | return j['WwfdL'](-0x1, navigator['userAgent']['toLowerCase']()['indexOf']('android')) && -0x1 === navigator['userAgent']['toLowerCase']()['indexOf']('iphone') && -0x1 === navigator['userAgent']['toLowerCase']()['indexOf']('ipad'); 1479 | } 1480 | function l(x) { 1481 | if (window['btoa']) 1482 | try { 1483 | return window['btoa'](x); 1484 | } catch (y) { 1485 | return 'b_e'; 1486 | } 1487 | return 'b_u'; 1488 | } 1489 | function m() { 1490 | return !!(h['cfpp'] || h['slat'] || h['cfcpw'] || h['cffpw'] || h['cffrb'] || h['cfse']); 1491 | } 1492 | function p(x) { 1493 | if (void 0x0 !== window['Event'] && 'function' == typeof window['dispatchEvent']) { 1494 | var y = new Event(x); 1495 | window['dispatchEvent'](y); 1496 | } 1497 | } 1498 | function q(x) { 1499 | var y = { 1500 | 'VZQzE': function(B, C) { 1501 | return B && C; 1502 | } 1503 | } 1504 | , z = x['navigator'] 1505 | , A = function(B) { 1506 | var C = { 1507 | 'sVhKq': 'stack' 1508 | }, D, E, F, G, H, I, J, K, L = {}; 1509 | if (k()) 1510 | try { 1511 | E = performance['now'](), 1512 | F = B['document']['createElement']('canvas')['getContext']('webgl'), 1513 | B['navigator']['buildID'] && +/Firefox\/(\d+)/['exec'](B['navigator']['userAgent'])[0x1] > 0x5b ? (G = F['VENDOR'], 1514 | H = F['RENDERER']) : (G = (I = F['getExtension']('WEBGL_debug_renderer_info'))['UNMASKED_VENDOR_WEBGL'], 1515 | H = I['UNMASKED_RENDERER_WEBGL']), 1516 | J = F['getParameter'](G), 1517 | K = F['getParameter'](H), 1518 | D = performance['now']() - E + Math['random'](), 1519 | L = { 1520 | 'vd': J, 1521 | 'rd': K 1522 | }; 1523 | } catch (M) { 1524 | D = 'NA', 1525 | L = { 1526 | 'vd': 'NA', 1527 | 'rd': 'NA' 1528 | }; 1529 | } 1530 | else 1531 | D = 0xa * Math['random'](); 1532 | return h['tagpu'] = function(N) { 1533 | var O = { 1534 | 'DWEEa': 'display:\x20none;' 1535 | }, P, Q, R, S, T; 1536 | try { 1537 | if (!(window['chrome'] || window['navigator'] && window['navigator']['vendor'] && 'Google\x20Inc.' == window['navigator']['vendor'])) 1538 | return N; 1539 | if (P = (function() { 1540 | var U, V = !0x1; 1541 | if (Object['defineProperty']) 1542 | try { 1543 | U = new Error(), 1544 | window['Object']['defineProperty'](U, C['sVhKq'], { 1545 | 'configurable': !0x1, 1546 | 'enumerable': !0x1, 1547 | 'get': function() { 1548 | return V = !0x0, 1549 | ''; 1550 | } 1551 | }), 1552 | window['console']['debug'](U); 1553 | } catch (W) {} 1554 | return V; 1555 | }()), 1556 | Q = '5D768A5D53EF4D2F5899708C392EAC' != window['ddjskey'] && -0x1 === v['indexOf'](0x5) && (function() { 1557 | var U, V, W, X, Y; 1558 | try { 1559 | return (U = document['createElement']('iframe'))['setAttribute']('style', O['DWEEa']), 1560 | V = 'var\x20w=[\x27lSolWPPbW5C\x27,\x27W64IW4fwegS\x27,\x27tCo2WQ9AW5pcIXG\x27,\x27W4fLWPRdSeC\x27,\x27sebJW6Li\x27,\x27uCk5fgjDW4ddRq\x27,\x27fxpdQXX0\x27,\x27qSk1afH3\x27,\x27WQ/dOcaPnG\x27,\x27uCkZWQVcVGS\x27,\x27W74RW5iSW4Pn\x27,\x27sg/cRSkCWOO\x27,\x27FszcgYuDhCkXWOVcLH4\x27,\x27a8kUW7GsF8o5WQS\x27,\x27cvGGuvG\x27,\x27W4PNWQBcR8o6FW\x27,\x27g8oGWRLBW4i\x27,\x27WQLVW5TOhG\x27,\x27vmkDqSkmW6pdTCodecpcGez9cq\x27,\x27WPCYW7ZdVCk7jx7cV2BcOG8+W48\x27,\x27W4i6d8kJDW\x27,\x27CSkCWQNcQspdKa\x27,\x27y8o0WR9mAa\x27,\x27W6qfemoZuG\x27,\x27wCkAW67cKxjEsHehfW\x27,\x27WOPUySorkuTWWPVdHCksxmo9tq\x27,\x27W6WkkCktmG\x27,\x27W517vIpdGfKyySk1W6GltG\x27,\x27a8oOWO/dGwy\x27,\x27W4fHWPFdULG\x27,\x27xMWmW6RcMCkTW41wWPGbCv5zWRK\x27,\x27xh7cU8kVWPpcNSoSlSobW4qOyCkCW5i\x27,\x27tdddUYZcSZdcISkoW4RcIG\x27,\x27lmkODMzjlSoKgCoMo8kR\x27,\x27WR0uxCoufG\x27,\x27a8oMtIqhWPxcVSkIweqKW4HO\x27,\x27vSoWfIuo\x27,\x27W4myW5euW6NcLW\x27,\x27A0uFW7lcPa\x27,\x27imkVW7jZsuBdTNRdTW\x27,\x27c1pdVa\x27,\x27g1LhW4lcVSoA\x27,\x27WORdOYqboSo1\x27,\x27qCo4pWPf\x27,\x27W4vTWQBcRSoNCdlcV23cOYGT\x27,\x27xr4aWPNdQCkfW5tdPZ/dS1VcKG\x27,\x27bmkKW7quDW\x27,\x27sgJcPSkhWO0\x27,\x27W78oW5OsW6e\x27,\x27W4e/mmkhDG\x27,\x27C8kjWQBcRIC\x27,\x27tCkiWRhcNJ8\x27,\x27rmoVW7ZdTSka\x27,\x27W5BcUGCTWPW\x27,\x27D8oYWQnSq2ldGu7dMCoJnWVdOgy\x27,\x27WPddQ8kxpCot\x27,\x27th1yW7xcICkOW5XAWPHwCL5IWO/dR28\x27,\x27WRFdOcaanSoS\x27,\x27WRFdLfHIca\x27,\x27WPFdPg5Doa\x27,\x27W5jTWPVcVmo8FINcQG\x27,\x27xSkBkerP\x27,\x27W4FdKdNcT8oi\x27,\x27W5z0WP3dUKldKe4mpGTIWPWsWPu\x27,\x27rCougrVcOa\x27,\x27wwyRW47cMCkRW5DE\x27,\x27BmoQlJyxgCoWk8olemkQWRxdNCoAta\x27,\x27WQmMWQRdJ1KRhrCAvqm\x27,\x27W6T7W6TvW74wmaeExmk6WQDNxCk9bSon\x27,\x27l0JcI3FcRa\x27,\x27W4GWomoZFCoJ\x27,\x27W4XXW7jiW5C\x27,\x27W4RcKqq9WPD8y8kL\x27,\x27fc7cKqToW50\x27,\x27AsXWW5NdMbu\x27,\x27dCkPW54svW\x27,\x27W4NcKa8dWQy\x27,\x27W41dFHrEjSkgWPZcG8kwimo9\x27,\x27s35RW5vIfuS\x27,\x27W7xdGLGadL3dRSoDFSkpcW\x27,\x27W5TiW6TjW7i\x27,\x27nYJcJbzpW47cGsOF\x27,\x27W6zSW7dcJam5iqWA\x27,\x27W7GjCCoQi8kLxa\x27,\x27WQuMWQJcJGGmpZO+\x27,\x27WQqBAmo7\x27,\x27ACo2WQnMrW\x27,\x27bMBdPmoCxG\x27,\x27kCkVW48ryG\x27,\x27W7n4WR7dT0m\x27,\x27fSoRWR9lW53cNd0\x27,\x27W6hdNrxcVmo1\x27,\x27W6yRW5ifW4O\x27,\x27WOZcMs1Dva\x27,\x27W7pcIYeAWPy\x27,\x27W7allSk6pCkf\x27,\x27BCkFW4NcGSkz\x27,\x27W6jXW4ZcJb4KnHS\x27,\x27ACkNbKzsWO7cMSkYf8o4\x27,\x27W7T2W5FcIYS\x27,\x27D1FcNCkmWQK\x27,\x27W7vHWQxcHmoI\x27,\x27uxv7W6bOnvKoBmkaW5DEtLm\x27,\x27ASk7hez+WPRcICkXfSo4\x27,\x27W4vTWQBcU8oHEYi\x27,\x27W6boWQ/cGmob\x27,\x27ymk7W53cNSkOgK8\x27,\x27WPddJhTUmCku\x27,\x27WPFdOcadpmoesgLLbW\x27,\x27W7qHo8oUCG\x27,\x27fYG6WOCVpgGkFCk6W60\x27,\x27c8kTW7SBzW\x27,\x27g8oGWR1hW4VcTGVcHCocWPG7WQWLW6O\x27,\x27rNvPW5L0p30tD8kjW4jjDuW\x27,\x27vthcS0WQW7P1Au7dU1e\x27,\x27CmoaWODGyq\x27];function\x20l(t,a){t=t-0x9c;var\x20O=w[t];if(l[\x27AbSdhQ\x27]===undefined){var\x20x=function(Q){var\x20Z=\x27abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=\x27;var\x20T=\x27\x27;for(var\x20D=0x0,e,q,R=0x0;q=Q[\x27charAt\x27](R++);~q&&(e=D%0x4?e*0x40+q:q,D++%0x4)?T+=String[\x27fromCharCode\x27](0xff&e>>(-0x2*D&0x6)):0x0){q=Z[\x27indexOf\x27](q);}return\x20T;};var\x20Y=function(Q,Z){var\x20T=[],D=0x0,e,q=\x27\x27,R=\x27\x27;Q=x(Q);for(var\x20X=0x0,G=Q[\x27length\x27];X= 0x2 ? h['ifov'] = !!x[0x1]['match'](/Ob[cej]{3}t\.a[lp]{3}y[\(< ]{3}an[oynm]{5}us>/) : h['ifov'] = 'e1'; 1701 | } catch (z) { 1702 | h['ifov'] = 'e2'; 1703 | } 1704 | } 1705 | } 1706 | , 1707 | this['dd_b'] = function() { 1708 | try { 1709 | var x = document['createElement']('iframe'); 1710 | x['srcdoc'] = '/**/', 1711 | x['setAttribute']('style', 'display:\x20none;'), 1712 | document && document['head'] && (document['head']['appendChild'](x), 1713 | this['_iframeRef'] = x, 1714 | this['_spawningIframeVals'] = q(x['contentWindow']), 1715 | this['_spawningIframeRefs'] = u(x['contentWindow'])); 1716 | } catch (y) {} 1717 | } 1718 | , 1719 | this['dd_f'] = function() { 1720 | var x, y, z; 1721 | try { 1722 | x = this['_iframeRef']['contentWindow']['navigator'], 1723 | document['head']['removeChild'](this['_iframeRef']), 1724 | this['_iframeRef'] = null, 1725 | y = window['navigator']['platform'], 1726 | d['PVPhM'](z = x['platform'], y) && (h['dil'] = l(z + '__' + y)); 1727 | } catch (A) {} 1728 | } 1729 | , 1730 | this['dd_c'] = function() { 1731 | var x, y, z, A = q(window); 1732 | h['glvd'] = A['glvd'], 1733 | h['glrd'] = A['glrd'], 1734 | h['hc'] = A['hc'], 1735 | h['br_oh'] = A['br_oh'], 1736 | h['br_ow'] = A['br_ow'], 1737 | h['ua'] = A['ua'], 1738 | h['wbd'] = A['wbd']; 1739 | try { 1740 | function B(C, D) { 1741 | var E, F = [], G = []; 1742 | for (E in C) 1743 | C[E] !== D[E] && (F['push'](E), 1744 | G['push'](C[E])); 1745 | return { 1746 | 'keysDelta': F['join'](), 1747 | 'deltaVals': G['join']() 1748 | }; 1749 | } 1750 | (x = B(this['_spawningIframeVals'], A))['keysDelta'] && (h['sivd'] = x['keysDelta'], 1751 | h['sirv'] = l(x['deltaVals']['slice'](0x0, 0x12c))), 1752 | y = u(this['_iframeRef']['contentWindow']), 1753 | (z = B(this['_spawningIframeRefs'], y))['keysDelta'] && (h['sird'] = z['keysDelta']); 1754 | } catch (C) { 1755 | h['log1'] = l(C['message']); 1756 | } 1757 | } 1758 | , 1759 | this['dd_v'] = function() { 1760 | var x = { 1761 | 'oYIqr': function(E, F) { 1762 | return E > F; 1763 | } 1764 | }; 1765 | function y(E) { 1766 | return 'RangeError' === E['name']; 1767 | } 1768 | function z(E) { 1769 | if ('string' == typeof E['stack']) { 1770 | var F = E['stack']['split']('\x0a'); 1771 | if (F['length'] > 0x2) 1772 | return 0x0 === F[0x0]['indexOf']('TypeError:\x20Cyclic') && x['oYIqr'](F[0x1]['indexOf']('at\x20Object.setPro'), -0x1); 1773 | } 1774 | } 1775 | function A(E) { 1776 | var F = Object['getPrototypeOf'](E); 1777 | try { 1778 | Object['setPrototypeOf'](E, E)['toString'](); 1779 | } catch (G) { 1780 | return G; 1781 | } finally { 1782 | Object['setPrototypeOf'](E, F); 1783 | } 1784 | return !0x1; 1785 | } 1786 | var B, C, D; 1787 | window['chrome'] || (h['hcovdr'] = !0x1, 1788 | h['plovdr'] = !0x1, 1789 | h['ftsovdr'] = !0x1, 1790 | h['hcovdr2'] = !0x1, 1791 | h['plovdr2'] = !0x1, 1792 | h['ftsovdr2'] = !0x1); 1793 | try { 1794 | B = A(Object['getOwnPropertyDescriptor'](navigator['__proto__'], 'hardwareConcurrency')['get']), 1795 | h['hcovdr'] = y(B), 1796 | h['hcovdr2'] = z(B); 1797 | } catch (E) { 1798 | h['hcovdr'] = !0x1, 1799 | h['hcovdr2'] = !0x1; 1800 | } 1801 | try { 1802 | C = A(Object['getOwnPropertyDescriptor'](navigator['__proto__'], 'platform')['get']), 1803 | h['plovdr'] = y(C), 1804 | h['plovdr2'] = z(C); 1805 | } catch (F) { 1806 | h['plovdr'] = !0x1, 1807 | h['plovdr2'] = !0x1; 1808 | } 1809 | try { 1810 | D = A(Function['prototype']['toString']), 1811 | h['ftsovdr'] = y(D), 1812 | h['ftsovdr2'] = z(D); 1813 | } catch (G) { 1814 | h['ftsovdr'] = !0x1, 1815 | h['ftsovdr2'] = !0x1; 1816 | } 1817 | } 1818 | , 1819 | this['dd_d'] = function() { 1820 | try { 1821 | var x = this['_iframeRef']; 1822 | h['wdif'] = !!x['contentWindow']['navigator']['webdriver'], 1823 | h['wdifrm'] = x['contentWindow'] === window || x['contentWindow']['setTimeout'] === window['setTimeout'], 1824 | h['iwgl'] = x['contentWindow']['self'] && x['contentWindow']['self']['get'] && x['contentWindow']['self']['get']['toString'] && x['contentWindow']['self']['get']['toString']()['length']; 1825 | } catch (y) { 1826 | h['wdif'] = 'err'; 1827 | } 1828 | } 1829 | , 1830 | this['dd_g'] = function() { 1831 | h['br_h'] = Math['max'](document['documentElement']['clientHeight'], window['innerHeight'] || 0x0), 1832 | h['br_w'] = Math['max'](document['documentElement']['clientWidth'], window['innerWidth'] || 0x0); 1833 | } 1834 | , 1835 | this['dd_i'] = function() { 1836 | h['rs_h'] = window['screen']['height'], 1837 | h['rs_w'] = window['screen']['width'], 1838 | h['rs_cd'] = window['screen']['colorDepth']; 1839 | } 1840 | , 1841 | this['dd_ac'] = function() { 1842 | try { 1843 | var x = document['createElement']('canvas'); 1844 | h['cvs'] = !(!x['getContext'] || !x['getContext']('2d')); 1845 | } catch (y) { 1846 | h['cvs'] = !0x1; 1847 | } 1848 | } 1849 | , 1850 | this['dd_j'] = function() { 1851 | h['phe'] = !(!window['callPhantom'] && !window['_phantom']); 1852 | } 1853 | , 1854 | this['dd_k'] = function() { 1855 | h['nm'] = !!window['__nightmare']; 1856 | } 1857 | , 1858 | this['dd_l'] = function() { 1859 | h['jsf'] = !0x1, 1860 | (!Function['prototype']['bind'] || Function['prototype']['bind']['toString']()['replace'](/bind/g, 'Error') != Error['toString']() && void 0x0 === window['Prototype']) && (h['jsf'] = !0x0); 1861 | } 1862 | , 1863 | this['dd_n'] = function() { 1864 | h['lg'] = navigator['language'] || navigator['userLanguage'] || navigator['browserLanguage'] || navigator['systemLanguage'] || ''; 1865 | } 1866 | , 1867 | this['dd_o'] = function() { 1868 | h['pr'] = window['devicePixelRatio'] || 'unknown'; 1869 | } 1870 | , 1871 | this['dd_q'] = function() { 1872 | h['ars_h'] = screen['availHeight'] || 0x0, 1873 | h['ars_w'] = screen['availWidth'] || 0x0; 1874 | } 1875 | , 1876 | this['dd_r'] = function() { 1877 | h['tz'] = new Date()['getTimezoneOffset'](); 1878 | } 1879 | , 1880 | this['dd_ab'] = function() { 1881 | h['tzp'] = 'NA', 1882 | window['Intl'] && Intl['DateTimeFormat'] && 'function' == typeof Intl['DateTimeFormat']['prototype']['resolvedOptions'] && (h['tzp'] = Intl['DateTimeFormat']()['resolvedOptions']()['timeZone'] || 'NA'); 1883 | } 1884 | , 1885 | this['dd_s'] = function() { 1886 | try { 1887 | h['str_ss'] = !!window['sessionStorage']; 1888 | } catch (x) { 1889 | h['str_ss'] = 'NA'; 1890 | } 1891 | try { 1892 | h['str_ls'] = !!window['localStorage']; 1893 | } catch (y) { 1894 | h['str_ls'] = 'NA'; 1895 | } 1896 | try { 1897 | h['str_idb'] = !!window['indexedDB']; 1898 | } catch (z) { 1899 | h['str_idb'] = 'NA'; 1900 | } 1901 | try { 1902 | h['str_odb'] = !!window['openDatabase']; 1903 | } catch (A) { 1904 | h['str_odb'] = 'NA'; 1905 | } 1906 | } 1907 | , 1908 | this['dd_t'] = function() { 1909 | try { 1910 | if (h['plgod'] = !0x1, 1911 | h['plg'] = navigator['plugins']['length'], 1912 | h['plgne'] = 'NA', 1913 | h['plgre'] = 'NA', 1914 | h['plgof'] = 'NA', 1915 | h['plggt'] = 'NA', 1916 | h['plgod'] = !!Object['getOwnPropertyDescriptor'](navigator, 'plugins'), 1917 | navigator['plugins'] && navigator['plugins']['length'] > 0x0 && 'string' == typeof navigator['plugins'][0x0]['name']) { 1918 | try { 1919 | navigator['plugins'][0x0]['length']; 1920 | } catch (x) { 1921 | h['plgod'] = !0x0; 1922 | } 1923 | try { 1924 | h['plgne'] = navigator['plugins'][0x0]['name'] === navigator['plugins'][0x0][0x0]['enabledPlugin']['name'], 1925 | h['plgre'] = navigator['plugins'][0x0][0x0]['enabledPlugin'] === navigator['plugins'][0x0], 1926 | h['plgof'] = navigator['plugins']['item'](0x30dbb74c12bcd) === navigator['plugins'][0x0], 1927 | h['plggt'] = Object['getOwnPropertyDescriptor'](navigator['__proto__'], 'plugins')['get']['toString']()['indexOf']('return') > -0x1; 1928 | } catch (y) { 1929 | h['plgne'] = 'err', 1930 | h['plgre'] = 'err', 1931 | h['plgof'] = 'err', 1932 | h['plggt'] = 'err'; 1933 | } 1934 | } 1935 | } catch (z) { 1936 | h['plg'] = 0x0; 1937 | } 1938 | } 1939 | , 1940 | this['dd_u'] = function() { 1941 | h['pltod'] = !!Object['getOwnPropertyDescriptor'](navigator, 'platform'); 1942 | } 1943 | , 1944 | this['dd_w'] = function() { 1945 | var x, y, z; 1946 | h['lb'] = !0x1, 1947 | 'Chrome' != (y = (x = navigator['userAgent']['toLowerCase']())['indexOf']('firefox') >= 0x0 ? 'Firefox' : x['indexOf']('opera') >= 0x0 || x['indexOf']('opr') >= 0x0 ? 'Opera' : x['indexOf']('chrome') >= 0x0 ? 'Chrome' : x['indexOf']('safari') >= 0x0 ? 'Safari' : x['indexOf']('trident') >= 0x0 ? d['pXqTD'] : 'Other') && 'Safari' !== y && 'Opera' !== y || '20030107' === navigator['productSub'] || (h['lb'] = !0x0), 1948 | z = eval['toString']()['length'], 1949 | h['eva'] = z, 1950 | (0x25 === z && 'Safari' !== y && 'Firefox' !== y && 'Other' !== y || 0x27 === z && 'Internet\x20Explorer' !== y && 'Other' !== y || 0x21 === z && 'Chrome' !== y && d['PVPhM']('Opera', y) && d['InJeb']('Other', y)) && (h['lb'] = !0x0); 1951 | } 1952 | , 1953 | this['dd_x'] = function() { 1954 | var x, y, z, A; 1955 | h['lo'] = !0x1, 1956 | x = navigator['userAgent']['toLowerCase'](), 1957 | y = navigator['oscpu'], 1958 | z = navigator['platform']['toLowerCase'](), 1959 | A = x['indexOf']('windows\x20phone') >= 0x0 ? d['ycaVs'] : d['VmvZR'](x['indexOf']('win'), 0x0) ? 'Windows' : x['indexOf']('android') >= 0x0 ? 'Android' : x['indexOf']('linux') >= 0x0 ? 'Linux' : d['VmvZR'](x['indexOf']('iphone'), 0x0) || x['indexOf']('ipad') >= 0x0 ? 'iOS' : x['indexOf']('mac') >= 0x0 ? 'Mac' : 'Other', 1960 | (d['FganD']in window || navigator['maxTouchPoints'] > 0x0 || navigator['msMaxTouchPoints'] > 0x0) && 'Windows\x20Phone' !== A && d['pyPZU'](d['zEMnY'], A) && 'iOS' !== A && 'Other' !== A && (h['lo'] = !0x0), 1961 | void 0x0 !== y && ((y = y['toLowerCase']())['indexOf']('win') >= 0x0 && 'Windows' !== A && 'Windows\x20Phone' !== A || y['indexOf']('linux') >= 0x0 && d['ijXGB'] !== A && 'Android' !== A || y['indexOf']('mac') >= 0x0 && 'Mac' !== A && 'iOS' !== A || 0x0 === y['indexOf']('win') && 0x0 === y['indexOf']('linux') && y['indexOf']('mac') >= 0x0 && 'other' !== A) && (h['lo'] = !0x0), 1962 | (z['indexOf']('win') >= 0x0 && d['pyPZU']('Windows', A) && 'Windows\x20Phone' !== A || (z['indexOf']('linux') >= 0x0 || z['indexOf']('android') >= 0x0 || z['indexOf']('pike') >= 0x0) && d['ijXGB'] !== A && 'Android' !== A || (z['indexOf']('mac') >= 0x0 || z['indexOf']('ipad') >= 0x0 || z['indexOf']('ipod') >= 0x0 || z['indexOf'](d['gkPkm']) >= 0x0) && 'Mac' !== A && 'iOS' !== A || 0x0 === z['indexOf']('win') && d['ydlMC'](0x0, z['indexOf']('linux')) && z['indexOf']('mac') >= 0x0 && d['vGAiM'] !== A) && (h['lo'] = !0x0), 1963 | void 0x0 === navigator['plugins'] && 'Windows' !== A && 'Windows\x20Phone' !== A && (h['lo'] = !0x0); 1964 | } 1965 | , 1966 | this['dd_y'] = function() { 1967 | h['ts_mtp'] = navigator['maxTouchPoints'] || navigator['msMaxTouchPoints'] || 0x0; 1968 | try { 1969 | document['createEvent']('TouchEvent'), 1970 | h['ts_tec'] = !0x0; 1971 | } catch (x) { 1972 | h['ts_tec'] = !0x1; 1973 | } 1974 | h['ts_tsa'] = 'ontouchstart'in window; 1975 | } 1976 | , 1977 | this['dd_ad'] = function() { 1978 | window['navigator']['usb'] ? h['usb'] = j['nonGz'] : h['usb'] = 'NA'; 1979 | } 1980 | , 1981 | this['dd_z'] = function() { 1982 | h['vnd'] = window['navigator']['vendor']; 1983 | } 1984 | , 1985 | this['dd_A'] = function() { 1986 | h['bid'] = window['navigator']['buildID'] || 'NA'; 1987 | } 1988 | , 1989 | this['dd_B'] = function() { 1990 | var x, y; 1991 | if (window['navigator']['mimeTypes']) { 1992 | if (0x0 == window['navigator']['mimeTypes']['length']) 1993 | h['mmt'] = 'empty'; 1994 | else { 1995 | for (x = [], 1996 | y = 0x0; y < window['navigator']['mimeTypes']['length']; y++) 1997 | x['push'](window['navigator']['mimeTypes'][y]['type']); 1998 | h['mmt'] = x['join'](); 1999 | } 2000 | } else 2001 | h['mmt'] = 'NA'; 2002 | } 2003 | , 2004 | this['dd_C'] = function() { 2005 | var x, y; 2006 | if (window['navigator']['plugins']) { 2007 | if (0x0 == window['navigator']['plugins']['length']) 2008 | h['plu'] = 'empty'; 2009 | else { 2010 | for (x = [], 2011 | y = 0x0; j['kYaAf'](y, window['navigator']['plugins']['length']); y++) 2012 | x['push'](window['navigator']['plugins'][y]['name']); 2013 | h['plu'] = x['join'](); 2014 | } 2015 | } else 2016 | h['plu'] = 'NA'; 2017 | } 2018 | , 2019 | this['dd_D'] = function() { 2020 | h['hdn'] = !!document['hidden']; 2021 | } 2022 | , 2023 | this['dd_E'] = function() { 2024 | h['awe'] = !!window['awesomium']; 2025 | } 2026 | , 2027 | this['dd_F'] = function() { 2028 | h['geb'] = !!window['geb']; 2029 | } 2030 | , 2031 | this['dd_G'] = function() { 2032 | h['dat'] = 'domAutomation'in window || 'domAutomationController'in window; 2033 | } 2034 | , 2035 | this['dd_H'] = function() { 2036 | window['navigator']['mediaDevices'] ? h['med'] = 'defined' : h['med'] = 'NA'; 2037 | } 2038 | , 2039 | this['dd_I'] = function() { 2040 | var x, y; 2041 | try { 2042 | x = document['createElement']('audio'), 2043 | y = MediaSource || WebKitMediaSource, 2044 | h['aco'] = x['canPlayType']('audio/ogg;\x20codecs=\x22vorbis\x22'), 2045 | h['acots'] = y['isTypeSupported']('audio/ogg;\x20codecs=\x22vorbis\x22'), 2046 | h['acmp'] = x['canPlayType']('audio/mpeg;'), 2047 | h['acmpts'] = y['isTypeSupported']('audio/mpeg;\x22'), 2048 | h['acw'] = x['canPlayType']('audio/wav;\x20codecs=\x221\x22'), 2049 | h['acwts'] = y['isTypeSupported']('audio/wav;\x20codecs=\x221\x22'), 2050 | h['acma'] = x['canPlayType']('audio/x-m4a;'), 2051 | h['acmats'] = y['isTypeSupported']('audio/x-m4a;'), 2052 | h['acaa'] = x['canPlayType']('audio/aac;'), 2053 | h['acaats'] = y['isTypeSupported']('audio/aac;'), 2054 | h['ac3'] = x['canPlayType']('audio/3gpp;'), 2055 | h['ac3ts'] = y['isTypeSupported']('audio/3gpp;'), 2056 | h['acf'] = x['canPlayType']('audio/flac;'), 2057 | h['acfts'] = y['isTypeSupported']('audio/flac;'), 2058 | h['acmp4'] = x['canPlayType']('audio/mp4;'), 2059 | h['acmp4ts'] = y['isTypeSupported']('audio/mp4;'), 2060 | h['acmp3'] = x['canPlayType']('audio/mp3;'), 2061 | h['acmp3ts'] = y['isTypeSupported']('audio/mp3;'), 2062 | h['acwm'] = x['canPlayType']('audio/webm;'), 2063 | h['acwmts'] = y['isTypeSupported']('audio/webm;'), 2064 | h['ocpt'] = -0x1 === x['canPlayType']['toString']()['indexOf']('canPlayType'); 2065 | } catch (z) { 2066 | h['aco'] = 'NA', 2067 | h['acmp'] = 'NA', 2068 | h['acw'] = 'NA', 2069 | h['acma'] = 'NA', 2070 | h['acaa'] = 'NA', 2071 | h['ac3'] = 'NA', 2072 | h['acf'] = 'NA', 2073 | h['acmp4'] = 'NA', 2074 | h['acmp3'] = 'NA', 2075 | h['acwm'] = 'NA', 2076 | h['acots'] = 'NA', 2077 | h['acmpts'] = 'NA', 2078 | h['acwts'] = 'NA', 2079 | h['acmats'] = 'NA', 2080 | h['acaats'] = 'NA', 2081 | h['ac3ts'] = 'NA', 2082 | h['acfts'] = 'NA', 2083 | h['acmp4ts'] = 'NA', 2084 | h['acmp3ts'] = 'NA', 2085 | h['acwmts'] = 'NA'; 2086 | } 2087 | } 2088 | , 2089 | this['dd_J'] = function() { 2090 | var x, y; 2091 | try { 2092 | x = document['createElement']('video'), 2093 | y = j['zMZlN'](MediaSource, WebKitMediaSource), 2094 | h['vco'] = x['canPlayType'](j['daAYo']), 2095 | h['vcots'] = y['isTypeSupported']('video/ogg;\x20codecs=\x22theora\x22'), 2096 | h['vch'] = x['canPlayType']('video/mp4;\x20codecs=\x22avc1.42E01E\x22'), 2097 | h['vchts'] = y['isTypeSupported']('video/mp4;\x20codecs=\x22avc1.42E01E\x22'), 2098 | h['vcw'] = x['canPlayType']('video/webm;\x20codecs=\x22vp8,\x20vorbis\x22'), 2099 | h['vcwts'] = y['isTypeSupported']('video/webm;\x20codecs=\x22vp8,\x20vorbis\x22'), 2100 | h['vc3'] = x['canPlayType']('video/3gpp;'), 2101 | h['vc3ts'] = y['isTypeSupported']('video/3gpp;'), 2102 | h['vcmp'] = x['canPlayType']('video/mpeg;'), 2103 | h['vcmpts'] = y['isTypeSupported']('video/mpeg'), 2104 | h['vcq'] = x['canPlayType']('video/quicktime;'), 2105 | h['vcqts'] = y['isTypeSupported']('video/quicktime;'), 2106 | h['vc1'] = x['canPlayType']('video/mp4;\x20codecs=\x22av01.0.08M.08\x22'), 2107 | h['vc1ts'] = y['isTypeSupported']('video/mp4;\x20codecs=\x22av01.0.08M.08\x22'); 2108 | } catch (z) { 2109 | h['vco'] = 'NA', 2110 | h['vch'] = 'NA', 2111 | h['vcw'] = 'NA', 2112 | h['vc3'] = 'NA', 2113 | h['vcmp'] = 'NA', 2114 | h['vcq'] = 'NA', 2115 | h['vc1'] = 'NA', 2116 | h['vcots'] = 'NA', 2117 | h['vchts'] = 'NA', 2118 | h['vcwts'] = 'NA', 2119 | h['vc3ts'] = 'NA', 2120 | h['vcmpts'] = 'NA', 2121 | h['vcqts'] = 'NA', 2122 | h['vc1ts'] = 'NA'; 2123 | } 2124 | } 2125 | , 2126 | this['dd_K'] = function() { 2127 | h['dvm'] = navigator['deviceMemory'] || -0x1; 2128 | } 2129 | , 2130 | this['dd_L'] = function() { 2131 | h['sqt'] = window['external'] && window['external']['toString'] && window['external']['toString']()['indexOf']('Sequentum') > -0x1; 2132 | } 2133 | , 2134 | this['dd_M'] = function() { 2135 | try { 2136 | h['so'] = window['screen']['orientation']['type']; 2137 | } catch (x) { 2138 | try { 2139 | h['so'] = window['screen']['msOrientation']; 2140 | } catch (y) { 2141 | h['so'] = 'NA'; 2142 | } 2143 | } 2144 | } 2145 | , 2146 | this['dd_R'] = function() { 2147 | j['wgSnW']('object', typeof window['process']) && 'renderer' === window['process']['type'] || 'undefined' != typeof process && 'object' == typeof process['versions'] && process['versions']['electron'] || window['close']['toString']()['indexOf']('ELECTRON') > -0x1 ? h['ecpc'] = !0x0 : h['ecpc'] = !!window['process']; 2148 | } 2149 | , 2150 | this['dd_Q'] = function() { 2151 | var x, y; 2152 | if (h['wdw'] = !0x0, 2153 | navigator['userAgent']['toLowerCase']()['indexOf'](j['yNXCM']) >= 0x0 && !window['chrome'] && (h['wdw'] = !0x1), 2154 | window['chrome']) { 2155 | for (y in (x = '', 2156 | window['chrome'])) 2157 | x += y; 2158 | h['cokys'] = j['ilVzo'](l, x) + 'L='; 2159 | } 2160 | } 2161 | , 2162 | this['dd_aa'] = function() { 2163 | var x = { 2164 | 'HCEKI': 'denied', 2165 | 'CGbQC': function(z, A) { 2166 | return z == A; 2167 | } 2168 | }; 2169 | h['prm'] = !0x0, 2170 | void 0x0 !== navigator['permissions'] && void 0x0 !== navigator['permissions']['query'] && navigator['permissions']['query']({ 2171 | 'name': 'notifications' 2172 | })['then'](function(y) { 2173 | 'undefined' != typeof Notification && x['HCEKI'] == Notification['permission'] && x['CGbQC']('prompt', y['state']) && (h['prm'] = !0x1); 2174 | })['catch'](function() {}); 2175 | } 2176 | , 2177 | this['dd_S'] = function() { 2178 | h['lgs'] = '' !== navigator['languages'], 2179 | h['lgsod'] = !!Object['getOwnPropertyDescriptor'](navigator, 'languages'); 2180 | } 2181 | , 2182 | this['dd_T'] = function() { 2183 | var x = { 2184 | 'tfmpX': function(G, H) { 2185 | return G != H; 2186 | } 2187 | }; 2188 | function y(G) { 2189 | var H = { 2190 | 'DxThZ': function(I, J) { 2191 | return I - J; 2192 | } 2193 | }; 2194 | return x['tfmpX']('function', typeof G) || !0x0 === navigator['webdriver'] ? G : G['toString']()['match'](/\{\s*\[native code\]\s*\}$/m) && G['toString']['toString']()['match'](/\{\s*\[native code\]\s*\}$/m) ? function() { 2195 | var I, J; 2196 | if (F <= 0x0) 2197 | return G['apply'](this, arguments); 2198 | if (F--, 2199 | m() || !z) 2200 | return G['apply'](this, arguments); 2201 | try { 2202 | I = arguments['callee']['caller']['toString'](), 2203 | h['cfpfe'] = l(I['slice'](0x0, 0x96)), 2204 | I['indexOf']('on(selector,\x20wit') > -0x1 && (h['cffrb'] = !0x0, 2205 | p('asyncChallengeFinished')); 2206 | } catch (K) { 2207 | h['cfpfe'] = l('Error:\x20' + K['message']['slice'](0x0, 0x96)); 2208 | } 2209 | try { 2210 | null[0x0]; 2211 | } catch (L) { 2212 | if ('string' != typeof L['stack']) 2213 | return G['apply'](this, arguments); 2214 | if (h['stcfp'] = l(L['stack']['slice'](-0x96)), 2215 | J = L['stack']['split']('\x0a'), 2216 | A) 2217 | try { 2218 | J['length'] > 0x1 && C['test'](J[0x2]) && (h['cfpp'] = !0x0, 2219 | p('asyncChallengeFinished')), 2220 | J['length'] > 0x2 && D['test'](J[J['length'] - 0x3]) && (h['cfcpw'] = !0x0, 2221 | p('asyncChallengeFinished')), 2222 | J['length'] > 0x8 && E['test'](J[J['length'] - 0x4]) && (h['cfse'] = !0x0, 2223 | p('asyncChallengeFinished')); 2224 | } catch (M) {} 2225 | else { 2226 | if (B) 2227 | try { 2228 | J['length'] > 0x2 && D['test'](J[H['DxThZ'](J['length'], 0x3)]) && (h['cffpw'] = !0x0, 2229 | p('asyncChallengeFinished')); 2230 | } catch (N) {} 2231 | } 2232 | } 2233 | return G['apply'](this, arguments); 2234 | } 2235 | : G; 2236 | } 2237 | var z = !0x0 2238 | , A = !!navigator['deviceMemory'] 2239 | , B = !!navigator['buildID'] 2240 | , C = /[p_]{3}up[tep]{4}er[ae_v]{4}lua[noti]{4}/ 2241 | , D = /eval\sat\sevaluate|@chrome|evaluate@/ 2242 | , E = /apply\.(css\sselector|xpath|(partial\s)?link\stext)/ 2243 | , F = 0x32; 2244 | try { 2245 | document['getElementById'] = y(document['getElementById']), 2246 | document['getElementsByTagName'] = y(document['getElementsByTagName']), 2247 | document['querySelector'] = y(document['querySelector']), 2248 | document['querySelectorAll'] = y(document['querySelectorAll']), 2249 | document['evaluate'] = y(document['evaluate']), 2250 | XMLSerializer && XMLSerializer['prototype'] && XMLSerializer['prototype']['serializeToString'] && (XMLSerializer['prototype']['serializeToString'] = y(XMLSerializer['prototype']['serializeToString'])), 2251 | setTimeout(function() { 2252 | z = !0x1; 2253 | }, 0x1388); 2254 | } catch (G) {} 2255 | } 2256 | , 2257 | this['dd_e'] = function() { 2258 | if (navigator['deviceMemory']) { 2259 | var x = this['_iframeRef']; 2260 | if (x) { 2261 | function y(z, A) { 2262 | var B, C; 2263 | if (!z) 2264 | return null; 2265 | try { 2266 | x['contentWindow']['postMessage'](z, '*'); 2267 | } catch (D) { 2268 | B = D; 2269 | } 2270 | return !B || (C = 'Failed\x20to\x20execute\x20\x27postMessage\x27\x20on\x20\x27Window\x27:\x20' + A + j['ePGdR'], 2271 | B['message'] != C); 2272 | } 2273 | h['npmtm'] = !!(y(navigator['plugins'], 'PluginArray') || y(navigator['plugins'][0x0], 'Plugin') || y(navigator['mimeTypes'], 'MimeTypeArray') || y(navigator['mimeTypes'][0x0], 'MimeType')); 2274 | } else 2275 | h['npmtm'] = 'noIframe'; 2276 | } else 2277 | h['npmtm'] = 'NA'; 2278 | } 2279 | , 2280 | this['dd_U'] = function() { 2281 | h['psn'] = !!window['PermissionStatus'] && window['PermissionStatus']['prototype']['hasOwnProperty']('name'), 2282 | h['edp'] = !!window['EyeDropper'], 2283 | h['addt'] = !!window['AudioData'], 2284 | h['wsdc'] = !!window['WritableStreamDefaultController'], 2285 | h['ccsr'] = !!window['CSSCounterStyleRule'], 2286 | h['nuad'] = !!window['NavigatorUAData'], 2287 | h['bcda'] = !!window['BarcodeDetector'], 2288 | h['idn'] = !(!window['Intl'] || !Intl['DisplayNames']), 2289 | h['capi'] = !!(window['navigator'] && window['navigator']['contacts'] && window['navigator']['ContactsManager']), 2290 | h['svde'] = !!window['SVGDiscardElement'], 2291 | h['vpbq'] = !!(window['HTMLVideoElement'] && window['HTMLVideoElement']['prototype'] && window['HTMLVideoElement']['prototype']['getVideoPlaybackQuality']); 2292 | } 2293 | , 2294 | this['dd_V'] = function() { 2295 | function x(C) { 2296 | C && (m() ? h['slat'] = !0x0 : (h['slat'] = !0x0, 2297 | h['slevt'] = !0x0, 2298 | p('asyncChallengeFinished'))); 2299 | } 2300 | var y, z, A = ['__driver_evaluate', '__webdriver_evaluate', '__selenium_evaluate', '__fxdriver_evaluate', '__driver_unwrapped', '__webdriver_unwrapped', '__selenium_unwrapped', d['SoCZS'], '_Selenium_IDE_Recorder', '_selenium', 'calledSelenium', '$cdc_asdjflasutopfhvcZLmcfl_', '$chrome_asyncScriptInfo', '__$webdriverAsyncExecutor', 'webdriver', '__webdriverFunc', 'domAutomation', 'domAutomationController', '__lastWatirAlert', '__lastWatirConfirm', '__lastWatirPrompt', '__webdriver_script_fn', '__webdriver_script_func', '__webdriver_script_function', '_WEBDRIVER_ELEM_CACHE'], B = ['driver-evaluate', 'webdriver-evaluate', 'selenium-evaluate', 'webdriverCommand', 'webdriver-evaluate-response']; 2301 | if ('function' == typeof document['addEventListener']) { 2302 | for (y = 0x0; y < B['length']; y++) 2303 | document['addEventListener'](B[y], x); 2304 | } 2305 | for (setTimeout(function() { 2306 | if ('function' == typeof document['removeEventListener']) { 2307 | for (var C = 0x0; C < B['length']; C++) 2308 | document['removeEventListener'](B[C], x); 2309 | } 2310 | }, 0x2710), 2311 | y = 0x0; y < A['length']; y++) 2312 | if ((A[y]in window || A[y]in document) && !d['tNAtz'](m)) 2313 | return h['slat'] = !0x0, 2314 | void p('asyncChallengeFinished'); 2315 | z = setInterval(function() { 2316 | var C, D, E, F; 2317 | for (C = 0x0; C < A['length']; C++) 2318 | if ((A[C]in window || j['nETBv'](A[C], document)) && !m()) 2319 | return h['slat'] = !0x0, 2320 | p('asyncChallengeFinished'), 2321 | void j['ilVzo'](clearInterval, z); 2322 | if ('undefined' != typeof Object && 'function' == typeof Object['keys']) 2323 | for (D = Object['keys'](document), 2324 | C = 0x0; j['kYaAf'](C, D['length']); C++) { 2325 | if ((E = D[C]) && 'string' == typeof E && E['indexOf']('$cdc_') > -0x1 && !m()) 2326 | return h['slat'] = !0x0, 2327 | p('asyncChallengeFinished'), 2328 | void clearInterval(z); 2329 | try { 2330 | if (document[E] && void 0x0 === document[E]['window'] && void 0x0 !== document[E]['cache_']) { 2331 | for (F in document[E]['cache_']) 2332 | F && F['match'](/[\d\w]{8}\-[\d\w]{4}\-[\d\w]{4}\-[\d\w]{4}\-[\d\w]{12}/) && (m() || (h['slmk'] = E['slice'](0x0, 0x40), 2333 | h['slat'] = !0x0, 2334 | j['ilVzo'](p, 'asyncChallengeFinished'), 2335 | j['ilVzo'](clearInterval, z))); 2336 | } 2337 | } catch (G) {} 2338 | } 2339 | }, 0x1f4), 2340 | d['Kdlom'](setTimeout, function() { 2341 | clearInterval(z); 2342 | }, 0x2710); 2343 | } 2344 | , 2345 | this['dd_W'] = function() { 2346 | h['ucdv'] = 'undefined' != typeof objectToInspect && null === objectToInspect && 'undefined' != typeof result && !!result; 2347 | } 2348 | , 2349 | this['dd_X'] = function() { 2350 | h['spwn'] = !!window['spawn'], 2351 | h['emt'] = !!window['emit'], 2352 | h['bfr'] = !!window['Buffer']; 2353 | } 2354 | , 2355 | this['dd_Y'] = function() { 2356 | void 0x0 !== window['console'] && 'function' == typeof window['console']['debug'] && (h['dbov'] = !!('' + window['console']['debug'])['match'](/[\)\( ]{3}[>= ]{3}\{\n[ r]{9}etu[n r]{3}n[lu]{3}/)); 2357 | } 2358 | , 2359 | this['dd_h'] = function() { 2360 | try { 2361 | h['nddc'] = (document['cookie']['match'](/datadome=/g) || [])['length'], 2362 | -0x1 === ['8FE0CF7F8AB30EC588599D8046ED0E', '87F03788E785FF301D90BB197E5803', '765F4FCDDF6BEDC11EC6F933C2BBAF', d['XkGna'], d['bUFQD'], 'E425597ED9CAB7918B35EB23FEDF90']['indexOf'](window['ddjskey']) && 0x2 === h['nddc'] && window['location']['href']['indexOf']('www.') > -0x1 && (document['cookie'] = 'datadome=1;\x20Max-Age=0;\x20Path=/;'); 2363 | } catch (x) { 2364 | h['nddc'] = 'err'; 2365 | } 2366 | } 2367 | , 2368 | this['checkMousePosition'] = function() { 2369 | function x(z) { 2370 | if (z['isTrusted']) { 2371 | if (y && z['timeStamp'] && (j['WwfdL'](null, h['tbce']) || void 0x0 === h['tbce'])) { 2372 | h['tbce'] = parseInt(z['timeStamp'] - y); 2373 | try { 2374 | this['dataDomeTools']['removeEventListener'](window, 'mousedown', x), 2375 | this['dataDomeTools']['removeEventListener'](window, 'mouseup', x); 2376 | } catch (A) {} 2377 | } 2378 | z['timeStamp'] && (y = z['timeStamp']); 2379 | } 2380 | } 2381 | var y; 2382 | this['dataDomeTools']['addEventListener'](window, 'mousemove', this['getMousePosition']), 2383 | d['pGCMX'] === window['ddjskey'] && this['dataDomeTools']['addEventListener'](window, 'click', this['getInfoClick']), 2384 | this['dataDomeTools']['addEventListener'](window, 'mousedown', x), 2385 | this['dataDomeTools']['addEventListener'](window, 'mouseup', x); 2386 | } 2387 | , 2388 | this['getMousePosition'] = function(x) { 2389 | var y, z = { 2390 | 'clientX': x['clientX'], 2391 | 'clientY': x['clientY'] 2392 | }; 2393 | w ? Math['sqrt'] && window['parseInt'] && (y = Math['sqrt']((z['clientX'] - w['clientX']) * (z['clientX'] - w['clientX']) + (z['clientY'] - w['clientY']) * (z['clientY'] - w['clientY'])), 2394 | (!h['mm_md'] || y > h['mm_md']) && (h['mm_md'] = j['KywzF'](parseInt, y)), 2395 | w = z) : w = z; 2396 | try { 2397 | h['mp_cx'] = x['clientX'], 2398 | h['mp_cy'] = x['clientY'], 2399 | h['mp_tr'] = x['isTrusted'], 2400 | h['mp_mx'] = x['movementX'], 2401 | h['mp_my'] = x['movementY'], 2402 | h['mp_sx'] = x['screenX'], 2403 | h['mp_sy'] = x['screenY']; 2404 | } catch (A) {} 2405 | } 2406 | , 2407 | this['getInfoClick'] = function(x) { 2408 | try { 2409 | var y = x['target']; 2410 | (y['href'] && y['href']['indexOf']('alb.reddit') > -0x1 || y['parentElement'] && y['parentElement']['href'] && y['parentElement']['href']['indexOf']('alb.reddit') > -0x1) && (x['isTrusted'] || (h['haent'] = !0x0), 2411 | h['nclad'] ? h['nclad']++ : h['nclad'] = 0x1, 2412 | p('asyncChallengeFinished')); 2413 | } catch (z) {} 2414 | } 2415 | , 2416 | this['dd_ae'] = function() { 2417 | var x = document['dispatchEvent']; 2418 | document['dispatchEvent'] = function(y) { 2419 | return 0x0 == y['type']['indexOf']('web-scraper-callback') && (h['ewsi'] = !0x0), 2420 | x['call'](document, y); 2421 | } 2422 | ; 2423 | } 2424 | , 2425 | this['dd_af'] = function() { 2426 | h['uid'] = this['dataDomeTools']['getCookie']('correlation_id'); 2427 | } 2428 | , 2429 | this['dd_Z'] = function() { 2430 | var x = document['querySelector']('browserflow-container'); 2431 | x && function y() { 2432 | try { 2433 | var z = x['shadowRoot']['querySelector']('browserflow-status'); 2434 | z && z['childNodes']['length'] > 0x0 ? h['bflw'] = !0x0 : setTimeout(y, 0x64); 2435 | } catch (A) { 2436 | try { 2437 | h['log3'] = l(A['message']); 2438 | } catch (B) {} 2439 | } 2440 | }(); 2441 | } 2442 | ; 2443 | } 2444 | , 2445 | b['exports'] = g; 2446 | } 2447 | , { 2448 | './../common/DataDomeTools': 0x2 2449 | }], 2450 | 0x5: [function(a, b, c) { 2451 | var d = a('./../common/DataDomeTools'); 2452 | b['exports'] = function(f) { 2453 | var g = { 2454 | 'FDHPu': function(h, i) { 2455 | return h != i; 2456 | }, 2457 | 'OLNwg': function(h, i) { 2458 | return h < i; 2459 | }, 2460 | 'XcJIy': function(h, i) { 2461 | return h + i; 2462 | }, 2463 | 'dxqyJ': function(h, i) { 2464 | return h + i; 2465 | }, 2466 | 'GguRX': '&eventCounters=', 2467 | 'xLKUL': 'jsType=', 2468 | 'EMvzC': 'Err:\x20' 2469 | }; 2470 | this['jsType'] = f, 2471 | this['requestApi'] = function(j, k, m, p, q, u) { 2472 | var v, w, x, y, z = new d(); 2473 | if (k['jset'] = Math['floor'](Date['now']() / 0x3e8), 2474 | !z['isSafariUA']() && !q && window['navigator'] && window['navigator']['sendBeacon'] && window['Blob']) 2475 | v = this['getQueryParamsString'](k, m, j, p, u), 2476 | w = 'URLSearchParams'in window ? new URLSearchParams(v) : new Blob([v],{ 2477 | 'type': 'application/x-www-form-urlencoded' 2478 | }), 2479 | window['navigator']['sendBeacon'](window['dataDomeOptions']['endpoint'], w), 2480 | window['dataDomeOptions']['enableTagEvents'] && z['dispatchEvent'](z['eventNames']['posting'], { 2481 | 'endpointUrl': window['dataDomeOptions']['endpoint'] 2482 | }); 2483 | else { 2484 | if (window['XMLHttpRequest']) { 2485 | x = new XMLHttpRequest(); 2486 | try { 2487 | x['open']('POST', window['dataDomeOptions']['endpoint'], q), 2488 | x['setRequestHeader']('Content-type', 'application/x-www-form-urlencoded'), 2489 | y = this['getQueryParamsString'](k, m, j, p, u), 2490 | z['debug']('xmlHttpString\x20built.', y), 2491 | null !== window['dataDomeOptions']['customParam'] && (y += '&custom=' + window['dataDomeOptions']['customParam']), 2492 | x['onreadystatechange'] = function() { 2493 | var A, B, C, D, E; 2494 | if (this && 0x4 == this['readyState'] && 0xc8 == this['status']) 2495 | try { 2496 | g['FDHPu']('string', typeof this['responseText']) || window['DataDomeCaptchaDisplayed'] || (A = JSON['parse'](x['responseText']))['cookie'] && (B = A['cookie']['indexOf']('Domain='), 2497 | C = A['cookie']['indexOf']('Path='), 2498 | D = A['cookie']['slice'](B + 'Domain='['length'], C - ';\x20'['length']), 2499 | B > -0x1 && (window['dataDomeOptions']['overrideCookieDomain'] ? (A['cookie'] = z['replaceCookieDomain'](A['cookie'], window['location']['hostname']), 2500 | k['dcok'] = window['location']['hostname']) : k['dcok'] = D, 2501 | (window['ddCbh'] || window['ddSbh']) && z['isLocalStorageEnabled']() && 'function' == typeof localStorage['setItem'] && null != (E = z['getCookie'](A['cookie'])) && localStorage['setItem']('ddSession', E), 2502 | z['setCookie'](A['cookie']))), 2503 | window['dataDomeOptions']['enableTagEvents'] && z['dispatchEvent'](z['eventNames']['posted'], { 2504 | 'endpointUrl': window['dataDomeOptions']['endpoint'] 2505 | }); 2506 | } catch (F) {} 2507 | } 2508 | , 2509 | z['debug']('Request\x20sent.', x), 2510 | x['send'](y), 2511 | window['dataDomeOptions']['enableTagEvents'] && z['dispatchEvent'](z['eventNames']['posting'], { 2512 | 'endpointUrl': window['dataDomeOptions']['endpoint'] 2513 | }); 2514 | } catch (A) { 2515 | z['debug']('Error\x20when\x20trying\x20to\x20send\x20request.', A); 2516 | } 2517 | } 2518 | } 2519 | } 2520 | , 2521 | this['getQueryParamsString'] = function(j, k, q, x, y, z) { 2522 | var A, B, C, D, E, F, G, H, I, J, K = new d(); 2523 | if (j['plos'] && !z && (j['plos'] = 'cleared'), 2524 | null == (A = K['getCookie']()) && (window['ddm'] ? A = window['ddm']['cid'] : window['ddvs'] && window['ddcid'] && (A = window['ddcid'])), 2525 | g['OLNwg']((B = g['XcJIy'](g['dxqyJ']('jsData=', encodeURIComponent(JSON['stringify'](j))) + g['GguRX'] + encodeURIComponent(JSON['stringify'](k)) + '&jsType=' + this['jsType'] + '&cid=' + encodeURIComponent(A) + '&ddk=' + escape(encodeURIComponent(q)) + '&Referer=', escape(encodeURIComponent(K['removeSubstringPattern'](window['location']['href'], x)['slice'](0x0, 0x400)))) + '&request=' + escape(encodeURIComponent((window['location']['pathname'] + window['location']['search'] + window['location']['hash'])['slice'](0x0, 0x400))) + '&responsePage=' + escape(encodeURIComponent(y)) + '&ddv=' + window['dataDomeOptions']['version'])['length'], 0x3e80) || z) 2526 | return window['dataDomeOptions']['testingMode'] && (window['testJsData'] = j), 2527 | B; 2528 | C = ''; 2529 | try { 2530 | for (G in (D = B['indexOf'](g['xLKUL'], D), 2531 | E = B['length'] - D, 2532 | C = g['dxqyJ']('Total:\x20', B['length']) + ',\x20jsData:\x20' + D + ',\x20rest:\x20' + E, 2533 | F = [{ 2534 | 'name': '', 2535 | 'len': 0x0 2536 | }, { 2537 | 'name': '', 2538 | 'len': 0x0 2539 | }, { 2540 | 'name': '', 2541 | 'len': 0x0 2542 | }], 2543 | j)) 2544 | (H = encodeURIComponent(JSON['stringify'](j[G]))['length']) > F[0x2]['len'] && (F[0x2]['len'] = H, 2545 | F[0x2]['name'] = G, 2546 | F['sort'](function(L, M) { 2547 | return M['len'] - L['len']; 2548 | })); 2549 | for (I = !0x1, 2550 | B['length'] > 0x5dc0 && (I = !0x0, 2551 | C = '[>24k!]\x20' + C), 2552 | J = 0x0; J < 0x3; J++) 2553 | C += g['dxqyJ'](',\x20' + F[J]['name'] + ':\x20', F[J]['len']), 2554 | I && F[J]['len'] > 0x12c && (j[F[J]['name']] = j[F[J]['name']]['slice'](0x0, 0x12c) + '...'); 2555 | } catch (L) { 2556 | try { 2557 | C = g['EMvzC'] + L['message']; 2558 | } catch (M) { 2559 | C = 'GE'; 2560 | } 2561 | } 2562 | return C['length'] > 0xc8 && (C = C['slice'](0x0, 0xc8) + '...'), 2563 | j['plos'] = C, 2564 | this['getQueryParamsString'](j, k, q, x, y, !0x0); 2565 | } 2566 | ; 2567 | } 2568 | ; 2569 | } 2570 | , { 2571 | './../common/DataDomeTools': 0x2 2572 | }], 2573 | 0x6: [function(a, b, c) { 2574 | var d = { 2575 | 'jrbEh': ''), 2718 | document['body']['insertAdjacentHTML']('beforeend', v), 2719 | window['DataDomeCaptchaDisplayed'] = !0x0, 2720 | window['dataDomeOptions']['enableTagEvents'] && y['dispatchEvent'](y['eventNames']['captchaDisplayed'], { 2721 | 'captchaUrl': m, 2722 | 'rootElement': document['body'] 2723 | })) : (x = '' + v + '', 2724 | document['body']['insertAdjacentHTML']('beforeend', x), 2725 | window['dataDomeOptions']['enableTagEvents'] && y['dispatchEvent'](y['eventNames']['captchaError'], { 2726 | 'captchaUrl': m, 2727 | 'rootElement': document['body'], 2728 | 'reason': 'DataDome\x20session\x20not\x20found' 2729 | }))); 2730 | } 2731 | ; 2732 | } 2733 | ; 2734 | } 2735 | , { 2736 | './../common/DataDomeTools.js': 0x2, 2737 | './../common/DataDomeUrlTools.js': 0x3 2738 | }], 2739 | 0x7: [function(a, b, c) { 2740 | var d = { 2741 | 'NXPSz': function(f, g) { 2742 | return f === g; 2743 | }, 2744 | 'OmchO': function(f, g) { 2745 | return f(g); 2746 | }, 2747 | 'GCKQD': './common/DataDomeTools', 2748 | 'MvTef': function(f, g) { 2749 | return f == g; 2750 | } 2751 | }; 2752 | !(function() { 2753 | var f, g, h, j, k, l, m, p, q; 2754 | if (!window['dataDomeProcessed']) { 2755 | if (window['dataDomeProcessed'] = !0x0, 2756 | f = {}, 2757 | g = a('./common/DataDomeOptions'), 2758 | window['dataDomeOptions'] = new g(), 2759 | window['ddoptions'] && void 0x0 !== window['ddoptions']) { 2760 | for (j in (window['dataDomeOptions']['check'](window['ddoptions']), 2761 | h = [], 2762 | window['ddoptions'])) 2763 | h['push'](j); 2764 | f['opts'] = h['join'](); 2765 | } 2766 | k = window['dataDomeOptions']['dryRun'], 2767 | Array['isArray'](k) || (k = []), 2768 | window['DataDomeCaptchaDisplayed'] = !0x1, 2769 | -0x1 === k['indexOf'](0x0) && (l = new (a('./services/DataDomeApiClient'))(f), 2770 | !0x0 === window['dataDomeOptions']['exposeCaptchaFunction'] && (m = a('./http/DataDomeResponse'), 2771 | window['displayDataDomeCaptchaPage'] = new m(f)['displayCaptchaPage']), 2772 | d['NXPSz'](-0x1, k['indexOf'](0x1)) && l['processSyncRequest'](), 2773 | d['NXPSz'](-0x1, k['indexOf'](0x2)) && (null != window['dataDomeOptions']['ajaxListenerPath'] || window['dataDomeOptions']['isSalesforce']) && l['processAsyncRequests'](window['dataDomeOptions']['ajaxListenerPath'], window['dataDomeOptions']['ajaxListenerPathExclusion'], window['dataDomeOptions']['abortAsyncOnCaptchaDisplay'], !window['dataDomeOptions']['exposeCaptchaFunction'], window['dataDomeOptions']['isSalesforce']), 2774 | -0x1 === k['indexOf'](0x3) && window['dataDomeOptions']['eventsTrackingEnabled'] && new (a('./live-events/DataDomeEventsTracking'))(f)['process'](), 2775 | -0x1 === k['indexOf'](0x4) && new (a('./live-events/DataDomeAsyncChallengesTracking'))(f)['process'](), 2776 | p = null, 2777 | window['dataDomeOptions']['enableTagEvents'] && (p = new (a('./common/DataDomeTools'))())['dispatchEvent'](p['eventNames']['ready']), 2778 | window['dataDomeOptions']['volatileSession'] && (null == p && (p = new (d['OmchO'](a, d['GCKQD']))()), 2779 | '' === document['cookie'] && a('./services/VolatileSession')['init']()), 2780 | window['ddSbh'] && (d['MvTef'](null, p) && (p = new (a('./common/DataDomeTools'))()), 2781 | null != (q = p['getCookie']('datadome', document['cookie'])) && p['isLocalStorageEnabled']() && window['localStorage']['setItem']('ddSession', q))); 2782 | } 2783 | }()); 2784 | } 2785 | , { 2786 | './common/DataDomeOptions': 0x1, 2787 | './common/DataDomeTools': 0x2, 2788 | './http/DataDomeResponse': 0x6, 2789 | './live-events/DataDomeAsyncChallengesTracking': 0x8, 2790 | './live-events/DataDomeEventsTracking': 0x9, 2791 | './services/DataDomeApiClient': 0xa, 2792 | './services/VolatileSession': 0xb 2793 | }], 2794 | 0x8: [function(a, b, c) { 2795 | var d = a('./../http/DataDomeRequest') 2796 | , f = a('./../common/DataDomeTools'); 2797 | b['exports'] = function(g) { 2798 | var h = new d('ac') 2799 | , j = new f(); 2800 | this['process'] = function() { 2801 | j['addEventListener'](window, 'asyncChallengeFinished', function(k) { 2802 | window['dataDomeOptions'] && h['requestApi'](window['ddjskey'], g, [], window['dataDomeOptions']['patternToRemoveFromReferrerUrl'], !0x0, window['dataDomeOptions']['ddResponsePage']); 2803 | }); 2804 | } 2805 | ; 2806 | } 2807 | ; 2808 | } 2809 | , { 2810 | './../common/DataDomeTools': 0x2, 2811 | './../http/DataDomeRequest': 0x5 2812 | }], 2813 | 0x9: [function(b, c, d) { 2814 | var f = { 2815 | 'XUqAQ': function(m, p) { 2816 | return m(p); 2817 | }, 2818 | 'RItul': function(m, p) { 2819 | return m == p; 2820 | } 2821 | }; 2822 | function g(m, p) { 2823 | var q, u, v, w; 2824 | return m && 0x0 != m['length'] ? (u = ((q = m['sort'](function(x, y) { 2825 | return x - y; 2826 | }))['length'] - 0x1) * p / 0x64, 2827 | void 0x0 !== q[(v = Math['floor'](u)) + 0x1] ? (w = u - v, 2828 | q[v] + w * (q[v + 0x1] - q[v])) : q[v]) : null; 2829 | } 2830 | function h(m, p, q, u) { 2831 | var v = q - m 2832 | , w = u - p 2833 | , x = Math['acos'](v / Math['sqrt'](v * v + w * w)); 2834 | return w < 0x0 ? -x : x; 2835 | } 2836 | function j() { 2837 | var m = { 2838 | 'wUXhr': function(p, q) { 2839 | return p / q; 2840 | }, 2841 | 'kfNoB': function(p, q) { 2842 | return p - q; 2843 | }, 2844 | 'qGPQX': function(p, q) { 2845 | return f['XUqAQ'](p, q); 2846 | } 2847 | }; 2848 | this['_lastMouseMoveEvent'] = null, 2849 | this['_currentStrokeEvents'] = [], 2850 | this['_sigmas'] = [], 2851 | this['_mus'] = [], 2852 | this['_dists'] = [], 2853 | this['_startAngles'] = [], 2854 | this['_endAngles'] = [], 2855 | this['_consumeStroke'] = function() { 2856 | var q, x, y, z, A, B, C, D, E, F, G, H, I, J, K, L, M, N; 2857 | try { 2858 | if ((q = this['_currentStrokeEvents']['length']) > 0x1) { 2859 | for (x = 0x0, 2860 | y = 0x0, 2861 | z = 0x0; z < q; z++) 2862 | x += A = Math['log'](this['_currentStrokeEvents'][z]['timeStamp']), 2863 | y += A * A; 2864 | this['_sigmas']['push'](Math['sqrt']((q * y - x * x) / q * (q - 0x1)) / 0x3e8), 2865 | this['_mus']['push'](m['wUXhr'](x, q)), 2866 | B = this['_currentStrokeEvents'][0x0], 2867 | C = this['_currentStrokeEvents'][m['kfNoB'](q, 0x1)], 2868 | this['_dists']['push']((I = B['clientX'], 2869 | J = B['clientY'], 2870 | K = C['clientX'], 2871 | L = C['clientY'], 2872 | M = K - I, 2873 | N = L - J, 2874 | Math['sqrt'](M * M + N * N))), 2875 | D = q < 0x4 ? q - 0x1 : 0x3, 2876 | E = this['_currentStrokeEvents'][D], 2877 | F = this['_currentStrokeEvents'][q - D - 0x1], 2878 | G = h(B['clientX'], B['clientY'], E['clientX'], E['clientY']), 2879 | H = h(C['clientX'], C['clientY'], F['clientX'], F['clientY']), 2880 | this['_startAngles']['push'](G), 2881 | this['_endAngles']['push'](H); 2882 | } 2883 | this['_currentStrokeEvents'] = []; 2884 | } catch (O) {} 2885 | } 2886 | , 2887 | this['_handleMouseMove'] = function(p) { 2888 | this['_lastMouseMoveEvent'] && p['timeStamp'] - this['_lastMouseMoveEvent']['timeStamp'] > 0x1f3 && this['_consumeStroke'](), 2889 | this['_currentStrokeEvents']['push'](p), 2890 | this['_lastMouseMoveEvent'] = p; 2891 | } 2892 | , 2893 | this['_eventIsValid'] = function(p) { 2894 | if (p['isTrusted'] && !p['repeat']) { 2895 | var q = performance['now'](); 2896 | if (p['timeStamp'] > 0x0 && p['timeStamp'] > q - 0x1388 && p['timeStamp'] < q) 2897 | return !0x0; 2898 | } 2899 | return !0x1; 2900 | } 2901 | , 2902 | this['handleEvent'] = function(p) { 2903 | this['_eventIsValid'](p) && 'mousemove' === p['type'] && this['_handleMouseMove'](p); 2904 | } 2905 | , 2906 | this['buildSignals'] = function() { 2907 | function p(q) { 2908 | return function() { 2909 | try { 2910 | return q['apply'](this, arguments); 2911 | } catch (u) { 2912 | return null; 2913 | } 2914 | } 2915 | ; 2916 | } 2917 | return this['_consumeStroke'](), 2918 | { 2919 | 'es_sigmdn': p(g)(this['_sigmas'], 0x32), 2920 | 'es_mumdn': m['qGPQX'](p, g)(this['_mus'], 0x32), 2921 | 'es_distmdn': p(g)(this['_dists'], 0x32), 2922 | 'es_angsmdn': p(g)(this['_startAngles'], 0x32), 2923 | 'es_angemdn': p(g)(this['_endAngles'], 0x32) 2924 | }; 2925 | } 2926 | ; 2927 | } 2928 | var k = b('./../http/DataDomeRequest') 2929 | , l = b('./../common/DataDomeTools'); 2930 | c['exports'] = function(q) { 2931 | var x = { 2932 | 'hRkDw': 'click', 2933 | 'wLJdC': function(M, N) { 2934 | return M < N; 2935 | } 2936 | }; 2937 | function y(M) { 2938 | G = !0x0, 2939 | f['RItul'](null, H) && I && (H = setTimeout(function() { 2940 | z(!0x0); 2941 | }, B)), 2942 | L[M['type']]++, 2943 | F['handleEvent'](M); 2944 | } 2945 | function z(M) { 2946 | var N, O; 2947 | if (!J && G && window['dataDomeOptions']) { 2948 | for (O in (J = !0x0, 2949 | N = F['buildSignals']())) 2950 | q[O] = N[O]; 2951 | q['m_s_c'] = L['scroll'], 2952 | q['m_m_c'] = L['mousemove'], 2953 | q['m_c_c'] = L[x['hRkDw']], 2954 | q['m_cm_r'] = 0x0 === L['mousemove'] ? -0x1 : L['click'] / L['mousemove'], 2955 | q['m_ms_r'] = 0x0 === L['scroll'] ? -0x1 : L['mousemove'] / L['scroll'], 2956 | D['requestApi'](window['ddjskey'], q, L, window['dataDomeOptions']['patternToRemoveFromReferrerUrl'], M, window['dataDomeOptions']['ddResponsePage']), 2957 | (function() { 2958 | for (var P = 0x0; P < K['length']; P++) 2959 | E['removeEventListener'](document, K[P], y, C); 2960 | }()); 2961 | } 2962 | } 2963 | var A, B = 0x2710, C = !0x0, D = new k('le'), E = new l(), F = new j(), G = !0x1, H = null, I = !0x1, J = !0x1, K = ['mousemove', 'click', 'scroll', 'touchstart', 'touchend', 'touchmove', 'keydown', 'keyup'], L = (function() { 2964 | var M, N = {}; 2965 | for (M = 0x0; M < K['length']; M++) 2966 | N[K[M]] = 0x0; 2967 | return N; 2968 | }()); 2969 | this['process'] = function() { 2970 | !(function() { 2971 | for (var M = 0x0; x['wLJdC'](M, K['length']); M++) 2972 | E['addEventListener'](document, K[M], y, C); 2973 | }()), 2974 | A = window['requestAnimationFrame'](function(M) { 2975 | I = !0x0; 2976 | }), 2977 | E['addEventListener'](window, 'onpagehide'in window ? 'pagehide' : 'beforeunload', function() { 2978 | clearTimeout(H), 2979 | window['cancelAnimationFrame'](A), 2980 | z(!0x1); 2981 | }); 2982 | } 2983 | ; 2984 | } 2985 | ; 2986 | } 2987 | , { 2988 | './../common/DataDomeTools': 0x2, 2989 | './../http/DataDomeRequest': 0x5 2990 | }], 2991 | 0xa: [function(b, c, d) { 2992 | var f = { 2993 | 'IoULI': 'string', 2994 | 'gjsEn': 'catch', 2995 | 'jeIin': function(l, m) { 2996 | return l != m; 2997 | }, 2998 | 'KQGFW': function(l, m) { 2999 | return l(m); 3000 | } 3001 | } 3002 | , g = b('./../fingerprint/DataDomeAnalyzer') 3003 | , h = f['KQGFW'](b, './../http/DataDomeRequest') 3004 | , j = b('./../http/DataDomeResponse') 3005 | , k = b('../common/DataDomeTools'); 3006 | c['exports'] = function(l) { 3007 | var m = { 3008 | 'aScUW': './VolatileSession.js', 3009 | 'shGDy': 'function' 3010 | } 3011 | , p = 'x-datadome-clientid' 3012 | , q = 'x-set-cookie' 3013 | , u = new k(); 3014 | if (f['jeIin']('undefined', typeof window) && window['navigator'] && 'serviceWorker'in window['navigator']) 3015 | try { 3016 | !(function() { 3017 | var v = { 3018 | 'MrthL': f['IoULI'], 3019 | 'wPTfM': 'datado' 3020 | }; 3021 | function w() { 3022 | try { 3023 | var x; 3024 | window['MessageChannel'] && navigator['serviceWorker']['controller'] && navigator['serviceWorker']['controller']['postMessage'] && (x = new MessageChannel())['port1'] && x['port2'] && (navigator['serviceWorker']['controller']['postMessage']({ 3025 | 'type': 'INIT_PORT', 3026 | 'ddOptions': JSON['stringify'](window['dataDomeOptions']) 3027 | }, [x['port2']]), 3028 | x['port1']['onmessage'] = function(y) { 3029 | try { 3030 | y['data']['ddCaptchaUrl'] ? new j(l)['displayCaptchaPage'](y['data']['ddCaptchaUrl']) : y['data'] && y['data']['indexOf'] && v['MrthL'] == typeof y['data'] && (y['data']['indexOf'](v['wPTfM']) > -0x1 || y['data']['indexOf']('captcha') > -0x1) && new j(l)['displayCaptchaPage'](y['data']); 3031 | } catch (z) {} 3032 | } 3033 | ); 3034 | } catch (y) {} 3035 | } 3036 | try { 3037 | navigator['serviceWorker']['ready']['then'](w)[f['gjsEn']](function() {}), 3038 | navigator['serviceWorker']['controller'] && w(); 3039 | } catch (x) {} 3040 | }()); 3041 | } catch (v) {} 3042 | this['processSyncRequest'] = function() { 3043 | var w = new g(l); 3044 | w['process'](), 3045 | setTimeout(function() { 3046 | var x = new h('ch'); 3047 | window['dataDomeOptions'] && x['requestApi'](window['ddjskey'], l, [], window['dataDomeOptions']['patternToRemoveFromReferrerUrl'], !0x0, window['dataDomeOptions']['ddResponsePage']), 3048 | setTimeout(function() { 3049 | w['clean'](); 3050 | }, 0x7d0); 3051 | }); 3052 | } 3053 | , 3054 | this['processAsyncRequests'] = function(x, y, z, A, B) { 3055 | var C = { 3056 | 'pdkwf': function(K, L) { 3057 | return K === L; 3058 | }, 3059 | 'ecQUs': 'datadome', 3060 | 'Jcgvy': 'json', 3061 | 'ChIyv': 'string', 3062 | 'FErDz': 'function', 3063 | 'MmDnV': function(K, L) { 3064 | return K == L; 3065 | } 3066 | }, D, E, F, G, H = b('../common/DataDomeUrlTools.js'), I = b(m['aScUW']), J = this; 3067 | window['XMLHttpRequest'] && (D = XMLHttpRequest['prototype']['open'], 3068 | XMLHttpRequest['prototype']['open'] = function() { 3069 | void 0x0 !== this['addEventListener'] && this['addEventListener']('load', function(L) { 3070 | var M, N, O, P, Q = L['currentTarget']; 3071 | ('text' === Q['responseType'] || C['pdkwf']('', Q['responseType']) || 'json' === Q['responseType'] || 'blob' === Q['responseType']) && J['filterAsyncResponse'](Q['responseURL'], x, y, B) && ((window['ddvs'] || window['ddSbh']) && (M = Q['getResponseHeader'](q), 3072 | window['ddvs'] && null != M && (N = u['getCookie'](C['ecQUs'], M), 3073 | I['updateProperties'](N)), 3074 | window['ddSbh'] && null != M && u['setDDSession'](M)), 3075 | O = new j(l), 3076 | 'blob' === Q['responseType'] && 'undefined' != typeof FileReader ? ((P = new FileReader())['onload'] = function(R) { 3077 | 'string' == typeof R['target']['result'] && O['process'](R['target']['result'], Q['getAllResponseHeaders'](), z, A, Q, B, Q['responseURL']); 3078 | } 3079 | , 3080 | P['readAsText'](Q['response'])) : O['process'](C['pdkwf'](C['Jcgvy'], Q['responseType']) ? Q['response'] : Q['responseText'], Q['getAllResponseHeaders'](), z, A, Q, B, Q['responseURL'])); 3081 | }), 3082 | D && D['apply'](this, arguments); 3083 | try { 3084 | if (arguments['length'] > 0x1 && arguments[0x1] && (!H['isAbsoluteUrl'](arguments[0x1]) || J['filterAsyncResponse'](arguments[0x1], x, y)) && (window['dataDomeOptions']['withCredentials'] && (this['withCredentials'] = !0x0), 3085 | window['ddvs'] || window['ddSbh'])) { 3086 | var K = window['ddcid']; 3087 | window['ddSbh'] && (K = u['getDDSession'](), 3088 | this['_dd_hook'] || (this['setRequestHeader'](p, K), 3089 | this['_dd_hook'] = !0x0)); 3090 | } 3091 | } catch (L) {} 3092 | } 3093 | ), 3094 | (E = window['dataDomeOptions']['overrideAbortFetch']) && window['Request'] && m['shGDy'] == typeof window['Request'] && (F = window['Request'], 3095 | window['Request'] = function() { 3096 | if (arguments['length'] > 0x1 && arguments[0x1]['signal']) 3097 | try { 3098 | delete arguments[0x1]['signal']; 3099 | } catch (K) {} 3100 | return new F(arguments[0x0],arguments[0x1]); 3101 | } 3102 | ), 3103 | window['fetch'] && (G = window['fetch'], 3104 | window['fetch'] = function() { 3105 | var K = { 3106 | 'tdjWN': 'datadome', 3107 | 'YYwKP': '5B45875B653A484CC79E57036CE9FC', 3108 | 'dsoaM': 'A8074FDFEB4241633ED1C1FA7E2AF8' 3109 | }, L, M, N, O, P, Q, R, S, T; 3110 | if (E && arguments['length'] > 0x1 && arguments[0x1] && void 0x0 !== arguments[0x1]['signal'] && 'string' == typeof arguments[0x0] && (!H['isAbsoluteUrl'](arguments[0x0]) || J['filterAsyncResponse'](arguments[0x0], x, y, B))) 3111 | try { 3112 | delete arguments[0x1]['signal']; 3113 | } catch (U) {} 3114 | if ((window['dataDomeOptions']['withCredentials'] || window['ddvs'] || window['ddSbh']) && ('string' == typeof arguments[0x0] ? L = arguments[0x0] : 'object' == typeof arguments[0x0] && 'string' == typeof arguments[0x0]['url'] && (L = arguments[0x0]['url']), 3115 | 'string' == typeof L && (!H['isAbsoluteUrl'](L) || J['filterAsyncResponse'](L, x, y)))) { 3116 | if (window['dataDomeOptions']['withCredentials']) { 3117 | if ('object' == typeof arguments[0x0] && C['ChIyv'] == typeof arguments[0x0]['url']) 3118 | arguments[0x0]['credentials'] = 'include'; 3119 | else { 3120 | if (arguments['length'] >= 0x1) { 3121 | if (null == arguments[0x1]) { 3122 | for (M = [], 3123 | N = 0x0; N < arguments['length']; ++N) 3124 | M[N] = arguments[N]; 3125 | (arguments = M)[0x1] = {}; 3126 | } 3127 | arguments[0x1]['credentials'] = 'include'; 3128 | } 3129 | } 3130 | } 3131 | if (window['ddvs'] || window['ddSbh']) { 3132 | if (O = window['ddcid'], 3133 | window['ddSbh'] && (O = u['getDDSession']()), 3134 | P = 'function' == typeof Headers && C['FErDz'] == typeof Headers['prototype']['append'], 3135 | 'object' == typeof arguments[0x0] && 'string' == typeof arguments[0x0]['url']) 3136 | arguments[0x0]['headers'] || P && (arguments[0x0]['headers'] = new Headers()), 3137 | arguments[0x0]['headers'] && arguments[0x0]['headers']['append'](p, O); 3138 | else { 3139 | if (arguments['length'] >= 0x1) { 3140 | if (null == arguments[0x1]) { 3141 | for (Q = [], 3142 | R = 0x0; R < arguments['length']; ++R) 3143 | Q[R] = arguments[R]; 3144 | (arguments = Q)[0x1] = {}; 3145 | } 3146 | C['MmDnV'](null, arguments[0x1]['headers']) && (arguments[0x1]['headers'] = {}), 3147 | P && arguments[0x1]['headers']['constructor'] === Headers ? arguments[0x1]['headers']['append'](p, O) : arguments[0x1]['headers'][p] = O; 3148 | } 3149 | } 3150 | } 3151 | } 3152 | if (S = 0xfa, 3153 | '1F633CDD8EF22541BD6D9B1B8EF13A' === window['ddjskey']) 3154 | try { 3155 | l['nowd'] = this === window, 3156 | T = G['apply'](window, arguments); 3157 | } catch (V) { 3158 | l['sfex'] = 'string' == typeof V['message'] ? V['message']['slice'](0x0, S) : 'errorfetch'; 3159 | } 3160 | else 3161 | try { 3162 | T = G['apply'](this, arguments); 3163 | } catch (X) { 3164 | l['sfex'] = 'string' == typeof X['message'] ? X['message']['slice'](0x0, S) : 'errorfetch'; 3165 | } 3166 | return arguments['length'] > 0x1 && arguments[0x1] && arguments[0x1]['trustToken'] || void 0x0 === T['then'] || (T['catch'](function() {}), 3167 | T['then'](function(Y) { 3168 | Y['clone']()['text']()['then'](function(Z) { 3169 | var a0, a1, a2, a3; 3170 | if ((window['ddvs'] || window['ddSbh']) && ((a1 = null != (a0 = Y['headers']['get'](q))) && window['ddvs'] && (a2 = u['getCookie'](K['tdjWN'], a0), 3171 | I['updateProperties'](a2)), 3172 | a1 && window['ddSbh'])) 3173 | try { 3174 | u['setDDSession'](a0); 3175 | } catch (a4) {} 3176 | try { 3177 | a3 = JSON['parse'](Z), 3178 | J['filterAsyncResponse'](Y['url'], x, y) && new j(l)['process'](a3, Y['headers'], z, A, null, B, Y['url']); 3179 | } catch (a5) { 3180 | ([K['YYwKP'], 'EFDDEA6D6717FECF127911F870F88A', K['dsoaM'], '9D463B509A4C91FDFF39B265B3E2BC']['indexOf'](window['ddjskey']) > -0x1 || window['dataDomeOptions']['allowHtmlContentTypeOnCaptcha']) && new j(l)['process'](Z, Y['headers'], z, A, null, B, Y['url']); 3181 | } 3182 | }); 3183 | })['catch'](function() {})), 3184 | T; 3185 | } 3186 | ); 3187 | } 3188 | , 3189 | this['filterAsyncResponse'] = function(w, x, y, z) { 3190 | var A, B; 3191 | return null == w || w !== window['dataDomeOptions']['endpoint'] && (z ? (A = 'DDUser-Challenge', 3192 | (B = w['replace'](/\?.*/, ''))['slice'](B['length'] - A['length']) === A) : 0x0 === x['length'] || b('../common/DataDomeUrlTools.js')['matchURLConfig'](w, x, y)); 3193 | } 3194 | ; 3195 | } 3196 | ; 3197 | } 3198 | , { 3199 | '../common/DataDomeTools': 0x2, 3200 | '../common/DataDomeUrlTools.js': 0x3, 3201 | './../fingerprint/DataDomeAnalyzer': 0x4, 3202 | './../http/DataDomeRequest': 0x5, 3203 | './../http/DataDomeResponse': 0x6, 3204 | './VolatileSession.js': 0xb 3205 | }], 3206 | 0xb: [function(b, c, d) { 3207 | var f = { 3208 | 'ctCBb': 'href', 3209 | 'ZKsMz': 'childList', 3210 | 'uKyQw': function(l, m) { 3211 | return l == m; 3212 | }, 3213 | 'nUzPy': function(l, m) { 3214 | return l(m); 3215 | } 3216 | }; 3217 | function g(l) { 3218 | return 'string' != typeof l || 'function' != typeof window['URL'] ? null : l['startsWith']('http://') || l['startsWith']('https://') ? new URL(l) : new URL(l,location['origin']); 3219 | } 3220 | function h(l) { 3221 | var m, p, q, s; 3222 | if (null != l && null != l['tagName']) 3223 | switch (m = l['tagName']['toLowerCase'](), 3224 | p = null, 3225 | q = window['dataDomeOptions']['ajaxListenerPath'], 3226 | s = window['dataDomeOptions']['ajaxListenerPathExclusion'], 3227 | m) { 3228 | case 'a': 3229 | (p = g(l['getAttribute']('href'))) && k['matchURLConfig'](p['href'], q, s) && (p['searchParams']['set']('ddcid', window['ddcid']), 3230 | l['setAttribute'](f['ctCBb'], p)); 3231 | break; 3232 | case 'form': 3233 | (p = g(l['getAttribute']('action'))) && k['matchURLConfig'](p['href'], q, s) && (p['searchParams']['set']('ddcid', window['ddcid']), 3234 | l['setAttribute']('action', p)); 3235 | break; 3236 | case 'iframe': 3237 | (p = g(l['getAttribute']('src'))) && !k['hasDatadomeOrigin'](p) && k['matchURLConfig'](p['href'], q, s) && (p['searchParams']['set']('ddcid', window['ddcid']), 3238 | l['setAttribute']('src', p)); 3239 | } 3240 | } 3241 | function j(l) { 3242 | var m, p, q, u, v, w, x; 3243 | for (m = 0x0; m < l['length']; ++m) 3244 | switch ((p = l[m])['type']) { 3245 | case f['ZKsMz']: 3246 | for (q = ['a', 'form', 'iframe'], 3247 | u = 0x0; u < p['addedNodes']['length']; ++u) 3248 | w = f['uKyQw']('string', typeof (v = p['addedNodes'][u])['tagName']) ? v['tagName']['toLowerCase']() : '', 3249 | q['indexOf'](w) > -0x1 && h(v); 3250 | break; 3251 | case 'attributes': 3252 | null != (x = g(p['target']['getAttribute'](p['attributeName']))) && (x['searchParams']['has']('ddcid') || h(p['target'])); 3253 | } 3254 | } 3255 | var k = f['nUzPy'](b, '../common/DataDomeUrlTools.js'); 3256 | c['exports'] = { 3257 | 'init': function() { 3258 | var l, m, p, q; 3259 | return 'complete' === document['readyState'] ? this['updateProperties'](window['ddcid']) : (l = this, 3260 | window['addEventListener']('load', function() { 3261 | l['updateProperties'](window['ddcid']); 3262 | })), 3263 | m = 'function' == typeof window['MutationObserver'], 3264 | window['ddvs'] = m, 3265 | m ? (p = { 3266 | 'childList': !0x0, 3267 | 'subtree': !0x0, 3268 | 'attributes': !0x0, 3269 | 'attributeFilter': ['href', 'src', 'action'] 3270 | }, 3271 | (q = new MutationObserver(j))['observe'](document, p), 3272 | q) : null; 3273 | }, 3274 | 'updateProperties': function(l) { 3275 | var m, p, q, s; 3276 | if (window['ddcid'] = l, 3277 | m = 0x0, 3278 | (p = document['querySelectorAll']('a'))['length'] > 0x0) { 3279 | for (m = 0x0; m < p['length']; ++m) 3280 | h(p[m]); 3281 | } 3282 | if ((q = document['querySelectorAll']('form'))['length'] > 0x0) { 3283 | for (m = 0x0; m < q['length']; ++m) 3284 | f['nUzPy'](h, q[m]); 3285 | } 3286 | if ((s = document['querySelectorAll']('iframe'))['length'] > 0x0) { 3287 | for (m = 0x0; m < s['length']; ++m) 3288 | h(s[m]); 3289 | } 3290 | return window['ddcid']; 3291 | } 3292 | }; 3293 | } 3294 | , { 3295 | '../common/DataDomeUrlTools.js': 0x3 3296 | }] 3297 | }, {}, [0x7]); 3298 | --------------------------------------------------------------------------------