1(function (f, e) { 2 var d = { 3 extend: function (a, c) { 4 for (var h in c) -1 !== "browser cpu device engine os".indexOf(h) && 0 === c[h].length % 2 && (a[h] = c[h].concat(a[h])); 5 return a 6 }, has: function (a, c) { 7 if ("string" === typeof a) return -1 !== c.toLowerCase().indexOf(a.toLowerCase()) 8 }, lowerize: function (a) { 9 return a.toLowerCase() 10 } 11 }, n = function () { 12 for (var a, c = 0, h, b, f, m, g, d, n = arguments; c < n.length && !g;) { 13 var l = n[c], p = n[c + 1]; 14 if ("undefined" === typeof a) for (f in a = {}, p) m = p[f], "object" === typeof m ? a[m[0]] = e : a[m] = e; 15 for (h = b = 0; h < l.length && !g;) if (g = 16 l[h++].exec(this.getUA())) for (f = 0; f < p.length; f++) d = g[++b], m = p[f], "object" === typeof m && 0 < m.length ? 2 == m.length ? a[m[0]] = "function" == typeof m[1] ? m[1].call(this, d) : m[1] : 3 == m.length ? a[m[0]] = "function" !== typeof m[1] || m[1].exec && m[1].test ? d ? d.replace(m[1], m[2]) : e : d ? m[1].call(this, d, m[2]) : e : 4 == m.length && (a[m[0]] = d ? m[3].call(this, d.replace(m[1], m[2])) : e) : a[m] = d ? d : e; 17 c += 2 18 } 19 return a 20 }, b = function (a, c) { 21 for (var h in c) if ("object" === typeof c[h] && 0 < c[h].length) for (var b = 0; b < c[h].length; b++) { 22 if (d.has(c[h][b], a)) return "?" === 23 h ? e : h 24 } else if (d.has(c[h], a)) return "?" === h ? e : h; 25 return a 26 }, g = { 27 ME: "4.90", 28 "NT 3.11": "NT3.51", 29 "NT 4.0": "NT4.0", 30 2E3: "NT 5.0", 31 XP: ["NT 5.1", "NT 5.2"], 32 Vista: "NT 6.0", 33 7: "NT 6.1", 34 8: "NT 6.2", 35 "8.1": "NT 6.3", 36 10: "NT 6.4", 37 RT: "ARM" 38 }, p = { 39 browser: [[/(opera\smini)\/((\d+)?[\w\.-]+)/i, /(opera\s[mobiletab]+).+version\/((\d+)?[\w\.-]+)/i, /(opera).+version\/((\d+)?[\w\.]+)/i, /(opera)[\/\s]+((\d+)?[\w\.]+)/i], ["name", "version", "major"], [/\s(opr)\/((\d+)?[\w\.]+)/i], [["name", "Opera"], "version", "major"], [/(kindle)\/((\d+)?[\w\.]+)/i, 40 /(lunascape|maxthon|netfront|jasmine|blazer)[\/\s]?((\d+)?[\w\.]+)*/i, /(avant\s|iemobile|slim|baidu)(?:browser)?[\/\s]?((\d+)?[\w\.]*)/i, /(?:ms|\()(ie)\s((\d+)?[\w\.]+)/i, /(rekonq)((?:\/)[\w\.]+)*/i, /(chromium|flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron)\/((\d+)?[\w\.-]+)/i], ["name", "version", "major"], [/(trident).+rv[:\s]((\d+)?[\w\.]+).+like\sgecko/i], [["name", "IE"], "version", "major"], [/(yabrowser)\/((\d+)?[\w\.]+)/i], [["name", "Yandex"], "version", "major"], [/(comodo_dragon)\/((\d+)?[\w\.]+)/i], 41 [["name", /_/g, " "], "version", "major"], [/(chrome|omniweb|arora|[tizenoka]{5}\s?browser)\/v?((\d+)?[\w\.]+)/i, /(uc\s?browser|qqbrowser)[\/\s]?((\d+)?[\w\.]+)/i], ["name", "version", "major"], [/(dolfin)\/((\d+)?[\w\.]+)/i], [["name", "Dolphin"], "version", "major"], [/((?:android.+)crmo|crios)\/((\d+)?[\w\.]+)/i], [["name", "Chrome"], "version", "major"], [/version\/((\d+)?[\w\.]+).+?mobile\/\w+\s(safari)/i], ["version", "major", ["name", "Mobile Safari"]], [/version\/((\d+)?[\w\.]+).+?(mobile\s?safari|safari)/i], ["version", 42 "major", "name"], [/webkit.+?(mobile\s?safari|safari)((\/[\w\.]+))/i], ["name", ["major", b, { 43 1: ["/8", "/1", "/3"], 44 2: "/4", 45 "?": "/" 46 }], ["version", b, { 47 "1.0": "/8", 48 "1.2": "/1", 49 "1.3": "/3", 50 "2.0": "/412", 51 "2.0.2": "/416", 52 "2.0.3": "/417", 53 "2.0.4": "/419", 54 "?": "/" 55 }]], [/(konqueror)\/((\d+)?[\w\.]+)/i, /(webkit|khtml)\/((\d+)?[\w\.]+)/i], ["name", "version", "major"], [/(navigator|netscape)\/((\d+)?[\w\.-]+)/i], [["name", "Netscape"], "version", "major"], [/(swiftfox)/i, /(icedragon|iceweasel|camino|chimera|fennec|maemo\sbrowser|minimo|conkeror)[\/\s]?((\d+)?[\w\.\+]+)/i, 56 /(firefox|seamonkey|k-meleon|icecat|iceape|firebird|phoenix)\/((\d+)?[\w\.-]+)/i, /(mozilla)\/((\d+)?[\w\.]+).+rv\:.
56+gecko\/\d+/i, /(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf)[\/\s]?((\d+)?[\w\.]+)/i, /(links)\s\(((\d+)?[\w\.]+)/i, /(gobrowser)\/?((\d+)?[\w\.]+)*/i, /(ice\s?browser)\/v?((\d+)?[\w\._]+)/i, /(mosaic)[\/\s]((\d+)?[\w\.]+)/i], ["name", "version", "major"]], 57 cpu: [[/(?:(amd|x(?:(?:86|64)[_-])?|wow|win)64)[;\)]/i], [["architecture", "amd64"]], [/(ia32(?=;))/i], [["architecture", d.lowerize]], [/((?:i[346]|x)86)[;\)]/i], 58 [["architecture", "ia32"]], [/windows\s(ce|mobile);\sppc;/i], [["architecture", "arm"]], [/((?:ppc|powerpc)(?:64)?)(?:\smac|;|\))/i], [["architecture", /ower/, "", d.lowerize]], [/(sun4\w)[;\)]/i], [["architecture", "sparc"]], [/((?:avr32|ia64(?=;))|68k(?=\))|arm(?:64|(?=v\d+;))|(?=atmel\s)avr|(?:irix|mips|sparc)(?:64)?(?=;)|pa-risc)/i], [["architecture", d.lowerize]]], 59 device: [[/\((ipad|playbook);[\w\s\);-]+(rim|apple)/i], ["model", "vendor", ["type", "tablet"]], [/applecoremedia\/[\w\.]+ \((ipad)/], ["model", ["vendor", 60 "Apple"], ["type", "tablet"]], [/(apple\s{0,1}tv)/i], [["model", "Apple TV"], ["vendor", "Apple"]], [/(archos)\s(gamepad2?)/i, /(hp).+(touchpad)/i, /(kindle)\/([\w\.]+)/i, /\s(nook)[\w\s]+build\/(\w+)/i, /(dell)\s(strea[kpr\s\d]*[\dko])/i], ["vendor", "model", ["type", "tablet"]], [/(kf[A-z]+)\sbuild\/[\w\.]+.*silk\//i], ["model", ["vendor", "Amazon"], ["type", "tablet"]], [/(sd|kf)[0349hijorstuw]+\sbuild\/[\w\.]+.*silk\//i], [["model", b, {"Fire Phone": ["SD", "KF"]}], ["vendor", "Amazon"], ["type", "mobile"]], [/\((ip[honed|\s\w*]+);.+(apple)/i], 61 ["model", "vendor", ["type", "mobile"]], [/\((ip[honed|\s\w*]+);/i], ["model", ["vendor", "Apple"], ["type", "mobile"]], [/(blackberry)[\s-]?(\w+)/i, /(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|huawei|meizu|motorola|polytron)[\s_-]?([\w-]+)*/i, /(hp)\s([\w\s]+\w)/i, /(asus)-?(\w+)/i], ["vendor", "model", ["type", "mobile"]], [/\(bb10;\s(\w+)/i], ["model", ["vendor", "BlackBerry"], ["type", "mobile"]], [/android.+(transfo[prime\s]{4,10}\s\w+|eeepc|slider\s\w+|nexus 7)/i], ["model", ["vendor", "Asus"], ["type", "tablet"]], 62 [/(sony)\s(tablet\s[ps])/i], ["vendor", "model", ["type", "tablet"]], [/\s(ouya)\s/i, /(nintendo)\s([wids3u]+)/i], ["vendor", "model", ["type", "console"]], [/android.+;\s(shield)\sbuild/i], ["model", ["vendor", "Nvidia"], ["type", "console"]], [/(playstation\s[3portablevi]+)/i], ["model", ["vendor", "Sony"], ["type", "console"]], [/(sprint\s(\w+))/i], [["vendor", b, { 63 HTC: "APA", 64 Sprint: "Sprint" 65 }], ["model", b, {"Evo Shift 4G": "7373KT"}], ["type", "mobile"]], [/(lenovo)\s?(S(?:5000|6000)+(?:[-][\w+]))/i], ["vendor", "model", ["type", 66 "tablet"]], [/(htc)[;_\s-]+([\w\s]+(?=\))|\w+)*/i, /(zte)-(\w+)*/i, /(alcatel|geeksphone|huawei|lenovo|nexian|panasonic|(?=;\s)sony)[_\s-]?([\w-]+)*/i], ["vendor", ["model", /_/g, " "], ["type", "mobile"]], [/[\s\(;](xbox(?:\sone)?)[\s\);]/i], ["model", ["vendor", "Microsoft"], ["type", "console"]], [/(kin\.[onetw]{3})/i], [["model", /\./g, " "], ["vendor", "Microsoft"], ["type", "mobile"]], [/\s((milestone|droid(?:[2-4x]|\s(?:bionic|x2|pro|razr))?(:?\s4g)?))[\w\s]+build\//i, /(mot)[\s-]?(\w+)*/i], [["vendor", "Motorola"], 67 "model", ["type", "mobile"]], [/android.+\s(mz60\d|xoom[\s2]{0,2})\sbuild\//i], ["model", ["vendor", "Motorola"], ["type", "tablet"]], [/android.+((sch-i[89]0\d|shw-m380s|gt-p\d{4}|gt-n8000|sgh-t8[56]9|nexus 10))/i, /((SM-T\w+))/i], [["vendor", "Samsung"], "model", ["type", "tablet"]], [/((s[cgp]h-\w+|gt-\w+|galaxy\snexus|sm-n900))/i, /(sam[sung]*)[\s-]*(\w+-?[\w-]*)*/i, /sec-((sgh\w+))/i], [["vendor", "Samsung"], "model", ["type", "mobile"]], [/(samsung);smarttv/i], ["vendor", "model", ["type", "smarttv"]], [/\(dtv[\);].+(aquos)/i], 68 ["model", ["vendor", "Sharp"], ["type", "smarttv"]], [/sie-(\w+)*/i], ["model", ["vendor", "Siemens"], ["type", "mobile"]], [/(maemo|nokia).*(n900|lumia\s\d+)/i, /(nokia)[\s_-]?([\w-]+)*/i], [["vendor", "Nokia"], "model", ["type", "mobile"]], [/android\s3\.[\s\w-;]{10}(a\d{3})/i], ["model", ["vendor", "Acer"], ["type", "tablet"]], [/android\s3\.[\s\w-;]{10}(lg?)-([06cv9]{3,4})/i], [["vendor", "LG"], "model", ["type", "tablet"]], [/(lg) netcast\.tv/i], ["vendor", "model", ["type", "smarttv"]], [/(nexus\s[45]
68)/i, /lg[e;\s\/-]+(\w+)*/i], 69 ["model", ["vendor", "LG"], ["type", "mobile"]], [/android.+(ideatab[a-z0-9\-\s]+)/i], ["model", ["vendor", "Lenovo"], ["type", "tablet"]], [/linux;.+((jolla));/i], ["vendor", "model", ["type", "mobile"]], [/((pebble))app\/[\d\.]+\s/i], ["vendor", "model", ["type", "wearable"]], [/android.+;\s(glass)\s\d/i], ["model", ["vendor", "Google"], ["type", "wearable"]], [/(mobile|tablet);.+rv\:.+gecko\//i], [["type", d.lowerize], "vendor", "model"]], 70 engine: [[/(presto)\/([\w\.]+)/i, /(webkit|trident|netfront|netsurf|amaya|lynx|w3m)\/([\w\.]+)/i, 71 /(khtml|tasman|links)[\/\s]\(?([\w\.]+)/i, /(icab)[\/\s]([23]\.[\d\.]+)/i], ["name", "version"], [/rv\:([\w\.]+).*(gecko)/i], ["version", "name"]], 72 os: [[/microsoft\s(windows)\s(vista|xp)/i], ["name", "version"], [/(windows)\snt\s6\.2;\s(arm)/i, /(windows\sphone(?:\sos)*|windows\smobile|windows)[\s\/]?([ntce\d\.\s]+\w)/i], ["name", ["version", b, g]], [/(win(?=3|9|n)|win\s9x\s)([nt\d\.]+)/i], [["name", "Windows"], ["version", b, g]], [/\((bb)(10);/i], [["name", "BlackBerry"], "version"], [/(blackberry)\w*\/?([\
72w\.]+)*/i, /(tizen)[\/\s]([\w\.]+)/i, 73 /(android|webos|palm\os|qnx|bada|rim\stablet\sos|meego|contiki)[\/\s-]?([\w\.]+)*/i, /linux;.+(sailfish);/i], ["name", "version"], [/(symbian\s?os|symbos|s60(?=;))[\/\s-]?([\w\.]+)*/i], [["name", "Symbian"], "version"], [/\((series40);/i], ["name"], [/mozilla.+\(mobile;.+gecko.+firefox/i], [["name", "Firefox OS"], "version"], [/(nintendo|playstation)\s([wids3portablevu]+)/i, /(mint)[\/\s\(]?(\w+)*/i, /(mageia|vectorlinux)[;\s]/i, /(joli|[kxln]?ubuntu|debian|[open]*suse|gentoo|arch|slackware|fedora|mandriva|centos|pclinuxos|redhat|zenwalk|linpus)[\/\s-]?([\w\.-]+)*/i, 74 /(hurd|linux)\s?([\w\.]+)*/i, /(gnu)\s?([\w\.]+)*/i], ["name", "version"], [/(cros)\s[\w]+\s([\w\.]+\w)/i], [["name", "Chromium OS"], "version"], [/(sunos)\s?([\w\.]+\d)*/i], [["name", "Solaris"], "version"], [/\s([frentopc-]{0,4}bsd|dragonfly)\s?([\w\.]+)*/i], ["name", "version"], [/(ip[honead]+)(?:.*os\s*([\w]+)*\slike\smac|;\sopera)/i], [["name", "iOS"], ["version", /_/g, "."]], [/(mac\sos\sx)\s?([\w\s\.]+\w)*/i, /(macintosh|mac(?=_powerpc)\s)/i], [["name", "Mac OS"], ["version", /_/g, "."]], [/((?:open)?solaris)[\/\s-]?([\w\.]+)*/i, 75 /(haiku)\s(\w+)/i, /(aix)\s((\d)(?=\.|\)|\s)[\w\.]*)*/i, /(plan\s9|minix|beos|os\/2|amigaos|morphos|risc\sos|openvms)/i, /(unix)\s?([\w\.]+)*/i], ["name", "version"]] 76 }, q = function (a, c) { 77 if (!(this instanceof q)) return (new q(a, c)).getResult(); 78 var h = a || (f && f.navigator && f.navigator.userAgent ? f.navigator.userAgent : ""), 79 b = c ? d.extend(p, c) : p; 80 this.getBrowser = function () { 81 return n.apply(this, b.browser) 82 }; 83 this.getCPU = function () { 84 return n.apply(this, b.cpu) 85 }; 86 this.getDevice = function () { 87 return n.apply(this, b.device) 88 }; 89 this.getEngine = 90 function () { 91 return n.apply(this, b.engine) 92 }; 93 this.getOS = function () { 94 return n.apply(this, b.os) 95 }; 96 this.getResult = function () { 97 return { 98 ua: this.getUA(), 99 browser: this.getBrowser(), 100 engine: this.getEngine(), 101 os: this.getOS(), 102 device: this.getDevice(), 103 cpu: this.getCPU() 104 } 105 }; 106 this.getUA = function () { 107 return h 108 }; 109 this.setUA = function (a) { 110 h = a; 111 return this 112 }; 113 this.setUA(h) 114 }; 115 q.VERSION = "0.7.3"; 116 q.BROWSER = {NAME: "name", MAJOR: "major", VERSION: "version"}; 117 q.CPU = {ARCHITECTURE: "architecture"}; 118 q.DEVICE = { 119 MODEL: "model", VENDOR: "vendor", TYPE: "type", CONSOLE: "console", 120 MOBILE: "mobile", SMARTTV: "smarttv", TABLET: "tablet", WEARABLE: "wearable", EMBEDDED: "embedded" 121 }; 122 q.ENGINE = {NAME: "name", VERSION: "version"}; 123 q.OS = {NAME: "name", VERSION: "version"}; 124 if ("undefined" !== typeof exports) "undefined" !== typeof module && module.exports && (exports = module.exports = q), exports.UAParser = q; else { 125 f.UAParser = q; 126 "function" === typeof define && define.amd && define(function () { 127 return q 128 }); 129 var r = f.jQuery || f.Zepto; 130 if ("undefined" !== typeof r) { 131 var t = new q; 132 r.ua = t.getResult(); 133 r.ua.get = function () { 134 return t.getUA() 135 }; 136 r.ua.set = 137 function (a) { 138 t.setUA(a); 139 a = t.getResult(); 140 for (var c in a) r.ua[c] = a[c] 141 } 142 } 143 } 144})(this); 145var Detector = function () { 146 var f = ["monospace", "sans-serif", "serif"], e = document.getElementsByTagName("body")[0], 147 d = document.createElement("span"); 148 d.style.fontSize = "72px"; 149 d.innerHTML = "mmmmmmmmmmlli"; 150 var n = {}, b = {}, g; 151 for (g in f) d.style.fontFamily = f[g], e.appendChild(d), n[f[g]] = d.offsetWidth, b[f[g]] = d.offsetHeight, e.removeChild(d); 152 this.detect = function (g) { 153 var q = !1, r; 154 for (r in f) { 155 d.style.fontFamily = g + "," + f[r]; 156 e.appendChild(d); 157 var t = d.offsetWidth != n[f[r]] || d.offsetHeight != b[f[r]]; 158 e.removeChild(d); 159 q = q || t 160 } 161 return q 162 } 163}; 164var swfobject = function () { 165 function f() { 166 if (!A) { 167 try { 168 var a = l.getElementsByTagName("body")[0].appendChild(l.createElement("span")); 169 a.parentNode.removeChild(a) 170 } catch (c) { 171 return 172 } 173 A = !0;
174 for (var a = E.length, h = 0; h < a; h++) E[h]() 175 } 176 } 177 178 function e(a) { 179 A ? a() : E[E.length] = a 180 } 181 182 function d(a) { 183 if ("undefined" != typeof u.addEventListener) u.addEventListener("load", a, !1); else if ("undefined" != typeof l.addEventListener) l.addEventListener("load", a, !1); else if ("undefined" != typeof u.attachEvent) v(u, "onload", a); else if ("function" == typeof u.onload) { 184 var c = 185 u.onload; 186 u.onload = function () { 187 c(); 188 a() 189 } 190 } else u.onload = a 191 } 192 193 function n() { 194 var a = l.getElementsByTagName("body")[0], c = l.createElement("object"); 195 c.setAttribute("type", "application/x-shockwave-flash"); 196 var h = a.appendChild(c); 197 if (h) { 198 var e = 0; 199 (function () { 200 if ("undefined" != typeof h.GetVariable) { 201 var d = h.GetVariable("$version"); 202 d && (d = d.split(" ")[1].split(","), k.pv = [parseInt(d[0], 10), parseInt(d[1], 10), parseInt(d[2], 10)]) 203 } else if (10 > e) { 204 e++; 205 setTimeout(arguments.callee, 10); 206 return 207 } 208 a.removeChild(c); 209 h = null; 210 b() 211 })() 212 } else b() 213 } 214 215 function b() { 216 var a = y.length; 217 if (0 < a) for (var c = 0; c < a; c++) { 218 var b = y[c].id, d = y[c].callbackFn, e = {success: !1, id: b}; 219 if (0 < k.pv[0]) { 220 var f = h(b); 221 if (f) if (!D(y[c].swfVersion) || k.wk && 312 > k.wk) if (y[c].expressInstall && p()) { 222 e = {}; 223 e.data = y[c].expressInstall; 224 e.width = f.getAttribute("width") || "0"; 225 e.height = f.getAttribute("height") || "0"; 226 f.getAttribute("class") && (e.styleclass = f.getAttribute("class")); 227 f.getAttribute("align") && (e.align = f.getAttribute("align")); 228 for (var m = {}, f = f.getElementsByTagName("param"), l = f.length, n = 0; n < 229 l; n++) "movie" != f[n].getAttribute("name").toLowerCase() && (m[f[n].getAttribute("name")] = f[n].getAttribute("value")); 230 q(e, m, b, d) 231 } else r(f), d && d(e); else z(b, !0), d && (e.success = !0, e.ref = g(b), d(e)) 232 } else z(b, !0), d && ((b = g(b)) && "undefined" != typeof b.SetVariable && (e.success = !0, e.ref = b), d(e)) 233 } 234 } 235 236 function g(a) { 237 var c = null; 238 (a = h(a)) && "OBJECT" == a.nodeName && ("undefined" != typeof a.SetVariable ? c = a : (a = a.getElementsByTagName("object")[0]) && (c = a)); 239 return c 240 } 241 242 function p() { 243 return !F && D("6.0.65") && (k.win || k.mac) && !(k.wk && 312 > k.wk) 244 } 245 246 function q(c, b, e, d) { 247 F = !0; 248 I = d || null; 249 L = {success: !1, id: e}; 250 var f = h(e); 251 if (f) { 252 "OBJECT" == f.nodeName ? (C = t(f), G = null) : (C = f, G = e); 253 c.id = "SWFObjectExprInst"; 254 if ("undefined" == typeof c.width || !/%$/.test(c.width) && 310 > parseInt(c.width, 10)) c.width = "310"; 255 if ("undefined" == typeof c.height || !/%$/.test(c.height) && 137 > parseInt(c.height, 10)) c.height = "137"; 256 l.title = l.title.slice(0, 47) + " - Flash Player Installation"; 257 d = k.ie && k.win ? "ActiveX" : "PlugIn"; 258 d = "MMredirectURL=" + u.location.toString().replace(/&/g, "%26") + "&MMplayerType=" + 259 d + "&MMdoctitle=" + l.title; 260 b.flashvars = "undefined" != typeof b.flashvars ? b.flashvars + ("&" + d) : d; 261 k.ie && k.win && 4 != f.readyState && (d = l.createElement("div"), e += "SWFObjectNew", d.setAttribute("id", e), f.parentNode.insertBefore(d, f), f.style.display = "none", function () { 262 4 == f.readyState ? f.parentNode.removeChild(f) : setTimeout(arguments.callee, 10) 263 }()); 264 a(c, b, e) 265 } 266 } 267 268 function r(a) { 269 if (k.ie && k.win && 4 != a.readyState) { 270 var c = l.createElement("div"); 271 a.parentNode.insertBefore(c, a); 272 c.parentNode.replaceChild(t(a), c); 273 a.style.display = "none"; 274 (function () { 275 4 == a.readyState ? a.parentNode.removeChild(a) : setTimeout(arguments.callee, 10) 276 })() 277 } else a.parentNode.replaceChild(t(a), a) 278 } 279 280 function t(a) { 281 var c = l.createElement("div"); 282 if (k.win && k.ie) c.innerHTML = a.innerHTML; else if (a = a.getElementsByTagName("object")[0]) if (a = a.childNodes) for (var b = a.length, h
282= 0; h < b; h++) 1 == a[h].nodeType && "PARAM" == a[h].nodeName || 8 == a[h].nodeType || c.appendChild(a[h].cloneNode(!0)); 283 return c 284 } 285 286 function a(a, c, b) { 287 var e, f = h(b); 288 if (k.wk && 312 > k.wk) return e; 289 if (f) if ("undefined" == typeof a.id && 290 (a.id = b), k.ie && k.win) { 291 var d = "", m; 292 for (m in a) a[m] != Object.prototype[m] && ("data" == m.toLowerCase() ? c.movie = a[m] : "styleclass" == m.toLowerCase() ? d += ' class="' + a[m] + '"' : "classid" != m.toLowerCase() && (d += " " + m + '="' + a[m] + '"')); 293 m = ""; 294 for (var g in c) c[g] != Object.prototype[g] && (m += '<param name="' + g + '" value="' + c[g] + '" />'); 295 f.outerHTML = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"' + d + ">" + m + "</object>"; 296 H[H.length] = a.id; 297 e = h(a.id) 298 } else { 299 g = l.createElement("object"); 300 g.setAttribute("type", "application/x-shockwave-flash"); 301 for (var n in a) a[n] != Object.prototype[n] && ("styleclass" == n.toLowerCase() ? g.setAttribute("class", a[n]) : "classid" != n.toLowerCase() && g.setAttribute(n, a[n])); 302 for (d in c) c[d] != Object.prototype[d] && "movie" != d.toLowerCase() && (a = g, m = d, n = c[d], b = l.createElement("param"), b.setAttribute("name", m), b.setAttribute("value", n), a.appendChild(b)); 303 f.parentNode.replaceChild(g, f); 304 e = g 305 } 306 return e 307 } 308 309 function c(a) { 310 var c = h(a); 311 c && "OBJECT" == c.nodeName && (k.ie && k.win ? (c.style.display = "none", function () { 312 if (4 == c.readyState) { 313 var b = h(a); 314 if (b) { 315 for (var d in b) "function" == typeof b[d] && (b[d] = null); 316 b.parentNode.removeChild(b) 317 } 318 } else setTimeout(arguments.callee, 10) 319 }()) : c.parentNode.removeChild(c)) 320 } 321 322 function h(a) { 323 var c = null; 324 try { 325 c = l.getElementById(a) 326 } catch (b) { 327 } 328 return c 329 } 330 331 function v(a, c, b) { 332 a.attachEvent(c, b); 333 B[B.length] = [a, c, b] 334 } 335 336 function D(a) { 337 var c = k.pv; 338 a = a.split("."); 339 a[0] = parseInt(a[0], 10); 340 a[1] = parseInt(a[1], 10) || 0; 341 a[2] = parseInt(a[2], 10) || 0; 342 return c[0] > a[0] || c[0] == a[0] && c[1] > a[1] || c[0] == a[0] && c[1] == a[1] && c[2] >= a[2] ? !0 : !1 343 } 344 345 function m(a, c, b, h) { 346 if (!k.ie || 347 !k.mac) { 348 var d = l.getElementsByTagName("head")[0]; 349 d && (b = b && "string" == typeof b ? b : "screen", h && (J = w = null), w && J == b || (h = l.createElement("style"), h.setAttribute("type", "text/css"), h.setAttribute("media", b), w = d.appendChild(h), k.ie && k.win && "undefined" != typeof l.styleSheets && 0 < l.styleSheets.length && (w = l.styleSheets[l.styleSheets.length - 1]), J = b), k.ie && k.win ? w && "object" == typeof w.addRule && w.addRule(a, c) : w && "undefined" != typeof l.createTextNode && w.appendChild(l.createTextNode(a + " {" + c + "}"))) 350 } 351 } 352 353 function z(a, c) { 354 if (M) { 355 var b = 356 c ? "visible" : "hidden"; 357 A && h(a) ? h(a).style.visibility = b : m("#" + a, "visibility:" + b) 358 } 359 } 360 361 function K(a) { 362 return null != /[\\\"<>\.;]/.exec(a) && "undefined" != typeof encodeURIComponent ? encodeURIComponent(a) : a 363 } 364 365 var u = window, l = document, x = navigator, N = !1, E = [function () { 366 N ? n() : b() 367 }], y = [], H = [], B = [], C, G, I, L, A = !1, F = !1, w, J, M = !0, k = function () { 368 var a = "undefined" != typeof l.getElementById && "undefined" != typeof l.getElementsByTagName && "undefined" != typeof l.createElement, 369 c = x.userAgent.toLowerCase(), b = x.platform.toLowerCase(), h = b ? /win/.test(b) : 370 /win/.test(c), b = b ? /mac/.test(b) : /mac/.test(c), 371 c = /webkit/.test(c) ? parseFloat(c.replace(/^.*webkit\/(\d+(\.\d+)?).*$/, "$1")) : !1, d = !+"\v1", 372 e = [0, 0, 0], f = null; 373 if ("undefined" != typeof x.plugins && "object" == typeof x.plugins["Shockwave Flash"]) !(f = x.plugins["Shockwave Flash"].description) || "undefined" != typeof x.mimeTypes && x.mimeTypes["application/x-shockwave-flash"] && !x.mimeTypes["application/x-shockwave-flash"].enabledPlugin || (N = !0, d = !1, f = f.replace(/^.*\s+(\S+\s+\S+$)/, "$1"), e[0] = parseInt(f.replace(/^(.*)\..*$/, 374 "$1"), 10), e[1] = parseInt(f.replace(/^.*\.(.*)\s.*$/, "$1"), 10), e[2] = /[a-zA-Z]/.test(f) ? parseInt(f.replace(/^.*[a-zA-Z]+(.*)$/, "$1"), 10) : 0); else if ("undefined" != typeof u.ActiveXObject) try { 375 var m = new ActiveXObject("ShockwaveFlash.ShockwaveFlash"); 376 m && (f = m.GetVariable("$version")) && (d = !0, f = f.split(" ")[1].split(","), e = [parseInt(f[0], 10), parseInt(f[1], 10), parseInt(f[2], 10)]) 377 } catch (g) { 378 } 379 return {w3: a, pv: e, wk: c, ie: d, win: h, mac: b} 380 }(); 381 (function () { 382 k.w3 && (("undefined" != typeof l.readyState && "complete" == l.readyState || 383 "undefined" == typeof l.readyState && (l.getElementsByTagName("body")[0] || l.body)) && f(), A || ("undefined" != typeof l.addEventListener && l.addEventListener("DOMContentLoaded", f, !1), k.ie && k.win && (l.attachEvent("onreadystatechange", function () { 384 "complete" == l.readyState && (l.detachEvent("onreadystatechange", arguments.callee), f()) 385 }), u == top && function () { 386 if (!A) { 387 try { 388 l.documentElement.doScroll("left") 389 } catch (a) { 390 setTimeout(arguments.callee, 0); 391 return 392 } 393 f() 394 } 395 }()), k.wk && function () { 396 A || (/loaded|complete/.test(l.readyState) ? f() : 397 setTimeout(arguments.callee, 0)) 398 }(), d(f))) 399 })(); 400 (function () { 401 k.ie && k.win && window.attachEvent("onunload", function () { 402 for (var a = B.length, b = 0; b < a; b++) B[b][0].detachEvent(B[b][1], B[b][2]); 403 a = H.length; 404 for (b = 0; b < a; b++) c(H[b]); 405 for (var h in k) k[h] = null; 406 k = null; 407 for (var d in swfobject) swfobject[d] = null; 408 swfobject = null 409 }) 410 })(); 411 return { 412 registerObject: function (a, c, b, h) { 413 if (k.w3 && a && c) { 414 var d = {}; 415 d.id = a; 416 d.swfVersion = c; 417 d.expressInstall = b; 418 d.callbackFn = h; 419 y[y.length] = d; 420 z(a, !1) 421 } else h && h({success: !1, id: a}) 422 }, getObjectById: function (a) { 423 if (k.w3) return g(a) 424 }, 425 embedSWF: function (c, b, h, d, f, m, g, n, l, v) { 426 var u = {success: !1, id: b}; 427 k.w3 && !(k.wk && 312 > k.wk) && c && b && h && d && f ? (z(b, !1), e(function () { 428 h += ""; 429 d += ""; 430 var e = {}; 431 if (l && "object" === typeof l) for (var k in l) e[k] = l[k]; 432 e.data = c;
433 e.width = h; 434 e.height = d; 435 k = {}; 436 if (n && "object" === typeof n) for (var r in n) k[r] = n[r]; 437 if (g && "object" === typeof g) for (var t in g) k.flashvars = "undefined" != typeof k.flashvars ? k.flashvars + ("&" + t + "=" + g[t]) : t + "=" + g[t]; 438 if (D(f)) r = a(e, k, b), e.id == b && z(b, !0), u.success = !0, u.ref = r; else { 439 if (m && p()) { 440 e.data = m; 441 q(e, k, b, v); 442 return 443 } 444 z(b, 445 !0) 446 } 447 v && v(u) 448 })) : v && v(u) 449 }, switchOffAutoHideShow: function () { 450 M = !1 451 }, ua: k, getFlashPlayerVersion: function () { 452 return {major: k.pv[0], minor: k.pv[1], release: k.pv[2]} 453 }, hasFlashPlayerVersion: D, createSWF: function (c, b, h) { 454 if (k.w3) return a(c, b, h) 455 }, showExpressInstall: function (a, c, b, h) { 456 k.w3 && p() && q(a, c, b, h) 457 }, removeSWF: function (a) { 458 k.w3 && c(a) 459 }, createCSS: function (a, c, b, h) { 460 k.w3 && m(a, c, b, h) 461 }, addDomLoadEvent: e, addLoadEvent: d, getQueryParamValue: function (a) { 462 var c = l.location.search || l.location.hash; 463 if (c) { 464 /\?/.test(c) && (c = c.split("?")[1]); 465 if (null == a) return K(c); 466 for (var c = c.split("&"), b = 0; b < c.length; b++) if (c[b].substring(0, c[b].indexOf("=")) == a) return K(c[b].substring(c[b].indexOf("=") + 1)) 467 } 468 return "" 469 }, expressInstallCallback: function () { 470 if (F) { 471 var a = h("SWFObjectExprInst"); 472 a && C && (a.parentNode.replaceChild(C, a), G && (z(G, !0), k.ie && k.win && (C.style.display = "block")), I && I(L)); 473 F = !1 474 } 475 } 476 } 477}(); 478 479function murmurhash3_32_gc(f, e) { 480 var d, n, b, g, p; 481 d = f.length & 3; 482 n = f.length - d; 483 b = e; 484 for (p = 0; p < n;) g = f.charCodeAt(p) & 255 | (f.charCodeAt(++p) & 255) << 8 | (f.charCodeAt(++p) & 255) << 16 | (f.charCodeAt(++p) & 255) << 24, ++p, g = 3432918353 * (g & 65535) + ((3432918353 * (g >>> 16) & 65535) << 16) & 4294967295, g = g << 15 | g >>> 17, g = 461845907 * (g & 65535) + ((461845907 * (g >>> 16) & 65535) << 16) & 4294967295, b ^= g, b = b << 13 | b >>> 19, b = 5 * (b & 65535) + ((5 * (b >>> 16) & 65535) << 16) & 4294967295, b = (b & 65535) + 27492 + (((b >>> 16) + 58964 & 65535) << 16); 485 g = 0; 486 switch (d) { 487 case 3: 488 g ^= (f.charCodeAt(p + 489 2) & 255) << 16; 490 case 2: 491 g ^= (f.charCodeAt(p + 1) & 255) << 8; 492 case 1: 493 g ^= f.charCodeAt(p) & 255, g = 3432918353 * (g & 65535) + ((3432918353 * (g >>> 16) & 65535) << 16) & 4294967295, g = g << 15 | g >>> 17, b ^= 461845907 * (g & 65535) + ((461845907 * (g >>> 16) & 65535) << 16) & 4294967295 494 } 495 b ^= f.length; 496 b ^= b >>> 16; 497 b = 2246822507 * (b & 65535) + ((2246822507 * (b >>> 16) & 65535) << 16) & 4294967295; 498 b ^= b >>> 13; 499 b = 3266489909 * (b & 65535) + ((3266489909 * (b >>> 16) & 65535) << 16) & 4294967295; 500 return (b ^ b >>> 16) >>> 0 501};var deployJava = function () { 502 function f(a) { 503 p.debug && (console.log ? console.log(a) : alert(a)) 504 } 505 506 function e(a) { 507 if (null == a || 0 == a.length) return "http://java.com/dt-redirect"; 508 "&" == a.charAt(0) && (a = a.substring(1, a.length)); 509 return "http://java.com/dt-redirect?" + a 510 } 511 512 var d = ["id", "class", "title", "style"]; 513 "classid codebase codetype data type archive declare standby height width usemap name tabindex align border hspace vspace".split(" ").concat(d, ["lang", "dir"], "onclick ondblclick onmousedown onmouseup onmouseover onmousemove onmouseout onkeypress onkeydown onkeyup".split(" ")); 514 var n = "codebase code name archive object width height alt align hspace vspace".split(" ").concat(d), b; 515 try { 516 b = -1 != document.location.protocol.indexOf("http") ? "//java.com/js/webstart.png" : "http://java.com/js/webstart.png"
517 } catch (g) { 518 b = "http://java.com/js/webstart.png" 519 } 520 var p = { 521 debug: null, 522 version: "20120801", 523 firefoxJavaVersion: null, 524 myInterval: null, 525 preInstallJREList: null, 526 returnPage: null, 527 brand: null, 528 locale: null, 529 installType: null, 530 EAInstallEnabled: !1, 531 EarlyAccessURL: null, 532 oldMimeType: "application/npruntime-scriptable-plugin;DeploymentToolkit", 533 mimeType: "application/java-deployment-toolkit", 534 launchButtonPNG: b, 535 browserName: null, 536 browserName2: null, 537 getJREs: function () { 538 var a = []; 539 if (this.isPluginInstalled()) for (var c = this.getPlugin().jvms, b = 0; b < c.getLength(); b++) a[b] = c.get(b).version; else c = this.getBrowser(), "MSIE" == c ? this.testUsingActiveX("1.7.0") ? a[0] = "1.7.0" : this.testUsingActiveX("1.6.0") ? a[0] = "1.6.0" : this.testUsingActiveX("1.5.0") ? a[0] = "1.5.0" : this.testUsingActiveX("1.4.2") ? a[0] = "1.4.2" : this.testForMSVM() && (a[0] = "1.1") : "Netscape Family" == c && (this.getJPIVersionUsingMimeType(), 540 null != this.firefoxJavaVersion ? a[0] = this.firefoxJavaVersion : this.testUsingMimeTypes("1.7") ? a[0] = "1.7.0" : this.testUsingMimeTypes("1.6") ? a[0] = "1.6.0" : this.testUsingMimeTypes("1.5") ? a[0] = "1.5.0" : this.testUsingMimeTypes("1.4.2") ? a[0] = "1.4.2" : "Safari" == this.browserName2 && (this.testUsingPluginsArray("1.7.0") ? a[0] = "1.7.0" : this.testUsingPluginsArray("1.6") ? a[0] = "1.6.0" : this.testUsingPluginsArray("1.5") ? a[0] = "1.5.0" : this.testUsingPluginsArray("1.4.2") && (a[0] = "1.4.2"))); 541 if (this.debug) for (b = 0; b < a.length; ++b) f("[getJREs()] We claim to have detected Java SE " + 542 a[b]); 543 return a 544 }, 545 installJRE: function (a, c) { 546 if (this.isPluginInstalled() && this.isAutoInstallEnabled(a)) { 547 var b = !1; 548 if (b = this.isCallbackSupported() ? this.getPlugin().installJRE(a, c) : this.getPlugin().installJRE(a)) this.refresh(), null != this.returnPage && (document.location = this.returnPage); 549 return b 550 } 551 return this.installLatestJRE() 552 }, 553 isAutoInstallEnabled: function (a) { 554 if (!this.isPluginInstalled()) return !1; 555 "undefined" == typeof a && (a = null); 556 if ("MSIE" != deployJava.browserName || deployJava.compareVersionToPattern(deployJava.getPlugin().version, 557 ["10", "0", "0"], !1, !0)) a = !0; else if (null == a) a = !1; else { 558 var c = "1.6.0_33+"; 559 if (null == c || 0 == c.length) a = !0; else { 560 var b = c.charAt(c.length - 1); 561 "+" != b && "*" != b && -1 != c.indexOf("_") && "_" != b && (c += "*", b = "*"); 562 c = c.substring(0, c.length - 1); 563 if (0 < c.length) { 564 var d = c.charAt(c.length - 1); 565 if ("." == d || "_" == d) c = c.substring(0, c.length - 1) 566 } 567 a = "*" == b ? 0 == a.indexOf(c) : "+" == b ? c <= a : !1 568 } 569 a = !a 570 } 571 return a 572 }, 573 isCallbackSupported: function () { 574 return this.isPluginInstalled() && this.compareVersionToPattern(this.getPlugin().version, ["10", "2", "0"], !1, !0) 575 }, 576 installLatestJRE: function (a) { 577 if (this.isPluginInstalled() && this.isAutoInstallEnabled()) { 578 var c = !1; 579 if (c = this.isCallbackSupported() ? this.getPlugin().installLatestJRE(a) : this.getPlugin().installLatestJRE()) this.refresh(), null != this.returnPage && (document.location = this.returnPage); 580 return c 581 } 582 a = this.getBrowser(); 583 c = navigator.platform.toLowerCase(); 584 if ("true" == this.EAInstallEnabled && -1 != c.indexOf("win") && null != this.EarlyAccessURL) this.preInstallJREList = this.getJREs(), null != this.returnPage && (this.myInterval = setInterval("deployJava.poll()", 585 3E3)), location.href = this.EarlyAccessURL; else { 586 if ("MSIE" == a) return this.IEInstall();
587 if ("Netscape Family" == a && -1 != c.indexOf("win32")) return this.FFInstall(); 588 location.href = e((null != this.returnPage ? "&returnPage=" + this.returnPage : "") + (null != this.locale ? "&locale=" + this.locale : "") + (null != this.brand ? "&brand=" + this.brand : "")) 589 } 590 return !1 591 }, 592 runApplet: function (a, c, b) { 593 if ("undefined" == b || null == b) b = "1.1"; 594 var d = b.match("^(\\d+)(?:\\.(\\d+)(?:\\.(\\d+)(?:_(\\d+))?)?)?$"); 595 null == this.returnPage && (this.returnPage = document.location); 596 null != d ? "?" != this.getBrowser() ? this.versionCheck(b + "+") ? this.writeAppletTag(a, c) : this.installJRE(b + "+") && (this.refresh(), location.href = document.location, this.writeAppletTag(a, c)) : this.writeAppletTag(a, c) : f("[runApplet()] Invalid minimumVersion argument to runApplet():" + b) 597 }, 598 writeAppletTag: function (a, c) { 599 var b = "<applet ", d = "", e = !0; 600 if (null == c || "object" != typeof c) c = {}; 601 for (var f in a) { 602 var g; 603 a:{ 604 g = f.toLowerCase(); 605 for (var p = n.length, q = 0; q < p; q++) if (n[q] === g) { 606 g = !0; 607 break a 608 } 609 g = !1 610 } 611 g ? (b += " " + f + '="' + a[f] + '"', "code" == 612 f && (e = !1)) : c[f] = a[f] 613 } 614 f = !1; 615 for (var l in c) { 616 "codebase_lookup" == l && (f = !0); 617 if ("object" == l || "java_object" == l || "java_code" == l) e = !1; 618 d += '<param name="' + l + '" value="' + c[l] + '"/>' 619 } 620 f || (d += '<param name="codebase_lookup" value="false"/>'); 621 e && (b += ' code="dummy"'); 622 document.write(b + ">\n" + d + "\n</applet>") 623 }, 624 versionCheck: function (a) { 625 var c = 0, b = a.match("^(\\d+)(?:\\.(\\d+)(?:\\.(\\d+)(?:_(\\d+))?)?)?(\\*|\\+)?$"); 626 if (null != b) { 627 for (var d = a = !1, e = [], g = 1; g < b.length; ++g) "string" == typeof b[g] && "" != b[g] && (e[c] = b[g], c++); 628 "+" == e[e.length - 629 1] ? (d = !0, a = !1, e.length--) : "*" == e[e.length - 1] ? (d = !1, a = !0, e.length--) : 4 > e.length && (d = !1, a = !0); 630 c = this.getJREs(); 631 for (g = 0; g < c.length; ++g) if (this.compareVersionToPattern(c[g], e, a, d)) return !0 632 } else c = "Invalid versionPattern passed to versionCheck: " + a, f("[versionCheck()] " + c), alert(c); 633 return !1 634 }, 635 isWebStartInstalled: function (a) { 636 if ("?" == this.getBrowser()) return !0; 637 if ("undefined" == a || null == a) a = "1.4.2"; 638 var c = !1; 639 null != a.match("^(\\d+)(?:\\.(\\d+)(?:\\.(\\d+)(?:_(\\d+))?)?)?$") ? c = this.versionCheck(a + "+") : (f("[isWebStartInstaller()] Invalid minimumVersion argument to isWebStartInstalled(): " + 640 a), c = this.versionCheck("1.4.2+")); 641 return c 642 }, 643 getJPIVersionUsingMimeType: function () { 644 for (var a = 0; a < navigator.mimeTypes.length; ++a) { 645 var c = navigator.mimeTypes[a].type.match(/^application\/x-java-applet;jpi-version=(.*)$/); 646 if (null != c && (this.firefoxJavaVersion = c[1], "Opera" != this.browserName2)) break 647 } 648 }, 649 launchWebStartApplication: function (a) { 650 navigator.userAgent.toLowerCase(); 651 this.getJPIVersionUsingMimeType(); 652 if (0 == this.isWebStartInstalled("1.7.0") && (0 == this.installJRE("1.7.0+") || 0 == this.isWebStartInstalled("1.7.0"))) return !1; 653 var c = null; 654 // document.documentURI && (c = document.documentURI); 655 // null == c && (c = document.URL); 656 // var b = this.getBrowser(), d; 657 // "MSIE" == b ? d = '<object classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" width="0" height="0"><PARAM name="launchjnlp" value="' + a + '"><PARAM name="docbase" value="' + c + '"></object>' : "Netscape Family" == b && (d = '<embed type="application/x-java-applet;jpi-version=' + this.firefoxJavaVersion + '" width="0" height="0" launchjnlp="' + a + '"docbase="' + c + '" />'); 658 // "undefined" == document.body || null == document.body ? 659 // (document.write(d), document.location = c) : (a = document.createElement("div"), a.id = "div1", a.style.position = "relative", a.style.left = "-10000px", a.style.margin = "0px auto", a.className = "dynamicDiv", a.innerHTML = d, document.body.appendChild(a)) 660 }, 661 createWebStartLaunchButtonEx: function (a, c) { 662 null == this.returnPage && (this.returnPage = a);
663 document.write('<a href="' + ("javascript:deployJava.launchWebStartApplication('" + a + "');") + '" onMouseOver="window.status=\'\'; return true;"><img src="' + this.launchButtonPNG + '" border="0" /></a>') 664 }, 665 createWebStartLaunchButton: function (a, c) { 666 null == this.returnPage && (this.returnPage = a); 667 document.write('<a href="' + ("javascript:if (!deployJava.isWebStartInstalled("" + c + "")) {if (deployJava.installLatestJRE()) {if (deployJava.launch("" + a + "")) {}}} else {if (deployJava.launch("" + a + "")) {}}") + '" onMouseOver="window.status=\'\'; return true;"><img src="' + this.launchButtonPNG + '" border="0" /></a>') 668 }, 669 launch: function (a) { 670 document.location = a; 671 return !0 672 }, 673 isPluginInstalled: function () { 674 var a = 675 this.getPlugin(); 676 return a && a.jvms ? !0 : !1 677 }, 678 isAutoUpdateEnabled: function () { 679 return this.isPluginInstalled() ? this.getPlugin().isAutoUpdateEnabled() : !1 680 }, 681 setAutoUpdateEnabled: function () { 682 return this.isPluginInstalled() ? this.getPlugin().setAutoUpdateEnabled() : !1 683 }, 684 setInstallerType: function (a) { 685 this.installType = a; 686 return this.isPluginInstalled() ? this.getPlugin().setInstallerType(a) : !1 687 }, 688 setAdditionalPackages: function (a) { 689 return this.isPluginInstalled() ? this.getPlugin().setAdditionalPackages(a) : !1 690 }, 691 setEarlyAccess: function (a) { 692 this.EAInstallEnabled = 693 a 694 }, 695 isPlugin2: function () { 696 if (this.isPluginInstalled() && this.versionCheck("1.6.0_10+")) try { 697 return this.getPlugin().isPlugin2() 698 } catch (a) { 699 } 700 return !1 701 }, 702 allowPlugin: function () { 703 this.getBrowser(); 704 return "Safari" != this.browserName2 && "Opera" != this.browserName2 705 }, 706 getPlugin: function () { 707 this.refresh(); 708 var a = null; 709 this.allowPlugin() && (a = document.getElementById("deployJavaPlugin")); 710 return a 711 }, 712 compareVersionToPattern: function (a, c, b, d) { 713 if (void 0 == a || void 0 == c) return !1; 714 var e = a.match("^(\\d+)(?:\\.(\\d+)(?:\\.(\\d+)(?:_(\\d+))?)?)?$"); 715 if (null != e) { 716 var f = 0; 717 a = []; 718 for (var g = 1; g < e.length; ++g) "string" == typeof e[g] && "" != e[g] && (a[f] = e[g], f++); 719 e = Math.min(a.length, c.length); 720 if (d) { 721 for (g = 0; g < e; ++g) { 722 if (a[g] < c[g]) return !1; 723 if (a[g] > c[g]) break 724 } 725 return !0 726 } 727 for (g = 0; g < e; ++g) if (a[g] != c[g]) return !1; 728 return b ? !0 : a.length == c.length 729 } 730 return !1 731 }, 732 getBrowser: function () { 733 if (null == this.browserName) { 734 var a = navigator.userAgent.toLowerCase(); 735 f("[getBrowser()] navigator.userAgent.toLowerCase() -> " + a); 736 -1 != a.indexOf("msie") && -1 == a.indexOf("opera") ? this.browserName2 = this.browserName = 737 "MSIE" : -1 != a.indexOf("iphone") ? (this.browserName = "Netscape Family", this.browserName2 = "iPhone") : -1 != a.indexOf("firefox") && -1 == a.indexOf("opera") ? (this.browserName = "Netscape Family", this.browserName2 = "Firefox") : -1 != a.indexOf("chrome") ? (this.browserName = "Netscape Family", this.browserName2 = "Chrome") : -1 != a.indexOf("safari") ? (this.browserName = "Netscape Family", this.browserName2 = "Safari") : -1 != a.indexOf("mozilla") && -1 == a.indexOf("opera") ? (this.browserName = "Netscape Family", this.browserName2 = "Other") : -1 != 738 a.indexOf("opera") ? (this.browserName = "Netscape Family", this.browserName2 = "Opera") : (this.browserName = "?", this.browserName2 = "unknown"); 739 f("[getBrowser()] Detected browser name:" + this.browserName + ", " + this.browserName2) 740 } 741 return this.browserName 742 }, 743 testUsingActiveX: function (a) { 744 a = "JavaWebStart.isInstalled." + a + ".0";
745 if ("undefined" == typeof ActiveXObject || !ActiveXObject) return f("[testUsingActiveX()] Browser claims to be IE, but no ActiveXObject object?"), !1; 746 try { 747 return null != new ActiveXObject(a) 748 } catch (c) { 749 return !1 750 } 751 }, 752 testForMSVM: function () { 753 if ("undefined" != typeof oClientCaps) { 754 var a = oClientCaps.getComponentVersion("{08B0E5C0-4FCB-11CF-AAA5-00401C608500}", "ComponentID"); 755 return "" == a || "5,0,5000,0" == a ? !1 : !0 756 } 757 return !1 758 }, 759 testUsingMimeTypes: function (a) { 760 if (!navigator.mimeTypes) return f("[testUsingMimeTypes()] Browser claims to be Netscape family, but no mimeTypes[] array?"), !1; 761 for (var c = 0; c < navigator.mimeTypes.length; ++c) { 762 s = navigator.mimeTypes[c].type; 763 var b = s.match(/^application\/x-java-applet\x3Bversion=(1\.8|1\.7|1\.6|1\.5|1\.4\.2)$/); 764 if (null != b && this.compareVersions(b[1], a)) return !0 765 } 766 return !1 767 }, 768 testUsingPluginsArray: function (a) { 769 if (!navigator.plugins || !navigator.plugins.length) return !1; 770 for (var c = navigator.platform.toLowerCase(), b = 0; b < navigator.plugins.length; ++b) if (s = navigator.plugins[b].description, -1 != s.search(/^Java Switchable Plug-in (Cocoa)/)) { 771 if (this.compareVersions("1.5.0", a)) return !0 772 } else if (-1 != s.search(/^Java/) && -1 != c.indexOf("win") && (this.compareVersions("1.5.0", a) || this.compareVersions("1.6.0", a))) return !0; 773 return this.compareVersions("1.5.0", 774 a) ? !0 : !1 775 }, 776 IEInstall: function () { 777 location.href = e((null != this.returnPage ? "&returnPage=" + this.returnPage : "") + (null != this.locale ? "&locale=" + this.locale : "") + (null != this.brand ? "&brand=" + this.brand : "")); 778 return !1 779 }, 780 done: function (a, b) { 781 }, 782 FFInstall: function () { 783 location.href = e((null != this.returnPage ? "&returnPage=" + this.returnPage : "") + (null != this.locale ? "&locale=" + this.locale : "") + (null != this.brand ? "&brand=" + this.brand : "") + (null != this.installType ? "&type=" + this.installType : "")); 784 return !1 785 }, 786 compareVersions: function (a, 787 b) { 788 for (var d = a.split("."), e = b.split("."), f = 0; f < d.length; ++f) d[f] = Number(d[f]); 789 for (f = 0; f < e.length; ++f) e[f] = Number(e[f]); 790 2 == d.length && (d[2] = 0); 791 return d[0] > e[0] ? !0 : d[0] < e[0] ? !1 : d[1] > e[1] ? !0 : d[1] < e[1] ? !1 : d[2] > e[2] ? !0 : d[2] < e[2] ? !1 : !0 792 }, 793 enableAlerts: function () { 794 this.browserName = null; 795 this.debug = !0 796 }, 797 poll: function () { 798 this.refresh(); 799 var a = this.getJREs(); 800 0 == this.preInstallJREList.length && 0 != a.length && (clearInterval(this.myInterval), null != this.returnPage && (location.href = this.returnPage)); 801 0 != this.preInstallJREList.length && 802 0 != a.length && this.preInstallJREList[0] != a[0] && (clearInterval(this.myInterval), null != this.returnPage && (location.href = this.returnPage)) 803 }, 804 writePluginTag: function () { 805 var a = this.getBrowser();
806 "MSIE" == a ? document.write('<object classid="clsid:CAFEEFAC-DEC7-0000-0001-ABCDEFFEDCBA" id="deployJavaPlugin" width="0" height="0"></object>') : "Netscape Family" == a && this.allowPlugin() && this.writeEmbedTag() 807 }, 808 refresh: function () { 809 navigator.plugins.refresh(!1); 810 "Netscape Family" == this.getBrowser() && this.allowPlugin() && null == 811 document.getElementById("deployJavaPlugin") && this.writeEmbedTag() 812 }, 813 writeEmbedTag: function () { 814 var a = !1; 815 if (null != navigator.mimeTypes) { 816 for (var b = 0; b < navigator.mimeTypes.length; b++) navigator.mimeTypes[b].type == this.mimeType && navigator.mimeTypes[b].enabledPlugin && (document.write('<embed id="deployJavaPlugin" type="' + this.mimeType + '" hidden="true" />'), a = !0); 817 if (!a) for (b = 0; b < navigator.mimeTypes.length; b++) navigator.mimeTypes[b].type == this.oldMimeType && navigator.mimeTypes[b].enabledPlugin && document.write('
817<embed id="deployJavaPlugin" type="' + 818 this.oldMimeType + '" hidden="true" />') 819 } 820 } 821 }; 822 p.writePluginTag(); 823 if (null == p.locale) { 824 d = null; 825 if (null == d) try { 826 d = navigator.userLanguage 827 } catch (q) { 828 } 829 if (null == d) try { 830 d = navigator.systemLanguage 831 } catch (r) { 832 } 833 if (null == d) try { 834 d = navigator.language 835 } catch (t) { 836 } 837 null != d && (d.replace("-", "_"), p.locale = d) 838 } 839 return p 840}(); 841(function (f) { 842 var e, d = function () { 843 e = (new UAParser).getResult(); 844 return this 845 }; 846 d.prototype = { 847 getSoftwareVersion: function () { 848 return "ClientJS 0.1.5" 849 }, getBrowserData: function () { 850 return e 851 }, getFingerprint: function () { 852 var d = e.ua, b = this.getScreenPrint(), f = this.getPlugins(), p = this.getFonts(), 853 q = this.isLocalStorage(), r = this.isSessionStorage(), t = this.getTimeZone(), a = this.getLanguage(), 854 c = this.getSystemLanguage(), h = this.isCookie(), v = this.getCanvasPrint(); 855 return murmurhash3_32_gc(d + "|" + b + "|" + f + "|" + p + "|" + q + "|" + r + "|" + t + "|" + 856 a + "|" + c + "|" + h + "|" + v, 256) 857 }, getUserAgent: function () { 858 return e.ua 859 }, getUserAgentLowerCase: function () { 860 return e.ua.toLowerCase() 861 }, getBrowser: function () { 862 return e.browser.name 863 }, getBrowserVersion: function () { 864 return e.browser.version 865 }, getBrowserMajorVersion: function () { 866 return e.browser.major 867 }, isIE: function () { 868 return /IE/i.test(e.browser.name) 869 }, isChrome: function () { 870 return /Chrome/i.test(e.browser.name) 871 }, isFirefox: function () { 872 return /Firefox/i.test(e.browser.name) 873 }, isSafari: function () { 874 return /Safari/i.test(e.browser.name) 875 }, 876 isOpera: function () { 877 return /Opera/i.test(e.browser.name) 878 }, getEngine: function () { 879 return e.engine.name 880 }, getEngineVersion: function () { 881 return e.engine.version 882 }, getOS: function () { 883 return e.os.name 884 }, getOSVersion: function () { 885 return e.os.version 886 }, isWindows: function () { 887 return /Windows/i.test(e.os.name) 888 }, isMac: function () { 889 return /Mac/i.test(e.os.name) 890 }, isLinux: function () { 891 return /Linux/i.test(e.os.name) 892 }, isUbuntu: function () { 893 return /Ubuntu/i.test(e.os.name) 894 }, isSolaris: function () { 895 return /Solaris/i.test(e.os.name) 896 }, getDevice: function () { 897 return e.device.model 898 }, 899 getDeviceType: function () { 900 return e.device.type 901 }, getDeviceVendor: function () { 902 return e.device.vendor 903 }, getCPU: function () { 904 return e.cpu.architecture 905 }, isMobile: function () { 906 var d = e.ua || navigator.vendor || window.opera; 907 return /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(d) || 908 /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|
908sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(d.substr(0, 909 4)) 910 }, isMobileMajor: function () { 911 return this.isMobileAndroid() || this.isMobileBlackBerry() || this.isMobileIOS() || this.isMobileOpera() || this.isMobileWindows() 912 }, isMobileAndroid: function () { 913 return e.ua.match(/Android/i) ? !0 : !1 914 }, isMobileOpera: function () { 915 return e.ua.match(/Opera Mini/i) ? !0 : !1 916 }, isMobileWindows: function () { 917 return e.ua.match(/IEMobile/i) ? !0 : !1 918 }, isMobileBlackBerry: function () { 919 return e.ua.match(/BlackBerry/i) ? !0 : !1 920 }, isMobileIOS: function () { 921 return e.ua.match(/iPhone|iPad|iPod/i) ? !0 : !1 922 }, isIphone: function () { 923 return e.ua.match(/iPhone/i) ? 924 !0 : !1 925 }, isIpad: function () { 926 return e.ua.match(/iPad/i) ? !0 : !1 927 }, isIpod: function () { 928 return e.ua.match(/iPod/i) ? !0 : !1 929 }, getScreenPrint: function () { 930 return "Current Resolution: " + this.getCurrentResolution() + ", Avaiable Resolution: " + this.getAvailableResolution() + ", Color Depth: " + this.getColorDepth() + ", Device XDPI: " + this.getDeviceXDPI() + ", Device YDPI: " + this.getDeviceYDPI() 931 }, getColorDepth: function () { 932 return screen.colorDepth 933 }, getCurrentResolution: function () { 934 return screen.width + "x" + screen.height 935 }, getAvailableResolution: function () { 936 return screen.availWidth + 937 "x" + screen.availHeight 938 }, getDeviceXDPI: function () { 939 return screen.deviceXDPI 940 }, getDeviceYDPI: function () { 941 return screen.deviceYDPI 942 }, getPlugins: function () { 943 for (var d = "", b = 0; b < navigator.plugins.length; b++) d = b == navigator.plugins.length - 1 ? d + navigator.plugins[b].name : d + (navigator.plugins[b].name + ", "); 944 return d 945 }, isJava: function () { 946 return navigator.javaEnabled() 947 }, getJavaVersion: function () { 948 return deployJava.getJREs().toString() 949 }, isFlash: function () { 950 return navigator.plugins["Shockwave Flash"] ? !0 : !1 951 }, getFlashVersion: function () { 952 return this.isFlash() ? 953 (objPlayerVersion = swfobject.getFlashPlayerVersion(), objPlayerVersion.major + "." + objPlayerVersion.minor + "." + objPlayerVersion.release) : "" 954 }, isSilverlight: function () { 955 return navigator.plugins["Silverlight Plug-In"] ? !0 : !1 956 }, getSilverlightVersion: function () { 957 return this.isSilverlight() ? navigator.plugins["Silverlight Plug-In"].description : "" 958 }, isMimeTypes: function () { 959 return navigator.mimeTypes.length ? !0 : !1 960 }, getMimeTypes: function () { 961 for (var d = "", b = 0; b < navigator.mimeTypes.length; b++) d = b == navigator.mimeTypes.length - 962 1 ? d + navigator.mimeTypes[b].description : d + (navigator.mimeTypes[b].description + ", "); 963 return d 964 }, isFont: function (d) { 965 return (new Detector).detect(d) 966 }, getFonts: function () { 967 for (var d = new Detector, b = "Abadi MT Condensed Light;Adobe Fangsong Std;Adobe Hebrew;Adobe Ming Std;Agency FB;Aharoni;Andalus;Angsana New;AngsanaUPC;Aparajita;Arab;Arabic Transparent;Arabic Typesetting;Arial Baltic;Arial Black;Arial CE;Arial CYR;Arial Greek;Arial TUR;Arial;Batang;BatangChe;Bauhaus 93;Bell MT;Bitstream Vera Serif;Bodoni MT;Bookman Old Style;Braggadocio;Broadway;Browallia New;BrowalliaUPC;Calibri Light;Calibri;Californian FB;Cambria Math;Cambria;Candara;Castellar;Casual;Centaur;Century Gothic;Chalkduster;Colonna MT;Comic Sans MS;Consolas;Constantia;Copperplate Gothic Light;Corbel;Cordia New;CordiaUPC;Courier New Baltic;Courier New CE;Courier New CYR;Courier New Greek;Courier New TUR;Courier New;DFKai-SB;DaunPenh;David;DejaVu LGC Sans Mono;Desdemona;DilleniaUPC;DokChampa;Dotum;DotumChe;Ebrima;Engravers MT;Eras Bold ITC;Estrangelo Edessa;EucrosiaUPC;Euphemia;Eurostile;FangSong;Forte;FrankRuehl;Franklin Gothic Heavy;Franklin Gothic Medium;FreesiaUPC;French Script MT;Gabriola;Gautami;Georgia;Gigi;Gisha;Goudy Old Style;Gulim;GulimChe;GungSeo;Gungsuh;GungsuhChe;Haettenschweiler;Harrington;Hei S;HeiT;Heisei Kaku Gothic;Hiragino Sans GB;Impact;Informal Roman;IrisUPC;Iskoola Pota;JasmineUPC;KacstOne;KaiTi;Kalinga;Kartika;Khmer UI;Kino MT;KodchiangUPC;Kokila;Kozuka Gothic Pr6N;Lao UI;Latha;Leelawadee;Levenim MT;LilyUPC;Lohit Gujarati;Loma;Lucida Bright;Lucida Console;Lucida Fax;Lucida Sans Unicode;MS Gothic;MS Mincho;MS PGothic;MS PMincho;MS Reference Sans Serif;MS UI Gothic;MV Boli;Magneto;Malgun Gothic;Mangal;Marlett;Matura MT Script Capitals;Meiryo UI;Meiryo;Menlo;Microsoft Himalaya;Microsoft JhengHei;Microsoft New Tai Lue;Microsoft PhagsPa;Microsoft Sans Serif;Microsoft Tai Le;Microsoft Uighur;Microsoft YaHei;Microsoft Yi Baiti;MingLiU;MingLiU-ExtB;MingLiU_HKSCS;MingLiU_HKSCS-ExtB;Miriam Fixed;Miriam;Mongolian Baiti;MoolBoran;NSimSun;
967Narkisim;News Gothic MT;Niagara Solid;Nyala;PMingLiU;PMingLiU-ExtB;Palace Script MT;Palatino Linotype;Papyrus;Perpetua;Plantagenet Cherokee;Playbill;Prelude Bold;Prelude Condensed Bold;Prelude Condensed Medium;Prelude Medium;PreludeCompressedWGL Black;PreludeCompressedWGL Bold;PreludeCompressedWGL Light;PreludeCompressedWGL Medium;PreludeCondensedWGL Black;PreludeCondensedWGL Bold;PreludeCondensedWGL Light;PreludeCondensedWGL Medium;PreludeWGL Black;PreludeWGL Bold;PreludeWGL Light;PreludeWGL Medium;Raavi;Rachana;Rockwell;Rod;Sakkal Majalla;Sawasdee;Script MT Bold;Segoe Print;Segoe Script;Segoe UI Light;Segoe UI Semibold;Segoe UI Symbol;Segoe UI;Shonar Bangla;Showcard Gothic;Shruti;SimHei;SimSun;SimSun-ExtB;Simplified Arabic Fixed;Simplified Arabic;Snap ITC;Sylfaen;Symbol;Tahoma;Times New Roman Baltic;Times New Roman CE;Times New Roman CYR;Times New Roman Greek;Times New Roman TUR;Times New Roman;TlwgMono;Traditional Arabic;Trebuchet MS;Tunga;Tw Cen MT Condensed Extra Bold;Ubuntu;Umpush;Univers;Utopia;Utsaah;Vani;Verdana;Vijaya;Vladimir Script;Vrinda;Webdings;Wide Latin;Wingdings".split(";"), 968 e = "", f = 0; f < b.length; f++) d.detect(b[f]) && (e = f == b.length - 1 ? e + b[f] : e + (b[f] + ", ")); 969 return e 970 }, isLocalStorage: function () { 971 try { 972 return !!f.localStorage 973 } catch (d) { 974 return !0 975 } 976 }, isSessionStorage: function () { 977 try { 978 return !!f.sessionStorage 979 } catch (d) { 980 return !0 981 } 982 }, isCookie: function () { 983 return navigator.cookieEnabled 984 }, getTimeZone: function () { 985 return String(String(new Date).split("(")[1]).split(")")[0] 986 }, getLanguage: function () { 987 return navigator.language 988 }, getSystemLanguage: function () { 989 return navigator.systemLanguage 990 }, isCanvas: function () { 991 var d = 992 document.createElement("canvas"); 993 try { 994 return !(!d.getContext || !d.getContext("2d")) 995 } catch (b) { 996 return !1 997 } 998 }, getCanvasPrint: function () { 999 var d = document.createElement("canvas"), b; 1000 try { 1001 b = d.getContext("2d") 1002 } catch (e) { 1003 return "" 1004 } 1005 b.textBaseline = "top"; 1006 b.font = "14px 'Arial'"; 1007 b.textBaseline = "alphabetic"; 1008 b.fillStyle = "#f60"; 1009 b.fillRect(125, 1, 62, 20); 1010 b.fillStyle = "#069"; 1011 b.fillText("http://valve.github.io", 2, 15); 1012 b.fillStyle = "rgba(102, 204, 0, 0.7)"; 1013 b.fillText("http://valve.github.io", 4, 17); 1014 return d.toDataURL() 1015 } 1016 }; 1017 "object" === typeof module && 1018 "object" === typeof exports && (module.exports = d); 1019 f.ClientJS = d 1020})(window);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.