PageSourceSearch

https://zalozba-pivec.com/wp-content/themes/bookory/assets/js/tooltipster.bundle.js?ver=2.2.9

js zalozba-pivec.com collected 2026-09-24 23:55:29 UTC 59,326 bytes, 873 lines download raw bytes

vendor: 48,384 bytes, lines 1-735
1"use strict";
2!function (t, i) {
3    "function" == typeof define && define.amd ? define(["jquery"], function (t) {
4        return i(t)
5    }) : "object" == typeof exports ? module.exports = i(require("jquery")) : i(jQuery)
6}(0, function (t) {
7    function i(t) {
8        this.$container, this.constraints = null, this.__$tooltiptooltip, this.__init(t)
9    }
10
11    function o(i, o) {
12        var e = !0;
13        return t.each(i, function (t, n) {
14            return void 0 === o[t] || i[t] !== o[t] ? (e = !1, !1) : void 0
15        }), e
16    }
17
18    function e(i) {
19        var o = i.attr("id"), e = o ? r.window.document.getElementById(o) : null;
20        return e ? e === i[0] : t.contains(r.window.document.body, i[0])
21    }
22
23    var n = {
24        animation: "fade",
25        animationDuration: 350,
26        content: null,
27        contentAsHTML: !1,
28        contentCloning: !1,
29        debug: !0,
30        delay: 300,
31        delayTouch: [300, 500],
32        functionInit: null,
33        functionBefore: null,
34        functionReady: null,
35        functionAfter: null,
36        functionFormat: null,
37        IEmin: 6,
38        interactive: !1,
39        multiple: !1,
40        parent: null,
41        plugins: ["sideTip"],
42        repositionOnScroll: !1,
43        restoration: "none",
44        selfDestruction: !0,
45        theme: [],
46        timer: 0,
47        trackerInterval: 500,
48        trackOrigin: !1,
49        trackTooltip: !1,
50        trigger: "hover",
51        triggerClose: {click: !1, mouseleave: !1, originClick: !1, scroll: !1, tap: !1, touchleave: !1},
52        triggerOpen: {click: !1, mouseenter: !1, tap: !1, touchstart: !1},
53        updateAnimation: "rotate",
54        zIndex: 9999999
55    }, s = "undefined" != typeof window ? window : null, r = {
56        hasTouchCapability: !(!s || !("ontouchstart" in s || s.DocumentTouch && s.document instanceof s.DocumentTouch || s.navigator.maxTouchPoints)),
57        hasTransitions: function () {
58            if (!s) return !1;
59            var t = (s.document.body || s.document.documentElement).style, i = "transition",
60                o = ["Moz", "Webkit", "Khtml", "O", "ms"];
61            if ("string" == typeof t[i]) return !0;
62            i = i.charAt(0).toUpperCase() + i.substr(1);
63            for (var e = 0; e < o.length; e++) if ("string" == typeof t[o[e] + i]) return !0;
64            return !1
65        }(),
66        IE: !1,
67        semVer: "4.2.6",
68        window: s
69    }, _ = function () {
70        this.__$emitterPrivate = t({}), this.__$emitterPublic = t({}), this.__instancesLatestArr = [], this.__plugins = {}, this._env = r
71    };
72    _.prototype = {
73        __bridge: function (i, o, e) {
74            if (!o[e]) {
75                var s = function () {
76                };
77                s.prototype = i;
78                var r = new s;
79                r.__init && r.__init(o), t.each(i, function (t, i) {
80                    0 != t.indexOf("__") && (o[t] ? n.debug && console.log("The " + t + " method of the " + e + " plugin conflicts with another plugin or native methods") : (o[t] = function () {
81                        return r[t].apply(r, Array.prototype.slice.apply(arguments))
82                    }, o[t].bridged = r))
83                }), o[e] = r
84            }
85            return this
86        }, __setWindow: function (t) {
87            return r.window = t, this
88        }, _getRuler: function (t) {
89            return new i(t)
90        }, _off: function () {
91            return this.__$emitterPrivate.off.apply(this.__$emitterPrivate, Array.prototype.slice.apply(arguments)), this
92        }, _on: function () {
93            return this.__$emitterPrivate.on.apply(this.__$emitterPrivate, Array.prototype.slice.apply(arguments)), this
94        }, _one: function () {
95            return this.__$emitterPrivate.one.apply(this.__$emitterPrivate, Array.prototype.slice.apply(arguments)), this
96        }, _plugin: function (i) {
97            var o = this;
98            if ("string" == typeof i) {
99                var e = i, n = null;
100                return e.indexOf(".") > 0 ? n = o.__plugins[e] : t.each(o.__plugins, function (t, i) {
101                    return i.name.substring(i.name.length - e.length - 1) == "." + e ? (n = i, !1) : void 0
102                }), n
103            }
104            if (i.name.indexOf(".") < 0) throw new Error("Plugins must be namespaced");
105            return o.__plugins[i.name] = i, i.core && o.__bridge(i.core, o, i.name), this
106        }, _trigger: function () {
107            var t = Array.prototype.slice.apply(arguments);
108            return "string" == typeof t[0] && (t[0] = {type: t[0]}), this.__$emitterPrivate.trigger.apply(this.__$emitterPrivate, t), this.__$emitterPublic.trigger.apply(this.__$emitterPublic, t), this
109        }, instances: function (i) {
110            var o = [];
111            return t(i || ".tooltipstered").each(function () {
112                var i = t(this), e = i.data("tooltipster-ns");
113                e && t.each(e, function (t, e) {
114                    o.push(i.data(e))
115                })
116            }), o
117        }, instancesLatest: function () {
118            return this.__instancesLatestArr
119        }, off: function () {
120            return this.__$emitterPublic.off.apply(this.__$emitterPublic, Array.prototype.slice.apply(arguments)), this
121        }, on: function () {
122            return this.__$emitterPublic.on.apply(this.__$emitterPublic, Array.prototype.slice.apply(arguments)), this
123        }, one: function () {
124            return this.__$emitterPublic.one.apply(this.__$emitterPublic, Array.prototype.slice.apply(arguments)), this
125        }, origins: function (i) {
126            return t((i ? i + " " : "") + ".tooltipstered").toArray()
127        }, setDefaults: function (i) {
128            return t.extend(n, i), this
129        }, triggerHandler: function () {
130            return this.__$emitterPublic.triggerHandler.apply(this.__$emitterPublic, Array.prototype.slice.apply(arguments)), this
131        }
132    }, t.tooltipster = new _, t.Tooltipster = function (i, o) {
133        this.__callbacks = {
134            close: [],
135            open: []
136        }, this.__closingTime, this.__Content, this.__contentBcr, this.__destroyed = !1, this.__$emitterPrivate = t({}), this.__$emitterPublic = t({}), this.__enabled = !0, this.__garbageCollector, this.__Geometry, this.__lastPosition, this.__namespace = "tooltipster-" + Math.round(1e6 * Math.random()), this.__options, this.__$originParents, this.__pointerIsOverOrigin = !1, this.__previousThemes = [], this.__state = "closed", this.__timeouts = {
137            close: [],
138            open: null
139        }, this.__touchEvents = [], this.__tracker = null, this._$origin, this._$tooltip, this.__init(i, o)
140    }, t.Tooltipster.prototype = {
141        __init: function (i, o) {
142            var e = this;
143            if (e._$origin = t(i), e.__options = t.extend(!0, {}, n, o), e.__optionsFormat(), !r.IE || r.IE >= e.__options.IEmin) {
144                var s = null;
145                if (void 0 === e._$origin.data("tooltipster-initialTitle") && (void 0 === (s = e._$origin.attr("title")) && (s = null), e._$origin.data("tooltipster-initialTitle", s)), null !== e.__options.content) e.__contentSet(e.__options.content); else {
146                    var _, a = e._$origin.attr("data-tooltip-content");
147                    a && (_ = t(a)), _ && _[0] ? e.__contentSet(_.first()) : e.__contentSet(s)
148                }
149                e._$origin.removeAttr("title").addClass("tooltipstered"), e.__prepareOrigin(), e.__prepareGC(), t.each(e.__options.plugins, function (t, i) {
150                    e._plug(i)
151                }), r.hasTouchCapability && t(r.window.document.body).on("touchmove." + e.__namespace + "-triggerOpen", function (t) {
152                    e._touchRecordEvent(t)
153                }), e._on("created", function () {
154                    e.__prepareTooltip()
155                })._on("repositioned", function (t) {
156                    e.__lastPosition = t.position
157                })
158            } else e.__options.disabled = !0
159        }, __contentInsert: function () {
160            var t = this, i = t._$tooltip.find(".tooltipster-content"), o = t.__Content;
161            return t._trigger({
162                type: "format", content: t.__Content, format: function (t) {
163                    o = t
164                }
165            }), t.__options.functionFormat && (o = t.__options.functionFormat.call(t, t, {origin: t._$origin[0]}, t.__Content)), "string" != typeof o || t.__options.contentAsHTML ? i.empty().append(o) : i.text(o), t
166        }, __contentSet: function (i) {
167            return i instanceof t && this.__options.contentCloning && (i = i.clone(!0)), this.__Content = i, this._trigger({
168                type: "updated",
169                content: i
170            }), this
171        }, __destroyError: function () {
172            throw new Error("This tooltip has been destroyed and cannot execute your method call.")
173        }, __geometry: function () {
174            var i = this, o = i._$origin, e = i._$origin.is("area");
175            if (e) {
176                var n = i._$origin.parent().attr("name");
177                o = t('img[usemap="#' + n + '"]')
178            }
179            var s = o[0].getBoundingClientRect(), _ = t(r.window.document), a = t(r.window), l = o, p = {
180                available: {document: null, window: null},
181                document: {size: {height: _.height(), width: _.width()}},
182                window: {
183                    scroll: {
184                        left: r.window.scrollX || r.window.document.documentElement.scrollLeft,
185                        top: r.window.scrollY || r.window.document.documentElement.scrollTop
186                    }, size: {height: a.height(), width: a.width()}
187                },
188                origin: {
189                    fixedLineage: !1,
190                    offset: {},
191                    size: {height: s.bottom - s.top, width: s.right - s.left},
192                    usemapImage: e ? o[0] : null,
193                    windowOffset: {bottom: s.bottom, left: s.left, right: s.right, top: s.top}
194                }
195            };
196            if (e) {
197                var c = i._$origin.attr("shape"), h = i._$origin.attr("coords");
198                if (h && (h = h.split(","), t.map(h, function (t, i) {
199                    h[i] = parseInt(t)
200                })), "default" != c) switch (c) {
201                    case"circle":
202                        var d = h[0], u = h[1], g = h[2], f = u - g, m = d - g;
203                        p.origin.size.height = 2 * g, p.origin.size.width = p.origin.size.height, p.origin.windowOffset.left += m, p.origin.windowOffset.top += f;
204                        break;
205                    case"rect":
206                        var w = h[0], v = h[1], y = h[2], b = h[3];
207                        p.origin.size.height = b - v, p.origin.size.width = y - w, p.origin.windowOffset.left += w, p.origin.windowOffset.top += v;
208                        break;
209                    case"poly":
210                        for (var $ = 0, C = 0, O = 0, T = 0, z = "even", E = 0; E < h.length; E++) {
211                            var I = h[E];
212                            "even" == z ? (I > O && (O = I, 0 === E && ($ = O)), $ > I && ($ = I), z = "odd") : (I > T && (T = I, 1 == E && (C = T)), C > I && (C = I), z = "even")
213                        }
214                        p.origin.size.height = T - C, p.origin.size.width = O - $, p.origin.windowOffset.left += $, p.origin.windowOffset.top += C
215                }
216            }
217            for (i._trigger({
218                type: "geometry",
219                edit: function (t) {
220                    p.origin.size.height = t.height, p.origin.windowOffset.left = t.left, p.origin.windowOffset.top = t.top, p.origin.size.width = t.width
221                },
222                geometry: {
223                    height: p.origin.size.height,
224                    left: p.origin.windowOffset.left,
225                    top: p.origin.windowOffset.top,
226                    width: p.origin.size.width
227                }
228            }), p.origin.windowOffset.right = p.origin.windowOffset.left + p.origin.size.width, p.origin.windowOffset.bottom = p.origin.windowOffset.top + p.origin.size.height, p.origin.offset.left = p.origin.windowOffset.left + p.window.scroll.left, p.origin.offset.top = p.origin.windowOffset.top + p.window.scroll.top, p.origin.offset.bottom = p.origin.offset.top + p.origin.size.height, p.origin.offset.right = p.origin.offset.left + p.origin.size.width, p.available.document = {
229                bottom: {
230                    height: p.document.size.height - p.origin.offset.bottom,
231                    width: p.document.size.width
232                },
233                left: {height: p.document.size.height, width: p.origin.offset.left},
234                right: {height: p.document.size.height, width: p.document.size.width - p.origin.offset.right},
235                top: {height: p.origin.offset.top, width: p.document.size.width}
236            }, p.available.window = {
237                bottom: {
238                    height: Math.max(p.window.size.height - Math.max(p.origin.windowOffset.bottom, 0), 0),
239                    width: p.window.size.width
240                },
241                left: {height: p.window.size.height, width: Math.max(p.origin.windowOffset.left, 0)},
242                right: {
243                    height: p.window.size.height,
244                    width: Math.max(p.window.size.width - Math.max(p.origin.windowOffset.right, 0), 0)
245                },
246                top: {height: Math.max(p.origin.windowOffset.top, 0), width: p.window.size.width}
247            }; "html" != l[0].tagName.toLowerCase();) {
248                if ("fixed" == l.css("position")) {
249                    p.origin.fixedLineage = !0;
250                    break
251                }
252                l = l.parent()
253            }
254            return p
255        }, __optionsFormat: function () {
256            return "number" == typeof this.__options.animationDuration && (this.__options.animationDuration = [this.__options.animationDuration, this.__options.animationDuration]), "number" == typeof this.__options.delay && (this.__options.delay = [this.__options.delay, this.__options.delay]), "number" == typeof this.__options.delayTouch && (this.__options.delayTouch = [this.__options.delayTouch, this.__options.delayTouch]), "string" == typeof this.__options.theme && (this.__options.theme = [this.__options.theme]), null === this.__options.parent ? this.__options.parent = t(r.window.document.body) : "string" == typeof this.__options.parent && (this.__options.parent = t(this.__options.parent)), "hover" == this.__options.trigger ? (this.__options.triggerOpen = {
257                mouseenter: !0,
258                touchstart: !0
259            }, this.__options.triggerClose = {
260                mouseleave: !0,
261                originClick: !0,
262                touchleave: !0
263            }) : "click" == this.__options.trigger && (this.__options.triggerOpen = {
264                click: !0,
265                tap: !0
266            }, this.__options.triggerClose = {click: !0, tap: !0}), this._trigger("options"), this
267        }, __prepareGC: function () {
268            var i = this;
269            return i.__options.selfDestruction ? i.__garbageCollector = setInterval(function () {
270                var o = (new Date).getTime();
271                i.__touchEvents = t.grep(i.__touchEvents, function (t, i) {
272                    return o - t.time > 6e4
273                }), e(i._$origin) || i.close(function () {
274                    i.destroy()
275                })
276            }, 2e4) : clearInterval(i.__garbageCollector), i
277        }, __prepareOrigin: function () {
278            var t = this;
279            if (t._$origin.off("." + t.__namespace + "-triggerOpen"), r.hasTouchCapability && t._$origin.on("touchstart." + t.__namespace + "-triggerOpen touchend." + t.__namespace + "-triggerOpen touchcancel." + t.__namespace + "-triggerOpen", function (i) {
280                t._touchRecordEvent(i)
281            }), t.__options.triggerOpen.click || t.__options.triggerOpen.tap && r.hasTouchCapability) {
282                var i = "";
283                t.__options.triggerOpen.click && (i += "click." + t.__namespace + "-triggerOpen "), t.__options.triggerOpen.tap && r.hasTouchCapability && (i += "touchend." + t.__namespace + "-triggerOpen"), t._$origin.on(i, function (i) {
284                    t._touchIsMeaningfulEvent(i) && t._open(i)
285                })
286            }
287            if (t.__options.triggerOpen.mouseenter || t.__options.triggerOpen.touchstart && r.hasTouchCapability) {
288                i = "";
289                t.__options.triggerOpen.mouseenter && (i += "mouseenter." + t.__namespace + "-triggerOpen "), t.__options.triggerOpen.touchstart && r.hasTouchCapability && (i += "touchstart." + t.__namespace + "-triggerOpen"), t._$origin.on(i, function (i) {
290                    !t._touchIsTouchEvent(i) && t._touchIsEmulatedEvent(i) || (t.__pointerIsOverOrigin = !0, t._openShortly(i))
291                })
292            }
293            if (t.__options.triggerClose.mouseleave || t.__options.triggerClose.touchleave && r.hasTouchCapability) {
294                i = "";
295                t.__options.triggerClose.mouseleave && (i += "mouseleave." + t.__namespace + "-triggerOpen "), t.__options.triggerClose.touchleave && r.hasTouchCapability && (i += "touchend." + t.__namespace + "-triggerOpen touchcancel." + t.__namespace + "-triggerOpen"), t._$origin.on(i, function (i) {
296                    t._touchIsMeaningfulEvent(i) && (t.__pointerIsOverOrigin = !1)
297                })
298            }
299            return t
300        }, __prepareTooltip: function () {
301            var i = this, o = i.__options.interactive ? "auto" : "";
302            return i._$tooltip.attr("id", i.__namespace).css({
303                "pointer-events": o,
304                zIndex: i.__options.zIndex
305            }), t.each(i.__previousThemes, function (t, o) {
306                i._$tooltip.removeClass(o)
307            }), t.each(i.__options.theme, function (t, o) {
308                i._$tooltip.addClass(o)
309            }), i.__previousThemes = t.merge([], i.__options.theme), i
310        }, __scrollHandler: function (i) {
311            var o = this;
312            if (o.__options.triggerClose.scroll) o._close(i); else if (e(o._$origin) && e(o._$tooltip)) {
313                var n = null;
314                if (i.target === r.window.document) o.__Geometry.origin.fixedLineage || o.__options.repositionOnScroll && o.reposition(i); else {
315                    n = o.__geometry();
316                    var s = !1;
317                    if ("fixed" != o._$origin.css("position") && o.__$originParents.each(function (i, o) {
318                        var e = t(o), r = e.css("overflow-x"), _ = e.css("overflow-y");
319                        if ("visible" != r || "visible" != _) {
320                            var a = o.getBoundingClientRect();
321                            if ("visible" != r && (n.origin.windowOffset.left < a.left || n.origin.windowOffset.right > a.right)) return s = !0, !1;
322                            if ("visible" != _ && (n.origin.windowOffset.top < a.top || n.origin.windowOffset.bottom > a.bottom)) return s = !0, !1
323                        }
324                        return "fixed" != e.css("position") && void 0
325                    }), s) o._$tooltip.css("visibility", "hidden"); else if (o._$tooltip.css("visibility", "visible"), o.__options.repositionOnScroll) o.reposition(i); else {
326                        var _ = n.origin.offset.left - o.__Geometry.origin.offset.left,
327                            a = n.origin.offset.top - o.__Geometry.origin.offset.top;
328                        o._$tooltip.css({left: o.__lastPosition.coord.left + _, top: o.__lastPosition.coord.top + a})
329                    }
330                }
331                o._trigger({type: "scroll", event: i, geo: n})
332            }
333            return o
334        }, __stateSet: function (t) {
335            return this.__state = t, this._trigger({type: "state", state: t}), this
336        }, __timeoutsClear: function () {
337            return clearTimeout(this.__timeouts.open), this.__timeouts.open = null, t.each(this.__timeouts.close, function (t, i) {
338                clearTimeout(i)
339            }), this.__timeouts.close = [], this
340        }, __trackerStart: function () {
341            var t = this, i = t._$tooltip.find(".tooltipster-content");
342            return t.__options.trackTooltip && (t.__contentBcr = i[0].getBoundingClientRect()), t.__tracker = setInterval(function () {
343                if (e(t._$origin) && e(t._$tooltip)) {
344                    if (t.__options.trackOrigin) {
345                        var n = t.__geometry(), s = !1;
346                        o(n.origin.size, t.__Geometry.origin.size) && (t.__Geometry.origin.fixedLineage ? o(n.origin.windowOffset, t.__Geometry.origin.windowOffset) && (s = !0) : o(n.origin.offset, t.__Geometry.origin.offset) && (s = !0)), s || (t.__options.triggerClose.mouseleave ? t._close() : t.reposition())
347                    }
348                    if (t.__options.trackTooltip) {
349                        var r = i[0].getBoundingClientRect();
350                        r.height === t.__contentBcr.height && r.width === t.__contentBcr.width || (t.reposition(), t.__contentBcr = r)
351                    }
352                } else t._close()
353            }, t.__options.trackerInterval), t
354        }, _close: function (i, o, e) {
355            var n = this, s = !0;
356            if (n._trigger({
357                type: "close", event: i, stop: function () {
358                    s = !1
359                }
360            }), s || e) {
361                o && n.__callbacks.close.push(o), n.__callbacks.open = [], n.__timeoutsClear();
362                var _ = function () {
363                    t.each(n.__callbacks.close, function (t, o) {
364                        o.call(n, n, {event: i, origin: n._$origin[0]})
365                    }), n.__callbacks.close = []
366                };
367                if ("closed" != n.__state) {
368                    var a = !0, l = (new Date).getTime() + n.__options.animationDuration[1];
369                    if ("disappearing" == n.__state && l > n.__closingTime && n.__options.animationDuration[1] > 0 && (a = !1), a) {
370                        n.__closingTime = l, "disappearing" != n.__state && n.__stateSet("disappearing");
371                        var p = function () {
372                            clearInterval(n.__tracker), n._trigger({
373                                type: "closing",
374                                event: i
375                            }), n._$tooltip.off("." + n.__namespace + "-triggerClose").removeClass("tooltipster-dying"), t(r.window).off("." + n.__namespace + "-triggerClose"), n.__$originParents.each(function (i, o) {
376                                t(o).off("scroll." + n.__namespace + "-triggerClose")
377                            }), n.__$originParents = null, t(r.window.document.body).off("." + n.__namespace + "-triggerClose"), n._$origin.off("." + n.__namespace + "-triggerClose"), n._off("dismissable"), n.__stateSet("closed"), n._trigger({
378                                type: "after",
379                                event: i
380                            }), n.__options.functionAfter && n.__options.functionAfter.call(n, n, {
381                                event: i,
382                                origin: n._$origin[0]
383                            }), _()
384                        };
385                        r.hasTransitions ? (n._$tooltip.css({
386                            "-moz-animation-duration": n.__options.animationDuration[1] + "ms",
387                            "-ms-animation-duration": n.__options.animationDuration[1] + "ms",
388                            "-o-animation-duration": n.__options.animationDuration[1] + "ms",
389                            "-webkit-animation-duration": n.__options.animationDuration[1] + "ms",
390                            "animation-duration": n.__options.animationDuration[1] + "ms",
391                            "transition-duration": n.__options.animationDuration[1] + "ms"
392                        }), n._$tooltip.clearQueue().removeClass("tooltipster-show").addClass("tooltipster-dying"), n.__options.animationDuration[1] > 0 && n._$tooltip.delay(n.__options.animationDuration[1]), n._$tooltip.queue(p)) : n._$tooltip.stop().fadeOut(n.__options.animationDuration[1], p)
393                    }
394                } else _()
395            }
396            return n
397        }, _off: function () {
398            return this.__$emitterPrivate.off.apply(this.__$emitterPrivate, Array.prototype.slice.apply(arguments)), this
399        }, _on: function () {
400            return this.__$emitterPrivate.on.apply(this.__$emitterPrivate, Array.prototype.slice.apply(arguments)), this
401        }, _one: function () {
402            return this.__$emitterPrivate.one.apply(this.__$emitterPrivate, Array.prototype.slice.apply(arguments)), this
403        }, _open: function (i, o) {
404            var n = this;
405            if (!n.__destroying && e(n._$origin) && n.__enabled) {
406                var s = !0;
407                if ("closed" == n.__state && (n._trigger({
408                    type: "before", event: i, stop: function () {
409                        s = !1
410                    }
411                }), s && n.__options.functionBefore && (s = n.__options.functionBefore.call(n, n, {
412                    event: i,
413                    origin: n._$origin[0]
414                }))), !1 !== s && null !== n.__Content) {
415                    o && n.__callbacks.open.push(o), n.__callbacks.close = [], n.__timeoutsClear();
416                    var _, a = function () {
417                        "stable" != n.__state && n.__stateSet("stable"), t.each(n.__callbacks.open, function (t, i) {
418                            i.call(n, n, {origin: n._$origin[0], tooltip: n._$tooltip[0]})
419                        }), n.__callbacks.open = []
420                    };
421                    if ("closed" !== n.__state) _ = 0, "disappearing" === n.__state ? (n.__stateSet("appearing"), r.hasTransitions ? (n._$tooltip.clearQueue().removeClass("tooltipster-dying").addClass("tooltipster-show"), n.__options.animationDuration[0] > 0 && n._$tooltip.delay(n.__options.animationDuration[0]), n._$tooltip.queue(a)) : n._$tooltip.stop().fadeIn(a)) : "stable" == n.__state && a(); else {
422                        if (n.__stateSet("appearing"), _ = n.__options.animationDuration[0], n.__contentInsert(), n.reposition(i, !0), r.hasTransitions ? (n._$tooltip.addClass("tooltipster-" + n.__options.animation).addClass("tooltipster-initial").css({
423                            "-moz-animation-duration": n.__options.animationDuration[0] + "ms",
424                            "-ms-animation-duration": n.__options.animationDuration[0] + "ms",
425                            "-o-animation-duration": n.__options.animationDuration[0] + "ms",
426                            "-webkit-animation-duration": n.__options.animationDuration[0] + "ms",
427                            "animation-duration": n.__options.animationDuration[0] + "ms",
428                            "transition-duration": n.__options.animationDuration[0] + "ms"
429                        }), setTimeout(function () {
430                            "closed" != n.__state && (n._$tooltip.addClass("tooltipster-show").removeClass("tooltipster-initial"), n.__options.animationDuration[0] > 0 && n._$tooltip.delay(n.__options.animationDuration[0]), n._$tooltip.queue(a))
431                        }, 0)) : n._$tooltip.css("display", "none").fadeIn(n.__options.animationDuration[0], a), n.__trackerStart(), t(r.window).on("resize." + n.__namespace + "-triggerClose", function (i) {
432                            var o = t(document.activeElement);
433                            (o.is("input") || o.is("textarea")) && t.contains(n._$tooltip[0], o[0]) || n.reposition(i)
434                        }).on("scroll." + n.__namespace + "-triggerClose", function (t) {
435                            n.__scrollHandler(t)
436                        }), n.__$originParents = n._$origin.parents(), n.__$originParents.each(function (i, o) {
437                            t(o).on("scroll." + n.__namespace + "-triggerClose", function (t) {
438                                n.__scrollHandler(t)
439                            })
440                        }), n.__options.triggerClose.mouseleave || n.__options.triggerClose.touchleave && r.hasTouchCapability) {
441                            n._on("dismissable", function (t) {
442                                t.dismissable ? t.delay ? (h = setTimeout(function () {
443                                    n._close(t.event)
444                                }, t.delay), n.__timeouts.close.push(h)) : n._close(t) : clearTimeout(h)
445                            });
446                            var l = n._$origin, p = "", c = "", h = null;
447                            n.__options.interactive && (l = l.add(n._$tooltip)), n.__options.triggerClose.mouseleave && (p += "mouseenter." + n.__namespace + "-triggerClose ", c += "mouseleave." + n.__namespace + "-triggerClose "), n.__options.triggerClose.touchleave && r.hasTouchCapability && (p += "touchstart." + n.__namespace + "-triggerClose", c += "touchend." + n.__namespace + "-triggerClose touchcancel." + n.__namespace + "-triggerClose"), l.on(c, function (t) {
448                                if (n._touchIsTouchEvent(t) || !n._touchIsEmulatedEvent(t)) {
449                                    var i = "mouseleave" == t.type ? n.__options.delay : n.__options.delayTouch;
450                                    n._trigger({delay: i[1], dismissable: !0, event: t, type: "dismissable"})
451                                }
452                            }).on(p, function (t) {
453                                !n._touchIsTouchEvent(t) && n._touchIsEmulatedEvent(t) || n._trigger({
454                                    dismissable: !1,
455                                    event: t,
456                                    type: "dismissable"
457                                })
458                            })
459                        }
460                        n.__options.triggerClose.originClick && n._$origin.on("click." + n.__namespace + "-triggerClose", function (t) {
461                            n._touchIsTouchEvent(t) || n._touchIsEmulatedEvent(t) || n._close(t)
462                        }), (n.__options.triggerClose.click || n.__options.triggerClose.tap && r.hasTouchCapability) && setTimeout(function () {
463                            if ("closed" != n.__state) {
464                                var i = "", o = t(r.window.document.body);
465                                n.__options.triggerClose.click && (i += "click." + n.__namespace + "-triggerClose "), n.__options.triggerClose.tap && r.hasTouchCapability && (i += "touchend." + n.__namespace + "-triggerClose"), o.on(i, function (i) {
466                                    n._touchIsMeaningfulEvent(i) && (n._touchRecordEvent(i), n.__options.interactive && t.contains(n._$tooltip[0], i.target) || n._close(i))
467                                }), n.__options.triggerClose.tap && r.hasTouchCapability && o.on("touchstart." + n.__namespace + "-triggerClose", function (t) {
468                                    n._touchRecordEvent(t)
469                                })
470                            }
471                        }, 0), n._trigger("ready"), n.__options.functionReady && n.__options.functionReady.call(n, n, {
472                            origin: n._$origin[0],
473                            tooltip: n._$tooltip[0]
474                        })
475                    }
476                    if (n.__options.timer > 0) {
477                        h = setTimeout(function () {
478                            n._close()
479                        }, n.__options.timer + _);
480                        n.__timeouts.close.push(h)
481                    }
482                }
483            }
484            return n
485        }, _openShortly: function (t) {
486            var i = this, o = !0;
487            if ("stable" != i.__state && "appearing" != i.__state && !i.__timeouts.open && (i._trigger({
488                type: "start",
489                event: t,
490                stop: function () {
491                    o = !1
492                }
493            }), o)) {
494                var e = 0 == t.type.indexOf("touch") ? i.__options.delayTouch : i.__options.delay;
495                e[0] ? i.__timeouts.open = setTimeout(function () {
496                    i.__timeouts.open = null, i.__pointerIsOverOrigin && i._touchIsMeaningfulEvent(t) ? (i._trigger("startend"), i._open(t)) : i._trigger("startcancel")
497                }, e[0]) : (i._trigger("startend"), i._open(t))
498            }
499            return i
500        }, _optionsExtract: function (i, o) {
501            var e = this, n = t.extend(!0, {}, o), s = e.__options[i];
502            return s || (s = {}, t.each(o, function (t, i) {
503                var o = e.__options[t];
504                void 0 !== o && (s[t] = o)
505            })), t.each(n, function (i, o) {
506                void 0 !== s[i] && ("object" != typeof o || o instanceof Array || null == o || "object" != typeof s[i] || s[i] instanceof Array || null == s[i] ? n[i] = s[i] : t.extend(n[i], s[i]))
507            }), n
508        }, _plug: function (i) {
509            var o = t.tooltipster._plugin(i);
510            if (!o) throw new Error('The "' + i + '" plugin is not defined');
511            return o.instance && t.tooltipster.__bridge(o.instance, this, o.name), this
512        }, _touchIsEmulatedEvent: function (t) {
513            for (var i = !1, o = (new Date).getTime(), e = this.__touchEvents.length - 1; e >= 0; e--) {
514                var n = this.__touchEvents[e];
515                if (!(o - n.time < 500)) break;
516                n.target === t.target && (i = !0)
517            }
518            return i
519        }, _touchIsMeaningfulEvent: function (t) {
520            return this._touchIsTouchEvent(t) && !this._touchSwiped(t.target) || !this._touchIsTouchEvent(t) && !this._touchIsEmulatedEvent(t)
521        }, _touchIsTouchEvent: function (t) {
522            return 0 == t.type.indexOf("touch")
523        }, _touchRecordEvent: function (t) {
524            return this._touchIsTouchEvent(t) && (t.time = (new Date).getTime(), this.__touchEvents.push(t)), this
525        }, _touchSwiped: function (t) {
526            for (var i = !1, o = this.__touchEvents.length - 1; o >= 0; o--) {
527                var e = this.__touchEvents[o];
528                if ("touchmove" == e.type) {
529                    i = !0;
530                    break
531                }
532                if ("touchstart" == e.type && t === e.target) break
533            }
534            return i
535        }, _trigger: function () {
536            var i = Array.prototype.slice.apply(arguments);
537            return "string" == typeof i[0] && (i[0] = {type: i[0]}), i[0].instance = this, i[0].origin = this._$origin ? this._$origin[0] : null, i[0].tooltip = this._$tooltip ? this._$tooltip[0] : null, this.__$emitterPrivate.trigger.apply(this.__$emitterPrivate, i), t.tooltipster._trigger.apply(t.tooltipster, i), this.__$emitterPublic.trigger.apply(this.__$emitterPublic, i), this
538        }, _unplug: function (i) {
539            var o = this;
540            if (o[i]) {
541                var e = t.tooltipster._plugin(i);
542                e.instance && t.each(e.instance, function (t, e) {
543                    o[t] && o[t].bridged === o[i] && delete o[t]
544                }), o[i].__destroy && o[i].__destroy(), delete o[i]
545            }
546            return o
547        }, close: function (t) {
548            return this.__destroyed ? this.__destroyError() : this._close(null, t), this
549        }, content: function (t) {
550            var i = this;
551            if (void 0 === t) return i.__Content;
552            if (i.__destroyed) i.__destroyError(); else if (i.__contentSet(t), null !== i.__Content) {
553                if ("closed" !== i.__state && (i.__contentInsert(), i.reposition(), i.__options.updateAnimation)) if (r.hasTransitions) {
554                    var o = i.__options.updateAnimation;
555                    i._$tooltip.addClass("tooltipster-update-" + o), setTimeout(function () {
556                        "closed" != i.__state && i._$tooltip.removeClass("tooltipster-update-" + o)
557                    }, 1e3)
558                } else i._$tooltip.fadeTo(200, .5, function () {
559                    "closed" != i.__state && i._$tooltip.fadeTo(200, 1)
560                })
561            } else i._close();
562            return i
563        }, destroy: function () {
564            var i = this;
565            if (i.__destroyed) i.__destroyError(); else {
566                "closed" != i.__state ? i.option("animationDuration", 0)._close(null, null, !0) : i.__timeoutsClear(), i._trigger("destroy"), i.__destroyed = !0, i._$origin.removeData(i.__namespace).off("." + i.__namespace + "-triggerOpen"), t(r.window.document.body).off("." + i.__namespace + "-triggerOpen");
567                var o = i._$origin.data("tooltipster-ns");
568                if (o) if (1 === o.length) {
569                    var e = null;
570                    "previous" == i.__options.restoration ? e = i._$origin.data("tooltipster-initialTitle") : "current" == i.__options.restoration && (e = "string" == typeof i.__Content ? i.__Content : t("<div></div>").append(i.__Content).html()), e && i._$origin.attr("title", e), i._$origin.removeClass("tooltipstered"), i._$origin.removeData("tooltipster-ns").removeData("tooltipster-initialTitle")
571                } else o = t.grep(o, function (t, o) {
572                    return t !== i.__namespace
573                }), i._$origin.data("tooltipster-ns", o);
574                i._trigger("destroyed"), i._off(), i.off(), i.__Content = null, i.__$emitterPrivate = null, i.__$emitterPublic = null, i.__options.parent = null, i._$origin = null, i._$tooltip = null, t.tooltipster.__instancesLatestArr = t.grep(t.tooltipster.__instancesLatestArr, function (t, o) {
575                    return i !== t
576                }), clearInterval(i.__garbageCollector)
577            }
578            return i
579        }, disable: function () {
580            return this.__destroyed ? (this.__destroyError(), this) : (this._close(), this.__enabled = !1, this)
581        }, elementOrigin: function () {
582            return this.__destroyed ? void this.__destroyError() : this._$origin[0]
583        }, elementTooltip: function () {
584            return this._$tooltip ? this._$tooltip[0] : null
585        }, enable: function () {
586            return this.__enabled = !0, this
587        }, hide: function (t) {
588            return this.close(t)
589        }, instance: function () {
590            return this
591        }, off: function () {
592            return this.__destroyed || this.__$emitterPublic.off.apply(this.__$emitterPublic, Array.prototype.slice.apply(arguments)), this
593        }, on: function () {
594            return this.__destroyed ? this.__destroyError() : this.__$emitterPublic.on.apply(this.__$emitterPublic, Array.prototype.slice.apply(arguments)), this
595        }, one: function () {
596            return this.__destroyed ? this.__destroyError() : this.__$emitterPublic.one.apply(this.__$emitterPublic, Array.prototype.slice.apply(arguments)), this
597        }, open: function (t) {
598            return this.__destroyed ? this.__destroyError() : this._open(null, t), this
599        }, option: function (i, o) {
600            return void 0 === o ? this.__options[i] : (this.__destroyed ? this.__destroyError() : (this.__options[i] = o, this.__optionsFormat(), t.inArray(i, ["trigger", "triggerClose", "triggerOpen"]) >= 0 && this.__prepareOrigin(), "selfDestruction" === i && this.__prepareGC()), this)
601        }, reposition: function (t, i) {
602            var o = this;
603            return o.__destroyed ? o.__destroyError() : "closed" != o.__state && e(o._$origin) && (i || e(o._$tooltip)) && (i || o._$tooltip.detach(), o.__Geometry = o.__geometry(), o._trigger({
604                type: "reposition",
605                event: t,
606                helper: {geo: o.__Geometry}
607            })), o
608        }, show: function (t) {
609            return this.open(t)
610        }, status: function () {
611            return {
612                destroyed: this.__destroyed,
613                enabled: this.__enabled,
614                open: "closed" !== this.__state,
615                state: this.__state
616            }
617        }, triggerHandler: function () {
618            return this.__destroyed ? this.__destroyError() : this.__$emitterPublic.triggerHandler.apply(this.__$emitterPublic, Array.prototype.slice.apply(arguments)), this
619        }
620    }, t.fn.tooltipster = function () {
621        var i = Array.prototype.slice.apply(arguments),
622            o = "You are using a single HTML element as content for several tooltips. You probably want to set the contentCloning option to TRUE.";
623        if (0 === this.length) return this;
624        if ("string" == typeof i[0]) {
625            var e = "#*$~&";
626            return this.each(function () {
627                var n = t(this).data("tooltipster-ns"), s = n ? t(this).data(n[0]) : null;
628                if (!s) throw new Error("You called Tooltipster's \"" + i[0] + '" method on an uninitialized element');
629                if ("function" != typeof s[i[0]]) throw new Error('Unknown method "' + i[0] + '"');
630                this.length > 1 && "content" == i[0] && (i[1] instanceof t || "object" == typeof i[1] && null != i[1] && i[1].tagName) && !s.__options.contentCloning && s.__options.debug && console.log(o);
631                var r = s[i[0]](i[1], i[2]);
632                return r !== s || "instance" === i[0] ? (e = r, !1) : void 0
633            }), "#*$~&" !== e ? e : this
634        }
635        t.tooltipster.__instancesLatestArr = [];
636        var s = i[0] && void 0 !== i[0].multiple, r = s && i[0].multiple || !s && n.multiple,
637            _ = i[0] && void 0 !== i[0].content, a = _ && i[0].content || !_ && n.content,
638            l = i[0] && void 0 !== i[0].contentCloning, p = l && i[0].contentCloning || !l && n.contentCloning,
639            c = i[0] && void 0 !== i[0].debug, h = c && i[0].debug || !c && n.debug;
640        return this.length > 1 && (a instanceof t || "object" == typeof a && null != a && a.tagName) && !p && h && console.log(o), this.each(function () {
641            var o = !1, e = t(this), n = e.data("tooltipster-ns"), s = null;
642            n ? r ? o = !0 : h && (console.log("Tooltipster: one or more tooltips are already attached to the element below. Ignoring."), console.log(this)) : o = !0, o && (s = new t.Tooltipster(this, i[0]), n || (n = []), n.push(s.__namespace), e.data("tooltipster-ns", n), e.data(s.__namespace, s), s.__options.functionInit && s.__options.functionInit.call(s, s, {origin: this}), s._trigger("init")), t.tooltipster.__instancesLatestArr.push(s)
643        }), this
644    }, i.prototype = {
645        __init: function (i) {
646            this.__$tooltip = i, this.__$tooltip.css({
647                left: 0,
648                overflow: "hidden",
649                position: "absolute",
650                top: 0
651            }).find(".tooltipster-content").css("overflow", "auto"), this.$container = t('<div class="tooltipster-ruler"></div>').append(this.__$tooltip).appendTo(r.window.document.body)
652        }, __forceRedraw: function () {
653            var t = this.__$tooltip.parent();
654            this.__$tooltip.detach(), this.__$tooltip.appendTo(t)
655        }, constrain: function (t, i) {
656            return this.constraints = {width: t, height: i}, this.__$tooltip.css({
657                display: "block",
658                height: "",
659                overflow: "auto",
660                width: t
661            }), this
662        }, destroy: function () {
663            this.__$tooltip.detach().find(".tooltipster-content").css({
664                display: "",
665                overflow: ""
666            }), this.$container.remove()
667        }, free: function () {
668            return this.constraints = null, this.__$tooltip.css({
669                display: "",
670                height: "",
671                overflow: "visible",
672                width: ""
673            }), this
674        }, measure: function () {
675            this.__forceRedraw();
676            var t = this.__$tooltip[0].getBoundingClientRect(),
677                i = {size: {height: t.height || t.bottom - t.top, width: t.width || t.right - t.left}};
678            if (this.constraints) {
679                var o = this.__$tooltip.find(".tooltipster-content"), e = this.__$tooltip.outerHeight(),
680                    n = o[0].getBoundingClientRect(), s = {
681                        height: e <= this.constraints.height,
682                        width: t.width <= this.constraints.width && n.width >= o[0].scrollWidth - 1
683                    };
684                i.fits = s.height && s.width
685            }
686            return r.IE && r.IE <= 11 && i.size.width !== r.window.document.documentElement.clientWidth && (i.size.width = Math.ceil(i.size.width) + 1), i
687        }
688    };
689    var a = navigator.userAgent.toLowerCase();
690    -1 != a.indexOf("msie") ? r.IE = parseInt(a.split("msie")[1]) : -1 !== a.toLowerCase().indexOf("trident") && -1 !== a.indexOf(" rv:11") ? r.IE = 11 : -1 != a.toLowerCase().indexOf("edge/") && (r.IE = parseInt(a.toLowerCase().split("edge/")[1]));
691    var l = "tooltipster.sideTip";
692    return t.tooltipster._plugin({
693        name: l, instance: {
694            __defaults: function () {
695                return {
696                    arrow: !0,
697                    distance: 6,
698                    functionPosition: null,
699                    maxWidth: null,
700                    minIntersection: 16,
701                    minWidth: 0,
702                    position: null,
703                    side: "top",
704                    viewportAware: !0
705                }
706            }, __init: function (t) {
707                var i = this;
708                i.__instance = t, i.__namespace = "tooltipster-sideTip-" + Math.round(1e6 * Math.random()), i.__previousState = "closed", i.__options, i.__optionsFormat(), i.__instance._on("state." + i.__namespace, function (t) {
709                    "closed" == t.state ? i.__close() : "appearing" == t.state && "closed" == i.__previousState && i.__create(), i.__previousState = t.state
710                }), i.__instance._on("options." + i.__namespace, function () {
711                    i.__optionsFormat()
712                }), i.__instance._on("reposition." + i.__namespace, function (t) {
713                    i.__reposition(t.event, t.helper)
714                })
715            }, __close: function () {
716                this.__instance.content() instanceof t && this.__instance.content().detach(), this.__instance._$tooltip.remove(), this.__instance._$tooltip = null
717            }, __create: function () {
718                var i = t('<div class="premium-tooltipster-base tooltipster-base tooltipster-sidetip"><div class="tooltipster-box"><div class="tooltipster-content"></div></div><div class="tooltipster-arrow"><div class="tooltipster-arrow-uncropped"><div class="tooltipster-arrow-border"></div><div class="tooltipster-arrow-background"></div></div></div></div>');
719                this.__options.arrow || i.find(".tooltipster-box").css("margin", 0).end().find(".tooltipster-arrow").hide(), this.__options.minWidth && i.css("min-width", this.__options.minWidth + "px"), this.__options.maxWidth && i.css("max-width", this.__options.maxWidth + "px"), this.__instance._$tooltip = i, this.__instance._trigger("created")
720            }, __destroy: function () {
721                this.__instance._off("." + self.__namespace)
722            }, __optionsFormat: function () {
723                var i = this;
724                if (i.__options = i.__instance._optionsExtract(l, i.__defaults()), i.__options.position && (i.__options.side = i.__options.position), "object" != typeof i.__options.distance && (i.__options.distance = [i.__options.distance]), i.__options.distance.length < 4 && (void 0 === i.__options.distance[1] && (i.__options.distance[1] = i.__options.distance[0]), void 0 === i.__options.distance[2] && (i.__options.distance[2] = i.__options.distance[0]), void 0 === i.__options.distance[3] && (i.__options.distance[3] = i.__options.distance[1]), i.__options.distance = {
725                    top: i.__options.distance[0],
726                    right: i.__options.distance[1],
727                    bottom: i.__options.distance[2],
728                    left: i.__options.distance[3]
729                }), "string" == typeof i.__options.side) {
730                    i.__options.side = [i.__options.side, {
731                        top: "bottom",
732                        right: "left",
733                        bottom: "top",
734                        left: "right"
735                    }
735[i.__options.side]], "left" == i.__options.side[0] || "right" == i.__options.side[0] ? i.__options.side.push("top", "bottom") : i.__options.side.push("right", "left")
736                }
737                6 === t.tooltipster._env.IE && !0 !== i.__options.arrow && (i.__options.arrow = !1)
738            }, __reposition: function (i, o) {
739                var e, n = this, s = n.__targetFind(o), r = [];
740                n.__instance._$tooltip.detach();
741                var _ = n.__instance._$tooltip.clone(), a = t.tooltipster._getRuler(_), l = !1,
742                    p = n.__instance.option("animation");
743                switch (p && _.removeClass("tooltipster-" + p), t.each(["window", "document"], function (e, p) {
744                    var c = null;
745                    if (n.__instance._trigger({
746                        container: p, helper: o, satisfied: l, takeTest: function (t) {
747                            c = t
748                        }, results: r, type: "positionTest"
749                    }), 1 == c || 0 != c && 0 == l && ("window" != p || n.__options.viewportAware)) for (e = 0; e < n.__options.side.length; e++) {
750                        var h = {horizontal: 0, vertical: 0}, d = n.__options.side[e];
751                        "top" == d || "bottom" == d ? h.vertical = n.__options.distance[d] : h.horizontal = n.__options.distance[d], n.__sideChange(_, d), t.each(["natural", "constrained"], function (t, e) {
752                            if (c = null, n.__instance._trigger({
753                                container: p,
754                                event: i,
755                                helper: o,
756                                mode: e,
757                                results: r,
758                                satisfied: l,
759                                side: d,
760                                takeTest: function (t) {
761                                    c = t
762                                },
763                                type: "positionTest"
764                            }), 1 == c || 0 != c && 0 == l) {
765                                var _ = {
766                                        container: p,
767                                        distance: h,
768                                        fits: null,
769                                        mode: e,
770                                        outerSize: null,
771                                        side: d,
772                                        size: null,
773                                        target: s[d],
774                                        whole: null
775                                    },
776                                    u = ("natural" == e ? a.free() : a.constrain(o.geo.available[p][d].width - h.horizontal, o.geo.available[p][d].height - h.vertical)).measure();
777                                if (_.size = u.size, _.outerSize = {
778                                    height: u.size.height + h.vertical,
779                                    width: u.size.width + h.horizontal
780                                }, "natural" == e ? o.geo.available[p][d].width >= _.outerSize.width && o.geo.available[p][d].height >= _.outerSize.height ? _.fits = !0 : _.fits = !1 : _.fits = u.fits, "window" == p && (_.fits ? _.whole = "top" == d || "bottom" == d ? o.geo.origin.windowOffset.right >= n.__options.minIntersection && o.geo.window.size.width - o.geo.origin.windowOffset.left >= n.__options.minIntersection : o.geo.origin.windowOffset.bottom >= n.__options.minIntersection && o.geo.window.size.height - o.geo.origin.windowOffset.top >= n.__options.minIntersection : _.whole = !1), r.push(_), _.whole) l = !0; else if ("natural" == _.mode && (_.fits || _.size.width <= o.geo.available[p][d].width)) return !1
781                            }
782                        })
783                    }
784                }), n.__instance._trigger({
785                    edit: function (t) {
786                        r = t
787                    }, event: i, helper: o, results: r, type: "positionTested"
788                }), r.sort(function (t, i) {
789                    if (t.whole && !i.whole) return -1;
790                    if (!t.whole && i.whole) return 1;
791                    if (t.whole && i.whole) {
792                        var o = n.__options.side.indexOf(t.side);
793                        return (e = n.__options.side.indexOf(i.side)) > o ? -1 : o > e ? 1 : "natural" == t.mode ? -1 : 1
794                    }
795                    if (t.fits && !i.fits) return -1;
796                    if (!t.fits && i.fits) return 1;
797                    if (t.fits && i.fits) {
798                        var e;
799                        o = n.__options.side.indexOf(t.side);
800                        return (e = n.__options.side.indexOf(i.side)) > o ? -1 : o > e ? 1 : "natural" == t.mode ? -1 : 1
801                    }
802                    return "document" == t.container && "bottom" == t.side && "natural" == t.mode ? -1 : 1
803                }), (e = r[0]).coord = {}, e.side) {
804                    case"left":
805                    case"right":
806                        e.coord.top = Math.floor(e.target - e.size.height / 2);
807                        break;
808                    case"bottom":
809                    case"top":
810                        e.coord.left = Math.floor(e.target - e.size.width / 2)
811                }
812                switch (e.side) {
813                    case"left":
814                        e.coord.left = o.geo.origin.windowOffset.left - e.outerSize.width;
815                        break;
816                    case"right":
817                        e.coord.left = o.geo.origin.windowOffset.right + e.distance.horizontal;
818                        break;
819                    case"top":
820                        e.coord.top = o.geo.origin.windowOffset.top - e.outerSize.height;
821                        break;
822                    case"bottom":
823                        e.coord.top = o.geo.origin.windowOffset.bottom + e.distance.vertical
824                }
vendor: 5,020 bytes, lines 825-873
825                "window" == e.container ? "top" == e.side || "bottom" == e.side ? e.coord.left < 0 ? o.geo.origin.windowOffset.right - this.__options.minIntersection >= 0 ? e.coord.left = 0 : e.coord.left = o.geo.origin.windowOffset.right - this.__options.minIntersection - 1 : e.coord.left > o.geo.window.size.width - e.size.width && (o.geo.origin.windowOffset.left + this.__options.minIntersection <= o.geo.window.size.width ? e.coord.left = o.geo.window.size.width - e.size.width : e.coord.left = o.geo.origin.windowOffset.left + this.__options.minIntersection + 1 - e.size.width) : e.coord.top < 0 ? o.geo.origin.windowOffset.bottom - this.__options.minIntersection >= 0 ? e.coord.top = 0 : e.coord.top = o.geo.origin.windowOffset.bottom - this.__options.minIntersection - 1 : e.coord.top > o.geo.window.size.height - e.size.height && (o.geo.origin.windowOffset.top + this.__options.minIntersection <= o.geo.window.size.height ? e.coord.top = o.geo.window.size.height - e.size.height : e.coord.top = o.geo.origin.windowOffset.top + this.__options.minIntersection + 1 - e.size.height) : (e.coord.left > o.geo.window.size.width - e.size.width && (e.coord.left = o.geo.window.size.width - e.size.width), e.coord.left < 0 && (e.coord.left = 0)), n.__sideChange(_, e.side), o.tooltipClone = _[0], o.tooltipParent = n.__instance.option("parent").parent[0], o.mode = e.mode, o.whole = e.whole, o.origin = n.__instance._$origin[0], o.tooltip = n.__instance._$tooltip[0], delete e.container, delete e.fits, delete e.mode, delete e.outerSize, delete e.whole, e.distance = e.distance.horizontal || e.distance.vertical;
826                var c, h, d, u = t.extend(!0, {}, e);
827                if (n.__instance._trigger({
828                    edit: function (t) {
829                        e = t
830                    }, event: i, helper: o, position: u, type: "position"
831                }), n.__options.functionPosition) {
832                    var g = n.__options.functionPosition.call(n, n.__instance, o, u);
833                    g && (e = g)
834                }
835                a.destroy(), "top" == e.side || "bottom" == e.side ? (c = {
836                    prop: "left",
837                    val: e.target - e.coord.left
838                }, h = e.size.width - this.__options.minIntersection) : (c = {
839                    prop: "top",
840                    val: e.target - e.coord.top
841                }, h = e.size.height - this.__options.minIntersection), c.val < this.__options.minIntersection ? c.val = this.__options.minIntersection : c.val > h && (c.val = h), d = o.geo.origin.fixedLineage ? o.geo.origin.windowOffset : {
842                    left: o.geo.origin.windowOffset.left + o.geo.window.scroll.left,
843                    top: o.geo.origin.windowOffset.top + o.geo.window.scroll.top
844                }, e.coord = {
845                    left: d.left + (e.coord.left - o.geo.origin.windowOffset.left),
846                    top: d.top + (e.coord.top - o.geo.origin.windowOffset.top)
847                }, n.__sideChange(n.__instance._$tooltip, e.side), o.geo.origin.fixedLineage ? n.__instance._$tooltip.css("position", "fixed") : n.__instance._$tooltip.css("position", ""), n.__instance._$tooltip.css({
848                    left: e.coord.left,
849                    top: e.coord.top,
850                    height: e.size.height,
851                    width: e.size.width
852                }).find(".tooltipster-arrow").css({
853                    left: "",
854                    top: ""
855                }).css(c.prop, c.val), n.__instance._$tooltip.appendTo(n.__instance.option("parent")), n.__instance._trigger({
856                    type: "repositioned",
857                    event: i,
858                    position: e
859                })
860            }, __sideChange: function (t, i) {
861                t.removeClass("tooltipster-bottom").removeClass("tooltipster-left").removeClass("tooltipster-right").removeClass("tooltipster-top").addClass("tooltipster-" + i)
862            }, __targetFind: function (t) {
863                var i = {}, o = this.__instance._$origin[0].getClientRects();
864                o.length > 1 && (1 == this.__instance._$origin.css("opacity") && (this.__instance._$origin.css("opacity", .99), o = this.__instance._$origin[0].getClientRects(), this.__instance._$origin.css("opacity", 1)));
865                if (o.length < 2) i.top = Math.floor(t.geo.origin.windowOffset.left + t.geo.origin.size.width / 2), i.bottom = i.top, i.left = Math.floor(t.geo.origin.windowOffset.top + t.geo.origin.size.height / 2), i.right = i.left; else {
866                    var e = o[0];
867                    i.top = Math.floor(e.left + (e.right - e.left) / 2), e = o.length > 2 ? o[Math.ceil(o.length / 2) - 1] : o[0], i.right = Math.floor(e.top + (e.bottom - e.top) / 2), e = o[o.length - 1], i.bottom = Math.floor(e.left + (e.right - e.left) / 2), e = o.length > 2 ? o[Math.ceil((o.length + 1) / 2) - 1] : o[o.length - 1], i.left = Math.floor(e.top + (e.bottom - e.top) / 2)
868                }
869                return i
870            }
871        }
872    }), t
873});

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.