How to use urlMatchRule method in Testcafe

Best JavaScript code snippet using testcafe

gs.js

Source:gs.js Github

copy

Full Screen

1var Gridsum;2(function (a) {3 function n(a) {4 return "string" == typeof a5 }6 var c = document, b = Math;7 a.b = {8 lower: function (a) {9 return a && n(a) ? a.toLowerCase() : a10 }, indexOf: function (a, c, d) {11 if (a) {12 if (a.indexOf) return a.indexOf(c, d);13 if (a.length) for (d = d || 0; d < a.length; d++) if (a[d] === c) return d14 }15 return -116 }, qa: function (m, c) {17 var d = 1315423911, q, r;18 c || (m = a.b.lower(m));19 for (q = m.length - 1; 0 <= q; q--) r = m.charCodeAt(q), d ^= (d << 5) + r + (d >> 2);20 return d & 214748364721 }, Ma: function () {22 return b.round((new Date).getTimezoneOffset() / -60) + ""23 }, Aa: function () {24 return (new Date).getTime() + 36E5 * Number(a.b.Ma())25 }, ra: function (a) {26 var m, d = [];27 for (m = 0; m < a; m++) d.push("abcdefghijklmnopqrstuvwxyz0123456789".charAt(b.round(35 * b.random())));28 return d.join("")29 }, A: function (m) {30 var c = (new Date).getTime() + "", d = "";31 m || (d = "" + b.abs(a.b.qa(location.href + document.referrer + navigator.userAgent)), d = d.substring(0, 2 < d.length ? 2 : d.length));32 return c.substring(2, c.length - 3) + (m ? a.b.ra(8) : a.b.ra(6)) + d33 }, P: function (m, b, d) {34 if (!m) return null;35 var q, r = a.b.Lb(c.cookie, "=", ";", !0);36 m = a.b.lower(m);37 for (q in r) if (r && r.hasOwnProperty && r.hasOwnProperty(q) && a.b.lower(q) === m) return d ? r[q] : a.b.decode(r[q]);38 return b || null39 }, W: function (m, b, d, q, r, n, A) {40 m && (m = a.b.lower(m), A || (b = a.b.encode(b)), m = m + "=" + b + ";", b = d ? "expires=" + a.b.hc(d).toUTCString() + ";" : "", c.cookie = m + b + (q ? "path=" + q + ";" : "path=/;") + (r ? "domain=" + r + ";" : "") + (n ? "secure=true;" : ""))41 }, lb: function (m, c, d) {42 a.b.W(m, "", -1E3, c, d)43 }, hc: function (a) {44 return new Date((new Date).getTime() + 1E3 * a)45 }, trim: function (a) {46 return a && n(a) ? a.replace(/(^\s+)|(\s+$)/ig, "") : a47 }, Lb: function (m, c, d, q) {48 var b = {};49 c = c || "=";50 m = m.split(d || "&");51 var n = q ? a.b.trim : function (a) {52 return a53 };54 for (q = 0; q < m.length; q++) d = m[q].indexOf(c), -1 < d ? b[n(m[q].substring(0, d))] = n(m[q].substring(d + 1)) : b[m[q]] = null;55 return b56 }, encode: function (a) {57 return a && n(a) ? (encodeURIComponent || escape)(a) : a58 }, decode: function (a) {59 if (a && n(a)) {60 a = a.replace(/\+/ig, "%20");61 try {62 return (decodeURIComponent || unescape)(a)63 } catch (z) {64 }65 }66 return a67 }, Ce: function () {68 a.b.W("gs_tc", "1");69 var m = a.b.P("gs_tc");70 a.b.lb("gs_tc");71 return !!m72 }, mc: function (m) {73 var c = "cn hk tw au uk us \u516c\u53f8 \u4e2d\u56fd \u7f51\u7edc".split(" "),74 d = "com edu net org gov int cc me tel mobi asia biz info name tv".split(" "), q = m.split("."),75 b = q.length;76 return 3 <= b ? -1 < a.b.indexOf(c, q[b - 1]) && -1 < a.b.indexOf(d, q[b - 2]) ? q[b - 3] + "." + q[b - 2] + "." + q[b - 1] : q[b - 2] + "." + q[b - 1] : m77 }, Ne: function (b) {78 for (var m in b) a.b[m] = b[m]79 }, Jf: function (a) {80 var b = {}, d = location.search.substring(1);81 a && (a = a.split("?"), 2 == a.length && (d = a[1]));82 d = d.split("&");83 for (a = 0; a < d.length; a++) {84 var q = d[a].indexOf("=");85 -1 != q && (b[d[a].substring(0, q)] = decodeURIComponent(d[a].substring(q + 1)))86 }87 return b88 }, ic: function () {89 for (var a = "", b = 0; 8 > b; b++) a += (65536 * (1 + Math.random()) | 0).toString(16).substring(1);90 return a91 }, ge: function (a) {92 return 6E4 * a.getTimezoneOffset() + a.getTime()93 }94 }95})(Gridsum || (Gridsum = {}));96(function (a) {97 var n = window, c = document, b = c.documentElement, m = location, z = navigator.userAgent.toLowerCase(), d = Math,98 q, r, w, A, B, h, f, l = {99 nb: ["diag-wd.gridsumdissector.com/receivewddiag/gs.gif"], l: void 0, ed: function (a) {100 return a101 }, isArray: function (a) {102 return a && a.constructor == Array103 }, Cc: function (a, f) {104 return a && a.hasOwnProperty ? a.hasOwnProperty(f) : !1105 }, sa: function (a) {106 return "string" == typeof a107 }, R: function (a, f, v, h) {108 if (!f) return null;109 a = (a || m.pathname + m.search).replace(/\#.*/ig, "");110 for (var e = ["&", "?"], p = 0; 2 > p; p++) {111 var y = l.find(a, e[p] + f + "=", "&", v);112 if (null != y) return h ? A(y) : y113 }114 return null115 }, find: function (a, f, v, h, e) {116 a = l.dc(a, f, v, h, e);117 f = a.length;118 return 0 < f ? a[f - 1] : null119 }, dc: function (p, y, l, h, e) {120 if (!p || !f(p)) return [];121 var v = [], d, b, c = "";122 b = 0;123 y = y || "";124 h || (c = q(p), y = q(y), l = q(l));125 for (; -1 < b;) {126 h = null;127 -1 < (d = r(c, y, b)) && (h = d + y.length, l ? (b = r(c, l, h), b >= h ? (h = p.substring(h, b), b += l.length) : (h = p.substring(h), b = -1)) : (h = p.substring(h), b = -1));128 if (!h) break;129 v.push(e ? h : a.b.trim(h))130 }131 return v132 }, yb: function (a, f, l, h) {133 l = h ? l || m.pathname : q(l || m.pathname);134 f = q(f);135 B(a) || (a = [a]);136 for (h = 0; h < a.length; h++) {137 var e = q(a[h]);138 if ("contains" == f && -1 < r(l, e) || "startswith" == f && 0 == r(l, e) || "endswith" == f && -1 < r(l, e, l.length - e.length) || "exactmatch" == f && l == e || "regex" == f && e.test && e.test(l)) return !0139 }140 return !1141 }, ta: function (f) {142 for (; f && " " == f[0];) f = f.substr(1);143 var p, l = {url: f};144 (p = f.match(/((\w+:)?\/\/([^\/\#&?]*))?\/?([^?#]*)?(\?[^#]*)?(#.*)?/)) ? (f = p[2] || m.protocol, l.protocol = f.substring(0, f.length - 1), l.local = "file" == l.protocol, l.host = p[3] || m.host, l.path = "/" + (p[4] || ""), l.fullPath = l.path, l.query = (p[5] || "").substring(1), l.anchor = (p[6] || "").substring(1), l.query && (l.fullPath += "?" + l.query, l.g = a.b.Lb(l.query.replace(/\?/g, "&")))) : (l.local = !0, l.protocol = "file", l.fullPath = l.path = "/" + f.replace(/\\/g, "/"));145 return l146 }, D: function (a, f, b, d, e) {147 function p(e) {148 if (!e) return "";149 var a = [], f;150 for (f in e) h(e, f) && (e[f] || 0 === e[f]) && a.push(f + ":" + w(e[f]));151 return a.join(";")152 }153 var y = [];154 e = e ? l.ed : w;155 var v, q = "gsurl gsorurl gsref gsmcurl lk url gssresurl gssref gsourl".split(" ");156 f = f || "=";157 b = b || "&";158 for (v in a) {159 var c = !1, m;160 for (m in q) if (q[m] == v) {161 c = !0;162 break163 }164 !c && h(a, v) && (d || a[v] || 0 === a[v]) && y.push(v + f + ("pcp" == v || "ecp" == v ? p(a[v]) : e(a[v])))165 }166 for (v = 0; v < q.length; v++) h(a, q[v]) && (d || a[q[v]] || 0 === a[q[v]]) && y.push(q[v] + f + e(a[q[v]]));167 return y.join(b)168 }, T: function (a) {169 return f(a) ? c.getElementById(a) : a170 }, Pb: function (a, f, h, b, e) {171 b = b || 30;172 var p = setInterval(function () {173 var h;174 if (a.split) {175 var y = a.split(".", 3), v = y.length, d = n;176 if (1 < v) {177 for (h = 0; h < v; h++) if (!h || "window" != y[h]) if (d = d[y[h]], !d) break;178 h = d179 }180 }181 h || (h = l.T(a)) ? (clearInterval(p), f(h)) : 0 < b ? --b : (clearInterval(p), e && e(h))182 }, h || 1E3)183 }, o: function (a) {184 var f, h, p;185 f = c.body;186 if (null === a.parentNode || "none" == a.style.display) return null;187 if (a.getBoundingClientRect) return h = a.getBoundingClientRect(), a = d.max(b.scrollTop, f.scrollTop), f = d.max(b.scrollLeft, f.scrollLeft), f = "BackCompat" == c.compatMode && l.Pa() ? {188 x: h.left,189 y: h.top190 } : {x: h.left + f, y: h.top + a};191 if (c.getBoxObjectFor) h = c.getBoxObjectFor(a), p = [h.x - (a.style.borderLeftWidth ? parseInt(a.style.borderLeftWidth, 10) : 0), h.y - (a.style.borderTopWidth ? parseInt(a.style.borderTopWidth, 10) : 0)]; else {192 p = [a.offsetLeft, a.offsetTop];193 h = a.offsetParent;194 if (h != a) for (; h;) p[0] += h.offsetLeft, p[1] += h.offsetTop, h = h.offsetParent;195 if (-1 != r(z, "opera") || -1 != r(z, "safari") && "absolute" == a.style.position) p[0] -= f.offsetLeft, p[1] -= f.offsetTop196 }197 for (h = a.parentNode ? a.parentNode : null; h && "BODY" != h.tagName && "HTML" != h.tagName;) p[0] -= h.scrollLeft, p[1] -= h.scrollTop, h = h.parentNode ? h.parentNode : null;198 return f = {x: p[0], y: p[1]}199 }, pb: function () {200 return b && b.scrollWidth || c.body && c.body.scrollWidth || 0201 }, lc: function (a) {202 var f = c.body || {scrollLeft: 0, scrollTop: 0};203 return {204 x: a.pageX || a.clientX + (b.scrollLeft || f.scrollLeft) - (b.clientLeft || 0),205 y: a.pageY || a.clientY + (b.scrollTop || f.scrollTop) - (b.clientTop || 0)206 }207 }, observe: function (a, f, h) {208 function p(e) {209 e.target || (e.target = e.srcElement || a);210 if (!e.pageX) {211 var f = l.lc(e);212 e.pageX = f.x;213 e.pageY = f.y214 }215 e.root = a;216 h.call(a, e)217 }218 "beforeunload" == f && l.Bc() && (f = "pagehide");219 a = l.T(a);220 if (!a) return null;221 a.addEventListener ? a.addEventListener(f, p, !1) : a.attachEvent("on" + f, p);222 return a223 }, Ha: function (a, f) {224 function h(a) {225 e = a.pageX;226 b = a.pageY227 }228 function p(h) {229 h.target || (h.target = h.srcElement || a);230 try {231 if (h.changedTouches[0].pageX != e || h.changedTouches[0].pageY != b) {232 b = e = null;233 return234 }235 } catch (J) {236 l.f("", "M_utility_observeTouch", J);237 b = e = null;238 return239 }240 l.l = {la: e, ma: b};241 b = e = null;242 h.root = a;243 f.call(a, h)244 }245 var e, b;246 a = l.T(a);247 if (!a) return null;248 a.addEventListener ? (a.addEventListener("touchstart", h, !1), a.addEventListener("touchend", p, !1)) : (a.attachEvent("ontouchstart", h), a.attachEvent("ontouchend", p));249 return a250 }, ha: function (f) {251 if (f = l.T(f)) {252 if (f.innerText) return a.b.trim(f.innerText).replace(/\n+/ig, " ");253 if (f.innerHTML) return a.b.trim(f.innerHTML.replace(/<[^>]+>/ig, "")).replace(/\n+/ig, "")254 }255 return null256 }, ia: function (a, f) {257 a = l.T(a);258 var h = "";259 if (a && a.innerHTML) for (var b = a.innerHTML, e = b.indexOf(f + '="'); -1 != e;) var e = e + (f.length + 2), p = b.indexOf('"', e), h = h + b.substr(e, p - e), b = b.substr(p), e = b.indexOf(f + '="');260 return h261 }, s: function (a, l, b, d, e) {262 var p;263 b = q(b);264 a = a && a.parentNode;265 var y = void 0 === l.target || f(l.target) ? l : l.target;266 do {267 l = !0;268 if (!b || q(y.tagName) == b) for (p in l = !1, d) if (h(d, p) && 0 > r(q(y[p] || y.getAttribute(p)), q(d[p]))) {269 l = !0;270 break271 }272 if (l) y = y.parentNode; else return y;273 if (0 == e) break;274 e--275 } while (y && y != a && y.getAttribute);276 return null277 }, f: function (f, h, b) {278 try {279 b = b || {};280 for (var p = 0; p < l.nb.length; p++) {281 var e = ("https:" == m.protocol ? "https://" : "http://") + l.nb[p] + "?gscmd=err&gsrd=" + d.round(2147483647 * d.random()) + "&gsver=" + a.j.version + "&gserrc=" + h + "&gssrvid=" + f + "&gserrobj=" + l.D(b, "~", "'");282 (new Image(1, 1)).src = e283 }284 } catch (G) {285 }286 }, fc: function (f, h) {287 var b, p, e, d = h.fb, q = h.Ab, c = h.Jb, y = h.Bb, m = h.jb, r = h.sb, n = h.gb, z = h.Tb, w = h.I;288 p = l.ta(f);289 !p.local && (p = new a.nd(p.host, [], [d, q, c, y, m, r, n, z]), b = {290 xa: w.xa,291 group: w.group,292 source: w.source,293 Ga: w.Ga,294 Ea: w.Ea,295 content: w.content,296 channel: w.channel,297 ua: w.ua298 }, p = p.match(f.replace(/#/g, "?"))) && (e = p.g, 0 !== p.Ue && (b.xa = w.xa || (d != h.Vb ? A(e[d]) : null), b.group = w.group || (r != h.oc ? A(e[r]) : null), b.source = w.source || (c != h.Xc ? A(e[c]) : null), b.Ga = w.Ga || (y != h.Lc ? A(e[y]) : null), b.Ea = w.Ea || (q != h.Fc ? A(e[q]) : null), b.content = w.content || (m != h.Zb ? A(e[m]) : null), b.channel = w.channel || (n != h.Wb ? A(e[n]) : null), b.ua = w.ua || (z != h.Ub ? A(e[z]) : null)));299 return b300 }, Pa: function () {301 return "\v" == "v"302 }, Bc: function () {303 var a = navigator.userAgent;304 return 0 <= a.indexOf("Android") || 0 <= a.indexOf("iPhone") || 0 <= a.indexOf("iPad")305 }, Kf: function () {306 var a = navigator.userAgent;307 return 0 <= a.indexOf("iPhone") || 0 <= a.indexOf("iPad")308 }, H: function (f, h) {309 return q(w(f + "_" + a.b.qa(h.c + "_" + h.domain)))310 }, Yd: function () {311 function a(a, e) {312 var f = e.match(a);313 return f ? f[1] : null314 }315 var f, h, l = navigator.plugins, e, b, d = null, c = null;316 if (l && 0 < (e = l.length)) for (h = 0; h < e; h++) f = q(l[h].description), b = q(l[h].name), !d && f && -1 < r(f, "shockwave flash") && (d = a(/shockwave flash (\d+\.\d+)/i, f)), !c && b && f && -1 < r(b, "silverlight") && (c = a(/(\d+\.\d+)/i, f));317 return {Sd: d, lf: c}318 }, Ka: function () {319 try {320 var f = n.sessionStorage;321 if (f) {322 var h = f.getItem("_gsdvid_");323 if (h && 32 === h.length) return h;324 var l = a.b.R(m.href, "_gsdvid_");325 if (l && 32 === l.length) return f && f.setItem("_gsdvid_", l), l326 }327 } catch (E) {328 }329 return null330 }, va: function (f, h, l) {331 try {332 var b = new a.$a(f);333 if (!h) return b;334 var e = h.split("&"), d = b.g, p;335 for (p in e) for (var q in l) if (-1 < e[p].indexOf(l[q])) {336 var c = e[p].split("=");337 for (f = 0; f < d.length; f++) 0 === d[f].indexOf(c[0]) && b.Dd(f, e[p]);338 b.cb(c[0], c[1])339 }340 return b341 } catch (R) {342 return b343 }344 }, vd: function (f, h, l) {345 try {346 var b = new a.$a(f), e = h.split("?");347 1 < e.length && (b = a.b.va(f, e[1], ["utm_"]));348 l && b.bb("refurl", l);349 return b.toString()350 } catch (G) {351 return f352 }353 }, Re: function (f) {354 location.href = a.b.vd(f, m.href, c.referrer)355 }, qb: function (a) {356 return Number(a.split("-")[1])357 }, Xa: function (a, f) {358 f--;359 try {360 return decodeURIComponent(a.substring(0, f))361 } catch (v) {362 return l.Xa(a, f)363 }364 }365 };366 q = a.b.lower;367 r = a.b.indexOf;368 w = a.b.encode;369 A = a.b.decode;370 B = l.isArray;371 h = l.Cc;372 f = l.sa;373 a.b.Ne(l)374})(Gridsum || (Gridsum = {}));375(function (a) {376 var n = function () {377 function c(a) {378 this.a = a379 }380 c.prototype.get = function (b, c) {381 if ("_gscu" === b) {382 var m = a.b.R(location.href, "_gscu_");383 null !== m && this.set("_gscu", m, 63072E3)384 } else "_gscs" === b && (m = a.b.R(location.href, "_gscs_"), null !== m && (m = a.b.decode(m), this.set("_gscs", m, 1800)));385 return a.b.P(a.b.H(b, this.a), c, !0)386 };387 c.prototype.set = function (b, c, n, d, q, r) {388 q = q || this.a.domain;389 d = d || this.a.path;390 r = r || this.a.gf;391 a.b.W(a.b.H(b, this.a), c, n, d, q, r, !0)392 };393 c.prototype.remove = function (a) {394 this.set(a, "0", -1E3)395 };396 return c397 }();398 a.Za = n399})(Gridsum || (Gridsum = {}));400(function (a) {401 var n = window, c = function () {402 function d(d) {403 void 0 == n.gstempobj && (n.gstempobj = "");404 this.a = d;405 this.Wa = [new a.Za(d), new b(d), new m(d), new z(d)]406 }407 d.prototype.get = function (a, b) {408 if (!a) return null;409 var d;410 try {411 d = sessionStorage.getItem("_gsdvid_")412 } catch (f) {413 }414 var c, q, h;415 for (q = 0; 4 > q; q++) if (c = this.Wa[q].get(a)) {416 for (h = 0; 4 > h; h++) q != h && this.Wa[h].set(a, c, 63072E3);417 return "_gscu" === a ? d || c : c418 }419 return "_gscu" === a ? d || b || null : b || null420 };421 d.prototype.set = function (a, b, d, c, m, h) {422 if (a) {423 var f;424 for (f = 0; 4 > f; f++) this.Wa[f].set(a, b, d, c, m, h)425 }426 };427 d.prototype.remove = function (a) {428 this.Wa[3].remove(a)429 };430 return d431 }();432 a.ld = c;433 var b = function () {434 function b(a) {435 this.a = a;436 this.$ = ["_gscu"]437 }438 b.prototype.get = function (b) {439 try {440 if (0 <= a.b.indexOf(this.$, b)) {441 var d = n.localStorage;442 if (d) return d.getItem(a.b.H(b, this.a))443 }444 } catch (w) {445 }446 return null447 };448 b.prototype.set = function (b, d) {449 try {450 if (0 <= a.b.indexOf(this.$, b)) {451 var c = n.localStorage;452 c && c.setItem(a.b.H(b, this.a), d)453 }454 } catch (A) {455 }456 };457 return b458 }(), m = function () {459 function b(a) {460 this.a = a;461 this.$ = ["_gscu"]462 }463 b.prototype.get = function (b) {464 try {465 if (0 <= a.b.indexOf(this.$, b)) {466 var d = n.sessionStorage;467 if (d) return d.getItem(a.b.H(b, this.a))468 }469 } catch (w) {470 }471 return null472 };473 b.prototype.set = function (b, d) {474 try {475 if (0 <= a.b.indexOf(this.$, b)) {476 var c = n.sessionStorage;477 c && c.setItem(a.b.H(b, this.a), d)478 }479 } catch (A) {480 }481 };482 return b483 }(), z = function () {484 function b(a) {485 this.a = a;486 this.$ = ["_gscu"]487 }488 b.prototype.get = function (b) {489 try {490 if (0 <= a.b.indexOf(this.$, b)) return this.Zd(a.b.H(b, this.a), n.gstempobj)491 } catch (r) {492 }493 return null494 };495 b.prototype.set = function (b, d) {496 try {497 0 <= a.b.indexOf(this.$, b) && (n.gstempobj = this.replace(n.gstempobj, a.b.H(b, this.a), d))498 } catch (w) {499 }500 };501 b.prototype.replace = function (a, b, d) {502 if (-1 < a.indexOf("&" + b + "=") || 0 === a.indexOf(b + "=")) {503 var c = a.indexOf("&" + b + "=");504 -1 === c && (c = a.indexOf(b + "="));505 var m = a.indexOf("&", c + 1);506 return -1 !== m ? a.substr(0, c) + a.substr(m + (c ? 0 : 1)) + "&" + b + "=" + d : a.substr(0, c) + "&" + b + "=" + d507 }508 return a + "&" + b + "=" + d509 };510 b.prototype.Zd = function (a, b) {511 if ("string" !== typeof b) return null;512 var d = a + "=", c = b.split(/[;&]/), m, h;513 for (m = 0; m < c.length; m++) {514 for (h = c[m]; " " === h.charAt(0);) h = h.substring(1, h.length);515 if (0 === h.indexOf(d)) return h.substring(d.length, h.length)516 }517 return null518 };519 return b520 }()521})(Gridsum || (Gridsum = {}));522(function (a) {523 var n = window, c = function () {524 function b(a, b) {525 this.a = a;526 try {527 this.m = b || n.localStorage528 } catch (d) {529 }530 }531 b.prototype.rb = function (b, c, d) {532 d = d || this.a.Va[0];533 return d + "?" + a.b.D(b, "=", "&", !1, c)534 };535 b.prototype.V = function (b, c, d) {536 if (!document.body || "on" !== document.body.getAttribute("gswp")) {537 b.rd = a.b.ra(5);538 var m = this.a.c, n = new Image(1, 1), w = {};539 a.j.execHook("sender.send", b, d, w);540 if (!w.cancel) {541 var z = this.rb(b, c, d).substring(0, 2E3);542 n.onerror = function () {543 setTimeout(function () {544 var c = new Image(1, 1);545 c.onload = function () {546 a.b.f(m, "RetrySuccess", {cmd: b.gscmd, url: d})547 };548 c.onerror = function () {549 a.b.f(m, "SendingFailed", {cmd: b.gscmd, url: d})550 };551 c.src = z552 }, 2E3)553 };554 n.src = z555 }556 }557 };558 b.prototype.Gd = function (b) {559 b.rd = a.b.ra(5);560 return 2E3 >= this.rb(b, void 0, void 0).length561 };562 b.prototype.send = function (a, b, d) {563 if (a) for (var c = [this.a.c].concat(this.a.Sb), m = 0; m < c.length; m++) if (a.gssrvid = c[m], d) this.V(a, b, d); else for (var n = this.a.Va, z = 0; z < n.length; z++) this.V(a, b, n[z])564 };565 b.prototype.appendData = function (b, c, d) {566 try {567 var m = this.Cb();568 100 > m.length && (m.push({569 obj: b,570 noEncode: c,571 destUrl: d572 }), this.m.setItem(a.b.H("gsfailed", this.a), JSON.stringify(m)))573 } catch (r) {574 }575 };576 b.prototype.Ve = function () {577 try {578 var b = this.Cb(), c = b.splice(0, 1)[0];579 this.m.setItem(a.b.H("gsfailed", this.a), JSON.stringify(b));580 return c581 } catch (d) {582 }583 return null584 };585 b.prototype.cf = function (b, c) {586 try {587 var d = this.Cb(), m;588 for (m = 0; m < d.length; m++) d[m].obj.dedupid == b && d[m].destUrl === c && (d.splice(m, 1), m--);589 this.m.setItem(a.b.H("gsfailed", this.a), JSON.stringify(d))590 } catch (r) {591 }592 };593 b.prototype.Cb = function () {594 try {595 var b = a.b.H("gsfailed", this.a), c = n.localStorage.getItem(b);596 this.m.removeItem(b);597 if (c) return JSON.parse(c)598 } catch (d) {599 }600 return []601 };602 return b603 }();604 a.Qb = c605})(Gridsum || (Gridsum = {}));606var __extends = this && this.__extends || function () {607 var a = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (a, c) {608 a.__proto__ = c609 } || function (a, c) {610 for (var b in c) c.hasOwnProperty(b) && (a[b] = c[b])611 };612 return function (n, c) {613 function b() {614 this.constructor = n615 }616 a(n, c);617 n.prototype = null === c ? Object.create(c) : (b.prototype = c.prototype, new b)618 }619}();620(function (a) {621 var n = String.fromCharCode, c = document, b = function () {622 return function (a) {623 this.Jc = a.matchPattern;624 this.Kc = a.matchType625 }626 }(), m = function () {627 return function (a) {628 this.Ob = a.urlMatchRule;629 this.target = a.target630 }631 }(), z = function () {632 return function (a) {633 this.ka = a.userBehaviorCondition;634 this.na = a.actions635 }636 }(), d = function () {637 return function (a) {638 this.qd = a.actionType;639 this.ab = a.actionOption640 }641 }();642 a.xf = d;643 var q = function () {644 return function (a) {645 this.Od = a.eventCategory;646 this.Qd = a.eventName;647 this.Pd = a.eventDescription;648 this.$b = a.customParam649 }650 }();651 a.Bf = function () {652 return function (a) {653 this.key = a.key;654 this.value = a.value655 }656 }();657 var r = {658 nc: function (b, f) {659 var l = "";660 if (b) {661 var h = b.childNodes, c;662 for (c in h) if ("#text" === h[c].nodeName) {663 var l = l + (h[c].textContent || h[c].nodeValue).replace(/(^\s+)|(\s+$)/ig, "") + "\n",664 d = encodeURIComponent(l);665 if (d.length > f) {666 l = d.substring(0, f);667 try {668 return decodeURIComponent(l)669 } catch (E) {670 return a.b.Xa(l, f)671 }672 }673 }674 }675 return l676 }, Zc: function (a) {677 var f = "";678 try {679 a.M && (f += a.M), a.ga && (f += a.ga), a.Y && (f += a.Y), a.X && (f += a.X), a.N && (f += a.N), a.Z && (f += a.Z), a.fa && (f += a.fa)680 } catch (l) {681 }682 return f683 }, Ac: function (a, f) {684 try {685 return a.Y && a.Y != f.Y || a.X && a.X != f.X || a.Z && a.Z != f.Z || a.ga && a.ga != f.ga || a.N && a.N != f.N || a.fa && a.fa != f.fa ? !1 : !0686 } catch (l) {687 return !1688 }689 }, ec: function (b, f, l, d, m) {690 b = b || c;691 f = b.getElementsByTagName(f);692 for (var h = [], p = 0; p < f.length; p++) (b == c || f[p].parentElement == b) && a.b.trim(f[p].getAttribute("id") || "") == l && (l || -1 < a.b.trim(f[p].getAttribute("class") || "").indexOf(d)) && (m ? f[p].parentElement.children[Number(m) - 1] == f[p] : 1) && h.push(f[p]);693 return h694 }, Oe: function (a) {695 return r.Nc(a)[0]696 }, Nc: function (a) {697 try {698 return c.querySelectorAll(a)699 } catch (F) {700 }701 a = a.split(">");702 for (var f = [], b, h = 0; h < a.length; h++) {703 var d = a[h].match(/(\w+)/)[0];704 b = a[h].substr(d.length) && a[h].substr(d.length).replace(/:nth-child\(\d*\)/g, "");705 var m = "", n = "";706 "#" == b[0] ? 0 > b.indexOf(".") ? m = b.substr(1) : (m = b.split(".")[0].substr(1), n = b.substr(m.length + 2)) : "." == b[0] && (n = b.substr(1));707 var n = n && n.replace(/\./g, " "),708 e = a[h].match(/:nth-child\((\d*)\)/) && a[h].match(/:nth-child\((\d*)\)/)[1];709 if (0 == f.length) f = r.ec(c, d, m, n, e); else {710 b = [];711 for (var q = 0; q < f.length; q++) b = b.concat(r.ec(f[q], d, m, n, e));712 f = b713 }714 }715 return f716 }, Fe: function (a, f) {717 return a && a.tagName && a.tagName.toLowerCase() === f.toLowerCase()718 }, Ud: function (a) {719 var f = a.className || "";720 f && "object" == typeof a.className && (f = a.className.Gf || a.getAttribute("class") || "");721 return f722 }, wd: function (a) {723 for (var f = 0; f < a.length; f++) if ("" == a[f] || "undefined" == typeof a[f]) a.splice(f, 1), --f;724 return a725 }, df: function (a) {726 return a && a.replace(/:nth-child\((\d*)\)/g, "{$1}")727 }728 };729 a.md = function () {730 return function (a) {731 this.We = a.pickerPath;732 this.Ld = a.customText;733 this.element = r.Oe(this.We);734 this.Xe = this.Ld || r.nc(this.element, 270)735 }736 }();737 var w = function (a) {738 function f(f) {739 var b = a.call(this, f) || this;740 b.element = f;741 b.zd();742 return b743 }744 __extends(f, a);745 f.prototype.zd = function () {746 try {747 var a = this.element;748 this.M = this.ae();749 this.ga = a.tagName.toLocaleLowerCase();750 a.getAttribute("id") && (this.Y = a.getAttribute("id"));751 a.getAttribute("class") && (this.X = a.getAttribute("class"));752 "INPUT" === a.tagName ? this.N = a.getAttribute("value") : "IMG" === a.tagName ? this.N = a.src : (this.N = r.nc(a, 270).replace(/(^\s+)|(\s+$)/ig, ""), this.fa = a.href);753 this.Z = Number(this.pa[this.pa.length - 1].nth_child)754 } catch (p) {755 }756 };757 f.prototype.getData = function () {758 var a = {};759 try {760 this.M && (a.tgpth = this.M), this.ga && (a.tgtag = this.ga), this.Y && (a.tgid = this.Y), this.X && (a.tgcls = this.X), this.N && (a.tgtxt = this.N), this.Z && (a.tgidx = this.Z), this.fa && (a.tghre = this.fa)761 } catch (p) {762 }763 return a764 };765 f.prototype.toString = function () {766 return r.Zc(this)767 };768 return f769 }(function () {770 function b(a) {771 this.pa = [];772 this.target = a;773 this.B()774 }775 b.prototype.B = function () {776 try {777 var a = this.target;778 for (this.Kb = [this.target]; a.parentNode && !r.Fe(a.parentNode, "body");) this.Kb.unshift(a.parentNode), a = a.parentNode;779 for (a = 0; a < this.Kb.length; a++) this.pa.push(this.ce(this.Kb[a]))780 } catch (l) {781 }782 };783 b.prototype.previousElementSibling = function (a) {784 if (a.previousElementSibling) return a.previousElementSibling;785 do a = a.previousSibling; while (a && 1 !== a.nodeType);786 return a787 };788 b.prototype.ce = function (a) {789 for (var f = {790 classes: r.Ud(a).split(" "),791 tag_name: a.tagName.toLowerCase()792 }, b = a.attributes, c = 0; c < b.length; c++) f["attr__" +793 b[c].name] = b[c].value;794 for (var c = b = 1, d = a; d = this.previousElementSibling(d);) b++, d.tagName === a.tagName && c++;795 f.nth_child = b;796 f.nth_of_type = c;797 return f798 };799 b.prototype.D = function (b, l) {800 var f, c, d;801 f = b.tag_name || "";802 if (l) return f;803 c = b.attr__id ? "#" + a.b.trim(b.attr__id) : "";804 d = b.classes[0] ? "." + r.wd(b.classes).join(".") : "";805 return f + c + d + (b.nth_child ? ":nth-child(" + b.nth_child + ")" : "")806 };807 b.prototype.ae = function () {808 try {809 for (var a = [], b = 0; b < this.pa.length; b++) a.push(this.D(this.pa[b], b === this.pa.length - 1));810 return r.df(a.join(">"))811 } catch (p) {812 return ""813 }814 };815 return b816 }());817 a.kd = w;818 var A = function () {819 function a(a) {820 this.Z = a.targetIndex;821 this.M = a.targetPath.replace(/\{(\d*)}/g, ":nth-child($1)");822 this.ga = a.targetTagName;823 this.Y = a.targetId;824 this.X = a.targetClass;825 this.N = a.targetText;826 this.fa = a.targetHref827 }828 a.prototype.Wd = function () {829 var a = this.M.split(">");830 this.Y || (a[a.length - 1] = a[a.length - 1].replace(/#\w+/ig, ""), this.M = a.join(">"));831 this.X || (a[a.length - 1] = a[a.length - 1].replace(/\.\w+/ig, ""), this.M = a.join(">"));832 this.Z || (this.M = this.M.replace(/{\d+}$/ig, ""));833 for (var a = r.Nc(this.M), b = [], c = 0; c < a.length; c++) {834 var d = new w(a[c]);835 r.Ac(this, d) && b.push(a[c])836 }837 return b838 };839 a.prototype.toString = function () {840 return r.Zc(this)841 };842 return a843 }();844 a.Ff = A;845 var B = function () {846 function h(a) {847 this.u = a.configurations;848 this.ff()849 }850 h.prototype.ff = function () {851 try {852 for (var a = 0; a < this.u.length; a++) {853 this.u[a] = new z(this.u[a]);854 this.u[a].ka = new m(this.u[a].ka);855 this.u[a].ka.Ob = new b(this.u[a].ka.Ob);856 this.u[a].ka.target = new A(this.u[a].ka.target);857 for (var c = 0; c < this.u[a].na.length; c++) this.u[a].na[c] = new d(this.u[a].na[c]), this.u[a].na[c].ab = new q(this.u[a].na[c].ab)858 }859 } catch (p) {860 }861 };862 h.prototype.Gb = function (b) {863 try {864 var f = new a.$a(b), c = f.F.split("/"), d = c[c.length - 1];865 d && (0 > d.indexOf(".") || 3 == c.length) && (f.F += "/");866 return f.toString()867 } catch (v) {868 return b869 }870 };871 h.prototype.Xd = function (b) {872 try {873 for (var f = [], c = 0; c < this.u.length; c++) try {874 var d = this.u[c], h = d.ka, m = h.target, e = this.jc(b, m.Wd(), 99);875 if (e && r.Ac(m, e)) {876 var n = h.Ob;877 if (!n || n && a.b.yb(4 == n.Kc ? new RegExp(n.Jc) : n.Jc, this.La(n.Kc), this.Gb(location.href), !0)) f = f.concat(d.na)878 }879 } catch (F) {880 }881 return f882 } catch (F) {883 }884 return []885 };886 h.prototype.jc = function (a, b, d) {887 try {888 if (a.element == c.body) return null;889 if (!d--) return a;890 var f = a.element.parentNode;891 if (f) {892 for (var h = new w(f), l = 0; l < b.length; l++) {893 if (b[l] == a.element) return a;894 if (b[l] == f) return h895 }896 return this.jc(h, b, d)897 }898 } catch (e) {899 }900 return a901 };902 h.prototype.La = function (a) {903 return 0 === a ? "exactmatch" : 1 === a ? "startswith" : 2 === a ? "endswith" : 3 === a ? "contains" : 4 === a ? "regex" : ""904 };905 return h906 }();907 a.gd = B;908 B = function () {909 function a(a, b) {910 this.w = [];911 this.qf = a;912 this.Fb = b % 256;913 this.B()914 }915 a.prototype.B = function () {916 var a = "a", b = this.v("A", 0), c;917 for (c = 0; 62 > c; ++c) 26 == c && (b = this.v(a, 0)), 52 == c && (a = "0", b = this.v(a, 0)), this.w[b] = c, b++;918 this.w[this.v("+", 0)] = 62;919 this.w[this.v("/", 0)] = 63;920 this.w[this.v("-", 0)] = 62;921 this.w[this.v("_", 0)] = 63922 };923 a.prototype.Ye = function (a) {924 var b = a.length;925 if (!(0 < b % 4)) return "=" === a[b - 2] ? 2 : "=" === a[b - 1] ? 1 : 0926 };927 a.prototype.xd = function (a) {928 var b, f, c, d, h;929 b = a.length;930 d = this.Ye(a);931 h = Array(3 * b / 4 - d);932 f = 0 < d ? b - 4 : b;933 var e = 0;934 for (b = 0; b < f; b += 4) c = this.w[this.v(a, b)] << 18 | this.w[this.v(a, b + 1)] << 12 | this.w[this.v(a, b + 2)] << 6 | this.w[this.v(a, b + 3)], h[e++] = c >> 16 & 255, h[e++] = c >> 8 & 255, h[e++] = c & 255;935 2 === d ? (c = this.w[this.v(a, b)] << 2 | this.w[this.v(a, b + 1)] >> 4, h[e++] = c & 255) : 1 === d && (c = this.w[this.v(a, b)] << 10 | this.w[this.v(a, b + 1)] << 4 | this.w[this.v(a, b + 2)] >> 2, h[e++] = c >> 8 & 255, h[e++] = c & 255);936 return h937 };938 a.prototype.Ad = function (a) {939 for (var b = 0, c = "", d; b < a.length;) d = a[b], 0 === d >>> 7 ? (c += n(a[b]), b += 1) : 252 === (d & 252) ? (d = (a[b] & 3) << 30, d |= (a[b + 1] & 63) << 24, d |= (a[b + 2] & 63) << 18, d |= (a[b + 3] & 63) << 12, d |= (a[b + 4] & 63) << 6, d |= a[b + 5] & 63, c += n(d), b += 6) : 248 === (d & 248) ? (d = (a[b] & 7) << 24, d |= (a[b +940 1] & 63) << 18, d |= (a[b + 2] & 63) << 12, d |= (a[b + 3] & 63) << 6, d |= a[b + 4] & 63, c += n(d), b += 5) : 240 === (d & 240) ? (d = (a[b] & 15) << 18, d |= (a[b + 1] & 63) << 12, d |= (a[b + 2] & 63) << 6, d |= a[b + 3] & 63, c += n(d), b += 4) : 224 === (d & 224) ? (d = (a[b] & 31) << 12, d |= (a[b + 1] & 63) << 6, d |= a[b + 2] & 63, c += n(d), b += 3) : 192 === (d & 192) ? (d = (a[b] & 63) << 6, d |= a[b + 1] & 63, c += n(d), b += 2) : (c += n(a[b]), b += 1);941 return c942 };943 a.prototype.v = function (a, b) {944 return a.charCodeAt(b)945 };946 a.prototype.Md = function () {947 var a, b = this.xd(this.qf);948 for (a = 0; a < b.length; a++) b[a] = b[a] < this.Fb ? b[a] + 256 - this.Fb : b[a] - this.Fb;949 return this.Ad(b)950 };951 return a952 }();953 a.hd = B954})(Gridsum || (Gridsum = {}));955(function (a) {956 a.Df = function () {957 return function () {958 }959 }();960 var n = function () {961 function c(b) {962 this.a = b;963 this.tf = 0;964 this.Id = new a.Za(b)965 }966 c.prototype.Vd = function (a) {967 try {968 var b = new XMLHttpRequest;969 b.open("GET", c.wf + "/cmlist?gssrvid=" + this.a.c, !0);970 b.setRequestHeader("Content-type", "application/x-www-form-urlencoded");971 b.withCredentials = !0;972 b.onreadystatechange = function () {973 if (4 == b.readyState) if (200 == b.status) {974 var c = JSON.parse(b.responseText);975 c.success && a(c.data)976 } else a(null)977 };978 b.send()979 } catch (z) {980 }981 };982 c.prototype.kb = function (a, c) {983 var b = new Image(1, 1);984 b.onload = function () {985 c()986 };987 b.onerror = function () {988 };989 b.src = a990 };991 c.prototype.cc = function () {992 var a = this.Id;993 if (null == a.get("UDMP_CM_SIGN")) {994 var c = this;995 this.Vd(function (b) {996 if (null != b && null != b.list) if (null == b.gridsumId) setTimeout(function () {997 3 > c.tf++ && c.cc()998 }, 2E3); else {999 var d = b.list;1000 a.set("UDMP_CM_SIGN", "1", 7200);1001 for (var m, n = 0; n < d.length; n++) m = d[n], function (a) {1002 "1" == a.origin && c.kb(a.partnerCmUrl.replace("{gid}", b.gridsumId).replace("{timestamp}", (new Date).getTime() + ""), function () {1003 c.kb(a.udmpCmUrl + "&gssrvid=" + c.a.c, function () {1004 })1005 });1006 "2" == a.origin && c.kb(a.partnerCmUrl.replace("{gid}", b.gridsumId).replace("{timestamp}", (new Date).getTime() + ""), function () {1007 })1008 }(m)1009 }1010 })1011 }1012 };1013 c.wf = "http" + ("https:" == location.protocol ? "s" : "") + "://cm-udmp.gridsumdissector.com";1014 return c1015 }();1016 a.jd = n1017})(Gridsum || (Gridsum = {}));1018__extends = this && this.__extends || function () {1019 var a = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (a, c) {1020 a.__proto__ = c1021 } || function (a, c) {1022 for (var b in c) c.hasOwnProperty(b) && (a[b] = c[b])1023 };1024 return function (n, c) {1025 function b() {1026 this.constructor = n1027 }1028 a(n, c);1029 n.prototype = null === c ? Object.create(c) : (b.prototype = c.prototype, new b)1030 }1031}();1032(function (a) {1033 function n(b) {1034 if ("U" == b[0]) S[b[1]](b[2], b[3], b[4], b[5], b[6], b[7], b[8]); else if ("W" == b[0]) a.j[b[1]](b[2], b[3], b[4]); else if ("T" == b[0]) {1035 var k = a.j.getTracker(b[1]);1036 k[b[2]](b[3], b[4], b[5], b[6], b[7], b[8], b[9], b[10])1037 } else "H" == b[0] ? (k = a.j.getHybridTracker(b[1], b[2]), k[b[3]](b[4], b[5], b[6], b[7], b[8], b[9], b[10], b[11])) : (k = a.j.getTracker(b[0]), k[b[1]](b[2], b[3], b[4], b[5], b[6], b[7], b[8], b[9]))1038 }1039 Function.prototype.gsbind = function (a) {1040 function k() {1041 return e.apply(this instanceof g ? this : a, b.concat(Array.prototype.slice.call(arguments)))1042 }1043 function g() {1044 }1045 if ("function" !== typeof this) throw new TypeError("Function.prototype.bind - what is trying to be bound is not callable");1046 var b = Array.prototype.slice.call(arguments, 1), e = this;1047 this.prototype && (g.prototype = this.prototype);1048 k.prototype = new g;1049 return k1050 };1051 var c = window, b = document, m = b.referrer, z = b.documentElement, d = location,1052 q = navigator.userAgent.toLowerCase(), r = Math, w, A, B, h, f, l, p, y = Array.prototype.slice, v = Number,1053 E = eval, e = a.b;1054 w = e.lower;1055 A = e.indexOf;1056 B = e.encode;1057 h = e.decode;1058 f = e.isArray;1059 l = e.Cc;1060 p = e.sa;1061 var G = function () {1062 function b(b, g) {1063 this.se = a.b.Ma();1064 this.qc = 0;1065 this.Ca = "http" + ("https:" == d.protocol ? "s" : "") + "://impression.gridsumdissector.com/gs.gif";1066 var k = (new H(d.href)).kc();1067 this.a = g;1068 this.pe = document.referrer || "";1069 this.tc = e.ic();1070 this.rc = k.gsfguid || "root";1071 this.sc = k.gsfopenid || "root";1072 this.ke = k.gsdestination || "article";1073 this.Na = k.gslevel || 0;1074 this.pc = k.gsadid;1075 this.ie = g.h.i.uid;1076 if (null != b && b.openid) this.Oa = b.openid || "", this.ne = b.nickname || "", this.le = b.sex + "" || "", this.oe = b.province || "", this.he = b.city || "", this.je = b.country || "", this.me = b.headimgurl || "", this.te = b.unionid || "", this.qe = b.subscribe || ""; else {1077 var k = "gs-uuid-" + this.pc, u;1078 try {1079 u = c.localStorage.getItem(k)1080 } catch (x) {1081 }1082 if (!u) {1083 u = a.b.P(k) || e.ic();1084 try {1085 c.localStorage.setItem(k, u)1086 } catch (x) {1087 }1088 }1089 this.Oa = u;1090 a.b.W(k, this.Oa, 63072E3)1091 }1092 this.af();1093 this.bf()1094 }1095 b.prototype.bf = function () {1096 var a = this, g, b = a.ob("wc_pv");1097 a.Na++;1098 b.gsreferrer = a.pe;1099 b.gsfopenid = a.sc;1100 b.gsfguid = a.rc;1101 b.gslevel = a.Na;1102 b.gsdestination = a.ke;1103 b.gsnickname = a.ne;1104 b.gsgender = a.le;1105 b.gsprovince = a.oe;1106 b.gscity = a.he;1107 b.gscountry = a.je;1108 b.gsheadimgurl = a.me;1109 b.gsunionid = a.te;1110 b.gssubscribe = a.qe;1111 -1 != q.indexOf("micromessenger") ? -1 != q.indexOf("windowswechat") ? (b.gsnettype = "wifi", a.a.h.sender.send(b, void 0, a.Ca)) : wx.ready(function () {1112 wx.getNetworkType({1113 success: function (a) {1114 g = a.networkType1115 }, complete: function () {1116 b.gsnettype = g;1117 a.a.h.sender.send(b, void 0, a.Ca)1118 }1119 })1120 }) : (b.gsnettype = g, a.a.h.sender.send(b, void 0, a.Ca));1121 var e = (new Date).getTime();1122 window.addEventListener("beforeunload", function () {1123 var g = (new Date).getTime();1124 a.qc = 0 >= g -1125 e ? 1 : Math.round((g - e) / 1E3);1126 g = a.ob("wc_ul");1127 g.gsduration = a.qc;1128 a.a.h.sender.send(g, void 0, a.Ca)1129 })1130 };1131 b.prototype.ob = function (b) {1132 return {1133 gsversion: a.j.version,1134 gscmd: b,1135 gsadid: this.pc,1136 gsguid: this.tc,1137 gsopenid: this.Oa,1138 gstime: e.ge(new Date),1139 gstimezone: this.se,1140 gscookieid: this.ie1141 }1142 };1143 b.prototype.af = function () {1144 var a = this, g = wx.onMenuShareTimeline;1145 wx.onMenuShareTimeline = function (b) {1146 g(a.Oc(b, "timeline"))1147 };1148 var b = wx.onMenuShareAppMessage;1149 wx.onMenuShareAppMessage = function (g) {1150 b(a.Oc(g, "friend"))1151 }1152 };1153 b.prototype.Oc = function (a, g) {1154 var b = this, k = {}, e;1155 for (e in a) k[e] = a[e];1156 var c = k.success;1157 k.success = function () {1158 c && c();1159 b.Vc(g, 1)1160 };1161 var d = k.cancel;1162 k.cancel = function () {1163 d && d();1164 b.Vc(g, 0)1165 };1166 k.type = 0;1167 k.link = b.Cd(k.link, g);1168 return k1169 };1170 b.prototype.Vc = function (a, g) {1171 var b = this.ob("wc_sh");1172 b.gsfguid = this.rc;1173 b.gsfopenid = this.sc;1174 b.gsdestination = a;1175 b.gslevel = this.Na;1176 b.gsstatus = g;1177 this.a.h.sender.send(b, void 0, this.Ca)1178 };1179 b.prototype.Cd = function (b, g) {1180 b = b ? b.trim() : "";1181 var k = new H(b), c = "gsfopenid=" + this.Oa + "&gsdestination=" + g + "&gslevel=" + this.Na + "&gsfguid=" +1182 this.tc;1183 if (0 == b.indexOf("https://open.weixin.qq.com/")) var d = new H(k.kc().redirect_uri),1184 c = "redirect_uri=" + a.b.encode(e.va(d.toString(), c, ["gsfopenid", "gsdestination", "gslevel", "gsfguid"])),1185 k = e.va(k.toString(), c, ["redirect_uri"]); else k = e.va(k.toString(), c, ["gsfopenid", "gsdestination", "gslevel", "gsfguid"]);1186 return k.toString()1187 };1188 return b1189 }(), F = function () {1190 function a(a, g, b) {1191 this.host = a;1192 this.ef = g || [];1193 this.Te = b || []1194 }1195 a.prototype.sf = function (a) {1196 var g = this.host;1197 return p(g) ? -1 < A(a, g) : g.test && g.test(a)1198 };1199 a.prototype.match = function (a) {1200 var g, b, k, c = 0;1201 b = e.ta(a);1202 a = {};1203 var d = this.ef, f = this.Te, h = b.host;1204 if (this.sf(h)) {1205 if (k = b.g) {1206 for (g in k) l(k, g) && (k[w(g)] = k[g]);1207 for (g = 0; g < d.length; g++) if (b = k[d[g]]) a[d[g]] = b, c++; else return !1;1208 for (g = 0; g < f.length; g++) if (b = k[f[g]]) a[f[g]] = b, c++1209 } else if (d.length) return !1;1210 return {host: h, g: a, Ue: c}1211 }1212 return !11213 };1214 return a1215 }();1216 a.nd = F;1217 var J = function (b) {1218 function k() {1219 var a = null !== b && b.apply(this, arguments) || this;1220 a.S = 0;1221 return a1222 }1223 __extends(k, b);1224 k.prototype.V = function (g, b, k) {1225 if (!document.body || "on" !== document.body.getAttribute("gswp")) {1226 var t = this;1227 t.S++;1228 g.rd = e.ra(5);1229 var c = t.a.c, d = new Image(1, 1), u = {};1230 a.j.execHook("sender.send", g, k, u);1231 if (!u.cancel) {1232 if ("spv" == g.gscmd || "ecom" == g.gscmd || "ev" == g.gscmd) void 0 == g.dedupid && (g.dedupid = e.A()), t.appendData(g, b, k);1233 void 0 !== g.gsversion && (g.gssrvid = "", g.rd = "");1234 b = t.rb(g, b, k).substring(0, 2E3);1235 d.onerror = function () {1236 t.S--;1237 t.S = 0 > t.S ? 0 : t.S;1238 e.f(c, "SendingFailed", {cmd: g.gscmd, url: k})1239 };1240 d.onload = function () {1241 t.S--;1242 t.S = 0 > t.S ? 0 : t.S;1243 void 0 != g.dedupid && t.cf(g.dedupid, k);1244 if (0 == t.S) {1245 var a = t.Ve();1246 a && (a.obj.gsdelay = e.Aa() -1247 a.obj.gsltime, t.send(a.obj, a.noEncode, a.destUrl))1248 }1249 };1250 d.src = b1251 }1252 }1253 };1254 return k1255 }(a.Qb), X = function () {1256 function a(a) {1257 this.a = a1258 }1259 a.prototype.parse = function (a) {1260 try {1261 var g, b, k = this.a.zb, c = this.a.L, f = this.a.J;1262 a = a || d.href;1263 var h = e.ta(a), m = {1264 protocol: h.protocol,1265 local: h.local,1266 host: h.host,1267 path: h.fullPath,1268 anchor: h.anchor,1269 g: h.g1270 };1271 k && h.anchor && (m.path += "#" + h.anchor);1272 if (f) m.J = f; else if (0 !== c.length && h.g) {1273 for (var l in h.g) for (g = 0; g < c.length; g++) w(l) == c[g] && delete h.g[l];1274 for (g = 0; g < c.length; g++) delete h.g[c[g]];1275 (b = e.D(h.g, "=", "&", !1, !0)) && (b = "?" + b);1276 k && h.anchor && (b += "#" + h.anchor);1277 m.J = [h.protocol, "://", h.host, h.path, b].join("")1278 } else m.J = [h.protocol, "://", h.host, m.path].join("");1279 if (!m.local) {1280 var n = e.fc(a, this.a);1281 m.I = n1282 }1283 return m1284 } catch (ba) {1285 e.f(this.a.c, "M_Url", ba)1286 }1287 return null1288 };1289 return a1290 }(), R = function () {1291 function b(b) {1292 this.a = b;1293 this.m = b.h.appVersion ? new a.Cf(b) : b.ac ? new a.ld(b) : new a.Za(b);1294 this.ja = {};1295 this.da = {}1296 }1297 b.prototype.update = function () {1298 var a, g = this.uid, b = this.ea, c = [], d = [];1299 for (a in this.ja) l(this.ja, a) && c.push(a + ":" + B(this.ja[a]));1300 0 < c.length && (g = g + "|" + c.join("|"));1301 for (a in this.da) l(this.da, a) && d.push(a + ":" + B(this.da[a]));1302 0 < d.length && (b = b + "|" + d.join("|"));1303 e.Ka() != g && this.m.set("_gscu", g, 63072E3);1304 this.m.set("_gscs", b, 1800);1305 this.m.set("_gscbrs", "1")1306 };1307 b.prototype.parse = function (a) {1308 if (!a) return null;1309 var g;1310 g = /[^\d\w-]+/i;1311 var b = {}, k = {};1312 a = a.split("|");1313 var e;1314 if (0 == a[0].length || 36 < a[0].length || g.test(a[0]) || "null" == a[0]) return null;1315 b.id = a[0];1316 for (g = 1; g < a.length; g++) e = a[g].split(":"), k[e[0]] = h(e[1]);1317 b.data = k;1318 return b1319 };1320 b.prototype.B = function (a) {1321 try {1322 var g, b = void 0, k = void 0, c = void 0, f = void 0, C = "";1323 this.ja = {};1324 this.da = {};1325 this.a.Jd && (g = e.R(d.href.replace("#", "&"), "_gsc")) && (g = g.split(";"), 2 == g.length && (c = h(g[0]), f = h(g[1]), b = 1, k = !0));1326 k || (c = this.m.get("_gscu"), f = this.m.get("_gscs"), b = this.m.get("_gscbrs"));1327 (c = this.parse(c)) ? (this.uid = c.id, this.ja = c.data, (f = this.parse(f)) ? (this.ea = f.id, this.da = f.data) : (!f && b && (C = "t"), this.ea = C + e.A())) : (this.uid = e.A(), this.ea = e.A());1328 a || this.update()1329 } catch (D) {1330 e.f(this.a.c, "M_User", D), this.uid = e.A(), this.ea = e.A(), this.ja = {}, this.da = {}, this.update()1331 }1332 };1333 b.prototype.Tc = function (a, g) {1334 this.da[a] = g + "";1335 this.update()1336 };1337 b.prototype.dd = function (a) {1338 var g = this.m.get("_gsref");1339 !g && a && (g = a + "");1340 g && this.a.jf && this.m.set("_gsref", g, 1800)1341 };1342 b.prototype.ee = function () {1343 return this.m.get("_gsref")1344 };1345 b.prototype.get = function (a) {1346 return this.ja[a] || this.da[a] || null1347 };1348 b.prototype.D = function () {1349 return "_gsc=" + this.m.get("_gscu") + ";" + this.m.get("_gscs")1350 };1351 b.prototype.Ee = function () {1352 var a = this.a.Sc;1353 return e.qa(this.uid) % 1E4 < 100 * a1354 };1355 return b1356 }(), aa = function () {1357 function a(a, g) {1358 this.value = this.key = "";1359 try {1360 this.index = g, -1 !== a.indexOf("=") && (this.key = a.split("=")[0], this.value = a.split("=")[1])1361 } catch (t) {1362 this.key = a1363 }1364 }1365 a.$d = function (b) {1366 for (var g = [], k = 0; k < b.length; k++) g.push(new a(b[k], k));1367 return g1368 };1369 return a1370 }(), Q = function () {1371 function a() {1372 }1373 a.nf = function (a) {1374 for (var g = 0; g < a.length - 1; g++) {1375 for (var b = g, k = g + 1; k < a.length; k++) a[k].value.length > a[b].value.length && (b = k);1376 b !== g && (k = a[b], a[b] = a[g], a[g] = k)1377 }1378 return a1379 };1380 a.fe = function (b, g) {1381 for (var k = [], c = 0; c < b.length; c++) 100 < b[c].value.length && -1 === e.indexOf(g, b[c].key) && k.push(b[c]);1382 return a.nf(k)1383 };1384 a.prototype.de = function (b) {1385 var g;1386 if (!b) try {1387 c.top._gsUtility ? b = m : (b = c.top.document.referrer, g = 1)1388 } catch (I) {1389 b = m1390 }1391 if (!b) try {1392 c.opener && (b = c.opener.location.href)1393 } catch (I) {1394 }1395 if (700 >= b.length) return [b, g];1396 var k = "eqid wd word q p query w search keyword kw".split(" "), d = b.indexOf("?"), f = b.substr(0, d);1397 if (-1 !== d) {1398 var h = b.length;1399 b = b.substr(d + 1).split("&");1400 for (var d = aa.$d(b), d = a.fe(d, k), C = 0; C < d.length; C++) {1401 if (700 >= h) return [f + "?" + b.join("&"), g];1402 var l = d[C].value, n = l.substr(0, l.length / 2);1403 b[d[C].index] = d[C].key + "=" + n;1404 h -= l.length - n.length1405 }1406 for (d = b.length - 1; 0 <= d && !(700 >= h); d--) -1 === e.indexOf(k, b[d].split("=")[0]) && (h = h - b[d].length - 1, b.splice(d, 1));1407 return [f + "?" + b.join("&"), g]1408 }1409 return [b, g]1410 };1411 return a1412 }();1413 a.Ef = Q;1414 var Y = function () {1415 function d(a) {1416 this.a = a;1417 this.h = a.h;1418 this.origin = a.origin1419 }1420 d.prototype.isEnabled = function () {1421 return this.a.U ? 100 == this.a.Fa ? !0 : r.round(1E4 * r.random()) < 100 * this.a.Fa : !11422 };1423 d.prototype.Nb = function () {1424 if (this.a.oa) {1425 var a = (e.pb() - this.a.oa) / 2;1426 this.offsetX = 0 < a ? a : 0;1427 this.offsetY = 01428 } else this.origin ? (a = e.o(this.origin), this.offsetX = a.x, this.offsetY = a.y) : this.offsetY = this.offsetX = 01429 };1430 d.prototype.o = function (a, b) {1431 this.Nb();1432 return this.Ba({x: a - this.offsetX, y: b - this.offsetY})1433 };1434 d.prototype.Ba = function (a) {1435 a.x = r.round(a.x);1436 a.y = r.round(a.y);1437 return a1438 };1439 d.prototype.V = function (k, g, t, d) {1440 var f, h = v(c[this.a.Wc] || 0), u = this.h.getCommon("mc"), m = this.h.url.parse();1441 f = {};1442 -1 < h && 256 > h || (h = 0);1443 a.j.execHook("heatmap.send", u, k, g, t, d, f);1444 if (!f.cancel) {1445 t = d.button;1446 e.Pa() && (1 == t ? t = 0 : 4 == t && (t = 1));1447 u.btn = t;1448 t = e.s(null, d, "A", null, 3);1449 if (null != t) u.lk = t.href, u.lt = e.ia(t, "title") + t.title || e.ia(t, "alt") || e.ha(t), f = e.o(t), f = this.o(f.x, f.y), u.lx = f.x, u.ly = f.y, u.lw = r.round(t.offsetWidth), u.lh = r.round(t.offsetHeight); else if (this.a.Le) return;1450 t = e.s(null, d, null, {gsregion: ""}) || e.s(null, d, null, {"data-gsregion": ""});1451 if (null != t && (f = v(t.getAttribute("gsregion") || v(t.getAttribute("data-gsregion"))), -1 < f && 256 > f)) {1452 u.re = f;1453 if ("1" == t.getAttribute("gsposfixed") || "1" == t.getAttribute("data-gsposfixed")) f = e.o(t), f = this.o(f.x, f.y), k -= f.x, g -= f.y;1454 if (t = e.s(null, d, null, {gssnapshot: ""}) || e.s(null, d, null, {"data-gssnapshot": ""})) if (h = v(t.getAttribute("gssnapshot") || v(t.getAttribute("data-gssnapshot"))), 0 > h || 255 < h) h = 01455 }1456 u.gspver = this.a.Sa;1457 this.a.O ? (k = e.o(this.a.O), u.gsmcoffsetx = Math.round(d.pageX + this.a.O.scrollLeft - k.x), u.gsmcoffsety = Math.round(d.pageY + this.a.O.scrollTop - k.y)) : (u.gsmcoffsetx = k, u.gsmcoffsety = g);1458 d = [m.protocol, "://", m.host, m.path];1459 u.gsmcurl = d.join("");1460 u.gstl = this.a.Ia || b.title;1461 u.gssn = h;1462 u.gsorurl = this.a.J;1463 u.gsscr = screen.width + "*" + screen.height;1464 this.h.sender.send(u)1465 }1466 };1467 d.prototype.C = function (a) {1468 if (!this.za(a)) {1469 var b = (new Date).getTime();1470 if (!(100 > b - this.aa)) {1471 this.aa = b;1472 try {1473 if (this.isEnabled()) {1474 var k = w(a.target.tagName);1475 if (void 0 !== k && "body" != k && "html" != k) {1476 var d = a.pageX, c = a.pageY;1477 e.l && (d = e.l.la, c = e.l.ma, e.l = null);1478 var f = this.o(d, c);1479 this.V(f.x, f.y, a.srcElement, a)1480 }1481 }1482 } catch (C) {1483 e.f(this.a.c, "M_Heatmap_doc", C)1484 }1485 }1486 }1487 };1488 d.prototype.vb = function (a, b) {1489 if (!this.za(b)) {1490 var g = (new Date).getTime();1491 if (!(100 > g - this.aa)) {1492 this.aa = g;1493 try {1494 var k = b.clientX, d = b.clientY;1495 e.l && (k = e.l.la, d = e.l.ma, e.l = null);1496 var c = this.Ba(e.o(a)), f = this.o(k, d);1497 this.V(f.x + c.x, f.y + c.y, a, b)1498 } catch (D) {1499 e.f(this.a.c, "M_Heatmap_iframe", D)1500 }1501 }1502 }1503 };1504 d.prototype.za = function (a) {1505 return e.l && e.l.la == a.pageX && e.l.ma == a.pageY1506 };1507 d.prototype.wa = function () {1508 var a = this, g, d = a.a.xc, c = frames;1509 if (0 == d.length) for (g = 0; g < c.length; g++) try {1510 var f = c[g].frameElement || c[g];1511 if (f.contentDocument || c[g].document) f.contentDocument = f.contentDocument || c[g].document, d.push(f)1512 } catch (D) {1513 }1514 for (g = 0; g < d.length; g++) if (c = e.T(d[g])) try {1515 var c = c.frameElement || c, h = c.contentDocument, m = function (b) {1516 return function (g) {1517 a.vb(b, g)1518 }1519 }(c);1520 void 0 !== b.ontouchstart && e.Ha(h, m.bind ? m.bind(a) : m.gsbind(a));1521 e.observe(h, "mouseup", m.bind ? m.bind(a) : m.gsbind(a))1522 } catch (D) {1523 }1524 };1525 d.prototype.bind = function () {1526 !this.xb && this.a.U && (this.xb = !0, void 0 !== b.ontouchstart && e.Ha(b, this.C.bind ? this.C.bind(this) : this.C.gsbind(this)), e.observe(b, "mouseup", this.C.bind ? this.C.bind(this) : this.C.gsbind(this)), /loaded|complete/.test(b.readyState) ? this.wa() : e.observe(c, "load", this.wa.bind ? this.wa.bind(this) : this.wa.gsbind(this)))1527 };1528 d.prototype.B = function () {1529 this.bind()1530 };1531 return d1532 }(), Z = function () {1533 function a(a) {1534 this.a = a;1535 this.Qa = [];1536 this.ca = []1537 }1538 a.prototype.sd = function (a, b, e) {1539 b = v(b);1540 this.Qa.push({ba: a + "", Ta: b || 0, Ua: 0, currency: e, Db: [], Qc: !b})1541 };1542 a.prototype.td = function (a, b, d, c, f, h, m, l) {1543 try {1544 var g, k = void 0, t = this.Qa;1545 a += "";1546 c = v(c) || 0;1547 f = v(f) || 0;1548 for (g = 0; g < t.length; g++) if (t[g].ba == a) {1549 k = t[g];1550 break1551 }1552 k || (k = {ba: a, Ta: 0, Ua: 0, currency: "", Db: [], Qc: !0}, t.push(k));1553 var u = k.Qc, x = v((c * f).toFixed(2)), n;1554 d && !e.sa(d) && (n = d.spu, d = d.sku);1555 a = {1556 orderid: a,1557 name: b,1558 sku: d,1559 spu: n,1560 quantity: f,1561 unitPrice: c,1562 price: x,1563 category: h,1564 currency: l1565 };1566 m && (a.procp = e.D(m, ":", ",", !0, !1));1567 k.Ua += a.quantity;1568 k.Db.push(a);1569 u && (k.Ta = v((k.Ta + x).toFixed(2)))1570 } catch (N) {1571 e.f(this.a.c, "FC_addProduct", N)1572 }1573 };1574 return a1575 }(), da = function () {1576 function f(a) {1577 this.aa = 0;1578 this.a = a;1579 this.h = a.h;1580 this.origin = a.origin;1581 this.Be();1582 a.K && this.wb()1583 }1584 f.prototype.isEnabled = function () {1585 return this.a.K ? 100 == this.a.Fa ? !0 : r.round(1E4 * r.random()) < 100 * this.a.Fa : !11586 };1587 f.prototype.Nb = function () {1588 if (this.a.oa) {1589 var a = (e.pb() - this.a.oa) / 2;1590 this.offsetX = 0 < a ? a : 0;1591 this.offsetY = 01592 } else this.origin ? (a = e.o(this.origin), this.offsetX = a.x, this.offsetY = a.y) : this.offsetY = this.offsetX = 01593 };1594 f.prototype.o = function (a, b) {1595 this.Nb();1596 return this.Ba({x: a - this.offsetX, y: b - this.offsetY})1597 };1598 f.prototype.Ba = function (a) {1599 a.x = r.round(a.x);1600 a.y = r.round(a.y);1601 return a1602 };1603 f.prototype.ue = function (a) {1604 for (var b = a.attributes, e = 0; e < b.length; e++) if ("function" === typeof a[b[e].name]) return !0;1605 return !11606 };1607 f.prototype.V = function (k, g, d, f) {1608 var t, h = v(c[this.a.Wc] || 0), u = this.h.getCommon("ub"), m = this.h.url.parse(), l = {}, n;1609 -1 < h && 256 > h || (h = 0);1610 var p = a[this.a.ib + "_" + e.qb(this.a.c)] || a[this.a.ib] || c[this.a.ib];1611 if (!this.hb && p) {1612 p = new a.hd(p, e.qb(this.a.c));1613 try {1614 t = E("(" + p.Md() + ")")1615 } catch (T) {1616 }1617 this.hb = t && new a.gd(t)1618 }1619 a.j.execHook("codeless.send", u, k, g, d, f, l);1620 if (!l.cancel && (l = f.button, e.Pa() && (1 == l ? l = 0 : 4 == l && (l = 1)), u.btn = l, l = e.s(null, f, "A", null, 3), null != l && (n = u.lk = l.href, u.lt = e.ia(l, "title") + l.title || e.ia(l, "alt") || e.ha(l), t = e.o(l), t = this.o(t.x, t.y), u.lx = t.x, u.ly = t.y, u.lw = r.round(l.offsetWidth), u.lh = r.round(l.offsetHeight)), f)) {1621 u.ubtype = "click";1622 u.tgcg = "selector";1623 l = new a.kd(d);1624 t = "A" == d.tagName ? e.Xa(encodeURIComponent(e.ha(d)), 270) : e.Xa(encodeURIComponent(l.N), 270);1625 var p = l.getData(), q;1626 for (q in p) u[q] = p[q];1627 this.cd = e.A();1628 u.ubid = this.cd;1629 u.eljs = this.ue(d) ? 1 : "";1630 this.hb && this.hf(this.hb.Xd(l), t, n);1631 l = e.s(null, f, null, {gsregion: ""}) || e.s(null, f, null, {"data-gsregion": ""});1632 if (null != l && (d = v(l.getAttribute("gsregion") || v(l.getAttribute("data-gsregion"))), -1 < d && 256 > d)) {1633 u.re = d;1634 if ("1" == l.getAttribute("gsposfixed") || "1" == l.getAttribute("data-gsposfixed")) t = e.o(l), t = this.o(t.x, t.y), k -= t.x, g -= t.y;1635 if (l = e.s(null, f, null, {gssnapshot: ""}) || e.s(null, f, null, {"data-gssnapshot": ""})) if (h = v(l.getAttribute("gssnapshot") || v(l.getAttribute("data-gssnapshot"))), 0 > h || 255 < h) h = 01636 }1637 u.gspver = this.a.Sa;1638 u.gsmcoffsetx = k;1639 u.gsmcoffsety = g;1640 k = e.o(f.target);1641 u.gselmw = f.target.offsetWidth;1642 u.gselmh = f.target.offsetHeight;1643 u.gsmcelmx = Math.round(f.pageX - k.x + f.target.scrollLeft);1644 u.gsmcelmy = Math.round(f.pageY - k.y + f.target.scrollTop);1645 f = [m.protocol, "://", m.host, m.path];1646 u.gsmcurl = f.join("");1647 u.gstl = this.a.Ia || b.title;1648 u.gssn = h;1649 u.gsorurl = this.a.J;1650 u.gsscr = screen.width + "*" + screen.height;1651 this.h.sender.send(u)1652 }1653 };1654 f.prototype.hf = function (b, g, e) {1655 try {1656 for (var d = 0; d < b.length; d++) {1657 var k = b[d], c = k.ab;1658 if (0 == k.qd) {1659 var f = c.Pd, t = {};1660 try {1661 var h = c.$b, l;1662 for (l in c.$b) {1663 var m = h[l];1664 t[m.key] = (new a.md(m.value)).Xe1665 }1666 } catch (M) {1667 }1668 this.h.ad(c.Od, c.Qd, f, null, t, this.cd, g, e)1669 }1670 }1671 } catch (M) {1672 }1673 };1674 f.prototype.Be = function () {1675 try {1676 var a = {}, b = e.ta(d.href).g, c, f;1677 b && (c = b.gs_file, f = b.gs_url);1678 if (c && f) {1679 e.lb("_gswp");1680 for (var h in b) 0 == h.indexOf("gs_") && (a[h] = b[h]);1681 e.W("_gswp", JSON.stringify(a), 1800);1682 this.Se(decodeURIComponent(f))1683 } else {1684 var l = e.P("_gswp");1685 try {1686 a = JSON.parse(l || "{}")1687 } catch (C) {1688 }1689 a.gs_file && this.zc((a.gs_protocol && decodeURIComponent(a.gs_protocol) || d.protocol) + decodeURIComponent(a.gs_file))1690 }1691 } catch (C) {1692 }1693 };1694 f.prototype.Se = function (a) {1695 var g = b.createElement("iframe");1696 g.src = "javascript:\"<script>top.location.replace('" + a + "')\x3c/script>\"";1697 c.setInterval(function () {1698 b.body && b.body.appendChild(g)1699 }, 500)1700 };1701 f.prototype.wb = function () {1702 try {1703 12 != this.a.Mb.length && this.zc("http" + ("https:" == d.protocol ? "s" : "") + "://static.gridsumdissector.com/js/Clients/" + this.a.Mb + "/ubcfg.js")1704 } catch (k) {1705 }1706 };1707 f.prototype.zc = function (a) {1708 if (b.querySelectorAll) for (var g = b.querySelectorAll("script[async]"), e = 0; e < g.length; e++) if (g[e].src && -1 < g[e].src.indexOf("ubcfg.js")) return;1709 g = b.createElement("script");1710 e = b.getElementsByTagName("script")[0];1711 g.type = "text/javascript";1712 g.async = !0;1713 g.src = a;1714 e.parentNode.insertBefore(g, e)1715 };1716 f.prototype.C = function (a) {1717 if (!this.za(a)) {1718 var b = (new Date).getTime();1719 if (!(100 > b - this.aa)) {1720 this.aa = b;1721 try {1722 if (this.isEnabled()) {1723 var d = w(a.target.tagName);1724 if (void 0 !== d && "body" != d && "html" != d) {1725 var c = a.pageX, k = a.pageY;1726 e.l && (c = e.l.la, k = e.l.ma, e.l = null);1727 var f = this.o(c, k);1728 this.V(f.x, f.y, a.target, a)1729 }1730 }1731 } catch (C) {1732 e.f(this.a.c, "M_Codeless_doc", C)1733 }1734 }1735 }1736 };1737 f.prototype.vb = function (a, b) {1738 if (!this.za(b)) {1739 var g = (new Date).getTime();1740 if (!(100 > g - this.aa)) {1741 this.aa = g;1742 try {1743 var d = b.clientX, c = b.clientY;1744 e.l && (d = e.l.la, c = e.l.ma, e.l = null);1745 var k = this.Ba(e.o(a)), f = this.o(d, c);1746 this.V(f.x +1747 k.x, f.y + k.y, a, b)1748 } catch (D) {1749 e.f(this.a.c, "M_Heatmap_iframe", D)1750 }1751 }1752 }1753 };1754 f.prototype.za = function (a) {1755 return e.l && e.l.la == a.pageX && e.l.ma == a.pageY1756 };1757 f.prototype.wa = function () {1758 var a = this, g, d = a.a.xc, c = frames;1759 if (0 == d.length) for (g = 0; g < c.length; g++) try {1760 var f = c[g].frameElement || c[g];1761 if (f.contentDocument || c[g].document) f.contentDocument = f.contentDocument || c[g].document, d.push(f)1762 } catch (D) {1763 }1764 for (g = 0; g < d.length; g++) if (c = e.T(d[g])) try {1765 var c = c.frameElement || c, h = c.contentDocument, l = function (b) {1766 return function (g) {1767 a.vb(b, g)1768 }1769 }(c);1770 void 0 !== b.ontouchstart && e.Ha(h, l.bind ? l.bind(a) : l.gsbind(a));1771 e.observe(h, "mouseup", l.bind ? l.bind(a) : l.gsbind(a))1772 } catch (D) {1773 }1774 };1775 f.prototype.bind = function () {1776 !this.xb && this.a.K && (this.xb = !0, void 0 !== b.ontouchstart && e.Ha(b, this.C.bind ? this.C.bind(this) : this.C.gsbind(this)), e.observe(b, "mouseup", this.C.bind ? this.C.bind(this) : this.C.gsbind(this)))1777 };1778 f.prototype.B = function () {1779 this.bind()1780 };1781 return f1782 }(), U = function () {1783 return function (e) {1784 this.ib = "gsconfig";1785 this.Mb = "GWD-002808-030F33";1786 this.Sb = [];1787 this.Dc = !0;1788 var c = d.hostname;1789 this.I = {};1790 this.Pc = {};1791 this.Ra = null;1792 this.c = e;1793 this.Va = ["http" + ("https:" == d.protocol ? "s" : "") + "://recv-wd.gridsumdissector.com/gs.gif", "http" + ("https:" == d.protocol ? "s" : "") + "://www.webdissector.com/recv/gs.gif"];1794 this.Da = "//www.webdissector.cn/js/heatmap_v" + a.j.version + ".js";1795 this.Ze = "//www.addissector.com/";1796 this.$e = "/redirect.gif";1797 this.Vb = "utm_campaign";1798 this.Lc = "utm_medium";1799 this.Xc = "utm_source";1800 this.oc = "utm_adgroup";1801 this.Fc = "utm_term";1802 this.Zb = "utm_content";1803 this.Wb = "utm_channel";1804 this.pd = "utm_account";1805 this.Ub = "gsadid";1806 this.fb = this.Vb;1807 this.Bb = this.Lc;1808 this.Jb = this.Xc;1809 this.sb = this.oc;1810 this.Ab = this.Fc;1811 this.jb = this.Zb;1812 this.gb = this.Wb;1813 this.od = this.pd;1814 this.Tb = this.Ub;1815 this.L = ["gclid", "bdclkid", "gs_ws", this.fb, this.Bb, this.Jb, this.sb, this.Ab, this.jb, this.gb, this.od, "gsadid", "gsabredir"];1816 this.Hd = "content_";1817 "www." == c.substring(0, 4) && (c = c.substring(4));1818 this.domain = c;1819 this.path = "/";1820 this.kf = 1800;1821 this.Sc = 100;1822 this.origin = b.body;1823 this.Fa = 100;1824 this.xc = [];1825 this.Wc = "GridsumSnapshotID";1826 this.bd = "GSTS";1827 this.Mc = {};1828 this.zb = !0;1829 this.Rb = "http://ctrl-ab.gridsumdissector.com/";1830 this.ac = this.Ic = !0;1831 this.Yb = "http://ctrl-ab.gridsumdissector.com/clientredir.html"1832 }1833 }();1834 a.Af = U;1835 var H = function () {1836 function a(a) {1837 var b;1838 this.g = [];1839 b = a.indexOf("?");1840 var e = a.indexOf("#");1841 -1 === b ? -1 === e ? (this.F = a, this.hash = b = "") : (this.F = a.substr(0, e), b = "", this.hash = a.substr(e + 1)) : -1 === e ? (this.F = a.substr(0, b), b = a.substr(b + 1), this.hash = "") : (this.F = a.substr(0, b), b = a.substr(b + 1, e - b - 1), this.hash = a.substr(e + 1));1842 b && (this.g = b.split("&"))1843 }1844 a.prototype.cb = function (a, b) {1845 this.Yc(a) || this.g.push(a + "=" + b)1846 };1847 a.prototype.bb = function (a, b) {1848 if (!this.Yc(a)) {1849 var g = e.encode(b);1850 this.g.push(a + "=" + g)1851 }1852 };1853 a.prototype.Dd = function (a, b) {1854 b ? this.g.splice(a, 1, b) : this.g.splice(a, 1)1855 };1856 a.prototype.toString = function () {1857 var a;1858 a = 0 != this.g.length ? this.g.join("&") : "";1859 return this.F + (0 === this.g.length ? "" : "?" + a) + ("" === this.hash ? "" : "#" + this.hash)1860 };1861 a.prototype.Yc = function (a) {1862 for (var b = 0; b < this.g.length; b++) if (this.g[b].split("=")[0] === a) return !0;1863 return !11864 };1865 a.prototype.Gb = function () {1866 var a = this.F.split("/"), b = a[a.length -1867 1], e = [];1868 if (!b) e.push(this.toString()), this.F = this.F.slice(0, -1); else if (3 === a.length || -1 === b.indexOf(".")) e.push(this.toString()), this.F += "/";1869 e.push(this.toString());1870 return e1871 };1872 a.prototype.kc = function () {1873 for (var a = {}, b = 0; b < this.g.length; b++) {1874 var e = this.g[b].split("=");1875 2 > e.length || (a[e[0]] = e[1])1876 }1877 return a1878 };1879 return a1880 }();1881 a.$a = H;1882 var V = function () {1883 function b(a) {1884 this.ub = "${heatMapConfigs}";1885 this.h = a.h;1886 this.ze()1887 }1888 b.prototype.ze = function () {1889 var b;1890 if (!e.sa(this.ub)) for (var g = 0; g < this.ub.length; g++) {1891 b = this.ub[g];1892 for (var c = "regex" == this.La(b.MatchType) ? new RegExp(b.MatchPattern, "i") : b.MatchPattern, f = this.be(b.MatchPatternType), h = 0; h < f.length; h++) a.b.yb(c, this.La(b.MatchType), f[h]) && (b.HostName && d.hostname != b.HostName || ("0" == b.Module ? this.xe(b) : "1" == b.Module ? this.ye(b) : "2" == b.Module && this.Ae()))1893 }1894 };1895 b.prototype.xe = function (a) {1896 this.h.enableHeatmap();1897 this.h.setDocWidth(a.DocWidth);1898 this.h.setPageVersion(a.PageVersion);1899 this.h.setOriginalUrl(a.OriginalUrl)1900 };1901 b.prototype.ye = function (a) {1902 this.h.enableScroll();1903 this.h.setOriginalUrl(a.OriginalUrl)1904 };1905 b.prototype.Ae = function () {1906 this.h.enableCodeless()1907 };1908 b.prototype.La = function (a) {1909 return 0 === a ? "exactmatch" : 1 === a ? "startswith" : 2 === a ? "endswith" : 3 === a ? "contains" : 4 === a ? "regex" : ""1910 };1911 b.prototype.be = function (a) {1912 return "0" == a ? [d.pathname] : (new H(d.href)).Gb()1913 };1914 return b1915 }();1916 a.zf = V;1917 var W = function () {1918 function l(a, b, e) {1919 var g = new U(a);1920 g.h = this;1921 this.c = a;1922 this.appVersion = b;1923 this.ud = e;1924 this.a = g1925 }1926 var k = l.prototype;1927 k.check = function () {1928 try {1929 e.P("_gsHijack") || top == c || top.location.href != d.href || (e.f(this.c, "WebPageHijack"), e.W("_gsHijack", "1"))1930 } catch (g) {1931 }1932 };1933 k.isLocal = function () {1934 if (this.a.vf) return !1;1935 var a = d.hostname;1936 return "file:" == d.protocol || -1 < A(a, "localhost") || 0 == A(a, "127.") || 0 == A(a, "192.168.") || 0 == A(a, "10.") || 0 == A(a, "172.")1937 };1938 k.isHeatmapModeOn = function () {1939 var a = w(d.hash);1940 return this.a.U && -1 < A(a, "#gwdheatmap&") && -1 < A(a, this.c.substring(4))1941 };1942 k.isDisable = function () {1943 return !this.c || !this.appVersion && this.isLocal() || this.isHeatmapModeOn() || -1 < A(q, this.a.we) || !this.i.Ee()1944 };1945 k.getCommon = function (b) {1946 var g = this.i;1947 b = {1948 gsver: a.j.version,1949 gscmd: b,1950 gssrvid: this.c,1951 gsuid: g.uid,1952 gssid: g.ea,1953 pvid: this.Eb,1954 gsltime: e.Aa(),1955 gstmzone: e.Ma(),1956 gsjp: this.a.Ge,1957 gsdelay: null,1958 rd: 11959 };1960 this.a.Fd && (b.gscs = e.qa(b.gsver + b.gscmd + b.gssrvid + b.gsuid + b.gssid + b.gsltime, !0));1961 return b1962 };1963 k.appendBrowserInfo = function (a) {1964 a.gsscr = screen.width + "*" + screen.height1965 };1966 k.calculateDuration = function (a) {1967 a = (v(new Date) - a) / 1E3;1968 180 < a && (a = 180);1969 0 > a && (a = 0);1970 this.duration = a1971 };1972 k.sendHeartbeat = function (a, b, c) {1973 this.vc || (this.trackHeartbeat(a, b), this.Gc = e.Aa(), c || (this.vc = 1))1974 };1975 k.eb = function (a) {1976 a.gsst = this.a.O ? this.a.O.scrollTop : r.round(r.max(z ? z.scrollTop : 0, b.body ? b.body.scrollTop : 0, window.pageYOffset || 0));1977 a.gswh = this.a.fd || c.innerHeight || (z ? z.clientHeight : null)1978 };1979 k.setCustomPageLoadListenerOnElement = function (a) {1980 var b = this;1981 try {1982 var g, c = 0;1983 for (g = 0; g < a.length; g++) document.querySelectorAll(a[g])[0].addEventListener("load", function () {1984 c++;1985 c == a.length && b.trackCustomPageLoad()1986 })1987 } catch (L) {1988 e.f(this.c, "FC_setCustomPageLoadListenerOnElement", L)1989 }1990 };1991 k.trackCustomPageLoad = function () {1992 try {1993 var a = c[this.a.bd] || this.yc, b = (v(new Date) -1994 a) / 1E3;1995 180 < b && (b = 180);1996 0 > b && (b = 0);1997 this.Bd = b1998 } catch (u) {1999 e.f(this.c, "FC_trackCustomPageLoad", u)2000 }2001 };2002 k.init = function () {2003 var b = this;2004 if (b.De) b.i.B(); else {2005 b.i = new R(b.a);2006 b.referrer = new Q;2007 b.url = new X(b.a);2008 b.G = new Z(b.a);2009 b.sender = b.a.Ic ? new J(b.a) : new a.Qb(b.a);2010 b.U = new Y(b.a);2011 b.K = new da(b.a);2012 b.i.B();2013 new V(b.a);2014 var f, h = a.j.plugins;2015 for (f = 0; f < h.length; f++) {2016 var k = h[f];2017 b[k.name] = new k.rf(b.a)2018 }2019 b.isHeatmapModeOn() && b.showHeatmap();2020 if (b.isDisable()) b.disabled = !0; else if (b.a.Ke ? e.observe(c, "load", function () {2021 b.U.B();2022 b.K.B()2023 }) : (b.U.B(), b.K.B()), b.Eb = e.A(), b.yc = new Date, b.Hc = v(new Date), e.observe(c, "load", function () {2024 b.calculateDuration(c[b.a.bd] || b.yc)2025 }), e.observe(c, "beforeunload", function () {2026 b.sendHeartbeat()2027 }), !b.appVersion) var l, m = b.i.ea, n = b.i.uid, p = d.href, q = c.setInterval(function () {2028 if (b.a.Dc && p != d.href) b.$c(!0), p = d.href; else {2029 if (!b.tb) {2030 b.i.B(!0);2031 var a = b.i.get("pv");2032 l && l < a ? b.tb = 1 : b.i.ea != m && (b.tb = 1);2033 l = a2034 }2035 b.tb && null != b.duration && (b.sendHeartbeat(m, n), b.i.dd(b.Rc), c.clearInterval(q))2036 }2037 }, 1E3);2038 b.De = !02039 }2040 };2041 k.track = function (a, b, e) {2042 this.$c(!1, a, b, e)2043 };2044 k.$c = function (a, c, f, k) {2045 try {2046 if (this.init(), !this.disabled) {2047 a && (this.vc = !1, this.sendHeartbeat(this.i.ea, this.i.uid));2048 var g = !1, t = this.a.Pc, l = this.a.Ra, u, n = this.i, p, q = this.url, x = this.getCommon("spv"),2049 r = c && f ? d.href : "", w = e.P("_gsdlorig_" + e.qb(this.a.c));2050 if (c) {2051 var g = !0, y = c.split("://", 2);2052 if (1 < y.length) {2053 if (-1 == y[1].indexOf(d.hostname)) {2054 e.f(this.c, "The url's domain is wrong.");2055 return2056 }2057 c = y[0] + "://" + y[1].replace(/\/+/g, "/")2058 } else c = c.replace(/\/+/g, "/")2059 } else this.Hc = v(new Date);2060 c = q.parse(c || d.href);2061 var K = this.referrer.de(r), r = K[0];2062 p = v(n.get("pv")) || 0;2063 0 === p && (x.gsfir = 1);2064 this.Ec && (x.pvid = "");2065 if (this.appVersion || a) this.Eb = e.A(), x.pvid = this.Eb;2066 x.gstl = this.a.Ia || b.title;2067 x.ubc = this.a.yd;2068 x.gscp = e.D(t, "::", "||", !1, !1);2069 x.pcp = l;2070 x.gstestid = "";2071 x.gstestverid = "";2072 x.fbr = "";2073 x.gsce = e.Ce() ? 1 : 0;2074 var B = e.Yd();2075 x.gsflver = B.Sd;2076 x.gssil = B.lf;2077 x.gsclr = screen.colorDepth || 32;2078 try {2079 x.gsje = navigator.javaEnabled() ? 1 : 02080 } catch (O) {2081 }2082 this.eb(x);2083 this.a.O ? (x.gsph = this.a.O.scrollHeight, x.gspw = this.a.O.scrollWidth) : (x.gsph = z ? z.scrollHeight : null, x.gspw = z ? z.scrollWidth : null);2084 !0 === this.Uc && (x.gssce = 1);2085 for (var F in k) x[F] = k[F];2086 if (this.appVersion) x.gsurl = c.path; else {2087 var G = [c.protocol, "://", c.host, c.path].join("");2088 try {2089 e.Ka() ? (x.gsurl = e.va(G, w, ["utm_"]).toString(), w && (x.dlsrc = 1), x.emb = 1) : x.gsurl = G2090 } catch (O) {2091 x.gsurl = G2092 }2093 if (u = c.I) x.adcp = u.xa, x.adgp = u.group, x.adsr = u.source, x.admd = u.Ga, x.adkw = u.Ea, x.adct = u.content, x.adch = u.channel, x.adid = u.ua2094 }2095 this.appendBrowserInfo(x);2096 !g && this.a.J && (x.gsorurl = this.a.J);2097 this.Rc = x.gsref = r || "";2098 c.g && c.g.tid && c.g.tvid && (x.gstestid = c.g.tid, x.gstestverid = h(c.g.tvid), x.fbr = c.g.fbr, "" != x.gsref && 0 != x.gsref.indexOf(this.a.Rb) || void 0 == c.g.refurl || (x.gsref = h(c.g.refurl)));2099 this.uc && (x.gsref = this.uc);2100 x.notopjs = K[1];2101 this.sender.send(x);2102 n.dd(this.Rc);2103 a || this.Ec || n.Tc("pv", ++p);2104 this.Ec = !0;2105 if (this.Hb && 1 == p && (!m || -1 < A(m, this.Hb))) {2106 x.gscmd = "rpv";2107 var E = [this.a.Ze, e.qa(this.Hb), this.a.$e].join("");2108 this.sender.send(x, !1, E)2109 }2110 this.check();2111 this.uc = d.href2112 }2113 } catch (O) {2114 e.f(this.c, "FC_track", O)2115 }2116 };2117 k.trackLaunch = function (b) {2118 var g = this;2119 try {2120 if (b || (document.addEventListener("pause", function () {2121 g.sendHeartbeat(void 0, void 0, !0)2122 }, !1), document.addEventListener("resume", function () {2123 if (void 0 != g.Gc && g.Gc + 3E4 < e.Aa()) {2124 var a = e.A();2125 g.i.m.set("_gscs", a);2126 g.i.uid = a;2127 g.trackLaunch(!0)2128 }2129 g.track()2130 }, !1)), (b || null == sessionStorage.getItem("gslaunched")) && c.device && (g.init(), !g.disabled)) {2131 var d = g.getCommon("launch");2132 d.gsmappver = g.appVersion;2133 d.gschannel = g.ud;2134 a.If.Hf(d);2135 d.gscp = e.D(g.a.Mc, "::", "||", !1, !1);2136 g.sender.send(d);2137 sessionStorage.setItem("gslaunched", "1")2138 }2139 } catch (x) {2140 e.f(g.c, "FC_trackLaunch", x)2141 }2142 };2143 k.trackLink = function (a, b, c, e) {2144 var g = this;2145 return g.bindEvent(b, "click", function () {2146 g.track(a, !0)2147 }, c, e)2148 };2149 k.trackECom = function () {2150 try {2151 if (this.init(), !this.disabled) {2152 var a, b, c, d, f = this.sender, h = this.G.Qa, k, l, m, n, p = this.i, q = p.get("_gsecom"),2153 q = q ? q.split(",") : [];2154 for (a = 0; a < h.length; a++) {2155 var r = this.getCommon("ecom");2156 l = h[a];2157 d = B(l.ba);2158 if (!(-1 < A(q, d))) {2159 q.push(d);2160 r.gsorderid = l.ba;2161 r.gstotal = l.Ta;2162 r.gsquan = l.Ua;2163 r.gscur = l.currency;2164 for (var v in this.G.ca) if (this.G.ca[v].ba == l.ba) {2165 r.ecp = this.G.ca[v].mb;2166 break2167 }2168 k = l.Db;2169 n = [];2170 b = 0;2171 for (c = k.length; b < c; b++) m = k[b], m = e.D(m, "::", ",,", !1, !0), n.push(m);2172 r.gsproducts = n.join("||");2173 if (f.Gd(r)) f.send(r); else for (b = 0; b < c; b++) {2174 var w = this.getCommon("ecom");2175 w.gsorderid = r.gsorderid;2176 w.gstotal = r.gstotal;2177 w.gsquan = r.gsquan;2178 w.gscur = r.gscur;2179 w.ecp = r.ecp;2180 m = k[b];2181 m = e.D(m, "::", ",,", !1, !0);2182 w.gsproducts = m;2183 f.send(w)2184 }2185 }2186 }2187 p.Tc("_gsecom", q.join(","));2188 this.G.Qa = []2189 }2190 } catch (ea) {2191 e.f(this.c, "FC_trackECom", ea)2192 }2193 };2194 k.trackClickthrough = function (a, b) {2195 try {2196 if (this.init(), !this.disabled && (a || b)) {2197 var g = this.getCommon("ct"), c = this.Je;2198 c && (g.gsssid = c, b && (g.url = b), g.gsclktl = a, g.gssresurl = d.href, this.sender.send(g))2199 }2200 } catch (L) {2201 e.f(this.c, "FC_trackClickthrough", L)2202 }2203 };2204 k.trackHeartbeat = function (a, b) {2205 var g = this.getCommon("hb");2206 try {2207 var e = c.performance.timing, d = (e.loadEventEnd - e.navigationStart) / 1E3;2208 g.plt = 0 <= d ? d : null2209 } catch (C) {2210 }2211 g.pld = this.duration;2212 g.cpld = this.Bd;2213 e = (v(new Date) - this.Hc) / 1E3;2214 0 > e && (e = 0);2215 g.psd = e;2216 this.eb(g);2217 g.gssid = a || g.gssid;2218 g.gsuid = b || g.gsuid;2219 this.sender.send(g)2220 };2221 k.trackSiteSearch = function (a, b, c, f, h, k) {2222 try {2223 if (this.init(), !this.disabled) {2224 var g = this.getCommon("ss"), l = e.A();2225 f ? (g.gsskwd = e.R(d.href, a), g.gssenc = c || "utf-8", g.gsscat = e.R(d.href, b)) : c ? (g.gsskwd = a, g.gsscat = b, g.gssenc = c) : (g.gsskwd = B(a), g.gsscat = B(b), g.gssenc = "utf-8");2226 g.gsskwd && (g.gsssid = this.Je = l, k && (g.gsscnt = k), (h = h || m) && (g.gssref = h), g.gssresurl = d.href, this.sender.send(g))2227 }2228 } catch (I) {2229 e.f(this.c, "FC_trackSiteSearch", I)2230 }2231 };2232 k.trackEvent = function (a, b, c, d, f) {2233 try {2234 this.ad(a, b, c, d, f)2235 } catch (C) {2236 e.f(this.c, "FC_trackEvent", C)2237 }2238 };2239 k.ad = function (a, c, f, h, k, l, m, n) {2240 try {2241 if (this.init(), !this.disabled) {2242 var g = this.getCommon("ev"), t = d.href;2243 g.eca = a;2244 g.eac = c;2245 g.eva = h;2246 g.ela = f;2247 if (k) {2248 a = "";2249 var u, p;2250 for (p in k) u ? a = a + "|" + p + ":" + k[p] : (a = p + ":" + k[p], u = !0);2251 g.eparams = a2252 }2253 g.tgtxt = m;2254 g.tghre = n;2255 g.ubid = l;2256 g.gstl = this.a.Ia || b.title;2257 t = this.url.parse(t);2258 g.gsourl = t.J;2259 this.sender.send(g)2260 }2261 } catch (ca) {2262 e.f(this.c, "FC_trackUbEvent", ca)2263 }2264 };2265 k.trackInternalLink = function () {2266 return !02267 };2268 k.uf = function (a) {2269 try {2270 if (this.init(), !this.disabled) {2271 var g = this.getCommon("ct");2272 g.gstype = 1;2273 g.url = a.href;2274 g.gsclktl = e.ia(a, "title") + a.title || e.ia(a, "alt") || e.ha(a);2275 g.gssresurl = d.href;2276 g.gstl = this.a.Ia || b.title;2277 var c = e.s(null, a, null, {gscampaign: ""});2278 null != c && (g.gscamp = c.getAttribute("gscampaign"));2279 c = e.s(null, a, null, {gsposition: ""});2280 null != c && (g.gspos = c.getAttribute("gsposition"));2281 c = e.s(null, a, null, {gsexpkey: ""});2282 null != c && (g.gsexpkey = c.getAttribute("gsexpkey"));2283 this.sender.send(g)2284 }2285 } catch (x) {2286 e.f(this.c, "FC_trackInternalLink", x)2287 }2288 };2289 k.trackLocation = function () {2290 var a = this;2291 try {2292 a.init(), a.disabled || navigator.geolocation.getCurrentPosition(function (b) {2293 var g = a.getCommon("loc");2294 g.gsmlati = b.coords.latitude;2295 g.gsmlongi = b.coords.longitude;2296 a.sender.send(g)2297 }, function () {2298 }, {timeout: 6E4})2299 } catch (t) {2300 e.f(a.c, "FC_trackLocation", t)2301 }2302 };2303 k.trackJunctionPoint = function (a, b) {2304 try {2305 if (this.init(), !this.disabled) {2306 var g = this.getCommon("jp");2307 void 0 == a ? (g.gsjpid = this.i.uid, g.gsjptype = 0) : (g.gsjpid = a, g.gsjptype = void 0 == b ? 0 : b);2308 this.sender.send(g)2309 }2310 } catch (x) {2311 e.f(this.c, "FC_trackLogin", x)2312 }2313 };2314 k.enableScroll = function () {2315 var a = this;2316 void 0 === a.Uc && (a.Uc = !0, e.observe(a.a.O || c, "scroll", function () {2317 try {2318 if (a.init(), !a.disabled) {2319 var b = a.getCommon("sc");2320 a.eb(b);2321 b.gsorurl = a.a.J;2322 b.scid = e.A();2323 a.Ie = b.scid;2324 c.setTimeout(function () {2325 b.scid === a.Ie && (b.scid = null, a.sender.send(b))2326 }, 1E3)2327 }2328 } catch (u) {2329 e.f(a.c, "FC_enableScroll", u)2330 }2331 }))2332 };2333 k.bindEvent = function (a, b, c, d, f) {2334 f = f || {};2335 return e.observe(a, b, function (b) {2336 if (b && b.target) {2337 var g = e.s(a, b, d, f);2338 null != g && (b.Me = g, c(b))2339 }2340 })2341 };2342 k.bindSearchResults = function (a, b) {2343 var g = this;2344 return g.bindEvent(a, "click", function (a) {2345 a = a.Me;2346 g.trackClickthrough(e.ha(a), a.href)2347 }, "a", b)2348 };2349 k.monitorSearchResults = function (a) {2350 function b(a, b) {2351 a.addEventListener ? a.addEventListener("click", b) : a.attachEvent("onclick", b)2352 }2353 for (var g = this, c = a.getElementsByTagName("a"), d = 0; d < c.length; d++) (function () {2354 var a = c[d];2355 b(a, function () {2356 g.trackClickthrough(e.ha(a), a.href)2357 })2358 })()2359 };2360 k.showHeatmap = function () {2361 var g = this.a.Da;2362 a.j.Da = d.href;2363 var c = b.createElement("script");2364 c.src = g;2365 b.getElementsByTagName("head")[0].appendChild(c)2366 };2367 k.addOrder = function (a, b, c) {2368 try {2369 this.init(), this.disabled || this.G.sd(a, v(b), c ? c : "CNY")2370 } catch (x) {2371 e.f(this.c, "FC_addOrder", x)2372 }2373 };2374 k.addProduct = function (a, b, c, d, f, h, k, l) {2375 try {2376 this.init(), this.disabled || this.G.td(a, b, c, v(d), v(f), h, k, l ? l : "CNY")2377 } catch (I) {2378 e.f(this.c, "FC_addProduct", I)2379 }2380 };2381 k.setSessionTimeout = function (a) {2382 1 > a || 3600 < a || (this.a.kf = a)2383 };2384 k.setBreadcrumb = function (a) {2385 this.a.yd = a2386 };2387 k.setCampaign = function (a) {2388 a && a.length && (this.a.I.xa = a)2389 };2390 k.setGroup = function (a) {2391 a && a.length && (this.a.I.group = a)2392 };2393 k.setContent = function (a) {2394 a && a.length && (this.a.I.content = a)2395 };2396 k.setKeyword = function (a) {2397 a && a.length && (this.a.I.Ea = a)2398 };2399 k.setMedium = function (a) {2400 a && a.length && (this.a.I.Ga = a)2401 };2402 k.setSource = function (a) {2403 a && a.length && (this.a.I.source = a)2404 };2405 k.setAdid = function (a) {2406 a && a.length && (this.a.I.ua = a)2407 };2408 k.setCampaignKey = function (a) {2409 this.a.L.push(this.a.fb = w(a))2410 };2411 k.setMediumKey = function (a) {2412 this.a.L.push(this.a.Bb = w(a))2413 };2414 k.setContentKey = function (a) {2415 this.a.L.push(this.a.jb = w(a))2416 };2417 k.setSourceKey = function (a) {2418 this.a.L.push(this.a.Jb = w(a))2419 };2420 k.setKeywordKey = function (a) {2421 this.a.L.push(this.a.Ab = w(a))2422 };2423 k.setGroupKey = function (a) {2424 this.a.L.push(this.a.sb = w(a))2425 };2426 k.setChannelKey = function (a) {2427 this.a.L.push(this.a.gb = w(a))2428 };2429 k.setAdidKey = function (a) {2430 this.a.L.push(this.a.Tb = w(a))2431 };2432 k.setContentNetworkPrefix = function (a) {2433 this.a.Hd = a2434 };2435 k.setChannel = function (a, b, c) {2436 b && (b = c ? e.R(m, b) : e.R(d.href, b)) && (a = b);2437 a && 0 != a.length && (this.a.I.channel = a)2438 };2439 k.setIgnoreTrafficKeyword = function (a) {2440 a && (this.a.we = a)2441 };2442 k.setCustomProperty = function (a, b, c, f) {2443 var g = b;2444 "cookie" == c ? g = e.P(f) || b : "query" == c && (g = e.R(d.href, f) || b);2445 null != g && (this.a.Pc[a] = g)2446 };2447 k.setMobileLaunchProperty = function (a, b) {2448 a && b && (this.a.Mc[a] = b)2449 };2450 k.setPageProperty = function (a, b) {2451 null != a && null != b && (this.a.Ra || (this.a.Ra = {}), this.a.Ra[a] = b)2452 };2453 k.setEcomProperty = function (a, b, c) {2454 if (null != a && null != b && null != c) {2455 for (var g in this.G.ca) if (this.G.ca[g].ba == a) {2456 this.G.ca[g].mb[b] = c;2457 return2458 }2459 a = this.G.ca.push({ba: a, mb: {}});2460 this.G.ca[a - 1].mb[b] = c2461 }2462 };2463 k.setHeatmapScriptUrl = function (a) {2464 this.a.Da = a2465 };2466 k.setPageName = function (a) {2467 this.a.Ia = a2468 };2469 k.setServiceUrl = function (a) {2470 this.a.Va = [a]2471 };2472 k.setServiceUrls = function (a) {2473 f(a) || (a = y.call(arguments));2474 this.a.Va = a2475 };2476 k.setJunctionPoint = function (a) {2477 this.a.Ge = a2478 };2479 k.setCookieProperties = function (a, b, c) {2480 a && "." == a.charAt(0) && (a = a.substring(1));2481 0 <= d.host.indexOf(a) && (this.a.domain = a || this.a.domain);2482 this.a.path = b || this.a.path;2483 this.a.gf = !!c2484 };2485 k.setSamplingRate = function (a) {2486 this.a.Sc = a2487 };2488 k.setClickSamplingRate = function (a) {2489 this.a.Fa = a2490 };2491 k.setDocWidth = function (a) {2492 this.a.oa = v(a);2493 void 0 === document._gsDocWidth && (document._gsDocWidth = v(a))2494 };2495 k.setWindowHeight = function (a) {2496 this.a.fd = v(a)2497 };2498 k.setOriginalUrl = function (a) {2499 this.a.J = a2500 };2501 k.setOriginElement = function (a) {2502 this.a.origin = e.T(a)2503 };2504 k.setPageVersion = function (a) {2505 this.a.Sa = a2506 };2507 k.getWDCookieString = function () {2508 this.init();2509 return this.i.D()2510 };2511 k.jump = function (a) {2512 var b = this.getWDCookieString();2513 a = p(a) ? a : a.action;2514 d.href = a + "#" + b2515 };2516 k.addIgnoreParams = function () {2517 this.a.L = this.a.L.concat(y.call(arguments))2518 };2519 k.enableLazyClickTrace = function (a) {2520 this.a.Ke = !a2521 };2522 k.enableHeatmap = function (a) {2523 this.a.U = !0;2524 this.a.Le = a;2525 this.U && this.U.bind()2526 };2527 k.enableCodeless = function () {2528 this.a.K = !0;2529 this.K && (this.K.wb(), this.K.bind())2530 };2531 k.enableCrossDomain = function (a) {2532 this.a.Jd = !a2533 };2534 k.enableLocalTraffic = function () {2535 this.a.vf = !02536 };2537 k.enableAnchor = function () {2538 };2539 k.keepAnchor = function (a) {2540 this.a.zb = !a2541 };2542 k.disableAnchor = function () {2543 this.a.zb = !12544 };2545 k.enableRedirectServer = function (a) {2546 this.Hb = a || this.a.domain2547 };2548 k.setErrorUrls = function (a) {2549 f(a) || (a = y.call(arguments));2550 e.nb = a || []2551 };2552 k.getSessionRefPage = function () {2553 if (this.i) return this.i.ee()2554 };2555 k.enableCheckSum = function (a) {2556 this.a.Fd = void 0 == a ? !0 : a2557 };2558 k.setAbServer = function (a) {2559 this.a.Rb = a2560 };2561 k.enableAdditionalStorage = function () {2562 };2563 k.enableDurable = function (a) {2564 this.a.ac = void 0 == a ? !0 : a2565 };2566 k.enableLocalized = function (a) {2567 this.a.Ic = void 0 == a ? !0 : a2568 };2569 k.linkDomains = function () {2570 function a(a, c) {2571 if (-1 == d.pathname.indexOf("gridsum_crossdomain_helper")) for (var g, f = 0, h = a.length; f < h; f++) g = b.createElement("iframe"), g.src = "//" + a[f].domain + a[f].path + "#" + c, g.style.display = "none", b.body.appendChild(g);2572 e.W("_gspc1", "1", 1600);2573 e.W("_gspc2", "1")2574 }2575 try {2576 if (!(-1 < d.hash.indexOf("gwdheatmap"))) {2577 this.enableCrossDomain();2578 var c, f = y.call(arguments), h = f.length, k = d.hostname, l = !(e.P("_gspc1") && e.P("_gspc2")),2579 m = [], n, p = !1;2580 for (c = 0; c < h; c++) {2581 var q = f[c].split("/")[0], r = f[c].substring(f[c].indexOf("/")), v = l && d.pathname != r;2582 if (q != k) {2583 var w = "www." == q.substr(0, 4) ? q.substr(4) : q;2584 -1 === k.indexOf(w, k.length - w.length + 1) && v && (p = !0, m.push({domain: q, path: r}))2585 }2586 }2587 p && (n = this.getWDCookieString(), b.body ? a(m, n) : e.Pb("document.body", function () {2588 a(m, n)2589 }))2590 }2591 } catch (N) {2592 e.f(this.a.Lf, "P_CD", N)2593 }2594 };2595 k.clientRedirect = function (a, b) {2596 try {2597 this.init();2598 if (this.disabled) return !0;2599 var c = a.href, g = this.i.m.get("_gscs"), f = g ? g.split("|")[0] : "null", h = "?destUrl=" +2600 B(c) + "&gssid=" + f;2601 0 != b && (h += "&gsref=" + B(d.href));2602 a.href = this.a.Yb + h2603 } catch (D) {2604 e.f(this.c, "FC_clientRedirect", D)2605 }2606 return !02607 };2608 k.setClientRedirectUrl = function (a) {2609 this.a.Yb = a2610 };2611 k.bindDomains = function (a, f, h) {2612 function g(a, b) {2613 for (var c = 0; c < b.length; c++) if (0 === a.indexOf(b[c])) return !0;2614 return !12615 }2616 function k() {2617 try {2618 if (l.init(), !l.disabled) {2619 for (var c = e.mc(d.hostname), h = 0; h < a.length; h++) -1 < a[h].indexOf(c) && (a.splice(h, 1), h--);2620 for (var k = b.getElementsByTagName("a"), c = 0; c < k.length; c++) if (g(k[c].href, a)) {2621 var m = new H(k[c].href);2622 m.cb("_gscu_", l.i.m.get("_gscu"));2623 m.bb("_gscs_", l.i.m.get("_gscs"));2624 k[c].href = m.toString()2625 } else if (f) for (h = 0; h < f.length; h++) k[c].getAttribute(f[h]) && g(k[c].getAttribute(f[h]), a) && (m = new H(k[c].getAttribute(f[h])), m.cb("_gscu_", l.i.m.get("_gscu")), m.bb("_gscs_", l.i.m.get("_gscs")), k[c].setAttribute(f[h], m.toString()))2626 }2627 } catch (M) {2628 e.f(l.c, "FC_bindDomains", M)2629 }2630 }2631 var l = this;2632 h ? c.setTimeout(k, h) : k()2633 };2634 k.enableSessionRefPage = function (a) {2635 this.a.jf = void 0 == a ? !0 : a2636 };2637 k.trackExposure = function () {2638 var a = this;2639 try {2640 if (a.init(), !a.disabled && b.querySelectorAll) {2641 for (var c = b.querySelectorAll("[gsexpkey]"), d = {}, f = 0; f < c.length; f++) {2642 (function () {2643 var b = c[f];2644 e.observe(c[f], "click", function () {2645 a.uf(b)2646 })2647 })();2648 var h = e.s(null, c[f], null, {gscampaign: ""}),2649 k = null != h ? h.getAttribute("gscampaign") : "",2650 h = e.s(null, c[f], null, {gsposition: ""}),2651 l = null != h ? h.getAttribute("gsposition") : "",2652 h = e.s(null, c[f], null, {gsexpkey: ""});2653 if (null != h) {2654 var m = h.getAttribute("gsexpkey");2655 null !== m && (void 0 === d[k] && (d[k] = {}), void 0 === d[k][l] && (d[k][l] = []), d[k][l].push(m))2656 }2657 }2658 for (var n in d) {2659 var p = a.getCommon("exp");2660 p.gscamp = n;2661 var h = [], q;2662 for (q in d[n]) h.push(q + ":" + d[n][q].join(","));2663 p.gslist = h.join("|");2664 a.sender.send(p)2665 }2666 }2667 } catch (T) {2668 e.f(a.c, "trackExposure", T)2669 }2670 };2671 k.trackSwiper = function (a) {2672 var b = this;2673 try {2674 if (b.init(), !b.disabled) {2675 var d = a.params.onSlideChangeStart;2676 a.params.onSlideChangeStart = function (a) {2677 d && d(a);2678 try {2679 var f = b.getCommon("sc"), g = b.a.fd || c.innerHeight || (z ? z.clientHeight : null);2680 f.gsst = g * a.activeIndex;2681 f.gswh = g;2682 f.gsorurl = b.a.J;2683 b.sender.send(f)2684 } catch (D) {2685 e.f(b.c, "trackSwiper", D)2686 }2687 }2688 }2689 } catch (x) {2690 e.f(b.c, "trackSwiper", x)2691 }2692 };2693 k.mapCookie = function () {2694 (new a.jd(this.a)).cc()2695 };2696 k.setUbcfgHash = function (a) {2697 this.a.Mb = a;2698 this.K && this.K.wb()2699 };2700 k.setAdditionalProfile = function (a) {2701 this.a.Sb = e.sa(a) ? [a] : a2702 };2703 k.setAdConfig = function (a) {2704 this.init();2705 new G(a, this.a)2706 };2707 k.enableSPATracking = function (a) {2708 this.a.Dc = 0 != a2709 };2710 k.setCoordinate = function (a) {2711 a && (e.sa(a) && b.querySelector && (a = b.querySelector(a)), this.a.O = a)2712 };2713 return l2714 }();2715 a.j = {2716 version: "3.7.0.14", wc: {}, plugins: [], Ya: {}, Da: void 0, register: function (b, c, d) {2717 a.j.plugins.push({name: b, rf: c});2718 a.j.addApis(d)2719 }, addApis: function (a) {2720 if (a) for (var b in a) l(a, b) && (W.prototype[b] = a[b])2721 }, addHook: function (b, c) {2722 var d = a.j.wc;2723 b = w(b);2724 d[b] = d[b] || [];2725 d[b].push(c)2726 }, execHook: function (b) {2727 for (var c = [], d = 1; d < arguments.length; d++) c[d - 1] = arguments[d];2728 if (d = a.j.wc[b]) for (var e = 0; e < d.length; e++) {2729 var f = d[e];2730 f.apply(f, c)2731 }2732 }, isTrackerExist: function (b) {2733 return !!a.j.Ya[b]2734 }, getTracker: function (b, c, d) {2735 e.Ka();2736 b = e.trim(b);2737 return a.j.Ya[b] || (a.j.Ya[b] = new W(b, c, d))2738 }, getHybridTracker: function (b, c) {2739 e.Ka() && (c = b);2740 return a.j.getTracker(c)2741 }, loadCallback: function (a, b, c) {2742 e.Pb("window." + (a || "_gsCallback"), function (a) {2743 a()2744 }, b, c)2745 }, getServiceId: function () {2746 var b = [], c;2747 for (c in a.j.Ya) b.push(c);2748 return b2749 }2750 };2751 var S = {2752 decode: e.decode,2753 delCookie: e.lb,2754 encode: e.encode,2755 find: e.find,2756 findArray: e.dc,2757 getAd: e.fc,2758 getCookie: e.P,2759 getDocWidth: e.pb,2760 getEl: e.T,2761 getExpireDate: e.hc,2762 getHashCode: e.qa,2763 getInnerText: e.ha,2764 getInnerUnvisibleText: e.ia,2765 getLocalTime: e.Aa,2766 getPointer: e.lc,2767 getPos: e.o,2768 getPrimaryDomain: e.mc,2769 getRandomID: e.A,2770 getRandomString: e.ra,2771 getTimeZone: e.Ma,2772 getUrlParam: e.R,2773 indexOf: e.indexOf,2774 isIE: e.Pa,2775 isMobile: e.Bc,2776 isPageMatch: e.yb,2777 lower: e.lower,2778 observe: e.observe,2779 observeTouch: e.Ha,2780 openApp: e.Re,2781 report: e.f,2782 resolveURL: e.ta,2783 resolveUrl: e.ta,2784 searchUp: e.s,2785 serialize: e.D,2786 setCookie: e.W,2787 toDict: e.Lb,2788 trim: e.trim,2789 voidFunc: e.ed,2790 waitFor: e.Pb2791 }, F = function () {2792 function a() {2793 }2794 a.prototype.push = function (a) {2795 n(a)2796 };2797 return a2798 }();2799 try {2800 if (-1 === A(w(d.hash), "#gwdheatmap&")) for (var P = 0; P < _gsq.length; P++) n(_gsq[P]);2801 _gsq = new F2802 } catch (K) {2803 }2804 c.GridsumWebDissector = a.j;2805 c._gsUtility = S2806})(Gridsum || (Gridsum = {}));2807var _gsTracker = GridsumWebDissector.getTracker('GWD-002808');2808_gsTracker.setServiceUrls("//www.webdissector.com/recv/gs.gif", "//recv-wd.gridsumdissector.com/gs.gif", "//yhxwsjjs.court.gov.cn/gs.gif");2809if (_gsUtility.isPageMatch(["/", "/Index"], 'exactmatch', location.pathname)) {2810 _gsTracker.enableHeatmap();2811 _gsTracker.setPageVersion("ver20160316");2812 _gsTracker.setOriginalUrl("http://wenshu.court.gov.cn/");2813} else {2814}...

Full Screen

Full Screen

assist_link_bat.js

Source:assist_link_bat.js Github

copy

Full Screen

...230 231 getUrlPath: function (e) {232 var href = e.getAttribute('href');233 var url = location.pathname;234 return this.urlMatchRule(url);235 },236 237 url: window.location.href,238 239 getQueryString: function (url, name) {240 var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");241 var str = url.split('?')[1];242 if (str) {243 var r = str.match(reg);244 if (r !== null) return decodeURI(r[2]);245 }246 return false;247 },248 ...

Full Screen

Full Screen

check-url.js

Source:check-url.js Github

copy

Full Screen

...43}44export default function (url, rules) {45 if (!Array.isArray(rules))46 rules = [rules];47 return rules.some(rule => urlMatchRule(parseUrl(url), prepareRule(rule)));...

Full Screen

Full Screen

Using AI Code Generation

copy

Full Screen

1import { RequestHook } from 'testcafe';2class MyHook extends RequestHook {3 constructor (requestFilterRules, responseEventConfigureOpts) {4 super(requestFilterRules, responseEventConfigureOpts);5 }6 async onRequest (event) {7 if (isMatch) {8 event.preventDefault();9 }10 }11 async onResponse (event) {12 if (isMatch) {13 event.preventDefault();14 }15 }16}17export default MyHook;18import { RequestHook } from 'testcafe';19class MyHook extends RequestHook {20 constructor (requestFilterRules, responseEventConfigureOpts) {21 super(requestFilterRules, responseEventConfigureOpts);22 }23 async onRequest (event) {24 if (isMatch) {25 event.preventDefault();26 }27 }28 async onResponse (event) {29 if (isMatch) {30 event.preventDefault();31 }32 }33}34export default MyHook;35import { RequestHook } from 'testcafe';36class MyHook extends RequestHook {37 constructor (requestFilterRules, responseEventConfigureOpts) {38 super(requestFilterRules, responseEventConfigureOpts);39 }40 async onRequest (event) {41 if (isMatch) {42 event.preventDefault();43 }44 }45 async onResponse (event) {46 if (isMatch) {47 event.preventDefault();48 }49 }50}51export default MyHook;52import { RequestHook } from 'testcafe';53class MyHook extends RequestHook {54 constructor (requestFilterRules, responseEventConfigureOpts) {55 super(requestFilterRules, responseEventConfigureOpts);56 }57 async onRequest (event) {58 if (isMatch) {59 event.preventDefault();60 }61 }62 async onResponse (event) {63 const isMatch = await event.isMatch('http

Full Screen

Using AI Code Generation

copy

Full Screen

1import { urlMatchRule } from 'testcafe';2test('My test', async t => {3});4import { urlMatchRule } from 'testcafe';5test('My test', async t => {6});7import { urlMatchRule } from 'testcafe';8test('My test', async t => {9});10import { urlMatchRule } from 'testcafe';11test('My test', async t => {12});13import { urlMatchRule } from 'testcafe';14test('My test', async t => {15});16import { urlMatchRule } from 'testcafe';17test('My test', async t => {18});19import { urlMatchRule } from 'testcafe';

Full Screen

Using AI Code Generation

copy

Full Screen

1import { urlMatchRule } from 'testcafe';2test('My Test', async t => {3});4import { urlMatchRule } from 'testcafe';5test('My Test', async t => {6});7import { urlMatchRule } from 'testcafe';8test('My Test', async t => {9});10import { urlMatchRule } from 'testcafe';11test('My Test', async t => {12});

Full Screen

Using AI Code Generation

copy

Full Screen

1import { urlMatchRule } from 'testcafe';2test('My test', async t => {3});4test('My test', async t => {5});6test('My test', async t => {7});8test('My test', async t => {9});10test('My test', async t => {11});12test('My test', async t => {13});

Full Screen

Using AI Code Generation

copy

Full Screen

1import { RequestLogger } from 'testcafe';2 .requestHooks(logger);3test('My test', async t => {4 .expect(logger.contains(r => r.url.match(/www.google.com/))).ok()5 .expect(logger.contains(r => r.url.match(/www.google.com\/search/))).ok()6 .expect(logger.contains(r => r.url.match(/www.google.com\/search\?q=test/))).ok();7});8import { RequestLogger } from 'testcafe';9 .requestHooks(logger);10test('My test', async t => {11 .expect(logger.contains(r => r.url.match(/www.google.com/))).ok()12 .expect(logger.contains(r => r.url.match(/www.google.com\/search/))).ok()13 .expect(logger.contains(r => r.url.match(/www.google.com\/search\?q=test/))).ok();14});15import { RequestLogger } from 'testcafe';16 .requestHooks(logger);17test('My test', async t => {18 .expect(logger.contains(r => r.url.match(/www.google.com/))).ok()19 .expect(logger.contains(r => r.url.match(/www.google.com\/search/))).ok()20 .expect(logger.contains(r => r.url.match(/www.google.com\/search\?q=test/))).ok();21});22import { RequestLogger } from 'testcafe';23 .requestHooks(logger);24test('My test', async t => {25 .expect(logger.contains(r => r.url.match(/www.google.com/))).ok()

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run Testcafe automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful