IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Akamai快速获取sensor_data以及_abck -> 正文阅读

[Python知识库]Akamai快速获取sensor_data以及_abck

阿卡迈版本

Akamai目前分为2个版本,1.X版本目前最新为1.75,2.x版本JS中目前没看到小版本号,暂时就说是2.0版本吧!

1.75版本JS可以反混淆,下面会附上反混淆之后的代码。目前解密2.0版本的时候暂时没能反混淆,只能断点硬调试!

阿卡迈使用的遇到问题总结

1.如果批量使用阿卡迈,代理IP是必不可少的,尽量使用家庭住宅ip(部分机房IP获取不到正常的abck)

2.必须要了解有关tls指纹的问题,阿卡迈可以根据tls指纹检测当前请求是从软件发出还是从浏览器/app发出。比如Python的requests以及易语言的网页_访问类请求,阿卡迈已经封禁,就算是有效的sensor_data也不会返回正确的abck

判断abck是否有效

1.最简单方式,直接使用返回的cookie嵌套到开发环境提交测试!

2.从返回abck形态上简单判断

比如:

初始abck

_abck=C4C218916039C6D2B0E17D126FD523CD~-1~YAAQbJ7C3SnbVI2AAQAAIFd7kwda8PSPwcqppzk4Eay98I4JvZk2My1BMgOF4gSrjUJoA8l07nEi8Nzv/inCgwKbGt6nZbhnG9Xoo03+8kMuhABKhR8GK4nv2YwUQaQA+dyUyjdtCcKubRCqssdmT1AHDfs1qdZEB1V6KJ/h4526ARNHocrXQjjvivBNLEJGhS1TU1q5+GEsG8ZkfA7r2KvCBluNvILIzC4gMZVTGmK1zd1qXdVdWk7IHWvS2wvXMg+1trQJDLkXCUw68wakYCZqNmXwM0oGcHAcx4LNMAzBD+ZfZ32AOZ/RZ1uZFQdncgisZPDV3zQDdxDfjzz4KAL7PkVvDT9A8wi66LuiMwYch4gG9s1eN3qsgXD55B+N8oM8lxa69H3wDwmdyuqyW21JBUasTyDwGZ0leNTvm6/ppgDSsq51i0Dm9JGP9u2b2fcnpp/tyaKnB8VuB+/co6/prDKWd9HL5nUyNvM3zSvpjTWpGKD7N4BIvWMg~-1~-1~-1

有效abck

_abck=C4C218916039C6D2B0E17D126FD523CD~-1~YAAQbJ7C3Y7uVI2AAQAATjF8kwf7xXDuRHbWKJ96rSEUsNxARRQy62JBOUD2qDJtBlSbANSoW0myLhmOI6sxwrAQslyXCEPtfFiFW7vE09CZil0xz5Z5g7cTruBgeR/iqy7wjAGBLlyaCVypy/+fyXSUwRUkQGgaanJkPdUWSHMhsa/UhwB2aoJ8At0ISJmfw6gdKLwBHwapyWp793KTZHARuJaG3wrZ1sEiG/h4y9wK3l9MmpmG2YJJJG++008oyUVa9y3AonEgOx3CsirODe3cAA0YhV+Jwht14Jtst3owYgGiRdIiBj7V9CYp8kaB+ckDTH3NrVy1YlePMfOem9xhE7wMsfokMBhkuT200D27796B6XHsrhQgyjC5sJ8mKDqXHEH/4kOfieA1KGCoxLPpy18BBgo8YvF6iCxVFduXfV+MjUhijAlqQ8xAkHQtjx6o4ODNQKfDEZkx8F0VHFSlzYWchzOR+FiIrq4oiLyuGOHg7PuXHz4lDRk=~-1~-1~-1

可以注意一下abck后面=的数量等,认真观察,还是能简单判断是否有效的

不同网站之间的调用

不同网站之间的部分参数需要微调,整体算法框架都是一样的。部分网站监测力度不一样,有时候需要访问2-3次才能获取正确的abck,部分网站访问1次就能获取正确的abck,随时变通吧!

以上是个人遇到的问题,目前QQ5422596 欢迎交流,目前测试2.0版本的阿卡迈通过的网站有nike/ti等,1.75版本的阿卡迈暂时没遇到不能通过的!

?附1.75反混淆JS

