vendor: 9,095 bytes, lines 1-144
1/*! WOW - v1.1.2 - 2015-04-07 2 * Copyright (c) 2015 Matthieu Aussaguel; Licensed MIT */ 3(function() { 4 var a, b, c, d, e, f = function(a, b) { 5 return function() { 6 return a.apply(b, arguments) 7 } 8 }, 9 g = [].indexOf || function(a) { 10 for (var b = 0, c = this.length; c > b; b++) 11 if (b in this && this[b] === a) return b; 12 return -1 13 }; 14 b = function() { 15 function a() {} 16 return a.prototype.extend = function(a, b) { 17 var c, d; 18 for (c in b) d = b[c], null == a[c] && (a[c] = d); 19 return a 20 }, a.prototype.isMobile = function(a) { 21 return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(a) 22 }, a.prototype.createEvent = function(a, b, c, d) { 23 var e; 24 return null == b && (b = !1), null == c && (c = !1), null == d && (d = null), null != document.createEvent ? (e = document.createEvent("CustomEvent"), e.initCustomEvent(a, b, c, d)) : null != document.createEventObject ? (e = document.createEventObject(), e.eventType = a) : e.eventName = a, e 25 }, a.prototype.emitEvent = function(a, b) { 26 return null != a.dispatchEvent ? a.dispatchEvent(b) : b in (null != a) ? a[b]() : "on" + b in (null != a) ? a["on" + b]() : void 0 27 }, a.prototype.addEvent = function(a, b, c) { 28 return null != a.addEventListener ? a.addEventListener(b, c, !1) : null != a.attachEvent ? a.attachEvent("on" + b, c) : a[b] = c 29 }, a.prototype.removeEvent = function(a, b, c) { 30 return null != a.removeEventListener ? a.removeEventListener(b, c, !1) : null != a.detachEvent ? a.detachEvent("on" + b, c) : delete a[b] 31 }, a.prototype.innerHeight = function() { 32 return "innerHeight" in window ? window.innerHeight : document.documentElement.clientHeight 33 }, a 34 }(), c = this.WeakMap || this.MozWeakMap || (c = function() { 35 function a() { 36 this.keys = [], this.values = [] 37 } 38 return a.prototype.get = function(a) { 39 var b, c, d, e, f; 40 for (f = this.keys, b = d = 0, e = f.length; e > d; b = ++d) 41 if (c = f[b], c === a) return this.values[b] 42 }, a.prototype.set = function(a, b) { 43 var c, d, e, f, g; 44 for (g = this.keys, c = e = 0, f = g.length; f > e; c = ++e) 45 if (d = g[c], d === a) return void(this.values[c] = b); 46 return this.keys.push(a), this.values.push(b) 47 }, a 48 }()), a = this.MutationObserver || this.WebkitMutationObserver || this.MozMutationObserver || (a = function() { 49 function a() { 50 "undefined" != typeof console && null !== console && console.warn("MutationObserver is not supported by your browser."), "undefined" != typeof console && null !== console && console.warn("WOW.js cannot detect dom mutations, please call .sync() after loading new content.") 51 } 52 return a.notSupported = !0, a.prototype.observe = function() {}, a 53 }()), d = this.getComputedStyle || function(a) { 54 return this.getPropertyValue = function(b) { 55 var c; 56 return "float" === b && (b = "styleFloat"), e.test(b) && b.replace(e, function(a, b) { 57 return b.toUpperCase() 58 }), (null != (c = a.currentStyle) ? c[b] : void 0) || null 59 }, this 60 }, e = /(\-([a-z]){1})/g, this.WOW = function() { 61 function e(a) { 62 null == a && (a = {}), this.scrollCallback = f(this.scrollCallback, this), this.scrollHandler = f(this.scrollHandler, this), this.resetAnimation = f(this.resetAnimation, this), this.start = f(this.start, this), this.scrolled = !0, this.config = this.util().extend(a, this.defaults), this.animationNameCache = new c, this.wowEvent = this.util().createEvent(this.config.boxClass) 63 } 64 return e.prototype.defaults = { 65 boxClass: "wow", 66 animateClass: "animated", 67 offset: 0, 68 mobile: !0, 69 live: !0, 70 callback: null 71 }, e.prototype.init = function() { 72 var a; 73 return this.element = window.document.documentElement, "interactive" === (a = document.readyState) || "complete" === a ? this.start() : this.util().addEvent(document, "DOMContentLoaded", this.start), this.finished = [] 74 }, e.prototype.start = function() { 75 var b, c, d, e; 76 if (this.stopped = !1, this.boxes = function() { 77 var a, c, d, e; 78 for (d = this.element.querySelectorAll("." + this.config.boxClass), e = [], a = 0, c = d.length; c > a; a++) b = d[a], e.push(b); 79 return e 80 }.call(this), this.all = function() { 81 var a, c, d, e; 82 for (d = this.boxes, e = [], a = 0, c = d.length; c > a; a++) b = d[a], e.push(b); 83 return e 84 }.call(this), this.boxes.length) 85 if (this.disabled()) this.resetStyle(); 86 else 87 for (e = this.boxes, c = 0, d = e.length; d > c; c++) b = e[c], this.applyStyle(b, !0); 88 return this.disabled() || (this.util().addEvent(window, "scroll", this.scrollHandler), this.util().addEvent(window, "resize", this.scrollHandler), this.interval = setInterval(this.scrollCallback, 50)), this.config.live ? new a(function(a) { 89 return function(b) { 90 var c, d, e, f, g; 91 for (g = [], c = 0, d = b.length; d > c; c++) f = b[c], g.push(function() { 92 var a, b, c, d; 93 for (c = f.addedNodes || [], d = [], a = 0, b = c.length; b > a; a++) e = c[a], d.push(this.doSync(e)); 94 return d 95 }.call(a)); 96 return g 97 } 98 }(this)).observe(document.body, { 99 childList: !0, 100 subtree: !0 101 }) : void 0 102 }, e.prototype.stop = function() { 103 return this.stopped = !0, this.util().removeEvent(window, "scroll", this.scrollHandler), this.util().removeEvent(window, "resize", this.scrollHandler), null != this.interval ? clearInterval(this.interval) : void 0 104 }, e.prototype.sync = function() { 105 return a.notSupported ? this.doSync(this.element) : void 0 106 }, e.prototype.doSync = function(a) { 107 var b, c, d, e, f; 108 if (null == a && (a = this.element), 1 === a.nodeType) { 109 for (a = a.parentNode || a, e = a.querySelectorAll("." + this.config.boxClass), f = [], c = 0, d = e.length; d > c; c++) b = e[c], g.call(this.all, b) < 0 ? (this.boxes.push(b), this.all.push(b), this.stopped || this.disabled() ? this.resetStyle() : this.applyStyle(b, !0), f.push(this.scrolled = !0)) : f.push(void 0); 110 return f 111 } 112 }, e.prototype.show = function(a) { 113 return this.applyStyle(a), a.className = a.className + " " + this.config.animateClass, null != this.config.callback && this.config.callback(a), this.util().emitEvent(a, this.wowEvent), this.util().addEvent(a, "animationend", this.resetAnimation), this.util().addEvent(a, "oanimationend", this.resetAnimation), this.util().addEvent(a, "webkitAnimationEnd", this.resetAnimation), this.util().addEvent(a, "MSAnimationEnd", this.resetAnimation), a 114 }, e.prototype.applyStyle = function(a, b) { 115 var c, d, e; 116 return d = a.getAttribute("data-wow-duration"), c = a.getAttribute("data-wow-delay"), e = a.getAttribute("data-wow-iteration"), this.animate(function(f) { 117 return function() { 118 return f.customStyle(a, b, d, c, e) 119 } 120 }(this)) 121 }, e.prototype.animate = function() { 122 return "requestAnimationFrame" in window ? function(a) { 123 return window.requestAnimationFrame(a) 124 } : function(a) { 125 return a() 126 } 127 }(), e.prototype.resetStyle = function() { 128 var a, b, c, d, e; 129 for (d = this.boxes, e = [], b = 0, c = d.length; c > b; b++) a = d[b], e.push(a.style.visibility = "visible"); 130 return e 131 }, e.prototype.resetAnimation = function(a) { 132 var b; 133 return a.type.toLowerCase().indexOf("animationend") >= 0 ? (b = a.target || a.srcElement, b.className = b.className.replace(this.config.animateClass, "").trim()) : void 0 134 }, e.prototype.customStyle = function(a, b, c, d, e) { 135 return b && this.cacheAnimationName(a), a.style.visibility = b ? "hidden" : "visible", c && this.vendorSet(a.style, { 136 animationDuration: c 137 }), d && this.vendorSet(a.style, { 138 animationDelay: d 139 }), e && this.vendorSet(a.style, { 140 animationIterationCount: e 141 }), this.vendorSet(a.style, { 142 animationName: b ? "none" : this.cachedAnimationName(a) 143 }), a 144 }
vendor: 2,620 bytes, lines 144-191
144, e.prototype.vendors = ["moz", "webkit"], e.prototype.vendorSet = function(a, b) { 145 var c, d, e, f; 146 d = []; 147 for (c in b) e = b[c], a["" + c] = e, d.push(function() { 148 var b, d, g, h; 149 for (g = this.vendors, h = [], b = 0, d = g.length; d > b; b++) f = g[b], h.push(a["" + f + c.charAt(0).toUpperCase() + c.substr(1)] = e); 150 return h 151 }.call(this)); 152 return d 153 }, e.prototype.vendorCSS = function(a, b) { 154 var c, e, f, g, h, i; 155 for (h = d(a), g = h.getPropertyCSSValue(b), f = this.vendors, c = 0, e = f.length; e > c; c++) i = f[c], g = g || h.getPropertyCSSValue("-" + i + "-" + b); 156 return g 157 }, e.prototype.animationName = function(a) { 158 var b; 159 try { 160 b = this.vendorCSS(a, "animation-name").cssText 161 } catch (c) { 162 b = d(a).getPropertyValue("animation-name") 163 } 164 return "none" === b ? "" : b 165 }, e.prototype.cacheAnimationName = function(a) { 166 return this.animationNameCache.set(a, this.animationName(a)) 167 }, e.prototype.cachedAnimationName = function(a) { 168 return this.animationNameCache.get(a) 169 }, e.prototype.scrollHandler = function() { 170 return this.scrolled = !0 171 }, e.prototype.scrollCallback = function() { 172 var a; 173 return !this.scrolled || (this.scrolled = !1, this.boxes = function() { 174 var b, c, d, e; 175 for (d = this.boxes, e = [], b = 0, c = d.length; c > b; b++) a = d[b], a && (this.isVisible(a) ? this.show(a) : e.push(a)); 176 return e 177 }.call(this), this.boxes.length || this.config.live) ? void 0 : this.stop() 178 }, e.prototype.offsetTop = function(a) { 179 for (var b; void 0 === a.offsetTop;) a = a.parentNode; 180 for (b = a.offsetTop; a = a.offsetParent;) b += a.offsetTop; 181 return b 182 }, e.prototype.isVisible = function(a) { 183 var b, c, d, e, f; 184 return c = a.getAttribute("data-wow-offset") || this.config.offset, f = window.pageYOffset, e = f + Math.min(this.element.clientHeight, this.util().innerHeight()) - c, d = this.offsetTop(a), b = d + a.clientHeight, e >= d && b >= f 185 }, e.prototype.util = function() { 186 return null != this._util ? this._util : this._util = new b 187 }, e.prototype.disabled = function() { 188 return !this.config.mobile && this.util().isMobile(navigator.userAgent) 189 }, e 190 }() 191}).call(this);
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.