PageSourceSearch

http://www.top100hk.com/wp-content/themes/finet/assets/js/script.min.js?ver=1790314924

js top100hk.com collected 2026-09-25 06:12:40 UTC 74,974 bytes, 1,666 lines download raw bytes

1jQuery(document).ready(function (s) {
2    function r(t) {
3        var e = s(t);
4        e.prop("disabled") || e.closest(".form-group").addClass("is-focused")
5    }
6    function e(t) {
7        var o = !1;
8        (t.is(s.material.options.checkboxElements) || t.is(s.material.options.radioElements)) && (o = !0),
9            t.closest("label").hover(function () {
10                var t, e, i = s(this).find("input"),
11                    n = i.prop("disabled");
12                o && (t = s(this), e = n, (t.hasClass("checkbox-inline") || t.hasClass("radio-inline") ? t : t.closest(".checkbox").length ? t.closest(".checkbox") : t.closest(".radio")).toggleClass("disabled", e)),
13                n || r(i)
14            }, function () {
15                i(s(this).find("input"))
16            })
17    }
18    function i(t) {
19        s(t).closest(".form-group").removeClass("is-focused")
20    }
21    s.expr[":"].notmdproc = function (t) {
22        return !s(t).data("mdproc")
23    },
24        s.material = {
25            options: {
26                validate: !0,
27                input: !0,
28                ripples: !0,
29                checkbox: !0,
30                togglebutton: !0,
31                radio: !0,
32                arrive: !0,
33                autofill: !1,
34                withRipples: [".btn:not(.btn-link)", ".card-image", ".navbar a:not(.withoutripple)", ".dropdown-menu a", ".nav-tabs a:not(.withoutripple)", ".withripple", ".pagination li:not(.active):not(.disabled) a:not(.withoutripple)"].join(","),
35                inputElements: "input.form-control, textarea.form-control, select.form-control",
36                checkboxElements: ".checkbox > label > input[type=checkbox], label.checkbox-inline > input[type=checkbox]",
37                togglebuttonElements: ".togglebutton > label > input[type=checkbox]",
38                radioElements: ".radio > label > input[type=radio], label.radio-inline > input[type=radio]"
39            },
40            checkbox: function (t) {
41                e(s(t || this.options.checkboxElements).filter(":notmdproc").data("mdproc", !0).after('<span class="checkbox-material"><span class="check"></span></span>'))
42            },
43            togglebutton: function (t) {
44                e(s(t || this.options.togglebuttonElements).filter(":notmdproc").data("mdproc", !0).after('<span class="toggle"></span>'))
45            },
46            radio: function (t) {
47                e(s(t || this.options.radioElements).filter(":notmdproc").data("mdproc", !0).after('<span class="circle"></span><span class="check"></span>'))
48            },
49            input: function (t) {
50                s(t || this.options.inputElements).filter(":notmdproc").data("mdproc", !0).each(function () {
51                    var i = s(this),
52                        n = i.closest(".form-group");
53                    if (0 !== n.length || "hidden" === i.attr("type") || i.attr("hidden") || i.parents(".pirate_forms").length || (i.wrap('<div class="form-group w-100"></div>'), n = i.closest(".form-group")), 0 === n.length && "hidden" !== i.attr("type") && !i.attr("hidden") && i.parents(".pirate_forms").length) {
54                        var t = i.prev();
55                        "checkbox" === i.attr("type") && (t = i.next()),
56                            i.add(t).wrapAll('<div class="form-group label-floating"></div>'),
57                            n = i.closest(".form-group")
58                    }
59                    i.attr("data-hint") && (i.after('<p class="help-block">' + i.attr("data-hint") + "</p>"), i.removeAttr("data-hint"));
60                    if (s.each({
61                        "input-lg": "form-group-lg",
62                        "input-sm": "form-group-sm"
63                    }, function (t, e) {
64                        i.hasClass(t) && (i.removeClass(t), n.addClass(e))
65                    }), i.hasClass("floating-label")) {
66                        var e = i.attr("placeholder");
67                        i.attr("placeholder", null).removeClass("floating-label");
68                        var o = i.attr("id"),
69                            r = "";
70                        o && (r = 'for="' + o + '"'),
71                            n.addClass("label-floating"),
72                            i.after("<label " + r + 'class="control-label">' + e + "</label>")
73                    }
74                    null !== i.val() && "undefined" !== i.val() && "" !== i.val() || n.addClass("is-empty"),
75                    0 < n.find("input[type=file]").length && n.addClass("is-fileinput")
76                })
77            },
78            attachInputEventHandlers: function () {
79                var n = this.options.validate;
80                s(document).on("keydown paste", ".form-control", function (t) {
81                    var e;
82                    (void 0 === (e = t).which || "number" == typeof e.which && 0 < e.which && !e.ctrlKey && !e.metaKey && !e.altKey && 8 !== e.which && 9 !== e.which && 13 !== e.which && 16 !== e.which && 17 !== e.which && 20 !== e.which && 27 !== e.which) && s(this).closest(".form-group").removeClass("is-empty")
83                }).on("keyup change", ".form-control", function () {
84                    var t = s(this),
85                        e = t.closest(".form-group"),
86                        i = void 0 === t[0].checkValidity || t[0].checkValidity();
87                    "" === t.val() ? e.addClass("is-empty") : e.removeClass("is-empty"),
88                    n && (i ? e.removeClass("has-error") : e.addClass("has-error"))
89                }).on("focus", ".form-control, .form-group.is-fileinput", function () {
90                    r(this)
91                }).on("blur", ".form-control, .form-group.is-fileinput", function () {
92                    i(this)
93                }).on("change", ".form-group input", function () {
94                    var t = s(this);
95                    if ("file" !== t.attr("type")) {
96                        var e = t.closest(".form-group");
97                        t.val() ? e.removeClass("is-empty") : e.addClass("is-empty")
98                    }
99                }).on("change", '.form-group.is-fileinput input[type="file"]', function () {
100                    var t = s(this).closest(".form-group"),
101                        i = "";
102                    s.each(this.files, function (t, e) {
103                        i += e.name + ", "
104                    }),
105                        (i = i.substring(0, i.length - 2)) ? t.removeClass("is-empty") : t.addClass("is-empty"),
106                        t.find("input.form-control[readonly]").val(i)
107                })
108            },
109            ripples: function (t) {
110                s(t || this.options.withRipples).ripples()
111            },
112            autofill: function () {
113                var t = setInterval(function () {
114                    s("input[type!=checkbox]").each(function () {
115                        var t = s(this);
116                        t.val() && t.val() !== t.attr("value") && t.trigger("change")
117                    })
118                }, 100);
119                setTimeout(function () {
120                    clearInterval(t)
121                }, 1e4)
122            },
123            attachAutofillEventHandlers: function () {
124                var e;
125                s(document).on("focus", "input", function () {
126                    var t = s(this).parents("form").find("input").not("[type=file]");
127                    e = setInterval(function () {
128                        t.each(function () {
129                            var t = s(this);
130                            t.val() !== t.attr("value") && t.trigger("change")
131                        })
132                    }, 100)
133                }).on("blur", ".form-group input", function () {
134                    clearInterval(e)
135                })
136            },
137            init: function (t) {
138                this.options = s.extend({}, this.options, t);
139                var e = s(document);
140                s.fn.ripples && this.options.ripples && this.ripples(),
141                this.options.input && (this.input(), this.attachInputEventHandlers()),
142                this.options.checkbox && this.checkbox(),
143                this.options.togglebutton && this.togglebutton(),
144                this.options.radio && this.radio(),
145                this.options.autofill && (this.autofill(), this.attachAutofillEventHandlers()),
146                document.arrive && this.options.arrive && (s.fn.ripples && this.options.ripples && e.arrive(this.options.withRipples, function () {
147                    s.material.ripples(s(this))
148                }), this.options.input && e.arrive(this.options.inputElements, function () {
149                    s.material.input(s(this))
150                }), this.options.checkbox && e.arrive(this.options.checkboxElements, function () {
151                    s.material.checkbox(s(this))
152                }), this.options.radio && e.arrive(this.options.radioElements, function () {
153                    s.material.radio(s(this))
154                }), this.options.togglebutton && e.arrive(this.options.togglebuttonElements, function () {
155                    s.material.togglebutton(s(this))
156                }))
157            }
158        }
159}),
160
161
162    function (l) {
163        l.hestiaFeatures = {
164            initMasonry: function () {
165                "undefined" != typeof requestpost && requestpost.masonry && l(".post-grid-display").masonry({
166                    itemSelector: ".card-no-width",
167                    columnWidth: ".card-no-width",
168                    percentPosition: !0
169                })
170            },
171            initAnimations: function () {
172                if ("undefined" != typeof AOS) {
173                    AOS.init({
174                        offset: 250,
175                        delay: 300,
176                        duration: 900,
177                        once: !0,
178                        disable: "mobile"
179                    })
180                }
181            },
182        },
183            l.utilitiesFunctions = {
184                debounce: function (n, o, r) {
185                    var s;
186                    return function () {
187                        var t = this,
188                            e = arguments,
189                            i = r && !s;
190                        clearTimeout(s),
191                            s = setTimeout(function () {
192                                s = null,
193                                r || n.apply(t, e)
194                            }, o),
195                        i && n.apply(t, e)
196                    }
197                },
198                isElementInViewport: function (t) {
199                    var e = l(t),
200                        i = l(window).scrollTop(),
201                        n = i + l(window).height(),
202                        o = Math.round(e.offset().top),
203                        r = o + e.height();
204                    return o < n && i < r
205                },
206                verifyNavHeight: function () {
207                    return l(window).width() < 768 ? l(".navbar").outerHeight() : l(".
207navbar").outerHeight() - 15
208                },
209                getWidth: function () {
210                    return this.innerWidth ? this.innerWidth : document.documentElement && document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body ? document.body.clientWidth : void 0
211                },
212                addControlLabel: function (t) {
213                    var e = t.attr("placeholder");
214                    t.removeAttr("placeholder"),
215                        l('<label class="control-label"> ' + e + " </label>").insertBefore(t)
216                }
217            },
218            l.hestia = {
219                init: function () {
220                    this.navSearch(),
221                        this.getPortfolioModalData(),
222                        this.headerSpacingFrontpage(),
223                        this.initCarousel(),
224                        this.initCarouselSwipe(),
225                        this.scrollToTop(),
226                        this.detectIos(),
227                        this.addViewCart(),
228                        this.setSearchSizeInput(),
229                        this.styleDefaultSubscribeWidget(),
230                        this.fixElementorTemplates(),
231                        this.handleGutenbergAlignment()
232                },
233                fixElementorTemplates: function () {
234                    if (l(".elementor").length <= 0) return !1;
235                    var t = l(".navbar").outerHeight();
236                    return l(".elementor-template-full-width header").css("margin-bottom", t),
237                        l(".page-template-template-fullwidth .main.classic-blog").css("margin-top", t),
238                        !1
239                },
240                navSearch: function () {
241                    l(".hestia-toggle-search").on("click", function () {
242                        l(".navbar").toggleClass("nav-searching");
243                        var t = l(".nav-searching");
244                        t.find(".hestia-nav-search").addClass("is-focused"),
245                            t.find(".hestia-nav-search").find(".search-field").focus(),
246                            l(this).find("i").fadeOut(200, function () {
247                                l(this).toggleClass("fa-search"),
248                                    l(this).toggleClass("fa-times")
249                            }).fadeIn(200)
250                    })
251                },
252                getPortfolioModalData: function () {
253                    l("#portfolio").find('a[data-toggle="modal"]').on("click", function (t) {
254                        t.preventDefault();
255                        var e = l(this).data("pid");
256                        l.ajax({
257                            url: requestpost.ajaxurl,
258                            type: "post",
259                            data: {
260                                action: "chs_get_portfolio_item_data",
261                                pid: e
262                            },
263                            success: function (t) {
264                                var e = l(".hestia-portfolio-modal");
265                                e.find(".modal-content").html(t),
266                                    e.on("hidden.bs.modal", function () {
267                                        l(this).find(".modal-content").html('<div class="portfolio-loading text-center"><i class="fa fa-3x fa-spin fa-circle-o-notch"></i></div>')
268                                    })
269                            }
270                        })
271                    })
272                },
273                headerSpacingFrontpage: function () {
274                    if ((!this.inIframe() || !this.isMobileUA()) && 0 < l(".home .carousel").length) {
275
276                    }
277                },
278                inIframe: function () {
279                    return window.self !== window.top
280                },
281                isMobileUA: function () {
282                    return navigator.userAgent.match(/(iPhone|iPod|iPad|Android|BlackBerry|BB10|mobi|tablet|opera mini|nexus 7)/i)
283                },
284                initCarousel: function () {
285                    var t = {
286                        interval: 1e4
287                    };
288                    void 0 !== requestpost.disable_autoslide && "1" === requestpost.disable_autoslide && (t.interval = !1),
289                    0 !== l("body.rtl").length && (l(".carousel-control.left").click(function () {
290                        l(".carousel").carousel("next")
291                    }), l(".carousel-control.right").click(function () {
292                        l(".carousel").carousel("prev")
293                    })),
294                        l(".carousel").carousel(t)
295                },
296                initCarouselSwipe: function () {
297                    if ("undefined" != typeof Hammer) {
298                        var t = "swipeleft",
299                            e = "swiperight";
300                        if (0 !== l("body.rtl").length && (t = "swiperight", e = "swipeleft"), 0 !== l("#carousel-chs-generic").length) {
301                            var i = document.getElementById("carousel-chs-generic");
302                            Hammer(i).on(t, function () {
303                                l(".carousel").carousel("next")
304                            }),
305                                Hammer(i).on(e, function () {
306                                    l(".carousel").carousel("prev")
307                                })
308                        }
309                    }
310                },
311                scrollToTop: function () {
312                    var i = 0;
313                    l(window).on("scroll", function () {
314                        var t = window.pageYOffset,
315                            e = l(".page-header").height();
316                        e < t && 0 === i && (l(".finet-scroll-to-top").addClass("finet-fade"), i = 1),
317                        t < e && 1 === i && (l(".finet-scroll-to-top").removeClass("finet-fade"), i = 0)
318                    }),
319                        l(".finet-scroll-to-top").on("click", function () {
320                            window.scroll({
321                                top: 0,
322                                behavior: "smooth"
323                            })
324                        })
325                },
326                sidebarToggle: function () {
327                    if (!(l(".blog-sidebar-wrapper,.shop-sidebar-wrapper").length <= 0)) {
328                        var t = "left";
329                        0 !== l("body.rtl").length && (t = "right"),
330                            l(".hestia-sidebar-open").click(function () {
331                                l(".sidebar-toggle-container").css(t, "0")
332                            }),
333                            l(".hestia-sidebar-close").click(function () {
334                                l(".sidebar-toggle-container").css(t, "-100%")
335                            })
336                    }
337                },
338                detectIos: function () {
339                    (0 < l(".hestia-about").length || 0 < l(".hestia-ribbon").length) && (/iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream && l("body").addClass("is-ios"))
340                },
341                addViewCart: function () {
342                    l(document).on("DOMNodeInserted", ".added_to_cart", function () {
343                        l(this).parent().hasClass("hestia-view-cart-wrapper") || l(this).wrap('<div class="hestia-view-cart-wrapper"></div>')
344                    })
345                },
346                setSearchSizeInput: function () {
347                    0 < l(".hestia-top-bar").find("input[type=search]").length && l(".hestia-top-bar input[type=search]").each(function () {
348                        l(this).attr("size", l(this).parent().find(".control-label").text().replace(/ |…/g, "").length)
349                    })
350                },
351                styleDefaultSubscribeWidget: function () {
352                    var t = l(".hestia-subscribe #sib_signup_form_1");
353                    t.find("p.sib-email-area").before('<span class="input-group-addon"><i class="fa fa-envelope"></i></span>'),
354                        t.find("p.sib-NAME-area").before('<span class="input-group-addon"><i class="fa fa-user"></i></span>'),
355                        t.find(".form-group").each(function () {
356                            l(this).addClass("is-empty")
357                        })
358                },
359                handleGutenbergAlignment: function () {
360                    var t = l("body");
361                    if (t.hasClass("page-template-template-pagebuilder-full-width") || t.hasClass("page-template-template-pagebuilder-blank") || t.hasClass("page-template-template-page-sidebar")) return !1;
362                    if (0 < l(".main #secondary").length) return !1;
363                    var e = l(".alignfull"),
364                        i = l(".alignwide");
365                    if (!e.length && !i.length) return !1;
366                    var n = l(".main").innerWidth();
367                    e.length && l(e).each(function (t, e) {
368                        l(e).css({
369                            "margin-left": "0",
370                            "margin-right": "0"
371                        });
372                        var i = (n - l(e).innerWidth()) / 2;
373                        l(e).css({
374                            "margin-left": "-" + i + "px",
375                            "margin-right": "-" + i + "px"
376                        })
377                    }),
378                    i.length && l(i).each(function (t, e) {
379                        l(e).css({
380                            "margin-left": "0",
381                            "margin-right": "0"
382                        });
383                        var i = (n - l(e).innerWidth()) / 5;
384                        l(e).css({
385                            "margin-left": "-" + i + "px",
386                            "margin-right": "-" + i + "px"
387                        })
388                    })
389                },
390                isMobile: function () {
391                    return window.innerWidth <= 991
392                }
393            },
394            l.navigation = {
395                init: function () {
396                    this.toggleNavbarTransparency(),
397                        this.handleResponsiveDropdowns(),
398                        this.handleTouchDropdowns(),
399                        this.repositionDropdowns(),
400                        this.smoothScroll(),
401                        this.activeParentLink(),
402                        this.highlightMenu(),
403                        this.setBodyOverflow()
404                },
405                handleTouchDropdowns: function () {
406                    if (window.innerWidth < 991) return !1;
407                    var i = this;
408                    return l(".caret-wrap").on("touchstart", function (t) {
409                        t.preventDefault(),
410                            t.stopPropagation();
411                        var e = l(this).closest("li");
412                        l(e).hasClass("dropdown-submenu") && (l(e).siblings().removeClass("open").find("dropdown-submenu").removeClass("open"), l(e).siblings().find(".caret-open").removeClass("caret-open")),
413                        l(this).closest("li").parent().is(".nav") && i.clearDropdowns(),
414                            l(this).toggleClass("caret-open"),
415                            l(this).closest(".dropdown").toggleClass("open"),
416                            i.createOverlay()
417                    }),
418                        !1
419                },
420                createOverlay: function () {
421                    var t = l(".dropdown-helper-overlay");
422                    if (0 < t.length) return !1;
423                    var e = this;
424                    return (t = document.createElement("div")).setAttribute("class", "dropdown-helper-overlay"),
425                        l("#main-navigation").append(t),
426                        l(".dropdown-helper-overlay").on("touchstart click", function () {
427                            this.remove(),
428                                e.clearDropdowns()
429                        }),
430                        !1
431                },
432                clearDropdowns: function () {
433                    l(".dropdown.open").removeClass("open"),
434                        l(".caret-wrap.caret-open").removeClass("caret-open")
435                },
436                toggleNavbarTransparency: function () {
437                    var t = l(".navbar-color-on-scroll");
438                    if (0 !== t.length) {
439                        var e = !0,
440                            i = 0;
441                        t.hasClass("header-with-topbar") && (i = 40),
442                            l(window).on("scroll", l.utilitiesFunctions.debounce(function () {
443                                l(".home.page .navbar").hasClass("no-slider") || (l(document).scrollTop() > i ? e && (e = !1, t.removeClass("navbar-transparent"), t.addClass("navbar-not-transparent")) : e || (e = !0, t.addClass("navbar-transparent"), t.removeClass("navbar-not-transparent")))
444                            }, 17))
445                    }
446                },
447                handleResponsiveDropdowns: function () {
448                    if (991 < window.innerWidth) return !1;
449                    l(".navbar .dropdown > a .caret-wrap").on("click touchend", function (t) {
450                        var e = l(this);
451                        t.preventDefault(),
452                            t.stopPropagation(),
453                            l(e).toggleClass("caret-open"),
454                            l(e).parent().siblings().toggleClass("open")
455                    })
456                },
457                smoothScroll: function () {
458                    l('.navbar a[href*="#"], a.btn[href*="#"]').click(function () {
459                        if ("#" === l(this).attr("href")) return !1;
460                        if (location.pathname.replace(/^\//, "") === this.pathname.replace(/^\//, "") && location.hostname === this.hostname) {
461                            var t = l(this.hash);
462                            if ((t = t.length ? t : l("[name=" + this.hash.slice(1) + "]")).length) return l("html,body").animate({
463                                scrollTop: t.offset().top - l.utilitiesFunctions.verifyNavHeight()
464                            }, 1200),
465                            l(".navbar .navbar-collapse").hasClass("in") && l(".navbar .navbar-collapse.in").removeClass("in"),
466                            l("body").hasClass("menu-open") && (l("body").removeClass("menu-open"), l(".navbar-collapse").css("height", "0"), l(".navbar-toggle").attr("aria-expanded", "false")),
467                                !1
468                        }
469                    })
470                },
471                activeParentLink: function () {
472                    l(".navbar .dropdown > a").click(function () {
473                        return "#" === l(this).attr("href") || (location.href = this.href),
474                            !1
475                    })
476                },
477                highlightMenu: function () {
478                    l(window).on("scroll", function () {
479                        if (l("body").hasClass("home") && 751 <= l(window).width()) {
480                            var r = l(window).scrollTop(),
481                                s = l(".navbar").outerHeight(),
482                                a = "no";
483                            l("#carousel-chs-generic, section").each(function () {
484                                var t = "#" + l(this).attr("id"),
485                                    e = l(this).offset().top,
486                                    i = l(this).outerHeight(),
487                                    n = e - s,
488                                    o = e + i - s;
489                                if (r + l.utilitiesFunctions.verifyNavHeight() >= n && r + l.utilitiesFunctions.verifyNavHeight() <= o) return a = "yes",
490                                    l("nav .on-section").removeClass("on-section"),
491                                    l('nav a[href$="' + t + '"]').parent("li").addClass("on-section"),
492                                    !1;
493                                "no" === a && l("nav .on-section").removeClass("on-section")
494                            })
495                        }
496                    })
497                },
498                setBodyOverflow: function () {
499                    var t = l("#main-navigation");
500                    t.on("show.bs.collapse", function () {
501                        l("body").addClass("menu-open")
502                    }),
503                        t.on("hidden.bs.collapse", function () {
504                            l("body").removeClass("menu-open")
505                        })
506                },
507                repositionDropdowns: function () {
508                    var r = window.innerWidth;
509                    if (r <= 768) return !1;
510                    var t = l(".dropdown-menu");
511                    return 0 === t.length || l.each(t, function (t, e) {
512                        var i = l(e),
513                            n = i.offset().left;
514                        /webkit.*mobile/i.test(navigator.userAgent) && (n -= window.scrollX);
515                        var o = i.outerWidth();
516                        r <= n + o && l(e).css({
517                            right: "100%",
518                            left: "auto"
519                        })
520                    }),
521                        !1
522                }
523            };
524        var e = 0;
525        l.hestiaNavBarScroll = {
526            checkNavbarScrollPoint: function () {
527                if (0 === l(".navbar-header").length) return !1;
528                if (768 <= l.utilitiesFunctions.getWidth()) {
529                    if (void 0 !== l(".navbar-header").offset()) {
530                        var t = l(".navbar-header").offset().top;
531                        /webkit.*mobile/i.test(navigator.userAgent) && (t -= window.scrollY),
532                            e = t + l(".navbar-header").height()
533                    }
534                    0 === l(".chs_left.header-with-topbar").length && 0 === l(".full-screen-menu.header-with-topbar").length || (e = 40)
535                } else e = 0 !== l(".navbar-header").length ? 40 : 0
536            },
537            addScrollClass: function () {
538                l(window).on("scroll", function () {
539                    l(document).scrollTop() >= e ? l(".header-home-top").addClass("position-fixed pt-3").removeClass("pt-3") : l(".header-home-top").removeClass("position-fixed pt-3").addClass("pt-3")
540                    l(document).scrollTop() >= e ? l(".header-other-top").addClass("position-fixed bg-white pt-3").removeClass("position-relative bg-dark pt-5") : l(".header-other-top").removeClass("position-fixed bg-white pt-3").addClass("position-relative bg-dark pt-5")
541                    l(document).scrollTop() >= e ? l(".header-nav").addClass("position-fixed bg-white").removeClass("position-absolute").css('top',l(".header-top").height()) : l(".header-nav").removeClass("position-fixed").addClass("position-absolute").css('top',0)
542                })
543            }
544        }
545    }(jQuery),
546    jQuery(document).ready(function () {
547        jQuery.material.init(),
548            jQuery.hestia.init(),
549            jQuery.navigation.init(),
550            jQuery.hestiaFeatures.initAnimations(),
551            jQuery.hestiaNavBarScroll.checkNavbarScrollPoint(),
552            jQuery.hestiaNavBarScroll.addScrollClass()
553    }),
554    jQuery(window).load(function () {
555        jQuery.hestiaFeatures.initMasonry(),
556            jQuery.hestia.sidebarToggle()
557    }),
558    jQuery(window).resize(function () {
559        jQuery.hestiaFeatures.initMasonry(),
560            jQuery.hestia.headerSpacingFrontpage(),
561            jQuery.hestia.handleGutenbergAlignment(),
562            jQuery.hestiaNavBarScroll.checkNavbarScrollPoint(),
563            jQuery.navigation.repositionDropdowns()
564    }),
565
566
567    function (i) {
568        i.hestiaProScripts = {
569            showCartAfterAdd: function () {
570                var t = i(".btn.product_type_simple.ajax_add_to_cart");
571                if (0 < t.length) {
572                    var e = i("li.nav-cart");
573                    i(t).click(function () {
574                        setTimeout(function () {
575                            e.addClass("hestia-anim-cart")
576                        }, 1e3),
577                            setTimeout(function () {
578                                e.removeClass("hestia-anim-cart")
579                            }, 5e3)
580                    })
581                }
582            },
583            fixElementorHeader: function () {
584                if (!(0 < i(".header-footer-elementor").length)) return 0 !== i(".elementor-location-header").length && ( !! i("body").hasClass("header-layout-classic-blog") && (!i("body").hasClass("home page-template-default") && void i(".page .main-raised").css("margin-top", 0)))
585            }
586        }
587    }(jQuery),
588    jQuery(document).ready(function () {
589        jQuery.hestiaProScripts.showCartAfterAdd(),
590            jQuery.hestiaProScripts.fixElementorHeader()
591    }),
592
593
594    function (r, a, t, m) {
595        "use strict";
596        var s, l = ["", "webkit", "Moz", "MS", "ms", "o"],
597            e = a.createElement("div"),
598            i = "function",
599            c = Math.round,
600            v = Math.abs,
601            g = Date.now;
602
603        function h(t, e, i) {
604            return setTimeout(y(t, i), e)
605        }
606        function n(t, e, i) {
607            return !!Array.isArray(t) && (u(t, i[e], i), !0)
608        }
609        function u(t, e, i) {
610            var n;
611            if (t) if (t.forEach) t.forEach(e, i);
612            else if (t.length !== m) for (n = 0; n < t.length;) e.call(i, t[n], n, t),
613                n++;
614            else for (n in t) t.hasOwnProperty(n) && e.call(i, t[n], n, t)
615        }
616        function o(n, t, e) {
617            var o = "DEPRECATED METHOD: " + t + "\n" + e + " AT \n";
618            return function () {
619                var t = new Error("get-stack-trace"),
620                    e = t && t.stack ? t.stack.replace(/^[^\(]+?[\n$]/gm, "").replace(/^\s+at\s+/gm, "").replace(/^Object.<anonymous>\s*\(/gm, "{anonymous}()@") : "Unknown Stack Trace",
621                    i = r.console && (r.console.warn || r.console.log);
622                return i && i.call(r.console, o, e),
623                    n.apply(this, arguments)
624            }
625        }
626        s = "function" != typeof Object.assign ?
627            function (t) {
628                if (t === m || null === t) throw new TypeError("Cannot convert undefined or null to object");
629                for (var e = Object(t), i = 1; i < arguments.length; i++) {
630                    var n = arguments[i];
631                    if (n !== m && null !== n) for (var o in n) n.hasOwnProperty(o) && (e[o] = n[o])
632                }
633                return e
634            } : Object.assign;
635        var p = o(function (t, e, i) {
636                for (var n = Object.keys(e), o = 0; o < n.length;)(!i || i && t[n[o]] === m) && (t[n[o]] = e[n[o]]),
637                    o++;
638                return t
639            }, "extend", "Use `assign`."),
640            d = o(function (t, e) {
641                return p(t, e, !0)
642            }, "merge", "Use `assign`.");
643
644        function f(t, e, i) {
645            var n, o = e.prototype;
646            (n = t.prototype = Object.create(o)).constructor = t,
647                n._super = o,
648            i && s(n, i)
649        }
650        function y(t, e) {
651            return function () {
652                return t.apply(e, arguments)
653            }
654        }
655        function b(t, e) {
656            return typeof t == i ? t.apply(e && e[0] || m, e) : t
657        }
658        function w(t, e) {
659            return t === m ? e : t
660        }
661        function T(e, t, i) {
662            u(_(t), function (t) {
663                e.addEventListener(t, i, !1)
664            })
665        }
666        function C(e, t, i) {
667            u(_(t), function (t) {
668                e.removeEventListener(t, i, !1)
669            })
670        }
671        function E(t, e) {
672            for (; t;) {
673                if (t == e) return !0;
674                t = t.parentNode
675            }
676            return !1
677        }
678        function x(t, e) {
679            return -1 < t.indexOf(e)
680        }
681        function _(t) {
682            return t.trim().split(/\s+/g)
683        }
684        function S(t, e, i) {
685            if (t.indexOf && !i) return t.indexOf(e);
686            for (var n = 0; n < t.length;) {
687                if (i && t[n][i] == e || !i && t[n] === e) return n;
688                n++
689            }
690            return -1
691        }
692        function A(t) {
693            return Array.prototype.slice.call(t, 0)
694        }
695        function k(t, i, e) {
696            for (var n = [], o = [], r = 0; r < t.length;) {
697                var s = i ? t[r][i] : t[r];
698                S(o, s) < 0 && n.push(t[r]),
699                    o[r] = s,
700                    r++
701            }
702            return e && (n = i ? n.sort(function (t, e) {
703                return t[i] > e[i]
704            }) : n.sort()),
705                n
706        }
707        function I(t, e) {
708            for (var i, n, o = e[0].toUpperCase() + e.slice(1), r = 0; r < l.length;) {
709                if ((n = (i = l[r]) ? i + o : e) in t) return n;
710                r++
711            }
712            return m
713        }
714        var P = 1;
715
716        function D(t) {
717            var e = t.ownerDocument || t;
718            return e.defaultView || e.parentWindow || r
719        }
720        var M = "ontouchstart" in r,
721            N = I(r, "PointerEvent") !== m,
722            H = M && /mobile|tablet|ip(ad|hone|od)|android/i.test(navigator.userAgent),
723            O = "touch",
724            F = "mouse",
725            j = 25,
726            W = 1,
727            R = 4,
vendor: 8,850 bytes, lines 728-953
728            z = 8,
729            Y = 1,
730            X = 2,
731            Q = 4,
732            q = 8,
733            L = 16,
734            V = X | Q,
735            B = q | L,
736            U = V | B,
737            G = ["x", "y"],
738            K = ["clientX", "clientY"];
739
740        function Z(e, t) {
741            var i = this;
742            this.manager = e,
743                this.callback = t,
744                this.element = e.element,
745                this.target = e.options.inputTarget,
746                this.domHandler = function (t) {
747                    b(e.options.enable, [e]) && i.handler(t)
748                },
749                this.init()
750        }
751        function $(t, e, i) {
752            var n = i.pointers.length,
753                o = i.changedPointers.length,
754                r = e & W && n - o == 0,
755                s = e & (R | z) && n - o == 0;
756            i.isFirst = !! r,
757                i.isFinal = !! s,
758            r && (t.session = {}),
759                i.eventType = e,
760
761
762                function (t, e) {
763                    var i = t.session,
764                        n = e.pointers,
765                        o = n.length;
766                    i.firstInput || (i.firstInput = J(e));
767                    1 < o && !i.firstMultiple ? i.firstMultiple = J(e) : 1 === o && (i.firstMultiple = !1);
768                    var r = i.firstInput,
769                        s = i.firstMultiple,
770                        a = s ? s.center : r.center,
771                        l = e.center = tt(n);
772                    e.timeStamp = g(),
773                        e.deltaTime = e.timeStamp - r.timeStamp,
774                        e.angle = ot(a, l),
775                        e.distance = nt(a, l),
776
777
778                        function (t, e) {
779                            var i = e.center,
780                                n = t.offsetDelta || {},
781                                o = t.prevDelta || {},
782                                r = t.prevInput || {};
783                            e.eventType !== W && r.eventType !== R || (o = t.prevDelta = {
784                                x: r.deltaX || 0,
785                                y: r.deltaY || 0
786                            }, n = t.offsetDelta = {
787                                x: i.x,
788                                y: i.y
789                            });
790                            e.deltaX = o.x + (i.x - n.x),
791                                e.deltaY = o.y + (i.y - n.y)
792                        }(i, e),
793                        e.offsetDirection = it(e.deltaX, e.deltaY);
794                    var c = et(e.deltaTime, e.deltaX, e.deltaY);
795                    e.overallVelocityX = c.x,
796                        e.overallVelocityY = c.y,
797                        e.overallVelocity = v(c.x) > v(c.y) ? c.x : c.y,
798                        e.scale = s ? (p = s.pointers, d = n, nt(d[0], d[1], K) / nt(p[0], p[1], K)) : 1,
799                        e.rotation = s ? (h = s.pointers, u = n, ot(u[1], u[0], K) + ot(h[1], h[0], K)) : 0,
800                        e.maxPointers = i.prevInput ? e.pointers.length > i.prevInput.maxPointers ? e.pointers.length : i.prevInput.maxPointers : e.pointers.length,
801
802
803                        function (t, e) {
804                            var i, n, o, r, s = t.lastInterval || e,
805                                a = e.timeStamp - s.timeStamp;
806                            if (e.eventType != z && (j < a || s.velocity === m)) {
807                                var l = e.deltaX - s.deltaX,
808                                    c = e.deltaY - s.deltaY,
809                                    h = et(a, l, c);
810                                n = h.x,
811                                    o = h.y,
812                                    i = v(h.x) > v(h.y) ? h.x : h.y,
813                                    r = it(l, c),
814                                    t.lastInterval = e
815                            } else i = s.velocity,
816                                n = s.velocityX,
817                                o = s.velocityY,
818                                r = s.direction;
819                            e.velocity = i,
820                                e.velocityX = n,
821                                e.velocityY = o,
822                                e.direction = r
823                        }(i, e);
824                    var h, u;
825                    var p, d;
826                    var f = t.element;
827                    E(e.srcEvent.target, f) && (f = e.srcEvent.target);
828                    e.target = f
829                }(t, i),
830                t.emit("hammer.input", i),
831                t.recognize(i),
832                t.session.prevInput = i
833        }
834        function J(t) {
835            for (var e = [], i = 0; i < t.pointers.length;) e[i] = {
836                clientX: c(t.pointers[i].clientX),
837                clientY: c(t.pointers[i].clientY)
838            },
839                i++;
840            return {
841                timeStamp: g(),
842                pointers: e,
843                center: tt(e),
844                deltaX: t.deltaX,
845                deltaY: t.deltaY
846            }
847        }
848        function tt(t) {
849            var e = t.length;
850            if (1 === e) return {
851                x: c(t[0].clientX),
852                y: c(t[0].clientY)
853            };
854            for (var i = 0, n = 0, o = 0; o < e;) i += t[o].clientX,
855                n += t[o].clientY,
856                o++;
857            return {
858                x: c(i / e),
859                y: c(n / e)
860            }
861        }
862        function et(t, e, i) {
863            return {
864                x: e / t || 0,
865                y: i / t || 0
866            }
867        }
868        function it(t, e) {
869            return t === e ? Y : v(t) >= v(e) ? t < 0 ? X : Q : e < 0 ? q : L
870        }
871        function nt(t, e, i) {
872            i || (i = G);
873            var n = e[i[0]] - t[i[0]],
874                o = e[i[1]] - t[i[1]];
875            return Math.sqrt(n * n + o * o)
876        }
877        function ot(t, e, i) {
878            i || (i = G);
879            var n = e[i[0]] - t[i[0]],
880                o = e[i[1]] - t[i[1]];
881            return 180 * Math.atan2(o, n) / Math.PI
882        }
883        Z.prototype = {
884            handler: function () {},
885            init: function () {
886                this.evEl && T(this.element, this.evEl, this.domHandler),
887                this.evTarget && T(this.target, this.evTarget, this.domHandler),
888                this.evWin && T(D(this.element), this.evWin, this.domHandler)
889            },
890            destroy: function () {
891                this.evEl && C(this.element, this.evEl, this.domHandler),
892                this.evTarget && C(this.target, this.evTarget, this.domHandler),
893                this.evWin && C(D(this.element), this.evWin, this.domHandler)
894            }
895        };
896        var rt = {
897                mousedown: W,
898                mousemove: 2,
899                mouseup: R
900            },
901            st = "mousedown",
902            at = "mousemove mouseup";
903
904        function lt() {
905            this.evEl = st,
906                this.evWin = at,
907                this.pressed = !1,
908                Z.apply(this, arguments)
909        }
910        f(lt, Z, {
911            handler: function (t) {
912                var e = rt[t.type];
913                e & W && 0 === t.button && (this.pressed = !0),
914                2 & e && 1 !== t.which && (e = R),
915                this.pressed && (e & R && (this.pressed = !1), this.callback(this.manager, e, {
916                    pointers: [t],
917                    changedPointers: [t],
918                    pointerType: F,
919                    srcEvent: t
920                }))
921            }
922        });
923        var ct = {
924                pointerdown: W,
925                pointermove: 2,
926                pointerup: R,
927                pointercancel: z,
928                pointerout: z
929            },
930            ht = {
931                2: O,
932                3: "pen",
933                4: F,
934                5: "kinect"
935            },
936            ut = "pointerdown",
937            pt = "pointermove pointerup pointercancel";
938
939        function dt() {
940            this.evEl = ut,
941                this.evWin = pt,
942                Z.apply(this, arguments),
943                this.store = this.manager.session.pointerEvents = []
944        }
945        r.MSPointerEvent && !r.PointerEvent && (ut = "MSPointerDown", pt = "MSPointerMove MSPointerUp MSPointerCancel"),
946            f(dt, Z, {
947                handler: function (t) {
948                    var e = this.store,
949                        i = !1,
950                        n = t.type.toLowerCase().replace("ms", ""),
951                        o = ct[n],
952                        r = ht[t.pointerType] || t.pointerType,
953                        s = r == O,
954                        a = S(e, t.pointerId, "pointerId");
955                    o & W && (0 === t.button || s) ? a < 0 && (e.push(t), a = e.length - 1) : o & (R | z) && (i = !0),
956                    a < 0 || (e[a] = t, this.callback(this.manager, o, {
957                        pointers: e,
958                        changedPointers: [t],
959                        pointerType: r,
960                        srcEvent: t
961                    }), i && e.splice(a, 1))
962                }
963            });
964        var ft = {
965            touchstart: W,
966            touchmove: 2,
967            touchend: R,
968            touchcancel: z
969        };
970
971        function mt() {
972            this.evTarget = "touchstart",
973                this.evWin = "touchstart touchmove touchend touchcancel",
974                this.started = !1,
975                Z.apply(this, arguments)
976        }
977        f(mt, Z, {
978            handler: function (t) {
979                var e = ft[t.type];
980                if (e === W && (this.started = !0), this.started) {
981                    var i = function (t, e) {
982                        var i = A(t.touches),
983                            n = A(t.changedTouches);
984                        e & (R | z) && (i = k(i.concat(n), "identifier", !0));
985                        return [i, n]
986                    }.call(this, t, e);
987                    e & (R | z) && i[0].length - i[1].length == 0 && (this.started = !1),
988                        this.callback(this.manager, e, {
989                            pointers: i[0],
990                            changedPointers: i[1],
991                            pointerType: O,
992                            srcEvent: t
993                        })
994                }
995            }
996        });
997        var vt = {
998                touchstart: W,
999                touchmove: 2,
1000                touchend: R,
1001                touchcancel: z
1002            },
1003            gt = "touchstart touchmove touchend touchcancel";
1004
1005        function yt() {
1006            this.evTarget = gt,
1007                this.targetIds = {},
1008                Z.apply(this, arguments)
1009        }
1010        f(yt, Z, {
1011            handler: function (t) {
1012                var e = vt[t.type],
1013                    i = function (t, e) {
1014                        var i = A(t.touches),
1015                            n = this.targetIds;
1016                        if (e & (2 | W) && 1 === i.length) return n[i[0].identifier] = !0,
1017                            [i, i];
1018                        var o, r, s = A(t.changedTouches),
1019                            a = [],
1020                            l = this.target;
1021                        if (r = i.filter(function (t) {
1022                            return E(t.target, l)
1023                        }), e === W) for (o = 0; o < r.length;) n[r[o].identifier] = !0,
1024                            o++;
1025                        o = 0;
1026                        for (; o < s.length;) n[s[o].identifier] && a.push(s[o]),
1027                        e & (R | z) && delete n[s[o].identifier],
1028                            o++;
1029                        return a.length ? [k(r.concat(a), "identifier", !0), a] : void 0
1030                    }.call(this, t, e);
1031                i && this.callback(this.manager, e, {
1032                    pointers: i[0],
1033                    changedPointers: i[1],
1034                    pointerType: O,
1035                    srcEvent: t
1036                })
1037            }
1038        });
1039        var bt = 2500;
1040
1041        function wt() {
1042            Z.apply(this, arguments);
1043            var t = y(this.handler, this);
1044            this.touch = new yt(this.manager, t),
1045                this.mouse = new lt(this.manager, t),
1046                this.primaryTouch = null,
1047                this.lastTouches = []
1048        }
1049        function Tt(t) {
1050            var e = t.changedPointers[0];
1051            if (e.identifier === this.primaryTouch) {
1052                var i = {
1053                    x: e.clientX,
1054                    y: e.clientY
1055                };
1056                this.lastTouches.push(i);
1057                var n = this.lastTouches;
1058                setTimeout(function () {
1059                    var t = n.indexOf(i); - 1 < t && n.splice(t, 1)
1060                }, bt)
1061            }
1062        }
1063        f(wt, Z, {
1064            handler: function (t, e, i) {
1065                var n = i.pointerType == O,
1066                    o = i.pointerType == F;
1067                if (!(o && i.sourceCapabilities && i.sourceCapabilities.firesTouchEvents)) {
1068                    if (n)(function (t, e) {
1069                        t & W ? (this.primaryTouch = e.changedPointers[0].identifier, Tt.call(this, e)) : t & (R | z) && Tt.call(this, e)
1070                    }).call(this, e, i);
1071                    else if (o &&
1072                        function (t) {
1073                            for (var e = t.srcEvent.clientX, i = t.srcEvent.clientY, n = 0; n < this.lastTouches.length; n++) {
1074                                var o = this.lastTouches[n],
1075                                    r = Math.abs(e - o.x),
1076                                    s = Math.abs(i - o.y);
1077                                if (r <= 25 && s <= 25) return !0
1078                            }
1079                            return !1
1080                        }.call(this, i)) return;
1081                    this.callback(t, e, i)
1082                }
1083            },
1084            destroy: function () {
1085                this.touch.destroy(),
1086                    this.mouse.destroy()
1087            }
1088        });
1089        var Ct = I(e.style, "touchAction"),
1090            Et = Ct !== m,
1091            xt = "compute",
1092            _t = "manipulation",
1093            St = "none",
1094            At = "pan-x",
1095            kt = "pan-y",
1096            It = function () {
1097                if (!Et) return !1;
1098                var e = {},
1099                    i = r.CSS && r.CSS.supports;
1100                return ["auto", "manipulation", "pan-y", "pan-x", "pan-x pan-y", "none"].forEach(function (t) {
1101                    e[t] = !i || r.CSS.supports("touch-action", t)
1102                }),
1103                    e
1104            }();
1105
1106        function Pt(t, e) {
1107            this.manager = t,
1108                this.set(e)
1109        }
1110        Pt.prototype = {
1111            set: function (t) {
1112                t == xt && (t = this.compute()),
1113                Et && this.manager.element.style && It[t] && (this.manager.element.style[Ct] = t),
1114                    this.actions = t.toLowerCase().trim()
1115            },
1116            update: function () {
1117                this.set(this.manager.options.touchAction)
1118            },
1119            compute: function () {
1120                var e = [];
1121                return u(this.manager.recognizers, function (t) {
1122                    b(t.options.enable, [t]) && (e = e.concat(t.getTouchAction()))
1123                }),
1124
1125
1126                    function (t) {
1127                        if (x(t, St)) return St;
1128                        var e = x(t, At),
1129                            i = x(t, kt);
1130                        if (e && i) return St;
1131                        if (e || i) return e ? At : kt;
1132                        if (x(t, _t)) return _t;
1133                        return "auto"
1134                    }(e.join(" "))
1135            },
1136            preventDefaults: function (t) {
1137                var e = t.srcEvent,
1138                    i = t.offsetDirection;
1139                if (this.manager.session.prevented) e.preventDefault();
1140                else {
1141                    var n = this.actions,
1142                        o = x(n, St) && !It[St],
1143                        r = x(n, kt) && !It[kt],
1144                        s = x(n, At) && !It[At];
1145                    if (o) {
1146                        var a = 1 === t.pointers.length,
1147                            l = t.distance < 2,
1148                            c = t.deltaTime < 250;
1149                        if (a && l && c) return
1150                    }
1151                    if (!s || !r) return o || r && i & V || s && i & B ? this.preventSrc(e) : void 0
1152                }
1153            },
1154            preventSrc: function (t) {
1155                this.manager.session.prevented = !0,
1156                    t.preventDefault()
1157            }
1158        };
1159        var Dt = 1;
1160
1161        function Mt(t) {
1162            this.options = s({}, this.defaults, t || {}),
1163                this.id = P++,
1164                this.manager = null,
1165                this.options.enable = w(this.options.enable, !0),
1166                this.state = Dt,
1167                this.simultaneous = {},
1168                this.requireFail = []
1169        }
1170        function Nt(t) {
1171            return 16 & t ? "cancel" : 8 & t ? "end" : 4 & t ? "move" : 2 & t ? "start" : ""
1172        }
1173        function Ht(t) {
1174            return t == L ? "down" : t == q ? "up" : t == X ? "left" : t == Q ? "right" : ""
1175        }
1176        function Ot(t, e) {
1177            var i = e.manager;
1178            return i ? i.get(t) : t
1179        }
1180        function Ft() {
1181            Mt.apply(this, arguments)
1182        }
1183        function jt() {
vendor: 15,356 bytes, lines 1184-1551
1184            Ft.apply(this, arguments),
1185                this.pX = null,
1186                this.pY = null
1187        }
1188        function Wt() {
1189            Ft.apply(this, arguments)
1190        }
1191        function Rt() {
1192            Mt.apply(this, arguments),
1193                this._timer = null,
1194                this._input = null
1195        }
1196        function zt() {
1197            Ft.apply(this, arguments)
1198        }
1199        function Yt() {
1200            Ft.apply(this, arguments)
1201        }
1202        function Xt() {
1203            Mt.apply(this, arguments),
1204                this.pTime = !1,
1205                this.pCenter = !1,
1206                this._timer = null,
1207                this._input = null,
1208                this.count = 0
1209        }
1210        function Qt(t, e) {
1211            return (e = e || {}).recognizers = w(e.recognizers, Qt.defaults.preset),
1212                new qt(t, e)
1213        }
1214        Mt.prototype = {
1215            defaults: {},
1216            set: function (t) {
1217                return s(this.options, t),
1218                this.manager && this.manager.touchAction.update(),
1219                    this
1220            },
1221            recognizeWith: function (t) {
1222                if (n(t, "recognizeWith", this)) return this;
1223                var e = this.simultaneous;
1224                return e[(t = Ot(t, this)).id] || (e[t.id] = t).recognizeWith(this),
1225                    this
1226            },
1227            dropRecognizeWith: function (t) {
1228                return n(t, "dropRecognizeWith", this) || (t = Ot(t, this), delete this.simultaneous[t.id]),
1229                    this
1230            },
1231            requireFailure: function (t) {
1232                if (n(t, "requireFailure", this)) return this;
1233                var e = this.requireFail;
1234                return -1 === S(e, t = Ot(t, this)) && (e.push(t), t.requireFailure(this)),
1235                    this
1236            },
1237            dropRequireFailure: function (t) {
1238                if (n(t, "dropRequireFailure", this)) return this;
1239                t = Ot(t, this);
1240                var e = S(this.requireFail, t);
1241                return -1 < e && this.requireFail.splice(e, 1),
1242                    this
1243            },
1244            hasRequireFailures: function () {
1245                return 0 < this.requireFail.length
1246            },
1247            canRecognizeWith: function (t) {
1248                return !!this.simultaneous[t.id]
1249            },
1250            emit: function (e) {
1251                var i = this,
1252                    t = this.state;
1253
1254                function n(t) {
1255                    i.manager.emit(t, e)
1256                }
1257                t < 8 && n(i.options.event + Nt(t)),
1258                    n(i.options.event),
1259                e.additionalEvent && n(e.additionalEvent),
1260                8 <= t && n(i.options.event + Nt(t))
1261            },
1262            tryEmit: function (t) {
1263                if (this.canEmit()) return this.emit(t);
1264                this.state = 32
1265            },
1266            canEmit: function () {
1267                for (var t = 0; t < this.requireFail.length;) {
1268                    if (!(this.requireFail[t].state & (32 | Dt))) return !1;
1269                    t++
1270                }
1271                return !0
1272            },
1273            recognize: function (t) {
1274                var e = s({}, t);
1275                if (!b(this.options.enable, [this, e])) return this.reset(),
1276                    void(this.state = 32);
1277                56 & this.state && (this.state = Dt),
1278                    this.state = this.process(e),
1279                30 & this.state && this.tryEmit(e)
1280            },
1281            process: function (t) {},
1282            getTouchAction: function () {},
1283            reset: function () {}
1284        },
1285            f(Ft, Mt, {
1286                defaults: {
1287                    pointers: 1
1288                },
1289                attrTest: function (t) {
1290                    var e = this.options.pointers;
1291                    return 0 === e || t.pointers.length === e
1292                },
1293                process: function (t) {
1294                    var e = this.state,
1295                        i = t.eventType,
1296                        n = 6 & e,
1297                        o = this.attrTest(t);
1298                    return n && (i & z || !o) ? 16 | e : n || o ? i & R ? 8 | e : 2 & e ? 4 | e : 2 : 32
1299                }
1300            }),
1301            f(jt, Ft, {
1302                defaults: {
1303                    event: "pan",
1304                    threshold: 10,
1305                    pointers: 1,
1306                    direction: U
1307                },
1308                getTouchAction: function () {
1309                    var t = this.options.direction,
1310                        e = [];
1311                    return t & V && e.push(kt),
1312                    t & B && e.push(At),
1313                        e
1314                },
1315                directionTest: function (t) {
1316                    var e = this.options,
1317                        i = !0,
1318                        n = t.distance,
1319                        o = t.direction,
1320                        r = t.deltaX,
1321                        s = t.deltaY;
1322                    return o & e.direction || (n = e.direction & V ? (o = 0 === r ? Y : r < 0 ? X : Q, i = r != this.pX, Math.abs(t.deltaX)) : (o = 0 === s ? Y : s < 0 ? q : L, i = s != this.pY, Math.abs(t.deltaY))),
1323                        t.direction = o,
1324                    i && n > e.threshold && o & e.direction
1325                },
1326                attrTest: function (t) {
1327                    return Ft.prototype.attrTest.call(this, t) && (2 & this.state || !(2 & this.state) && this.directionTest(t))
1328                },
1329                emit: function (t) {
1330                    this.pX = t.deltaX,
1331                        this.pY = t.deltaY;
1332                    var e = Ht(t.direction);
1333                    e && (t.additionalEvent = this.options.event + e),
1334                        this._super.emit.call(this, t)
1335                }
1336            }),
1337            f(Wt, Ft, {
1338                defaults: {
1339                    event: "pinch",
1340                    threshold: 0,
1341                    pointers: 2
1342                },
1343                getTouchAction: function () {
1344                    return [St]
1345                },
1346                attrTest: function (t) {
1347                    return this._super.attrTest.call(this, t) && (Math.abs(t.scale - 1) > this.options.threshold || 2 & this.state)
1348                },
1349                emit: function (t) {
1350                    if (1 !== t.scale) {
1351                        var e = t.scale < 1 ? "in" : "out";
1352                        t.additionalEvent = this.options.event + e
1353                    }
1354                    this._super.emit.call(this, t)
1355                }
1356            }),
1357            f(Rt, Mt, {
1358                defaults: {
1359                    event: "press",
1360                    pointers: 1,
1361                    time: 251,
1362                    threshold: 9
1363                },
1364                getTouchAction: function () {
1365                    return ["auto"]
1366                },
1367                process: function (t) {
1368                    var e = this.options,
1369                        i = t.pointers.length === e.pointers,
1370                        n = t.distance < e.threshold,
1371                        o = t.deltaTime > e.time;
1372                    if (this._input = t, !n || !i || t.eventType & (R | z) && !o) this.reset();
1373                    else if (t.eventType & W) this.reset(),
1374                        this._timer = h(function () {
1375                            this.state = 8,
1376                                this.tryEmit()
1377                        }, e.time, this);
1378                    else if (t.eventType & R) return 8;
1379                    return 32
1380                },
1381                reset: function () {
1382                    clearTimeout(this._timer)
1383                },
1384                emit: function (t) {
1385                    8 === this.state && (t && t.eventType & R ? this.manager.emit(this.options.event + "up", t) : (this._input.timeStamp = g(), this.manager.emit(this.options.event, this._input)))
1386                }
1387            }),
1388            f(zt, Ft, {
1389                defaults: {
1390                    event: "rotate",
1391                    threshold: 0,
1392                    pointers: 2
1393                },
1394                getTouchAction: function () {
1395                    return [St]
1396                },
1397                attrTest: function (t) {
1398                    return this._super.attrTest.call(this, t) && (Math.abs(t.rotation) > this.options.threshold || 2 & this.state)
1399                }
1400            }),
1401            f(Yt, Ft, {
1402                defaults: {
1403                    event: "swipe",
1404                    threshold: 10,
1405                    velocity: .3,
1406                    direction: V | B,
1407                    pointers: 1
1408                },
1409                getTouchAction: function () {
1410                    return jt.prototype.getTouchAction.call(this)
1411                },
1412                attrTest: function (t) {
1413                    var e, i = this.options.direction;
1414                    return i & (V | B) ? e = t.overallVelocity : i & V ? e = t.overallVelocityX : i & B && (e = t.overallVelocityY),
1415                    this._super.attrTest.call(this, t) && i & t.offsetDirection && t.distance > this.options.threshold && t.maxPointers == this.options.pointers && v(e) > this.options.velocity && t.eventType & R
1416                },
1417                emit: function (t) {
1418                    var e = Ht(t.offsetDirection);
1419                    e && this.manager.emit(this.options.event + e, t),
1420                        this.manager.emit(this.options.event, t)
1421                }
1422            }),
1423            f(Xt, Mt, {
1424                defaults: {
1425                    event: "tap",
1426                    pointers: 1,
1427                    taps: 1,
1428                    interval: 300,
1429                    time: 250,
1430                    threshold: 9,
1431                    posThreshold: 10
1432                },
1433                getTouchAction: function () {
1434                    return [_t]
1435                },
1436                process: function (t) {
1437                    var e = this.options,
1438                        i = t.pointers.length === e.pointers,
1439                        n = t.distance < e.threshold,
1440                        o = t.deltaTime < e.time;
1441                    if (this.reset(), t.eventType & W && 0 === this.count) return this.failTimeout();
1442                    if (n && o && i) {
1443                        if (t.eventType != R) return this.failTimeout();
1444                        var r = !this.pTime || t.timeStamp - this.pTime < e.interval,
1445                            s = !this.pCenter || nt(this.pCenter, t.center) < e.posThreshold;
1446                        if (this.pTime = t.timeStamp, this.pCenter = t.center, s && r ? this.count += 1 : this.count = 1, this._input = t, 0 === this.count % e.taps) return this.hasRequireFailures() ? (this._timer = h(function () {
1447                            this.state = 8,
1448                                this.tryEmit()
1449                        }, e.interval, this), 2) : 8
1450                    }
1451                    return 32
1452                },
1453                failTimeout: function () {
1454                    return this._timer = h(function () {
1455                        this.state = 32
1456                    }, this.options.interval, this),
1457                        32
1458                },
1459                reset: function () {
1460                    clearTimeout(this._timer)
1461                },
1462                emit: function () {
1463                    8 == this.state && (this._input.tapCount = this.count, this.manager.emit(this.options.event, this._input))
1464                }
1465            }),
1466            Qt.VERSION = "2.0.8",
1467            Qt.defaults = {
1468                domEvents: !1,
1469                touchAction: xt,
1470                enable: !0,
1471                inputTarget: null,
1472                inputClass: null,
1473                preset: [
1474                    [zt, {
1475                        enable: !1
1476                    }],
1477                    [Wt, {
1478                        enable: !1
1479                    },
1480                        ["rotate"]],
1481                    [Yt, {
1482                        direction: V
1483                    }],
1484                    [jt, {
1485                        direction: V
1486                    },
1487                        ["swipe"]],
1488                    [Xt],
1489                    [Xt, {
1490                        event: "doubletap",
1491                        taps: 2
1492                    },
1493                        ["tap"]],
1494                    [Rt]
1495                ],
1496                cssProps: {
1497                    userSelect: "none",
1498                    touchSelect: "none",
1499                    touchCallout: "none",
1500                    contentZooming: "none",
1501                    userDrag: "none",
1502                    tapHighlightColor: "rgba(0,0,0,0)"
1503                }
1504            };
1505
1506        function qt(t, e) {
1507            var i;
1508            this.options = s({}, Qt.defaults, e || {}),
1509                this.options.inputTarget = this.options.inputTarget || t,
1510                this.handlers = {},
1511                this.session = {},
1512                this.recognizers = [],
1513                this.oldCssProps = {},
1514                this.element = t,
1515                this.input = new((i = this).options.inputClass || (N ? dt : H ? yt : M ? wt : lt))(i, $),
1516                this.touchAction = new Pt(this, this.options.touchAction),
1517                Lt(this, !0),
1518                u(this.options.recognizers, function (t) {
1519                    var e = this.add(new t[0](t[1]));
1520                    t[2] && e.recognizeWith(t[2]),
1521                    t[3] && e.requireFailure(t[3])
1522                }, this)
1523        }
1524        function Lt(i, n) {
1525            var o, r = i.element;
1526            r.style && (u(i.options.cssProps, function (t, e) {
1527                o = I(r.style, e),
1528                    r.style[o] = n ? (i.oldCssProps[o] = r.style[o], t) : i.oldCssProps[o] || ""
1529            }), n || (i.oldCssProps = {}))
1530        }
1531        qt.prototype = {
1532            set: function (t) {
1533                return s(this.options, t),
1534                t.touchAction && this.touchAction.update(),
1535                t.inputTarget && (this.input.destroy(), this.input.target = t.inputTarget, this.input.init()),
1536                    this
1537            },
1538            stop: function (t) {
1539                this.session.stopped = t ? 2 : 1
1540            },
1541            recognize: function (t) {
1542                var e = this.session;
1543                if (!e.stopped) {
1544                    var i;
1545                    this.touchAction.preventDefaults(t);
1546                    var n = this.recognizers,
1547                        o = e.curRecognizer;
1548                    (!o || o && 8 & o.state) && (o = e.curRecognizer = null);
1549                    for (var r = 0; r < n.length;) i = n[r],
1550                        2 === e.stopped || o && i != o && !i.canRecognizeWith(o) ? i.reset() : i.recognize(t),
1551                    !o && 14 & i.state && (o = e.curRecognizer = i
1551),
1552                        r++
1553                }
1554            },
1555            get: function (t) {
1556                if (t instanceof Mt) return t;
1557                for (var e = this.recognizers, i = 0; i < e.length; i++) if (e[i].options.event == t) return e[i];
1558                return null
1559            },
1560            add: function (t) {
1561                if (n(t, "add", this)) return this;
1562                var e = this.get(t.options.event);
1563                return e && this.remove(e),
1564                    this.recognizers.push(t),
1565                    (t.manager = this).touchAction.update(),
1566                    t
1567            },
1568            remove: function (t) {
1569                if (n(t, "remove", this)) return this;
1570                if (t = this.get(t)) {
1571                    var e = this.recognizers,
1572                        i = S(e, t); - 1 !== i && (e.splice(i, 1), this.touchAction.update())
1573                }
1574                return this
1575            },
1576            on: function (t, e) {
1577                if (t !== m && e !== m) {
1578                    var i = this.handlers;
1579                    return u(_(t), function (t) {
1580                        i[t] = i[t] || [],
1581                            i[t].push(e)
1582                    }),
1583                        this
1584                }
1585            },
1586            off: function (t, e) {
1587                if (t !== m) {
1588                    var i = this.handlers;
1589                    return u(_(t), function (t) {
1590                        e ? i[t] && i[t].splice(S(i[t], e), 1) : delete i[t]
1591                    }),
1592                        this
1593                }
1594            },
1595            emit: function (t, e) {
1596                var i, n, o;
1597                this.options.domEvents && (i = t, n = e, (o = a.createEvent("Event")).initEvent(i, !0, !0), (o.gesture = n).target.dispatchEvent(o));
1598                var r = this.handlers[t] && this.handlers[t].slice();
1599                if (r && r.length) {
1600                    e.type = t,
1601                        e.preventDefault = function () {
1602                            e.srcEvent.preventDefault()
1603                        };
1604                    for (var s = 0; s < r.length;) r[s](e),
1605                        s++
1606                }
1607            },
1608            destroy: function () {
1609                this.element && Lt(this, !1),
1610                    this.handlers = {},
1611                    this.session = {},
1612                    this.input.destroy(),
1613                    this.element = null
1614            }
1615        },
1616            s(Qt, {
1617                INPUT_START: W,
1618                INPUT_MOVE: 2,
1619                INPUT_END: R,
1620                INPUT_CANCEL: z,
1621                STATE_POSSIBLE: Dt,
1622                STATE_BEGAN: 2,
1623                STATE_CHANGED: 4,
1624                STATE_ENDED: 8,
1625                STATE_RECOGNIZED: 8,
1626                STATE_CANCELLED: 16,
1627                STATE_FAILED: 32,
1628                DIRECTION_NONE: Y,
1629                DIRECTION_LEFT: X,
1630                DIRECTION_RIGHT: Q,
1631                DIRECTION_UP: q,
1632                DIRECTION_DOWN: L,
1633                DIRECTION_HORIZONTAL: V,
1634                DIRECTION_VERTICAL: B,
1635                DIRECTION_ALL: U,
1636                Manager: qt,
1637                Input: Z,
1638                TouchAction: Pt,
1639                TouchInput: yt,
1640                MouseInput: lt,
1641                PointerEventInput: dt,
1642                TouchMouseInput: wt,
1643                SingleTouchInput: mt,
1644                Recognizer: Mt,
1645                AttrRecognizer: Ft,
1646                Tap: Xt,
1647                Pan: jt,
1648                Swipe: Yt,
1649                Pinch: Wt,
1650                Rotate: zt,
1651                Press: Rt,
1652                on: T,
1653                off: C,
1654                each: u,
1655                merge: d,
1656                extend: p,
1657                assign: s,
1658                inherit: f,
1659                bindFn: y,
1660                prefixed: I
1661            }),
1662            (void 0 !== r ? r : "undefined" != typeof self ? self : {}).Hammer = Qt,
1663            "function" == typeof define && define.amd ? define(function () {
1664                return Qt
1665            }) : "undefined" != typeof module && module.exports ? module.exports = Qt : r.Hammer = Qt
1666    }(window, document);

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.