var _cf = _cf || [],
	bmak = bmak && bmak['hasOwnProperty']('ver') && bmak['hasOwnProperty']('sed') ? bmak : {
		ver: 1.75,
		ke_cnt_lmt: 150,
		mme_cnt_lmt: 100,
		mduce_cnt_lmt: 75,
		pme_cnt_lmt: 25,
		pduce_cnt_lmt: 25,
		tme_cnt_lmt: 25,
		tduce_cnt_lmt: 25,
		doe_cnt_lmt: 10,
		dme_cnt_lmt: 10,
		vc_cnt_lmt: 100,
		doa_throttle: 0,
		dma_throttle: 0,
		session_id: 'default_session',
		js_post: !1,
		loc: '',
		cf_url: 'https:' === document['location']['protocol'] ? 'https://' : 'http://',
		params_url: ('https:' === document['location']['protocol'] ? 'https://' : 'http://') + document['location']['hostname'] + '/get_params',
		auth: '',
		api_public_key: 'afSbep8yjnZUjq3aL010jO15Sawj2VZfdYK8uY90uxq',
		aj_lmt_doact: 1,
		aj_lmt_dmact: 1,
		aj_lmt_tact: 1,
		ce_js_post: 0,
		init_time: 0,
		informinfo: '',
		prevfid: -1,
		fidcnt: 0,
		sensor_data: 0,
		pua: '',
		ins: null,
		cns: null,
		enGetLoc: 0,
		enReadDocUrl: 1,
		disFpCalOnTimeout: 0,
		xagg: -1,
		pen: -1,
		brow: '',
		browver: '',
		psub: '-',
		lang: '-',
		prod: '-',
		plen: -1,
		doadma_en: 0,
		sdfn: [],
		d2: 0,
		d3: 0,
		thr: 0,
		cs: '0a46G5m17Vrp4o4c',
		hn: 'unk',
		z1: 0,
		o9: 0,
		vc: '',
		y1: 2016,
		ta: 0,
		tst: -1,
		t_tst: 0,
		ckie: '_abck',
		n_ck: '0',
		ckurl: 0,
		bm: !1,
		mr: '-1',
		altFonts: !1,
		rst: !1,
		runFonts: !1,
		fsp: !1,
		firstLoad: !0,
		pstate: !1,
		mn_mc_lmt: 10,
		mn_state: 0,
		mn_mc_indx: 0,
		mn_sen: 0,
		mn_tout: 100,
		mn_stout: 1e3,
		mn_ct: 1,
		mn_cc: '',
		mn_cd: 1e4,
		mn_lc: [],
		mn_ld: [],
		mn_lcl: 0,
		mn_al: [],
		mn_il: [],
		mn_tcl: [],
		mn_r: [],
		mn_rt: 0,
		mn_wt: 0,
		mn_abck: '',
		mn_psn: '',
		mn_ts: '',
		mn_lg: [],
		ipr: !1,
		loap: 1,
		dcs: 0,
		ir: function() {
			bmak['start_ts'] = Date['now'] ? Date['now']() : +new Date, bmak['kact'] = '', bmak['ke_cnt'] = 0, bmak['ke_vel'] = 0, bmak['mact'] = '', bmak['mme_cnt'] = 0, bmak['mduce_cnt'] = 0, bmak['me_vel'] = 0, bmak['pact'] = '', bmak['pme_cnt'] = 0, bmak['pduce_cnt'] = 0, bmak['pe_vel'] = 0, bmak['tact'] = '', bmak['tme_cnt'] = 0, bmak['tduce_cnt'] = 0, bmak['te_vel'] = 0, bmak['doact'] = '', bmak['doe_cnt'] = 0, bmak['doe_vel'] = 0, bmak['dmact'] = '', bmak['dme_cnt'] = 0, bmak['dme_vel'] = 0, bmak['vcact'] = '', bmak['vc_cnt'] = 0, bmak['aj_indx'] = 0, bmak['aj_ss'] = 0, bmak['aj_type'] = -1, bmak['aj_indx_doact'] = 0, bmak['aj_indx_dmact'] = 0, bmak['aj_indx_tact'] = 0, bmak['me_cnt'] = 0, bmak['pe_cnt'] = 0, bmak['te_cnt'] = 0, bmak['nav_perm'] = '', bmak['brv'] = 0, bmak['hbCalc'] = !1, bmak['fmh'] = '', bmak['fmz'] = '', bmak['ssh'] = '', bmak['wv'] = '', bmak['wr'] = '', bmak['weh'] = '', bmak['wl'] = 0, bmak['pdet'] = !0
		},
		get_cf_date: function() {
			return Date['now'] ? Date['now']() : +new Date
		},
		sd_debug: function(t) {
			if (!bmak['js_post']) {
				var a = t;
				'string' == typeof _sd_trace ? _sd_trace += a : _sd_trace = a
			}
		},
		pi: function(t) {
			return parseInt(t)
		},
		uar: function() {
			return window['navigator']['userAgent']['replace'](/\\|"/g, '')
		},
		gd: function() {
			var t = bmak['uar'](),
				a = '' + bmak['ab'](t),
				e = bmak['start_ts'] / 2,
				n = -1,
				o = -1,
				m = -1,
				r = -1,
				i = -1,
				c = -1,
				b = -1;
			try {
				n = window['screen'] ? window['screen']['availWidth'] : -1
			} catch (t) {
				n = -1
			}
			try {
				o = window['screen'] ? window['screen']['availHeight'] : -1
			} catch (t) {
				o = -1
			}
			try {
				m = window['screen'] ? window['screen']['width'] : -1
			} catch (t) {
				m = -1
			}
			try {
				r = window['screen'] ? window['screen']['height'] : -1
			} catch (t) {
				r = -1
			}
			try {
				i = window['innerHeight'] || (document['body'] && 'clientHeight' in document['body'] ? document['body']['clientHeight'] : document['documentElement'] && 'clientHeight' in document['documentElement'] ? document['documentElement']['clientHeight'] : -1)
			} catch (t) {
				i = -1
			}
			try {
				c = window['innerWidth'] || (document['body'] && 'clientWidth' in document['body'] ? document['body']['clientWidth'] : document['documentElement'] && 'clientWidth' in document['documentElement'] ? document['documentElement']['clientWidth'] : -1)
			} catch (t) {
				c = -1
			}
			try {
				b = 'outerWidth' in window && void 0 !== window['outerWidth'] ? window['outerWidth'] : -1
			} catch (t) {
				b = -1
			}
			bmak['z1'] = bmak['pi'](bmak['start_ts'] / (bmak['y1'] * bmak['y1']));
			var d = Math['random'](),
				s = bmak['pi'](1e3 * d / 2),
				k = d + '';
			return k = k['slice'](0, 11) + s, bmak['gbrv'](), bmak['get_browser'](), bmak['bc'](), bmak['bmisc'](), t + ',uaend,' + bmak['xagg'] + ',' + bmak['psub'] + ',' + bmak['lang'] + ',' + bmak['prod'] + ',' + bmak['plen'] + ',' + bmak['pen'] + ',' + bmak['wen'] + ',' + bmak['den'] + ',' + bmak['z1'] + ',' + bmak['d3'] + ',' + n + ',' + o + ',' + m + ',' + r + ',' + c + ',' + i + ',' + b + ',' + bmak['bd']() + ',' + a + ',' + k + ',' + e + ',' + bmak['brv'] + ',loc:' + bmak['loc']
		},
		get_browser: function() {
			navigator['productSub'] && (bmak['psub'] = navigator['productSub']), navigator['language'] && (bmak['lang'] = navigator['language']), navigator['product'] && (bmak['prod'] = navigator['product']), bmak['plen'] = void 0 !== navigator['plugins'] ? navigator['plugins']['length'] : -1
		},
		gbrv: function() {
			navigator['brave'] && navigator['brave']['isBrave']()['then'](function(t) {
				bmak['brv'] = t ? 1 : 0
			})['catch'](function(t) {
				bmak['brv'] = 0
			})
		},
		bc: function() {
			var t = window['addEventListener'] ? 1 : 0,
				a = window['XMLHttpRequest'] ? 1 : 0,
				e = window['XDomainRequest'] ? 1 : 0,
				n = window['emit'] ? 1 : 0,
				o = window['DeviceOrientationEvent'] ? 1 : 0,
				m = window['DeviceMotionEvent'] ? 1 : 0,
				r = window['TouchEvent'] ? 1 : 0,
				i = window['spawn'] ? 1 : 0,
				c = window['chrome'] ? 1 : 0,
				b = Function['prototype']['bind'] ? 1 : 0,
				d = window['Buffer'] ? 1 : 0,
				s = window['PointerEvent'] ? 1 : 0;
			try {
				var k = window['innerWidth'] ? 1 : 0
			} catch (t) {
				var k = 0
			}
			try {
				var l = window['outerWidth'] ? 1 : 0
			} catch (t) {
				var l = 0
			}
			bmak['xagg'] = t + (a << 1) + (e << 2) + (n << 3) + (o << 4) + (m << 5) + (r << 6) + (i << 7) + (k << 8) + (l << 9) + (c << 10) + (b << 11) + (d << 12) + (s << 13)
		},
		bmisc: function() {
			bmak['pen'] = window['_phantom'] ? 1 : 0, bmak['wen'] = window['webdriver'] ? 1 : 0, bmak['den'] = window['domAutomation'] ? 1 : 0
		},
		bd: function() {
			var t = [],
				a = window['callPhantom'] ? 1 : 0;
			t['push'](',cpen:' + a);
			var e = 0;
			window['ActiveXObject'] && 'ActiveXObject' in window && (e = 1), t['push']('i1:' + e);
			var n = 'number' == typeof document['documentMode'] ? 1 : 0;
			t['push']('dm:' + n);
			var o = window['chrome'] && window['chrome']['webstore'] ? 1 : 0;
			t['push']('cwen:' + o);
			var m = navigator['onLine'] ? 1 : 0;
			t['push']('non:' + m);
			var r = window['opera'] ? 1 : 0;
			t['push']('opc:' + r);
			var i = 'undefined' != typeof InstallTrigger ? 1 : 0;
			t['push']('fc:' + i);
			var c = window['HTMLElement'] && Object['prototype']['toString']['call'](window['HTMLElement'])['indexOf']('Constructor') > 0 ? 1 : 0;
			t['push']('sc:' + c);
			var b = 'function' == typeof window['RTCPeerConnection'] || 'function' == typeof window['mozRTCPeerConnection'] || 'function' == typeof window['webkitRTCPeerConnection'] ? 1 : 0;
			t['push']('wrc:' + b);
			var d = 'mozInnerScreenY' in window ? window['mozInnerScreenY'] : 0;
			t['push']('isc:' + d), bmak['d2'] = bmak['pi'](bmak['z1'] / 23);
			var s = 'function' == typeof navigator['vibrate'] ? 1 : 0;
			t['push']('vib:' + s);
			var k = 'function' == typeof navigator['getBattery'] ? 1 : 0;
			t['push']('bat:' + k);
			var l = Array['prototype']['forEach'] ? 0 : 1;
			t['push']('x11:' + l);
			var u = 'FileReader' in window ? 1 : 0;
			return t['push']('x12:' + u), t['join'](',')
		},
		fas: function() {
			try {
				return Boolean(navigator['credentials']) + (Boolean(navigator['appMinorVersion']) << 1) + (Boolean(navigator['bluetooth']) << 2) + (Boolean(navigator['storage']) << 3) + (Boolean(Math['imul']) << 4) + (Boolean(navigator['getGamepads']) << 5) + (Boolean(navigator['getStorageUpdates']) << 6) + (Boolean(navigator['hardwareConcurrency']) << 7) + (Boolean(navigator['mediaDevices']) << 8) + (Boolean(navigator['mozAlarms']) << 9) + (Boolean(navigator['mozConnection']) << 10) + (Boolean(navigator['mozIsLocallyAvailable']) << 11) + (Boolean(navigator['mozPhoneNumberService']) << 12) + (Boolean(navigator['msManipulationViewsEnabled']) << 13) + (Boolean(navigator['permissions']) << 14) + (Boolean(navigator['registerProtocolHandler']) << 15) + (Boolean(navigator['requestMediaKeySystemAccess']) << 16) + (Boolean(navigator['requestWakeLock']) << 17) + (Boolean(navigator['sendBeacon']) << 18) + (Boolean(navigator['serviceWorker']) << 19) + (Boolean(navigator['storeWebWideTrackingException']) << 20) + (Boolean(navigator['webkitGetGamepads']) << 21) + (Boolean(navigator['webkitTemporaryStorage']) << 22) + (Boolean(Number['parseInt']) << 23) + (Boolean(Math['hypot']) << 24)
			} catch (t) {
				return 0
			}
		},
		getmr: function() {
			try {
				if ('undefined' == typeof performance || void 0 === performance['now'] || 'undefined' == typeof JSON) return void(bmak['mr'] = 'undef');
				for (var t = '', a = 1e3, e = [Math['abs'], Math['acos'], Math['asin'], Math['atanh'], Math['cbrt'], Math['exp'], Math['random'], Math['round'], Math['sqrt'], isFinite, isNaN, parseFloat, parseInt, JSON['parse']], n = 0; n < e['length']; n++) {
					var o = [],
						m = 0,
						r = performance['now'](),
						i = 0,
						c = 0;
					if (void 0 !== e[n]) {
						for (i = 0; i < a && m < .6; i++) {
							for (var b = performance['now'](), d = 0; d < 4e3; d++) e[n](3.14);
							var s = performance['now']();
							o['push'](Math['round'](1e3 * (s - b))), m = s - r
						}
						var k = o['sort']();
						c = k[Math['floor'](k['length'] / 2)] / 5
					}
					t = t + c + ','
				}
				bmak['mr'] = t
			} catch (t) {
				bmak['mr'] = 'exception'
			}
		},
		sed: function() {
			var t;
			t = window['$cdc_asdjflasutopfhvcZLmcfl_'] || document['$cdc_asdjflasutopfhvcZLmcfl_'] ? '1' : '0';
			var a;
			a = null != window['document']['documentElement']['getAttribute']('webdriver') ? '1' : '0';
			var e;
			e = void 0 !== navigator['webdriver'] && navigator['webdriver'] ? '1' : '0';
			var n;
			n = void 0 !== window['webdriver'] ? '1' : '0';
			var o;
			o = void 0 !== window['XPathResult'] || void 0 !== document['XPathResult'] ? '1' : '0';
			var m;
			m = null != window['document']['documentElement']['getAttribute']('driver') ? '1' : '0';
			var r;
			return r = null != window['document']['documentElement']['getAttribute']('selenium') ? '1' : '0', [t, a, e, n, o, m, r]['join'](',')
		},
		cma: function(t, a) {
			try {
				if (1 == a && bmak['mme_cnt'] < bmak['mme_cnt_lmt'] || 1 != a && bmak['mduce_cnt'] < bmak['mduce_cnt_lmt']) {
					var e = t || window['event'],
						n = -1,
						o = -1;
					e && e['pageX'] && e['pageY'] ? (n = Math['floor'](e['pageX']), o = Math['floor'](e['pageY'])) : e && e['clientX'] && e['clientY'] && (n = Math['floor'](e['clientX']), o = Math['floor'](e['clientY']));
					var m = e['toElement'];
					null == m && (m = e['target']);
					var r = bmak['gf'](m),
						i = bmak['get_cf_date']() - bmak['start_ts'],
						c = bmak['me_cnt'] + ',' + a + ',' + i + ',' + n + ',' + o;
					if (1 != a) {
						c = c + ',' + r;
						var b = void 0 !== e['which'] ? e['which'] : e['button'];
						null != b && 1 != b && (c = c + ',' + b)
					}
					void 0 !== e['isTrusted'] && !1 === e['isTrusted'] && (c += ',it0'), c += ';', bmak['me_vel'] = bmak['me_vel'] + bmak['me_cnt'] + a + i + n + o, bmak['mact'] = bmak['mact'] + c, bmak['ta'] += i
				}
				1 == a ? bmak['mme_cnt']++ : bmak['mduce_cnt']++, bmak['me_cnt']++, bmak['js_post'] && 3 == a && (bmak['aj_type'] = 1, bmak['bpd'](), bmak['pd'](!0), bmak['ce_js_post'] = 1)
			} catch (t) {}
		},
		x2: function() {
			var t = bmak['ff'],
				a = t(98) + t(109) + t(97) + t(107),
				e = t(103) + t(101) + t(116) + t(95) + t(99) + t(102) + t(95) + t(100) + t(97) + t(116) + t(101),
				n = window[a][e],
				o = 0;
			return 'function' == typeof n && (o = n()), o
		},
		np: function() {
			var t = [],
				a = ['geolocation', 'notifications', 'push', 'midi', 'camera', 'microphone', 'speaker', 'device-info', 'background-sync', 'bluetooth', 'persistent-storage', 'ambient-light-sensor', 'accelerometer', 'gyroscope', 'magnetometer', 'clipboard', 'accessibility-events', 'clipboard-read', 'clipboard-write', 'payment-handler'];
			try {
				if (!navigator['permissions']) return void(bmak['nav_perm'] = 6);
				bmak['nav_perm'] = 8;
				var e = function(a, e) {
					return navigator['permissions']['query']({
						name: a
					})['then'](function(a) {
						switch (a['state']) {
							case 'prompt':
								t[e] = 1;
								break;
							case 'granted':
								t[e] = 2;
								break;
							case 'denied':
								t[e] = 0;
								break;
							default:
								t[e] = 5
						}
					})['catch'](function(a) {
						t[e] = -1 !== a['message']['indexOf']('is not a valid enum value of type PermissionName') ? 4 : 3
					})
				}, n = a['map'](function(t, a) {
					return e(t, a)
				});
				Promise['all'](n)['then'](function() {
					bmak['nav_perm'] = t['join']('')
				})
			} catch (t) {
				bmak['nav_perm'] = 7
			}
		},
		cpa: function(t, a) {
			try {
				var e = !1;
				if (1 == a && bmak['pme_cnt'] < bmak['pme_cnt_lmt'] || 1 != a && bmak['pduce_cnt'] < bmak['pduce_cnt_lmt']) {
					var n = t || window['event'];
					if (n && 'mouse' != n['pointerType']) {
						e = !0;
						var o = -1,
							m = -1;
						n && n['pageX'] && n['pageY'] ? (o = Math['floor'](n['pageX']), m = Math['floor'](n['pageY'])) : n && n['clientX'] && n['clientY'] && (o = Math['floor'](n['clientX']), m = Math['floor'](n['clientY']));
						var r = bmak['get_cf_date']() - bmak['start_ts'],
							i = bmak['pe_cnt'] + ',' + a + ',' + r + ',' + o + ',' + m;
						void 0 !== n['isTrusted'] && !1 === n['isTrusted'] && (i += ',0'), bmak['pe_vel'] = bmak['pe_vel'] + bmak['pe_cnt'] + a + r + o + m, bmak['pact'] = bmak['pact'] + i + ';', bmak['ta'] += r, 1 == a ? bmak['pme_cnt']++ : bmak['pduce_cnt']++
					}
				}
				1 == a ? bmak['pme_cnt']++ : bmak['pduce_cnt']++, bmak['pe_cnt']++, bmak['js_post'] && 3 == a && e && (bmak['aj_type'] = 2, bmak['bpd'](), bmak['pd'](!0), bmak['ce_js_post'] = 1)
			} catch (t) {}
		},
		ab: function(t) {
			if (null == t) return -1;
			try {
				for (var a = 0, e = 0; e < t['length']; e++) {
					var n = t['charCodeAt'](e);
					n < 128 && (a += n)
				}
				return a
			} catch (t) {
				return -2
			}
		},
		ff: function(t) {
			return String['fromCharCode'](t)
		},
		cal_dis: function(t) {
			var a = t[0] - t[1],
				e = t[2] - t[3],
				n = t[4] - t[5],
				o = Math['sqrt'](a * a + e * e + n * n);
			return Math['floor'](o)
		},
		to: function() {
			var t = bmak['x2']() % 1e7;
			bmak['d3'] = t;
			for (var a = t, e = bmak['pi'](bmak['ff'](51)), n = 0; n < 5; n++) {
				var o = bmak['pi'](t / Math['pow'](10, n)) % 10,
					m = o + 1;
				a = bmak['cc'](o)(a, m)
			}
			bmak['o9'] = a * e
		},
		jrs: function(t) {
			for (var a = Math['floor'](1e5 * Math['random']() + 1e4), e = String(t * a), n = 0, o = [], m = e['length'] >= 18; o['length'] < 6;) o['push'](parseInt(e['slice'](n, n + 2))), n = m ? n + 3 : n + 2;
			return [a, bmak['cal_dis'](o)]
		},
		fm: function() {
			var t = ['Monospace', 'Wingdings 2', 'ITC Bodoni 72 Bold', 'Menlo', 'Gill Sans MT', 'Lucida Sans', 'Bodoni 72', 'Serif', 'Shree Devanagari 714', 'Microsoft Tai Le', 'Nimbus Roman No 9 L', 'Candara', 'Press Start 2P', 'Waseem'],
				a = document['createElement']('span');
			a['innerHTML'] = 'mmmmmmmmlli', a['style']['fontSize'] = '192px';
			var e = '',
				n = document['getElementsByTagName']('body')[0];
			if (n) {
				for (var o in t) a['style']['fontFamily'] = t[o], n['appendChild'](a), e += t[o] + ':' + a['offsetWidth'] + ',' + a['offsetHeight'] + ';', n['removeChild'](a);
				bmak['fmh'] = bmak['ats'](bmak['mn_s'](e))
			} else bmak['fmh'] = '';
			bmak['fmz'] = 'devicePixelRatio' in window && void 0 !== window['devicePixelRatio'] ? window['devicePixelRatio'] : -1
		},
		wgl: function() {
			try {
				var t = document['createElement']('canvas'),
					a = t['getContext']('webgl');
				bmak['wv'] = 'n', bmak['wr'] = 'n', bmak['weh'] = 'n', bmak['wl'] = 0, a && (bmak['wv'] = 'b', bmak['wr'] = 'b', bmak['weh'] = 'b', a['getSupportedExtensions']() && (bmak['weh'] = bmak['ats'](bmak['mn_s'](JSON['stringify'](a['getSupportedExtensions']()['sort']()))), bmak['wl'] = a['getSupportedExtensions']()['length'], a['getSupportedExtensions']()['indexOf']('WEBGL_debug_renderer_info') >= 0 && (bmak['wv'] = a['getParameter'](a['getExtension']('WEBGL_debug_renderer_info')['UNMASKED_VENDOR_WEBGL']), bmak['wr'] = a['getParameter'](a['getExtension']('WEBGL_debug_renderer_info')['UNMASKED_RENDERER_WEBGL']))))
			} catch (t) {
				bmak['wv'] = 'e', bmak['wr'] = 'e', bmak['weh'] = 'e', bmak['wl'] = 0
			}
		},
		csh: function() {
			if (window['speechSynthesis']) {
				var t = window['speechSynthesis']['getVoices']();
				if (t['length'] > 0) {
					for (var a = '', e = 0; e < t['length']; e++) a += t[e]['voiceURI'] + '_' + t[e]['lang'];
					bmak['ssh'] = bmak['ats'](bmak['mn_s'](a))
				} else bmak['ssh'] = '0'
			} else bmak['ssh'] = 'n'
		},
		hbs: function() {
			try {
				return Boolean(window['__nightmare']) + (Boolean(window['cdc_adoQpoasnfa76pfcZLmcfl_Array']) << 1) + (Boolean(window['cdc_adoQpoasnfa76pfcZLmcfl_Promise']) << 2) + (Boolean(window['cdc_adoQpoasnfa76pfcZLmcfl_Symbol']) << 3) + (Boolean(window['OSMJIF']) << 4) + (Boolean(window['_Selenium_IDE_Recorder']) << 5) + (Boolean(window['__$webdriverAsyncExecutor']) << 6) + (Boolean(window['__driver_evaluate']) << 7) + (Boolean(window['__driver_unwrapped']) << 8) + (Boolean(window['__fxdriver_evaluate']) << 9) + (Boolean(window['__fxdriver_unwrapped']) << 10) + (Boolean(window['__lastWatirAlert']) << 11) + (Boolean(window['__lastWatirConfirm']) << 12) + (Boolean(window['__lastWatirPrompt']) << 13) + (Boolean(window['__phantomas']) << 14) + (Boolean(window['__selenium_evaluate']) << 15) + (Boolean(window['__selenium_unwrapped']) << 16) + (Boolean(window['__webdriverFuncgeb']) << 17) + (Boolean(window['__webdriver__chr']) << 18) + (Boolean(window['__webdriver_evaluate']) << 19) + (Boolean(window['__webdriver_script_fn']) << 20) + (Boolean(window['__webdriver_script_func']) << 21) + (Boolean(window['__webdriver_script_function']) << 22) + (Boolean(window['__webdriver_unwrapped']) << 23) + (Boolean(window['awesomium']) << 24) + (Boolean(window['callSelenium']) << 25) + (Boolean(window['calledPhantom']) << 26) + (Boolean(window['calledSelenium']) << 27) + (Boolean(window['domAutomationController']) << 28) + (Boolean(window['watinExpressionError']) << 29) + (Boolean(window['watinExpressionResult']) << 30) + (Boolean(window['spynner_additional_js_loaded']) << 31) + (Boolean(document['$chrome_asyncScriptInfo']) << 32) + (Boolean(window['fmget_targets']) << 33) + (Boolean(window['geb']) << 34)
			} catch (t) {
				return 0
			}
		},
		gwd: function() {
			try {
				return navigator['webdriver'] ? navigator['webdriver'] : -1
			} catch (t) {
				return 0
			}
		},
		gf: function(t) {
			var a;
			if (a = null == t ? document['activeElement'] : t, null == document['activeElement']) return -1;
			var e = a['getAttribute']('name');
			if (null == e) {
				var n = a['getAttribute']('id');
				return null == n ? -1 : bmak['ab'](n)
			}
			return bmak['ab'](e)
		},
		cc: function(t) {
			var a = t % 4;
			2 == a && (a = 3);
			var e = 42 + a,
				n = function(t, a) {
					return 0
				};
			if (42 == e) var n = function(t, a) {
				return t * a
			};
			else if (43 == e) var n = function(t, a) {
				return t + a
			};
			else var n = function(t, a) {
				return t - a
			};
			return n
		},
		isIgn: function(t) {
			var a = document['activeElement'];
			if (null == document['activeElement']) return 0;
			var e = a['getAttribute']('type');
			return 1 == (null == e ? -1 : bmak['get_type'](e)) && bmak['fidcnt'] > 12 && -2 == t ? 1 : 0
		},
		cka: function(t, a) {
			try {
				var e = t || window['event'],
					n = -1,
					o = 1;
				if (bmak['ke_cnt'] < bmak['ke_cnt_lmt'] && e) {
					n = e['keyCode'];
					var m = e['charCode'],
						r = e['shiftKey'] ? 1 : 0,
						i = e['ctrlKey'] ? 1 : 0,
						c = e['metaKey'] ? 1 : 0,
						b = e['altKey'] ? 1 : 0,
						d = 8 * r + 4 * i + 2 * c + b,
						s = bmak['get_cf_date']() - bmak['start_ts'],
						k = bmak['gf'](null),
						l = 0;
					m && n && (n = 0 != m && 0 != n && m != n ? -1 : 0 != n ? n : m), 0 == i && 0 == c && 0 == b && n >= 32 && (n = 3 == a && n >= 32 && n <= 126 ? -2 : n >= 33 && n <= 47 ? -3 : n >= 112 && n <= 123 ? -4 : -2), k != bmak['prevfid'] ? (bmak['fidcnt'] = 0, bmak['prevfid'] = k) : bmak['fidcnt'] = bmak['fidcnt'] + 1;
					if (0 == bmak['isIgn'](n)) {
						var u = bmak['ke_cnt'] + ',' + a + ',' + s + ',' + n + ',' + l + ',' + d + ',' + k;
						void 0 !== e['isTrusted'] && !1 === e['isTrusted'] && (u += ',0'), u += ';', bmak['kact'] = bmak['kact'] + u, bmak['ke_vel'] = bmak['ke_vel'] + bmak['ke_cnt'] + a + s + n + d + k, bmak['ta'] += s
					} else o = 0
				}
				o && e && bmak['ke_cnt']++, !bmak['js_post'] || 1 != a || 13 != n && 9 != n || (bmak['aj_type'] = 3, bmak['bpd'](), bmak['pd'](!0), bmak['ce_js_post'] = 1)
			} catch (t) {}
		},
		cta: function(t, a) {
			try {
				if (1 == a && bmak['tme_cnt'] < bmak['tme_cnt_lmt'] || 1 != a && bmak['tduce_cnt'] < bmak['tduce_cnt_lmt']) {
					var e = t || window['event'],
						n = -1,
						o = -1;
					e && e['pageX'] && e['pageY'] ? (n = Math['floor'](e['pageX']), o = Math['floor'](e['pageY'])) : e && e['clientX'] && e['clientY'] && (n = Math['floor'](e['clientX']), o = Math['floor'](e['clientY']));
					var m = bmak['get_cf_date']() - bmak['start_ts'],
						r = bmak['te_cnt'] + ',' + a + ',' + m + ',' + n + ',' + o;
					void 0 !== e['isTrusted'] && !1 === e['isTrusted'] && (r += ',0'), bmak['tact'] = bmak['tact'] + r + ';', bmak['ta'] += m, bmak['te_vel'] = bmak['te_vel'] + bmak['te_cnt'] + a + m + n + o, bmak['doa_throttle'] = 0, bmak['dma_throttle'] = 0
				}
				1 == a ? bmak['tme_cnt']++ : bmak['tduce_cnt']++, bmak['te_cnt']++, bmak['js_post'] && 2 == a && bmak['aj_indx_tact'] < bmak['aj_lmt_tact'] && (bmak['aj_type'] = 5, bmak['bpd'](), bmak['pd'](!0), bmak['ce_js_post'] = 1, bmak['aj_indx_tact']++)
			} catch (t) {}
		},
		getFloatVal: function(t) {
			try {
				if (-1 != bmak['chknull'](t) && !isNaN(t)) {
					var a = parseFloat(t);
					if (!isNaN(a)) return a['toFixed'](2)
				}
			} catch (t) {}
			return -1
		},
		cdoa: function(t) {
			try {
				if (bmak['doe_cnt'] < bmak['doe_cnt_lmt'] && bmak['doa_throttle'] < 2 && t) {
					var a = bmak['get_cf_date']() - bmak['start_ts'],
						e = bmak['getFloatVal'](t['alpha']),
						n = bmak['getFloatVal'](t['beta']),
						o = bmak['getFloatVal'](t['gamma']),
						m = bmak['doe_cnt'] + ',' + a + ',' + e + ',' + n + ',' + o;
					void 0 !== t['isTrusted'] && !1 === t['isTrusted'] && (m += ',0'), bmak['doact'] = bmak['doact'] + m + ';', bmak['ta'] += a, bmak['doe_vel'] = bmak['doe_vel'] + bmak['doe_cnt'] + a, bmak['doe_cnt']++
				}
				bmak['js_post'] && bmak['doe_cnt'] > 1 && bmak['aj_indx_doact'] < bmak['aj_lmt_doact'] && (bmak['aj_type'] = 6, bmak['bpd'](), bmak['pd'](!0), bmak['ce_js_post'] = 1, bmak['aj_indx_doact']++), bmak['doa_throttle']++
			} catch (t) {}
		},
		cdma: function(t) {
			try {
				if (bmak['dme_cnt'] < bmak['dme_cnt_lmt'] && bmak['dma_throttle'] < 2 && t) {
					var a = bmak['get_cf_date']() - bmak['start_ts'],
						e = -1,
						n = -1,
						o = -1;
					t['acceleration'] && (e = bmak['getFloatVal'](t['acceleration']['x']), n = bmak['getFloatVal'](t['acceleration']['y']), o = bmak['getFloatVal'](t['acceleration']['z']));
					var m = -1,
						r = -1,
						i = -1;
					t['accelerationIncludingGravity'] && (m = bmak['getFloatVal'](t['accelerationIncludingGravity']['x']), r = bmak['getFloatVal'](t['accelerationIncludingGravity']['y']), i = bmak['getFloatVal'](t['accelerationIncludingGravity']['z']));
					var c = -1,
						b = -1,
						d = 1;
					t['rotationRate'] && (c = bmak['getFloatVal'](t['rotationRate']['alpha']), b = bmak['getFloatVal'](t['rotationRate']['beta']), d = bmak['getFloatVal'](t['rotationRate']['gamma']));
					var s = bmak['dme_cnt'] + ',' + a + ',' + e + ',' + n + ',' + o + ',' + m + ',' + r + ',' + i + ',' + c + ',' + b + ',' + d;
					void 0 !== t['isTrusted'] && !1 === t['isTrusted'] && (s += ',0'), bmak['dmact'] = bmak['dmact'] + s + ';', bmak['ta'] += a, bmak['dme_vel'] = bmak['dme_vel'] + bmak['dme_cnt'] + a, bmak['dme_cnt']++
				}
				bmak['js_post'] && bmak['dme_cnt'] > 1 && bmak['aj_indx_dmact'] < bmak['aj_lmt_dmact'] && (bmak['aj_type'] = 7, bmak['bpd'](), bmak['pd'](!0), bmak['ce_js_post'] = 1, bmak['aj_indx_dmact']++), bmak['dma_throttle']++
			} catch (t) {}
		},
		get_type: function(t) {
			return t = t['toLowerCase'](), 'text' == t || 'search' == t || 'url' == t || 'email' == t || 'tel' == t || 'number' == t ? 0 : 'password' == t ? 1 : 2
		},
		chknull: function(t) {
			return null == t ? -1 : t
		},
		getforminfo: function() {
			for (var t = '', a = '', e = document['getElementsByTagName']('input'), n = -1, o = 0; o < e['length']; o++) {
				var m = e[o],
					r = bmak['ab'](m['getAttribute']('name')),
					i = bmak['ab'](m['getAttribute']('id')),
					c = m['getAttribute']('required'),
					b = null == c ? 0 : 1,
					d = m['getAttribute']('type'),
					s = null == d ? -1 : bmak['get_type'](d),
					k = m['getAttribute']('autocomplete');
				null == k ? n = -1 : (k = k['toLowerCase'](), n = 'off' == k ? 0 : 'on' == k ? 1 : 2);
				var l = m['defaultValue'],
					u = m['value'],
					_ = 0,
					f = 0;
				l && 0 != l['length'] && (f = 1), !u || 0 == u['length'] || f && u == l || (_ = 1), 2 != s && (t = t + s + ',' + n + ',' + _ + ',' + b + ',' + i + ',' + r + ',' + f + ';'), a = a + _ + ';'
			}
			return null == bmak['ins'] && (bmak['ins'] = a), bmak['cns'] = a, t
		},
		startdoadma: function() {
			0 == bmak['doadma_en'] && window['addEventListener'] && (window['addEventListener']('deviceorientation', bmak['cdoa'], !0), window['addEventListener']('devicemotion', bmak['cdma'], !0), bmak['doadma_en'] = 1), bmak['doa_throttle'] = 0, bmak['dma_throttle'] = 0
		},
		updatet: function() {
			return bmak['get_cf_date']() - bmak['start_ts']
		},
		htm: function(t) {
			bmak['cta'](t, 1)
		},
		hts: function(t) {
			bmak['cta'](t, 2)
		},
		hte: function(t) {
			bmak['cta'](t, 3)
		},
		htc: function(t) {
			bmak['cta'](t, 4)
		},
		hmm: function(t) {
			bmak['cma'](t, 1)
		},
		hc: function(t) {
			bmak['cma'](t, 2)
		},
		hmd: function(t) {
			bmak['cma'](t, 3)
		},
		hmu: function(t) {
			bmak['cma'](t, 4)
		},
		hpd: function(t) {
			bmak['cpa'](t, 3)
		},
		hpu: function(t) {
			bmak['cpa'](t, 4)
		},
		hkd: function(t) {
			bmak['cka'](t, 1)
		},
		hku: function(t) {
			bmak['cka'](t, 2)
		},
		hkp: function(t) {
			bmak['cka'](t, 3)
		},
		form_submit: function() {
			try {
				if (bmak['bpd'](), 0 == bmak['sdfn']['length']) {
					if (document['getElementById']('bm-telemetry') && (document['getElementById']('bm-telemetry')['value'] = bmak['sensor_data']), void 0 !== document['getElementsByName']('bm-telemetry')) for (var t = document['getElementsByName']('bm-telemetry'), a = 0; a < t['length']; a++) t[a]['value'] = bmak['sensor_data']
				} else for (var a = 0; a < bmak['sdfn']['length']; a++) document['getElementById'](bmak['sdfn'][a]) && (document['getElementById'](bmak['sdfn'][a])['value'] = bmak['sensor_data'])
			} catch (t) {
				bmak['sd_debug'](',s7:' + t + ',' + bmak['sensor_data'])
			}
		},
		get_telemetry: function() {
			return bmak['bpd'](), bmak['ir'](), bmak['sensor_data']
		},
		getdurl: function() {
			return bmak['enReadDocUrl'] ? document['URL']['replace'](/\\|"/g, '') : ''
		},
		x1: function() {
			return Math['floor'](16777216 * (1 + Math['random']()))['toString'](36)
		},
		gck: function() {
			var t = bmak['x1']() + bmak['x1']() + bmak['x1']() + bmak['x1']();
			return bmak['set_cookie'](bmak['ckie'], t + '_' + bmak['ab'](t)), t
		},
		set_cookie: function(t, a) {
			void 0 !== document['cookie'] && (document['cookie'] = t + '=' + a + '; path=/; expires=Fri, 01 Feb 2025 08:00:00 GMT;')
		},
		get_cookie: function() {
			var t = '0';
			try {
				var t = bmak['cookie_chk_read'](bmak['ckie']);
				t || (bmak['n_ck'] = 1, t = bmak['bm'] ? '2' : '1')
			} catch (t) {}
			return t
		},
		cookie_chk_read: function(t) {
			if (document['cookie']) for (var a = t + '=', e = document['cookie']['split']('; '), n = 0; n < e['length']; n++) {
				var o = e[n];
				if (0 === o['indexOf'](a)) {
					var m = o['substring'](a['length'], o['length']);
					if (-1 != m['indexOf']('~') || -1 != decodeURIComponent(m)['indexOf']('~')) return m
				}
			}
			return !1
		},
		build_pua: function() {
			try {
				navigator['userAgentData']['getHighEntropyValues'](['architecture', 'model', 'platform', 'platformVersion', 'uaFullVersion', 'bitness'])['then'](function(t) {
					var a = [];
					a['push']('Mozilla/5.0 (');
					var e = [];
					e['push'](t['platform'], t['platformVersion'], t['architecture'], t['bitness'], t['model']), a['push'](e['join'](';') + ')'), a['push'](' AppleWebKit/537.36 (KHTML, like Gecko) Chrome/'), a['push'](t['uaFullVersion']), navigator['userAgentData']['mobile'] && a['push'](' Mobile'), a['push'](' Safari/537.36'), bmak['pua'] = a['join']('')
				})
			} catch (t) {
				bmak['pua'] = ''
			}
		},
		isChrome: function() {
			try {
				if (void 0 !== navigator['userAgentData']['brands']) return navigator['userAgentData']['brands']['some'](function(t) {
					return 'Google Chrome' == t['brand']
				})
			} catch (t) {
				return !1
			}
			return !1
		},
		bpd: function() {
			bmak['sd_debug']('<bpd>');
			var t = 0;
			try {
				t = bmak['get_cf_date']();
				var a = bmak['updatet'](),
					e = '3';
				bmak['ckie'] && (e = bmak['get_cookie']());
				var n = bmak['gd'](),
					o = window['DeviceOrientationEvent'] ? 'do_en' : 'do_dis',
					m = window['DeviceMotionEvent'] ? 'dm_en' : 'dm_dis',
					r = window['TouchEvent'] ? 't_en' : 't_dis',
					i = o + ',' + m + ',' + r,
					c = bmak['getforminfo'](),
					b = bmak['getdurl'](),
					d = bmak['aj_type'] + ',' + bmak['aj_indx'];
				!bmak['fpcf']['fpValCalculated'] && (0 == bmak['js_post'] || bmak['aj_indx'] > 0) && bmak['fpcf']['fpVal']();
				var s = bmak['ke_vel'] + bmak['me_vel'] + bmak['doe_vel'] + bmak['dme_vel'] + bmak['te_vel'] + bmak['pe_vel'],
					k = bmak['ff'],
					l = k(80) + k(105) + k(90) + k(116) + k(69),
					u = bmak['jrs'](bmak['start_ts']),
					_ = bmak['get_cf_date']() - bmak['start_ts'],
					f = bmak['pi'](bmak['d2'] / 6),
					p = bmak['fas'](),
					h = bmak['hbs'](),
					v = bmak['gwd'](),
					g = [bmak['ke_vel'] + 1, bmak['me_vel'] + 32, bmak['te_vel'] + 32, bmak['doe_vel'], bmak['dme_vel'], bmak['pe_vel'], s, a, bmak['init_time'], bmak['start_ts'], bmak['fpcf']['td'], bmak['d2'], bmak['ke_cnt'], bmak['me_cnt'], f, bmak['pe_cnt'], bmak['te_cnt'], _, bmak['ta'], bmak['n_ck'], e, bmak['ab'](e), bmak['fpcf']['rVal'], bmak['fpcf']['rCFP'], p, l, u[0], u[1], h, v],
					w = g['join'](','),
					y = '' + bmak['ab'](bmak['fpcf']['fpValstr']);
				bmak['firstLoad'] ? bmak['np']() : bmak['csh'](), !bmak['hbCalc'] && (0 == bmak['js_post'] || bmak['aj_indx'] > 0) && (setTimeout(bmak['fm'], 4e3), setTimeout(bmak['wgl'], 4e3), bmak['hbCalc'] = !0);
				var E = '';
				bmak['hbCalc'] && (E = bmak['fmh'] + ',' + bmak['fmz'] + ',' + bmak['ssh'] + ',' + bmak['wv'] + ',' + bmak['wr'] + ',' + bmak['weh'] + ',' + bmak['wl']);
				var S = bmak['sed'](),
					C = bmak['mn_get_current_challenges'](),
					A = '',
					B = '',
					x = '';
				if (void 0 !== C[1]) {
					var M = C[1];
					void 0 !== bmak['mn_r'][M] && (A = bmak['mn_r'][M])
				}
				if (void 0 !== C[2]) {
					var j = C[2];
					void 0 !== bmak['mn_r'][j] && (B = bmak['mn_r'][j])
				}
				if (void 0 !== C[3]) {
					var L = C[3];
					void 0 !== bmak['mn_r'][L] && (x = bmak['mn_r'][L])
				}
				void 0 !== navigator['userAgentData'] && bmak['isChrome']() && bmak['build_pua'](), bmak['sensor_data'] = bmak['ver'] + '-1,2,-94,-100,' + n + '-1,2,-94,-131,' + bmak['pua'] + '-1,2,-94,-101,' + i + '-1,2,-94,-105,' + bmak['informinfo'] + '-1,2,-94,-102,' + c + '-1,2,-94,-108,' + bmak['kact'] + '-1,2,-94,-110,' + bmak['mact'] + '-1,2,-94,-117,' + bmak['tact'] + '-1,2,-94,-111,' + bmak['doact'] + '-1,2,-94,-109,' + bmak['dmact'] + '-1,2,-94,-114,' + bmak['pact'] + '-1,2,-94,-103,' + bmak['vcact'] + '-1,2,-94,-112,' + b + '-1,2,-94,-115,' + w + '-1,2,-94,-106,' + d, bmak['sensor_data'] = bmak['sensor_data'] + '-1,2,-94,-119,' + bmak['mr'] + '-1,2,-94,-122,' + S + '-1,2,-94,-123,' + A + '-1,2,-94,-124,' + B + '-1,2,-94,-126,' + x + '-1,2,-94,-127,' + bmak['nav_perm'];
				var P = 24 ^ bmak['ab'](bmak['sensor_data']);
				bmak['sensor_data'] = bmak['sensor_data'] + '-1,2,-94,-70,' + bmak['fpcf']['fpValstr'] + '-1,2,-94,-80,' + y + '-1,2,-94,-116,' + bmak['o9'] + '-1,2,-94,-118,' + P + '-1,2,-94,-129,' + E + '-1,2,-94,-121,', bmak['sd_debug'](',s1:' + bmak['sensor_data']['slice'](0, 10))
			} catch (t) {
				var T = '';
				try {
					t['stack'] && 'string' == typeof t['stack'] ? T = t['stack']['replace'](/\"/g, '\'') : 'string' == typeof t && (T = t['replace'](/\"/g, '\'')), T = T['slice'](0, 1e3), bmak['sd_debug'](',s2:' + T), bmak['sensor_data'] = bmak['ver'] + '-1,2,-94,-100,' + bmak['uar']() + '-1,2,-94,-120,' + T
				} catch (t) {
					t['stack'] && 'string' == typeof t['stack'] ? T = t['stack']['replace'](/\"/g, '\'') : 'string' == typeof t && (T = t['replace'](/\"/g, '\'')), T = T['slice'](0, 1e3), bmak['sd_debug'](',s3:' + T), bmak['sensor_data'] = bmak['ver'] + bmak['sensor_data'] + ',s3:' + T
				}
			}
			try {
				var F = bmak['od'](bmak['cs'], bmak['api_public_key'])['slice'](0, 16),
					D = Math['floor'](bmak['get_cf_date']() / 36e5),
					N = bmak['get_cf_date'](),
					R = F + bmak['od'](D, F) + bmak['sensor_data'];
				bmak['sensor_data'] = R + ';' + (bmak['get_cf_date']() - t) + ';' + bmak['tst'] + ';' + (bmak['get_cf_date']() - N)
			} catch (t) {}
			bmak['sd_debug']('</bpd>')
		},
		od: function(t, a) {
			try {
				t = String(t), a = String(a);
				var e = [],
					n = a['length'];
				if (n > 0) {
					for (var o = 0; o < t['length']; o++) {
						var m = t['charCodeAt'](o),
							r = t['charAt'](o),
							i = a['charCodeAt'](o % n);
						m = bmak['rir'](m, 47, 57, i), m != t['charCodeAt'](o) && (r = String['fromCharCode'](m)), e['push'](r)
					}
					if (e['length'] > 0) return e['join']('')
				}
			} catch (t) {}
			return t
		},
		rir: function(t, a, e, n) {
			return t > a && t <= e && (t += n % (e - a)) > e && (t = t - e + a), t
		},
		lvc: function(t) {
			try {
				if (bmak['vc_cnt'] < bmak['vc_cnt_lmt']) {
					var a = bmak['get_cf_date']() - bmak['start_ts'],
						e = t + ',' + a + ';';
					bmak['vcact'] = bmak['vcact'] + e
				}
				bmak['vc_cnt']++
			} catch (t) {}
		},
		hvc: function() {
			try {
				var t = 1;
				document[bmak['hn']] && (t = 0), bmak['lvc'](t)
			} catch (t) {}
		},
		hb: function(t) {
			bmak['lvc'](2)
		},
		hf: function(t) {
			bmak['lvc'](3)
		},
		rve: function() {
			void 0 !== document['hidden'] ? (bmak['hn'] = 'hidden', bmak['vc'] = 'visibilitychange') : void 0 !== document['mozHidden'] ? (bmak['hn'] = 'mozHidden', bmak['vc'] = 'mozvisibilitychange') : void 0 !== document['msHidden'] ? (bmak['hn'] = 'msHidden', bmak['vc'] = 'msvisibilitychange') : void 0 !== document['webkitHidden'] && (bmak['hn'] = 'webkitHidden', bmak['vc'] = 'webkitvisibilitychange'), document['addEventListener'] ? 'unk' != bmak['hn'] && document['addEventListener'](bmak['vc'], bmak['hvc'], !0) : document['attachEvent'] && 'unk' != bmak['hn'] && document['attachEvent'](bmak['vc'], bmak['hvc']), window['onblur'] = bmak['hb'], window['onfocus'] = bmak['hf']
		},
		startTracking: function() {
			bmak['startdoadma']();
			try {
				bmak['to']()
			} catch (t) {
				bmak['o9'] = -654321
			}
			setInterval(function() {
				bmak['startdoadma']()
			}, 3e3), document['addEventListener'] ? (document['addEventListener']('touchmove', bmak['htm'], !0), document['addEventListener']('touchstart', bmak['hts'], !0), document['addEventListener']('touchend', bmak['hte'], !0), document['addEventListener']('touchcancel', bmak['htc'], !0), document['addEventListener']('mousemove', bmak['hmm'], !0), document['addEventListener']('click', bmak['hc'], !0), document['addEventListener']('mousedown', bmak['hmd'], !0), document['addEventListener']('mouseup', bmak['hmu'], !0), document['addEventListener']('pointerdown', bmak['hpd'], !0), document['addEventListener']('pointerup', bmak['hpu'], !0), document['addEventListener']('keydown', bmak['hkd'], !0), document['addEventListener']('keyup', bmak['hku'], !0), document['addEventListener']('keypress', bmak['hkp'], !0)) : document['attachEvent'] && (document['attachEvent']('touchmove', bmak['htm']), document['attachEvent']('touchstart', bmak['hts']), document['attachEvent']('touchend', bmak['hte']), document['attachEvent']('touchcancel', bmak['htc']), document['attachEvent']('onmousemove', bmak['hmm']), document['attachEvent']('onclick', bmak['hc']), document['attachEvent']('onmousedown', bmak['hmd']), document['attachEvent']('onmouseup', bmak['hmu']), document['attachEvent']('onpointerdown', bmak['hpd']), document['attachEvent']('onpointerup', bmak['hpu']), document['attachEvent']('onkeydown', bmak['hkd']), document['attachEvent']('onkeyup', bmak['hku']), document['attachEvent']('onkeypress', bmak['hkp'])), bmak['rve'](), bmak['informinfo'] = bmak['getforminfo'](), bmak['js_post'] && (bmak['aj_type'] = 0, bmak['bpd'](), bmak['pd'](!0)), bmak['firstLoad'] = !1
		},
		gb: function(t, a) {
			var e = t['charCodeAt'](a);
			return e = e > 255 ? 0 : e
		},
		encode: function(t) {
			if ('undefined' != typeof btoa) return btoa(t);
			for (var a, e, n, o, m, r, i, c = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/', b = '', d = 3 * Math['floor'](t['length'] / 3), s = 0; s < d; s += 3) a = bmak['gb'](t, s), e = bmak['gb'](t, s + 1), n = bmak['gb'](t, s + 2), o = a >> 2, m = ((3 & a) << 4) + (e >> 4), r = ((15 & e) << 2) + (n >> 6), i = 63 & n, b = b + c['charAt'](o) + c['charAt'](m) + c['charAt'](r) + c['charAt'](i);
			return t['length'] % 3 == 1 && (a = bmak['gb'](t, s), o = a >> 2, m = (3 & a) << 4, b = b + c['charAt'](o) + c['charAt'](m) + '=='), t['length'] % 3 == 2 && (a = bmak['gb'](t, s), e = bmak['gb'](t, s + 1), o = a >> 2, m = ((3 & a) << 4) + (e >> 4), r = (15 & e) << 2, b = b + c['charAt'](o) + c['charAt'](m) + c['charAt'](r) + '='), b
		},
		ie9OrLower: function() {
			try {
				if ('string' == typeof navigator['appVersion'] && -1 != navigator['appVersion']['indexOf']('MSIE')) {
					if (parseFloat(navigator['appVersion']['split']('MSIE')[1]) <= 9) return !0
				}
			} catch (t) {}
			return !1
		},
		parse_gp: function(t) {},
		call_gp: function() {
			var t;
			void 0 !== window['XMLHttpRequest'] ? t = new XMLHttpRequest : void 0 !== window['XDomainRequest'] ? (t = new XDomainRequest, t['onload'] = function() {
				this['readyState'] = 4, this['onreadystatechange'] instanceof Function && this['onreadystatechange']()
			}) : t = new ActiveXObject('Microsoft.XMLHTTP'), t['open']('GET', bmak['params_url'], !0), t['onreadystatechange'] = function() {
				t['readyState'] > 3 && bmak['parse_gp'] && bmak['parse_gp'](t)
			}, t['send']()
		},
		apicall: function(t, a) {
			var e;
			e = window['XDomainRequest'] ? new XDomainRequest : window['XMLHttpRequest'] ? new XMLHttpRequest : new ActiveXObject('Microsoft.XMLHTTP'), e['open']('POST', t, a);
			var n = bmak['encode'](bmak['api_public_key'] + ':');
			bmak['auth'] = ',"auth" : "' + n + '"', e['setRequestHeader'] && (e['setRequestHeader']('Content-type', 'application/json'), e['setRequestHeader']('Authorization', 'Basic ' + n), bmak['auth'] = '');
			var o = '{"session_id" : "' + bmak['session_id'] + '","sensor_data" : "' + bmak['sensor_data'] + '"' + bmak['auth'] + '}';
			e['send'](o)
		},
		apicall_bm: function(t, a, e) {
			var n;
			void 0 !== window['XMLHttpRequest'] ? n = new XMLHttpRequest : void 0 !== window['XDomainRequest'] ? (n = new XDomainRequest, n['onload'] = function() {
				this['readyState'] = 4, this['onreadystatechange'] instanceof Function && this['onreadystatechange']()
			}) : n = new ActiveXObject('Microsoft.XMLHTTP'), n['open']('POST', t, a), void 0 !== n['withCredentials'] && (n['withCredentials'] = !0);
			var o = '{"sensor_data":"' + bmak['sensor_data'] + '"}';
			n['onreadystatechange'] = function() {
				n['readyState'] > 3 && e && e(n)
			}, n['send'](o), bmak['dcs'] = 0
		},
		pd: function(t) {
			bmak['check_stop_protocol']() || bmak['check_ipr_signals']() ? (bmak['apicall_bm'](bmak['cf_url'], t, bmak['patp']), bmak['aj_indx'] = bmak['aj_indx'] + 1) : bmak['loap'] && bmak['dcs'] && bmak['apicall_bm'](bmak['cf_url'], t, bmak['patp'])
		},
		check_stop_protocol: function() {
			var t = bmak['get_stop_signals'](),
				a = t[0];
			!bmak['rst'] && a > -1 && (bmak['ir'](), bmak['rst'] = !0);
			var e = t[1];
			return -1 == e || bmak['aj_ss'] < e
		},
		check_ipr_signals: function() {
			var t = -1;
			if (bmak['ipr']) try {
				t = Date['now'] ? Date['now']() : +new Date, t = bmak['pi'](t / 1e3) - bmak['get_heartbeat_timestamp']()
			} catch (t) {}
			return t > 0
		},
		get_heartbeat_timestamp: function() {
			var t = Number['MAX_VALUE'],
				a = bmak['cookie_chk_read'](bmak['ckie']);
			if (!1 !== a) try {
				var e = decodeURIComponent(a)['split']('~');
				if (e['length'] > 5) {
					var n = bmak['pi'](e[5]);
					n = isNaN(n) || -1 == n ? Number['MAX_VALUE'] : n, t = n
				}
			} catch (t) {}
			return t
		},
		get_stop_signals: function() {
			var t = [-1, -1],
				a = bmak['cookie_chk_read'](bmak['ckie']);
			if (!1 !== a) try {
				var e = decodeURIComponent(a)['split']('~');
				if (e['length'] >= 4) {
					var n = bmak['pi'](e[1]),
						o = bmak['pi'](e[3]);
					n = isNaN(n) ? -1 : n, o = isNaN(o) ? -1 : o, t = [o, n]
				}
			} catch (t) {}
			return t
		},
		patp: function(t) {
			bmak['aj_ss']++, bmak['rst'] = !1
		},
		get_mn_params_from_abck: function() {
			var t = [
				[]
			];
			try {
				var a = bmak['cookie_chk_read'](bmak['ckie']);
				if (!1 !== a) {
					var e = decodeURIComponent(a)['split']('~');
					if (e['length'] >= 5) {
						var n = e[0],
							o = e[4],
							m = o['split']('||');
						if (m['length'] > 0) for (var r = 0; r < m['length']; r++) {
							var i = m[r],
								c = i['split']('-');
							if (1 == c['length'] && '0' == c[0] && (bmak['pdet'] = !1), c['length'] >= 5) {
								var b = bmak['pi'](c[0]),
									d = c[1],
									s = bmak['pi'](c[2]),
									k = bmak['pi'](c[3]),
									l = bmak['pi'](c[4]),
									u = 1;
								c['length'] >= 6 && (u = bmak['pi'](c[5]));
								var _ = [b, n, d, s, k, l, u];
								2 == u ? t['splice'](0, 0, _) : t['push'](_)
							}
						}
					}
				}
			} catch (t) {}
			return t
		},
		mn_get_current_challenges: function() {
			var t = bmak['get_mn_params_from_abck'](),
				a = [];
			if (null != t) for (var e = 0; e < t['length']; e++) {
				var n = t[e];
				if (n['length'] > 0) {
					var o = n[1] + n[2],
						m = n[6];
					a[m] = o
				}
			}
			return a
		},
		mn_update_challenge_details: function(t) {
			bmak['mn_sen'] = t[0], bmak['mn_abck'] = t[1], bmak['mn_psn'] = t[2], bmak['mn_cd'] = t[3], bmak['mn_tout'] = t[4], bmak['mn_stout'] = t[5], bmak['mn_ct'] = t[6], bmak['mn_ts'] = bmak['start_ts'], bmak['mn_cc'] = bmak['mn_abck'] + bmak['start_ts'] + bmak['mn_psn']
		},
		mn_get_new_challenge_params: function(t) {
			var a = null,
				e = null,
				n = null;
			if (null != t) for (var o = 0; o < t['length']; o++) {
				var m = t[o];
				if (m['length'] > 0) {
					for (var r = m[0], i = bmak['mn_abck'] + bmak['start_ts'] + m[2], c = (m[3], m[6]), b = 0; b < bmak['mn_lcl'] && (1 == r && bmak['mn_lc'][b] != i); b++);
					b == bmak['mn_lcl'] && (a = o, 2 == c && (e = o), 3 == c && (n = o))
				}
			}
			return null != n && bmak['pstate'] ? t[n] : null == e || bmak['pstate'] ? null == a || bmak['pstate'] ? null : t[a] : t[e]
		},
		mn_poll: function() {
			if (0 == bmak['mn_state'] && (bmak['pstate'] || bmak['pdet'])) {
				var t = bmak['get_mn_params_from_abck'](),
					a = bmak['mn_get_new_challenge_params'](t);
				null != a && (bmak['mn_update_challenge_details'](a), bmak['mn_sen'] && (bmak['mn_state'] = 1, bmak['mn_mc_indx'] = 0, bmak['mn_al'] = [], bmak['mn_il'] = [], bmak['mn_tcl'] = [], bmak['mn_lg'] = [], bmak['mn_rts'] = bmak['get_cf_date'](), bmak['mn_rt'] = bmak['mn_rts'] - bmak['start_ts'], bmak['mn_wt'] = 0, setTimeout(bmak['mn_w'], bmak['mn_tout'])))
			}
		},
		rotate_right: function(t, a) {
			return t >>> a | t << 32 - a
		},
		encode_utf8: function(t) {
			return unescape(encodeURIComponent(t))
		},
		mn_s: function(t) {
			var a = [1116352408, 1899447441, 3049323471, 3921009573, 961987163, 1508970993, 2453635748, 2870763221, 3624381080, 310598401, 607225278, 1426881987, 1925078388, 2162078206, 2614888103, 3248222580, 3835390401, 4022224774, 264347078, 604807628, 770255983, 1249150122, 1555081692, 1996064986, 2554220882, 2821834349, 2952996808, 3210313671, 3336571891, 3584528711, 113926993, 338241895, 666307205, 773529912, 1294757372, 1396182291, 1695183700, 1986661051, 2177026350, 2456956037, 2730485921, 2820302411, 3259730800, 3345764771, 3516065817, 3600352804, 4094571909, 275423344, 430227734, 506948616, 659060556, 883997877, 958139571, 1322822218, 1537002063, 1747873779, 1955562222, 2024104815, 2227730452, 2361852424, 2428436474, 2756734187, 3204031479, 3329325298],
				e = 1779033703,
				n = 3144134277,
				o = 1013904242,
				m = 2773480762,
				r = 1359893119,
				i = 2600822924,
				c = 528734635,
				b = 1541459225,
				d = bmak['encode_utf8'](t),
				s = 8 * d['length'];
			d += String['fromCharCode'](128);
			for (var k = d['length'] / 4 + 2, l = Math['ceil'](k / 16), u = new Array(l), _ = 0; _ < l; _++) {
				u[_] = new Array(16);
				for (var f = 0; f < 16; f++) u[_][f] = d['charCodeAt'](64 * _ + 4 * f) << 24 | d['charCodeAt'](64 * _ + 4 * f + 1) << 16 | d['charCodeAt'](64 * _ + 4 * f + 2) << 8 | d['charCodeAt'](64 * _ + 4 * f + 3) << 0
			}
			var p = s / Math['pow'](2, 32);
			u[l - 1][14] = Math['floor'](p), u[l - 1][15] = s;
			for (var h = 0; h < l; h++) {
				for (var v, g = new Array(64), w = e, y = n, E = o, S = m, C = r, v = i, A = c, B = b, _ = 0; _ < 64; _++) {
					var x, M, j, L, P, T;
					_ < 16 ? g[_] = u[h][_] : (x = bmak['rotate_right'](g[_ - 15], 7) ^ bmak['rotate_right'](g[_ - 15], 18) ^ g[_ - 15] >>> 3, M = bmak['rotate_right'](g[_ - 2], 17) ^ bmak['rotate_right'](g[_ - 2], 19) ^ g[_ - 2] >>> 10, g[_] = g[_ - 16] + x + g[_ - 7] + M), M = bmak['rotate_right'](C, 6) ^ bmak['rotate_right'](C, 11) ^ bmak['rotate_right'](C, 25), j = C & v ^ ~C & A, L = B + M + j + a[_] + g[_], x = bmak['rotate_right'](w, 2) ^ bmak['rotate_right'](w, 13) ^ bmak['rotate_right'](w, 22), P = w & y ^ w & E ^ y & E, T = x + P, B = A, A = v, v = C, C = S + L >>> 0, S = E, E = y, y = w, w = L + T >>> 0
				}
				e += w, n += y, o += E, m += S, r += C, i += v, c += A, b += B
			}
			return [e >> 24 & 255, e >> 16 & 255, e >> 8 & 255, 255 & e, n >> 24 & 255, n >> 16 & 255, n >> 8 & 255, 255 & n, o >> 24 & 255, o >> 16 & 255, o >> 8 & 255, 255 & o, m >> 24 & 255, m >> 16 & 255, m >> 8 & 255, 255 & m, r >> 24 & 255, r >> 16 & 255, r >> 8 & 255, 255 & r, i >> 24 & 255, i >> 16 & 255, i >> 8 & 255, 255 & i, c >> 24 & 255, c >> 16 & 255, c >> 8 & 255, 255 & c, b >> 24 & 255, b >> 16 & 255, b >> 8 & 255, 255 & b]
		},
		mn_init: function() {
			var t = 200;
			bmak['pstate'] && (t = 100), setInterval(bmak['mn_poll'], t)
		},
		bdm: function(t, a) {
			for (var e = 0, n = 0; n < t['length']; ++n) e = (e << 8 | t[n]) >>> 0, e %= a;
			return e
		},
		mn_w: function() {
			try {
				for (var t = 0, a = 0, e = 0, n = '', o = bmak['get_cf_date'](), m = bmak['mn_cd'] + bmak['mn_mc_indx']; 0 == t;) {
					n = Math['random']()['toString'](16);
					var r = bmak['mn_cc'] + m['toString']() + n,
						i = bmak['mn_s'](r);
					if (0 == bmak['bdm'](i, m)) t = 1, e = bmak['get_cf_date']() - o, bmak['mn_al']['push'](n), bmak['mn_tcl']['push'](e), bmak['mn_il']['push'](a), 0 == bmak['mn_mc_indx'] && (bmak['mn_lg']['push'](bmak['mn_abck']), bmak['mn_lg']['push'](bmak['mn_ts']), bmak['mn_lg']['push'](bmak['mn_psn']), bmak['mn_lg']['push'](bmak['mn_cc']), bmak['mn_lg']['push'](bmak['mn_cd']['toString']()), bmak['mn_lg']['push'](m['toString']()), bmak['mn_lg']['push'](n), bmak['mn_lg']['push'](r), bmak['mn_lg']['push'](i), bmak['mn_lg']['push'](bmak['mn_rt']));
					else if ((a += 1) % 1e3 == 0 && (e = bmak['get_cf_date']() - o) > bmak['mn_stout']) return bmak['mn_wt'] += e, void setTimeout(bmak['mn_w'], bmak['mn_stout'])
				}
				bmak['mn_mc_indx'] += 1, bmak['mn_mc_indx'] < bmak['mn_mc_lmt'] ? setTimeout(bmak['mn_w'], e) : (bmak['mn_mc_indx'] = 0, bmak['mn_lc'][bmak['mn_lcl']] = bmak['mn_cc'], bmak['mn_ld'][bmak['mn_lcl']] = bmak['mn_cd'], bmak['mn_lcl'] = bmak['mn_lcl'] + 1, bmak['mn_state'] = 0, bmak['mn_lg']['push'](bmak['mn_wt']), bmak['mn_lg']['push'](bmak['get_cf_date']()), bmak['mn_r'][bmak['mn_abck'] + bmak['mn_psn']] = bmak['mn_pr'](), bmak['js_post'] && (bmak['aj_type'] = 8, 2 == bmak['mn_ct'] && (bmak['dcs'] = 1), bmak['bpd'](), bmak['pd'](!0)))
			} catch (t) {
				bmak['sd_debug'](',mn_w:' + t)
			}
		},
		mn_pr: function() {
			return bmak['mn_al']['join'](',') + ';' + bmak['mn_tcl']['join'](',') + ';' + bmak['mn_il']['join'](',') + ';' + bmak['mn_lg']['join'](',') + ';'
		},
		ats: function(t) {
			for (var a = '', e = 0; e < t['length']; e++) a += 2 == t[e]['toString'](16)['length'] ? t[e]['toString'](16) : '0' + t[e]['toString'](16);
			return a
		},
		calc_fp: function() {
			bmak['fpcf']['fpVal'](), bmak['js_post'] && (bmak['aj_type'] = 9, bmak['bpd'](), bmak['pd'](!0))
		},
		listFunctions: {
			_setJsPost: function(t) {
				bmak['js_post'] = t, bmak['js_post'] && (bmak['enReadDocUrl'] = 1)
			},
			_setSessionId: function(t) {
				bmak['session_id'] = t
			},
			_setJavaScriptKey: function(t) {
				bmak['api_public_key'] = t
			},
			_setEnAddHidden: function(t) {
				bmak['enAddHidden'] = t
			},
			_setInitTime: function(t) {
				bmak['init_time'] = t
			},
			_setApiUrl: function(t) {
				bmak['cf_url'] = t
			},
			_setEnGetLoc: function(t) {
				bmak['enGetLoc'] = t
			},
			_setEnReadDocUrl: function(t) {
				bmak['enReadDocUrl'] = t
			},
			_setDisFpCalOnTimeout: function(t) {
				bmak['disFpCalOnTimeout'] = t
			},
			_setCookie: function(t) {
				bmak['ckie'] = t
			},
			_setCS: function(t) {
				bmak['cs'] = (String(t) + bmak['cs'])['slice'](0, 16)
			},
			_setFsp: function(t) {
				bmak['fsp'] = t, bmak['fsp'] && (bmak['cf_url'] = bmak['cf_url']['replace'](/^http:\/\//i, 'https://'))
			},
			_setBm: function(t) {
				bmak['bm'] = t, bmak['bm'] ? (bmak['cf_url'] = (bmak['fsp'] ? 'https:' : document['location']['protocol']) + '//' + document['location']['hostname'] + '/_bm/_data', bmak['js_post'] = !0) : bmak['params_url'] = (bmak['fsp'] ? 'https:' : document['location']['protocol']) + '//' + document['location']['hostname'] + '/get_params'
			},
			_setAu: function(t) {
				'string' == typeof t && (0 === t['lastIndexOf']('/', 0) ? bmak['cf_url'] = (bmak['fsp'] ? 'https:' : document['location']['protocol']) + '//' + document['location']['hostname'] + t : bmak['cf_url'] = t)
			},
			_setSDFieldNames: function() {
				try {
					var t;
					for (t = 0; t < arguments['length']; t += 1) bmak['sdfn']['push'](arguments[t])
				} catch (t) {
					bmak['sd_debug'](',setSDFN:' + t)
				}
			},
			_setUseAltFonts: function(t) {
				bmak['altFonts'] = t
			},
			_setPowState: function(t) {
				bmak['pstate'] = t
			},
			_setPow: function(t) {
				bmak['pstate'] = t
			},
			_setLOAP: function(t) {
				bmak['loap'] = t
			},
			_setIpr: function(t) {
				bmak['ipr'] = t
			}
		},
		applyFunc: function() {
			var t, a, e;
			for (t = 0; t < arguments['length']; t += 1) e = arguments[t];
			a = e['shift'](), bmak['listFunctions'][a] && bmak['listFunctions'][a]['apply'](bmak['listFunctions'], e)
		},
		getStateField: function(t) {
			for (var a = '', e = 'aeiouy13579', n = 0, o = t['toLowerCase'](); n < o['length'];) e['indexOf'](o['charAt'](n)) >= 0 || e['indexOf'](o['charAt'](n + 1)) >= 0 ? a += 1 : a += 0, n += 2;
			return a
		}
	};
if (function(t) {
	var a = {};
	t['fpcf'] = a, a['sf4'] = function() {
		var t = bmak['uar']();
		return !(!~t['indexOf']('Version/4.0') || !(~t['indexOf']('iPad;') || ~t['indexOf']('iPhone') || ~t['indexOf']('Mac OS X 10_5')))
	}, a['fpValstr'] = '-1', a['fpValCalculated'] = !1, a['rVal'] = '-1', a['rCFP'] = '-1', a['cache'] = {}, a['td'] = -999999, a['clearCache'] = function() {
		a['cache'] = {}
	}, a['fpVal'] = function() {
		a['fpValCalculated'] = !0;
		try {
			var t = 0;
			t = Date['now'] ? Date['now']() : +new Date;
			var e = a['data']();
			a['fpValstr'] = e['replace'](/\"/g, '\\"');
			var n = 0;
			n = Date['now'] ? Date['now']() : +new Date, a['td'] = n - t
		} catch (t) {}
	}, a['timezoneOffsetKey'] = function() {
		return (new Date)['getTimezoneOffset']()
	}, a['data'] = function() {
		var t = screen['colorDepth'] ? screen['colorDepth'] : -1,
			e = screen['pixelDepth'] ? screen['pixelDepth'] : -1,
			n = navigator['cookieEnabled'] ? navigator['cookieEnabled'] : -1,
			o = navigator['javaEnabled'] ? navigator['javaEnabled']() : -1,
			m = navigator['doNotTrack'] ? navigator['doNotTrack'] : -1,
			r = 'default';
		r = bmak['runFonts'] ? bmak['altFonts'] ? a['fonts_optm']() : a['fonts']() : 'dis';
		return [a['canvas']('<@nv45. F1n63r,Pr1n71n6!'), a['canvas']('m,Ev!xV67BaU> eh2m<f3AG3@'), r, a['pluginInfo'](), a['sessionStorageKey'](), a['localStorageKey'](), a['indexedDbKey'](), a['timezoneOffsetKey'](), a['webrtcKey'](), t, e, n, o, m]['join'](';')
	}, a['PLUGINS'] = ['WebEx64 General Plugin Container', 'YouTube Plug-in', 'Java Applet Plug-in', 'Shockwave Flash', 'iPhotoPhotocast', 'SharePoint Browser Plug-in', 'Chrome Remote Desktop Viewer', 'Chrome PDF Viewer', 'Native Client', 'Unity Player', 'WebKit-integrierte PDF', 'QuickTime Plug-in', 'RealPlayer Version Plugin', 'RealPlayer(tm) G2 LiveConnect-Enabled Plug-In (32-bit)', 'Mozilla Default Plug-in', 'Adobe Acrobat', 'AdobeAAMDetect', 'Google Earth Plug-in', 'Java Plug-in 2 for NPAPI Browsers', 'Widevine Content Decryption Module', 'Microsoft Office Live Plug-in', 'Windows Media Player Plug-in Dynamic Link Library', 'Google Talk Plugin Video Renderer', 'Edge PDF Viewer', 'Shockwave for Director', 'Default Browser Helper', 'Silverlight Plug-In'], a['pluginInfo'] = function() {
		if (void 0 === navigator['plugins']) return null;
		for (var t = a['PLUGINS']['length'], e = '', n = 0; n < t; n++) {
			var o = a['PLUGINS'][n];
			void 0 !== navigator['plugins'][o] && (e = e + ',' + n)
		}
		return e
	}, a['canvas'] = function(t) {
		try {
			if (void 0 !== a['cache']['canvas']) return a['cache']['canvas'];
			var e = -1;
			if (!a['sf4']()) {
				var n = document['createElement']('canvas');
				if (n['width'] = 280, n['height'] = 60, n['style']['display'] = 'none', 'function' == typeof n['getContext']) {
					var o = n['getContext']('2d');
					o['fillStyle'] = 'rgb(102, 204, 0)', o['fillRect'](100, 5, 80, 50), o['fillStyle'] = '#f60', o['font'] = '16pt Arial', o['fillText'](t, 10, 40), o['strokeStyle'] = 'rgb(120, 186, 176)', o['arc'](80, 10, 20, 0, Math['PI'], !1), o['stroke']();
					var m = n['toDataURL']();
					e = 0;
					for (var r = 0; r < m['length']; r++) {
						e = (e << 5) - e + m['charCodeAt'](r), e &= e
					}
					e = e['toString']();
					var i = document['createElement']('canvas');
					i['width'] = 16, i['height'] = 16;
					var c = i['getContext']('2d');
					c['font'] = '6pt Arial', a['rVal'] = Math['floor'](1e3 * Math['random']())['toString'](), c['fillText'](a['rVal'], 1, 12);
					for (var b = i['toDataURL'](), d = 0, s = 0; s < b['length']; s++) {
						d = (d << 5) - d + b['charCodeAt'](s), d &= d
					}
					a['rCFP'] = d['toString']()
				}
			}
			return e
		} catch (t) {
			return 'exception'
		}
	}, a['fonts_optm'] = function() {
		var t = 200,
			e = bmak['get_cf_date'](),
			n = [];
		if (!a['sf4']() && document['body']) {
			var o = ['sans-serif', 'monospace'],
				m = [0, 0],
				r = [0, 0],
				i = document['createElement']('div');
			i['style']['cssText'] = 'position: relative; left: -9999px; visibility: hidden; display: block !important';
			var c;
			for (c = 0; c < o['length']; c++) {
				var b = document['createElement']('span');
				b['innerHTML'] = 'abcdefhijklmnopqrstuvxyz1234567890;+-.', b['style']['fontSize'] = '90px', b['style']['fontFamily'] = o[c], i['appendChild'](b)
			}
			for (document['body']['appendChild'](i), c = 0; c < i['childNodes']['length']; c++) b = i['childNodes'][c], m[c] = b['offsetWidth'], r[c] = b['offsetHeight'];
			if (document['body']['removeChild'](i), bmak['get_cf_date']() - e > t) return '';
			var d = ['Geneva', 'Lobster', 'New York', 'Century', 'Apple Gothic', 'Minion Pro', 'Apple LiGothic', 'Century Gothic', 'Monaco', 'Lato', 'Fantasque Sans Mono', 'Adobe Braille', 'Cambria', 'Futura', 'Bell MT', 'Courier', 'Courier New', 'Calibri', 'Avenir Next', 'Birch Std', 'Palatino', 'Ubuntu Regular', 'Oswald', 'Batang', 'Ubuntu Medium', 'Cantarell', 'Droid Serif', 'Roboto', 'Helvetica Neue', 'Corsiva Hebrew', 'Adobe Hebrew', 'TI-Nspire', 'Comic Neue', 'Noto', 'AlNile', 'Palatino-Bold', 'ArialHebrew-Light', 'Avenir', 'Papyrus', 'Open Sans', 'Times', 'Quicksand', 'Source Sans Pro', 'Damascus', 'Microsoft Sans Serif'],
				s = document['createElement']('div');
			s['style']['cssText'] = 'position: relative; left: -9999px; visibility: hidden; display: block !important';
			for (var k = [], l = 0; l < d['length']; l++) {
				var u = document['createElement']('div');
				for (c = 0; c < o['length']; c++) {
					var b = document['createElement']('span');
					b['innerHTML'] = 'abcdefhijklmnopqrstuvxyz1234567890;+-.', b['style']['fontSize'] = '90px', b['style']['fontFamily'] = d[l] + ',' + o[c], u['appendChild'](b)
				}
				s['appendChild'](u)
			}
			if (bmak['get_cf_date']() - e > t) return '';
			document['body']['appendChild'](s);
			for (var l = 0; l < s['childNodes']['length']; l++) {
				var _ = !1,
					u = s['childNodes'][l];
				for (c = 0; c < u['childNodes']['length']; c++) {
					var b = u['childNodes'][c];
					if (b['offsetWidth'] !== m[c] || b['offsetHeight'] !== r[c]) {
						_ = !0;
						break
					}
				}
				if (_ && k['push'](l), bmak['get_cf_date']() - e > t) break
			}
			document['body']['removeChild'](s), n = k['sort']()
		}
		return n['join'](',')
	}, a['fonts'] = function() {
		var t = [];
		if (!a['sf4']() && document['body']) {
			var e = ['serif', 'sans-serif', 'monospace'],
				n = [0, 0, 0],
				o = [0, 0, 0],
				m = document['createElement']('span');
			m['innerHTML'] = 'abcdefhijklmnopqrstuvxyz1234567890;+-.', m['style']['fontSize'] = '90px';
			var r;
			for (r = 0; r < e['length']; r++) m['style']['fontFamily'] = e[r], document['body']['appendChild'](m), n[r] = m['offsetWidth'], o[r] = m['offsetHeight'], document['body']['removeChild'](m);
			for (var i = ['Geneva', 'Lobster', 'New York', 'Century', 'Apple Gothic', 'Minion Pro', 'Apple LiGothic', 'Century Gothic', 'Monaco', 'Lato', 'Fantasque Sans Mono', 'Adobe Braille', 'Cambria', 'Futura', 'Bell MT', 'Courier', 'Courier New', 'Calibri', 'Avenir Next', 'Birch Std', 'Palatino', 'Ubuntu Regular', 'Oswald', 'Batang', 'Ubuntu Medium', 'Cantarell', 'Droid Serif', 'Roboto', 'Helvetica Neue', 'Corsiva Hebrew', 'Adobe Hebrew', 'TI-Nspire', 'Comic Neue', 'Noto', 'AlNile', 'Palatino-Bold', 'ArialHebrew-Light', 'Avenir', 'Papyrus', 'Open Sans', 'Times', 'Quicksand', 'Source Sans Pro', 'Damascus', 'Microsoft Sans Serif'], c = [], b = 0; b < i['length']; b++) {
				var d = !1;
				for (r = 0; r < e['length']; r++) if (m['style']['fontFamily'] = i[b] + ',' + e[r], document['body']['appendChild'](m), m['offsetWidth'] === n[r] && m['offsetHeight'] === o[r] || (d = !0), document['body']['removeChild'](m), d) {
					c['push'](b);
					break
				}
			}
			t = c['sort']()
		}
		return t['join'](',')
	}, a['webrtcKey'] = function() {
		return 'function' == typeof window['RTCPeerConnection'] || 'function' == typeof window['mozRTCPeerConnection'] || 'function' == typeof window['webkitRTCPeerConnection']
	}, a['indexedDbKey'] = function() {
		return !!a['hasIndexedDB']()
	}, a['sessionStorageKey'] = function() {
		return !!a['hasSessionStorage']()
	}, a['localStorageKey'] = function() {
		return !!a['hasLocalStorage']()
	}, a['hasSessionStorage'] = function() {
		try {
			return !!window['sessionStorage']
		} catch (t) {
			return !1
		}
	}, a['hasLocalStorage'] = function() {
		try {
			return !!window['localStorage']
		} catch (t) {
			return !1
		}
	}, a['hasIndexedDB'] = function() {
		return !!window['indexedDB']
	}
}(bmak), bmak['firstLoad']) {
	if (bmak['sd_debug']('<init/>'), _cf['length'] > 0) {
		for (var bm_counter = 0; bm_counter < _cf['length']; bm_counter++) bmak['applyFunc'](_cf[bm_counter]);
		bmak['sd_debug']('<setSDFN>' + bmak['sdfn']['join']() + '</setSDFN>'), _cf = {
			push: bmak['applyFunc']
		}
	} else {
		var bm_script;
		if (document['currentScript'] && (bm_script = document['currentScript']), !bm_script) {
			var scripts = document['getElementsByTagName']('script');
			scripts['length'] && (bm_script = scripts[scripts['length'] - 1])
		}
		if (bm_script['src']) {
			var bm_url = bm_script['src'],
				url_split = bm_url['split']('/'),
				obfus_state_field;
			if (url_split['length'] >= 4 && (obfus_state_field = bm_url['split']('/')['slice'](-4)[0]), obfus_state_field && obfus_state_field['length'] % 2 == 0) {
				var state_field_str = bmak['getStateField'](obfus_state_field);
				state_field_str['length'] > 3 && (bmak['listFunctions']['_setFsp']('1' == state_field_str['charAt'](0)), bmak['listFunctions']['_setBm']('1' == state_field_str['charAt'](1)), bmak['listFunctions']['_setPowState']('1' == state_field_str['charAt'](2)), bmak['listFunctions']['_setIpr']('1' == state_field_str['charAt'](3)), bmak['listFunctions']['_setAu'](bm_url))
			}
		}
	}
	try {
		bmak['ir'](), bmak['t_tst'] = bmak['get_cf_date'](), bmak['startTracking'](), bmak['tst'] = bmak['get_cf_date']() - bmak['t_tst'], bmak['disFpCalOnTimeout'] || setTimeout(bmak['calc_fp'], 500), bmak['mn_init']()
	} catch (t) {}
}

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-05-07 11:09:05  更:2022-05-07 11:09:50 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 16:43:55-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码