1!function() { 2 var s, i, c, a, o = { 3 frameRate: 150, 4 animationTime: 400, 5 stepSize: 100, 6 pulseAlgorithm: !0, 7 pulseScale: 4, 8 pulseNormalize: 1, 9 accelerationDelta: 50, 10 accelerationMax: 3, 11 keyboardSupport: !0, 12 arrowScroll: 50, 13 fixedBackground: !0, 14 excluded: "" 15 }, p = o, u = !1, d = !1, n = { 16 x: 0, 17 y: 0 18 }, f = !1, m = document.documentElement, l = [], h = /^Mac/.test(navigator.platform), w = { 19 left: 37, 20 up: 38, 21 right: 39, 22 down: 40, 23 spacebar: 32, 24 pageup: 33, 25 pagedown: 34, 26 end: 35, 27 home: 36 28 }, v = { 29 37: 1, 30 38: 1, 31 39: 1, 32 40: 1 33 }; 34 function y() { 35 if (!f && document.body) { 36 f = !0; 37 var e = document.body 38 , t = document.documentElement 39 , o = window.innerHeight 40 , n = e.scrollHeight; 41 if (m = 0 <= document.compatMode.indexOf("CSS") ? t : e, 42 s = e, 43 p.keyboardSupport && Y("keydown", x), 44 top != self) 45 d = !0; 46 else if (Q && o < n && (e.offsetHeight <= o || t.offsetHeight <= o)) { 47 var r, a = document.createElement("div"); 48 a.style.cssText = "position:absolute; z-index:-10000; top:0; left:0; right:0; height:" + m.scrollHeight + "px", 49 document.body.appendChild(a), 50 c = function() { 51 r = r || setTimeout(function() { 52 u || (a.style.height = "0", 53 a.style.height = m.scrollHeight + "px", 54 r = null) 55 }, 500) 56 } 57 , 58 setTimeout(c, 10), 59 Y("resize", c); 60 if ((i = new R(c)).observe(e, { 61 attributes: !0, 62 childList: !0, 63 characterData: !1 64 }), 65 m.offsetHeight <= o) { 66 var l = document.createElement("div"); 67 l.style.clear = "both", 68 e.appendChild(l) 69 } 70 } 71 p.fixedBackground || u || (e.style.backgroundAttachment = "scroll", 72 t.style.backgroundAttachment = "scroll") 73 } 74 } 75 var b = [] 76 , g = !1 77 , r = Date.now(); 78 function S(d, f, m) { 79 if (function(e, t) { 80 e = 0 < e ? 1 : -1, 81 t = 0 < t ? 1 : -1, 82 n.x === e && n.y === t || (n.x = e, 83 n.y = t, 84 b = [], 85 r = 0) 86 }(f, m), 87 1 != p.accelerationMax) { 88 var e = Date.now() - r; 89 if (e < p.accelerationDelta) { 90 var t = (1 + 50 / e) / 2; 91 1 < t && (t = Math.min(t, p.accelerationMax), 92 f *= t, 93 m *= t) 94 } 95 r = Date.now() 96 } 97 if (b.push({ 98 x: f, 99 y: m, 100 lastX: f < 0 ? .99 : -.99, 101 lastY: m < 0 ? .99 : -.99, 102 start: Date.now() 103 }), 104 !g) { 105 var o = q() 106 , h = d === o || d === document.body; 107 null == d.$scrollBehavior && function(e) { 108 var t = M(e); 109 if (null == B[t]) { 110 var o = getComputedStyle(e, "")["scroll-behavior"]; 111 B[t] = "smooth" == o 112 } 113 return B[t] 114 }(d) && (d.$scrollBehavior = d.style.scrollBehavior, 115 d.style.scrollBehavior = "auto"); 116 var w = function(e) { 117 for (var t = Date.now(), o = 0, n = 0, r = 0; r < b.length; r++) { 118 var a = b[r] 119 , l = t - a.start 120 , i = l >= p.animationTime 121 , c = i ? 1 : l / p.animationTime; 122 p.pulseAlgorithm && (c = F(c)); 123 var s = a.x * c - a.lastX >> 0 124 , u = a.y * c - a.lastY >> 0; 125 o += s, 126 n += u, 127 a.lastX += s, 128 a.lastY += u, 129 i && (b.splice(r, 1), 130 r--) 131 } 132 h ? window.scrollBy(o, n) : (o && (d.scrollLeft += o), 133 n && (d.scrollTop += n)), 134 f || m || (b = []), 135 b.length ? j(w, d, 1e3 / p.frameRate + 1) : (g = !1, 136 null != d.$scrollBehavior && (d.style.scrollBehavior = d.$scrollBehavior, 137 d.$scrollBehavior = null)) 138 }; 139 j(w, d, 0), 140 g = !0 141 } 142 } 143 function e(e) { 144 f || y(); 145 var t = e.target; 146 if (e.defaultPrevented || e.ctrlKey) 147 return !0; 148 if (N(s, "embed") || N(t, "embed") && /\.pdf/i.test(t.src) || N(s, "object") || t.shadowRoot) 149 return !0; 150 var o = -e.wheelDeltaX || e.deltaX || 0 151 , n = -e.wheelDeltaY || e.deltaY || 0; 152 h && (e.wheelDeltaX && K(e.wheelDeltaX, 120) && (o = e.wheelDeltaX / Math.abs(e.wheelDeltaX) * -120), 153 e.wheelDeltaY && K(e.wheelDeltaY, 120) && (n = e.wheelDeltaY / Math.abs(e.wheelDeltaY) * -120)), 154 o || n || (n = -e.wheelDelta || 0), 155 1 === e.deltaMode && (o *= 40, 156 n *= 40); 157 var r = z(t); 158 return r ? !!function(e) { 159 if (!e) 160 return; 161 l.length || (l = [e, e, e]); 162 e = Math.abs(e), 163 l.push(e), 164 l.shift(), 165 clearTimeout(a), 166 a = setTimeout(function() { 167 try { 168 localStorage.SS_deltaBuffer = l.join(",") 169 } catch (e) {} 170 }, 1e3); 171 var t = 120 < e && P(e) 172 , o = !P(120) && !P(100) && !t; 173 return e < 50 || o 174 }(n) || (1.2 < Math.abs(o) && (o *= p.stepSize / 120), 175 1.2 < Math.abs(n) && (n *= p.stepSize / 120), 176 S(r, o, n), 177 e.preventDefault(), 178 void C()) : !d || !W || (Object.defineProperty(e, "target", { 179 value: window.frameElement 180 }), 181 parent.wheel(e)) 182 } 183 function x(e) { 184 var t = e.target 185 , o = e.ctrlKey || e.altKey || e.metaKey || e.shiftKey && e.keyCode !== w.spacebar; 186 document.body.contains(s) || (s = document.activeElement); 187 var n = /^(button|submit|radio|checkbox|file|color|image)$/i;
188 if (e.defaultPrevented || /^(textarea|select|embed|object)$/i.test(t.nodeName) || N(t, "input") && !n.test(t.type) || N(s, "video") || function(e) { 189 var t = e.target 190 , o = !1; 191 if (-1 != document.URL.indexOf("www.youtube.com/watch")) 192 do { 193 if (o = t.classList && t.classList.contains("html5-video-controls")) 194 break 195 } while (t = t.parentNode); 196 return o 197 }(e) || t.isContentEditable || o) 198 return !0; 199 if ((N(t, "button") || N(t, "input") && n.test(t.type)) && e.keyCode === w.spacebar) 200 return !0; 201 if (N(t, "input") && "radio" == t.type && v[e.keyCode]) 202 return !0; 203 var r = 0 204 , a = 0 205 , l = z(s); 206 if (!l) 207 return !d || !W || parent.keydown(e); 208 var i = l.clientHeight; 209 switch (l == document.body && (i = window.innerHeight), 210 e.keyCode) { 211 case w.up: 212 a = -p.arrowScroll; 213 break; 214 case w.down: 215 a = p.arrowScroll; 216 break; 217 case w.spacebar: 218 a = -(e.shiftKey ? 1 : -1) * i * .9; 219 break; 220 case w.pageup: 221 a = .9 * -i; 222 break; 223 case w.pagedown: 224 a = .9 * i; 225 break; 226 case w.home: 227 l == document.body && document.scrollingElement && (l = document.scrollingElement), 228 a = -l.scrollTop; 229 break; 230 case w.end: 231 var c = l.scrollHeight - l.scrollTop - i; 232 a = 0 < c ? 10 + c : 0; 233 break; 234 case w.left: 235 r = -p.arrowScroll; 236 break; 237 case w.right: 238 r = p.arrowScroll; 239 break; 240 default: 241 return !0 242 } 243 S(l, r, a), 244 e.preventDefault(), 245 C() 246 } 247 function t(e) { 248 s = e.target 249 } 250 var k, D, M = (k = 0, 251 function(e) { 252 return e.uniqueID || (e.uniqueID = k++) 253 } 254 ), E = {}, T = {}, B = {}; 255 function C() { 256 clearTimeout(D), 257 D = setInterval(function() { 258 E = T = B = {} 259 }, 1e3) 260 } 261 function H(e, t, o) { 262 for (var n = o ? E : T, r = e.length; r--; ) 263 n[M(e[r])] = t; 264 return t 265 } 266 function z(e) { 267 var t = [] 268 , o = document.body 269 , n = m.scrollHeight; 270 do { 271 var r = (!1 ? E : T)[M(e)]; 272 if (r) 273 return H(t, r); 274 if (t.push(e), 275 n === e.scrollHeight) { 276 var a = O(m) && O(o) || X(m); 277 if (d && L(m) || !d && a) 278 return H(t, q()) 279 } else if (L(e) && X(e)) 280 return H(t, e) 281 } while (e = e.parentElement) 282 } 283 function L(e) { 284 return e.clientHeight + 10 < e.scrollHeight 285 } 286 function O(e) { 287 return "hidden" !== getComputedStyle(e, "").getPropertyValue("overflow-y") 288 } 289 function X(e) { 290 var t = getComputedStyle(e, "").getPropertyValue("overflow-y"); 291 return "scroll" === t || "auto" === t 292 } 293 function Y(e, t, o) { 294 window.addEventListener(e, t, o || !1) 295 } 296 function A(e, t, o) { 297 window.removeEventListener(e, t, o || !1) 298 } 299 function N(e, t) { 300 return e && (e.nodeName || "").toLowerCase() === t.toLowerCase() 301 } 302 if (window.localStorage && localStorage.SS_deltaBuffer) 303 try { 304 l = localStorage.SS_deltaBuffer.split(",") 305 } catch (e) {} 306 function K(e, t) { 307 return Math.floor(e / t) == e / t 308 } 309 function P(e) { 310 return K(l[0], e) && K(l[1], e) && K(l[2], e) 311 } 312 var $, j = window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || function(e, t, o) { 313 window.setTimeout(e, o || 1e3 / 60) 314 } 315 , R = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver, q = ($ = document.scrollingElement, 316 function() { 317 if (!$) { 318 var e = document.createElement("div"); 319 e.style.cssText = "height:10000px;width:1px;", 320 document.body.appendChild(e); 321 var t = document.body.scrollTop; 322 document.documentElement.scrollTop, 323 window.scrollBy(0, 3), 324 $ = document.body.scrollTop != t ? document.body : document.documentElement, 325 window.scrollBy(0, -3), 326 document.body.removeChild(e) 327 } 328 return $ 329 } 330 ); 331 function V(e) { 332 var t; 333 return ((e *= p.pulseScale) < 1 ? e - (1 - Math.exp(-e)) : (e -= 1, 334 (t = Math.exp(-1)) + (1 - Math.exp(-e)) * (1 - t))) * p.pulseNormalize 335 } 336 function F(e) { 337 return 1 <= e ? 1 : e <= 0 ? 0 : (1 == p.pulseNormalize && (p.pulseNormalize /= V(1)), 338 V(e)) 339 } 340 var I = window.navigator.userAgent 341 , _ = /Edge/.test(I) 342 , W = /chrome/i.test(I) && !_ 343 , U = /safari/i.test(I) && !_ 344 , G = /mobile/i.test(I) 345 , J = /Windows NT 6.1/i.test(I) && /rv:11/i.test(I) 346 , Q = U && (/Version\/8/i.test(I) || /Version\/9/i.test(I)) 347 , Z = (W || U || J) && !G 348 , ee = !1; 349 try { 350 window.addEventListener("test", null, Object.defineProperty({}, "passive", { 351 get: function() { 352 ee = !0 353 } 354 })) 355 } catch (e) {} 356 var te = !!ee && { 357 passive: !1 358 } 359 , oe = "onwheel"in document.createElement("div") ? "wheel" : "mousewheel"; 360 function ne(e) { 361 for (var t in e) 362 o.hasOwnProperty(t) && (p[t] = e[t]) 363 } 364 oe && Z && (Y(oe, e, te), 365 Y("mousedown", t), 366 Y("load", y)), 367 ne.destroy = function() { 368 i && i.disconnect(), 369 A(oe, e), 370 A("mousedown", t), 371 A("keydown", x), 372 A("resize", c), 373 A("load", y) 374 } 375 , 376 window.SmoothScrollOptions && ne(window.SmoothScrollOptions), 377 "function" == typeof define && define.amd ? define(function() { 378 return ne 379 }) : "object" == typeof exports ? module.exports = ne : window.SmoothScroll = ne 380}();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.