HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux wordpress-ubuntu-s-2vcpu-4gb-fra1-01 5.4.0-169-generic #187-Ubuntu SMP Thu Nov 23 14:52:28 UTC 2023 x86_64
User: root (0)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/dinamo-shop/wp-content/cache/minify/2b4c4.js_old
jQuery(function(r){if("undefined"==typeof wc_cart_fragments_params)return!1;var t=!0,o=wc_cart_fragments_params.cart_hash_key;try{t="sessionStorage"in window&&null!==window.sessionStorage,window.sessionStorage.setItem("wc","test"),window.sessionStorage.removeItem("wc"),window.localStorage.setItem("wc","test"),window.localStorage.removeItem("wc")}catch(f){t=!1}function a(){t&&sessionStorage.setItem("wc_cart_created",(new Date).getTime())}function s(e){t&&(localStorage.setItem(o,e),sessionStorage.setItem(o,e))}var e={url:wc_cart_fragments_params.wc_ajax_url.toString().replace("%%endpoint%%","get_refreshed_fragments"),type:"POST",data:{time:(new Date).getTime()},timeout:wc_cart_fragments_params.request_timeout,success:function(e){e&&e.fragments&&(r.each(e.fragments,function(e,t){r(e).replaceWith(t)}),t&&(sessionStorage.setItem(wc_cart_fragments_params.fragment_name,JSON.stringify(e.fragments)),s(e.cart_hash),e.cart_hash&&a()),r(document.body).trigger("wc_fragments_refreshed"))},error:function(){r(document.body).trigger("wc_fragments_ajax_error")}};function n(){r.ajax(e)}if(t){var i=null;r(document.body).on("wc_fragment_refresh updated_wc_div",function(){n()}),r(document.body).on("added_to_cart removed_from_cart",function(e,t,r){var n=sessionStorage.getItem(o);null!==n&&n!==undefined&&""!==n||a(),sessionStorage.setItem(wc_cart_fragments_params.fragment_name,JSON.stringify(t)),s(r)}),r(document.body).on("wc_fragments_refreshed",function(){clearTimeout(i),i=setTimeout(n,864e5)}),r(window).on("storage onstorage",function(e){o===e.originalEvent.key&&localStorage.getItem(o)!==sessionStorage.getItem(o)&&n()}),r(window).on("pageshow",function(e){e.originalEvent.persisted&&(r(".widget_shopping_cart_content").empty(),r(document.body).trigger("wc_fragment_refresh"))});try{var c=r.parseJSON(sessionStorage.getItem(wc_cart_fragments_params.fragment_name)),_=sessionStorage.getItem(o),g=Cookies.get("woocommerce_cart_hash"),m=sessionStorage.getItem("wc_cart_created");if(null!==_&&_!==undefined&&""!==_||(_=""),null!==g&&g!==undefined&&""!==g||(g=""),_&&(null===m||m===undefined||""===m))throw"No cart_created";if(m){var d=1*m+864e5,w=(new Date).getTime();if(d<w)throw"Fragment expired";i=setTimeout(n,d-w)}if(!c||!c["div.widget_shopping_cart_content"]||_!==g)throw"No fragment";r.each(c,function(e,t){r(e).replaceWith(t)}),r(document.body).trigger("wc_fragments_loaded")}catch(f){n()}}else n();0<Cookies.get("woocommerce_items_in_cart")?r(".hide_cart_widget_if_empty").closest(".widget_shopping_cart").show():r(".hide_cart_widget_if_empty").closest(".widget_shopping_cart").hide(),r(document.body).on("adding_to_cart",function(){r(".hide_cart_widget_if_empty").closest(".widget_shopping_cart").show()}),"undefined"!=typeof wp&&wp.customize&&wp.customize.selectiveRefresh&&wp.customize.widgetsPreview&&wp.customize.widgetsPreview.WidgetPartial&&wp.customize.selectiveRefresh.bind("partial-content-rendered",function(){n()})});
;"use strict";

var AJAX = {
  getProducts: function getProducts(searchTerm, hitsCount) {
    var pageNumber = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;

    var algolia = algoliasearch(util.algolia.applicationID, util.algolia.APIKey);
    var index = algolia.initIndex(util.algolia.createIndexName("webshop_products"));
    // console.log("inside ajax page number: ", pageNumber)
    var requestData = {
      query: searchTerm,
      hitsPerPage: hitsCount,
      page: pageNumber
    };

    return new Promise(function (resolve, reject) {
      index.search(requestData, function (error, content) {
        if (error) {
          reject(error);
        } else {
          resolve(content);
        }
      });
    });
  }
};
"use strict";

var util = {
  algolia: {
    applicationID: "Y71AK704IQ",
    APIKey: "06af1cafae2a61556a6e68847fb86e26",
    createIndexName: function createIndexName(indexName) {
      return window.location.hostname + "_" + indexName;
      // return "dinamoshop2019.borealis.biz" + "_" + indexName;
    }
  },
  debounce: function debounce(func, wait, immediate) {
    var timeout;
    return function () {
      var context = this,
          args = arguments;
      var later = function later() {
        timeout = null;
        if (!immediate) func.apply(context, args);
      };
      var callNow = immediate && !timeout;
      clearTimeout(timeout);
      timeout = setTimeout(later, wait);
      if (callNow) func.apply(context, args);
    };
  }
};
;"use strict";

var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };

/*! algoliasearch 3.35.1 | © 2014, 2015 Algolia SAS | github.com/algolia/algoliasearch-client-js */
!function (e) {
  var t;"undefined" != typeof window ? t = window : "undefined" != typeof self && (t = self), t.ALGOLIA_MIGRATION_LAYER = e();
}(function () {
  return function e(t, r, o) {
    function n(s, a) {
      if (!r[s]) {
        if (!t[s]) {
          var c = "function" == typeof require && require;if (!a && c) return c(s, !0);if (i) return i(s, !0);var u = new Error("Cannot find module '" + s + "'");throw u.code = "MODULE_NOT_FOUND", u;
        }var l = r[s] = { exports: {} };t[s][0].call(l.exports, function (e) {
          var r = t[s][1][e];return n(r ? r : e);
        }, l, l.exports, e, t, r, o);
      }return r[s].exports;
    }for (var i = "function" == typeof require && require, s = 0; s < o.length; s++) {
      n(o[s]);
    }return n;
  }({ 1: [function (e, t, r) {
      function o(e, t) {
        for (var r in t) {
          e.setAttribute(r, t[r]);
        }
      }function n(e, t) {
        e.onload = function () {
          this.onerror = this.onload = null, t(null, e);
        }, e.onerror = function () {
          this.onerror = this.onload = null, t(new Error("Failed to load " + this.src), e);
        };
      }function i(e, t) {
        e.onreadystatechange = function () {
          "complete" != this.readyState && "loaded" != this.readyState || (this.onreadystatechange = null, t(null, e));
        };
      }t.exports = function (e, t, r) {
        var s = document.head || document.getElementsByTagName("head")[0],
            a = document.createElement("script");"function" == typeof t && (r = t, t = {}), t = t || {}, r = r || function () {}, a.type = t.type || "text/javascript", a.charset = t.charset || "utf8", a.async = !("async" in t) || !!t.async, a.src = e, t.attrs && o(a, t.attrs), t.text && (a.text = "" + t.text);var c = "onload" in a ? n : i;c(a, r), a.onload || n(a, r), s.appendChild(a);
      };
    }, {}], 2: [function (e, t, r) {
      "use strict";
      function o(e) {
        for (var t = new RegExp("cdn\\.jsdelivr\\.net/algoliasearch/latest/" + e.replace(".", "\\.") + "(?:\\.min)?\\.js$"), r = document.getElementsByTagName("script"), o = !1, n = 0, i = r.length; n < i; n++) {
          if (r[n].src && t.test(r[n].src)) {
            o = !0;break;
          }
        }return o;
      }t.exports = o;
    }, {}], 3: [function (e, t, r) {
      "use strict";
      function o(t) {
        var r = e(1),
            o = "//cdn.jsdelivr.net/algoliasearch/2/" + t + ".min.js",
            i = "-- AlgoliaSearch `latest` warning --\nWarning, you are using the `latest` version string from jsDelivr to load the AlgoliaSearch library.\nUsing `latest` is no more recommended, you should load //cdn.jsdelivr.net/algoliasearch/2/algoliasearch.min.js\n\nAlso, we updated the AlgoliaSearch JavaScript client to V3. If you want to upgrade,\nplease read our migration guide at https://github.com/algolia/algoliasearch-client-js/wiki/Migration-guide-from-2.x.x-to-3.x.x\n-- /AlgoliaSearch  `latest` warning --";window.console && (window.console.warn ? window.console.warn(i) : window.console.log && window.console.log(i));try {
          document.write("<script>window.ALGOLIA_SUPPORTS_DOCWRITE = true</script>"), window.ALGOLIA_SUPPORTS_DOCWRITE === !0 ? (document.write('<script src="' + o + '"></script>'), n("document.write")()) : r(o, n("DOMElement"));
        } catch (s) {
          r(o, n("DOMElement"));
        }
      }function n(e) {
        return function () {
          var t = "AlgoliaSearch: loaded V2 script using " + e;window.console && window.console.log && window.console.log(t);
        };
      }t.exports = o;
    }, { 1: 1 }], 4: [function (e, t, r) {
      "use strict";
      function o() {
        var e = "-- AlgoliaSearch V2 => V3 error --\nYou are trying to use a new version of the AlgoliaSearch JavaScript client with an old notation.\nPlease read our migration guide at https://github.com/algolia/algoliasearch-client-js/wiki/Migration-guide-from-2.x.x-to-3.x.x\n-- /AlgoliaSearch V2 => V3 error --";window.AlgoliaSearch = function () {
          throw new Error(e);
        }, window.AlgoliaSearchHelper = function () {
          throw new Error(e);
        }, window.AlgoliaExplainResults = function () {
          throw new Error(e);
        };
      }t.exports = o;
    }, {}], 5: [function (e, t, r) {
      "use strict";
      function o(t) {
        var r = e(2),
            o = e(3),
            n = e(4);r(t) ? o(t) : n();
      }o("algoliasearch");
    }, { 2: 2, 3: 3, 4: 4 }] }, {}, [5])(5);
}), function (e) {
  if ("object" == (typeof exports === "undefined" ? "undefined" : _typeof(exports)) && "undefined" != typeof module) module.exports = e();else if ("function" == typeof define && define.amd) define([], e);else {
    var t;t = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self ? self : this, t.algoliasearch = e();
  }
}(function () {
  var e;return function t(e, r, o) {
    function n(s, a) {
      if (!r[s]) {
        if (!e[s]) {
          var c = "function" == typeof require && require;if (!a && c) return c(s, !0);if (i) return i(s, !0);var u = new Error("Cannot find module '" + s + "'");throw u.code = "MODULE_NOT_FOUND", u;
        }var l = r[s] = { exports: {} };e[s][0].call(l.exports, function (t) {
          var r = e[s][1][t];return n(r ? r : t);
        }, l, l.exports, t, e, r, o);
      }return r[s].exports;
    }for (var i = "function" == typeof require && require, s = 0; s < o.length; s++) {
      n(o[s]);
    }return n;
  }({ 1: [function (e, t, r) {
      (function (o) {
        function n() {
          return !("undefined" == typeof window || !window.process || "renderer" !== window.process.type) || "undefined" != typeof document && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || "undefined" != typeof window && window.console && (window.console.firebug || window.console.exception && window.console.table) || "undefined" != typeof navigator && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31 || "undefined" != typeof navigator && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/);
        }function i(e) {
          var t = this.useColors;if (e[0] = (t ? "%c" : "") + this.namespace + (t ? " %c" : " ") + e[0] + (t ? "%c " : " ") + "+" + r.humanize(this.diff), t) {
            var o = "color: " + this.color;e.splice(1, 0, o, "color: inherit");var n = 0,
                i = 0;e[0].replace(/%[a-zA-Z%]/g, function (e) {
              "%%" !== e && (n++, "%c" === e && (i = n));
            }), e.splice(i, 0, o);
          }
        }function s() {
          return "object" == (typeof console === "undefined" ? "undefined" : _typeof(console)) && console.log && Function.prototype.apply.call(console.log, console, arguments);
        }function a(e) {
          try {
            null == e ? r.storage.removeItem("debug") : r.storage.debug = e;
          } catch (t) {}
        }function c() {
          var e;try {
            e = r.storage.debug;
          } catch (t) {}return !e && "undefined" != typeof o && "env" in o && (e = o.env.DEBUG), e;
        }function u() {
          try {
            return window.localStorage;
          } catch (e) {}
        }r = t.exports = e(2), r.log = s, r.formatArgs = i, r.save = a, r.load = c, r.useColors = n, r.storage = "undefined" != typeof chrome && "undefined" != typeof chrome.storage ? chrome.storage.local : u(), r.colors = ["lightseagreen", "forestgreen", "goldenrod", "dodgerblue", "darkorchid", "crimson"], r.formatters.j = function (e) {
          try {
            return JSON.stringify(e);
          } catch (t) {
            return "[UnexpectedJSONParseError]: " + t.message;
          }
        }, r.enable(c());
      }).call(this, e(12));
    }, { 12: 12, 2: 2 }], 2: [function (e, t, r) {
      function o(e) {
        var t,
            o = 0;for (t in e) {
          o = (o << 5) - o + e.charCodeAt(t), o |= 0;
        }return r.colors[Math.abs(o) % r.colors.length];
      }function n(e) {
        function t() {
          if (t.enabled) {
            var e = t,
                o = +new Date(),
                n = o - (u || o);e.diff = n, e.prev = u, e.curr = o, u = o;for (var i = new Array(arguments.length), s = 0; s < i.length; s++) {
              i[s] = arguments[s];
            }i[0] = r.coerce(i[0]), "string" != typeof i[0] && i.unshift("%O");var a = 0;i[0] = i[0].replace(/%([a-zA-Z%])/g, function (t, o) {
              if ("%%" === t) return t;a++;var n = r.formatters[o];if ("function" == typeof n) {
                var s = i[a];t = n.call(e, s), i.splice(a, 1), a--;
              }return t;
            }), r.formatArgs.call(e, i);var c = t.log || r.log || console.log.bind(console);c.apply(e, i);
          }
        }return t.namespace = e, t.enabled = r.enabled(e), t.useColors = r.useColors(), t.color = o(e), "function" == typeof r.init && r.init(t), t;
      }function i(e) {
        r.save(e), r.names = [], r.skips = [];for (var t = ("string" == typeof e ? e : "").split(/[\s,]+/), o = t.length, n = 0; n < o; n++) {
          t[n] && (e = t[n].replace(/\*/g, ".*?"), "-" === e[0] ? r.skips.push(new RegExp("^" + e.substr(1) + "$")) : r.names.push(new RegExp("^" + e + "$")));
        }
      }function s() {
        r.enable("");
      }function a(e) {
        var t, o;for (t = 0, o = r.skips.length; t < o; t++) {
          if (r.skips[t].test(e)) return !1;
        }for (t = 0, o = r.names.length; t < o; t++) {
          if (r.names[t].test(e)) return !0;
        }return !1;
      }function c(e) {
        return e instanceof Error ? e.stack || e.message : e;
      }r = t.exports = n.debug = n["default"] = n, r.coerce = c, r.disable = s, r.enable = i, r.enabled = a, r.humanize = e(9), r.names = [], r.skips = [], r.formatters = {};var u;
    }, { 9: 9 }], 3: [function (t, r, o) {
      (function (n, i) {
        !function (t, n) {
          "object" == (typeof o === "undefined" ? "undefined" : _typeof(o)) && "undefined" != typeof r ? r.exports = n() : "function" == typeof e && e.amd ? e(n) : t.ES6Promise = n();
        }(this, function () {
          "use strict";
          function e(e) {
            var t = typeof e === "undefined" ? "undefined" : _typeof(e);return null !== e && ("object" === t || "function" === t);
          }function r(e) {
            return "function" == typeof e;
          }function o(e) {
            X = e;
          }function s(e) {
            W = e;
          }function a() {
            return function () {
              return n.nextTick(d);
            };
          }function c() {
            return "undefined" != typeof V ? function () {
              V(d);
            } : p();
          }function u() {
            var e = 0,
                t = new Z(d),
                r = document.createTextNode("");return t.observe(r, { characterData: !0 }), function () {
              r.data = e = ++e % 2;
            };
          }function l() {
            var e = new MessageChannel();return e.port1.onmessage = d, function () {
              return e.port2.postMessage(0);
            };
          }function p() {
            var e = setTimeout;return function () {
              return e(d, 1);
            };
          }function d() {
            for (var e = 0; e < $; e += 2) {
              var t = re[e],
                  r = re[e + 1];t(r), re[e] = void 0, re[e + 1] = void 0;
            }$ = 0;
          }function h() {
            try {
              var e = t,
                  r = e("vertx");return V = r.runOnLoop || r.runOnContext, c();
            } catch (o) {
              return p();
            }
          }function f(e, t) {
            var r = arguments,
                o = this,
                n = new this.constructor(m);void 0 === n[ne] && C(n);var i = o._state;return i ? !function () {
              var e = r[i - 1];W(function () {
                return U(i, n, e, o._result);
              });
            }() : I(o, n, e, t), n;
          }function y(e) {
            var t = this;if (e && "object" == (typeof e === "undefined" ? "undefined" : _typeof(e)) && e.constructor === t) return e;var r = new t(m);return R(r, e), r;
          }function m() {}function v() {
            return new TypeError("You cannot resolve a promise with itself");
          }function g() {
            return new TypeError("A promises callback cannot return that same promise.");
          }function b(e) {
            try {
              return e.then;
            } catch (t) {
              return ce.error = t, ce;
            }
          }function w(e, t, r, o) {
            try {
              e.call(t, r, o);
            } catch (n) {
              return n;
            }
          }function _(e, t, r) {
            W(function (e) {
              var o = !1,
                  n = w(r, t, function (r) {
                o || (o = !0, t !== r ? R(e, r) : j(e, r));
              }, function (t) {
                o || (o = !0, S(e, t));
              }, "Settle: " + (e._label || " unknown promise"));!o && n && (o = !0, S(e, n));
            }, e);
          }function T(e, t) {
            t._state === se ? j(e, t._result) : t._state === ae ? S(e, t._result) : I(t, void 0, function (t) {
              return R(e, t);
            }, function (t) {
              return S(e, t);
            });
          }function x(e, t, o) {
            t.constructor === e.constructor && o === f && t.constructor.resolve === y ? T(e, t) : o === ce ? (S(e, ce.error), ce.error = null) : void 0 === o ? j(e, t) : r(o) ? _(e, t, o) : j(e, t);
          }function R(t, r) {
            t === r ? S(t, v()) : e(r) ? x(t, r, b(r)) : j(t, r);
          }function A(e) {
            e._onerror && e._onerror(e._result), k(e);
          }function j(e, t) {
            e._state === ie && (e._result = t, e._state = se, 0 !== e._subscribers.length && W(k, e));
          }function S(e, t) {
            e._state === ie && (e._state = ae, e._result = t, W(A, e));
          }function I(e, t, r, o) {
            var n = e._subscribers,
                i = n.length;e._onerror = null, n[i] = t, n[i + se] = r, n[i + ae] = o, 0 === i && e._state && W(k, e);
          }function k(e) {
            var t = e._subscribers,
                r = e._state;if (0 !== t.length) {
              for (var o = void 0, n = void 0, i = e._result, s = 0; s < t.length; s += 3) {
                o = t[s], n = t[s + r], o ? U(r, o, n, i) : n(i);
              }e._subscribers.length = 0;
            }
          }function O() {
            this.error = null;
          }function q(e, t) {
            try {
              return e(t);
            } catch (r) {
              return ue.error = r, ue;
            }
          }function U(e, t, o, n) {
            var i = r(o),
                s = void 0,
                a = void 0,
                c = void 0,
                u = void 0;if (i) {
              if (s = q(o, n), s === ue ? (u = !0, a = s.error, s.error = null) : c = !0, t === s) return void S(t, g());
            } else s = n, c = !0;t._state !== ie || (i && c ? R(t, s) : u ? S(t, a) : e === se ? j(t, s) : e === ae && S(t, s));
          }function E(e, t) {
            try {
              t(function (t) {
                R(e, t);
              }, function (t) {
                S(e, t);
              });
            } catch (r) {
              S(e, r);
            }
          }function P() {
            return le++;
          }function C(e) {
            e[ne] = le++, e._state = void 0, e._result = void 0, e._subscribers = [];
          }function N(e, t) {
            this._instanceConstructor = e, this.promise = new e(m), this.promise[ne] || C(this.promise), G(t) ? (this.length = t.length, this._remaining = t.length, this._result = new Array(this.length), 0 === this.length ? j(this.promise, this._result) : (this.length = this.length || 0, this._enumerate(t), 0 === this._remaining && j(this.promise, this._result))) : S(this.promise, D());
          }function D() {
            return new Error("Array Methods must be provided an Array");
          }function K(e) {
            return new N(this, e).promise;
          }function L(e) {
            var t = this;return new t(G(e) ? function (r, o) {
              for (var n = e.length, i = 0; i < n; i++) {
                t.resolve(e[i]).then(r, o);
              }
            } : function (e, t) {
              return t(new TypeError("You must pass an array to race."));
            });
          }function H(e) {
            var t = this,
                r = new t(m);return S(r, e), r;
          }function M() {
            throw new TypeError("You must pass a resolver function as the first argument to the promise constructor");
          }function F() {
            throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.");
          }function J(e) {
            this[ne] = P(), this._result = this._state = void 0, this._subscribers = [], m !== e && ("function" != typeof e && M(), this instanceof J ? E(this, e) : F());
          }function B() {
            var e = void 0;if ("undefined" != typeof i) e = i;else if ("undefined" != typeof self) e = self;else try {
              e = Function("return this")();
            } catch (t) {
              throw new Error("polyfill failed because global object is unavailable in this environment");
            }var r = e.Promise;if (r) {
              var o = null;try {
                o = Object.prototype.toString.call(r.resolve());
              } catch (t) {}if ("[object Promise]" === o && !r.cast) return;
            }e.Promise = J;
          }var Q = void 0;Q = Array.isArray ? Array.isArray : function (e) {
            return "[object Array]" === Object.prototype.toString.call(e);
          };var G = Q,
              $ = 0,
              V = void 0,
              X = void 0,
              W = function W(e, t) {
            re[$] = e, re[$ + 1] = t, $ += 2, 2 === $ && (X ? X(d) : oe());
          },
              Y = "undefined" != typeof window ? window : void 0,
              z = Y || {},
              Z = z.MutationObserver || z.WebKitMutationObserver,
              ee = "undefined" == typeof self && "undefined" != typeof n && "[object process]" === {}.toString.call(n),
              te = "undefined" != typeof Uint8ClampedArray && "undefined" != typeof importScripts && "undefined" != typeof MessageChannel,
              re = new Array(1e3),
              oe = void 0;oe = ee ? a() : Z ? u() : te ? l() : void 0 === Y && "function" == typeof t ? h() : p();var ne = Math.random().toString(36).substring(16),
              ie = void 0,
              se = 1,
              ae = 2,
              ce = new O(),
              ue = new O(),
              le = 0;return N.prototype._enumerate = function (e) {
            for (var t = 0; this._state === ie && t < e.length; t++) {
              this._eachEntry(e[t], t);
            }
          }, N.prototype._eachEntry = function (e, t) {
            var r = this._instanceConstructor,
                o = r.resolve;if (o === y) {
              var n = b(e);if (n === f && e._state !== ie) this._settledAt(e._state, t, e._result);else if ("function" != typeof n) this._remaining--, this._result[t] = e;else if (r === J) {
                var i = new r(m);x(i, e, n), this._willSettleAt(i, t);
              } else this._willSettleAt(new r(function (t) {
                return t(e);
              }), t);
            } else this._willSettleAt(o(e), t);
          }, N.prototype._settledAt = function (e, t, r) {
            var o = this.promise;o._state === ie && (this._remaining--, e === ae ? S(o, r) : this._result[t] = r), 0 === this._remaining && j(o, this._result);
          }, N.prototype._willSettleAt = function (e, t) {
            var r = this;I(e, void 0, function (e) {
              return r._settledAt(se, t, e);
            }, function (e) {
              return r._settledAt(ae, t, e);
            });
          }, J.all = K, J.race = L, J.resolve = y, J.reject = H, J._setScheduler = o, J._setAsap = s, J._asap = W, J.prototype = { constructor: J, then: f, "catch": function _catch(e) {
              return this.then(null, e);
            } }, J.polyfill = B, J.Promise = J, J;
        });
      }).call(this, t(12), "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {});
    }, { 12: 12 }], 4: [function (e, t, r) {
      function o() {
        this._events = this._events || {}, this._maxListeners = this._maxListeners || void 0;
      }function n(e) {
        return "function" == typeof e;
      }function i(e) {
        return "number" == typeof e;
      }function s(e) {
        return "object" == (typeof e === "undefined" ? "undefined" : _typeof(e)) && null !== e;
      }function a(e) {
        return void 0 === e;
      }t.exports = o, o.EventEmitter = o, o.prototype._events = void 0, o.prototype._maxListeners = void 0, o.defaultMaxListeners = 10, o.prototype.setMaxListeners = function (e) {
        if (!i(e) || e < 0 || isNaN(e)) throw TypeError("n must be a positive number");return this._maxListeners = e, this;
      }, o.prototype.emit = function (e) {
        var t, r, o, i, c, u;if (this._events || (this._events = {}), "error" === e && (!this._events.error || s(this._events.error) && !this._events.error.length)) {
          if (t = arguments[1], t instanceof Error) throw t;var l = new Error('Uncaught, unspecified "error" event. (' + t + ")");throw l.context = t, l;
        }if (r = this._events[e], a(r)) return !1;if (n(r)) switch (arguments.length) {case 1:
            r.call(this);break;case 2:
            r.call(this, arguments[1]);break;case 3:
            r.call(this, arguments[1], arguments[2]);break;default:
            i = Array.prototype.slice.call(arguments, 1), r.apply(this, i);} else if (s(r)) for (i = Array.prototype.slice.call(arguments, 1), u = r.slice(), o = u.length, c = 0; c < o; c++) {
          u[c].apply(this, i);
        }return !0;
      }, o.prototype.addListener = function (e, t) {
        var r;if (!n(t)) throw TypeError("listener must be a function");return this._events || (this._events = {}), this._events.newListener && this.emit("newListener", e, n(t.listener) ? t.listener : t), this._events[e] ? s(this._events[e]) ? this._events[e].push(t) : this._events[e] = [this._events[e], t] : this._events[e] = t, s(this._events[e]) && !this._events[e].warned && (r = a(this._maxListeners) ? o.defaultMaxListeners : this._maxListeners, r && r > 0 && this._events[e].length > r && (this._events[e].warned = !0, console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.", this._events[e].length), "function" == typeof console.trace && console.trace())), this;
      }, o.prototype.on = o.prototype.addListener, o.prototype.once = function (e, t) {
        function r() {
          this.removeListener(e, r), o || (o = !0, t.apply(this, arguments));
        }if (!n(t)) throw TypeError("listener must be a function");var o = !1;return r.listener = t, this.on(e, r), this;
      }, o.prototype.removeListener = function (e, t) {
        var r, o, i, a;if (!n(t)) throw TypeError("listener must be a function");if (!this._events || !this._events[e]) return this;if (r = this._events[e], i = r.length, o = -1, r === t || n(r.listener) && r.listener === t) delete this._events[e], this._events.removeListener && this.emit("removeListener", e, t);else if (s(r)) {
          for (a = i; a-- > 0;) {
            if (r[a] === t || r[a].listener && r[a].listener === t) {
              o = a;break;
            }
          }if (o < 0) return this;1 === r.length ? (r.length = 0, delete this._events[e]) : r.splice(o, 1), this._events.removeListener && this.emit("removeListener", e, t);
        }return this;
      }, o.prototype.removeAllListeners = function (e) {
        var t, r;if (!this._events) return this;if (!this._events.removeListener) return 0 === arguments.length ? this._events = {} : this._events[e] && delete this._events[e], this;if (0 === arguments.length) {
          for (t in this._events) {
            "removeListener" !== t && this.removeAllListeners(t);
          }return this.removeAllListeners("removeListener"), this._events = {}, this;
        }if (r = this._events[e], n(r)) this.removeListener(e, r);else if (r) for (; r.length;) {
          this.removeListener(e, r[r.length - 1]);
        }return delete this._events[e], this;
      }, o.prototype.listeners = function (e) {
        var t;return t = this._events && this._events[e] ? n(this._events[e]) ? [this._events[e]] : this._events[e].slice() : [];
      }, o.prototype.listenerCount = function (e) {
        if (this._events) {
          var t = this._events[e];if (n(t)) return 1;if (t) return t.length;
        }return 0;
      }, o.listenerCount = function (e, t) {
        return e.listenerCount(t);
      };
    }, {}], 5: [function (e, t, r) {
      var o = Object.prototype.hasOwnProperty,
          n = Object.prototype.toString;t.exports = function (e, t, r) {
        if ("[object Function]" !== n.call(t)) throw new TypeError("iterator must be a function");var i = e.length;if (i === +i) for (var s = 0; s < i; s++) {
          t.call(r, e[s], s, e);
        } else for (var a in e) {
          o.call(e, a) && t.call(r, e[a], a, e);
        }
      };
    }, {}], 6: [function (e, t, r) {
      (function (e) {
        var r;r = "undefined" != typeof window ? window : "undefined" != typeof e ? e : "undefined" != typeof self ? self : {}, t.exports = r;
      }).call(this, "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {});
    }, {}], 7: [function (e, t, r) {
      "function" == typeof Object.create ? t.exports = function (e, t) {
        e.super_ = t, e.prototype = Object.create(t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } });
      } : t.exports = function (e, t) {
        e.super_ = t;var r = function r() {};r.prototype = t.prototype, e.prototype = new r(), e.prototype.constructor = e;
      };
    }, {}], 8: [function (e, t, r) {
      var o = {}.toString;t.exports = Array.isArray || function (e) {
        return "[object Array]" == o.call(e);
      };
    }, {}], 9: [function (e, t, r) {
      function o(e) {
        if (e = String(e), !(e.length > 100)) {
          var t = /^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(e);if (t) {
            var r = parseFloat(t[1]),
                o = (t[2] || "ms").toLowerCase();switch (o) {case "years":case "year":case "yrs":case "yr":case "y":
                return r * p;case "days":case "day":case "d":
                return r * l;case "hours":case "hour":case "hrs":case "hr":case "h":
                return r * u;case "minutes":case "minute":case "mins":case "min":case "m":
                return r * c;case "seconds":case "second":case "secs":case "sec":case "s":
                return r * a;case "milliseconds":case "millisecond":case "msecs":case "msec":case "ms":
                return r;default:
                return;}
          }
        }
      }function n(e) {
        return e >= l ? Math.round(e / l) + "d" : e >= u ? Math.round(e / u) + "h" : e >= c ? Math.round(e / c) + "m" : e >= a ? Math.round(e / a) + "s" : e + "ms";
      }function i(e) {
        return s(e, l, "day") || s(e, u, "hour") || s(e, c, "minute") || s(e, a, "second") || e + " ms";
      }function s(e, t, r) {
        if (!(e < t)) return e < 1.5 * t ? Math.floor(e / t) + " " + r : Math.ceil(e / t) + " " + r + "s";
      }var a = 1e3,
          c = 60 * a,
          u = 60 * c,
          l = 24 * u,
          p = 365.25 * l;t.exports = function (e, t) {
        t = t || {};var r = typeof e === "undefined" ? "undefined" : _typeof(e);if ("string" === r && e.length > 0) return o(e);if ("number" === r && isNaN(e) === !1) return t["long"] ? i(e) : n(e);throw new Error("val is not a non-empty string or a valid number. val=" + JSON.stringify(e));
      };
    }, {}], 10: [function (e, t, r) {
      "use strict";
      var o = Object.prototype.hasOwnProperty,
          n = Object.prototype.toString,
          i = Array.prototype.slice,
          s = e(11),
          a = Object.prototype.propertyIsEnumerable,
          c = !a.call({ toString: null }, "toString"),
          u = a.call(function () {}, "prototype"),
          l = ["toString", "toLocaleString", "valueOf", "hasOwnProperty", "isPrototypeOf", "propertyIsEnumerable", "constructor"],
          p = function p(e) {
        var t = e.constructor;return t && t.prototype === e;
      },
          d = { $console: !0, $external: !0, $frame: !0, $frameElement: !0, $frames: !0, $innerHeight: !0, $innerWidth: !0, $outerHeight: !0, $outerWidth: !0, $pageXOffset: !0, $pageYOffset: !0, $parent: !0, $scrollLeft: !0, $scrollTop: !0, $scrollX: !0, $scrollY: !0, $self: !0, $webkitIndexedDB: !0, $webkitStorageInfo: !0, $window: !0 },
          h = function () {
        if ("undefined" == typeof window) return !1;for (var e in window) {
          try {
            if (!d["$" + e] && o.call(window, e) && null !== window[e] && "object" == _typeof(window[e])) try {
              p(window[e]);
            } catch (t) {
              return !0;
            }
          } catch (t) {
            return !0;
          }
        }return !1;
      }(),
          f = function f(e) {
        if ("undefined" == typeof window || !h) return p(e);try {
          return p(e);
        } catch (t) {
          return !1;
        }
      },
          y = function y(e) {
        var t = null !== e && "object" == (typeof e === "undefined" ? "undefined" : _typeof(e)),
            r = "[object Function]" === n.call(e),
            i = s(e),
            a = t && "[object String]" === n.call(e),
            p = [];if (!t && !r && !i) throw new TypeError("Object.keys called on a non-object");var d = u && r;if (a && e.length > 0 && !o.call(e, 0)) for (var h = 0; h < e.length; ++h) {
          p.push(String(h));
        }if (i && e.length > 0) for (var y = 0; y < e.length; ++y) {
          p.push(String(y));
        } else for (var m in e) {
          d && "prototype" === m || !o.call(e, m) || p.push(String(m));
        }if (c) for (var v = f(e), g = 0; g < l.length; ++g) {
          v && "constructor" === l[g] || !o.call(e, l[g]) || p.push(l[g]);
        }return p;
      };y.shim = function () {
        if (Object.keys) {
          var e = function () {
            return 2 === (Object.keys(arguments) || "").length;
          }(1, 2);if (!e) {
            var t = Object.keys;Object.keys = function (e) {
              return t(s(e) ? i.call(e) : e);
            };
          }
        } else Object.keys = y;return Object.keys || y;
      }, t.exports = y;
    }, { 11: 11 }], 11: [function (e, t, r) {
      "use strict";
      var o = Object.prototype.toString;t.exports = function (e) {
        var t = o.call(e),
            r = "[object Arguments]" === t;return r || (r = "[object Array]" !== t && null !== e && "object" == (typeof e === "undefined" ? "undefined" : _typeof(e)) && "number" == typeof e.length && e.length >= 0 && "[object Function]" === o.call(e.callee)), r;
      };
    }, {}], 12: [function (e, t, r) {
      function o() {
        throw new Error("setTimeout has not been defined");
      }function n() {
        throw new Error("clearTimeout has not been defined");
      }function i(e) {
        if (p === setTimeout) return setTimeout(e, 0);if ((p === o || !p) && setTimeout) return p = setTimeout, setTimeout(e, 0);try {
          return p(e, 0);
        } catch (t) {
          try {
            return p.call(null, e, 0);
          } catch (t) {
            return p.call(this, e, 0);
          }
        }
      }function s(e) {
        if (d === clearTimeout) return clearTimeout(e);if ((d === n || !d) && clearTimeout) return d = clearTimeout, clearTimeout(e);try {
          return d(e);
        } catch (t) {
          try {
            return d.call(null, e);
          } catch (t) {
            return d.call(this, e);
          }
        }
      }function a() {
        m && f && (m = !1, f.length ? y = f.concat(y) : v = -1, y.length && c());
      }function c() {
        if (!m) {
          var e = i(a);m = !0;for (var t = y.length; t;) {
            for (f = y, y = []; ++v < t;) {
              f && f[v].run();
            }v = -1, t = y.length;
          }f = null, m = !1, s(e);
        }
      }function u(e, t) {
        this.fun = e, this.array = t;
      }function l() {}var p,
          d,
          h = t.exports = {};!function () {
        try {
          p = "function" == typeof setTimeout ? setTimeout : o;
        } catch (e) {
          p = o;
        }try {
          d = "function" == typeof clearTimeout ? clearTimeout : n;
        } catch (e) {
          d = n;
        }
      }();var f,
          y = [],
          m = !1,
          v = -1;h.nextTick = function (e) {
        var t = new Array(arguments.length - 1);if (arguments.length > 1) for (var r = 1; r < arguments.length; r++) {
          t[r - 1] = arguments[r];
        }y.push(new u(e, t)), 1 !== y.length || m || i(c);
      }, u.prototype.run = function () {
        this.fun.apply(null, this.array);
      }, h.title = "browser", h.browser = !0, h.env = {}, h.argv = [], h.version = "", h.versions = {}, h.on = l, h.addListener = l, h.once = l, h.off = l, h.removeListener = l, h.removeAllListeners = l, h.emit = l, h.binding = function (e) {
        throw new Error("process.binding is not supported");
      }, h.cwd = function () {
        return "/";
      }, h.chdir = function (e) {
        throw new Error("process.chdir is not supported");
      }, h.umask = function () {
        return 0;
      };
    }, {}], 13: [function (e, t, r) {
      "use strict";
      function o(e, t) {
        return Object.prototype.hasOwnProperty.call(e, t);
      }t.exports = function (e, t, r, i) {
        t = t || "&", r = r || "=";var s = {};if ("string" != typeof e || 0 === e.length) return s;var a = /\+/g;e = e.split(t);var c = 1e3;i && "number" == typeof i.maxKeys && (c = i.maxKeys);var u = e.length;c > 0 && u > c && (u = c);for (var l = 0; l < u; ++l) {
          var p,
              d,
              h,
              f,
              y = e[l].replace(a, "%20"),
              m = y.indexOf(r);m >= 0 ? (p = y.substr(0, m), d = y.substr(m + 1)) : (p = y, d = ""), h = decodeURIComponent(p), f = decodeURIComponent(d), o(s, h) ? n(s[h]) ? s[h].push(f) : s[h] = [s[h], f] : s[h] = f;
        }return s;
      };var n = Array.isArray || function (e) {
        return "[object Array]" === Object.prototype.toString.call(e);
      };
    }, {}], 14: [function (e, t, r) {
      "use strict";
      function o(e, t) {
        if (e.map) return e.map(t);for (var r = [], o = 0; o < e.length; o++) {
          r.push(t(e[o], o));
        }return r;
      }var n = function n(e) {
        switch (typeof e === "undefined" ? "undefined" : _typeof(e)) {case "string":
            return e;case "boolean":
            return e ? "true" : "false";case "number":
            return isFinite(e) ? e : "";default:
            return "";}
      };t.exports = function (e, t, r, a) {
        return t = t || "&", r = r || "=", null === e && (e = void 0), "object" == (typeof e === "undefined" ? "undefined" : _typeof(e)) ? o(s(e), function (s) {
          var a = encodeURIComponent(n(s)) + r;return i(e[s]) ? o(e[s], function (e) {
            return a + encodeURIComponent(n(e));
          }).join(t) : a + encodeURIComponent(n(e[s]));
        }).join(t) : a ? encodeURIComponent(n(a)) + r + encodeURIComponent(n(e)) : "";
      };var i = Array.isArray || function (e) {
        return "[object Array]" === Object.prototype.toString.call(e);
      },
          s = Object.keys || function (e) {
        var t = [];for (var r in e) {
          Object.prototype.hasOwnProperty.call(e, r) && t.push(r);
        }return t;
      };
    }, {}], 15: [function (e, t, r) {
      "use strict";
      r.decode = r.parse = e(13), r.encode = r.stringify = e(14);
    }, { 13: 13, 14: 14 }], 16: [function (e, t, r) {
      function o() {
        c.apply(this, arguments);
      }function n() {
        var e = "Not implemented in this environment.\nIf you feel this is a mistake, write to support@algolia.com";throw new l.AlgoliaSearchError(e);
      }t.exports = o;var i = e(18),
          s = e(28),
          a = e(29),
          c = e(17),
          u = e(7),
          l = e(30);u(o, c), o.prototype.deleteIndex = function (e, t) {
        return this._jsonRequest({ method: "DELETE", url: "/1/indexes/" + encodeURIComponent(e), hostType: "write", callback: t });
      }, o.prototype.moveIndex = function (e, t, r) {
        var o = { operation: "move", destination: t };return this._jsonRequest({ method: "POST", url: "/1/indexes/" + encodeURIComponent(e) + "/operation", body: o, hostType: "write", callback: r });
      }, o.prototype.copyIndex = function (e, t, r, o) {
        var n = { operation: "copy", destination: t },
            i = o;if ("function" == typeof r) i = r;else if (Array.isArray(r) && r.length > 0) n.scope = r;else if ("undefined" != typeof r) throw new Error("the scope given to `copyIndex` was not an array with settings, synonyms or rules");return this._jsonRequest({ method: "POST", url: "/1/indexes/" + encodeURIComponent(e) + "/operation", body: n, hostType: "write", callback: i });
      }, o.prototype.getLogs = function (t, r, o) {
        var n = e(26),
            i = {};return "object" == (typeof t === "undefined" ? "undefined" : _typeof(t)) ? (i = n(t), o = r) : 0 === arguments.length || "function" == typeof t ? o = t : 1 === arguments.length || "function" == typeof r ? (o = r, i.offset = t) : (i.offset = t, i.length = r), void 0 === i.offset && (i.offset = 0), void 0 === i.length && (i.length = 10), this._jsonRequest({ method: "GET", url: "/1/logs?" + this._getSearchParams(i, ""), hostType: "read", callback: o });
      }, o.prototype.listIndexes = function (e, t) {
        var r = "";return void 0 === e || "function" == typeof e ? t = e : r = "?page=" + e, this._jsonRequest({ method: "GET", url: "/1/indexes" + r, hostType: "read", callback: t });
      }, o.prototype.initIndex = function (e) {
        return new i(this, e);
      }, o.prototype.initAnalytics = function (t) {
        var r = e(27);return r(this.applicationID, this.apiKey, t);
      }, o.prototype.listUserKeys = s(function (e) {
        return this.listApiKeys(e);
      }, a("client.listUserKeys()", "client.listApiKeys()")), o.prototype.listApiKeys = function (e) {
        return this._jsonRequest({ method: "GET", url: "/1/keys", hostType: "read", callback: e });
      }, o.prototype.getUserKeyACL = s(function (e, t) {
        return this.getApiKey(e, t);
      }, a("client.getUserKeyACL()", "client.getApiKey()")), o.prototype.getApiKey = function (e, t) {
        return this._jsonRequest({ method: "GET", url: "/1/keys/" + e, hostType: "read", callback: t });
      }, o.prototype.deleteUserKey = s(function (e, t) {
        return this.deleteApiKey(e, t);
      }, a("client.deleteUserKey()", "client.deleteApiKey()")), o.prototype.deleteApiKey = function (e, t) {
        return this._jsonRequest({ method: "DELETE", url: "/1/keys/" + e, hostType: "write", callback: t });
      }, o.prototype.restoreApiKey = function (e, t) {
        return this._jsonRequest({ method: "POST", url: "/1/keys/" + e + "/restore", hostType: "write", callback: t });
      }, o.prototype.addUserKey = s(function (e, t, r) {
        return this.addApiKey(e, t, r);
      }, a("client.addUserKey()", "client.addApiKey()")), o.prototype.addApiKey = function (t, r, o) {
        var n = e(8),
            i = "Usage: client.addApiKey(arrayOfAcls[, params, callback])";if (!n(t)) throw new Error(i);1 !== arguments.length && "function" != typeof r || (o = r, r = null);var s = { acl: t };return r && (s.validity = r.validity, s.maxQueriesPerIPPerHour = r.maxQueriesPerIPPerHour, s.maxHitsPerQuery = r.maxHitsPerQuery, s.indexes = r.indexes, s.description = r.description, r.queryParameters && (s.queryParameters = this._getSearchParams(r.queryParameters, "")), s.referers = r.referers), this._jsonRequest({ method: "POST", url: "/1/keys", body: s, hostType: "write", callback: o });
      }, o.prototype.addUserKeyWithValidity = s(function (e, t, r) {
        return this.addApiKey(e, t, r);
      }, a("client.addUserKeyWithValidity()", "client.addApiKey()")), o.prototype.updateUserKey = s(function (e, t, r, o) {
        return this.updateApiKey(e, t, r, o);
      }, a("client.updateUserKey()", "client.updateApiKey()")), o.prototype.updateApiKey = function (t, r, o, n) {
        var i = e(8),
            s = "Usage: client.updateApiKey(key, arrayOfAcls[, params, callback])";if (!i(r)) throw new Error(s);2 !== arguments.length && "function" != typeof o || (n = o, o = null);var a = { acl: r };return o && (a.validity = o.validity, a.maxQueriesPerIPPerHour = o.maxQueriesPerIPPerHour, a.maxHitsPerQuery = o.maxHitsPerQuery, a.indexes = o.indexes, a.description = o.description, o.queryParameters && (a.queryParameters = this._getSearchParams(o.queryParameters, "")), a.referers = o.referers), this._jsonRequest({ method: "PUT", url: "/1/keys/" + t, body: a, hostType: "write", callback: n });
      }, o.prototype.startQueriesBatch = s(function () {
        this._batch = [];
      }, a("client.startQueriesBatch()", "client.search()")), o.prototype.addQueryInBatch = s(function (e, t, r) {
        this._batch.push({ indexName: e, query: t, params: r });
      }, a("client.addQueryInBatch()", "client.search()")), o.prototype.sendQueriesBatch = s(function (e) {
        return this.search(this._batch, e);
      }, a("client.sendQueriesBatch()", "client.search()")), o.prototype.batch = function (t, r) {
        var o = e(8),
            n = "Usage: client.batch(operations[, callback])";if (!o(t)) throw new Error(n);return this._jsonRequest({ method: "POST", url: "/1/indexes/*/batch", body: { requests: t }, hostType: "write", callback: r });
      }, o.prototype.assignUserID = function (e, t) {
        if (!e.userID || !e.cluster) throw new l.AlgoliaSearchError("You have to provide both a userID and cluster", e);return this._jsonRequest({ method: "POST", url: "/1/clusters/mapping", hostType: "write", body: { cluster: e.cluster }, callback: t, headers: { "x-algolia-user-id": e.userID } });
      }, o.prototype.assignUserIDs = function (e, t) {
        if (!e.userIDs || !e.cluster) throw new l.AlgoliaSearchError("You have to provide both an array of userIDs and cluster", e);return this._jsonRequest({ method: "POST", url: "/1/clusters/mapping/batch", hostType: "write", body: { cluster: e.cluster, users: e.userIDs }, callback: t });
      }, o.prototype.getTopUserID = function (e) {
        return this._jsonRequest({ method: "GET", url: "/1/clusters/mapping/top", hostType: "read", callback: e });
      }, o.prototype.getUserID = function (e, t) {
        if (!e.userID) throw new l.AlgoliaSearchError("You have to provide a userID", { debugData: e });return this._jsonRequest({ method: "GET", url: "/1/clusters/mapping/" + e.userID, hostType: "read", callback: t });
      }, o.prototype.listClusters = function (e) {
        return this._jsonRequest({ method: "GET", url: "/1/clusters", hostType: "read", callback: e });
      }, o.prototype.listUserIDs = function (e, t) {
        return this._jsonRequest({ method: "GET", url: "/1/clusters/mapping", body: e, hostType: "read", callback: t });
      }, o.prototype.removeUserID = function (e, t) {
        if (!e.userID) throw new l.AlgoliaSearchError("You have to provide a userID", { debugData: e });return this._jsonRequest({ method: "DELETE", url: "/1/clusters/mapping", hostType: "write", callback: t, headers: { "x-algolia-user-id": e.userID } });
      }, o.prototype.searchUserIDs = function (e, t) {
        return this._jsonRequest({ method: "POST", url: "/1/clusters/mapping/search", body: e, hostType: "read", callback: t });
      }, o.prototype.setPersonalizationStrategy = function (e, t) {
        return this._jsonRequest({ method: "POST", url: "/1/recommendation/personalization/strategy", body: e, hostType: "write", callback: t });
      }, o.prototype.getPersonalizationStrategy = function (e) {
        return this._jsonRequest({ method: "GET", url: "/1/recommendation/personalization/strategy", hostType: "read", callback: e });
      }, o.prototype.destroy = n, o.prototype.enableRateLimitForward = n, o.prototype.disableRateLimitForward = n, o.prototype.useSecuredAPIKey = n, o.prototype.disableSecuredAPIKey = n, o.prototype.generateSecuredApiKey = n, o.prototype.getSecuredApiKeyRemainingValidity = n;
    }, { 17: 17, 18: 18, 26: 26, 27: 27, 28: 28, 29: 29, 30: 30, 7: 7, 8: 8 }], 17: [function (e, t, r) {
      (function (r) {
        function o(t, r, o) {
          var i = e(1)("algoliasearch"),
              s = e(26),
              a = e(8),
              u = e(32),
              l = "Usage: algoliasearch(applicationID, apiKey, opts)";if (o._allowEmptyCredentials !== !0 && !t) throw new c.AlgoliaSearchError("Please provide an application ID. " + l);if (o._allowEmptyCredentials !== !0 && !r) throw new c.AlgoliaSearchError("Please provide an API key. " + l);this.applicationID = t, this.apiKey = r, this.hosts = { read: [], write: [] }, o = o || {}, this._timeouts = o.timeouts || { connect: 1e3, read: 2e3, write: 3e4 }, o.timeout && (this._timeouts.connect = this._timeouts.read = this._timeouts.write = o.timeout);var p = o.protocol || "https:";if (/:$/.test(p) || (p += ":"), "http:" !== p && "https:" !== p) throw new c.AlgoliaSearchError("protocol must be `http:` or `https:` (was `" + o.protocol + "`)");if (this._checkAppIdData(), o.hosts) a(o.hosts) ? (this.hosts.read = s(o.hosts), this.hosts.write = s(o.hosts)) : (this.hosts.read = s(o.hosts.read), this.hosts.write = s(o.hosts.write));else {
            var d = u(this._shuffleResult, function (e) {
              return t + "-" + e + ".algolianet.com";
            }),
                h = (o.dsn === !1 ? "" : "-dsn") + ".algolia.net";this.hosts.read = [this.applicationID + h].concat(d), this.hosts.write = [this.applicationID + ".algolia.net"].concat(d);
          }this.hosts.read = u(this.hosts.read, n(p)), this.hosts.write = u(this.hosts.write, n(p)), this.extraHeaders = {}, this.cache = o._cache || {}, this._ua = o._ua, this._useCache = !(void 0 !== o._useCache && !o._cache) || o._useCache, this._useRequestCache = this._useCache && o._useRequestCache, this._useFallback = void 0 === o.useFallback || o.useFallback, this._setTimeout = o._setTimeout, i("init done, %j", this);
        }function n(e) {
          return function (t) {
            return e + "//" + t.toLowerCase();
          };
        }function i(e) {
          if (void 0 === Array.prototype.toJSON) return JSON.stringify(e);var t = Array.prototype.toJSON;delete Array.prototype.toJSON;var r = JSON.stringify(e);return Array.prototype.toJSON = t, r;
        }function s(e) {
          for (var t, r, o = e.length; 0 !== o;) {
            r = Math.floor(Math.random() * o), o -= 1, t = e[o], e[o] = e[r], e[r] = t;
          }return e;
        }function a(e) {
          var t = {};for (var r in e) {
            if (Object.prototype.hasOwnProperty.call(e, r)) {
              var o;o = "x-algolia-api-key" === r || "x-algolia-application-id" === r ? "**hidden for security purposes**" : e[r], t[r] = o;
            }
          }return t;
        }t.exports = o;var c = e(30),
            u = e(31),
            l = e(20),
            p = e(36),
            d = 500,
            h = r.env.RESET_APP_DATA_TIMER && parseInt(r.env.RESET_APP_DATA_TIMER, 10) || 12e4;o.prototype.initIndex = function (e) {
          return new l(this, e);
        }, o.prototype.setExtraHeader = function (e, t) {
          this.extraHeaders[e.toLowerCase()] = t;
        }, o.prototype.getExtraHeader = function (e) {
          return this.extraHeaders[e.toLowerCase()];
        }, o.prototype.unsetExtraHeader = function (e) {
          delete this.extraHeaders[e.toLowerCase()];
        }, o.prototype.addAlgoliaAgent = function (e) {
          var t = "; " + e;this._ua.indexOf(t) === -1 && (this._ua += t);
        }, o.prototype._jsonRequest = function (t) {
          function r(e, n) {
            function u(e) {
              var t = e && e.body && e.body.message && e.body.status || e.statusCode || e && e.body && 200;h("received response: statusCode: %s, computed statusCode: %d, headers: %j", e.statusCode, t, e.headers);var r = 2 === Math.floor(t / 100),
                  o = new Date();if (w.push({ currentHost: A, headers: a(p), content: s || null, contentLength: void 0 !== s ? s.length : null, method: n.method, timeouts: n.timeouts, url: n.url, startTime: x, endTime: o, duration: o - x, statusCode: t }), r) return m._useCache && !m._useRequestCache && y && (y[l] = e.responseText), { responseText: e.responseText, body: e.body };var i = 4 !== Math.floor(t / 100);if (i) return v += 1, _();h("unrecoverable error");var u = new c.AlgoliaSearchError(e.body && e.body.message, { debugData: w, statusCode: t });return m._promise.reject(u);
            }function d(e) {
              h("error: %s, stack: %s", e.message, e.stack);var r = new Date();return w.push({ currentHost: A, headers: a(p), content: s || null, contentLength: void 0 !== s ? s.length : null, method: n.method, timeouts: n.timeouts, url: n.url, startTime: x, endTime: r, duration: r - x }), e instanceof c.AlgoliaSearchError || (e = new c.Unknown(e && e.message, e)), v += 1, e instanceof c.Unknown || e instanceof c.UnparsableJSON || v >= m.hosts[t.hostType].length && (g || !b) ? (e.debugData = w, m._promise.reject(e)) : e instanceof c.RequestTimeout ? T() : _();
            }function _() {
              return h("retrying request"), m._incrementHostIndex(t.hostType), r(e, n);
            }function T() {
              return h("retrying request with higher timeout"), m._incrementHostIndex(t.hostType), m._incrementTimeoutMultipler(), n.timeouts = m._getTimeoutsForRequest(t.hostType), r(e, n);
            }m._checkAppIdData();var x = new Date();if (m._useCache && !m._useRequestCache && (l = t.url), m._useCache && !m._useRequestCache && s && (l += "_body_" + n.body), o(!m._useRequestCache, y, l)) {
              h("serving response from cache");var R = y[l];return m._promise.resolve({ body: JSON.parse(R), responseText: R });
            }if (v >= m.hosts[t.hostType].length) return !b || g ? (h("could not get any response"), m._promise.reject(new c.AlgoliaSearchError("Cannot connect to the AlgoliaSearch API. Send an email to support@algolia.com to report and resolve the issue. Application id was: " + m.applicationID, { debugData: w }))) : (h("switching to fallback"), v = 0, n.method = t.fallback.method, n.url = t.fallback.url, n.jsonBody = t.fallback.body, n.jsonBody && (n.body = i(n.jsonBody)), p = m._computeRequestHeaders({ additionalUA: f, headers: t.headers }), n.timeouts = m._getTimeoutsForRequest(t.hostType), m._setHostIndexByType(0, t.hostType), g = !0, r(m._request.fallback, n));var A = m._getHostByType(t.hostType),
                j = A + n.url,
                S = { body: n.body, jsonBody: n.jsonBody, method: n.method, headers: p, timeouts: n.timeouts, debug: h, forceAuthHeaders: n.forceAuthHeaders };return h("method: %s, url: %s, headers: %j, timeouts: %d", S.method, j, S.headers, S.timeouts), e === m._request.fallback && h("using fallback"), e.call(m, j, S).then(u, d);
          }function o(e, t, r) {
            return m._useCache && e && t && void 0 !== t[r];
          }function n(e, r) {
            return o(m._useRequestCache, y, l) && e["catch"](function () {
              delete y[l];
            }), "function" != typeof t.callback ? e.then(r) : void e.then(function (e) {
              u(function () {
                t.callback(null, r(e));
              }, m._setTimeout || setTimeout);
            }, function (e) {
              u(function () {
                t.callback(e);
              }, m._setTimeout || setTimeout);
            });
          }this._checkAppIdData();var s,
              l,
              p,
              h = e(1)("algoliasearch:" + t.url),
              f = t.additionalUA || "",
              y = t.cache,
              m = this,
              v = 0,
              g = !1,
              b = m._useFallback && m._request.fallback && t.fallback;this.apiKey.length > d && void 0 !== t.body && (void 0 !== t.body.params || void 0 !== t.body.requests) ? (t.body.apiKey = this.apiKey, p = this._computeRequestHeaders({ additionalUA: f, withApiKey: !1, headers: t.headers })) : p = this._computeRequestHeaders({ additionalUA: f, headers: t.headers }), void 0 !== t.body && (s = i(t.body)), h("request start");var w = [];if (m._useCache && m._useRequestCache && (l = t.url), m._useCache && m._useRequestCache && s && (l += "_body_" + s), o(m._useRequestCache, y, l)) {
            h("serving request from cache");var _ = y[l],
                T = "function" != typeof _.then ? m._promise.resolve({ responseText: _ }) : _;return n(T, function (e) {
              return JSON.parse(e.responseText);
            });
          }var x = r(m._request, { url: t.url, method: t.method, body: s, jsonBody: t.body, timeouts: m._getTimeoutsForRequest(t.hostType), forceAuthHeaders: t.forceAuthHeaders });return m._useCache && m._useRequestCache && y && (y[l] = x), n(x, function (e) {
            return e.body;
          });
        }, o.prototype._getSearchParams = function (e, t) {
          if (void 0 === e || null === e) return t;for (var r in e) {
            null !== r && void 0 !== e[r] && e.hasOwnProperty(r) && (t += "" === t ? "" : "&", t += r + "=" + encodeURIComponent("[object Array]" === Object.prototype.toString.call(e[r]) ? i(e[r]) : e[r]));
          }return t;
        }, o.prototype._computeRequestHeaders = function (t) {
          var r = e(5),
              o = t.additionalUA ? this._ua + "; " + t.additionalUA : this._ua,
              n = { "x-algolia-agent": o, "x-algolia-application-id": this.applicationID };return t.withApiKey !== !1 && (n["x-algolia-api-key"] = this.apiKey), this.userToken && (n["x-algolia-usertoken"] = this.userToken), this.securityTags && (n["x-algolia-tagfilters"] = this.securityTags), r(this.extraHeaders, function (e, t) {
            n[t] = e;
          }), t.headers && r(t.headers, function (e, t) {
            n[t] = e;
          }), n;
        }, o.prototype.search = function (t, r, o) {
          var n = e(8),
              i = e(32),
              s = "Usage: client.search(arrayOfQueries[, callback])";if (!n(t)) throw new Error(s);"function" == typeof r ? (o = r, r = {}) : void 0 === r && (r = {});var a = this,
              c = { requests: i(t, function (e) {
              var t = "";return void 0 !== e.query && (t += "query=" + encodeURIComponent(e.query)), { indexName: e.indexName, params: a._getSearchParams(e.params, t) };
            }) },
              u = i(c.requests, function (e, t) {
            return t + "=" + encodeURIComponent("/1/indexes/" + encodeURIComponent(e.indexName) + "?" + e.params);
          }).join("&"),
              l = "/1/indexes/*/queries";return void 0 !== r.strategy && (c.strategy = r.strategy), this._jsonRequest({ cache: this.cache, method: "POST", url: l, body: c, hostType: "read", fallback: { method: "GET", url: "/1/indexes/*", body: { params: u } }, callback: o });
        }, o.prototype.searchForFacetValues = function (t) {
          var r = e(8),
              o = e(32),
              n = "Usage: client.searchForFacetValues([{indexName, params: {facetName, facetQuery, ...params}}, ...queries])";if (!r(t)) throw new Error(n);var i = this;return i._promise.all(o(t, function (t) {
            if (!t || void 0 === t.indexName || void 0 === t.params.facetName || void 0 === t.params.facetQuery) throw new Error(n);var r = e(26),
                o = e(34),
                s = t.indexName,
                a = t.params,
                c = a.facetName,
                u = o(r(a), function (e) {
              return "facetName" === e;
            }),
                l = i._getSearchParams(u, "");return i._jsonRequest({ cache: i.cache, method: "POST", url: "/1/indexes/" + encodeURIComponent(s) + "/facets/" + encodeURIComponent(c) + "/query", hostType: "read", body: { params: l } });
          }));
        }, o.prototype.setSecurityTags = function (e) {
          if ("[object Array]" === Object.prototype.toString.call(e)) {
            for (var t = [], r = 0; r < e.length; ++r) {
              if ("[object Array]" === Object.prototype.toString.call(e[r])) {
                for (var o = [], n = 0; n < e[r].length; ++n) {
                  o.push(e[r][n]);
                }t.push("(" + o.join(",") + ")");
              } else t.push(e[r]);
            }e = t.join(",");
          }this.securityTags = e;
        }, o.prototype.setUserToken = function (e) {
          this.userToken = e;
        }, o.prototype.clearCache = function () {
          this.cache = {};
        }, o.prototype.setRequestTimeout = function (e) {
          e && (this._timeouts.connect = this._timeouts.read = this._timeouts.write = e);
        }, o.prototype.setTimeouts = function (e) {
          this._timeouts = e;
        }, o.prototype.getTimeouts = function () {
          return this._timeouts;
        }, o.prototype._getAppIdData = function () {
          var e = p.get(this.applicationID);return null !== e && this._cacheAppIdData(e), e;
        }, o.prototype._setAppIdData = function (e) {
          return e.lastChange = new Date().getTime(), this._cacheAppIdData(e), p.set(this.applicationID, e);
        }, o.prototype._checkAppIdData = function () {
          var e = this._getAppIdData(),
              t = new Date().getTime();return null === e || t - e.lastChange > h ? this._resetInitialAppIdData(e) : e;
        }, o.prototype._resetInitialAppIdData = function (e) {
          var t = e || {};return t.hostIndexes = { read: 0, write: 0 }, t.timeoutMultiplier = 1, t.shuffleResult = t.shuffleResult || s([1, 2, 3]), this._setAppIdData(t);
        }, o.prototype._cacheAppIdData = function (e) {
          this._hostIndexes = e.hostIndexes, this._timeoutMultiplier = e.timeoutMultiplier, this._shuffleResult = e.shuffleResult;
        }, o.prototype._partialAppIdDataUpdate = function (t) {
          var r = e(5),
              o = this._getAppIdData();return r(t, function (e, t) {
            o[t] = e;
          }), this._setAppIdData(o);
        }, o.prototype._getHostByType = function (e) {
          return this.hosts[e][this._getHostIndexByType(e)];
        }, o.prototype._getTimeoutMultiplier = function () {
          return this._timeoutMultiplier;
        }, o.prototype._getHostIndexByType = function (e) {
          return this._hostIndexes[e];
        }, o.prototype._setHostIndexByType = function (t, r) {
          var o = e(26),
              n = o(this._hostIndexes);return n[r] = t, this._partialAppIdDataUpdate({ hostIndexes: n }), t;
        }, o.prototype._incrementHostIndex = function (e) {
          return this._setHostIndexByType((this._getHostIndexByType(e) + 1) % this.hosts[e].length, e);
        }, o.prototype._incrementTimeoutMultipler = function () {
          var e = Math.max(this._timeoutMultiplier + 1, 4);return this._partialAppIdDataUpdate({ timeoutMultiplier: e });
        }, o.prototype._getTimeoutsForRequest = function (e) {
          return { connect: this._timeouts.connect * this._timeoutMultiplier, complete: this._timeouts[e] * this._timeoutMultiplier };
        };
      }).call(this, e(12));
    }, { 1: 1, 12: 12, 20: 20, 26: 26, 30: 30, 31: 31, 32: 32, 34: 34, 36: 36, 5: 5, 8: 8 }], 18: [function (e, t, r) {
      function o() {
        s.apply(this, arguments);
      }function n(e, t, r) {
        function o(r, n) {
          var i = { page: r || 0, hitsPerPage: t || 100 },
              s = n || [];return e(i).then(function (e) {
            var t = e.hits,
                r = e.nbHits,
                n = t.map(function (e) {
              return delete e._highlightResult, e;
            }),
                a = s.concat(n);return a.length < r ? o(i.page + 1, a) : a;
          });
        }return o().then(function (e) {
          return "function" == typeof r ? void r(e) : e;
        });
      }var i = e(7),
          s = e(20),
          a = e(28),
          c = e(29),
          u = e(31),
          l = e(30),
          p = a(function () {}, c("forwardToSlaves", "forwardToReplicas"));t.exports = o, i(o, s), o.prototype.addObject = function (e, t, r) {
        var o = this;return 1 !== arguments.length && "function" != typeof t || (r = t, t = void 0), this.as._jsonRequest({ method: void 0 !== t ? "PUT" : "POST", url: "/1/indexes/" + encodeURIComponent(o.indexName) + (void 0 !== t ? "/" + encodeURIComponent(t) : ""), body: e, hostType: "write", callback: r });
      }, o.prototype.addObjects = function (t, r) {
        var o = e(8),
            n = "Usage: index.addObjects(arrayOfObjects[, callback])";if (!o(t)) throw new Error(n);for (var i = this, s = { requests: [] }, a = 0; a < t.length; ++a) {
          var c = { action: "addObject", body: t[a] };s.requests.push(c);
        }return this.as._jsonRequest({ method: "POST", url: "/1/indexes/" + encodeURIComponent(i.indexName) + "/batch", body: s, hostType: "write", callback: r });
      }, o.prototype.partialUpdateObject = function (e, t, r) {
        1 !== arguments.length && "function" != typeof t || (r = t, t = void 0);var o = this,
            n = "/1/indexes/" + encodeURIComponent(o.indexName) + "/" + encodeURIComponent(e.objectID) + "/partial";return t === !1 && (n += "?createIfNotExists=false"), this.as._jsonRequest({ method: "POST", url: n, body: e, hostType: "write", callback: r });
      }, o.prototype.partialUpdateObjects = function (t, r, o) {
        1 !== arguments.length && "function" != typeof r || (o = r, r = !0);var n = e(8),
            i = "Usage: index.partialUpdateObjects(arrayOfObjects[, callback])";if (!n(t)) throw new Error(i);for (var s = this, a = { requests: [] }, c = 0; c < t.length; ++c) {
          var u = { action: r === !0 ? "partialUpdateObject" : "partialUpdateObjectNoCreate", objectID: t[c].objectID, body: t[c] };a.requests.push(u);
        }return this.as._jsonRequest({ method: "POST", url: "/1/indexes/" + encodeURIComponent(s.indexName) + "/batch", body: a, hostType: "write", callback: o });
      }, o.prototype.saveObject = function (e, t) {
        var r = this;return this.as._jsonRequest({ method: "PUT", url: "/1/indexes/" + encodeURIComponent(r.indexName) + "/" + encodeURIComponent(e.objectID), body: e, hostType: "write", callback: t });
      }, o.prototype.saveObjects = function (t, r) {
        var o = e(8),
            n = "Usage: index.saveObjects(arrayOfObjects[, callback])";if (!o(t)) throw new Error(n);for (var i = this, s = { requests: [] }, a = 0; a < t.length; ++a) {
          var c = { action: "updateObject", objectID: t[a].objectID, body: t[a] };s.requests.push(c);
        }return this.as._jsonRequest({ method: "POST", url: "/1/indexes/" + encodeURIComponent(i.indexName) + "/batch", body: s, hostType: "write", callback: r });
      }, o.prototype.deleteObject = function (e, t) {
        if ("function" == typeof e || "string" != typeof e && "number" != typeof e) {
          var r = new l.AlgoliaSearchError(e && "function" != typeof e ? "ObjectID must be a string" : "Cannot delete an object without an objectID");return t = e, "function" == typeof t ? t(r) : this.as._promise.reject(r);
        }var o = this;return this.as._jsonRequest({ method: "DELETE", url: "/1/indexes/" + encodeURIComponent(o.indexName) + "/" + encodeURIComponent(e), hostType: "write", callback: t });
      }, o.prototype.deleteObjects = function (t, r) {
        var o = e(8),
            n = e(32),
            i = "Usage: index.deleteObjects(arrayOfObjectIDs[, callback])";if (!o(t)) throw new Error(i);var s = this,
            a = { requests: n(t, function (e) {
            return { action: "deleteObject", objectID: e, body: { objectID: e } };
          }) };return this.as._jsonRequest({ method: "POST", url: "/1/indexes/" + encodeURIComponent(s.indexName) + "/batch", body: a, hostType: "write", callback: r });
      }, o.prototype.deleteByQuery = a(function (t, r, o) {
        function n(e) {
          if (0 === e.nbHits) return e;var t = p(e.hits, function (e) {
            return e.objectID;
          });return d.deleteObjects(t).then(i).then(s);
        }function i(e) {
          return d.waitTask(e.taskID);
        }function s() {
          return d.deleteByQuery(t, r);
        }function a() {
          u(function () {
            o(null);
          }, h._setTimeout || setTimeout);
        }function c(e) {
          u(function () {
            o(e);
          }, h._setTimeout || setTimeout);
        }var l = e(26),
            p = e(32),
            d = this,
            h = d.as;1 === arguments.length || "function" == typeof r ? (o = r, r = {}) : r = l(r), r.attributesToRetrieve = "objectID", r.hitsPerPage = 1e3, r.distinct = !1, this.clearCache();var f = this.search(t, r).then(n);return o ? void f.then(a, c) : f;
      }, c("index.deleteByQuery()", "index.deleteBy()")), o.prototype.deleteBy = function (e, t) {
        var r = this;return this.as._jsonRequest({ method: "POST", url: "/1/indexes/" + encodeURIComponent(r.indexName) + "/deleteByQuery", body: { params: r.as._getSearchParams(e, "") }, hostType: "write", callback: t });
      }, o.prototype.browseAll = function (t, r) {
        function o(e) {
          if (!a._stopped) {
            var t;t = void 0 !== e ? { cursor: e } : { params: l }, c._jsonRequest({ method: "POST", url: "/1/indexes/" + encodeURIComponent(u.indexName) + "/browse", hostType: "read", body: t, callback: n });
          }
        }function n(e, t) {
          if (!a._stopped) return e ? void a._error(e) : (a._result(t), void 0 === t.cursor ? void a._end() : void o(t.cursor));
        }"object" == (typeof t === "undefined" ? "undefined" : _typeof(t)) && (r = t, t = void 0);var i = e(33),
            s = e(19),
            a = new s(),
            c = this.as,
            u = this,
            l = c._getSearchParams(i({}, r || {}, { query: t }), "");return o(), a;
      }, o.prototype.ttAdapter = a(function (e) {
        var t = this;return function (r, o, n) {
          var i;i = "function" == typeof n ? n : o, t.search(r, e, function (e, t) {
            return e ? void i(e) : void i(t.hits);
          });
        };
      }, "ttAdapter is not necessary anymore and will be removed in the next version,\nhave a look at autocomplete.js (https://github.com/algolia/autocomplete.js)"), o.prototype.waitTask = function (e, t) {
        function r() {
          return l._jsonRequest({ method: "GET", hostType: "read", url: "/1/indexes/" + encodeURIComponent(c.indexName) + "/task/" + e }).then(function (e) {
            a++;var t = i * a * a;return t > s && (t = s), "published" !== e.status ? l._promise.delay(t).then(r) : e;
          });
        }function o(e) {
          u(function () {
            t(null, e);
          }, l._setTimeout || setTimeout);
        }function n(e) {
          u(function () {
            t(e);
          }, l._setTimeout || setTimeout);
        }var i = 100,
            s = 5e3,
            a = 0,
            c = this,
            l = c.as,
            p = r();return t ? void p.then(o, n) : p;
      }, o.prototype.clearIndex = function (e) {
        var t = this;return this.as._jsonRequest({ method: "POST", url: "/1/indexes/" + encodeURIComponent(t.indexName) + "/clear", hostType: "write", callback: e });
      }, o.prototype.getSettings = function (e, t) {
        1 === arguments.length && "function" == typeof e && (t = e, e = {}), e = e || {};var r = encodeURIComponent(this.indexName);return this.as._jsonRequest({ method: "GET", url: "/1/indexes/" + r + "/settings?getVersion=2" + (e.advanced ? "&advanced=" + e.advanced : ""), hostType: "read", callback: t });
      }, o.prototype.searchSynonyms = function (e, t) {
        return "function" == typeof e ? (t = e, e = {}) : void 0 === e && (e = {}), this.as._jsonRequest({ method: "POST", url: "/1/indexes/" + encodeURIComponent(this.indexName) + "/synonyms/search", body: e, hostType: "read", callback: t });
      }, o.prototype.exportSynonyms = function (e, t) {
        return n(this.searchSynonyms.bind(this), e, t);
      }, o.prototype.saveSynonym = function (e, t, r) {
        "function" == typeof t ? (r = t, t = {}) : void 0 === t && (t = {}), void 0 !== t.forwardToSlaves && p();var o = t.forwardToSlaves || t.forwardToReplicas ? "true" : "false";return this.as._jsonRequest({ method: "PUT", url: "/1/indexes/" + encodeURIComponent(this.indexName) + "/synonyms/" + encodeURIComponent(e.objectID) + "?forwardToReplicas=" + o, body: e, hostType: "write", callback: r });
      }, o.prototype.getSynonym = function (e, t) {
        return this.as._jsonRequest({ method: "GET", url: "/1/indexes/" + encodeURIComponent(this.indexName) + "/synonyms/" + encodeURIComponent(e), hostType: "read", callback: t });
      }, o.prototype.deleteSynonym = function (e, t, r) {
        "function" == typeof t ? (r = t, t = {}) : void 0 === t && (t = {}), void 0 !== t.forwardToSlaves && p();var o = t.forwardToSlaves || t.forwardToReplicas ? "true" : "false";return this.as._jsonRequest({ method: "DELETE", url: "/1/indexes/" + encodeURIComponent(this.indexName) + "/synonyms/" + encodeURIComponent(e) + "?forwardToReplicas=" + o, hostType: "write", callback: r });
      }, o.prototype.clearSynonyms = function (e, t) {
        "function" == typeof e ? (t = e, e = {}) : void 0 === e && (e = {}), void 0 !== e.forwardToSlaves && p();var r = e.forwardToSlaves || e.forwardToReplicas ? "true" : "false";return this.as._jsonRequest({ method: "POST", url: "/1/indexes/" + encodeURIComponent(this.indexName) + "/synonyms/clear?forwardToReplicas=" + r, hostType: "write", callback: t });
      }, o.prototype.batchSynonyms = function (e, t, r) {
        "function" == typeof t ? (r = t, t = {}) : void 0 === t && (t = {}), void 0 !== t.forwardToSlaves && p();var o = t.forwardToSlaves || t.forwardToReplicas ? "true" : "false";return this.as._jsonRequest({ method: "POST", url: "/1/indexes/" + encodeURIComponent(this.indexName) + "/synonyms/batch?forwardToReplicas=" + o + "&replaceExistingSynonyms=" + (t.replaceExistingSynonyms ? "true" : "false"), hostType: "write", body: e, callback: r });
      }, o.prototype.searchRules = function (e, t) {
        return "function" == typeof e ? (t = e, e = {}) : void 0 === e && (e = {}), this.as._jsonRequest({ method: "POST", url: "/1/indexes/" + encodeURIComponent(this.indexName) + "/rules/search", body: e, hostType: "read", callback: t });
      }, o.prototype.exportRules = function (e, t) {
        return n(this.searchRules.bind(this), e, t);
      }, o.prototype.saveRule = function (e, t, r) {
        if ("function" == typeof t ? (r = t, t = {}) : void 0 === t && (t = {}), !e.objectID) throw new l.AlgoliaSearchError("Missing or empty objectID field for rule");var o = t.forwardToReplicas === !0 ? "true" : "false";return this.as._jsonRequest({ method: "PUT", url: "/1/indexes/" + encodeURIComponent(this.indexName) + "/rules/" + encodeURIComponent(e.objectID) + "?forwardToReplicas=" + o, body: e, hostType: "write", callback: r });
      }, o.prototype.getRule = function (e, t) {
        return this.as._jsonRequest({ method: "GET", url: "/1/indexes/" + encodeURIComponent(this.indexName) + "/rules/" + encodeURIComponent(e), hostType: "read", callback: t });
      }, o.prototype.deleteRule = function (e, t, r) {
        "function" == typeof t ? (r = t, t = {}) : void 0 === t && (t = {});var o = t.forwardToReplicas === !0 ? "true" : "false";return this.as._jsonRequest({ method: "DELETE", url: "/1/indexes/" + encodeURIComponent(this.indexName) + "/rules/" + encodeURIComponent(e) + "?forwardToReplicas=" + o, hostType: "write", callback: r });
      }, o.prototype.clearRules = function (e, t) {
        "function" == typeof e ? (t = e, e = {}) : void 0 === e && (e = {});var r = e.forwardToReplicas === !0 ? "true" : "false";return this.as._jsonRequest({ method: "POST", url: "/1/indexes/" + encodeURIComponent(this.indexName) + "/rules/clear?forwardToReplicas=" + r, hostType: "write", callback: t });
      }, o.prototype.batchRules = function (e, t, r) {
        "function" == typeof t ? (r = t, t = {}) : void 0 === t && (t = {});var o = t.forwardToReplicas === !0 ? "true" : "false";return this.as._jsonRequest({ method: "POST", url: "/1/indexes/" + encodeURIComponent(this.indexName) + "/rules/batch?forwardToReplicas=" + o + "&clearExistingRules=" + (t.clearExistingRules === !0 ? "true" : "false"), hostType: "write", body: e, callback: r });
      }, o.prototype.exists = function (e) {
        var t = this.getSettings().then(function () {
          return !0;
        })["catch"](function (e) {
          if (e instanceof l.AlgoliaSearchError && 404 === e.statusCode) return !1;throw e;
        });return "function" != typeof e ? t : void t.then(function (t) {
          e(null, t);
        })["catch"](function (t) {
          e(t);
        });
      }, o.prototype.findObject = function (e, t, r) {
        t = void 0 === t ? {} : t;var o = void 0 === t.paginate || t.paginate,
            n = void 0 !== t.query ? t.query : "",
            i = this,
            s = 0,
            a = function a() {
          return t.page = s, i.search(n, t).then(function (t) {
            for (var r = t.hits, n = 0; n < r.length; n++) {
              var i = r[n];if (e(i)) return { object: i, position: n, page: s };
            }if (s += 1, !o || s >= t.nbPages) throw new l.ObjectNotFound("Object not found");return a();
          });
        },
            c = a(s);return void 0 === r ? c : void c.then(function (e) {
          r(null, e);
        })["catch"](function (e) {
          r(e);
        });
      }, o.prototype.getObjectPosition = function (e, t) {
        for (var r = e.hits, o = 0; o < r.length; o++) {
          if (r[o].objectID === t) return o;
        }return -1;
      }, o.prototype.setSettings = function (e, t, r) {
        1 !== arguments.length && "function" != typeof t || (r = t, t = {}), void 0 !== t.forwardToSlaves && p();var o = t.forwardToSlaves || t.forwardToReplicas ? "true" : "false",
            n = this;return this.as._jsonRequest({ method: "PUT", url: "/1/indexes/" + encodeURIComponent(n.indexName) + "/settings?forwardToReplicas=" + o, hostType: "write", body: e, callback: r });
      }, o.prototype.listUserKeys = a(function (e) {
        return this.listApiKeys(e);
      }, c("index.listUserKeys()", "client.listApiKeys()")), o.prototype.listApiKeys = a(function (e) {
        var t = this;return this.as._jsonRequest({ method: "GET", url: "/1/indexes/" + encodeURIComponent(t.indexName) + "/keys", hostType: "read", callback: e });
      }, c("index.listApiKeys()", "client.listApiKeys()")), o.prototype.getUserKeyACL = a(function (e, t) {
        return this.getApiKey(e, t);
      }, c("index.getUserKeyACL()", "client.getApiKey()")), o.prototype.getApiKey = a(function (e, t) {
        var r = this;return this.as._jsonRequest({ method: "GET", url: "/1/indexes/" + encodeURIComponent(r.indexName) + "/keys/" + e, hostType: "read", callback: t });
      }, c("index.getApiKey()", "client.getApiKey()")), o.prototype.deleteUserKey = a(function (e, t) {
        return this.deleteApiKey(e, t);
      }, c("index.deleteUserKey()", "client.deleteApiKey()")), o.prototype.deleteApiKey = a(function (e, t) {
        var r = this;return this.as._jsonRequest({ method: "DELETE", url: "/1/indexes/" + encodeURIComponent(r.indexName) + "/keys/" + e, hostType: "write", callback: t });
      }, c("index.deleteApiKey()", "client.deleteApiKey()")), o.prototype.addUserKey = a(function (e, t, r) {
        return this.addApiKey(e, t, r);
      }, c("index.addUserKey()", "client.addApiKey()")), o.prototype.addApiKey = a(function (t, r, o) {
        var n = e(8),
            i = "Usage: index.addApiKey(arrayOfAcls[, params, callback])";if (!n(t)) throw new Error(i);1 !== arguments.length && "function" != typeof r || (o = r, r = null);var s = { acl: t };return r && (s.validity = r.validity, s.maxQueriesPerIPPerHour = r.maxQueriesPerIPPerHour, s.maxHitsPerQuery = r.maxHitsPerQuery, s.description = r.description, r.queryParameters && (s.queryParameters = this.as._getSearchParams(r.queryParameters, "")), s.referers = r.referers), this.as._jsonRequest({ method: "POST", url: "/1/indexes/" + encodeURIComponent(this.indexName) + "/keys", body: s, hostType: "write", callback: o });
      }, c("index.addApiKey()", "client.addApiKey()")), o.prototype.addUserKeyWithValidity = a(function (e, t, r) {
        return this.addApiKey(e, t, r);
      }, c("index.addUserKeyWithValidity()", "client.addApiKey()")), o.prototype.updateUserKey = a(function (e, t, r, o) {
        return this.updateApiKey(e, t, r, o);
      }, c("index.updateUserKey()", "client.updateApiKey()")), o.prototype.updateApiKey = a(function (t, r, o, n) {
        var i = e(8),
            s = "Usage: index.updateApiKey(key, arrayOfAcls[, params, callback])";if (!i(r)) throw new Error(s);2 !== arguments.length && "function" != typeof o || (n = o, o = null);var a = { acl: r };return o && (a.validity = o.validity, a.maxQueriesPerIPPerHour = o.maxQueriesPerIPPerHour, a.maxHitsPerQuery = o.maxHitsPerQuery, a.description = o.description, o.queryParameters && (a.queryParameters = this.as._getSearchParams(o.queryParameters, "")), a.referers = o.referers), this.as._jsonRequest({ method: "PUT", url: "/1/indexes/" + encodeURIComponent(this.indexName) + "/keys/" + t, body: a, hostType: "write", callback: n });
      }, c("index.updateApiKey()", "client.updateApiKey()"));
    }, { 19: 19, 20: 20, 26: 26, 28: 28, 29: 29, 30: 30, 31: 31, 32: 32, 33: 33, 7: 7, 8: 8 }], 19: [function (e, t, r) {
      "use strict";
      function o() {}t.exports = o;var n = e(7),
          i = e(4).EventEmitter;n(o, i), o.prototype.stop = function () {
        this._stopped = !0, this._clean();
      }, o.prototype._end = function () {
        this.emit("end"), this._clean();
      }, o.prototype._error = function (e) {
        this.emit("error", e), this._clean();
      }, o.prototype._result = function (e) {
        this.emit("result", e);
      }, o.prototype._clean = function () {
        this.removeAllListeners("stop"), this.removeAllListeners("end"), this.removeAllListeners("error"), this.removeAllListeners("result");
      };
    }, { 4: 4, 7: 7 }], 20: [function (e, t, r) {
      function o(e, t) {
        this.indexName = t, this.as = e, this.typeAheadArgs = null, this.typeAheadValueOption = null, this.cache = {};
      }var n = e(25),
          i = e(28),
          s = e(29);t.exports = o, o.prototype.clearCache = function () {
        this.cache = {};
      }, o.prototype.search = n("query"), o.prototype.similarSearch = i(n("similarQuery"), s("index.similarSearch(query[, callback])", "index.search({ similarQuery: query }[, callback])")), o.prototype.browse = function (t, r, o) {
        var n,
            i,
            s = e(33),
            a = this;0 === arguments.length || 1 === arguments.length && "function" == typeof arguments[0] ? (n = 0, o = arguments[0], t = void 0) : "number" == typeof arguments[0] ? (n = arguments[0], "number" == typeof arguments[1] ? i = arguments[1] : "function" == typeof arguments[1] && (o = arguments[1], i = void 0), t = void 0, r = void 0) : "object" == _typeof(arguments[0]) ? ("function" == typeof arguments[1] && (o = arguments[1]), r = arguments[0], t = void 0) : "string" == typeof arguments[0] && "function" == typeof arguments[1] && (o = arguments[1], r = void 0), r = s({}, r || {}, { page: n, hitsPerPage: i, query: t });var c = this.as._getSearchParams(r, "");return this.as._jsonRequest({ method: "POST", url: "/1/indexes/" + encodeURIComponent(a.indexName) + "/browse", body: { params: c }, hostType: "read", callback: o });
      }, o.prototype.browseFrom = function (e, t) {
        return this.as._jsonRequest({ method: "POST", url: "/1/indexes/" + encodeURIComponent(this.indexName) + "/browse", body: { cursor: e }, hostType: "read", callback: t });
      }, o.prototype.searchForFacetValues = function (t, r) {
        var o = e(26),
            n = e(34),
            i = "Usage: index.searchForFacetValues({facetName, facetQuery, ...params}[, callback])";if (void 0 === t.facetName || void 0 === t.facetQuery) throw new Error(i);var s = t.facetName,
            a = n(o(t), function (e) {
          return "facetName" === e;
        }),
            c = this.as._getSearchParams(a, "");return this.as._jsonRequest({ method: "POST", url: "/1/indexes/" + encodeURIComponent(this.indexName) + "/facets/" + encodeURIComponent(s) + "/query", hostType: "read", body: { params: c }, callback: r });
      }, o.prototype.searchFacet = i(function (e, t) {
        return this.searchForFacetValues(e, t);
      }, s("index.searchFacet(params[, callback])", "index.searchForFacetValues(params[, callback])")), o.prototype._search = function (e, t, r, o) {
        return this.as._jsonRequest({ cache: this.cache, method: "POST", url: t || "/1/indexes/" + encodeURIComponent(this.indexName) + "/query", body: { params: e }, hostType: "read", fallback: { method: "GET", url: "/1/indexes/" + encodeURIComponent(this.indexName), body: { params: e } }, callback: r, additionalUA: o });
      }, o.prototype.getObject = function (e, t, r) {
        var o = this;1 !== arguments.length && "function" != typeof t || (r = t, t = void 0);var n = "";if (void 0 !== t) {
          n = "?attributes=";for (var i = 0; i < t.length; ++i) {
            0 !== i && (n += ","), n += t[i];
          }
        }return this.as._jsonRequest({ method: "GET", url: "/1/indexes/" + encodeURIComponent(o.indexName) + "/" + encodeURIComponent(e) + n, hostType: "read", callback: r });
      }, o.prototype.getObjects = function (t, r, o) {
        var n = e(8),
            i = e(32),
            s = "Usage: index.getObjects(arrayOfObjectIDs[, callback])";if (!n(t)) throw new Error(s);var a = this;1 !== arguments.length && "function" != typeof r || (o = r, r = void 0);var c = { requests: i(t, function (e) {
            var t = { indexName: a.indexName, objectID: e };return r && (t.attributesToRetrieve = r.join(",")), t;
          }) };return this.as._jsonRequest({ method: "POST", url: "/1/indexes/*/objects", hostType: "read", body: c, callback: o });
      }, o.prototype.as = null, o.prototype.indexName = null, o.prototype.typeAheadArgs = null, o.prototype.typeAheadValueOption = null;
    }, { 25: 25, 26: 26, 28: 28, 29: 29, 32: 32, 33: 33, 34: 34, 8: 8 }], 21: [function (e, t, r) {
      "use strict";
      var o = e(16),
          n = e(22);t.exports = n(o, "Browser");
    }, { 16: 16, 22: 22 }], 22: [function (e, t, r) {
      (function (r) {
        "use strict";
        var o = e(6),
            n = o.Promise || e(3).Promise;t.exports = function (t, i) {
          function s(t, r, o) {
            var n = e(26);return o = n(o || {}), o._ua = o._ua || s.ua, new a(t, r, o);
          }function a() {
            t.apply(this, arguments);
          }var c = e(7),
              u = e(30),
              l = e(23),
              p = e(24),
              d = e(35);i = i || "", "debug" === r.env.NODE_ENV && e(1).enable("algoliasearch*"), s.version = e(37), s.ua = "Algolia for JavaScript (" + s.version + "); " + i, s.initPlaces = d(s), o.__algolia = { debug: e(1), algoliasearch: s };var h = { hasXMLHttpRequest: "XMLHttpRequest" in o, hasXDomainRequest: "XDomainRequest" in o };return h.hasXMLHttpRequest && (h.cors = "withCredentials" in new XMLHttpRequest()), c(a, t), a.prototype._request = function (e, t) {
            return new n(function (r, o) {
              function n() {
                if (!f) {
                  clearTimeout(d);var e;try {
                    e = { body: JSON.parse(m.responseText), responseText: m.responseText, statusCode: m.status, headers: m.getAllResponseHeaders && m.getAllResponseHeaders() || {} };
                  } catch (t) {
                    e = new u.UnparsableJSON({ more: m.responseText });
                  }e instanceof u.UnparsableJSON ? o(e) : r(e);
                }
              }function i(e) {
                f || (clearTimeout(d), o(new u.Network({ more: e })));
              }function s() {
                f = !0, m.abort(), o(new u.RequestTimeout());
              }function a() {
                v = !0, clearTimeout(d), d = setTimeout(s, t.timeouts.complete);
              }function c() {
                v || a();
              }function p() {
                !v && m.readyState > 1 && a();
              }if (!h.cors && !h.hasXDomainRequest) return void o(new u.Network("CORS not supported"));e = l(e, t.headers);var d,
                  f,
                  y = t.body,
                  m = h.cors ? new XMLHttpRequest() : new XDomainRequest(),
                  v = !1;d = setTimeout(s, t.timeouts.connect), m.onprogress = c, "onreadystatechange" in m && (m.onreadystatechange = p), m.onload = n, m.onerror = i, m instanceof XMLHttpRequest ? (m.open(t.method, e, !0), t.forceAuthHeaders && (m.setRequestHeader("x-algolia-application-id", t.headers["x-algolia-application-id"]), m.setRequestHeader("x-algolia-api-key", t.headers["x-algolia-api-key"]))) : m.open(t.method, e), h.cors && (y && ("POST" === t.method ? m.setRequestHeader("content-type", "application/x-www-form-urlencoded") : m.setRequestHeader("content-type", "application/json")), m.setRequestHeader("accept", "application/json")), y ? m.send(y) : m.send();
            });
          }, a.prototype._request.fallback = function (e, t) {
            return e = l(e, t.headers), new n(function (r, o) {
              p(e, t, function (e, t) {
                return e ? void o(e) : void r(t);
              });
            });
          }, a.prototype._promise = { reject: function reject(e) {
              return n.reject(e);
            }, resolve: function resolve(e) {
              return n.resolve(e);
            }, delay: function delay(e) {
              return new n(function (t) {
                setTimeout(t, e);
              });
            }, all: function all(e) {
              return n.all(e);
            } }, s;
        };
      }).call(this, e(12));
    }, { 1: 1, 12: 12, 23: 23, 24: 24, 26: 26, 3: 3, 30: 30, 35: 35, 37: 37, 6: 6, 7: 7 }], 23: [function (e, t, r) {
      "use strict";
      function o(e, t) {
        return e += /\?/.test(e) ? "&" : "?", e + n(t);
      }t.exports = o;var n = e(14);
    }, { 14: 14 }], 24: [function (e, t, r) {
      "use strict";
      function o(e, t, r) {
        function o() {
          t.debug("JSONP: success"), m || d || (m = !0, p || (t.debug("JSONP: Fail. Script loaded but did not call the callback"), a(), r(new n.JSONPScriptFail())));
        }function s() {
          "loaded" !== this.readyState && "complete" !== this.readyState || o();
        }function a() {
          clearTimeout(v), f.onload = null, f.onreadystatechange = null, f.onerror = null, h.removeChild(f);
        }function c() {
          try {
            delete window[y], delete window[y + "_loaded"];
          } catch (e) {
            window[y] = window[y + "_loaded"] = void 0;
          }
        }function u() {
          t.debug("JSONP: Script timeout"), d = !0, a(), r(new n.RequestTimeout());
        }function l() {
          t.debug("JSONP: Script error"), m || d || (a(), r(new n.JSONPScriptError()));
        }if ("GET" !== t.method) return void r(new Error("Method " + t.method + " " + e + " is not supported by JSONP."));t.debug("JSONP: start");var p = !1,
            d = !1;i += 1;var h = document.getElementsByTagName("head")[0],
            f = document.createElement("script"),
            y = "algoliaJSONP_" + i,
            m = !1;window[y] = function (e) {
          return c(), d ? void t.debug("JSONP: Late answer, ignoring") : (p = !0, a(), void r(null, { body: e, responseText: JSON.stringify(e) }));
        }, e += "&callback=" + y, t.jsonBody && t.jsonBody.params && (e += "&" + t.jsonBody.params);var v = setTimeout(u, t.timeouts.complete);f.onreadystatechange = s, f.onload = o, f.onerror = l, f.async = !0, f.defer = !0, f.src = e, h.appendChild(f);
      }t.exports = o;var n = e(30),
          i = 0;
    }, { 30: 30 }], 25: [function (e, t, r) {
      function o(e, t) {
        return function (r, o, i) {
          if ("function" == typeof r && "object" == (typeof o === "undefined" ? "undefined" : _typeof(o)) || "object" == (typeof i === "undefined" ? "undefined" : _typeof(i))) throw new n.AlgoliaSearchError("index.search usage is index.search(query, params, cb)");0 === arguments.length || "function" == typeof r ? (i = r, r = "") : 1 !== arguments.length && "function" != typeof o || (i = o, o = void 0), "object" == (typeof r === "undefined" ? "undefined" : _typeof(r)) && null !== r ? (o = r, r = void 0) : void 0 !== r && null !== r || (r = "");var s = "";void 0 !== r && (s += e + "=" + encodeURIComponent(r));var a;return void 0 !== o && (o.additionalUA && (a = o.additionalUA, delete o.additionalUA), s = this.as._getSearchParams(o, s)), this._search(s, t, i, a);
        };
      }t.exports = o;var n = e(30);
    }, { 30: 30 }], 26: [function (e, t, r) {
      t.exports = function (e) {
        return JSON.parse(JSON.stringify(e));
      };
    }, {}], 27: [function (e, t, r) {
      function o(e, t, r) {
        var o = {};return r = r || {}, r.hosts = r.hosts || ["analytics.algolia.com", "analytics.algolia.com", "analytics.algolia.com", "analytics.algolia.com"], r.protocol = r.protocol || "https:", o.as = n(e, t, r), o.getABTests = function (e, t) {
          var r = r || {},
              o = r.offset || 0,
              n = r.limit || 10;return this.as._jsonRequest({ method: "GET", url: "/2/abtests?offset=" + encodeURIComponent(o) + "&limit=" + encodeURIComponent(n), hostType: "read", forceAuthHeaders: !0, callback: t });
        }, o.getABTest = function (e, t) {
          return this.as._jsonRequest({ method: "GET", url: "/2/abtests/" + encodeURIComponent(e), hostType: "read", forceAuthHeaders: !0, callback: t });
        }, o.addABTest = function (e, t) {
          return this.as._jsonRequest({ method: "POST", url: "/2/abtests", body: e, hostType: "read", forceAuthHeaders: !0, callback: t });
        }, o.stopABTest = function (e, t) {
          return this.as._jsonRequest({ method: "POST", url: "/2/abtests/" + encodeURIComponent(e) + "/stop", hostType: "read", forceAuthHeaders: !0, callback: t });
        }, o.deleteABTest = function (e, t) {
          return this.as._jsonRequest({ method: "DELETE", url: "/2/abtests/" + encodeURIComponent(e), hostType: "write", forceAuthHeaders: !0, callback: t });
        }, o.waitTask = function (e, t, r) {
          return this.as.initIndex(e).waitTask(t, r);
        }, o;
      }t.exports = o;var n = e(21);
    }, { 21: 21 }], 28: [function (e, t, r) {
      t.exports = function (e, t) {
        function r() {
          return o || (console.warn(t), o = !0), e.apply(this, arguments);
        }var o = !1;return r;
      };
    }, {}], 29: [function (e, t, r) {
      t.exports = function (e, t) {
        var r = e.toLowerCase().replace(/[\.\(\)]/g, "");return "algoliasearch: `" + e + "` was replaced by `" + t + "`. Please see https://github.com/algolia/algoliasearch-client-javascript/wiki/Deprecated#" + r;
      };
    }, {}], 30: [function (e, t, r) {
      "use strict";
      function o(t, r) {
        var o = e(5),
            n = this;"function" == typeof Error.captureStackTrace ? Error.captureStackTrace(this, this.constructor) : n.stack = new Error().stack || "Cannot get a stacktrace, browser is too old", this.name = "AlgoliaSearchError", this.message = t || "Unknown error", r && o(r, function (e, t) {
          n[t] = e;
        });
      }function n(e, t) {
        function r() {
          var r = Array.prototype.slice.call(arguments, 0);"string" != typeof r[0] && r.unshift(t), o.apply(this, r), this.name = "AlgoliaSearch" + e + "Error";
        }return i(r, o), r;
      }var i = e(7);i(o, Error), t.exports = { AlgoliaSearchError: o, UnparsableJSON: n("UnparsableJSON", "Could not parse the incoming response as JSON, see err.more for details"), RequestTimeout: n("RequestTimeout", "Request timed out before getting a response"), Network: n("Network", "Network issue, see err.more for details"), JSONPScriptFail: n("JSONPScriptFail", "<script> was loaded but did not call our provided callback"), ValidUntilNotFound: n("ValidUntilNotFound", "The SecuredAPIKey does not have a validUntil parameter."), JSONPScriptError: n("JSONPScriptError", "<script> unable to load due to an `error` event on it"), ObjectNotFound: n("ObjectNotFound", "Object not found"), Unknown: n("Unknown", "Unknown error occured") };
    }, { 5: 5, 7: 7 }], 31: [function (e, t, r) {
      t.exports = function (e, t) {
        t(e, 0);
      };
    }, {}], 32: [function (e, t, r) {
      var o = e(5);t.exports = function (e, t) {
        var r = [];return o(e, function (o, n) {
          r.push(t(o, n, e));
        }), r;
      };
    }, { 5: 5 }], 33: [function (e, t, r) {
      var o = e(5);t.exports = function n(e) {
        var t = Array.prototype.slice.call(arguments);return o(t, function (t) {
          for (var r in t) {
            t.hasOwnProperty(r) && ("object" == _typeof(e[r]) && "object" == _typeof(t[r]) ? e[r] = n({}, e[r], t[r]) : void 0 !== t[r] && (e[r] = t[r]));
          }
        }), e;
      };
    }, { 5: 5 }], 34: [function (e, t, r) {
      t.exports = function (t, r) {
        var o = e(10),
            n = e(5),
            i = {};return n(o(t), function (e) {
          r(e) !== !0 && (i[e] = t[e]);
        }), i;
      };
    }, { 10: 10, 5: 5 }], 35: [function (e, t, r) {
      function o(t) {
        return function (r, o, s) {
          var a = e(26);s = s && a(s) || {}, s.hosts = s.hosts || ["places-dsn.algolia.net", "places-1.algolianet.com", "places-2.algolianet.com", "places-3.algolianet.com"], 0 !== arguments.length && "object" != (typeof r === "undefined" ? "undefined" : _typeof(r)) && void 0 !== r || (r = "", o = "", s._allowEmptyCredentials = !0);var c = t(r, o, s),
              u = c.initIndex("places");return u.search = i("query", "/1/places/query"), u.reverse = function (e, t) {
            var r = n.encode(e);return this.as._jsonRequest({ method: "GET", url: "/1/places/reverse?" + r, hostType: "read", callback: t });
          }, u.getObject = function (e, t) {
            return this.as._jsonRequest({ method: "GET", url: "/1/places/" + encodeURIComponent(e), hostType: "read", callback: t });
          }, u;
        };
      }t.exports = o;var n = e(15),
          i = e(25);
    }, { 15: 15, 25: 25, 26: 26 }], 36: [function (e, t, r) {
      (function (r) {
        function o(e, t) {
          return c("localStorage failed with", t), s(), a = l, a.get(e);
        }function n(e, t) {
          return 1 === arguments.length ? a.get(e) : a.set(e, t);
        }function i() {
          try {
            return "localStorage" in r && null !== r.localStorage && (r.localStorage[u] || r.localStorage.setItem(u, JSON.stringify({})), !0);
          } catch (e) {
            return !1;
          }
        }function s() {
          try {
            r.localStorage.removeItem(u);
          } catch (e) {}
        }var a,
            c = e(1)("algoliasearch:src/hostIndexState.js"),
            u = "algoliasearch-client-js",
            l = { state: {}, set: function set(e, t) {
            return this.state[e] = t, this.state[e];
          }, get: function get(e) {
            return this.state[e] || null;
          } },
            p = { set: function set(e, t) {
            l.set(e, t);try {
              var n = JSON.parse(r.localStorage[u]);return n[e] = t, r.localStorage[u] = JSON.stringify(n), n[e];
            } catch (i) {
              return o(e, i);
            }
          }, get: function get(e) {
            try {
              return JSON.parse(r.localStorage[u])[e] || null;
            } catch (t) {
              return o(e, t);
            }
          } };a = i() ? p : l, t.exports = { get: n, set: n, supportsLocalStorage: i };
      }).call(this, "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {});
    }, { 1: 1 }], 37: [function (e, t, r) {
      "use strict";
      t.exports = "3.35.1";
    }, {}] }, {}, [21])(21);
});
"use strict";

var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };

/*! jQuery v3.3.1 | (c) JS Foundation and other contributors | jquery.org/license */
!function (e, t) {
  "use strict";
  "object" == (typeof module === "undefined" ? "undefined" : _typeof(module)) && "object" == _typeof(module.exports) ? module.exports = e.document ? t(e, !0) : function (e) {
    if (!e.document) throw new Error("jQuery requires a window with a document");return t(e);
  } : t(e);
}("undefined" != typeof window ? window : undefined, function (e, t) {
  "use strict";
  var n = [],
      r = e.document,
      i = Object.getPrototypeOf,
      o = n.slice,
      a = n.concat,
      s = n.push,
      u = n.indexOf,
      l = {},
      c = l.toString,
      f = l.hasOwnProperty,
      p = f.toString,
      d = p.call(Object),
      h = {},
      g = function e(t) {
    return "function" == typeof t && "number" != typeof t.nodeType;
  },
      y = function e(t) {
    return null != t && t === t.window;
  },
      v = { type: !0, src: !0, noModule: !0 };function m(e, t, n) {
    var i,
        o = (t = t || r).createElement("script");if (o.text = e, n) for (i in v) {
      n[i] && (o[i] = n[i]);
    }t.head.appendChild(o).parentNode.removeChild(o);
  }function x(e) {
    return null == e ? e + "" : "object" == (typeof e === "undefined" ? "undefined" : _typeof(e)) || "function" == typeof e ? l[c.call(e)] || "object" : typeof e === "undefined" ? "undefined" : _typeof(e);
  }var b = "3.3.1",
      w = function w(e, t) {
    return new w.fn.init(e, t);
  },
      T = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;w.fn = w.prototype = { jquery: "3.3.1", constructor: w, length: 0, toArray: function toArray() {
      return o.call(this);
    }, get: function get(e) {
      return null == e ? o.call(this) : e < 0 ? this[e + this.length] : this[e];
    }, pushStack: function pushStack(e) {
      var t = w.merge(this.constructor(), e);return t.prevObject = this, t;
    }, each: function each(e) {
      return w.each(this, e);
    }, map: function map(e) {
      return this.pushStack(w.map(this, function (t, n) {
        return e.call(t, n, t);
      }));
    }, slice: function slice() {
      return this.pushStack(o.apply(this, arguments));
    }, first: function first() {
      return this.eq(0);
    }, last: function last() {
      return this.eq(-1);
    }, eq: function eq(e) {
      var t = this.length,
          n = +e + (e < 0 ? t : 0);return this.pushStack(n >= 0 && n < t ? [this[n]] : []);
    }, end: function end() {
      return this.prevObject || this.constructor();
    }, push: s, sort: n.sort, splice: n.splice }, w.extend = w.fn.extend = function () {
    var e,
        t,
        n,
        r,
        i,
        o,
        a = arguments[0] || {},
        s = 1,
        u = arguments.length,
        l = !1;for ("boolean" == typeof a && (l = a, a = arguments[s] || {}, s++), "object" == (typeof a === "undefined" ? "undefined" : _typeof(a)) || g(a) || (a = {}), s === u && (a = this, s--); s < u; s++) {
      if (null != (e = arguments[s])) for (t in e) {
        n = a[t], a !== (r = e[t]) && (l && r && (w.isPlainObject(r) || (i = Array.isArray(r))) ? (i ? (i = !1, o = n && Array.isArray(n) ? n : []) : o = n && w.isPlainObject(n) ? n : {}, a[t] = w.extend(l, o, r)) : void 0 !== r && (a[t] = r));
      }
    }return a;
  }, w.extend({ expando: "jQuery" + ("3.3.1" + Math.random()).replace(/\D/g, ""), isReady: !0, error: function error(e) {
      throw new Error(e);
    }, noop: function noop() {}, isPlainObject: function isPlainObject(e) {
      var t, n;return !(!e || "[object Object]" !== c.call(e)) && (!(t = i(e)) || "function" == typeof (n = f.call(t, "constructor") && t.constructor) && p.call(n) === d);
    }, isEmptyObject: function isEmptyObject(e) {
      var t;for (t in e) {
        return !1;
      }return !0;
    }, globalEval: function globalEval(e) {
      m(e);
    }, each: function each(e, t) {
      var n,
          r = 0;if (C(e)) {
        for (n = e.length; r < n; r++) {
          if (!1 === t.call(e[r], r, e[r])) break;
        }
      } else for (r in e) {
        if (!1 === t.call(e[r], r, e[r])) break;
      }return e;
    }, trim: function trim(e) {
      return null == e ? "" : (e + "").replace(T, "");
    }, makeArray: function makeArray(e, t) {
      var n = t || [];return null != e && (C(Object(e)) ? w.merge(n, "string" == typeof e ? [e] : e) : s.call(n, e)), n;
    }, inArray: function inArray(e, t, n) {
      return null == t ? -1 : u.call(t, e, n);
    }, merge: function merge(e, t) {
      for (var n = +t.length, r = 0, i = e.length; r < n; r++) {
        e[i++] = t[r];
      }return e.length = i, e;
    }, grep: function grep(e, t, n) {
      for (var r, i = [], o = 0, a = e.length, s = !n; o < a; o++) {
        (r = !t(e[o], o)) !== s && i.push(e[o]);
      }return i;
    }, map: function map(e, t, n) {
      var r,
          i,
          o = 0,
          s = [];if (C(e)) for (r = e.length; o < r; o++) {
        null != (i = t(e[o], o, n)) && s.push(i);
      } else for (o in e) {
        null != (i = t(e[o], o, n)) && s.push(i);
      }return a.apply([], s);
    }, guid: 1, support: h }), "function" == typeof Symbol && (w.fn[Symbol.iterator] = n[Symbol.iterator]), w.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "), function (e, t) {
    l["[object " + t + "]"] = t.toLowerCase();
  });function C(e) {
    var t = !!e && "length" in e && e.length,
        n = x(e);return !g(e) && !y(e) && ("array" === n || 0 === t || "number" == typeof t && t > 0 && t - 1 in e);
  }var E = function (e) {
    var t,
        n,
        r,
        i,
        o,
        a,
        s,
        u,
        l,
        c,
        f,
        p,
        d,
        h,
        g,
        y,
        v,
        m,
        x,
        b = "sizzle" + 1 * new Date(),
        w = e.document,
        T = 0,
        C = 0,
        E = ae(),
        k = ae(),
        S = ae(),
        D = function D(e, t) {
      return e === t && (f = !0), 0;
    },
        N = {}.hasOwnProperty,
        A = [],
        j = A.pop,
        q = A.push,
        L = A.push,
        H = A.slice,
        O = function O(e, t) {
      for (var n = 0, r = e.length; n < r; n++) {
        if (e[n] === t) return n;
      }return -1;
    },
        P = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",
        M = "[\\x20\\t\\r\\n\\f]",
        R = "(?:\\\\.|[\\w-]|[^\0-\\xa0])+",
        I = "\\[" + M + "*(" + R + ")(?:" + M + "*([*^$|!~]?=)" + M + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + R + "))|)" + M + "*\\]",
        W = ":(" + R + ")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|" + I + ")*)|.*)\\)|)",
        $ = new RegExp(M + "+", "g"),
        B = new RegExp("^" + M + "+|((?:^|[^\\\\])(?:\\\\.)*)" + M + "+$", "g"),
        F = new RegExp("^" + M + "*," + M + "*"),
        _ = new RegExp("^" + M + "*([>+~]|" + M + ")" + M + "*"),
        z = new RegExp("=" + M + "*([^\\]'\"]*?)" + M + "*\\]", "g"),
        X = new RegExp(W),
        U = new RegExp("^" + R + "$"),
        V = { ID: new RegExp("^#(" + R + ")"), CLASS: new RegExp("^\\.(" + R + ")"), TAG: new RegExp("^(" + R + "|[*])"), ATTR: new RegExp("^" + I), PSEUDO: new RegExp("^" + W), CHILD: new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + M + "*(even|odd|(([+-]|)(\\d*)n|)" + M + "*(?:([+-]|)" + M + "*(\\d+)|))" + M + "*\\)|)", "i"), bool: new RegExp("^(?:" + P + ")$", "i"), needsContext: new RegExp("^" + M + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + M + "*((?:-\\d)?\\d*)" + M + "*\\)|)(?=[^-]|$)", "i") },
        G = /^(?:input|select|textarea|button)$/i,
        Y = /^h\d$/i,
        Q = /^[^{]+\{\s*\[native \w/,
        J = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
        K = /[+~]/,
        Z = new RegExp("\\\\([\\da-f]{1,6}" + M + "?|(" + M + ")|.)", "ig"),
        ee = function ee(e, t, n) {
      var r = "0x" + t - 65536;return r !== r || n ? t : r < 0 ? String.fromCharCode(r + 65536) : String.fromCharCode(r >> 10 | 55296, 1023 & r | 56320);
    },
        te = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,
        ne = function ne(e, t) {
      return t ? "\0" === e ? "\uFFFD" : e.slice(0, -1) + "\\" + e.charCodeAt(e.length - 1).toString(16) + " " : "\\" + e;
    },
        re = function re() {
      p();
    },
        ie = me(function (e) {
      return !0 === e.disabled && ("form" in e || "label" in e);
    }, { dir: "parentNode", next: "legend" });try {
      L.apply(A = H.call(w.childNodes), w.childNodes), A[w.childNodes.length].nodeType;
    } catch (e) {
      L = { apply: A.length ? function (e, t) {
          q.apply(e, H.call(t));
        } : function (e, t) {
          var n = e.length,
              r = 0;while (e[n++] = t[r++]) {}e.length = n - 1;
        } };
    }function oe(e, t, r, i) {
      var o,
          s,
          l,
          c,
          f,
          h,
          v,
          m = t && t.ownerDocument,
          T = t ? t.nodeType : 9;if (r = r || [], "string" != typeof e || !e || 1 !== T && 9 !== T && 11 !== T) return r;if (!i && ((t ? t.ownerDocument || t : w) !== d && p(t), t = t || d, g)) {
        if (11 !== T && (f = J.exec(e))) if (o = f[1]) {
          if (9 === T) {
            if (!(l = t.getElementById(o))) return r;if (l.id === o) return r.push(l), r;
          } else if (m && (l = m.getElementById(o)) && x(t, l) && l.id === o) return r.push(l), r;
        } else {
          if (f[2]) return L.apply(r, t.getElementsByTagName(e)), r;if ((o = f[3]) && n.getElementsByClassName && t.getElementsByClassName) return L.apply(r, t.getElementsByClassName(o)), r;
        }if (n.qsa && !S[e + " "] && (!y || !y.test(e))) {
          if (1 !== T) m = t, v = e;else if ("object" !== t.nodeName.toLowerCase()) {
            (c = t.getAttribute("id")) ? c = c.replace(te, ne) : t.setAttribute("id", c = b), s = (h = a(e)).length;while (s--) {
              h[s] = "#" + c + " " + ve(h[s]);
            }v = h.join(","), m = K.test(e) && ge(t.parentNode) || t;
          }if (v) try {
            return L.apply(r, m.querySelectorAll(v)), r;
          } catch (e) {} finally {
            c === b && t.removeAttribute("id");
          }
        }
      }return u(e.replace(B, "$1"), t, r, i);
    }function ae() {
      var e = [];function t(n, i) {
        return e.push(n + " ") > r.cacheLength && delete t[e.shift()], t[n + " "] = i;
      }return t;
    }function se(e) {
      return e[b] = !0, e;
    }function ue(e) {
      var t = d.createElement("fieldset");try {
        return !!e(t);
      } catch (e) {
        return !1;
      } finally {
        t.parentNode && t.parentNode.removeChild(t), t = null;
      }
    }function le(e, t) {
      var n = e.split("|"),
          i = n.length;while (i--) {
        r.attrHandle[n[i]] = t;
      }
    }function ce(e, t) {
      var n = t && e,
          r = n && 1 === e.nodeType && 1 === t.nodeType && e.sourceIndex - t.sourceIndex;if (r) return r;if (n) while (n = n.nextSibling) {
        if (n === t) return -1;
      }return e ? 1 : -1;
    }function fe(e) {
      return function (t) {
        return "input" === t.nodeName.toLowerCase() && t.type === e;
      };
    }function pe(e) {
      return function (t) {
        var n = t.nodeName.toLowerCase();return ("input" === n || "button" === n) && t.type === e;
      };
    }function de(e) {
      return function (t) {
        return "form" in t ? t.parentNode && !1 === t.disabled ? "label" in t ? "label" in t.parentNode ? t.parentNode.disabled === e : t.disabled === e : t.isDisabled === e || t.isDisabled !== !e && ie(t) === e : t.disabled === e : "label" in t && t.disabled === e;
      };
    }function he(e) {
      return se(function (t) {
        return t = +t, se(function (n, r) {
          var i,
              o = e([], n.length, t),
              a = o.length;while (a--) {
            n[i = o[a]] && (n[i] = !(r[i] = n[i]));
          }
        });
      });
    }function ge(e) {
      return e && "undefined" != typeof e.getElementsByTagName && e;
    }n = oe.support = {}, o = oe.isXML = function (e) {
      var t = e && (e.ownerDocument || e).documentElement;return !!t && "HTML" !== t.nodeName;
    }, p = oe.setDocument = function (e) {
      var t,
          i,
          a = e ? e.ownerDocument || e : w;return a !== d && 9 === a.nodeType && a.documentElement ? (d = a, h = d.documentElement, g = !o(d), w !== d && (i = d.defaultView) && i.top !== i && (i.addEventListener ? i.addEventListener("unload", re, !1) : i.attachEvent && i.attachEvent("onunload", re)), n.attributes = ue(function (e) {
        return e.className = "i", !e.getAttribute("className");
      }), n.getElementsByTagName = ue(function (e) {
        return e.appendChild(d.createComment("")), !e.getElementsByTagName("*").length;
      }), n.getElementsByClassName = Q.test(d.getElementsByClassName), n.getById = ue(function (e) {
        return h.appendChild(e).id = b, !d.getElementsByName || !d.getElementsByName(b).length;
      }), n.getById ? (r.filter.ID = function (e) {
        var t = e.replace(Z, ee);return function (e) {
          return e.getAttribute("id") === t;
        };
      }, r.find.ID = function (e, t) {
        if ("undefined" != typeof t.getElementById && g) {
          var n = t.getElementById(e);return n ? [n] : [];
        }
      }) : (r.filter.ID = function (e) {
        var t = e.replace(Z, ee);return function (e) {
          var n = "undefined" != typeof e.getAttributeNode && e.getAttributeNode("id");return n && n.value === t;
        };
      }, r.find.ID = function (e, t) {
        if ("undefined" != typeof t.getElementById && g) {
          var n,
              r,
              i,
              o = t.getElementById(e);if (o) {
            if ((n = o.getAttributeNode("id")) && n.value === e) return [o];i = t.getElementsByName(e), r = 0;while (o = i[r++]) {
              if ((n = o.getAttributeNode("id")) && n.value === e) return [o];
            }
          }return [];
        }
      }), r.find.TAG = n.getElementsByTagName ? function (e, t) {
        return "undefined" != typeof t.getElementsByTagName ? t.getElementsByTagName(e) : n.qsa ? t.querySelectorAll(e) : void 0;
      } : function (e, t) {
        var n,
            r = [],
            i = 0,
            o = t.getElementsByTagName(e);if ("*" === e) {
          while (n = o[i++]) {
            1 === n.nodeType && r.push(n);
          }return r;
        }return o;
      }, r.find.CLASS = n.getElementsByClassName && function (e, t) {
        if ("undefined" != typeof t.getElementsByClassName && g) return t.getElementsByClassName(e);
      }, v = [], y = [], (n.qsa = Q.test(d.querySelectorAll)) && (ue(function (e) {
        h.appendChild(e).innerHTML = "<a id='" + b + "'></a><select id='" + b + "-\r\\' msallowcapture=''><option selected=''></option></select>", e.querySelectorAll("[msallowcapture^='']").length && y.push("[*^$]=" + M + "*(?:''|\"\")"), e.querySelectorAll("[selected]").length || y.push("\\[" + M + "*(?:value|" + P + ")"), e.querySelectorAll("[id~=" + b + "-]").length || y.push("~="), e.querySelectorAll(":checked").length || y.push(":checked"), e.querySelectorAll("a#" + b + "+*").length || y.push(".#.+[+~]");
      }), ue(function (e) {
        e.innerHTML = "<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t = d.createElement("input");t.setAttribute("type", "hidden"), e.appendChild(t).setAttribute("name", "D"), e.querySelectorAll("[name=d]").length && y.push("name" + M + "*[*^$|!~]?="), 2 !== e.querySelectorAll(":enabled").length && y.push(":enabled", ":disabled"), h.appendChild(e).disabled = !0, 2 !== e.querySelectorAll(":disabled").length && y.push(":enabled", ":disabled"), e.querySelectorAll("*,:x"), y.push(",.*:");
      })), (n.matchesSelector = Q.test(m = h.matches || h.webkitMatchesSelector || h.mozMatchesSelector || h.oMatchesSelector || h.msMatchesSelector)) && ue(function (e) {
        n.disconnectedMatch = m.call(e, "*"), m.call(e, "[s!='']:x"), v.push("!=", W);
      }), y = y.length && new RegExp(y.join("|")), v = v.length && new RegExp(v.join("|")), t = Q.test(h.compareDocumentPosition), x = t || Q.test(h.contains) ? function (e, t) {
        var n = 9 === e.nodeType ? e.documentElement : e,
            r = t && t.parentNode;return e === r || !(!r || 1 !== r.nodeType || !(n.contains ? n.contains(r) : e.compareDocumentPosition && 16 & e.compareDocumentPosition(r)));
      } : function (e, t) {
        if (t) while (t = t.parentNode) {
          if (t === e) return !0;
        }return !1;
      }, D = t ? function (e, t) {
        if (e === t) return f = !0, 0;var r = !e.compareDocumentPosition - !t.compareDocumentPosition;return r || (1 & (r = (e.ownerDocument || e) === (t.ownerDocument || t) ? e.compareDocumentPosition(t) : 1) || !n.sortDetached && t.compareDocumentPosition(e) === r ? e === d || e.ownerDocument === w && x(w, e) ? -1 : t === d || t.ownerDocument === w && x(w, t) ? 1 : c ? O(c, e) - O(c, t) : 0 : 4 & r ? -1 : 1);
      } : function (e, t) {
        if (e === t) return f = !0, 0;var n,
            r = 0,
            i = e.parentNode,
            o = t.parentNode,
            a = [e],
            s = [t];if (!i || !o) return e === d ? -1 : t === d ? 1 : i ? -1 : o ? 1 : c ? O(c, e) - O(c, t) : 0;if (i === o) return ce(e, t);n = e;while (n = n.parentNode) {
          a.unshift(n);
        }n = t;while (n = n.parentNode) {
          s.unshift(n);
        }while (a[r] === s[r]) {
          r++;
        }return r ? ce(a[r], s[r]) : a[r] === w ? -1 : s[r] === w ? 1 : 0;
      }, d) : d;
    }, oe.matches = function (e, t) {
      return oe(e, null, null, t);
    }, oe.matchesSelector = function (e, t) {
      if ((e.ownerDocument || e) !== d && p(e), t = t.replace(z, "='$1']"), n.matchesSelector && g && !S[t + " "] && (!v || !v.test(t)) && (!y || !y.test(t))) try {
        var r = m.call(e, t);if (r || n.disconnectedMatch || e.document && 11 !== e.document.nodeType) return r;
      } catch (e) {}return oe(t, d, null, [e]).length > 0;
    }, oe.contains = function (e, t) {
      return (e.ownerDocument || e) !== d && p(e), x(e, t);
    }, oe.attr = function (e, t) {
      (e.ownerDocument || e) !== d && p(e);var i = r.attrHandle[t.toLowerCase()],
          o = i && N.call(r.attrHandle, t.toLowerCase()) ? i(e, t, !g) : void 0;return void 0 !== o ? o : n.attributes || !g ? e.getAttribute(t) : (o = e.getAttributeNode(t)) && o.specified ? o.value : null;
    }, oe.escape = function (e) {
      return (e + "").replace(te, ne);
    }, oe.error = function (e) {
      throw new Error("Syntax error, unrecognized expression: " + e);
    }, oe.uniqueSort = function (e) {
      var t,
          r = [],
          i = 0,
          o = 0;if (f = !n.detectDuplicates, c = !n.sortStable && e.slice(0), e.sort(D), f) {
        while (t = e[o++]) {
          t === e[o] && (i = r.push(o));
        }while (i--) {
          e.splice(r[i], 1);
        }
      }return c = null, e;
    }, i = oe.getText = function (e) {
      var t,
          n = "",
          r = 0,
          o = e.nodeType;if (o) {
        if (1 === o || 9 === o || 11 === o) {
          if ("string" == typeof e.textContent) return e.textContent;for (e = e.firstChild; e; e = e.nextSibling) {
            n += i(e);
          }
        } else if (3 === o || 4 === o) return e.nodeValue;
      } else while (t = e[r++]) {
        n += i(t);
      }return n;
    }, (r = oe.selectors = { cacheLength: 50, createPseudo: se, match: V, attrHandle: {}, find: {}, relative: { ">": { dir: "parentNode", first: !0 }, " ": { dir: "parentNode" }, "+": { dir: "previousSibling", first: !0 }, "~": { dir: "previousSibling" } }, preFilter: { ATTR: function ATTR(e) {
          return e[1] = e[1].replace(Z, ee), e[3] = (e[3] || e[4] || e[5] || "").replace(Z, ee), "~=" === e[2] && (e[3] = " " + e[3] + " "), e.slice(0, 4);
        }, CHILD: function CHILD(e) {
          return e[1] = e[1].toLowerCase(), "nth" === e[1].slice(0, 3) ? (e[3] || oe.error(e[0]), e[4] = +(e[4] ? e[5] + (e[6] || 1) : 2 * ("even" === e[3] || "odd" === e[3])), e[5] = +(e[7] + e[8] || "odd" === e[3])) : e[3] && oe.error(e[0]), e;
        }, PSEUDO: function PSEUDO(e) {
          var t,
              n = !e[6] && e[2];return V.CHILD.test(e[0]) ? null : (e[3] ? e[2] = e[4] || e[5] || "" : n && X.test(n) && (t = a(n, !0)) && (t = n.indexOf(")", n.length - t) - n.length) && (e[0] = e[0].slice(0, t), e[2] = n.slice(0, t)), e.slice(0, 3));
        } }, filter: { TAG: function TAG(e) {
          var t = e.replace(Z, ee).toLowerCase();return "*" === e ? function () {
            return !0;
          } : function (e) {
            return e.nodeName && e.nodeName.toLowerCase() === t;
          };
        }, CLASS: function CLASS(e) {
          var t = E[e + " "];return t || (t = new RegExp("(^|" + M + ")" + e + "(" + M + "|$)")) && E(e, function (e) {
            return t.test("string" == typeof e.className && e.className || "undefined" != typeof e.getAttribute && e.getAttribute("class") || "");
          });
        }, ATTR: function ATTR(e, t, n) {
          return function (r) {
            var i = oe.attr(r, e);return null == i ? "!=" === t : !t || (i += "", "=" === t ? i === n : "!=" === t ? i !== n : "^=" === t ? n && 0 === i.indexOf(n) : "*=" === t ? n && i.indexOf(n) > -1 : "$=" === t ? n && i.slice(-n.length) === n : "~=" === t ? (" " + i.replace($, " ") + " ").indexOf(n) > -1 : "|=" === t && (i === n || i.slice(0, n.length + 1) === n + "-"));
          };
        }, CHILD: function CHILD(e, t, n, r, i) {
          var o = "nth" !== e.slice(0, 3),
              a = "last" !== e.slice(-4),
              s = "of-type" === t;return 1 === r && 0 === i ? function (e) {
            return !!e.parentNode;
          } : function (t, n, u) {
            var l,
                c,
                f,
                p,
                d,
                h,
                g = o !== a ? "nextSibling" : "previousSibling",
                y = t.parentNode,
                v = s && t.nodeName.toLowerCase(),
                m = !u && !s,
                x = !1;if (y) {
              if (o) {
                while (g) {
                  p = t;while (p = p[g]) {
                    if (s ? p.nodeName.toLowerCase() === v : 1 === p.nodeType) return !1;
                  }h = g = "only" === e && !h && "nextSibling";
                }return !0;
              }if (h = [a ? y.firstChild : y.lastChild], a && m) {
                x = (d = (l = (c = (f = (p = y)[b] || (p[b] = {}))[p.uniqueID] || (f[p.uniqueID] = {}))[e] || [])[0] === T && l[1]) && l[2], p = d && y.childNodes[d];while (p = ++d && p && p[g] || (x = d = 0) || h.pop()) {
                  if (1 === p.nodeType && ++x && p === t) {
                    c[e] = [T, d, x];break;
                  }
                }
              } else if (m && (x = d = (l = (c = (f = (p = t)[b] || (p[b] = {}))[p.uniqueID] || (f[p.uniqueID] = {}))[e] || [])[0] === T && l[1]), !1 === x) while (p = ++d && p && p[g] || (x = d = 0) || h.pop()) {
                if ((s ? p.nodeName.toLowerCase() === v : 1 === p.nodeType) && ++x && (m && ((c = (f = p[b] || (p[b] = {}))[p.uniqueID] || (f[p.uniqueID] = {}))[e] = [T, x]), p === t)) break;
              }return (x -= i) === r || x % r == 0 && x / r >= 0;
            }
          };
        }, PSEUDO: function PSEUDO(e, t) {
          var n,
              i = r.pseudos[e] || r.setFilters[e.toLowerCase()] || oe.error("unsupported pseudo: " + e);return i[b] ? i(t) : i.length > 1 ? (n = [e, e, "", t], r.setFilters.hasOwnProperty(e.toLowerCase()) ? se(function (e, n) {
            var r,
                o = i(e, t),
                a = o.length;while (a--) {
              e[r = O(e, o[a])] = !(n[r] = o[a]);
            }
          }) : function (e) {
            return i(e, 0, n);
          }) : i;
        } }, pseudos: { not: se(function (e) {
          var t = [],
              n = [],
              r = s(e.replace(B, "$1"));return r[b] ? se(function (e, t, n, i) {
            var o,
                a = r(e, null, i, []),
                s = e.length;while (s--) {
              (o = a[s]) && (e[s] = !(t[s] = o));
            }
          }) : function (e, i, o) {
            return t[0] = e, r(t, null, o, n), t[0] = null, !n.pop();
          };
        }), has: se(function (e) {
          return function (t) {
            return oe(e, t).length > 0;
          };
        }), contains: se(function (e) {
          return e = e.replace(Z, ee), function (t) {
            return (t.textContent || t.innerText || i(t)).indexOf(e) > -1;
          };
        }), lang: se(function (e) {
          return U.test(e || "") || oe.error("unsupported lang: " + e), e = e.replace(Z, ee).toLowerCase(), function (t) {
            var n;do {
              if (n = g ? t.lang : t.getAttribute("xml:lang") || t.getAttribute("lang")) return (n = n.toLowerCase()) === e || 0 === n.indexOf(e + "-");
            } while ((t = t.parentNode) && 1 === t.nodeType);return !1;
          };
        }), target: function target(t) {
          var n = e.location && e.location.hash;return n && n.slice(1) === t.id;
        }, root: function root(e) {
          return e === h;
        }, focus: function focus(e) {
          return e === d.activeElement && (!d.hasFocus || d.hasFocus()) && !!(e.type || e.href || ~e.tabIndex);
        }, enabled: de(!1), disabled: de(!0), checked: function checked(e) {
          var t = e.nodeName.toLowerCase();return "input" === t && !!e.checked || "option" === t && !!e.selected;
        }, selected: function selected(e) {
          return e.parentNode && e.parentNode.selectedIndex, !0 === e.selected;
        }, empty: function empty(e) {
          for (e = e.firstChild; e; e = e.nextSibling) {
            if (e.nodeType < 6) return !1;
          }return !0;
        }, parent: function parent(e) {
          return !r.pseudos.empty(e);
        }, header: function header(e) {
          return Y.test(e.nodeName);
        }, input: function input(e) {
          return G.test(e.nodeName);
        }, button: function button(e) {
          var t = e.nodeName.toLowerCase();return "input" === t && "button" === e.type || "button" === t;
        }, text: function text(e) {
          var t;return "input" === e.nodeName.toLowerCase() && "text" === e.type && (null == (t = e.getAttribute("type")) || "text" === t.toLowerCase());
        }, first: he(function () {
          return [0];
        }), last: he(function (e, t) {
          return [t - 1];
        }), eq: he(function (e, t, n) {
          return [n < 0 ? n + t : n];
        }), even: he(function (e, t) {
          for (var n = 0; n < t; n += 2) {
            e.push(n);
          }return e;
        }), odd: he(function (e, t) {
          for (var n = 1; n < t; n += 2) {
            e.push(n);
          }return e;
        }), lt: he(function (e, t, n) {
          for (var r = n < 0 ? n + t : n; --r >= 0;) {
            e.push(r);
          }return e;
        }), gt: he(function (e, t, n) {
          for (var r = n < 0 ? n + t : n; ++r < t;) {
            e.push(r);
          }return e;
        }) } }).pseudos.nth = r.pseudos.eq;for (t in { radio: !0, checkbox: !0, file: !0, password: !0, image: !0 }) {
      r.pseudos[t] = fe(t);
    }for (t in { submit: !0, reset: !0 }) {
      r.pseudos[t] = pe(t);
    }function ye() {}ye.prototype = r.filters = r.pseudos, r.setFilters = new ye(), a = oe.tokenize = function (e, t) {
      var n,
          i,
          o,
          a,
          s,
          u,
          l,
          c = k[e + " "];if (c) return t ? 0 : c.slice(0);s = e, u = [], l = r.preFilter;while (s) {
        n && !(i = F.exec(s)) || (i && (s = s.slice(i[0].length) || s), u.push(o = [])), n = !1, (i = _.exec(s)) && (n = i.shift(), o.push({ value: n, type: i[0].replace(B, " ") }), s = s.slice(n.length));for (a in r.filter) {
          !(i = V[a].exec(s)) || l[a] && !(i = l[a](i)) || (n = i.shift(), o.push({ value: n, type: a, matches: i }), s = s.slice(n.length));
        }if (!n) break;
      }return t ? s.length : s ? oe.error(e) : k(e, u).slice(0);
    };function ve(e) {
      for (var t = 0, n = e.length, r = ""; t < n; t++) {
        r += e[t].value;
      }return r;
    }function me(e, t, n) {
      var r = t.dir,
          i = t.next,
          o = i || r,
          a = n && "parentNode" === o,
          s = C++;return t.first ? function (t, n, i) {
        while (t = t[r]) {
          if (1 === t.nodeType || a) return e(t, n, i);
        }return !1;
      } : function (t, n, u) {
        var l,
            c,
            f,
            p = [T, s];if (u) {
          while (t = t[r]) {
            if ((1 === t.nodeType || a) && e(t, n, u)) return !0;
          }
        } else while (t = t[r]) {
          if (1 === t.nodeType || a) if (f = t[b] || (t[b] = {}), c = f[t.uniqueID] || (f[t.uniqueID] = {}), i && i === t.nodeName.toLowerCase()) t = t[r] || t;else {
            if ((l = c[o]) && l[0] === T && l[1] === s) return p[2] = l[2];if (c[o] = p, p[2] = e(t, n, u)) return !0;
          }
        }return !1;
      };
    }function xe(e) {
      return e.length > 1 ? function (t, n, r) {
        var i = e.length;while (i--) {
          if (!e[i](t, n, r)) return !1;
        }return !0;
      } : e[0];
    }function be(e, t, n) {
      for (var r = 0, i = t.length; r < i; r++) {
        oe(e, t[r], n);
      }return n;
    }function we(e, t, n, r, i) {
      for (var o, a = [], s = 0, u = e.length, l = null != t; s < u; s++) {
        (o = e[s]) && (n && !n(o, r, i) || (a.push(o), l && t.push(s)));
      }return a;
    }function Te(e, t, n, r, i, o) {
      return r && !r[b] && (r = Te(r)), i && !i[b] && (i = Te(i, o)), se(function (o, a, s, u) {
        var l,
            c,
            f,
            p = [],
            d = [],
            h = a.length,
            g = o || be(t || "*", s.nodeType ? [s] : s, []),
            y = !e || !o && t ? g : we(g, p, e, s, u),
            v = n ? i || (o ? e : h || r) ? [] : a : y;if (n && n(y, v, s, u), r) {
          l = we(v, d), r(l, [], s, u), c = l.length;while (c--) {
            (f = l[c]) && (v[d[c]] = !(y[d[c]] = f));
          }
        }if (o) {
          if (i || e) {
            if (i) {
              l = [], c = v.length;while (c--) {
                (f = v[c]) && l.push(y[c] = f);
              }i(null, v = [], l, u);
            }c = v.length;while (c--) {
              (f = v[c]) && (l = i ? O(o, f) : p[c]) > -1 && (o[l] = !(a[l] = f));
            }
          }
        } else v = we(v === a ? v.splice(h, v.length) : v), i ? i(null, a, v, u) : L.apply(a, v);
      });
    }function Ce(e) {
      for (var t, n, i, o = e.length, a = r.relative[e[0].type], s = a || r.relative[" "], u = a ? 1 : 0, c = me(function (e) {
        return e === t;
      }, s, !0), f = me(function (e) {
        return O(t, e) > -1;
      }, s, !0), p = [function (e, n, r) {
        var i = !a && (r || n !== l) || ((t = n).nodeType ? c(e, n, r) : f(e, n, r));return t = null, i;
      }]; u < o; u++) {
        if (n = r.relative[e[u].type]) p = [me(xe(p), n)];else {
          if ((n = r.filter[e[u].type].apply(null, e[u].matches))[b]) {
            for (i = ++u; i < o; i++) {
              if (r.relative[e[i].type]) break;
            }return Te(u > 1 && xe(p), u > 1 && ve(e.slice(0, u - 1).concat({ value: " " === e[u - 2].type ? "*" : "" })).replace(B, "$1"), n, u < i && Ce(e.slice(u, i)), i < o && Ce(e = e.slice(i)), i < o && ve(e));
          }p.push(n);
        }
      }return xe(p);
    }function Ee(e, t) {
      var n = t.length > 0,
          i = e.length > 0,
          o = function o(_o, a, s, u, c) {
        var f,
            h,
            y,
            v = 0,
            m = "0",
            x = _o && [],
            b = [],
            w = l,
            C = _o || i && r.find.TAG("*", c),
            E = T += null == w ? 1 : Math.random() || .1,
            k = C.length;for (c && (l = a === d || a || c); m !== k && null != (f = C[m]); m++) {
          if (i && f) {
            h = 0, a || f.ownerDocument === d || (p(f), s = !g);while (y = e[h++]) {
              if (y(f, a || d, s)) {
                u.push(f);break;
              }
            }c && (T = E);
          }n && ((f = !y && f) && v--, _o && x.push(f));
        }if (v += m, n && m !== v) {
          h = 0;while (y = t[h++]) {
            y(x, b, a, s);
          }if (_o) {
            if (v > 0) while (m--) {
              x[m] || b[m] || (b[m] = j.call(u));
            }b = we(b);
          }L.apply(u, b), c && !_o && b.length > 0 && v + t.length > 1 && oe.uniqueSort(u);
        }return c && (T = E, l = w), x;
      };return n ? se(o) : o;
    }return s = oe.compile = function (e, t) {
      var n,
          r = [],
          i = [],
          o = S[e + " "];if (!o) {
        t || (t = a(e)), n = t.length;while (n--) {
          (o = Ce(t[n]))[b] ? r.push(o) : i.push(o);
        }(o = S(e, Ee(i, r))).selector = e;
      }return o;
    }, u = oe.select = function (e, t, n, i) {
      var o,
          u,
          l,
          c,
          f,
          p = "function" == typeof e && e,
          d = !i && a(e = p.selector || e);if (n = n || [], 1 === d.length) {
        if ((u = d[0] = d[0].slice(0)).length > 2 && "ID" === (l = u[0]).type && 9 === t.nodeType && g && r.relative[u[1].type]) {
          if (!(t = (r.find.ID(l.matches[0].replace(Z, ee), t) || [])[0])) return n;p && (t = t.parentNode), e = e.slice(u.shift().value.length);
        }o = V.needsContext.test(e) ? 0 : u.length;while (o--) {
          if (l = u[o], r.relative[c = l.type]) break;if ((f = r.find[c]) && (i = f(l.matches[0].replace(Z, ee), K.test(u[0].type) && ge(t.parentNode) || t))) {
            if (u.splice(o, 1), !(e = i.length && ve(u))) return L.apply(n, i), n;break;
          }
        }
      }return (p || s(e, d))(i, t, !g, n, !t || K.test(e) && ge(t.parentNode) || t), n;
    }, n.sortStable = b.split("").sort(D).join("") === b, n.detectDuplicates = !!f, p(), n.sortDetached = ue(function (e) {
      return 1 & e.compareDocumentPosition(d.createElement("fieldset"));
    }), ue(function (e) {
      return e.innerHTML = "<a href='#'></a>", "#" === e.firstChild.getAttribute("href");
    }) || le("type|href|height|width", function (e, t, n) {
      if (!n) return e.getAttribute(t, "type" === t.toLowerCase() ? 1 : 2);
    }), n.attributes && ue(function (e) {
      return e.innerHTML = "<input/>", e.firstChild.setAttribute("value", ""), "" === e.firstChild.getAttribute("value");
    }) || le("value", function (e, t, n) {
      if (!n && "input" === e.nodeName.toLowerCase()) return e.defaultValue;
    }), ue(function (e) {
      return null == e.getAttribute("disabled");
    }) || le(P, function (e, t, n) {
      var r;if (!n) return !0 === e[t] ? t.toLowerCase() : (r = e.getAttributeNode(t)) && r.specified ? r.value : null;
    }), oe;
  }(e);w.find = E, w.expr = E.selectors, w.expr[":"] = w.expr.pseudos, w.uniqueSort = w.unique = E.uniqueSort, w.text = E.getText, w.isXMLDoc = E.isXML, w.contains = E.contains, w.escapeSelector = E.escape;var k = function k(e, t, n) {
    var r = [],
        i = void 0 !== n;while ((e = e[t]) && 9 !== e.nodeType) {
      if (1 === e.nodeType) {
        if (i && w(e).is(n)) break;r.push(e);
      }
    }return r;
  },
      S = function S(e, t) {
    for (var n = []; e; e = e.nextSibling) {
      1 === e.nodeType && e !== t && n.push(e);
    }return n;
  },
      D = w.expr.match.needsContext;function N(e, t) {
    return e.nodeName && e.nodeName.toLowerCase() === t.toLowerCase();
  }var A = /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e, t, n) {
    return g(t) ? w.grep(e, function (e, r) {
      return !!t.call(e, r, e) !== n;
    }) : t.nodeType ? w.grep(e, function (e) {
      return e === t !== n;
    }) : "string" != typeof t ? w.grep(e, function (e) {
      return u.call(t, e) > -1 !== n;
    }) : w.filter(t, e, n);
  }w.filter = function (e, t, n) {
    var r = t[0];return n && (e = ":not(" + e + ")"), 1 === t.length && 1 === r.nodeType ? w.find.matchesSelector(r, e) ? [r] : [] : w.find.matches(e, w.grep(t, function (e) {
      return 1 === e.nodeType;
    }));
  }, w.fn.extend({ find: function find(e) {
      var t,
          n,
          r = this.length,
          i = this;if ("string" != typeof e) return this.pushStack(w(e).filter(function () {
        for (t = 0; t < r; t++) {
          if (w.contains(i[t], this)) return !0;
        }
      }));for (n = this.pushStack([]), t = 0; t < r; t++) {
        w.find(e, i[t], n);
      }return r > 1 ? w.uniqueSort(n) : n;
    }, filter: function filter(e) {
      return this.pushStack(j(this, e || [], !1));
    }, not: function not(e) {
      return this.pushStack(j(this, e || [], !0));
    }, is: function is(e) {
      return !!j(this, "string" == typeof e && D.test(e) ? w(e) : e || [], !1).length;
    } });var q,
      L = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(w.fn.init = function (e, t, n) {
    var i, o;if (!e) return this;if (n = n || q, "string" == typeof e) {
      if (!(i = "<" === e[0] && ">" === e[e.length - 1] && e.length >= 3 ? [null, e, null] : L.exec(e)) || !i[1] && t) return !t || t.jquery ? (t || n).find(e) : this.constructor(t).find(e);if (i[1]) {
        if (t = t instanceof w ? t[0] : t, w.merge(this, w.parseHTML(i[1], t && t.nodeType ? t.ownerDocument || t : r, !0)), A.test(i[1]) && w.isPlainObject(t)) for (i in t) {
          g(this[i]) ? this[i](t[i]) : this.attr(i, t[i]);
        }return this;
      }return (o = r.getElementById(i[2])) && (this[0] = o, this.length = 1), this;
    }return e.nodeType ? (this[0] = e, this.length = 1, this) : g(e) ? void 0 !== n.ready ? n.ready(e) : e(w) : w.makeArray(e, this);
  }).prototype = w.fn, q = w(r);var H = /^(?:parents|prev(?:Until|All))/,
      O = { children: !0, contents: !0, next: !0, prev: !0 };w.fn.extend({ has: function has(e) {
      var t = w(e, this),
          n = t.length;return this.filter(function () {
        for (var e = 0; e < n; e++) {
          if (w.contains(this, t[e])) return !0;
        }
      });
    }, closest: function closest(e, t) {
      var n,
          r = 0,
          i = this.length,
          o = [],
          a = "string" != typeof e && w(e);if (!D.test(e)) for (; r < i; r++) {
        for (n = this[r]; n && n !== t; n = n.parentNode) {
          if (n.nodeType < 11 && (a ? a.index(n) > -1 : 1 === n.nodeType && w.find.matchesSelector(n, e))) {
            o.push(n);break;
          }
        }
      }return this.pushStack(o.length > 1 ? w.uniqueSort(o) : o);
    }, index: function index(e) {
      return e ? "string" == typeof e ? u.call(w(e), this[0]) : u.call(this, e.jquery ? e[0] : e) : this[0] && this[0].parentNode ? this.first().prevAll().length : -1;
    }, add: function add(e, t) {
      return this.pushStack(w.uniqueSort(w.merge(this.get(), w(e, t))));
    }, addBack: function addBack(e) {
      return this.add(null == e ? this.prevObject : this.prevObject.filter(e));
    } });function P(e, t) {
    while ((e = e[t]) && 1 !== e.nodeType) {}return e;
  }w.each({ parent: function parent(e) {
      var t = e.parentNode;return t && 11 !== t.nodeType ? t : null;
    }, parents: function parents(e) {
      return k(e, "parentNode");
    }, parentsUntil: function parentsUntil(e, t, n) {
      return k(e, "parentNode", n);
    }, next: function next(e) {
      return P(e, "nextSibling");
    }, prev: function prev(e) {
      return P(e, "previousSibling");
    }, nextAll: function nextAll(e) {
      return k(e, "nextSibling");
    }, prevAll: function prevAll(e) {
      return k(e, "previousSibling");
    }, nextUntil: function nextUntil(e, t, n) {
      return k(e, "nextSibling", n);
    }, prevUntil: function prevUntil(e, t, n) {
      return k(e, "previousSibling", n);
    }, siblings: function siblings(e) {
      return S((e.parentNode || {}).firstChild, e);
    }, children: function children(e) {
      return S(e.firstChild);
    }, contents: function contents(e) {
      return N(e, "iframe") ? e.contentDocument : (N(e, "template") && (e = e.content || e), w.merge([], e.childNodes));
    } }, function (e, t) {
    w.fn[e] = function (n, r) {
      var i = w.map(this, t, n);return "Until" !== e.slice(-5) && (r = n), r && "string" == typeof r && (i = w.filter(r, i)), this.length > 1 && (O[e] || w.uniqueSort(i), H.test(e) && i.reverse()), this.pushStack(i);
    };
  });var M = /[^\x20\t\r\n\f]+/g;function R(e) {
    var t = {};return w.each(e.match(M) || [], function (e, n) {
      t[n] = !0;
    }), t;
  }w.Callbacks = function (e) {
    e = "string" == typeof e ? R(e) : w.extend({}, e);var t,
        n,
        r,
        i,
        o = [],
        a = [],
        s = -1,
        u = function u() {
      for (i = i || e.once, r = t = !0; a.length; s = -1) {
        n = a.shift();while (++s < o.length) {
          !1 === o[s].apply(n[0], n[1]) && e.stopOnFalse && (s = o.length, n = !1);
        }
      }e.memory || (n = !1), t = !1, i && (o = n ? [] : "");
    },
        l = { add: function add() {
        return o && (n && !t && (s = o.length - 1, a.push(n)), function t(n) {
          w.each(n, function (n, r) {
            g(r) ? e.unique && l.has(r) || o.push(r) : r && r.length && "string" !== x(r) && t(r);
          });
        }(arguments), n && !t && u()), this;
      }, remove: function remove() {
        return w.each(arguments, function (e, t) {
          var n;while ((n = w.inArray(t, o, n)) > -1) {
            o.splice(n, 1), n <= s && s--;
          }
        }), this;
      }, has: function has(e) {
        return e ? w.inArray(e, o) > -1 : o.length > 0;
      }, empty: function empty() {
        return o && (o = []), this;
      }, disable: function disable() {
        return i = a = [], o = n = "", this;
      }, disabled: function disabled() {
        return !o;
      }, lock: function lock() {
        return i = a = [], n || t || (o = n = ""), this;
      }, locked: function locked() {
        return !!i;
      }, fireWith: function fireWith(e, n) {
        return i || (n = [e, (n = n || []).slice ? n.slice() : n], a.push(n), t || u()), this;
      }, fire: function fire() {
        return l.fireWith(this, arguments), this;
      }, fired: function fired() {
        return !!r;
      } };return l;
  };function I(e) {
    return e;
  }function W(e) {
    throw e;
  }function $(e, t, n, r) {
    var i;try {
      e && g(i = e.promise) ? i.call(e).done(t).fail(n) : e && g(i = e.then) ? i.call(e, t, n) : t.apply(void 0, [e].slice(r));
    } catch (e) {
      n.apply(void 0, [e]);
    }
  }w.extend({ Deferred: function Deferred(t) {
      var n = [["notify", "progress", w.Callbacks("memory"), w.Callbacks("memory"), 2], ["resolve", "done", w.Callbacks("once memory"), w.Callbacks("once memory"), 0, "resolved"], ["reject", "fail", w.Callbacks("once memory"), w.Callbacks("once memory"), 1, "rejected"]],
          r = "pending",
          i = { state: function state() {
          return r;
        }, always: function always() {
          return o.done(arguments).fail(arguments), this;
        }, "catch": function _catch(e) {
          return i.then(null, e);
        }, pipe: function pipe() {
          var e = arguments;return w.Deferred(function (t) {
            w.each(n, function (n, r) {
              var i = g(e[r[4]]) && e[r[4]];o[r[1]](function () {
                var e = i && i.apply(this, arguments);e && g(e.promise) ? e.promise().progress(t.notify).done(t.resolve).fail(t.reject) : t[r[0] + "With"](this, i ? [e] : arguments);
              });
            }), e = null;
          }).promise();
        }, then: function then(t, r, i) {
          var o = 0;function a(t, n, r, i) {
            return function () {
              var s = this,
                  u = arguments,
                  l = function l() {
                var e, l;if (!(t < o)) {
                  if ((e = r.apply(s, u)) === n.promise()) throw new TypeError("Thenable self-resolution");l = e && ("object" == (typeof e === "undefined" ? "undefined" : _typeof(e)) || "function" == typeof e) && e.then, g(l) ? i ? l.call(e, a(o, n, I, i), a(o, n, W, i)) : (o++, l.call(e, a(o, n, I, i), a(o, n, W, i), a(o, n, I, n.notifyWith))) : (r !== I && (s = void 0, u = [e]), (i || n.resolveWith)(s, u));
                }
              },
                  c = i ? l : function () {
                try {
                  l();
                } catch (e) {
                  w.Deferred.exceptionHook && w.Deferred.exceptionHook(e, c.stackTrace), t + 1 >= o && (r !== W && (s = void 0, u = [e]), n.rejectWith(s, u));
                }
              };t ? c() : (w.Deferred.getStackHook && (c.stackTrace = w.Deferred.getStackHook()), e.setTimeout(c));
            };
          }return w.Deferred(function (e) {
            n[0][3].add(a(0, e, g(i) ? i : I, e.notifyWith)), n[1][3].add(a(0, e, g(t) ? t : I)), n[2][3].add(a(0, e, g(r) ? r : W));
          }).promise();
        }, promise: function promise(e) {
          return null != e ? w.extend(e, i) : i;
        } },
          o = {};return w.each(n, function (e, t) {
        var a = t[2],
            s = t[5];i[t[1]] = a.add, s && a.add(function () {
          r = s;
        }, n[3 - e][2].disable, n[3 - e][3].disable, n[0][2].lock, n[0][3].lock), a.add(t[3].fire), o[t[0]] = function () {
          return o[t[0] + "With"](this === o ? void 0 : this, arguments), this;
        }, o[t[0] + "With"] = a.fireWith;
      }), i.promise(o), t && t.call(o, o), o;
    }, when: function when(e) {
      var t = arguments.length,
          n = t,
          r = Array(n),
          i = o.call(arguments),
          a = w.Deferred(),
          s = function s(e) {
        return function (n) {
          r[e] = this, i[e] = arguments.length > 1 ? o.call(arguments) : n, --t || a.resolveWith(r, i);
        };
      };if (t <= 1 && ($(e, a.done(s(n)).resolve, a.reject, !t), "pending" === a.state() || g(i[n] && i[n].then))) return a.then();while (n--) {
        $(i[n], s(n), a.reject);
      }return a.promise();
    } });var B = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;w.Deferred.exceptionHook = function (t, n) {
    e.console && e.console.warn && t && B.test(t.name) && e.console.warn("jQuery.Deferred exception: " + t.message, t.stack, n);
  }, w.readyException = function (t) {
    e.setTimeout(function () {
      throw t;
    });
  };var F = w.Deferred();w.fn.ready = function (e) {
    return F.then(e)["catch"](function (e) {
      w.readyException(e);
    }), this;
  }, w.extend({ isReady: !1, readyWait: 1, ready: function ready(e) {
      (!0 === e ? --w.readyWait : w.isReady) || (w.isReady = !0, !0 !== e && --w.readyWait > 0 || F.resolveWith(r, [w]));
    } }), w.ready.then = F.then;function _() {
    r.removeEventListener("DOMContentLoaded", _), e.removeEventListener("load", _), w.ready();
  }"complete" === r.readyState || "loading" !== r.readyState && !r.documentElement.doScroll ? e.setTimeout(w.ready) : (r.addEventListener("DOMContentLoaded", _), e.addEventListener("load", _));var z = function z(e, t, n, r, i, o, a) {
    var s = 0,
        u = e.length,
        l = null == n;if ("object" === x(n)) {
      i = !0;for (s in n) {
        z(e, t, s, n[s], !0, o, a);
      }
    } else if (void 0 !== r && (i = !0, g(r) || (a = !0), l && (a ? (t.call(e, r), t = null) : (l = t, t = function t(e, _t2, n) {
      return l.call(w(e), n);
    })), t)) for (; s < u; s++) {
      t(e[s], n, a ? r : r.call(e[s], s, t(e[s], n)));
    }return i ? e : l ? t.call(e) : u ? t(e[0], n) : o;
  },
      X = /^-ms-/,
      U = /-([a-z])/g;function V(e, t) {
    return t.toUpperCase();
  }function G(e) {
    return e.replace(X, "ms-").replace(U, V);
  }var Y = function Y(e) {
    return 1 === e.nodeType || 9 === e.nodeType || !+e.nodeType;
  };function Q() {
    this.expando = w.expando + Q.uid++;
  }Q.uid = 1, Q.prototype = { cache: function cache(e) {
      var t = e[this.expando];return t || (t = {}, Y(e) && (e.nodeType ? e[this.expando] = t : Object.defineProperty(e, this.expando, { value: t, configurable: !0 }))), t;
    }, set: function set(e, t, n) {
      var r,
          i = this.cache(e);if ("string" == typeof t) i[G(t)] = n;else for (r in t) {
        i[G(r)] = t[r];
      }return i;
    }, get: function get(e, t) {
      return void 0 === t ? this.cache(e) : e[this.expando] && e[this.expando][G(t)];
    }, access: function access(e, t, n) {
      return void 0 === t || t && "string" == typeof t && void 0 === n ? this.get(e, t) : (this.set(e, t, n), void 0 !== n ? n : t);
    }, remove: function remove(e, t) {
      var n,
          r = e[this.expando];if (void 0 !== r) {
        if (void 0 !== t) {
          n = (t = Array.isArray(t) ? t.map(G) : (t = G(t)) in r ? [t] : t.match(M) || []).length;while (n--) {
            delete r[t[n]];
          }
        }(void 0 === t || w.isEmptyObject(r)) && (e.nodeType ? e[this.expando] = void 0 : delete e[this.expando]);
      }
    }, hasData: function hasData(e) {
      var t = e[this.expando];return void 0 !== t && !w.isEmptyObject(t);
    } };var J = new Q(),
      K = new Q(),
      Z = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,
      ee = /[A-Z]/g;function te(e) {
    return "true" === e || "false" !== e && ("null" === e ? null : e === +e + "" ? +e : Z.test(e) ? JSON.parse(e) : e);
  }function ne(e, t, n) {
    var r;if (void 0 === n && 1 === e.nodeType) if (r = "data-" + t.replace(ee, "-$&").toLowerCase(), "string" == typeof (n = e.getAttribute(r))) {
      try {
        n = te(n);
      } catch (e) {}K.set(e, t, n);
    } else n = void 0;return n;
  }w.extend({ hasData: function hasData(e) {
      return K.hasData(e) || J.hasData(e);
    }, data: function data(e, t, n) {
      return K.access(e, t, n);
    }, removeData: function removeData(e, t) {
      K.remove(e, t);
    }, _data: function _data(e, t, n) {
      return J.access(e, t, n);
    }, _removeData: function _removeData(e, t) {
      J.remove(e, t);
    } }), w.fn.extend({ data: function data(e, t) {
      var n,
          r,
          i,
          o = this[0],
          a = o && o.attributes;if (void 0 === e) {
        if (this.length && (i = K.get(o), 1 === o.nodeType && !J.get(o, "hasDataAttrs"))) {
          n = a.length;while (n--) {
            a[n] && 0 === (r = a[n].name).indexOf("data-") && (r = G(r.slice(5)), ne(o, r, i[r]));
          }J.set(o, "hasDataAttrs", !0);
        }return i;
      }return "object" == (typeof e === "undefined" ? "undefined" : _typeof(e)) ? this.each(function () {
        K.set(this, e);
      }) : z(this, function (t) {
        var n;if (o && void 0 === t) {
          if (void 0 !== (n = K.get(o, e))) return n;if (void 0 !== (n = ne(o, e))) return n;
        } else this.each(function () {
          K.set(this, e, t);
        });
      }, null, t, arguments.length > 1, null, !0);
    }, removeData: function removeData(e) {
      return this.each(function () {
        K.remove(this, e);
      });
    } }), w.extend({ queue: function queue(e, t, n) {
      var r;if (e) return t = (t || "fx") + "queue", r = J.get(e, t), n && (!r || Array.isArray(n) ? r = J.access(e, t, w.makeArray(n)) : r.push(n)), r || [];
    }, dequeue: function dequeue(e, t) {
      t = t || "fx";var n = w.queue(e, t),
          r = n.length,
          i = n.shift(),
          o = w._queueHooks(e, t),
          a = function a() {
        w.dequeue(e, t);
      };"inprogress" === i && (i = n.shift(), r--), i && ("fx" === t && n.unshift("inprogress"), delete o.stop, i.call(e, a, o)), !r && o && o.empty.fire();
    }, _queueHooks: function _queueHooks(e, t) {
      var n = t + "queueHooks";return J.get(e, n) || J.access(e, n, { empty: w.Callbacks("once memory").add(function () {
          J.remove(e, [t + "queue", n]);
        }) });
    } }), w.fn.extend({ queue: function queue(e, t) {
      var n = 2;return "string" != typeof e && (t = e, e = "fx", n--), arguments.length < n ? w.queue(this[0], e) : void 0 === t ? this : this.each(function () {
        var n = w.queue(this, e, t);w._queueHooks(this, e), "fx" === e && "inprogress" !== n[0] && w.dequeue(this, e);
      });
    }, dequeue: function dequeue(e) {
      return this.each(function () {
        w.dequeue(this, e);
      });
    }, clearQueue: function clearQueue(e) {
      return this.queue(e || "fx", []);
    }, promise: function promise(e, t) {
      var n,
          r = 1,
          i = w.Deferred(),
          o = this,
          a = this.length,
          s = function s() {
        --r || i.resolveWith(o, [o]);
      };"string" != typeof e && (t = e, e = void 0), e = e || "fx";while (a--) {
        (n = J.get(o[a], e + "queueHooks")) && n.empty && (r++, n.empty.add(s));
      }return s(), i.promise(t);
    } });var re = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,
      ie = new RegExp("^(?:([+-])=|)(" + re + ")([a-z%]*)$", "i"),
      oe = ["Top", "Right", "Bottom", "Left"],
      ae = function ae(e, t) {
    return "none" === (e = t || e).style.display || "" === e.style.display && w.contains(e.ownerDocument, e) && "none" === w.css(e, "display");
  },
      se = function se(e, t, n, r) {
    var i,
        o,
        a = {};for (o in t) {
      a[o] = e.style[o], e.style[o] = t[o];
    }i = n.apply(e, r || []);for (o in t) {
      e.style[o] = a[o];
    }return i;
  };function ue(e, t, n, r) {
    var i,
        o,
        a = 20,
        s = r ? function () {
      return r.cur();
    } : function () {
      return w.css(e, t, "");
    },
        u = s(),
        l = n && n[3] || (w.cssNumber[t] ? "" : "px"),
        c = (w.cssNumber[t] || "px" !== l && +u) && ie.exec(w.css(e, t));if (c && c[3] !== l) {
      u /= 2, l = l || c[3], c = +u || 1;while (a--) {
        w.style(e, t, c + l), (1 - o) * (1 - (o = s() / u || .5)) <= 0 && (a = 0), c /= o;
      }c *= 2, w.style(e, t, c + l), n = n || [];
    }return n && (c = +c || +u || 0, i = n[1] ? c + (n[1] + 1) * n[2] : +n[2], r && (r.unit = l, r.start = c, r.end = i)), i;
  }var le = {};function ce(e) {
    var t,
        n = e.ownerDocument,
        r = e.nodeName,
        i = le[r];return i || (t = n.body.appendChild(n.createElement(r)), i = w.css(t, "display"), t.parentNode.removeChild(t), "none" === i && (i = "block"), le[r] = i, i);
  }function fe(e, t) {
    for (var n, r, i = [], o = 0, a = e.length; o < a; o++) {
      (r = e[o]).style && (n = r.style.display, t ? ("none" === n && (i[o] = J.get(r, "display") || null, i[o] || (r.style.display = "")), "" === r.style.display && ae(r) && (i[o] = ce(r))) : "none" !== n && (i[o] = "none", J.set(r, "display", n)));
    }for (o = 0; o < a; o++) {
      null != i[o] && (e[o].style.display = i[o]);
    }return e;
  }w.fn.extend({ show: function show() {
      return fe(this, !0);
    }, hide: function hide() {
      return fe(this);
    }, toggle: function toggle(e) {
      return "boolean" == typeof e ? e ? this.show() : this.hide() : this.each(function () {
        ae(this) ? w(this).show() : w(this).hide();
      });
    } });var pe = /^(?:checkbox|radio)$/i,
      de = /<([a-z][^\/\0>\x20\t\r\n\f]+)/i,
      he = /^$|^module$|\/(?:java|ecma)script/i,
      ge = { option: [1, "<select multiple='multiple'>", "</select>"], thead: [1, "<table>", "</table>"], col: [2, "<table><colgroup>", "</colgroup></table>"], tr: [2, "<table><tbody>", "</tbody></table>"], td: [3, "<table><tbody><tr>", "</tr></tbody></table>"], _default: [0, "", ""] };ge.optgroup = ge.option, ge.tbody = ge.tfoot = ge.colgroup = ge.caption = ge.thead, ge.th = ge.td;function ye(e, t) {
    var n;return n = "undefined" != typeof e.getElementsByTagName ? e.getElementsByTagName(t || "*") : "undefined" != typeof e.querySelectorAll ? e.querySelectorAll(t || "*") : [], void 0 === t || t && N(e, t) ? w.merge([e], n) : n;
  }function ve(e, t) {
    for (var n = 0, r = e.length; n < r; n++) {
      J.set(e[n], "globalEval", !t || J.get(t[n], "globalEval"));
    }
  }var me = /<|&#?\w+;/;function xe(e, t, n, r, i) {
    for (var o, a, s, u, l, c, f = t.createDocumentFragment(), p = [], d = 0, h = e.length; d < h; d++) {
      if ((o = e[d]) || 0 === o) if ("object" === x(o)) w.merge(p, o.nodeType ? [o] : o);else if (me.test(o)) {
        a = a || f.appendChild(t.createElement("div")), s = (de.exec(o) || ["", ""])[1].toLowerCase(), u = ge[s] || ge._default, a.innerHTML = u[1] + w.htmlPrefilter(o) + u[2], c = u[0];while (c--) {
          a = a.lastChild;
        }w.merge(p, a.childNodes), (a = f.firstChild).textContent = "";
      } else p.push(t.createTextNode(o));
    }f.textContent = "", d = 0;while (o = p[d++]) {
      if (r && w.inArray(o, r) > -1) i && i.push(o);else if (l = w.contains(o.ownerDocument, o), a = ye(f.appendChild(o), "script"), l && ve(a), n) {
        c = 0;while (o = a[c++]) {
          he.test(o.type || "") && n.push(o);
        }
      }
    }return f;
  }!function () {
    var e = r.createDocumentFragment().appendChild(r.createElement("div")),
        t = r.createElement("input");t.setAttribute("type", "radio"), t.setAttribute("checked", "checked"), t.setAttribute("name", "t"), e.appendChild(t), h.checkClone = e.cloneNode(!0).cloneNode(!0).lastChild.checked, e.innerHTML = "<textarea>x</textarea>", h.noCloneChecked = !!e.cloneNode(!0).lastChild.defaultValue;
  }();var be = r.documentElement,
      we = /^key/,
      Te = /^(?:mouse|pointer|contextmenu|drag|drop)|click/,
      Ce = /^([^.]*)(?:\.(.+)|)/;function Ee() {
    return !0;
  }function ke() {
    return !1;
  }function Se() {
    try {
      return r.activeElement;
    } catch (e) {}
  }function De(e, t, n, r, i, o) {
    var a, s;if ("object" == (typeof t === "undefined" ? "undefined" : _typeof(t))) {
      "string" != typeof n && (r = r || n, n = void 0);for (s in t) {
        De(e, s, n, r, t[s], o);
      }return e;
    }if (null == r && null == i ? (i = n, r = n = void 0) : null == i && ("string" == typeof n ? (i = r, r = void 0) : (i = r, r = n, n = void 0)), !1 === i) i = ke;else if (!i) return e;return 1 === o && (a = i, (i = function i(e) {
      return w().off(e), a.apply(this, arguments);
    }).guid = a.guid || (a.guid = w.guid++)), e.each(function () {
      w.event.add(this, t, i, r, n);
    });
  }w.event = { global: {}, add: function add(e, t, n, r, i) {
      var o,
          a,
          s,
          u,
          l,
          c,
          f,
          p,
          d,
          h,
          g,
          y = J.get(e);if (y) {
        n.handler && (n = (o = n).handler, i = o.selector), i && w.find.matchesSelector(be, i), n.guid || (n.guid = w.guid++), (u = y.events) || (u = y.events = {}), (a = y.handle) || (a = y.handle = function (t) {
          return "undefined" != typeof w && w.event.triggered !== t.type ? w.event.dispatch.apply(e, arguments) : void 0;
        }), l = (t = (t || "").match(M) || [""]).length;while (l--) {
          d = g = (s = Ce.exec(t[l]) || [])[1], h = (s[2] || "").split(".").sort(), d && (f = w.event.special[d] || {}, d = (i ? f.delegateType : f.bindType) || d, f = w.event.special[d] || {}, c = w.extend({ type: d, origType: g, data: r, handler: n, guid: n.guid, selector: i, needsContext: i && w.expr.match.needsContext.test(i), namespace: h.join(".") }, o), (p = u[d]) || ((p = u[d] = []).delegateCount = 0, f.setup && !1 !== f.setup.call(e, r, h, a) || e.addEventListener && e.addEventListener(d, a)), f.add && (f.add.call(e, c), c.handler.guid || (c.handler.guid = n.guid)), i ? p.splice(p.delegateCount++, 0, c) : p.push(c), w.event.global[d] = !0);
        }
      }
    }, remove: function remove(e, t, n, r, i) {
      var o,
          a,
          s,
          u,
          l,
          c,
          f,
          p,
          d,
          h,
          g,
          y = J.hasData(e) && J.get(e);if (y && (u = y.events)) {
        l = (t = (t || "").match(M) || [""]).length;while (l--) {
          if (s = Ce.exec(t[l]) || [], d = g = s[1], h = (s[2] || "").split(".").sort(), d) {
            f = w.event.special[d] || {}, p = u[d = (r ? f.delegateType : f.bindType) || d] || [], s = s[2] && new RegExp("(^|\\.)" + h.join("\\.(?:.*\\.|)") + "(\\.|$)"), a = o = p.length;while (o--) {
              c = p[o], !i && g !== c.origType || n && n.guid !== c.guid || s && !s.test(c.namespace) || r && r !== c.selector && ("**" !== r || !c.selector) || (p.splice(o, 1), c.selector && p.delegateCount--, f.remove && f.remove.call(e, c));
            }a && !p.length && (f.teardown && !1 !== f.teardown.call(e, h, y.handle) || w.removeEvent(e, d, y.handle), delete u[d]);
          } else for (d in u) {
            w.event.remove(e, d + t[l], n, r, !0);
          }
        }w.isEmptyObject(u) && J.remove(e, "handle events");
      }
    }, dispatch: function dispatch(e) {
      var t = w.event.fix(e),
          n,
          r,
          i,
          o,
          a,
          s,
          u = new Array(arguments.length),
          l = (J.get(this, "events") || {})[t.type] || [],
          c = w.event.special[t.type] || {};for (u[0] = t, n = 1; n < arguments.length; n++) {
        u[n] = arguments[n];
      }if (t.delegateTarget = this, !c.preDispatch || !1 !== c.preDispatch.call(this, t)) {
        s = w.event.handlers.call(this, t, l), n = 0;while ((o = s[n++]) && !t.isPropagationStopped()) {
          t.currentTarget = o.elem, r = 0;while ((a = o.handlers[r++]) && !t.isImmediatePropagationStopped()) {
            t.rnamespace && !t.rnamespace.test(a.namespace) || (t.handleObj = a, t.data = a.data, void 0 !== (i = ((w.event.special[a.origType] || {}).handle || a.handler).apply(o.elem, u)) && !1 === (t.result = i) && (t.preventDefault(), t.stopPropagation()));
          }
        }return c.postDispatch && c.postDispatch.call(this, t), t.result;
      }
    }, handlers: function handlers(e, t) {
      var n,
          r,
          i,
          o,
          a,
          s = [],
          u = t.delegateCount,
          l = e.target;if (u && l.nodeType && !("click" === e.type && e.button >= 1)) for (; l !== this; l = l.parentNode || this) {
        if (1 === l.nodeType && ("click" !== e.type || !0 !== l.disabled)) {
          for (o = [], a = {}, n = 0; n < u; n++) {
            void 0 === a[i = (r = t[n]).selector + " "] && (a[i] = r.needsContext ? w(i, this).index(l) > -1 : w.find(i, this, null, [l]).length), a[i] && o.push(r);
          }o.length && s.push({ elem: l, handlers: o });
        }
      }return l = this, u < t.length && s.push({ elem: l, handlers: t.slice(u) }), s;
    }, addProp: function addProp(e, t) {
      Object.defineProperty(w.Event.prototype, e, { enumerable: !0, configurable: !0, get: g(t) ? function () {
          if (this.originalEvent) return t(this.originalEvent);
        } : function () {
          if (this.originalEvent) return this.originalEvent[e];
        }, set: function set(t) {
          Object.defineProperty(this, e, { enumerable: !0, configurable: !0, writable: !0, value: t });
        } });
    }, fix: function fix(e) {
      return e[w.expando] ? e : new w.Event(e);
    }, special: { load: { noBubble: !0 }, focus: { trigger: function trigger() {
          if (this !== Se() && this.focus) return this.focus(), !1;
        }, delegateType: "focusin" }, blur: { trigger: function trigger() {
          if (this === Se() && this.blur) return this.blur(), !1;
        }, delegateType: "focusout" }, click: { trigger: function trigger() {
          if ("checkbox" === this.type && this.click && N(this, "input")) return this.click(), !1;
        }, _default: function _default(e) {
          return N(e.target, "a");
        } }, beforeunload: { postDispatch: function postDispatch(e) {
          void 0 !== e.result && e.originalEvent && (e.originalEvent.returnValue = e.result);
        } } } }, w.removeEvent = function (e, t, n) {
    e.removeEventListener && e.removeEventListener(t, n);
  }, w.Event = function (e, t) {
    if (!(this instanceof w.Event)) return new w.Event(e, t);e && e.type ? (this.originalEvent = e, this.type = e.type, this.isDefaultPrevented = e.defaultPrevented || void 0 === e.defaultPrevented && !1 === e.returnValue ? Ee : ke, this.target = e.target && 3 === e.target.nodeType ? e.target.parentNode : e.target, this.currentTarget = e.currentTarget, this.relatedTarget = e.relatedTarget) : this.type = e, t && w.extend(this, t), this.timeStamp = e && e.timeStamp || Date.now(), this[w.expando] = !0;
  }, w.Event.prototype = { constructor: w.Event, isDefaultPrevented: ke, isPropagationStopped: ke, isImmediatePropagationStopped: ke, isSimulated: !1, preventDefault: function preventDefault() {
      var e = this.originalEvent;this.isDefaultPrevented = Ee, e && !this.isSimulated && e.preventDefault();
    }, stopPropagation: function stopPropagation() {
      var e = this.originalEvent;this.isPropagationStopped = Ee, e && !this.isSimulated && e.stopPropagation();
    }, stopImmediatePropagation: function stopImmediatePropagation() {
      var e = this.originalEvent;this.isImmediatePropagationStopped = Ee, e && !this.isSimulated && e.stopImmediatePropagation(), this.stopPropagation();
    } }, w.each({ altKey: !0, bubbles: !0, cancelable: !0, changedTouches: !0, ctrlKey: !0, detail: !0, eventPhase: !0, metaKey: !0, pageX: !0, pageY: !0, shiftKey: !0, view: !0, "char": !0, charCode: !0, key: !0, keyCode: !0, button: !0, buttons: !0, clientX: !0, clientY: !0, offsetX: !0, offsetY: !0, pointerId: !0, pointerType: !0, screenX: !0, screenY: !0, targetTouches: !0, toElement: !0, touches: !0, which: function which(e) {
      var t = e.button;return null == e.which && we.test(e.type) ? null != e.charCode ? e.charCode : e.keyCode : !e.which && void 0 !== t && Te.test(e.type) ? 1 & t ? 1 : 2 & t ? 3 : 4 & t ? 2 : 0 : e.which;
    } }, w.event.addProp), w.each({ mouseenter: "mouseover", mouseleave: "mouseout", pointerenter: "pointerover", pointerleave: "pointerout" }, function (e, t) {
    w.event.special[e] = { delegateType: t, bindType: t, handle: function handle(e) {
        var n,
            r = this,
            i = e.relatedTarget,
            o = e.handleObj;return i && (i === r || w.contains(r, i)) || (e.type = o.origType, n = o.handler.apply(this, arguments), e.type = t), n;
      } };
  }), w.fn.extend({ on: function on(e, t, n, r) {
      return De(this, e, t, n, r);
    }, one: function one(e, t, n, r) {
      return De(this, e, t, n, r, 1);
    }, off: function off(e, t, n) {
      var r, i;if (e && e.preventDefault && e.handleObj) return r = e.handleObj, w(e.delegateTarget).off(r.namespace ? r.origType + "." + r.namespace : r.origType, r.selector, r.handler), this;if ("object" == (typeof e === "undefined" ? "undefined" : _typeof(e))) {
        for (i in e) {
          this.off(i, t, e[i]);
        }return this;
      }return !1 !== t && "function" != typeof t || (n = t, t = void 0), !1 === n && (n = ke), this.each(function () {
        w.event.remove(this, e, n, t);
      });
    } });var Ne = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,
      Ae = /<script|<style|<link/i,
      je = /checked\s*(?:[^=]|=\s*.checked.)/i,
      qe = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Le(e, t) {
    return N(e, "table") && N(11 !== t.nodeType ? t : t.firstChild, "tr") ? w(e).children("tbody")[0] || e : e;
  }function He(e) {
    return e.type = (null !== e.getAttribute("type")) + "/" + e.type, e;
  }function Oe(e) {
    return "true/" === (e.type || "").slice(0, 5) ? e.type = e.type.slice(5) : e.removeAttribute("type"), e;
  }function Pe(e, t) {
    var n, r, i, o, a, s, u, l;if (1 === t.nodeType) {
      if (J.hasData(e) && (o = J.access(e), a = J.set(t, o), l = o.events)) {
        delete a.handle, a.events = {};for (i in l) {
          for (n = 0, r = l[i].length; n < r; n++) {
            w.event.add(t, i, l[i][n]);
          }
        }
      }K.hasData(e) && (s = K.access(e), u = w.extend({}, s), K.set(t, u));
    }
  }function Me(e, t) {
    var n = t.nodeName.toLowerCase();"input" === n && pe.test(e.type) ? t.checked = e.checked : "input" !== n && "textarea" !== n || (t.defaultValue = e.defaultValue);
  }function Re(e, t, n, r) {
    t = a.apply([], t);var i,
        o,
        s,
        u,
        l,
        c,
        f = 0,
        p = e.length,
        d = p - 1,
        y = t[0],
        v = g(y);if (v || p > 1 && "string" == typeof y && !h.checkClone && je.test(y)) return e.each(function (i) {
      var o = e.eq(i);v && (t[0] = y.call(this, i, o.html())), Re(o, t, n, r);
    });if (p && (i = xe(t, e[0].ownerDocument, !1, e, r), o = i.firstChild, 1 === i.childNodes.length && (i = o), o || r)) {
      for (u = (s = w.map(ye(i, "script"), He)).length; f < p; f++) {
        l = i, f !== d && (l = w.clone(l, !0, !0), u && w.merge(s, ye(l, "script"))), n.call(e[f], l, f);
      }if (u) for (c = s[s.length - 1].ownerDocument, w.map(s, Oe), f = 0; f < u; f++) {
        l = s[f], he.test(l.type || "") && !J.access(l, "globalEval") && w.contains(c, l) && (l.src && "module" !== (l.type || "").toLowerCase() ? w._evalUrl && w._evalUrl(l.src) : m(l.textContent.replace(qe, ""), c, l));
      }
    }return e;
  }function Ie(e, t, n) {
    for (var r, i = t ? w.filter(t, e) : e, o = 0; null != (r = i[o]); o++) {
      n || 1 !== r.nodeType || w.cleanData(ye(r)), r.parentNode && (n && w.contains(r.ownerDocument, r) && ve(ye(r, "script")), r.parentNode.removeChild(r));
    }return e;
  }w.extend({ htmlPrefilter: function htmlPrefilter(e) {
      return e.replace(Ne, "<$1></$2>");
    }, clone: function clone(e, t, n) {
      var r,
          i,
          o,
          a,
          s = e.cloneNode(!0),
          u = w.contains(e.ownerDocument, e);if (!(h.noCloneChecked || 1 !== e.nodeType && 11 !== e.nodeType || w.isXMLDoc(e))) for (a = ye(s), r = 0, i = (o = ye(e)).length; r < i; r++) {
        Me(o[r], a[r]);
      }if (t) if (n) for (o = o || ye(e), a = a || ye(s), r = 0, i = o.length; r < i; r++) {
        Pe(o[r], a[r]);
      } else Pe(e, s);return (a = ye(s, "script")).length > 0 && ve(a, !u && ye(e, "script")), s;
    }, cleanData: function cleanData(e) {
      for (var t, n, r, i = w.event.special, o = 0; void 0 !== (n = e[o]); o++) {
        if (Y(n)) {
          if (t = n[J.expando]) {
            if (t.events) for (r in t.events) {
              i[r] ? w.event.remove(n, r) : w.removeEvent(n, r, t.handle);
            }n[J.expando] = void 0;
          }n[K.expando] && (n[K.expando] = void 0);
        }
      }
    } }), w.fn.extend({ detach: function detach(e) {
      return Ie(this, e, !0);
    }, remove: function remove(e) {
      return Ie(this, e);
    }, text: function text(e) {
      return z(this, function (e) {
        return void 0 === e ? w.text(this) : this.empty().each(function () {
          1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType || (this.textContent = e);
        });
      }, null, e, arguments.length);
    }, append: function append() {
      return Re(this, arguments, function (e) {
        1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType || Le(this, e).appendChild(e);
      });
    }, prepend: function prepend() {
      return Re(this, arguments, function (e) {
        if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) {
          var t = Le(this, e);t.insertBefore(e, t.firstChild);
        }
      });
    }, before: function before() {
      return Re(this, arguments, function (e) {
        this.parentNode && this.parentNode.insertBefore(e, this);
      });
    }, after: function after() {
      return Re(this, arguments, function (e) {
        this.parentNode && this.parentNode.insertBefore(e, this.nextSibling);
      });
    }, empty: function empty() {
      for (var e, t = 0; null != (e = this[t]); t++) {
        1 === e.nodeType && (w.cleanData(ye(e, !1)), e.textContent = "");
      }return this;
    }, clone: function clone(e, t) {
      return e = null != e && e, t = null == t ? e : t, this.map(function () {
        return w.clone(this, e, t);
      });
    }, html: function html(e) {
      return z(this, function (e) {
        var t = this[0] || {},
            n = 0,
            r = this.length;if (void 0 === e && 1 === t.nodeType) return t.innerHTML;if ("string" == typeof e && !Ae.test(e) && !ge[(de.exec(e) || ["", ""])[1].toLowerCase()]) {
          e = w.htmlPrefilter(e);try {
            for (; n < r; n++) {
              1 === (t = this[n] || {}).nodeType && (w.cleanData(ye(t, !1)), t.innerHTML = e);
            }t = 0;
          } catch (e) {}
        }t && this.empty().append(e);
      }, null, e, arguments.length);
    }, replaceWith: function replaceWith() {
      var e = [];return Re(this, arguments, function (t) {
        var n = this.parentNode;w.inArray(this, e) < 0 && (w.cleanData(ye(this)), n && n.replaceChild(t, this));
      }, e);
    } }), w.each({ appendTo: "append", prependTo: "prepend", insertBefore: "before", insertAfter: "after", replaceAll: "replaceWith" }, function (e, t) {
    w.fn[e] = function (e) {
      for (var n, r = [], i = w(e), o = i.length - 1, a = 0; a <= o; a++) {
        n = a === o ? this : this.clone(!0), w(i[a])[t](n), s.apply(r, n.get());
      }return this.pushStack(r);
    };
  });var We = new RegExp("^(" + re + ")(?!px)[a-z%]+$", "i"),
      $e = function $e(t) {
    var n = t.ownerDocument.defaultView;return n && n.opener || (n = e), n.getComputedStyle(t);
  },
      Be = new RegExp(oe.join("|"), "i");!function () {
    function t() {
      if (c) {
        l.style.cssText = "position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0", c.style.cssText = "position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%", be.appendChild(l).appendChild(c);var t = e.getComputedStyle(c);i = "1%" !== t.top, u = 12 === n(t.marginLeft), c.style.right = "60%", s = 36 === n(t.right), o = 36 === n(t.width), c.style.position = "absolute", a = 36 === c.offsetWidth || "absolute", be.removeChild(l), c = null;
      }
    }function n(e) {
      return Math.round(parseFloat(e));
    }var i,
        o,
        a,
        s,
        u,
        l = r.createElement("div"),
        c = r.createElement("div");c.style && (c.style.backgroundClip = "content-box", c.cloneNode(!0).style.backgroundClip = "", h.clearCloneStyle = "content-box" === c.style.backgroundClip, w.extend(h, { boxSizingReliable: function boxSizingReliable() {
        return t(), o;
      }, pixelBoxStyles: function pixelBoxStyles() {
        return t(), s;
      }, pixelPosition: function pixelPosition() {
        return t(), i;
      }, reliableMarginLeft: function reliableMarginLeft() {
        return t(), u;
      }, scrollboxSize: function scrollboxSize() {
        return t(), a;
      } }));
  }();function Fe(e, t, n) {
    var r,
        i,
        o,
        a,
        s = e.style;return (n = n || $e(e)) && ("" !== (a = n.getPropertyValue(t) || n[t]) || w.contains(e.ownerDocument, e) || (a = w.style(e, t)), !h.pixelBoxStyles() && We.test(a) && Be.test(t) && (r = s.width, i = s.minWidth, o = s.maxWidth, s.minWidth = s.maxWidth = s.width = a, a = n.width, s.width = r, s.minWidth = i, s.maxWidth = o)), void 0 !== a ? a + "" : a;
  }function _e(e, t) {
    return { get: function get() {
        if (!e()) return (this.get = t).apply(this, arguments);delete this.get;
      } };
  }var ze = /^(none|table(?!-c[ea]).+)/,
      Xe = /^--/,
      Ue = { position: "absolute", visibility: "hidden", display: "block" },
      Ve = { letterSpacing: "0", fontWeight: "400" },
      Ge = ["Webkit", "Moz", "ms"],
      Ye = r.createElement("div").style;function Qe(e) {
    if (e in Ye) return e;var t = e[0].toUpperCase() + e.slice(1),
        n = Ge.length;while (n--) {
      if ((e = Ge[n] + t) in Ye) return e;
    }
  }function Je(e) {
    var t = w.cssProps[e];return t || (t = w.cssProps[e] = Qe(e) || e), t;
  }function Ke(e, t, n) {
    var r = ie.exec(t);return r ? Math.max(0, r[2] - (n || 0)) + (r[3] || "px") : t;
  }function Ze(e, t, n, r, i, o) {
    var a = "width" === t ? 1 : 0,
        s = 0,
        u = 0;if (n === (r ? "border" : "content")) return 0;for (; a < 4; a += 2) {
      "margin" === n && (u += w.css(e, n + oe[a], !0, i)), r ? ("content" === n && (u -= w.css(e, "padding" + oe[a], !0, i)), "margin" !== n && (u -= w.css(e, "border" + oe[a] + "Width", !0, i))) : (u += w.css(e, "padding" + oe[a], !0, i), "padding" !== n ? u += w.css(e, "border" + oe[a] + "Width", !0, i) : s += w.css(e, "border" + oe[a] + "Width", !0, i));
    }return !r && o >= 0 && (u += Math.max(0, Math.ceil(e["offset" + t[0].toUpperCase() + t.slice(1)] - o - u - s - .5))), u;
  }function et(e, t, n) {
    var r = $e(e),
        i = Fe(e, t, r),
        o = "border-box" === w.css(e, "boxSizing", !1, r),
        a = o;if (We.test(i)) {
      if (!n) return i;i = "auto";
    }return a = a && (h.boxSizingReliable() || i === e.style[t]), ("auto" === i || !parseFloat(i) && "inline" === w.css(e, "display", !1, r)) && (i = e["offset" + t[0].toUpperCase() + t.slice(1)], a = !0), (i = parseFloat(i) || 0) + Ze(e, t, n || (o ? "border" : "content"), a, r, i) + "px";
  }w.extend({ cssHooks: { opacity: { get: function get(e, t) {
          if (t) {
            var n = Fe(e, "opacity");return "" === n ? "1" : n;
          }
        } } }, cssNumber: { animationIterationCount: !0, columnCount: !0, fillOpacity: !0, flexGrow: !0, flexShrink: !0, fontWeight: !0, lineHeight: !0, opacity: !0, order: !0, orphans: !0, widows: !0, zIndex: !0, zoom: !0 }, cssProps: {}, style: function style(e, t, n, r) {
      if (e && 3 !== e.nodeType && 8 !== e.nodeType && e.style) {
        var i,
            o,
            a,
            s = G(t),
            u = Xe.test(t),
            l = e.style;if (u || (t = Je(s)), a = w.cssHooks[t] || w.cssHooks[s], void 0 === n) return a && "get" in a && void 0 !== (i = a.get(e, !1, r)) ? i : l[t];"string" == (o = typeof n === "undefined" ? "undefined" : _typeof(n)) && (i = ie.exec(n)) && i[1] && (n = ue(e, t, i), o = "number"), null != n && n === n && ("number" === o && (n += i && i[3] || (w.cssNumber[s] ? "" : "px")), h.clearCloneStyle || "" !== n || 0 !== t.indexOf("background") || (l[t] = "inherit"), a && "set" in a && void 0 === (n = a.set(e, n, r)) || (u ? l.setProperty(t, n) : l[t] = n));
      }
    }, css: function css(e, t, n, r) {
      var i,
          o,
          a,
          s = G(t);return Xe.test(t) || (t = Je(s)), (a = w.cssHooks[t] || w.cssHooks[s]) && "get" in a && (i = a.get(e, !0, n)), void 0 === i && (i = Fe(e, t, r)), "normal" === i && t in Ve && (i = Ve[t]), "" === n || n ? (o = parseFloat(i), !0 === n || isFinite(o) ? o || 0 : i) : i;
    } }), w.each(["height", "width"], function (e, t) {
    w.cssHooks[t] = { get: function get(e, n, r) {
        if (n) return !ze.test(w.css(e, "display")) || e.getClientRects().length && e.getBoundingClientRect().width ? et(e, t, r) : se(e, Ue, function () {
          return et(e, t, r);
        });
      }, set: function set(e, n, r) {
        var i,
            o = $e(e),
            a = "border-box" === w.css(e, "boxSizing", !1, o),
            s = r && Ze(e, t, r, a, o);return a && h.scrollboxSize() === o.position && (s -= Math.ceil(e["offset" + t[0].toUpperCase() + t.slice(1)] - parseFloat(o[t]) - Ze(e, t, "border", !1, o) - .5)), s && (i = ie.exec(n)) && "px" !== (i[3] || "px") && (e.style[t] = n, n = w.css(e, t)), Ke(e, n, s);
      } };
  }), w.cssHooks.marginLeft = _e(h.reliableMarginLeft, function (e, t) {
    if (t) return (parseFloat(Fe(e, "marginLeft")) || e.getBoundingClientRect().left - se(e, { marginLeft: 0 }, function () {
      return e.getBoundingClientRect().left;
    })) + "px";
  }), w.each({ margin: "", padding: "", border: "Width" }, function (e, t) {
    w.cssHooks[e + t] = { expand: function expand(n) {
        for (var r = 0, i = {}, o = "string" == typeof n ? n.split(" ") : [n]; r < 4; r++) {
          i[e + oe[r] + t] = o[r] || o[r - 2] || o[0];
        }return i;
      } }, "margin" !== e && (w.cssHooks[e + t].set = Ke);
  }), w.fn.extend({ css: function css(e, t) {
      return z(this, function (e, t, n) {
        var r,
            i,
            o = {},
            a = 0;if (Array.isArray(t)) {
          for (r = $e(e), i = t.length; a < i; a++) {
            o[t[a]] = w.css(e, t[a], !1, r);
          }return o;
        }return void 0 !== n ? w.style(e, t, n) : w.css(e, t);
      }, e, t, arguments.length > 1);
    } });function tt(e, t, n, r, i) {
    return new tt.prototype.init(e, t, n, r, i);
  }w.Tween = tt, tt.prototype = { constructor: tt, init: function init(e, t, n, r, i, o) {
      this.elem = e, this.prop = n, this.easing = i || w.easing._default, this.options = t, this.start = this.now = this.cur(), this.end = r, this.unit = o || (w.cssNumber[n] ? "" : "px");
    }, cur: function cur() {
      var e = tt.propHooks[this.prop];return e && e.get ? e.get(this) : tt.propHooks._default.get(this);
    }, run: function run(e) {
      var t,
          n = tt.propHooks[this.prop];return this.options.duration ? this.pos = t = w.easing[this.easing](e, this.options.duration * e, 0, 1, this.options.duration) : this.pos = t = e, this.now = (this.end - this.start) * t + this.start, this.options.step && this.options.step.call(this.elem, this.now, this), n && n.set ? n.set(this) : tt.propHooks._default.set(this), this;
    } }, tt.prototype.init.prototype = tt.prototype, tt.propHooks = { _default: { get: function get(e) {
        var t;return 1 !== e.elem.nodeType || null != e.elem[e.prop] && null == e.elem.style[e.prop] ? e.elem[e.prop] : (t = w.css(e.elem, e.prop, "")) && "auto" !== t ? t : 0;
      }, set: function set(e) {
        w.fx.step[e.prop] ? w.fx.step[e.prop](e) : 1 !== e.elem.nodeType || null == e.elem.style[w.cssProps[e.prop]] && !w.cssHooks[e.prop] ? e.elem[e.prop] = e.now : w.style(e.elem, e.prop, e.now + e.unit);
      } } }, tt.propHooks.scrollTop = tt.propHooks.scrollLeft = { set: function set(e) {
      e.elem.nodeType && e.elem.parentNode && (e.elem[e.prop] = e.now);
    } }, w.easing = { linear: function linear(e) {
      return e;
    }, swing: function swing(e) {
      return .5 - Math.cos(e * Math.PI) / 2;
    }, _default: "swing" }, w.fx = tt.prototype.init, w.fx.step = {};var nt,
      rt,
      it = /^(?:toggle|show|hide)$/,
      ot = /queueHooks$/;function at() {
    rt && (!1 === r.hidden && e.requestAnimationFrame ? e.requestAnimationFrame(at) : e.setTimeout(at, w.fx.interval), w.fx.tick());
  }function st() {
    return e.setTimeout(function () {
      nt = void 0;
    }), nt = Date.now();
  }function ut(e, t) {
    var n,
        r = 0,
        i = { height: e };for (t = t ? 1 : 0; r < 4; r += 2 - t) {
      i["margin" + (n = oe[r])] = i["padding" + n] = e;
    }return t && (i.opacity = i.width = e), i;
  }function lt(e, t, n) {
    for (var r, i = (pt.tweeners[t] || []).concat(pt.tweeners["*"]), o = 0, a = i.length; o < a; o++) {
      if (r = i[o].call(n, t, e)) return r;
    }
  }function ct(e, t, n) {
    var r,
        i,
        o,
        a,
        s,
        u,
        l,
        c,
        f = "width" in t || "height" in t,
        p = this,
        d = {},
        h = e.style,
        g = e.nodeType && ae(e),
        y = J.get(e, "fxshow");n.queue || (null == (a = w._queueHooks(e, "fx")).unqueued && (a.unqueued = 0, s = a.empty.fire, a.empty.fire = function () {
      a.unqueued || s();
    }), a.unqueued++, p.always(function () {
      p.always(function () {
        a.unqueued--, w.queue(e, "fx").length || a.empty.fire();
      });
    }));for (r in t) {
      if (i = t[r], it.test(i)) {
        if (delete t[r], o = o || "toggle" === i, i === (g ? "hide" : "show")) {
          if ("show" !== i || !y || void 0 === y[r]) continue;g = !0;
        }d[r] = y && y[r] || w.style(e, r);
      }
    }if ((u = !w.isEmptyObject(t)) || !w.isEmptyObject(d)) {
      f && 1 === e.nodeType && (n.overflow = [h.overflow, h.overflowX, h.overflowY], null == (l = y && y.display) && (l = J.get(e, "display")), "none" === (c = w.css(e, "display")) && (l ? c = l : (fe([e], !0), l = e.style.display || l, c = w.css(e, "display"), fe([e]))), ("inline" === c || "inline-block" === c && null != l) && "none" === w.css(e, "float") && (u || (p.done(function () {
        h.display = l;
      }), null == l && (c = h.display, l = "none" === c ? "" : c)), h.display = "inline-block")), n.overflow && (h.overflow = "hidden", p.always(function () {
        h.overflow = n.overflow[0], h.overflowX = n.overflow[1], h.overflowY = n.overflow[2];
      })), u = !1;for (r in d) {
        u || (y ? "hidden" in y && (g = y.hidden) : y = J.access(e, "fxshow", { display: l }), o && (y.hidden = !g), g && fe([e], !0), p.done(function () {
          g || fe([e]), J.remove(e, "fxshow");for (r in d) {
            w.style(e, r, d[r]);
          }
        })), u = lt(g ? y[r] : 0, r, p), r in y || (y[r] = u.start, g && (u.end = u.start, u.start = 0));
      }
    }
  }function ft(e, t) {
    var n, r, i, o, a;for (n in e) {
      if (r = G(n), i = t[r], o = e[n], Array.isArray(o) && (i = o[1], o = e[n] = o[0]), n !== r && (e[r] = o, delete e[n]), (a = w.cssHooks[r]) && "expand" in a) {
        o = a.expand(o), delete e[r];for (n in o) {
          n in e || (e[n] = o[n], t[n] = i);
        }
      } else t[r] = i;
    }
  }function pt(e, t, n) {
    var r,
        i,
        o = 0,
        a = pt.prefilters.length,
        s = w.Deferred().always(function () {
      delete u.elem;
    }),
        u = function u() {
      if (i) return !1;for (var t = nt || st(), n = Math.max(0, l.startTime + l.duration - t), r = 1 - (n / l.duration || 0), o = 0, a = l.tweens.length; o < a; o++) {
        l.tweens[o].run(r);
      }return s.notifyWith(e, [l, r, n]), r < 1 && a ? n : (a || s.notifyWith(e, [l, 1, 0]), s.resolveWith(e, [l]), !1);
    },
        l = s.promise({ elem: e, props: w.extend({}, t), opts: w.extend(!0, { specialEasing: {}, easing: w.easing._default }, n), originalProperties: t, originalOptions: n, startTime: nt || st(), duration: n.duration, tweens: [], createTween: function createTween(t, n) {
        var r = w.Tween(e, l.opts, t, n, l.opts.specialEasing[t] || l.opts.easing);return l.tweens.push(r), r;
      }, stop: function stop(t) {
        var n = 0,
            r = t ? l.tweens.length : 0;if (i) return this;for (i = !0; n < r; n++) {
          l.tweens[n].run(1);
        }return t ? (s.notifyWith(e, [l, 1, 0]), s.resolveWith(e, [l, t])) : s.rejectWith(e, [l, t]), this;
      } }),
        c = l.props;for (ft(c, l.opts.specialEasing); o < a; o++) {
      if (r = pt.prefilters[o].call(l, e, c, l.opts)) return g(r.stop) && (w._queueHooks(l.elem, l.opts.queue).stop = r.stop.bind(r)), r;
    }return w.map(c, lt, l), g(l.opts.start) && l.opts.start.call(e, l), l.progress(l.opts.progress).done(l.opts.done, l.opts.complete).fail(l.opts.fail).always(l.opts.always), w.fx.timer(w.extend(u, { elem: e, anim: l, queue: l.opts.queue })), l;
  }w.Animation = w.extend(pt, { tweeners: { "*": [function (e, t) {
        var n = this.createTween(e, t);return ue(n.elem, e, ie.exec(t), n), n;
      }] }, tweener: function tweener(e, t) {
      g(e) ? (t = e, e = ["*"]) : e = e.match(M);for (var n, r = 0, i = e.length; r < i; r++) {
        n = e[r], pt.tweeners[n] = pt.tweeners[n] || [], pt.tweeners[n].unshift(t);
      }
    }, prefilters: [ct], prefilter: function prefilter(e, t) {
      t ? pt.prefilters.unshift(e) : pt.prefilters.push(e);
    } }), w.speed = function (e, t, n) {
    var r = e && "object" == (typeof e === "undefined" ? "undefined" : _typeof(e)) ? w.extend({}, e) : { complete: n || !n && t || g(e) && e, duration: e, easing: n && t || t && !g(t) && t };return w.fx.off ? r.duration = 0 : "number" != typeof r.duration && (r.duration in w.fx.speeds ? r.duration = w.fx.speeds[r.duration] : r.duration = w.fx.speeds._default), null != r.queue && !0 !== r.queue || (r.queue = "fx"), r.old = r.complete, r.complete = function () {
      g(r.old) && r.old.call(this), r.queue && w.dequeue(this, r.queue);
    }, r;
  }, w.fn.extend({ fadeTo: function fadeTo(e, t, n, r) {
      return this.filter(ae).css("opacity", 0).show().end().animate({ opacity: t }, e, n, r);
    }, animate: function animate(e, t, n, r) {
      var i = w.isEmptyObject(e),
          o = w.speed(t, n, r),
          a = function a() {
        var t = pt(this, w.extend({}, e), o);(i || J.get(this, "finish")) && t.stop(!0);
      };return a.finish = a, i || !1 === o.queue ? this.each(a) : this.queue(o.queue, a);
    }, stop: function stop(e, t, n) {
      var r = function r(e) {
        var t = e.stop;delete e.stop, t(n);
      };return "string" != typeof e && (n = t, t = e, e = void 0), t && !1 !== e && this.queue(e || "fx", []), this.each(function () {
        var t = !0,
            i = null != e && e + "queueHooks",
            o = w.timers,
            a = J.get(this);if (i) a[i] && a[i].stop && r(a[i]);else for (i in a) {
          a[i] && a[i].stop && ot.test(i) && r(a[i]);
        }for (i = o.length; i--;) {
          o[i].elem !== this || null != e && o[i].queue !== e || (o[i].anim.stop(n), t = !1, o.splice(i, 1));
        }!t && n || w.dequeue(this, e);
      });
    }, finish: function finish(e) {
      return !1 !== e && (e = e || "fx"), this.each(function () {
        var t,
            n = J.get(this),
            r = n[e + "queue"],
            i = n[e + "queueHooks"],
            o = w.timers,
            a = r ? r.length : 0;for (n.finish = !0, w.queue(this, e, []), i && i.stop && i.stop.call(this, !0), t = o.length; t--;) {
          o[t].elem === this && o[t].queue === e && (o[t].anim.stop(!0), o.splice(t, 1));
        }for (t = 0; t < a; t++) {
          r[t] && r[t].finish && r[t].finish.call(this);
        }delete n.finish;
      });
    } }), w.each(["toggle", "show", "hide"], function (e, t) {
    var n = w.fn[t];w.fn[t] = function (e, r, i) {
      return null == e || "boolean" == typeof e ? n.apply(this, arguments) : this.animate(ut(t, !0), e, r, i);
    };
  }), w.each({ slideDown: ut("show"), slideUp: ut("hide"), slideToggle: ut("toggle"), fadeIn: { opacity: "show" }, fadeOut: { opacity: "hide" }, fadeToggle: { opacity: "toggle" } }, function (e, t) {
    w.fn[e] = function (e, n, r) {
      return this.animate(t, e, n, r);
    };
  }), w.timers = [], w.fx.tick = function () {
    var e,
        t = 0,
        n = w.timers;for (nt = Date.now(); t < n.length; t++) {
      (e = n[t])() || n[t] !== e || n.splice(t--, 1);
    }n.length || w.fx.stop(), nt = void 0;
  }, w.fx.timer = function (e) {
    w.timers.push(e), w.fx.start();
  }, w.fx.interval = 13, w.fx.start = function () {
    rt || (rt = !0, at());
  }, w.fx.stop = function () {
    rt = null;
  }, w.fx.speeds = { slow: 600, fast: 200, _default: 400 }, w.fn.delay = function (t, n) {
    return t = w.fx ? w.fx.speeds[t] || t : t, n = n || "fx", this.queue(n, function (n, r) {
      var i = e.setTimeout(n, t);r.stop = function () {
        e.clearTimeout(i);
      };
    });
  }, function () {
    var e = r.createElement("input"),
        t = r.createElement("select").appendChild(r.createElement("option"));e.type = "checkbox", h.checkOn = "" !== e.value, h.optSelected = t.selected, (e = r.createElement("input")).value = "t", e.type = "radio", h.radioValue = "t" === e.value;
  }();var dt,
      ht = w.expr.attrHandle;w.fn.extend({ attr: function attr(e, t) {
      return z(this, w.attr, e, t, arguments.length > 1);
    }, removeAttr: function removeAttr(e) {
      return this.each(function () {
        w.removeAttr(this, e);
      });
    } }), w.extend({ attr: function attr(e, t, n) {
      var r,
          i,
          o = e.nodeType;if (3 !== o && 8 !== o && 2 !== o) return "undefined" == typeof e.getAttribute ? w.prop(e, t, n) : (1 === o && w.isXMLDoc(e) || (i = w.attrHooks[t.toLowerCase()] || (w.expr.match.bool.test(t) ? dt : void 0)), void 0 !== n ? null === n ? void w.removeAttr(e, t) : i && "set" in i && void 0 !== (r = i.set(e, n, t)) ? r : (e.setAttribute(t, n + ""), n) : i && "get" in i && null !== (r = i.get(e, t)) ? r : null == (r = w.find.attr(e, t)) ? void 0 : r);
    }, attrHooks: { type: { set: function set(e, t) {
          if (!h.radioValue && "radio" === t && N(e, "input")) {
            var n = e.value;return e.setAttribute("type", t), n && (e.value = n), t;
          }
        } } }, removeAttr: function removeAttr(e, t) {
      var n,
          r = 0,
          i = t && t.match(M);if (i && 1 === e.nodeType) while (n = i[r++]) {
        e.removeAttribute(n);
      }
    } }), dt = { set: function set(e, t, n) {
      return !1 === t ? w.removeAttr(e, n) : e.setAttribute(n, n), n;
    } }, w.each(w.expr.match.bool.source.match(/\w+/g), function (e, t) {
    var n = ht[t] || w.find.attr;ht[t] = function (e, t, r) {
      var i,
          o,
          a = t.toLowerCase();return r || (o = ht[a], ht[a] = i, i = null != n(e, t, r) ? a : null, ht[a] = o), i;
    };
  });var gt = /^(?:input|select|textarea|button)$/i,
      yt = /^(?:a|area)$/i;w.fn.extend({ prop: function prop(e, t) {
      return z(this, w.prop, e, t, arguments.length > 1);
    }, removeProp: function removeProp(e) {
      return this.each(function () {
        delete this[w.propFix[e] || e];
      });
    } }), w.extend({ prop: function prop(e, t, n) {
      var r,
          i,
          o = e.nodeType;if (3 !== o && 8 !== o && 2 !== o) return 1 === o && w.isXMLDoc(e) || (t = w.propFix[t] || t, i = w.propHooks[t]), void 0 !== n ? i && "set" in i && void 0 !== (r = i.set(e, n, t)) ? r : e[t] = n : i && "get" in i && null !== (r = i.get(e, t)) ? r : e[t];
    }, propHooks: { tabIndex: { get: function get(e) {
          var t = w.find.attr(e, "tabindex");return t ? parseInt(t, 10) : gt.test(e.nodeName) || yt.test(e.nodeName) && e.href ? 0 : -1;
        } } }, propFix: { "for": "htmlFor", "class": "className" } }), h.optSelected || (w.propHooks.selected = { get: function get(e) {
      var t = e.parentNode;return t && t.parentNode && t.parentNode.selectedIndex, null;
    }, set: function set(e) {
      var t = e.parentNode;t && (t.selectedIndex, t.parentNode && t.parentNode.selectedIndex);
    } }), w.each(["tabIndex", "readOnly", "maxLength", "cellSpacing", "cellPadding", "rowSpan", "colSpan", "useMap", "frameBorder", "contentEditable"], function () {
    w.propFix[this.toLowerCase()] = this;
  });function vt(e) {
    return (e.match(M) || []).join(" ");
  }function mt(e) {
    return e.getAttribute && e.getAttribute("class") || "";
  }function xt(e) {
    return Array.isArray(e) ? e : "string" == typeof e ? e.match(M) || [] : [];
  }w.fn.extend({ addClass: function addClass(e) {
      var t,
          n,
          r,
          i,
          o,
          a,
          s,
          u = 0;if (g(e)) return this.each(function (t) {
        w(this).addClass(e.call(this, t, mt(this)));
      });if ((t = xt(e)).length) while (n = this[u++]) {
        if (i = mt(n), r = 1 === n.nodeType && " " + vt(i) + " ") {
          a = 0;while (o = t[a++]) {
            r.indexOf(" " + o + " ") < 0 && (r += o + " ");
          }i !== (s = vt(r)) && n.setAttribute("class", s);
        }
      }return this;
    }, removeClass: function removeClass(e) {
      var t,
          n,
          r,
          i,
          o,
          a,
          s,
          u = 0;if (g(e)) return this.each(function (t) {
        w(this).removeClass(e.call(this, t, mt(this)));
      });if (!arguments.length) return this.attr("class", "");if ((t = xt(e)).length) while (n = this[u++]) {
        if (i = mt(n), r = 1 === n.nodeType && " " + vt(i) + " ") {
          a = 0;while (o = t[a++]) {
            while (r.indexOf(" " + o + " ") > -1) {
              r = r.replace(" " + o + " ", " ");
            }
          }i !== (s = vt(r)) && n.setAttribute("class", s);
        }
      }return this;
    }, toggleClass: function toggleClass(e, t) {
      var n = typeof e === "undefined" ? "undefined" : _typeof(e),
          r = "string" === n || Array.isArray(e);return "boolean" == typeof t && r ? t ? this.addClass(e) : this.removeClass(e) : g(e) ? this.each(function (n) {
        w(this).toggleClass(e.call(this, n, mt(this), t), t);
      }) : this.each(function () {
        var t, i, o, a;if (r) {
          i = 0, o = w(this), a = xt(e);while (t = a[i++]) {
            o.hasClass(t) ? o.removeClass(t) : o.addClass(t);
          }
        } else void 0 !== e && "boolean" !== n || ((t = mt(this)) && J.set(this, "__className__", t), this.setAttribute && this.setAttribute("class", t || !1 === e ? "" : J.get(this, "__className__") || ""));
      });
    }, hasClass: function hasClass(e) {
      var t,
          n,
          r = 0;t = " " + e + " ";while (n = this[r++]) {
        if (1 === n.nodeType && (" " + vt(mt(n)) + " ").indexOf(t) > -1) return !0;
      }return !1;
    } });var bt = /\r/g;w.fn.extend({ val: function val(e) {
      var t,
          n,
          r,
          i = this[0];{
        if (arguments.length) return r = g(e), this.each(function (n) {
          var i;1 === this.nodeType && (null == (i = r ? e.call(this, n, w(this).val()) : e) ? i = "" : "number" == typeof i ? i += "" : Array.isArray(i) && (i = w.map(i, function (e) {
            return null == e ? "" : e + "";
          })), (t = w.valHooks[this.type] || w.valHooks[this.nodeName.toLowerCase()]) && "set" in t && void 0 !== t.set(this, i, "value") || (this.value = i));
        });if (i) return (t = w.valHooks[i.type] || w.valHooks[i.nodeName.toLowerCase()]) && "get" in t && void 0 !== (n = t.get(i, "value")) ? n : "string" == typeof (n = i.value) ? n.replace(bt, "") : null == n ? "" : n;
      }
    } }), w.extend({ valHooks: { option: { get: function get(e) {
          var t = w.find.attr(e, "value");return null != t ? t : vt(w.text(e));
        } }, select: { get: function get(e) {
          var t,
              n,
              r,
              i = e.options,
              o = e.selectedIndex,
              a = "select-one" === e.type,
              s = a ? null : [],
              u = a ? o + 1 : i.length;for (r = o < 0 ? u : a ? o : 0; r < u; r++) {
            if (((n = i[r]).selected || r === o) && !n.disabled && (!n.parentNode.disabled || !N(n.parentNode, "optgroup"))) {
              if (t = w(n).val(), a) return t;s.push(t);
            }
          }return s;
        }, set: function set(e, t) {
          var n,
              r,
              i = e.options,
              o = w.makeArray(t),
              a = i.length;while (a--) {
            ((r = i[a]).selected = w.inArray(w.valHooks.option.get(r), o) > -1) && (n = !0);
          }return n || (e.selectedIndex = -1), o;
        } } } }), w.each(["radio", "checkbox"], function () {
    w.valHooks[this] = { set: function set(e, t) {
        if (Array.isArray(t)) return e.checked = w.inArray(w(e).val(), t) > -1;
      } }, h.checkOn || (w.valHooks[this].get = function (e) {
      return null === e.getAttribute("value") ? "on" : e.value;
    });
  }), h.focusin = "onfocusin" in e;var wt = /^(?:focusinfocus|focusoutblur)$/,
      Tt = function Tt(e) {
    e.stopPropagation();
  };w.extend(w.event, { trigger: function trigger(t, n, i, o) {
      var a,
          s,
          u,
          l,
          c,
          p,
          d,
          h,
          v = [i || r],
          m = f.call(t, "type") ? t.type : t,
          x = f.call(t, "namespace") ? t.namespace.split(".") : [];if (s = h = u = i = i || r, 3 !== i.nodeType && 8 !== i.nodeType && !wt.test(m + w.event.triggered) && (m.indexOf(".") > -1 && (m = (x = m.split(".")).shift(), x.sort()), c = m.indexOf(":") < 0 && "on" + m, t = t[w.expando] ? t : new w.Event(m, "object" == (typeof t === "undefined" ? "undefined" : _typeof(t)) && t), t.isTrigger = o ? 2 : 3, t.namespace = x.join("."), t.rnamespace = t.namespace ? new RegExp("(^|\\.)" + x.join("\\.(?:.*\\.|)") + "(\\.|$)") : null, t.result = void 0, t.target || (t.target = i), n = null == n ? [t] : w.makeArray(n, [t]), d = w.event.special[m] || {}, o || !d.trigger || !1 !== d.trigger.apply(i, n))) {
        if (!o && !d.noBubble && !y(i)) {
          for (l = d.delegateType || m, wt.test(l + m) || (s = s.parentNode); s; s = s.parentNode) {
            v.push(s), u = s;
          }u === (i.ownerDocument || r) && v.push(u.defaultView || u.parentWindow || e);
        }a = 0;while ((s = v[a++]) && !t.isPropagationStopped()) {
          h = s, t.type = a > 1 ? l : d.bindType || m, (p = (J.get(s, "events") || {})[t.type] && J.get(s, "handle")) && p.apply(s, n), (p = c && s[c]) && p.apply && Y(s) && (t.result = p.apply(s, n), !1 === t.result && t.preventDefault());
        }return t.type = m, o || t.isDefaultPrevented() || d._default && !1 !== d._default.apply(v.pop(), n) || !Y(i) || c && g(i[m]) && !y(i) && ((u = i[c]) && (i[c] = null), w.event.triggered = m, t.isPropagationStopped() && h.addEventListener(m, Tt), i[m](), t.isPropagationStopped() && h.removeEventListener(m, Tt), w.event.triggered = void 0, u && (i[c] = u)), t.result;
      }
    }, simulate: function simulate(e, t, n) {
      var r = w.extend(new w.Event(), n, { type: e, isSimulated: !0 });w.event.trigger(r, null, t);
    } }), w.fn.extend({ trigger: function trigger(e, t) {
      return this.each(function () {
        w.event.trigger(e, t, this);
      });
    }, triggerHandler: function triggerHandler(e, t) {
      var n = this[0];if (n) return w.event.trigger(e, t, n, !0);
    } }), h.focusin || w.each({ focus: "focusin", blur: "focusout" }, function (e, t) {
    var n = function n(e) {
      w.event.simulate(t, e.target, w.event.fix(e));
    };w.event.special[t] = { setup: function setup() {
        var r = this.ownerDocument || this,
            i = J.access(r, t);i || r.addEventListener(e, n, !0), J.access(r, t, (i || 0) + 1);
      }, teardown: function teardown() {
        var r = this.ownerDocument || this,
            i = J.access(r, t) - 1;i ? J.access(r, t, i) : (r.removeEventListener(e, n, !0), J.remove(r, t));
      } };
  });var Ct = e.location,
      Et = Date.now(),
      kt = /\?/;w.parseXML = function (t) {
    var n;if (!t || "string" != typeof t) return null;try {
      n = new e.DOMParser().parseFromString(t, "text/xml");
    } catch (e) {
      n = void 0;
    }return n && !n.getElementsByTagName("parsererror").length || w.error("Invalid XML: " + t), n;
  };var St = /\[\]$/,
      Dt = /\r?\n/g,
      Nt = /^(?:submit|button|image|reset|file)$/i,
      At = /^(?:input|select|textarea|keygen)/i;function jt(e, t, n, r) {
    var i;if (Array.isArray(t)) w.each(t, function (t, i) {
      n || St.test(e) ? r(e, i) : jt(e + "[" + ("object" == (typeof i === "undefined" ? "undefined" : _typeof(i)) && null != i ? t : "") + "]", i, n, r);
    });else if (n || "object" !== x(t)) r(e, t);else for (i in t) {
      jt(e + "[" + i + "]", t[i], n, r);
    }
  }w.param = function (e, t) {
    var n,
        r = [],
        i = function i(e, t) {
      var n = g(t) ? t() : t;r[r.length] = encodeURIComponent(e) + "=" + encodeURIComponent(null == n ? "" : n);
    };if (Array.isArray(e) || e.jquery && !w.isPlainObject(e)) w.each(e, function () {
      i(this.name, this.value);
    });else for (n in e) {
      jt(n, e[n], t, i);
    }return r.join("&");
  }, w.fn.extend({ serialize: function serialize() {
      return w.param(this.serializeArray());
    }, serializeArray: function serializeArray() {
      return this.map(function () {
        var e = w.prop(this, "elements");return e ? w.makeArray(e) : this;
      }).filter(function () {
        var e = this.type;return this.name && !w(this).is(":disabled") && At.test(this.nodeName) && !Nt.test(e) && (this.checked || !pe.test(e));
      }).map(function (e, t) {
        var n = w(this).val();return null == n ? null : Array.isArray(n) ? w.map(n, function (e) {
          return { name: t.name, value: e.replace(Dt, "\r\n") };
        }) : { name: t.name, value: n.replace(Dt, "\r\n") };
      }).get();
    } });var qt = /%20/g,
      Lt = /#.*$/,
      Ht = /([?&])_=[^&]*/,
      Ot = /^(.*?):[ \t]*([^\r\n]*)$/gm,
      Pt = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/,
      Mt = /^(?:GET|HEAD)$/,
      Rt = /^\/\//,
      It = {},
      Wt = {},
      $t = "*/".concat("*"),
      Bt = r.createElement("a");Bt.href = Ct.href;function Ft(e) {
    return function (t, n) {
      "string" != typeof t && (n = t, t = "*");var r,
          i = 0,
          o = t.toLowerCase().match(M) || [];if (g(n)) while (r = o[i++]) {
        "+" === r[0] ? (r = r.slice(1) || "*", (e[r] = e[r] || []).unshift(n)) : (e[r] = e[r] || []).push(n);
      }
    };
  }function _t(e, t, n, r) {
    var i = {},
        o = e === Wt;function a(s) {
      var u;return i[s] = !0, w.each(e[s] || [], function (e, s) {
        var l = s(t, n, r);return "string" != typeof l || o || i[l] ? o ? !(u = l) : void 0 : (t.dataTypes.unshift(l), a(l), !1);
      }), u;
    }return a(t.dataTypes[0]) || !i["*"] && a("*");
  }function zt(e, t) {
    var n,
        r,
        i = w.ajaxSettings.flatOptions || {};for (n in t) {
      void 0 !== t[n] && ((i[n] ? e : r || (r = {}))[n] = t[n]);
    }return r && w.extend(!0, e, r), e;
  }function Xt(e, t, n) {
    var r,
        i,
        o,
        a,
        s = e.contents,
        u = e.dataTypes;while ("*" === u[0]) {
      u.shift(), void 0 === r && (r = e.mimeType || t.getResponseHeader("Content-Type"));
    }if (r) for (i in s) {
      if (s[i] && s[i].test(r)) {
        u.unshift(i);break;
      }
    }if (u[0] in n) o = u[0];else {
      for (i in n) {
        if (!u[0] || e.converters[i + " " + u[0]]) {
          o = i;break;
        }a || (a = i);
      }o = o || a;
    }if (o) return o !== u[0] && u.unshift(o), n[o];
  }function Ut(e, t, n, r) {
    var i,
        o,
        a,
        s,
        u,
        l = {},
        c = e.dataTypes.slice();if (c[1]) for (a in e.converters) {
      l[a.toLowerCase()] = e.converters[a];
    }o = c.shift();while (o) {
      if (e.responseFields[o] && (n[e.responseFields[o]] = t), !u && r && e.dataFilter && (t = e.dataFilter(t, e.dataType)), u = o, o = c.shift()) if ("*" === o) o = u;else if ("*" !== u && u !== o) {
        if (!(a = l[u + " " + o] || l["* " + o])) for (i in l) {
          if ((s = i.split(" "))[1] === o && (a = l[u + " " + s[0]] || l["* " + s[0]])) {
            !0 === a ? a = l[i] : !0 !== l[i] && (o = s[0], c.unshift(s[1]));break;
          }
        }if (!0 !== a) if (a && e["throws"]) t = a(t);else try {
          t = a(t);
        } catch (e) {
          return { state: "parsererror", error: a ? e : "No conversion from " + u + " to " + o };
        }
      }
    }return { state: "success", data: t };
  }w.extend({ active: 0, lastModified: {}, etag: {}, ajaxSettings: { url: Ct.href, type: "GET", isLocal: Pt.test(Ct.protocol), global: !0, processData: !0, async: !0, contentType: "application/x-www-form-urlencoded; charset=UTF-8", accepts: { "*": $t, text: "text/plain", html: "text/html", xml: "application/xml, text/xml", json: "application/json, text/javascript" }, contents: { xml: /\bxml\b/, html: /\bhtml/, json: /\bjson\b/ }, responseFields: { xml: "responseXML", text: "responseText", json: "responseJSON" }, converters: { "* text": String, "text html": !0, "text json": JSON.parse, "text xml": w.parseXML }, flatOptions: { url: !0, context: !0 } }, ajaxSetup: function ajaxSetup(e, t) {
      return t ? zt(zt(e, w.ajaxSettings), t) : zt(w.ajaxSettings, e);
    }, ajaxPrefilter: Ft(It), ajaxTransport: Ft(Wt), ajax: function ajax(t, n) {
      "object" == (typeof t === "undefined" ? "undefined" : _typeof(t)) && (n = t, t = void 0), n = n || {};var i,
          o,
          a,
          s,
          u,
          l,
          c,
          f,
          p,
          d,
          h = w.ajaxSetup({}, n),
          g = h.context || h,
          y = h.context && (g.nodeType || g.jquery) ? w(g) : w.event,
          v = w.Deferred(),
          m = w.Callbacks("once memory"),
          x = h.statusCode || {},
          b = {},
          T = {},
          C = "canceled",
          E = { readyState: 0, getResponseHeader: function getResponseHeader(e) {
          var t;if (c) {
            if (!s) {
              s = {};while (t = Ot.exec(a)) {
                s[t[1].toLowerCase()] = t[2];
              }
            }t = s[e.toLowerCase()];
          }return null == t ? null : t;
        }, getAllResponseHeaders: function getAllResponseHeaders() {
          return c ? a : null;
        }, setRequestHeader: function setRequestHeader(e, t) {
          return null == c && (e = T[e.toLowerCase()] = T[e.toLowerCase()] || e, b[e] = t), this;
        }, overrideMimeType: function overrideMimeType(e) {
          return null == c && (h.mimeType = e), this;
        }, statusCode: function statusCode(e) {
          var t;if (e) if (c) E.always(e[E.status]);else for (t in e) {
            x[t] = [x[t], e[t]];
          }return this;
        }, abort: function abort(e) {
          var t = e || C;return i && i.abort(t), k(0, t), this;
        } };if (v.promise(E), h.url = ((t || h.url || Ct.href) + "").replace(Rt, Ct.protocol + "//"), h.type = n.method || n.type || h.method || h.type, h.dataTypes = (h.dataType || "*").toLowerCase().match(M) || [""], null == h.crossDomain) {
        l = r.createElement("a");try {
          l.href = h.url, l.href = l.href, h.crossDomain = Bt.protocol + "//" + Bt.host != l.protocol + "//" + l.host;
        } catch (e) {
          h.crossDomain = !0;
        }
      }if (h.data && h.processData && "string" != typeof h.data && (h.data = w.param(h.data, h.traditional)), _t(It, h, n, E), c) return E;(f = w.event && h.global) && 0 == w.active++ && w.event.trigger("ajaxStart"), h.type = h.type.toUpperCase(), h.hasContent = !Mt.test(h.type), o = h.url.replace(Lt, ""), h.hasContent ? h.data && h.processData && 0 === (h.contentType || "").indexOf("application/x-www-form-urlencoded") && (h.data = h.data.replace(qt, "+")) : (d = h.url.slice(o.length), h.data && (h.processData || "string" == typeof h.data) && (o += (kt.test(o) ? "&" : "?") + h.data, delete h.data), !1 === h.cache && (o = o.replace(Ht, "$1"), d = (kt.test(o) ? "&" : "?") + "_=" + Et++ + d), h.url = o + d), h.ifModified && (w.lastModified[o] && E.setRequestHeader("If-Modified-Since", w.lastModified[o]), w.etag[o] && E.setRequestHeader("If-None-Match", w.etag[o])), (h.data && h.hasContent && !1 !== h.contentType || n.contentType) && E.setRequestHeader("Content-Type", h.contentType), E.setRequestHeader("Accept", h.dataTypes[0] && h.accepts[h.dataTypes[0]] ? h.accepts[h.dataTypes[0]] + ("*" !== h.dataTypes[0] ? ", " + $t + "; q=0.01" : "") : h.accepts["*"]);for (p in h.headers) {
        E.setRequestHeader(p, h.headers[p]);
      }if (h.beforeSend && (!1 === h.beforeSend.call(g, E, h) || c)) return E.abort();if (C = "abort", m.add(h.complete), E.done(h.success), E.fail(h.error), i = _t(Wt, h, n, E)) {
        if (E.readyState = 1, f && y.trigger("ajaxSend", [E, h]), c) return E;h.async && h.timeout > 0 && (u = e.setTimeout(function () {
          E.abort("timeout");
        }, h.timeout));try {
          c = !1, i.send(b, k);
        } catch (e) {
          if (c) throw e;k(-1, e);
        }
      } else k(-1, "No Transport");function k(t, n, r, s) {
        var l,
            p,
            d,
            b,
            T,
            C = n;c || (c = !0, u && e.clearTimeout(u), i = void 0, a = s || "", E.readyState = t > 0 ? 4 : 0, l = t >= 200 && t < 300 || 304 === t, r && (b = Xt(h, E, r)), b = Ut(h, b, E, l), l ? (h.ifModified && ((T = E.getResponseHeader("Last-Modified")) && (w.lastModified[o] = T), (T = E.getResponseHeader("etag")) && (w.etag[o] = T)), 204 === t || "HEAD" === h.type ? C = "nocontent" : 304 === t ? C = "notmodified" : (C = b.state, p = b.data, l = !(d = b.error))) : (d = C, !t && C || (C = "error", t < 0 && (t = 0))), E.status = t, E.statusText = (n || C) + "", l ? v.resolveWith(g, [p, C, E]) : v.rejectWith(g, [E, C, d]), E.statusCode(x), x = void 0, f && y.trigger(l ? "ajaxSuccess" : "ajaxError", [E, h, l ? p : d]), m.fireWith(g, [E, C]), f && (y.trigger("ajaxComplete", [E, h]), --w.active || w.event.trigger("ajaxStop")));
      }return E;
    }, getJSON: function getJSON(e, t, n) {
      return w.get(e, t, n, "json");
    }, getScript: function getScript(e, t) {
      return w.get(e, void 0, t, "script");
    } }), w.each(["get", "post"], function (e, t) {
    w[t] = function (e, n, r, i) {
      return g(n) && (i = i || r, r = n, n = void 0), w.ajax(w.extend({ url: e, type: t, dataType: i, data: n, success: r }, w.isPlainObject(e) && e));
    };
  }), w._evalUrl = function (e) {
    return w.ajax({ url: e, type: "GET", dataType: "script", cache: !0, async: !1, global: !1, "throws": !0 });
  }, w.fn.extend({ wrapAll: function wrapAll(e) {
      var t;return this[0] && (g(e) && (e = e.call(this[0])), t = w(e, this[0].ownerDocument).eq(0).clone(!0), this[0].parentNode && t.insertBefore(this[0]), t.map(function () {
        var e = this;while (e.firstElementChild) {
          e = e.firstElementChild;
        }return e;
      }).append(this)), this;
    }, wrapInner: function wrapInner(e) {
      return g(e) ? this.each(function (t) {
        w(this).wrapInner(e.call(this, t));
      }) : this.each(function () {
        var t = w(this),
            n = t.contents();n.length ? n.wrapAll(e) : t.append(e);
      });
    }, wrap: function wrap(e) {
      var t = g(e);return this.each(function (n) {
        w(this).wrapAll(t ? e.call(this, n) : e);
      });
    }, unwrap: function unwrap(e) {
      return this.parent(e).not("body").each(function () {
        w(this).replaceWith(this.childNodes);
      }), this;
    } }), w.expr.pseudos.hidden = function (e) {
    return !w.expr.pseudos.visible(e);
  }, w.expr.pseudos.visible = function (e) {
    return !!(e.offsetWidth || e.offsetHeight || e.getClientRects().length);
  }, w.ajaxSettings.xhr = function () {
    try {
      return new e.XMLHttpRequest();
    } catch (e) {}
  };var Vt = { 0: 200, 1223: 204 },
      Gt = w.ajaxSettings.xhr();h.cors = !!Gt && "withCredentials" in Gt, h.ajax = Gt = !!Gt, w.ajaxTransport(function (t) {
    var _n, r;if (h.cors || Gt && !t.crossDomain) return { send: function send(i, o) {
        var a,
            s = t.xhr();if (s.open(t.type, t.url, t.async, t.username, t.password), t.xhrFields) for (a in t.xhrFields) {
          s[a] = t.xhrFields[a];
        }t.mimeType && s.overrideMimeType && s.overrideMimeType(t.mimeType), t.crossDomain || i["X-Requested-With"] || (i["X-Requested-With"] = "XMLHttpRequest");for (a in i) {
          s.setRequestHeader(a, i[a]);
        }_n = function n(e) {
          return function () {
            _n && (_n = r = s.onload = s.onerror = s.onabort = s.ontimeout = s.onreadystatechange = null, "abort" === e ? s.abort() : "error" === e ? "number" != typeof s.status ? o(0, "error") : o(s.status, s.statusText) : o(Vt[s.status] || s.status, s.statusText, "text" !== (s.responseType || "text") || "string" != typeof s.responseText ? { binary: s.response } : { text: s.responseText }, s.getAllResponseHeaders()));
          };
        }, s.onload = _n(), r = s.onerror = s.ontimeout = _n("error"), void 0 !== s.onabort ? s.onabort = r : s.onreadystatechange = function () {
          4 === s.readyState && e.setTimeout(function () {
            _n && r();
          });
        }, _n = _n("abort");try {
          s.send(t.hasContent && t.data || null);
        } catch (e) {
          if (_n) throw e;
        }
      }, abort: function abort() {
        _n && _n();
      } };
  }), w.ajaxPrefilter(function (e) {
    e.crossDomain && (e.contents.script = !1);
  }), w.ajaxSetup({ accepts: { script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript" }, contents: { script: /\b(?:java|ecma)script\b/ }, converters: { "text script": function textScript(e) {
        return w.globalEval(e), e;
      } } }), w.ajaxPrefilter("script", function (e) {
    void 0 === e.cache && (e.cache = !1), e.crossDomain && (e.type = "GET");
  }), w.ajaxTransport("script", function (e) {
    if (e.crossDomain) {
      var t, _n2;return { send: function send(i, o) {
          t = w("<script>").prop({ charset: e.scriptCharset, src: e.url }).on("load error", _n2 = function n(e) {
            t.remove(), _n2 = null, e && o("error" === e.type ? 404 : 200, e.type);
          }), r.head.appendChild(t[0]);
        }, abort: function abort() {
          _n2 && _n2();
        } };
    }
  });var Yt = [],
      Qt = /(=)\?(?=&|$)|\?\?/;w.ajaxSetup({ jsonp: "callback", jsonpCallback: function jsonpCallback() {
      var e = Yt.pop() || w.expando + "_" + Et++;return this[e] = !0, e;
    } }), w.ajaxPrefilter("json jsonp", function (t, n, r) {
    var i,
        o,
        a,
        s = !1 !== t.jsonp && (Qt.test(t.url) ? "url" : "string" == typeof t.data && 0 === (t.contentType || "").indexOf("application/x-www-form-urlencoded") && Qt.test(t.data) && "data");if (s || "jsonp" === t.dataTypes[0]) return i = t.jsonpCallback = g(t.jsonpCallback) ? t.jsonpCallback() : t.jsonpCallback, s ? t[s] = t[s].replace(Qt, "$1" + i) : !1 !== t.jsonp && (t.url += (kt.test(t.url) ? "&" : "?") + t.jsonp + "=" + i), t.converters["script json"] = function () {
      return a || w.error(i + " was not called"), a[0];
    }, t.dataTypes[0] = "json", o = e[i], e[i] = function () {
      a = arguments;
    }, r.always(function () {
      void 0 === o ? w(e).removeProp(i) : e[i] = o, t[i] && (t.jsonpCallback = n.jsonpCallback, Yt.push(i)), a && g(o) && o(a[0]), a = o = void 0;
    }), "script";
  }), h.createHTMLDocument = function () {
    var e = r.implementation.createHTMLDocument("").body;return e.innerHTML = "<form></form><form></form>", 2 === e.childNodes.length;
  }(), w.parseHTML = function (e, t, n) {
    if ("string" != typeof e) return [];"boolean" == typeof t && (n = t, t = !1);var i, o, a;return t || (h.createHTMLDocument ? ((i = (t = r.implementation.createHTMLDocument("")).createElement("base")).href = r.location.href, t.head.appendChild(i)) : t = r), o = A.exec(e), a = !n && [], o ? [t.createElement(o[1])] : (o = xe([e], t, a), a && a.length && w(a).remove(), w.merge([], o.childNodes));
  }, w.fn.load = function (e, t, n) {
    var r,
        i,
        o,
        a = this,
        s = e.indexOf(" ");return s > -1 && (r = vt(e.slice(s)), e = e.slice(0, s)), g(t) ? (n = t, t = void 0) : t && "object" == (typeof t === "undefined" ? "undefined" : _typeof(t)) && (i = "POST"), a.length > 0 && w.ajax({ url: e, type: i || "GET", dataType: "html", data: t }).done(function (e) {
      o = arguments, a.html(r ? w("<div>").append(w.parseHTML(e)).find(r) : e);
    }).always(n && function (e, t) {
      a.each(function () {
        n.apply(this, o || [e.responseText, t, e]);
      });
    }), this;
  }, w.each(["ajaxStart", "ajaxStop", "ajaxComplete", "ajaxError", "ajaxSuccess", "ajaxSend"], function (e, t) {
    w.fn[t] = function (e) {
      return this.on(t, e);
    };
  }), w.expr.pseudos.animated = function (e) {
    return w.grep(w.timers, function (t) {
      return e === t.elem;
    }).length;
  }, w.offset = { setOffset: function setOffset(e, t, n) {
      var r,
          i,
          o,
          a,
          s,
          u,
          l,
          c = w.css(e, "position"),
          f = w(e),
          p = {};"static" === c && (e.style.position = "relative"), s = f.offset(), o = w.css(e, "top"), u = w.css(e, "left"), (l = ("absolute" === c || "fixed" === c) && (o + u).indexOf("auto") > -1) ? (a = (r = f.position()).top, i = r.left) : (a = parseFloat(o) || 0, i = parseFloat(u) || 0), g(t) && (t = t.call(e, n, w.extend({}, s))), null != t.top && (p.top = t.top - s.top + a), null != t.left && (p.left = t.left - s.left + i), "using" in t ? t.using.call(e, p) : f.css(p);
    } }, w.fn.extend({ offset: function offset(e) {
      if (arguments.length) return void 0 === e ? this : this.each(function (t) {
        w.offset.setOffset(this, e, t);
      });var t,
          n,
          r = this[0];if (r) return r.getClientRects().length ? (t = r.getBoundingClientRect(), n = r.ownerDocument.defaultView, { top: t.top + n.pageYOffset, left: t.left + n.pageXOffset }) : { top: 0, left: 0 };
    }, position: function position() {
      if (this[0]) {
        var e,
            t,
            n,
            r = this[0],
            i = { top: 0, left: 0 };if ("fixed" === w.css(r, "position")) t = r.getBoundingClientRect();else {
          t = this.offset(), n = r.ownerDocument, e = r.offsetParent || n.documentElement;while (e && (e === n.body || e === n.documentElement) && "static" === w.css(e, "position")) {
            e = e.parentNode;
          }e && e !== r && 1 === e.nodeType && ((i = w(e).offset()).top += w.css(e, "borderTopWidth", !0), i.left += w.css(e, "borderLeftWidth", !0));
        }return { top: t.top - i.top - w.css(r, "marginTop", !0), left: t.left - i.left - w.css(r, "marginLeft", !0) };
      }
    }, offsetParent: function offsetParent() {
      return this.map(function () {
        var e = this.offsetParent;while (e && "static" === w.css(e, "position")) {
          e = e.offsetParent;
        }return e || be;
      });
    } }), w.each({ scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function (e, t) {
    var n = "pageYOffset" === t;w.fn[e] = function (r) {
      return z(this, function (e, r, i) {
        var o;if (y(e) ? o = e : 9 === e.nodeType && (o = e.defaultView), void 0 === i) return o ? o[t] : e[r];o ? o.scrollTo(n ? o.pageXOffset : i, n ? i : o.pageYOffset) : e[r] = i;
      }, e, r, arguments.length);
    };
  }), w.each(["top", "left"], function (e, t) {
    w.cssHooks[t] = _e(h.pixelPosition, function (e, n) {
      if (n) return n = Fe(e, t), We.test(n) ? w(e).position()[t] + "px" : n;
    });
  }), w.each({ Height: "height", Width: "width" }, function (e, t) {
    w.each({ padding: "inner" + e, content: t, "": "outer" + e }, function (n, r) {
      w.fn[r] = function (i, o) {
        var a = arguments.length && (n || "boolean" != typeof i),
            s = n || (!0 === i || !0 === o ? "margin" : "border");return z(this, function (t, n, i) {
          var o;return y(t) ? 0 === r.indexOf("outer") ? t["inner" + e] : t.document.documentElement["client" + e] : 9 === t.nodeType ? (o = t.documentElement, Math.max(t.body["scroll" + e], o["scroll" + e], t.body["offset" + e], o["offset" + e], o["client" + e])) : void 0 === i ? w.css(t, n, s) : w.style(t, n, i, s);
        }, t, a ? i : void 0, a);
      };
    });
  }), w.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "), function (e, t) {
    w.fn[t] = function (e, n) {
      return arguments.length > 0 ? this.on(t, null, e, n) : this.trigger(t);
    };
  }), w.fn.extend({ hover: function hover(e, t) {
      return this.mouseenter(e).mouseleave(t || e);
    } }), w.fn.extend({ bind: function bind(e, t, n) {
      return this.on(e, null, t, n);
    }, unbind: function unbind(e, t) {
      return this.off(e, null, t);
    }, delegate: function delegate(e, t, n, r) {
      return this.on(t, e, n, r);
    }, undelegate: function undelegate(e, t, n) {
      return 1 === arguments.length ? this.off(e, "**") : this.off(t, e || "**", n);
    } }), w.proxy = function (e, t) {
    var n, r, i;if ("string" == typeof t && (n = e[t], t = e, e = n), g(e)) return r = o.call(arguments, 2), i = function i() {
      return e.apply(t || this, r.concat(o.call(arguments)));
    }, i.guid = e.guid = e.guid || w.guid++, i;
  }, w.holdReady = function (e) {
    e ? w.readyWait++ : w.ready(!0);
  }, w.isArray = Array.isArray, w.parseJSON = JSON.parse, w.nodeName = N, w.isFunction = g, w.isWindow = y, w.camelCase = G, w.type = x, w.now = Date.now, w.isNumeric = function (e) {
    var t = w.type(e);return ("number" === t || "string" === t) && !isNaN(e - parseFloat(e));
  }, "function" == typeof define && define.amd && define("jquery", [], function () {
    return w;
  });var Jt = e.jQuery,
      Kt = e.$;return w.noConflict = function (t) {
    return e.$ === w && (e.$ = Kt), t && e.jQuery === w && (e.jQuery = Jt), w;
  }, t || (e.jQuery = e.$ = w), w;
});
"use strict";

var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };

/*! lazysizes - v5.2.0 */
!function (a, b) {
  var c = b(a, a.document, Date);
  a.lazySizes = c, "object" == (typeof module === "undefined" ? "undefined" : _typeof(module)) && module.exports && (module.exports = c);
}("undefined" != typeof window ? window : {}, function (a, b, c) {
  "use strict";

  var d, e;
  if (function () {
    var b,
        c = {
      lazyClass: "lazyload",
      loadedClass: "lazyloaded",
      loadingClass: "lazyloading",
      preloadClass: "lazypreload",
      errorClass: "lazyerror",
      autosizesClass: "lazyautosizes",
      srcAttr: "data-src",
      srcsetAttr: "data-srcset",
      sizesAttr: "data-sizes",
      minSize: 40,
      customMedia: {},
      init: !0,
      expFactor: 1.5,
      hFac: 0.8,
      loadMode: 2,
      loadHidden: !0,
      ricTimeout: 0,
      throttleDelay: 125
    };
    e = a.lazySizesConfig || a.lazysizesConfig || {};
    for (b in c) {
      b in e || (e[b] = c[b]);
    }
  }(), !b || !b.getElementsByClassName) return { init: function init() {}, cfg: e, noSupport: !0 };
  var f = b.documentElement,
      g = a.HTMLPictureElement,
      h = "addEventListener",
      i = "getAttribute",
      j = a[h].bind(a),
      k = a.setTimeout,
      l = a.requestAnimationFrame || k,
      m = a.requestIdleCallback,
      n = /^picture$/i,
      o = ["load", "error", "lazyincluded", "_lazyloaded"],
      p = {},
      q = Array.prototype.forEach,
      r = function r(a, b) {
    return p[b] || (p[b] = new RegExp("(\\s|^)" + b + "(\\s|$)")), p[b].test(a[i]("class") || "") && p[b];
  },
      s = function s(a, b) {
    r(a, b) || a.setAttribute("class", (a[i]("class") || "").trim() + " " + b);
  },
      t = function t(a, b) {
    var c;
    (c = r(a, b)) && a.setAttribute("class", (a[i]("class") || "").replace(c, " "));
  },
      u = function u(a, b, c) {
    var d = c ? h : "removeEventListener";
    c && u(a, b), o.forEach(function (c) {
      a[d](c, b);
    });
  },
      v = function v(a, c, e, f, g) {
    var h = b.createEvent("Event");
    return e || (e = {}), e.instance = d, h.initEvent(c, !f, !g), h.detail = e, a.dispatchEvent(h), h;
  },
      w = function w(b, c) {
    var d;
    !g && (d = a.picturefill || e.pf) ? (c && c.src && !b[i]("srcset") && b.setAttribute("srcset", c.src), d({ reevaluate: !0, elements: [b] })) : c && c.src && (b.src = c.src);
  },
      x = function x(a, b) {
    return (getComputedStyle(a, null) || {})[b];
  },
      y = function y(a, b, c) {
    for (c = c || a.offsetWidth; c < e.minSize && b && !a._lazysizesWidth;) {
      c = b.offsetWidth, b = b.parentNode;
    }return c;
  },
      z = function () {
    var a,
        c,
        d = [],
        e = [],
        f = d,
        g = function g() {
      var b = f;
      for (f = d.length ? e : d, a = !0, c = !1; b.length;) {
        b.shift()();
      }a = !1;
    },
        h = function h(d, e) {
      a && !e ? d.apply(this, arguments) : (f.push(d), c || (c = !0, (b.hidden ? k : l)(g)));
    };
    return h._lsFlush = g, h;
  }(),
      A = function A(a, b) {
    return b ? function () {
      z(a);
    } : function () {
      var b = this,
          c = arguments;
      z(function () {
        a.apply(b, c);
      });
    };
  },
      B = function B(a) {
    var b,
        d = 0,
        f = e.throttleDelay,
        g = e.ricTimeout,
        h = function h() {
      b = !1, d = c.now(), a();
    },
        i = m && g > 49 ? function () {
      m(h, { timeout: g }), g !== e.ricTimeout && (g = e.ricTimeout);
    } : A(function () {
      k(h);
    }, !0);
    return function (a) {
      var e;
      (a = !0 === a) && (g = 33), b || (b = !0, e = f - (c.now() - d), e < 0 && (e = 0), a || e < 9 ? i() : k(i, e));
    };
  },
      C = function C(a) {
    var b,
        d,
        e = 99,
        f = function f() {
      b = null, a();
    },
        g = function g() {
      var a = c.now() - d;
      a < e ? k(g, e - a) : (m || f)(f);
    };
    return function () {
      d = c.now(), b || (b = k(g, e));
    };
  },
      D = function () {
    var g,
        m,
        o,
        p,
        y,
        D,
        F,
        G,
        H,
        I,
        J,
        K,
        L = /^img$/i,
        M = /^iframe$/i,
        N = "onscroll" in a && !/(gle|ing)bot/.test(navigator.userAgent),
        O = 0,
        P = 0,
        Q = 0,
        R = -1,
        S = function S(a) {
      Q--, (!a || Q < 0 || !a.target) && (Q = 0);
    },
        T = function T(a) {
      return null == K && (K = "hidden" == x(b.body, "visibility")), K || !("hidden" == x(a.parentNode, "visibility") && "hidden" == x(a, "visibility"));
    },
        U = function U(a, c) {
      var d,
          e = a,
          g = T(a);
      for (G -= c, J += c, H -= c, I += c; g && (e = e.offsetParent) && e != b.body && e != f;) {
        (g = (x(e, "opacity") || 1) > 0) && "visible" != x(e, "overflow") && (d = e.getBoundingClientRect(), g = I > d.left && H < d.right && J > d.top - 1 && G < d.bottom + 1);
      }return g;
    },
        V = function V() {
      var a,
          c,
          h,
          j,
          k,
          l,
          n,
          o,
          q,
          r,
          s,
          t,
          u = d.elements;
      if ((p = e.loadMode) && Q < 8 && (a = u.length)) {
        for (c = 0, R++; c < a; c++) {
          if (u[c] && !u[c]._lazyRace) if (!N || d.prematureUnveil && d.prematureUnveil(u[c])) ba(u[c]);else if ((o = u[c][i]("data-expand")) && (l = 1 * o) || (l = P), r || (r = !e.expand || e.expand < 1 ? f.clientHeight > 500 && f.clientWidth > 500 ? 500 : 370 : e.expand, d._defEx = r, s = r * e.expFactor, t = e.hFac, K = null, P < s && Q < 1 && R > 2 && p > 2 && !b.hidden ? (P = s, R = 0) : P = p > 1 && R > 1 && Q < 6 ? r : O), q !== l && (D = innerWidth + l * t, F = innerHeight + l, n = -1 * l, q = l), h = u[c].getBoundingClientRect(), (J = h.bottom) >= n && (G = h.top) <= F && (I = h.right) >= n * t && (H = h.left) <= D && (J || I || H || G) && (e.loadHidden || T(u[c])) && (m && Q < 3 && !o && (p < 3 || R < 4) || U(u[c], l))) {
            if (ba(u[c]), k = !0, Q > 9) break;
          } else !k && m && !j && Q < 4 && R < 4 && p > 2 && (g[0] || e.preloadAfterLoad) && (g[0] || !o && (J || I || H || G || "auto" != u[c][i](e.sizesAttr))) && (j = g[0] || u[c]);
        }j && !k && ba(j);
      }
    },
        W = B(V),
        X = function X(a) {
      var b = a.target;
      if (b._lazyCache) return void delete b._lazyCache;
      S(a), s(b, e.loadedClass), t(b, e.loadingClass), u(b, Z), v(b, "lazyloaded");
    },
        Y = A(X),
        Z = function Z(a) {
      Y({ target: a.target });
    },
        $ = function $(a, b) {
      try {
        a.contentWindow.location.replace(b);
      } catch (c) {
        a.src = b;
      }
    },
        _ = function _(a) {
      var b,
          c = a[i](e.srcsetAttr);
      (b = e.customMedia[a[i]("data-media") || a[i]("media")]) && a.setAttribute("media", b), c && a.setAttribute("srcset", c);
    },
        aa = A(function (a, b, c, d, f) {
      var g, h, j, l, m, p;
      (m = v(a, "lazybeforeunveil", b)).defaultPrevented || (d && (c ? s(a, e.autosizesClass) : a.setAttribute("sizes", d)), h = a[i](e.srcsetAttr), g = a[i](e.srcAttr), f && (j = a.parentNode, l = j && n.test(j.nodeName || "")), p = b.firesLoad || "src" in a && (h || g || l), m = { target: a }, s(a, e.loadingClass), p && (clearTimeout(o), o = k(S, 2500), u(a, Z, !0)), l && q.call(j.getElementsByTagName("source"), _), h ? a.setAttribute("srcset", h) : g && !l && (M.test(a.nodeName) ? $(a, g) : a.src = g), f && (h || l) && w(a, { src: g })), a._lazyRace && delete a._lazyRace, t(a, e.lazyClass), z(function () {
        var b = a.complete && a.naturalWidth > 1;
        p && !b || (b && s(a, "ls-is-cached"), X(m), a._lazyCache = !0, k(function () {
          "_lazyCache" in a && delete a._lazyCache;
        }, 9)), "lazy" == a.loading && Q--;
      }, !0);
    }),
        ba = function ba(a) {
      if (!a._lazyRace) {
        var b,
            c = L.test(a.nodeName),
            d = c && (a[i](e.sizesAttr) || a[i]("sizes")),
            f = "auto" == d;
        (!f && m || !c || !a[i]("src") && !a.srcset || a.complete || r(a, e.errorClass) || !r(a, e.lazyClass)) && (b = v(a, "lazyunveilread").detail, f && E.updateElem(a, !0, a.offsetWidth), a._lazyRace = !0, Q++, aa(a, b, f, d, c));
      }
    },
        ca = C(function () {
      e.loadMode = 3, W();
    }),
        da = function da() {
      3 == e.loadMode && (e.loadMode = 2), ca();
    },
        ea = function ea() {
      if (!m) {
        if (c.now() - y < 999) return void k(ea, 999);
        m = !0, e.loadMode = 3, W(), j("scroll", da, !0);
      }
    };
    return {
      _: function _() {
        y = c.now(), d.elements = b.getElementsByClassName(e.lazyClass), g = b.getElementsByClassName(e.lazyClass + " " + e.preloadClass), j("scroll", W, !0), j("resize", W, !0), j("pageshow", function (a) {
          if (a.persisted) {
            var c = b.querySelectorAll("." + e.loadingClass);
            c.length && c.forEach && l(function () {
              c.forEach(function (a) {
                a.complete && ba(a);
              });
            });
          }
        }), a.MutationObserver ? new MutationObserver(W).observe(f, { childList: !0, subtree: !0, attributes: !0 }) : (f[h]("DOMNodeInserted", W, !0), f[h]("DOMAttrModified", W, !0), setInterval(W, 999)), j("hashchange", W, !0), ["focus", "mouseover", "click", "load", "transitionend", "animationend"].forEach(function (a) {
          b[h](a, W, !0);
        }), /d$|^c/.test(b.readyState) ? ea() : (j("load", ea), b[h]("DOMContentLoaded", W), k(ea, 2e4)), d.elements.length ? (V(), z._lsFlush()) : W();
      },
      checkElems: W,
      unveil: ba,
      _aLSL: da
    };
  }(),
      E = function () {
    var a,
        c = A(function (a, b, c, d) {
      var e, f, g;
      if (a._lazysizesWidth = d, d += "px", a.setAttribute("sizes", d), n.test(b.nodeName || "")) for (e = b.getElementsByTagName("source"), f = 0, g = e.length; f < g; f++) {
        e[f].setAttribute("sizes", d);
      }c.detail.dataAttr || w(a, c.detail);
    }),
        d = function d(a, b, _d) {
      var e,
          f = a.parentNode;
      f && (_d = y(a, f, _d), e = v(a, "lazybeforesizes", { width: _d, dataAttr: !!b }), e.defaultPrevented || (_d = e.detail.width) && _d !== a._lazysizesWidth && c(a, f, e, _d));
    },
        f = function f() {
      var b,
          c = a.length;
      if (c) for (b = 0; b < c; b++) {
        d(a[b]);
      }
    },
        g = C(f);
    return {
      _: function _() {
        a = b.getElementsByClassName(e.autosizesClass), j("resize", g);
      },
      checkElems: g,
      updateElem: d
    };
  }(),
      F = function F() {
    !F.i && b.getElementsByClassName && (F.i = !0, E._(), D._());
  };
  return k(function () {
    e.init && F();
  }), d = { cfg: e, autoSizer: E, loader: D, init: F, uP: w, aC: s, rC: t, hC: r, fire: v, gW: y, rAF: z };
});

/*! lazysizes - v4.0.3 */
!function (a, b) {
  var c = function c() {
    b(a.lazySizes), a.removeEventListener("lazyunveilread", c, !0);
  };
  b = b.bind(null, a, a.document), "object" == (typeof module === "undefined" ? "undefined" : _typeof(module)) && module.exports ? b(require("lazysizes")) : a.lazySizes ? c() : a.addEventListener("lazyunveilread", c, !0);
}(window, function (a, b, c) {
  "use strict";

  function d(a, c) {
    if (!g[a]) {
      var d = b.createElement(c ? "link" : "script"),
          e = b.getElementsByTagName("script")[0];
      c ? (d.rel = "stylesheet", d.href = a) : d.src = a, g[a] = !0, g[d.src || d.href] = !0, e.parentNode.insertBefore(d, e);
    }
  }
  var e,
      f,
      g = {};
  b.addEventListener && (f = /\(|\)|\s|'/, e = function e(a, c) {
    var d = b.createElement("img");
    d.onload = function () {
      d.onload = null, d.onerror = null, d = null, c();
    }, d.onerror = d.onload, d.src = a, d && d.complete && d.onload && d.onload();
  }, addEventListener("lazybeforeunveil", function (a) {
    if (a.detail.instance == c) {
      var b, g, h, i;
      a.defaultPrevented || ("none" == a.target.preload && (a.target.preload = "auto"), b = a.target.getAttribute("data-link"), b && d(b, !0), b = a.target.getAttribute("data-script"), b && d(b), b = a.target.getAttribute("data-require"), b && (c.cfg.requireJs ? c.cfg.requireJs([b]) : d(b)), h = a.target.getAttribute("data-bg"), h && (a.detail.firesLoad = !0, g = function g() {
        a.target.style.backgroundImage = "url(" + (f.test(h) ? JSON.stringify(h) : h) + ")", a.detail.firesLoad = !1, c.fire(a.target, "_lazyloaded", {}, !0, !0);
      }, e(h, g)), i = a.target.getAttribute("data-poster"), i && (a.detail.firesLoad = !0, g = function g() {
        a.target.poster = i, a.detail.firesLoad = !1, c.fire(a.target, "_lazyloaded", {}, !0, !0);
      }, e(i, g)));
    }
  }, !1));
});
"use strict";

var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };

/**!
 * lightgallery.js | 1.1.3 | February 11th 2019
 * http://sachinchoolur.github.io/lightgallery.js/
 * Copyright (c) 2016 Sachin N;
 * @license GPLv3
 */
!function (e) {
  if ("object" == (typeof exports === "undefined" ? "undefined" : _typeof(exports)) && "undefined" != typeof module) module.exports = e();else if ("function" == typeof define && define.amd) define([], e);else {
    var t;t = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self ? self : this, t.Lightgallery = e();
  }
}(function () {
  var e, t, s;return function () {
    function e(t, s, l) {
      function i(r, d) {
        if (!s[r]) {
          if (!t[r]) {
            var a = "function" == typeof require && require;if (!d && a) return a(r, !0);if (o) return o(r, !0);var n = new Error("Cannot find module '" + r + "'");throw n.code = "MODULE_NOT_FOUND", n;
          }var u = s[r] = { exports: {} };t[r][0].call(u.exports, function (e) {
            return i(t[r][1][e] || e);
          }, u, u.exports, e, t, s, l);
        }return s[r].exports;
      }for (var o = "function" == typeof require && require, r = 0; r < l.length; r++) {
        i(l[r]);
      }return i;
    }return e;
  }()({ 1: [function (t, s, l) {
      !function (t, s) {
        if ("function" == typeof e && e.amd) e(["exports"], s);else if (void 0 !== l) s(l);else {
          var i = { exports: {} };s(i.exports), t.lgUtils = i.exports;
        }
      }(this, function (e) {
        "use strict";
        Object.defineProperty(e, "__esModule", { value: !0 });var t = { getAttribute: function e(t, s) {
            return t[s];
          }, setAttribute: function e(t, s, l) {
            t[s] = l;
          }, wrap: function e(t, s) {
            if (t) {
              var l = document.createElement("div");l.className = s, t.parentNode.insertBefore(l, t), t.parentNode.removeChild(t), l.appendChild(t);
            }
          }, addClass: function e(t, s) {
            t && (t.classList ? t.classList.add(s) : t.className += " " + s);
          }, removeClass: function e(t, s) {
            t && (t.classList ? t.classList.remove(s) : t.className = t.className.replace(new RegExp("(^|\\b)" + s.split(" ").join("|") + "(\\b|$)", "gi"), " "));
          }, hasClass: function e(t, s) {
            return t.classList ? t.classList.contains(s) : new RegExp("(^| )" + s + "( |$)", "gi").test(t.className);
          }, setVendor: function e(t, s, l) {
            t && (t.style[s.charAt(0).toLowerCase() + s.slice(1)] = l, t.style["webkit" + s] = l, t.style["moz" + s] = l, t.style["ms" + s] = l, t.style["o" + s] = l);
          }, trigger: function e(t, s) {
            var l = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : null;if (t) {
              var i = new CustomEvent(s, { detail: l });t.dispatchEvent(i);
            }
          }, Listener: { uid: 0 }, on: function e(s, l, i) {
            var o = this;s && l.split(" ").forEach(function (e) {
              var l = o.getAttribute(s, "lg-event-uid") || "";t.Listener.uid++, l += "&" + t.Listener.uid, o.setAttribute(s, "lg-event-uid", l), t.Listener[e + t.Listener.uid] = i, s.addEventListener(e.split(".")[0], i, !1);
            });
          }, off: function e(s, l) {
            if (s) {
              var i = this.getAttribute(s, "lg-event-uid");if (i) {
                i = i.split("&");for (var o = 0; o < i.length; o++) {
                  if (i[o]) {
                    var r = l + i[o];if ("." === r.substring(0, 1)) for (var d in t.Listener) {
                      t.Listener.hasOwnProperty(d) && d.split(".").indexOf(r.split(".")[1]) > -1 && (s.removeEventListener(d.split(".")[0], t.Listener[d]), this.setAttribute(s, "lg-event-uid", this.getAttribute(s, "lg-event-uid").replace("&" + i[o], "")), delete t.Listener[d]);
                    } else s.removeEventListener(r.split(".")[0], t.Listener[r]), this.setAttribute(s, "lg-event-uid", this.getAttribute(s, "lg-event-uid").replace("&" + i[o], "")), delete t.Listener[r];
                  }
                }
              }
            }
          }, param: function e(t) {
            return Object.keys(t).map(function (e) {
              return encodeURIComponent(e) + "=" + encodeURIComponent(t[e]);
            }).join("&");
          } };e.default = t;
      });
    }, {}], 2: [function (t, s, l) {
      !function (s, i) {
        if ("function" == typeof e && e.amd) e(["./lg-utils"], i);else if (void 0 !== l) i(t("./lg-utils"));else {
          var o = { exports: {} };i(s.lgUtils), s.lightgallery = o.exports;
        }
      }(this, function (e) {
        "use strict";
        function t(e) {
          return e && e.__esModule ? e : { default: e };
        }function s(e, t) {
          if (this.el = e, this.s = i({}, o, t), this.s.dynamic && "undefined" !== this.s.dynamicEl && this.s.dynamicEl.constructor === Array && !this.s.dynamicEl.length) throw "When using dynamic mode, you must also define dynamicEl as an Array.";return this.modules = {}, this.lGalleryOn = !1, this.lgBusy = !1, this.hideBartimeout = !1, this.isTouch = "ontouchstart" in document.documentElement, this.s.slideEndAnimatoin && (this.s.hideControlOnEnd = !1), this.items = [], this.s.dynamic ? this.items = this.s.dynamicEl : "this" === this.s.selector ? this.items.push(this.el) : "" !== this.s.selector ? this.s.selectWithin ? this.items = document.querySelector(this.s.selectWithin).querySelectorAll(this.s.selector) : this.items = this.el.querySelectorAll(this.s.selector) : this.items = this.el.children, this.___slide = "", this.outer = "", this.init(), this;
        }var l = t(e),
            i = Object.assign || function (e) {
          for (var t = 1; t < arguments.length; t++) {
            var s = arguments[t];for (var l in s) {
              Object.prototype.hasOwnProperty.call(s, l) && (e[l] = s[l]);
            }
          }return e;
        };!function () {
          function e(e, t) {
            t = t || { bubbles: !1, cancelable: !1, detail: void 0 };var s = document.createEvent("CustomEvent");return s.initCustomEvent(e, t.bubbles, t.cancelable, t.detail), s;
          }if ("function" == typeof window.CustomEvent) return !1;e.prototype = window.Event.prototype, window.CustomEvent = e;
        }(), window.utils = l.default, window.lgData = { uid: 0 }, window.lgModules = {};var o = { mode: "lg-slide", cssEasing: "ease", easing: "linear", speed: 600, height: "100%", width: "100%", addClass: "", startClass: "lg-start-zoom", backdropDuration: 150, hideBarsDelay: 6e3, useLeft: !1, closable: !0, loop: !0, escKey: !0, keyPress: !0, controls: !0, slideEndAnimatoin: !0, hideControlOnEnd: !1, mousewheel: !1, getCaptionFromTitleOrAlt: !0, appendSubHtmlTo: ".lg-sub-html", subHtmlSelectorRelative: !1, preload: 1, showAfterLoad: !0, selector: "", selectWithin: "", nextHtml: "", prevHtml: "", index: !1, iframeMaxWidth: "100%", download: !0, counter: !0, appendCounterTo: ".lg-toolbar", swipeThreshold: 50, enableSwipe: !0, enableDrag: !0, dynamic: !1, dynamicEl: [], galleryId: 1 };s.prototype.init = function () {
          var e = this;e.s.preload > e.items.length && (e.s.preload = e.items.length);var t = window.location.hash;if (t.indexOf("lg=" + this.s.galleryId) > 0 && (e.index = parseInt(t.split("&slide=")[1], 10), l.default.addClass(document.body, "lg-from-hash"), l.default.hasClass(document.body, "lg-on") || (l.default.addClass(document.body, "lg-on"), setTimeout(function () {
            e.build(e.index);
          }))), e.s.dynamic) l.default.trigger(this.el, "onBeforeOpen"), e.index = e.s.index || 0, l.default.hasClass(document.body, "lg-on") || (l.default.addClass(document.body, "lg-on"), setTimeout(function () {
            e.build(e.index);
          }));else for (var s = 0; s < e.items.length; s++) {
            !function (t) {
              l.default.on(e.items[t], "click.lgcustom", function (s) {
                s.preventDefault(), l.default.trigger(e.el, "onBeforeOpen"), e.index = e.s.index || t, l.default.hasClass(document.body, "lg-on") || (e.build(e.index), l.default.addClass(document.body, "lg-on"));
              });
            }(s);
          }
        }, s.prototype.build = function (e) {
          var t = this;t.structure();for (var s in window.lgModules) {
            t.modules[s] = new window.lgModules[s](t.el);
          }t.slide(e, !1, !1), t.s.keyPress && t.keyPress(), t.items.length > 1 && (t.arrow(), setTimeout(function () {
            t.enableDrag(), t.enableSwipe();
          }, 50), t.s.mousewheel && t.mousewheel()), t.counter(), t.closeGallery(), l.default.trigger(t.el, "onAfterOpen"), l.default.on(t.outer, "mousemove.lg click.lg touchstart.lg", function () {
            l.default.removeClass(t.outer, "lg-hide-items"), clearTimeout(t.hideBartimeout), t.hideBartimeout = setTimeout(function () {
              l.default.addClass(t.outer, "lg-hide-items");
            }, t.s.hideBarsDelay);
          });
        }, s.prototype.structure = function () {
          var e = "",
              t = "",
              s = 0,
              i = "",
              o,
              r = this;for (document.body.insertAdjacentHTML("beforeend", '<div class="lg-backdrop"></div>'), l.default.setVendor(document.querySelector(".lg-backdrop"), "TransitionDuration", this.s.backdropDuration + "ms"), s = 0; s < this.items.length; s++) {
            e += '<div class="lg-item"></div>';
          }if (this.s.controls && this.items.length > 1 && (t = '<div class="lg-actions"><div class="lg-prev lg-icon">' + this.s.prevHtml + '</div><div class="lg-next lg-icon">' + this.s.nextHtml + "</div></div>"), ".lg-sub-html" === this.s.appendSubHtmlTo && (i = '<div class="lg-sub-html"></div>'), o = '<div class="lg-outer ' + this.s.addClass + " " + this.s.startClass + '"><div class="lg" style="width:' + this.s.width + "; height:" + this.s.height + '"><div class="lg-inner">' + e + '</div><div class="lg-toolbar group"><span class="lg-close lg-icon"></span></div>' + t + i + "</div></div>", document.body.insertAdjacentHTML("beforeend", o), this.outer = document.querySelector(".lg-outer"), this.___slide = this.outer.querySelectorAll(".lg-item"), this.s.useLeft ? (l.default.addClass(this.outer, "lg-use-left"), this.s.mode = "lg-slide") : l.default.addClass(this.outer, "lg-use-css3"), r.setTop(), l.default.on(window, "resize.lg orientationchange.lg", function () {
            setTimeout(function () {
              r.setTop();
            }, 100);
          }), l.default.addClass(this.___slide[this.index], "lg-current"), this.doCss() ? l.default.addClass(this.outer, "lg-css3") : (l.default.addClass(this.outer, "lg-css"), this.s.speed = 0), l.default.addClass(this.outer, this.s.mode), this.s.enableDrag && this.items.length > 1 && l.default.addClass(this.outer, "lg-grab"), this.s.showAfterLoad && l.default.addClass(this.outer, "lg-show-after-load"), this.doCss()) {
            var d = this.outer.querySelector(".lg-inner");l.default.setVendor(d, "TransitionTimingFunction", this.s.cssEasing), l.default.setVendor(d, "TransitionDuration", this.s.speed + "ms");
          }setTimeout(function () {
            l.default.addClass(document.querySelector(".lg-backdrop"), "in");
          }), setTimeout(function () {
            l.default.addClass(r.outer, "lg-visible");
          }, this.s.backdropDuration), this.s.download && this.outer.querySelector(".lg-toolbar").insertAdjacentHTML("beforeend", '<a id="lg-download" target="_blank" download class="lg-download lg-icon"></a>'), this.prevScrollTop = document.documentElement.scrollTop || document.body.scrollTop;
        }, s.prototype.setTop = function () {
          if ("100%" !== this.s.height) {
            var e = window.innerHeight,
                t = (e - parseInt(this.s.height, 10)) / 2,
                s = this.outer.querySelector(".lg");e >= parseInt(this.s.height, 10) ? s.style.top = t + "px" : s.style.top = "0px";
          }
        }, s.prototype.doCss = function () {
          return !!function e() {
            var t = ["transition", "MozTransition", "WebkitTransition", "OTransition", "msTransition", "KhtmlTransition"],
                s = document.documentElement,
                l = 0;for (l = 0; l < t.length; l++) {
              if (t[l] in s.style) return !0;
            }
          }();
        }, s.prototype.isVideo = function (e, t) {
          var s;if (s = this.s.dynamic ? this.s.dynamicEl[t].html : this.items[t].getAttribute("data-html"), !e && s) return { html5: !0 };var l = e.match(/\/\/(?:www\.)?youtu(?:\.be|be\.com|be-nocookie\.com)\/(?:watch\?v=|embed\/)?([a-z0-9\-\_\%]+)/i),
              i = e.match(/\/\/(?:www\.)?vimeo.com\/([0-9a-z\-_]+)/i),
              o = e.match(/\/\/(?:www\.)?dai.ly\/([0-9a-z\-_]+)/i),
              r = e.match(/\/\/(?:www\.)?(?:vk\.com|vkontakte\.ru)\/(?:video_ext\.php\?)(.*)/i);return l ? { youtube: l } : i ? { vimeo: i } : o ? { dailymotion: o } : r ? { vk: r } : void 0;
        }, s.prototype.counter = function () {
          this.s.counter && this.outer.querySelector(this.s.appendCounterTo).insertAdjacentHTML("beforeend", '<div id="lg-counter"><span id="lg-counter-current">' + (parseInt(this.index, 10) + 1) + '</span> / <span id="lg-counter-all">' + this.items.length + "</span></div>");
        }, s.prototype.addHtml = function (e) {
          var t = null,
              s;if (this.s.dynamic ? t = this.s.dynamicEl[e].subHtml : (s = this.items[e], t = s.getAttribute("data-sub-html"), this.s.getCaptionFromTitleOrAlt && !t && (t = s.getAttribute("title")) && s.querySelector("img") && (t = s.querySelector("img").getAttribute("alt"))), void 0 !== t && null !== t) {
            var i = t.substring(0, 1);"." !== i && "#" !== i || (t = this.s.subHtmlSelectorRelative && !this.s.dynamic ? s.querySelector(t).innerHTML : document.querySelector(t).innerHTML);
          } else t = "";".lg-sub-html" === this.s.appendSubHtmlTo ? this.outer.querySelector(this.s.appendSubHtmlTo).innerHTML = t : this.___slide[e].insertAdjacentHTML("beforeend", t), void 0 !== t && null !== t && ("" === t ? l.default.addClass(this.outer.querySelector(this.s.appendSubHtmlTo), "lg-empty-html") : l.default.removeClass(this.outer.querySelector(this.s.appendSubHtmlTo), "lg-empty-html")), l.default.trigger(this.el, "onAfterAppendSubHtml", { index: e });
        }, s.prototype.preload = function (e) {
          var t = 1,
              s = 1;for (t = 1; t <= this.s.preload && !(t >= this.items.length - e); t++) {
            this.loadContent(e + t, !1, 0);
          }for (s = 1; s <= this.s.preload && !(e - s < 0); s++) {
            this.loadContent(e - s, !1, 0);
          }
        }, s.prototype.loadContent = function (e, t, s) {
          var i = this,
              o = !1,
              r,
              d,
              a,
              n,
              u,
              c,
              g = function e(t) {
            for (var s = [], l = [], i = 0; i < t.length; i++) {
              var o = t[i].split(" ");"" === o[0] && o.splice(0, 1), l.push(o[0]), s.push(o[1]);
            }for (var r = window.innerWidth, a = 0; a < s.length; a++) {
              if (parseInt(s[a], 10) > r) {
                d = l[a];break;
              }
            }
          };if (i.s.dynamic) {
            if (i.s.dynamicEl[e].poster && (o = !0, a = i.s.dynamicEl[e].poster), c = i.s.dynamicEl[e].html, d = i.s.dynamicEl[e].src, i.s.dynamicEl[e].responsive) {
              g(i.s.dynamicEl[e].responsive.split(","));
            }n = i.s.dynamicEl[e].srcset, u = i.s.dynamicEl[e].sizes;
          } else {
            if (i.items[e].getAttribute("data-poster") && (o = !0, a = i.items[e].getAttribute("data-poster")), c = i.items[e].getAttribute("data-html"), d = i.items[e].getAttribute("href") || i.items[e].getAttribute("data-src"), i.items[e].getAttribute("data-responsive")) {
              g(i.items[e].getAttribute("data-responsive").split(","));
            }n = i.items[e].getAttribute("data-srcset"), u = i.items[e].getAttribute("data-sizes");
          }var f = !1;i.s.dynamic ? i.s.dynamicEl[e].iframe && (f = !0) : "true" === i.items[e].getAttribute("data-iframe") && (f = !0);var h = i.isVideo(d, e);if (!l.default.hasClass(i.___slide[e], "lg-loaded")) {
            if (f) i.___slide[e].insertAdjacentHTML("afterbegin", '<div class="lg-video-cont" style="max-width:' + i.s.iframeMaxWidth + '"><div class="lg-video"><iframe class="lg-object" frameborder="0" src="' + d + '"  allowfullscreen="true"></iframe></div></div>');else if (o) {
              var m = "";m = h && h.youtube ? "lg-has-youtube" : h && h.vimeo ? "lg-has-vimeo" : "lg-has-html5", i.___slide[e].insertAdjacentHTML("beforeend", '<div class="lg-video-cont ' + m + ' "><div class="lg-video"><span class="lg-video-play"></span><img class="lg-object lg-has-poster" src="' + a + '" /></div></div>');
            } else h ? (i.___slide[e].insertAdjacentHTML("beforeend", '<div class="lg-video-cont "><div class="lg-video"></div></div>'), l.default.trigger(i.el, "hasVideo", { index: e, src: d, html: c })) : i.___slide[e].insertAdjacentHTML("beforeend", '<div class="lg-img-wrap"><img class="lg-object lg-image" src="' + d + '" /></div>');if (l.default.trigger(i.el, "onAferAppendSlide", { index: e }), r = i.___slide[e].querySelector(".lg-object"), u && r.setAttribute("sizes", u), n) {
              r.setAttribute("srcset", n);try {
                picturefill({ elements: [r[0]] });
              } catch (e) {
                console.error("Make sure you have included Picturefill version 2");
              }
            }".lg-sub-html" !== this.s.appendSubHtmlTo && i.addHtml(e), l.default.addClass(i.___slide[e], "lg-loaded");
          }l.default.on(i.___slide[e].querySelector(".lg-object"), "load.lg error.lg", function () {
            var t = 0;s && !l.default.hasClass(document.body, "lg-from-hash") && (t = s), setTimeout(function () {
              l.default.addClass(i.___slide[e], "lg-complete"), l.default.trigger(i.el, "onSlideItemLoad", { index: e, delay: s || 0 });
            }, t);
          }), h && h.html5 && !o && l.default.addClass(i.___slide[e], "lg-complete"), !0 === t && (l.default.hasClass(i.___slide[e], "lg-complete") ? i.preload(e) : l.default.on(i.___slide[e].querySelector(".lg-object"), "load.lg error.lg", function () {
            i.preload(e);
          }));
        }, s.prototype.slide = function (e, t, s) {
          for (var i = 0, o = 0; o < this.___slide.length; o++) {
            if (l.default.hasClass(this.___slide[o], "lg-current")) {
              i = o;break;
            }
          }var r = this;if (!r.lGalleryOn || i !== e) {
            var d = this.___slide.length,
                a = r.lGalleryOn ? this.s.speed : 0,
                n = !1,
                u = !1;if (!r.lgBusy) {
              if (this.s.download) {
                var c;c = r.s.dynamic ? !1 !== r.s.dynamicEl[e].downloadUrl && (r.s.dynamicEl[e].downloadUrl || r.s.dynamicEl[e].src) : "false" !== r.items[e].getAttribute("data-download-url") && (r.items[e].getAttribute("data-download-url") || r.items[e].getAttribute("href") || r.items[e].getAttribute("data-src")), c ? (document.getElementById("lg-download").setAttribute("href", c), l.default.removeClass(r.outer, "lg-hide-download")) : l.default.addClass(r.outer, "lg-hide-download");
              }if (l.default.trigger(r.el, "onBeforeSlide", { prevIndex: i, index: e, fromTouch: t, fromThumb: s }), r.lgBusy = !0, clearTimeout(r.hideBartimeout), ".lg-sub-html" === this.s.appendSubHtmlTo && setTimeout(function () {
                r.addHtml(e);
              }, a), this.arrowDisable(e), t) {
                var g = e - 1,
                    f = e + 1;0 === e && i === d - 1 ? (f = 0, g = d - 1) : e === d - 1 && 0 === i && (f = 0, g = d - 1), l.default.removeClass(r.outer.querySelector(".lg-prev-slide"), "lg-prev-slide"), l.default.removeClass(r.outer.querySelector(".lg-current"), "lg-current"), l.default.removeClass(r.outer.querySelector(".lg-next-slide"), "lg-next-slide"), l.default.addClass(r.___slide[g], "lg-prev-slide"), l.default.addClass(r.___slide[f], "lg-next-slide"), l.default.addClass(r.___slide[e], "lg-current");
              } else {
                l.default.addClass(r.outer, "lg-no-trans");for (var h = 0; h < this.___slide.length; h++) {
                  l.default.removeClass(this.___slide[h], "lg-prev-slide"), l.default.removeClass(this.___slide[h], "lg-next-slide");
                }e < i ? (u = !0, 0 !== e || i !== d - 1 || s || (u = !1, n = !0)) : e > i && (n = !0, e !== d - 1 || 0 !== i || s || (u = !0, n = !1)), u ? (l.default.addClass(this.___slide[e], "lg-prev-slide"), l.default.addClass(this.___slide[i], "lg-next-slide")) : n && (l.default.addClass(this.___slide[e], "lg-next-slide"), l.default.addClass(this.___slide[i], "lg-prev-slide")), setTimeout(function () {
                  l.default.removeClass(r.outer.querySelector(".lg-current"), "lg-current"), l.default.addClass(r.___slide[e], "lg-current"), l.default.removeClass(r.outer, "lg-no-trans");
                }, 50);
              }r.lGalleryOn ? (setTimeout(function () {
                r.loadContent(e, !0, 0);
              }, this.s.speed + 50), setTimeout(function () {
                r.lgBusy = !1, l.default.trigger(r.el, "onAfterSlide", { prevIndex: i, index: e, fromTouch: t, fromThumb: s });
              }, this.s.speed)) : (r.loadContent(e, !0, r.s.backdropDuration), r.lgBusy = !1, l.default.trigger(r.el, "onAfterSlide", { prevIndex: i, index: e, fromTouch: t, fromThumb: s })), r.lGalleryOn = !0, this.s.counter && document.getElementById("lg-counter-current") && (document.getElementById("lg-counter-current").innerHTML = e + 1);
            }
          }
        }, s.prototype.goToNextSlide = function (e) {
          var t = this;t.lgBusy || (t.index + 1 < t.___slide.length ? (t.index++, l.default.trigger(t.el, "onBeforeNextSlide", { index: t.index }), t.slide(t.index, e, !1)) : t.s.loop ? (t.index = 0, l.default.trigger(t.el, "onBeforeNextSlide", { index: t.index }), t.slide(t.index, e, !1)) : t.s.slideEndAnimatoin && (l.default.addClass(t.outer, "lg-right-end"), setTimeout(function () {
            l.default.removeClass(t.outer, "lg-right-end");
          }, 400)));
        }, s.prototype.goToPrevSlide = function (e) {
          var t = this;t.lgBusy || (t.index > 0 ? (t.index--, l.default.trigger(t.el, "onBeforePrevSlide", { index: t.index, fromTouch: e }), t.slide(t.index, e, !1)) : t.s.loop ? (t.index = t.items.length - 1, l.default.trigger(t.el, "onBeforePrevSlide", { index: t.index, fromTouch: e }), t.slide(t.index, e, !1)) : t.s.slideEndAnimatoin && (l.default.addClass(t.outer, "lg-left-end"), setTimeout(function () {
            l.default.removeClass(t.outer, "lg-left-end");
          }, 400)));
        }, s.prototype.keyPress = function () {
          var e = this;this.items.length > 1 && l.default.on(window, "keyup.lg", function (t) {
            e.items.length > 1 && (37 === t.keyCode && (t.preventDefault(), e.goToPrevSlide()), 39 === t.keyCode && (t.preventDefault(), e.goToNextSlide()));
          }), l.default.on(window, "keydown.lg", function (t) {
            !0 === e.s.escKey && 27 === t.keyCode && (t.preventDefault(), l.default.hasClass(e.outer, "lg-thumb-open") ? l.default.removeClass(e.outer, "lg-thumb-open") : e.destroy());
          });
        }, s.prototype.arrow = function () {
          var e = this;l.default.on(this.outer.querySelector(".lg-prev"), "click.lg", function () {
            e.goToPrevSlide();
          }), l.default.on(this.outer.querySelector(".lg-next"), "click.lg", function () {
            e.goToNextSlide();
          });
        }, s.prototype.arrowDisable = function (e) {
          if (!this.s.loop && this.s.hideControlOnEnd) {
            var t = this.outer.querySelector(".lg-next"),
                s = this.outer.querySelector(".lg-prev");e + 1 < this.___slide.length ? (t.removeAttribute("disabled"), l.default.removeClass(t, "disabled")) : (t.setAttribute("disabled", "disabled"), l.default.addClass(t, "disabled")), e > 0 ? (s.removeAttribute("disabled"), l.default.removeClass(s, "disabled")) : (s.setAttribute("disabled", "disabled"), l.default.addClass(s, "disabled"));
          }
        }, s.prototype.setTranslate = function (e, t, s) {
          this.s.useLeft ? e.style.left = t : l.default.setVendor(e, "Transform", "translate3d(" + t + "px, " + s + "px, 0px)");
        }, s.prototype.touchMove = function (e, t) {
          var s = t - e;Math.abs(s) > 15 && (l.default.addClass(this.outer, "lg-dragging"), this.setTranslate(this.___slide[this.index], s, 0), this.setTranslate(document.querySelector(".lg-prev-slide"), -this.___slide[this.index].clientWidth + s, 0), this.setTranslate(document.querySelector(".lg-next-slide"), this.___slide[this.index].clientWidth + s, 0));
        }, s.prototype.touchEnd = function (e) {
          var t = this;"lg-slide" !== t.s.mode && l.default.addClass(t.outer, "lg-slide");for (var s = 0; s < this.___slide.length; s++) {
            l.default.hasClass(this.___slide[s], "lg-current") || l.default.hasClass(this.___slide[s], "lg-prev-slide") || l.default.hasClass(this.___slide[s], "lg-next-slide") || (this.___slide[s].style.opacity = "0");
          }setTimeout(function () {
            l.default.removeClass(t.outer, "lg-dragging"), e < 0 && Math.abs(e) > t.s.swipeThreshold ? t.goToNextSlide(!0) : e > 0 && Math.abs(e) > t.s.swipeThreshold ? t.goToPrevSlide(!0) : Math.abs(e) < 5 && l.default.trigger(t.el, "onSlideClick");for (var s = 0; s < t.___slide.length; s++) {
              t.___slide[s].removeAttribute("style");
            }
          }), setTimeout(function () {
            l.default.hasClass(t.outer, "lg-dragging") || "lg-slide" === t.s.mode || l.default.removeClass(t.outer, "lg-slide");
          }, t.s.speed + 100);
        }, s.prototype.enableSwipe = function () {
          var e = this,
              t = 0,
              s = 0,
              i = !1;if (e.s.enableSwipe && e.isTouch && e.doCss()) {
            for (var o = 0; o < e.___slide.length; o++) {
              l.default.on(e.___slide[o], "touchstart.lg", function (s) {
                l.default.hasClass(e.outer, "lg-zoomed") || e.lgBusy || (s.preventDefault(), e.manageSwipeClass(), t = s.targetTouches[0].pageX);
              });
            }for (var r = 0; r < e.___slide.length; r++) {
              l.default.on(e.___slide[r], "touchmove.lg", function (o) {
                l.default.hasClass(e.outer, "lg-zoomed") || (o.preventDefault(), s = o.targetTouches[0].pageX, e.touchMove(t, s), i = !0);
              });
            }for (var d = 0; d < e.___slide.length; d++) {
              l.default.on(e.___slide[d], "touchend.lg", function () {
                l.default.hasClass(e.outer, "lg-zoomed") || (i ? (i = !1, e.touchEnd(s - t)) : l.default.trigger(e.el, "onSlideClick"));
              });
            }
          }
        }, s.prototype.enableDrag = function () {
          var e = this,
              t = 0,
              s = 0,
              i = !1,
              o = !1;if (e.s.enableDrag && !e.isTouch && e.doCss()) {
            for (var r = 0; r < e.___slide.length; r++) {
              l.default.on(e.___slide[r], "mousedown.lg", function (s) {
                l.default.hasClass(e.outer, "lg-zoomed") || (l.default.hasClass(s.target, "lg-object") || l.default.hasClass(s.target, "lg-video-play")) && (s.preventDefault(), e.lgBusy || (e.manageSwipeClass(), t = s.pageX, i = !0, e.outer.scrollLeft += 1, e.outer.scrollLeft -= 1, l.default.removeClass(e.outer, "lg-grab"), l.default.addClass(e.outer, "lg-grabbing"), l.default.trigger(e.el, "onDragstart")));
              });
            }l.default.on(window, "mousemove.lg", function (r) {
              i && (o = !0, s = r.pageX, e.touchMove(t, s), l.default.trigger(e.el, "onDragmove"));
            }), l.default.on(window, "mouseup.lg", function (r) {
              o ? (o = !1, e.touchEnd(s - t), l.default.trigger(e.el, "onDragend")) : (l.default.hasClass(r.target, "lg-object") || l.default.hasClass(r.target, "lg-video-play")) && l.default.trigger(e.el, "onSlideClick"), i && (i = !1, l.default.removeClass(e.outer, "lg-grabbing"), l.default.addClass(e.outer, "lg-grab"));
            });
          }
        }, s.prototype.manageSwipeClass = function () {
          var e = this.index + 1,
              t = this.index - 1,
              s = this.___slide.length;this.s.loop && (0 === this.index ? t = s - 1 : this.index === s - 1 && (e = 0));for (var i = 0; i < this.___slide.length; i++) {
            l.default.removeClass(this.___slide[i], "lg-next-slide"), l.default.removeClass(this.___slide[i], "lg-prev-slide");
          }t > -1 && l.default.addClass(this.___slide[t], "lg-prev-slide"), l.default.addClass(this.___slide[e], "lg-next-slide");
        }, s.prototype.mousewheel = function () {
          var e = this;l.default.on(e.outer, "mousewheel.lg", function (t) {
            t.deltaY && (t.deltaY > 0 ? e.goToPrevSlide() : e.goToNextSlide(), t.preventDefault());
          });
        }, s.prototype.closeGallery = function () {
          var e = this,
              t = !1;l.default.on(this.outer.querySelector(".lg-close"), "click.lg", function () {
            e.destroy();
          }), e.s.closable && (l.default.on(e.outer, "mousedown.lg", function (e) {
            t = !!(l.default.hasClass(e.target, "lg-outer") || l.default.hasClass(e.target, "lg-item") || l.default.hasClass(e.target, "lg-img-wrap"));
          }), l.default.on(e.outer, "mouseup.lg", function (s) {
            (l.default.hasClass(s.target, "lg-outer") || l.default.hasClass(s.target, "lg-item") || l.default.hasClass(s.target, "lg-img-wrap") && t) && (l.default.hasClass(e.outer, "lg-dragging") || e.destroy());
          }));
        }, s.prototype.destroy = function (e) {
          var t = this;if (e || l.default.trigger(t.el, "onBeforeClose"), document.body.scrollTop = t.prevScrollTop, document.documentElement.scrollTop = t.prevScrollTop, e) {
            if (!t.s.dynamic) for (var s = 0; s < this.items.length; s++) {
              l.default.off(this.items[s], ".lg"), l.default.off(this.items[s], ".lgcustom");
            }var i = t.el.getAttribute("lg-uid");delete window.lgData[i], t.el.removeAttribute("lg-uid");
          }l.default.off(this.el, ".lgtm");for (var o in window.lgModules) {
            t.modules[o] && t.modules[o].destroy(e);
          }this.lGalleryOn = !1, clearTimeout(t.hideBartimeout), this.hideBartimeout = !1, l.default.off(window, ".lg"), l.default.removeClass(document.body, "lg-on"), l.default.removeClass(document.body, "lg-from-hash"), t.outer && l.default.removeClass(t.outer, "lg-visible"), l.default.removeClass(document.querySelector(".lg-backdrop"), "in"), setTimeout(function () {
            try {
              t.outer && t.outer.parentNode.removeChild(t.outer), document.querySelector(".lg-backdrop") && document.querySelector(".lg-backdrop").parentNode.removeChild(document.querySelector(".lg-backdrop")), e || l.default.trigger(t.el, "onCloseAfter");
            } catch (e) {}
          }, t.s.backdropDuration + 50);
        }, window.lightGallery = function (e, t) {
          if (e) try {
            if (e.getAttribute("lg-uid")) try {
              window.lgData[e.getAttribute("lg-uid")].init();
            } catch (e) {
              console.error("lightGallery has not initiated properly");
            } else {
              var l = "lg" + window.lgData.uid++;window.lgData[l] = new s(e, t), e.setAttribute("lg-uid", l);
            }
          } catch (e) {
            console.error("lightGallery has not initiated properly");
          }
        };
      });
    }, { "./lg-utils": 1 }] }, {}, [2])(2);
});

/**!
 * lg-thumbnail.js | 1.0.0 | August 8th 2018
 * http://sachinchoolur.github.io/lg-thumbnail.js
 * Copyright (c) 2016 Sachin N;
 * @license GPLv3
 */
!function (t) {
  if ("object" == (typeof exports === "undefined" ? "undefined" : _typeof(exports)) && "undefined" != typeof module) module.exports = t();else if ("function" == typeof define && define.amd) define([], t);else {
    var e;e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self ? self : this, e.LgThumbnail = t();
  }
}(function () {
  var t, e, i;return function () {
    function t(e, i, o) {
      function u(s, l) {
        if (!i[s]) {
          if (!e[s]) {
            var h = "function" == typeof require && require;if (!l && h) return h(s, !0);if (r) return r(s, !0);var n = new Error("Cannot find module '" + s + "'");throw n.code = "MODULE_NOT_FOUND", n;
          }var a = i[s] = { exports: {} };e[s][0].call(a.exports, function (t) {
            return u(e[s][1][t] || t);
          }, a, a.exports, t, e, i, o);
        }return i[s].exports;
      }for (var r = "function" == typeof require && require, s = 0; s < o.length; s++) {
        u(o[s]);
      }return u;
    }return t;
  }()({ 1: [function (e, i, o) {
      !function (e, i) {
        if ("function" == typeof t && t.amd) t([], i);else if (void 0 !== o) i();else {
          var u = { exports: {} };i(), e.lgThumbnail = u.exports;
        }
      }(this, function () {
        "use strict";
        var t = Object.assign || function (t) {
          for (var e = 1; e < arguments.length; e++) {
            var i = arguments[e];for (var o in i) {
              Object.prototype.hasOwnProperty.call(i, o) && (t[o] = i[o]);
            }
          }return t;
        },
            e = { thumbnail: !0, animateThumb: !0, currentPagerPosition: "middle", thumbWidth: 100, thumbContHeight: 100, thumbMargin: 5, exThumbImage: !1, showThumbByDefault: !0, toggleThumb: !0, pullCaptionUp: !0, enableThumbDrag: !0, enableThumbSwipe: !0, swipeThreshold: 50, loadYoutubeThumbnail: !0, youtubeThumbSize: 1, loadVimeoThumbnail: !0, vimeoThumbSize: "thumbnail_small", loadDailymotionThumbnail: !0 },
            i = function i(o) {
          return this.el = o, this.core = window.lgData[this.el.getAttribute("lg-uid")], this.core.s = t({}, e, this.core.s), this.thumbOuter = null, this.thumbOuterWidth = 0, this.thumbTotalWidth = this.core.items.length * (this.core.s.thumbWidth + this.core.s.thumbMargin), this.thumbIndex = this.core.index, this.left = 0, this.init(), this;
        };i.prototype.init = function () {
          var t = this;this.core.s.thumbnail && this.core.items.length > 1 && (this.core.s.showThumbByDefault && setTimeout(function () {
            utils.addClass(t.core.outer, "lg-thumb-open");
          }, 700), this.core.s.pullCaptionUp && utils.addClass(this.core.outer, "lg-pull-caption-up"), this.build(), this.core.s.animateThumb ? (this.core.s.enableThumbDrag && !this.core.isTouch && this.core.doCss() && this.enableThumbDrag(), this.core.s.enableThumbSwipe && this.core.isTouch && this.core.doCss() && this.enableThumbSwipe(), this.thumbClickable = !1) : this.thumbClickable = !0, this.toggle(), this.thumbkeyPress());
        }, i.prototype.build = function () {
          function t(t, u, r) {
            var s = e.core.isVideo(t, r) || {},
                l,
                h = "";s.youtube || s.vimeo || s.dailymotion ? s.youtube ? l = e.core.s.loadYoutubeThumbnail ? "//img.youtube.com/vi/" + s.youtube[1] + "/" + e.core.s.youtubeThumbSize + ".jpg" : u : s.vimeo ? e.core.s.loadVimeoThumbnail ? (l = "//i.vimeocdn.com/video/error_" + o + ".jpg", h = s.vimeo[1]) : l = u : s.dailymotion && (l = e.core.s.loadDailymotionThumbnail ? "//www.dailymotion.com/thumbnail/video/" + s.dailymotion[1] : u) : l = u, i += '<div data-vimeo-id="' + h + '" class="lg-thumb-item" style="width:' + e.core.s.thumbWidth + "px; margin-right: " + e.core.s.thumbMargin + 'px"><img src="' + l + '" /></div>', h = "";
          }var e = this,
              i = "",
              o = "",
              u,
              r = '<div class="lg-thumb-outer"><div class="lg-thumb group"></div></div>';switch (this.core.s.vimeoThumbSize) {case "thumbnail_large":
              o = "640";break;case "thumbnail_medium":
              o = "200x150";break;case "thumbnail_small":
              o = "100x75";}if (utils.addClass(e.core.outer, "lg-has-thumb"), e.core.outer.querySelector(".lg").insertAdjacentHTML("beforeend", r), e.thumbOuter = e.core.outer.querySelector(".lg-thumb-outer"), e.thumbOuterWidth = e.thumbOuter.offsetWidth, e.core.s.animateThumb && (e.core.outer.querySelector(".lg-thumb").style.width = e.thumbTotalWidth + "px", e.core.outer.querySelector(".lg-thumb").style.position = "relative"), this.core.s.animateThumb && (e.thumbOuter.style.height = e.core.s.thumbContHeight + "px"), e.core.s.dynamic) for (var s = 0; s < e.core.s.dynamicEl.length; s++) {
            t(e.core.s.dynamicEl[s].src, e.core.s.dynamicEl[s].thumb, s);
          } else for (var l = 0; l < e.core.items.length; l++) {
            e.core.s.exThumbImage ? t(e.core.items[l].getAttribute("href") || e.core.items[l].getAttribute("data-src"), e.core.items[l].getAttribute(e.core.s.exThumbImage), l) : t(e.core.items[l].getAttribute("href") || e.core.items[l].getAttribute("data-src"), e.core.items[l].querySelector("img").getAttribute("src"), l);
          }e.core.outer.querySelector(".lg-thumb").innerHTML = i, u = e.core.outer.querySelectorAll(".lg-thumb-item");for (var h = 0; h < u.length; h++) {
            !function (t) {
              var i = u[t],
                  o = i.getAttribute("data-vimeo-id");if (o) {
                window["lgJsonP" + e.el.getAttribute("lg-uid") + h] = function (t) {
                  i.querySelector("img").setAttribute("src", t[0][e.core.s.vimeoThumbSize]);
                };var r = document.createElement("script");r.className = "lg-script", r.src = "//www.vimeo.com/api/v2/video/" + o + ".json?callback=lgJsonP" + e.el.getAttribute("lg-uid") + h, document.body.appendChild(r);
              }
            }(h);
          }utils.addClass(u[e.core.index], "active"), utils.on(e.core.el, "onBeforeSlide.lgtm", function () {
            for (var t = 0; t < u.length; t++) {
              utils.removeClass(u[t], "active");
            }utils.addClass(u[e.core.index], "active");
          });for (var n = 0; n < u.length; n++) {
            !function (t) {
              utils.on(u[t], "click.lg touchend.lg", function () {
                setTimeout(function () {
                  (e.thumbClickable && !e.core.lgBusy || !e.core.doCss()) && (e.core.index = t, e.core.slide(e.core.index, !1, !0));
                }, 50);
              });
            }(n);
          }utils.on(e.core.el, "onBeforeSlide.lgtm", function () {
            e.animateThumb(e.core.index);
          }), utils.on(window, "resize.lgthumb orientationchange.lgthumb", function () {
            setTimeout(function () {
              e.animateThumb(e.core.index), e.thumbOuterWidth = e.thumbOuter.offsetWidth;
            }, 200);
          });
        }, i.prototype.setTranslate = function (t) {
          utils.setVendor(this.core.outer.querySelector(".lg-thumb"), "Transform", "translate3d(-" + t + "px, 0px, 0px)");
        }, i.prototype.animateThumb = function (t) {
          var e = this.core.outer.querySelector(".lg-thumb");if (this.core.s.animateThumb) {
            var i;switch (this.core.s.currentPagerPosition) {case "left":
                i = 0;break;case "middle":
                i = this.thumbOuterWidth / 2 - this.core.s.thumbWidth / 2;break;case "right":
                i = this.thumbOuterWidth - this.core.s.thumbWidth;}this.left = (this.core.s.thumbWidth + this.core.s.thumbMargin) * t - 1 - i, this.left > this.thumbTotalWidth - this.thumbOuterWidth && (this.left = this.thumbTotalWidth - this.thumbOuterWidth), this.left < 0 && (this.left = 0), this.core.lGalleryOn ? (utils.hasClass(e, "on") || utils.setVendor(this.core.outer.querySelector(".lg-thumb"), "TransitionDuration", this.core.s.speed + "ms"), this.core.doCss() || (e.style.left = -this.left + "px")) : this.core.doCss() || (e.style.left = -this.left + "px"), this.setTranslate(this.left);
          }
        }, i.prototype.enableThumbDrag = function () {
          var t = this,
              e = 0,
              i = 0,
              o = !1,
              u = !1,
              r = 0;utils.addClass(t.thumbOuter, "lg-grab"), utils.on(t.core.outer.querySelector(".lg-thumb"), "mousedown.lgthumb", function (i) {
            t.thumbTotalWidth > t.thumbOuterWidth && (i.preventDefault(), e = i.pageX, o = !0, t.core.outer.scrollLeft += 1, t.core.outer.scrollLeft -= 1, t.thumbClickable = !1, utils.removeClass(t.thumbOuter, "lg-grab"), utils.addClass(t.thumbOuter, "lg-grabbing"));
          }), utils.on(window, "mousemove.lgthumb", function (s) {
            o && (r = t.left, u = !0, i = s.pageX, utils.addClass(t.thumbOuter, "lg-dragging"), r -= i - e, r > t.thumbTotalWidth - t.thumbOuterWidth && (r = t.thumbTotalWidth - t.thumbOuterWidth), r < 0 && (r = 0), t.setTranslate(r));
          }), utils.on(window, "mouseup.lgthumb", function () {
            u ? (u = !1, utils.removeClass(t.thumbOuter, "lg-dragging"), t.left = r, Math.abs(i - e) < t.core.s.swipeThreshold && (t.thumbClickable = !0)) : t.thumbClickable = !0, o && (o = !1, utils.removeClass(t.thumbOuter, "lg-grabbing"), utils.addClass(t.thumbOuter, "lg-grab"));
          });
        }, i.prototype.enableThumbSwipe = function () {
          var t = this,
              e = 0,
              i = 0,
              o = !1,
              u = 0;utils.on(t.core.outer.querySelector(".lg-thumb"), "touchstart.lg", function (i) {
            t.thumbTotalWidth > t.thumbOuterWidth && (i.preventDefault(), e = i.targetTouches[0].pageX, t.thumbClickable = !1);
          }), utils.on(t.core.outer.querySelector(".lg-thumb"), "touchmove.lg", function (r) {
            t.thumbTotalWidth > t.thumbOuterWidth && (r.preventDefault(), i = r.targetTouches[0].pageX, o = !0, utils.addClass(t.thumbOuter, "lg-dragging"), u = t.left, u -= i - e, u > t.thumbTotalWidth - t.thumbOuterWidth && (u = t.thumbTotalWidth - t.thumbOuterWidth), u < 0 && (u = 0), t.setTranslate(u));
          }), utils.on(t.core.outer.querySelector(".lg-thumb"), "touchend.lg", function () {
            t.thumbTotalWidth > t.thumbOuterWidth && o ? (o = !1, utils.removeClass(t.thumbOuter, "lg-dragging"), Math.abs(i - e) < t.core.s.swipeThreshold && (t.thumbClickable = !0), t.left = u) : t.thumbClickable = !0;
          });
        }, i.prototype.toggle = function () {
          var t = this;t.core.s.toggleThumb && (utils.addClass(t.core.outer, "lg-can-toggle"), t.thumbOuter.insertAdjacentHTML("beforeend", '<span class="lg-toggle-thumb lg-icon"></span>'), utils.on(t.core.outer.querySelector(".lg-toggle-thumb"), "click.lg", function () {
            utils.hasClass(t.core.outer, "lg-thumb-open") ? utils.removeClass(t.core.outer, "lg-thumb-open") : utils.addClass(t.core.outer, "lg-thumb-open");
          }));
        }, i.prototype.thumbkeyPress = function () {
          var t = this;utils.on(window, "keydown.lgthumb", function (e) {
            38 === e.keyCode ? (e.preventDefault(), utils.addClass(t.core.outer, "lg-thumb-open")) : 40 === e.keyCode && (e.preventDefault(), utils.removeClass(t.core.outer, "lg-thumb-open"));
          });
        }, i.prototype.destroy = function (t) {
          if (this.core.s.thumbnail && this.core.items.length > 1) {
            utils.off(window, ".lgthumb"), t || this.thumbOuter.parentNode.removeChild(this.thumbOuter), utils.removeClass(this.core.outer, "lg-has-thumb");for (var e = document.getElementsByClassName("lg-script"); e[0];) {
              e[0].parentNode.removeChild(e[0]);
            }
          }
        }, window.lgModules.thumbnail = i;
      });
    }, {}] }, {}, [1])(1);
});
"use strict";

var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };

/*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */
!function (n) {
  "function" == typeof define && define.amd ? define(["jquery"], n) : "object" == (typeof module === "undefined" ? "undefined" : _typeof(module)) && module.exports ? module.exports = function (e, t) {
    return void 0 === t && (t = "undefined" != typeof window ? require("jquery") : require("jquery")(e)), n(t), t;
  } : n(jQuery);
}(function (u) {
  var e = function () {
    if (u && u.fn && u.fn.select2 && u.fn.select2.amd) var e = u.fn.select2.amd;var t, n, r, h, o, _s, f, g, m, v, y, _, i, a, w;function b(e, t) {
      return i.call(e, t);
    }function l(e, t) {
      var n,
          r,
          i,
          o,
          s,
          a,
          l,
          c,
          u,
          d,
          p,
          h = t && t.split("/"),
          f = y.map,
          g = f && f["*"] || {};if (e) {
        for (s = (e = e.split("/")).length - 1, y.nodeIdCompat && w.test(e[s]) && (e[s] = e[s].replace(w, "")), "." === e[0].charAt(0) && h && (e = h.slice(0, h.length - 1).concat(e)), u = 0; u < e.length; u++) {
          if ("." === (p = e[u])) e.splice(u, 1), u -= 1;else if (".." === p) {
            if (0 === u || 1 === u && ".." === e[2] || ".." === e[u - 1]) continue;0 < u && (e.splice(u - 1, 2), u -= 2);
          }
        }e = e.join("/");
      }if ((h || g) && f) {
        for (u = (n = e.split("/")).length; 0 < u; u -= 1) {
          if (r = n.slice(0, u).join("/"), h) for (d = h.length; 0 < d; d -= 1) {
            if (i = (i = f[h.slice(0, d).join("/")]) && i[r]) {
              o = i, a = u;break;
            }
          }if (o) break;!l && g && g[r] && (l = g[r], c = u);
        }!o && l && (o = l, a = c), o && (n.splice(0, a, o), e = n.join("/"));
      }return e;
    }function A(t, n) {
      return function () {
        var e = a.call(arguments, 0);return "string" != typeof e[0] && 1 === e.length && e.push(null), _s.apply(h, e.concat([t, n]));
      };
    }function x(t) {
      return function (e) {
        m[t] = e;
      };
    }function D(e) {
      if (b(v, e)) {
        var t = v[e];delete v[e], _[e] = !0, o.apply(h, t);
      }if (!b(m, e) && !b(_, e)) throw new Error("No " + e);return m[e];
    }function c(e) {
      var t,
          n = e ? e.indexOf("!") : -1;return -1 < n && (t = e.substring(0, n), e = e.substring(n + 1, e.length)), [t, e];
    }function S(e) {
      return e ? c(e) : [];
    }return e && e.requirejs || (e ? n = e : e = {}, m = {}, v = {}, y = {}, _ = {}, i = Object.prototype.hasOwnProperty, a = [].slice, w = /\.js$/, f = function f(e, t) {
      var n,
          r = c(e),
          i = r[0],
          o = t[1];return e = r[1], i && (n = D(i = l(i, o))), i ? e = n && n.normalize ? n.normalize(e, function (t) {
        return function (e) {
          return l(e, t);
        };
      }(o)) : l(e, o) : (i = (r = c(e = l(e, o)))[0], e = r[1], i && (n = D(i))), { f: i ? i + "!" + e : e, n: e, pr: i, p: n };
    }, g = { require: function require(e) {
        return A(e);
      }, exports: function exports(e) {
        var t = m[e];return void 0 !== t ? t : m[e] = {};
      }, module: function module(e) {
        return { id: e, uri: "", exports: m[e], config: function (e) {
            return function () {
              return y && y.config && y.config[e] || {};
            };
          }(e) };
      } }, o = function o(e, t, n, r) {
      var i,
          o,
          s,
          a,
          l,
          c,
          u,
          d = [],
          p = typeof n === "undefined" ? "undefined" : _typeof(n);if (c = S(r = r || e), "undefined" == p || "function" == p) {
        for (t = !t.length && n.length ? ["require", "exports", "module"] : t, l = 0; l < t.length; l += 1) {
          if ("require" === (o = (a = f(t[l], c)).f)) d[l] = g.require(e);else if ("exports" === o) d[l] = g.exports(e), u = !0;else if ("module" === o) i = d[l] = g.module(e);else if (b(m, o) || b(v, o) || b(_, o)) d[l] = D(o);else {
            if (!a.p) throw new Error(e + " missing " + o);a.p.load(a.n, A(r, !0), x(o), {}), d[l] = m[o];
          }
        }s = n ? n.apply(m[e], d) : void 0, e && (i && i.exports !== h && i.exports !== m[e] ? m[e] = i.exports : s === h && u || (m[e] = s));
      } else e && (m[e] = n);
    }, t = n = _s = function s(e, t, n, r, i) {
      if ("string" == typeof e) return g[e] ? g[e](t) : D(f(e, S(t)).f);if (!e.splice) {
        if ((y = e).deps && _s(y.deps, y.callback), !t) return;t.splice ? (e = t, t = n, n = null) : e = h;
      }return t = t || function () {}, "function" == typeof n && (n = r, r = i), r ? o(h, e, t, n) : setTimeout(function () {
        o(h, e, t, n);
      }, 4), _s;
    }, _s.config = function (e) {
      return _s(e);
    }, t._defined = m, (r = function r(e, t, n) {
      if ("string" != typeof e) throw new Error("See almond README: incorrect module build, no module name");t.splice || (n = t, t = []), b(m, e) || b(v, e) || (v[e] = [e, t, n]);
    }).amd = { jQuery: !0 }, e.requirejs = t, e.require = n, e.define = r), e.define("almond", function () {}), e.define("jquery", [], function () {
      var e = u || $;return null == e && console && console.error && console.error("Select2: An instance of jQuery or a jQuery-compatible library was not found. Make sure that you are including jQuery before Select2 on your web page."), e;
    }), e.define("select2/utils", ["jquery"], function (o) {
      var i = {};function u(e) {
        var t = e.prototype,
            n = [];for (var r in t) {
          "function" == typeof t[r] && "constructor" !== r && n.push(r);
        }return n;
      }i.Extend = function (e, t) {
        var n = {}.hasOwnProperty;function r() {
          this.constructor = e;
        }for (var i in t) {
          n.call(t, i) && (e[i] = t[i]);
        }return r.prototype = t.prototype, e.prototype = new r(), e.__super__ = t.prototype, e;
      }, i.Decorate = function (r, i) {
        var e = u(i),
            t = u(r);function o() {
          var e = Array.prototype.unshift,
              t = i.prototype.constructor.length,
              n = r.prototype.constructor;0 < t && (e.call(arguments, r.prototype.constructor), n = i.prototype.constructor), n.apply(this, arguments);
        }i.displayName = r.displayName, o.prototype = new function () {
          this.constructor = o;
        }();for (var n = 0; n < t.length; n++) {
          var s = t[n];o.prototype[s] = r.prototype[s];
        }function a(e) {
          var t = function t() {};e in o.prototype && (t = o.prototype[e]);var n = i.prototype[e];return function () {
            return Array.prototype.unshift.call(arguments, t), n.apply(this, arguments);
          };
        }for (var l = 0; l < e.length; l++) {
          var c = e[l];o.prototype[c] = a(c);
        }return o;
      };function e() {
        this.listeners = {};
      }e.prototype.on = function (e, t) {
        this.listeners = this.listeners || {}, e in this.listeners ? this.listeners[e].push(t) : this.listeners[e] = [t];
      }, e.prototype.trigger = function (e) {
        var t = Array.prototype.slice,
            n = t.call(arguments, 1);this.listeners = this.listeners || {}, null == n && (n = []), 0 === n.length && n.push({}), (n[0]._type = e) in this.listeners && this.invoke(this.listeners[e], t.call(arguments, 1)), "*" in this.listeners && this.invoke(this.listeners["*"], arguments);
      }, e.prototype.invoke = function (e, t) {
        for (var n = 0, r = e.length; n < r; n++) {
          e[n].apply(this, t);
        }
      }, i.Observable = e, i.generateChars = function (e) {
        for (var t = "", n = 0; n < e; n++) {
          t += Math.floor(36 * Math.random()).toString(36);
        }return t;
      }, i.bind = function (e, t) {
        return function () {
          e.apply(t, arguments);
        };
      }, i._convertData = function (e) {
        for (var t in e) {
          var n = t.split("-"),
              r = e;if (1 !== n.length) {
            for (var i = 0; i < n.length; i++) {
              var o = n[i];(o = o.substring(0, 1).toLowerCase() + o.substring(1)) in r || (r[o] = {}), i == n.length - 1 && (r[o] = e[t]), r = r[o];
            }delete e[t];
          }
        }return e;
      }, i.hasScroll = function (e, t) {
        var n = o(t),
            r = t.style.overflowX,
            i = t.style.overflowY;return (r !== i || "hidden" !== i && "visible" !== i) && ("scroll" === r || "scroll" === i || n.innerHeight() < t.scrollHeight || n.innerWidth() < t.scrollWidth);
      }, i.escapeMarkup = function (e) {
        var t = { "\\": "&#92;", "&": "&amp;", "<": "&lt;", ">": "&gt;", '"': "&quot;", "'": "&#39;", "/": "&#47;" };return "string" != typeof e ? e : String(e).replace(/[&<>"'\/\\]/g, function (e) {
          return t[e];
        });
      }, i.appendMany = function (e, t) {
        if ("1.7" === o.fn.jquery.substr(0, 3)) {
          var n = o();o.map(t, function (e) {
            n = n.add(e);
          }), t = n;
        }e.append(t);
      }, i.__cache = {};var n = 0;return i.GetUniqueElementId = function (e) {
        var t = e.getAttribute("data-select2-id");return null == t && (e.id ? (t = e.id, e.setAttribute("data-select2-id", t)) : (e.setAttribute("data-select2-id", ++n), t = n.toString())), t;
      }, i.StoreData = function (e, t, n) {
        var r = i.GetUniqueElementId(e);i.__cache[r] || (i.__cache[r] = {}), i.__cache[r][t] = n;
      }, i.GetData = function (e, t) {
        var n = i.GetUniqueElementId(e);return t ? i.__cache[n] && null != i.__cache[n][t] ? i.__cache[n][t] : o(e).data(t) : i.__cache[n];
      }, i.RemoveData = function (e) {
        var t = i.GetUniqueElementId(e);null != i.__cache[t] && delete i.__cache[t], e.removeAttribute("data-select2-id");
      }, i;
    }), e.define("select2/results", ["jquery", "./utils"], function (h, f) {
      function r(e, t, n) {
        this.$element = e, this.data = n, this.options = t, r.__super__.constructor.call(this);
      }return f.Extend(r, f.Observable), r.prototype.render = function () {
        var e = h('<ul class="select2-results__options" role="listbox"></ul>');return this.options.get("multiple") && e.attr("aria-multiselectable", "true"), this.$results = e;
      }, r.prototype.clear = function () {
        this.$results.empty();
      }, r.prototype.displayMessage = function (e) {
        var t = this.options.get("escapeMarkup");this.clear(), this.hideLoading();var n = h('<li role="alert" aria-live="assertive" class="select2-results__option"></li>'),
            r = this.options.get("translations").get(e.message);n.append(t(r(e.args))), n[0].className += " select2-results__message", this.$results.append(n);
      }, r.prototype.hideMessages = function () {
        this.$results.find(".select2-results__message").remove();
      }, r.prototype.append = function (e) {
        this.hideLoading();var t = [];if (null != e.results && 0 !== e.results.length) {
          e.results = this.sort(e.results);for (var n = 0; n < e.results.length; n++) {
            var r = e.results[n],
                i = this.option(r);t.push(i);
          }this.$results.append(t);
        } else 0 === this.$results.children().length && this.trigger("results:message", { message: "noResults" });
      }, r.prototype.position = function (e, t) {
        t.find(".select2-results").append(e);
      }, r.prototype.sort = function (e) {
        return this.options.get("sorter")(e);
      }, r.prototype.highlightFirstItem = function () {
        var e = this.$results.find(".select2-results__option[aria-selected]"),
            t = e.filter("[aria-selected=true]");0 < t.length ? t.first().trigger("mouseenter") : e.first().trigger("mouseenter"), this.ensureHighlightVisible();
      }, r.prototype.setClasses = function () {
        var t = this;this.data.current(function (e) {
          var r = h.map(e, function (e) {
            return e.id.toString();
          });t.$results.find(".select2-results__option[aria-selected]").each(function () {
            var e = h(this),
                t = f.GetData(this, "data"),
                n = "" + t.id;null != t.element && t.element.selected || null == t.element && -1 < h.inArray(n, r) ? e.attr("aria-selected", "true") : e.attr("aria-selected", "false");
          });
        });
      }, r.prototype.showLoading = function (e) {
        this.hideLoading();var t = { disabled: !0, loading: !0, text: this.options.get("translations").get("searching")(e) },
            n = this.option(t);n.className += " loading-results", this.$results.prepend(n);
      }, r.prototype.hideLoading = function () {
        this.$results.find(".loading-results").remove();
      }, r.prototype.option = function (e) {
        var t = document.createElement("li");t.className = "select2-results__option";var n = { role: "option", "aria-selected": "false" },
            r = window.Element.prototype.matches || window.Element.prototype.msMatchesSelector || window.Element.prototype.webkitMatchesSelector;for (var i in (null != e.element && r.call(e.element, ":disabled") || null == e.element && e.disabled) && (delete n["aria-selected"], n["aria-disabled"] = "true"), null == e.id && delete n["aria-selected"], null != e._resultId && (t.id = e._resultId), e.title && (t.title = e.title), e.children && (n.role = "group", n["aria-label"] = e.text, delete n["aria-selected"]), n) {
          var o = n[i];t.setAttribute(i, o);
        }if (e.children) {
          var s = h(t),
              a = document.createElement("strong");a.className = "select2-results__group";h(a);this.template(e, a);for (var l = [], c = 0; c < e.children.length; c++) {
            var u = e.children[c],
                d = this.option(u);l.push(d);
          }var p = h("<ul></ul>", { class: "select2-results__options select2-results__options--nested" });p.append(l), s.append(a), s.append(p);
        } else this.template(e, t);return f.StoreData(t, "data", e), t;
      }, r.prototype.bind = function (t, e) {
        var l = this,
            n = t.id + "-results";this.$results.attr("id", n), t.on("results:all", function (e) {
          l.clear(), l.append(e.data), t.isOpen() && (l.setClasses(), l.highlightFirstItem());
        }), t.on("results:append", function (e) {
          l.append(e.data), t.isOpen() && l.setClasses();
        }), t.on("query", function (e) {
          l.hideMessages(), l.showLoading(e);
        }), t.on("select", function () {
          t.isOpen() && (l.setClasses(), l.options.get("scrollAfterSelect") && l.highlightFirstItem());
        }), t.on("unselect", function () {
          t.isOpen() && (l.setClasses(), l.options.get("scrollAfterSelect") && l.highlightFirstItem());
        }), t.on("open", function () {
          l.$results.attr("aria-expanded", "true"), l.$results.attr("aria-hidden", "false"), l.setClasses(), l.ensureHighlightVisible();
        }), t.on("close", function () {
          l.$results.attr("aria-expanded", "false"), l.$results.attr("aria-hidden", "true"), l.$results.removeAttr("aria-activedescendant");
        }), t.on("results:toggle", function () {
          var e = l.getHighlightedResults();0 !== e.length && e.trigger("mouseup");
        }), t.on("results:select", function () {
          var e = l.getHighlightedResults();if (0 !== e.length) {
            var t = f.GetData(e[0], "data");"true" == e.attr("aria-selected") ? l.trigger("close", {}) : l.trigger("select", { data: t });
          }
        }), t.on("results:previous", function () {
          var e = l.getHighlightedResults(),
              t = l.$results.find("[aria-selected]"),
              n = t.index(e);if (!(n <= 0)) {
            var r = n - 1;0 === e.length && (r = 0);var i = t.eq(r);i.trigger("mouseenter");var o = l.$results.offset().top,
                s = i.offset().top,
                a = l.$results.scrollTop() + (s - o);0 === r ? l.$results.scrollTop(0) : s - o < 0 && l.$results.scrollTop(a);
          }
        }), t.on("results:next", function () {
          var e = l.getHighlightedResults(),
              t = l.$results.find("[aria-selected]"),
              n = t.index(e) + 1;if (!(n >= t.length)) {
            var r = t.eq(n);r.trigger("mouseenter");var i = l.$results.offset().top + l.$results.outerHeight(!1),
                o = r.offset().top + r.outerHeight(!1),
                s = l.$results.scrollTop() + o - i;0 === n ? l.$results.scrollTop(0) : i < o && l.$results.scrollTop(s);
          }
        }), t.on("results:focus", function (e) {
          e.element.addClass("select2-results__option--highlighted");
        }), t.on("results:message", function (e) {
          l.displayMessage(e);
        }), h.fn.mousewheel && this.$results.on("mousewheel", function (e) {
          var t = l.$results.scrollTop(),
              n = l.$results.get(0).scrollHeight - t + e.deltaY,
              r = 0 < e.deltaY && t - e.deltaY <= 0,
              i = e.deltaY < 0 && n <= l.$results.height();r ? (l.$results.scrollTop(0), e.preventDefault(), e.stopPropagation()) : i && (l.$results.scrollTop(l.$results.get(0).scrollHeight - l.$results.height()), e.preventDefault(), e.stopPropagation());
        }), this.$results.on("mouseup", ".select2-results__option[aria-selected]", function (e) {
          var t = h(this),
              n = f.GetData(this, "data");"true" !== t.attr("aria-selected") ? l.trigger("select", { originalEvent: e, data: n }) : l.options.get("multiple") ? l.trigger("unselect", { originalEvent: e, data: n }) : l.trigger("close", {});
        }), this.$results.on("mouseenter", ".select2-results__option[aria-selected]", function (e) {
          var t = f.GetData(this, "data");l.getHighlightedResults().removeClass("select2-results__option--highlighted"), l.trigger("results:focus", { data: t, element: h(this) });
        });
      }, r.prototype.getHighlightedResults = function () {
        return this.$results.find(".select2-results__option--highlighted");
      }, r.prototype.destroy = function () {
        this.$results.remove();
      }, r.prototype.ensureHighlightVisible = function () {
        var e = this.getHighlightedResults();if (0 !== e.length) {
          var t = this.$results.find("[aria-selected]").index(e),
              n = this.$results.offset().top,
              r = e.offset().top,
              i = this.$results.scrollTop() + (r - n),
              o = r - n;i -= 2 * e.outerHeight(!1), t <= 2 ? this.$results.scrollTop(0) : (o > this.$results.outerHeight() || o < 0) && this.$results.scrollTop(i);
        }
      }, r.prototype.template = function (e, t) {
        var n = this.options.get("templateResult"),
            r = this.options.get("escapeMarkup"),
            i = n(e, t);null == i ? t.style.display = "none" : "string" == typeof i ? t.innerHTML = r(i) : h(t).append(i);
      }, r;
    }), e.define("select2/keys", [], function () {
      return { BACKSPACE: 8, TAB: 9, ENTER: 13, SHIFT: 16, CTRL: 17, ALT: 18, ESC: 27, SPACE: 32, PAGE_UP: 33, PAGE_DOWN: 34, END: 35, HOME: 36, LEFT: 37, UP: 38, RIGHT: 39, DOWN: 40, DELETE: 46 };
    }), e.define("select2/selection/base", ["jquery", "../utils", "../keys"], function (n, r, i) {
      function o(e, t) {
        this.$element = e, this.options = t, o.__super__.constructor.call(this);
      }return r.Extend(o, r.Observable), o.prototype.render = function () {
        var e = n('<span class="select2-selection" role="combobox"  aria-haspopup="true" aria-expanded="false"></span>');return this._tabindex = 0, null != r.GetData(this.$element[0], "old-tabindex") ? this._tabindex = r.GetData(this.$element[0], "old-tabindex") : null != this.$element.attr("tabindex") && (this._tabindex = this.$element.attr("tabindex")), e.attr("title", this.$element.attr("title")), e.attr("tabindex", this._tabindex), e.attr("aria-disabled", "false"), this.$selection = e;
      }, o.prototype.bind = function (e, t) {
        var n = this,
            r = e.id + "-results";this.container = e, this.$selection.on("focus", function (e) {
          n.trigger("focus", e);
        }), this.$selection.on("blur", function (e) {
          n._handleBlur(e);
        }), this.$selection.on("keydown", function (e) {
          n.trigger("keypress", e), e.which === i.SPACE && e.preventDefault();
        }), e.on("results:focus", function (e) {
          n.$selection.attr("aria-activedescendant", e.data._resultId);
        }), e.on("selection:update", function (e) {
          n.update(e.data);
        }), e.on("open", function () {
          n.$selection.attr("aria-expanded", "true"), n.$selection.attr("aria-owns", r), n._attachCloseHandler(e);
        }), e.on("close", function () {
          n.$selection.attr("aria-expanded", "false"), n.$selection.removeAttr("aria-activedescendant"), n.$selection.removeAttr("aria-owns"), n.$selection.trigger("focus"), n._detachCloseHandler(e);
        }), e.on("enable", function () {
          n.$selection.attr("tabindex", n._tabindex), n.$selection.attr("aria-disabled", "false");
        }), e.on("disable", function () {
          n.$selection.attr("tabindex", "-1"), n.$selection.attr("aria-disabled", "true");
        });
      }, o.prototype._handleBlur = function (e) {
        var t = this;window.setTimeout(function () {
          document.activeElement == t.$selection[0] || n.contains(t.$selection[0], document.activeElement) || t.trigger("blur", e);
        }, 1);
      }, o.prototype._attachCloseHandler = function (e) {
        n(document.body).on("mousedown.select2." + e.id, function (e) {
          var t = n(e.target).closest(".select2");n(".select2.select2-container--open").each(function () {
            this != t[0] && r.GetData(this, "element").select2("close");
          });
        });
      }, o.prototype._detachCloseHandler = function (e) {
        n(document.body).off("mousedown.select2." + e.id);
      }, o.prototype.position = function (e, t) {
        t.find(".selection").append(e);
      }, o.prototype.destroy = function () {
        this._detachCloseHandler(this.container);
      }, o.prototype.update = function (e) {
        throw new Error("The `update` method must be defined in child classes.");
      }, o;
    }), e.define("select2/selection/single", ["jquery", "./base", "../utils", "../keys"], function (e, t, n, r) {
      function i() {
        i.__super__.constructor.apply(this, arguments);
      }return n.Extend(i, t), i.prototype.render = function () {
        var e = i.__super__.render.call(this);return e.addClass("select2-selection--single"), e.html('<span class="select2-selection__rendered"></span><span class="select2-selection__arrow" role="presentation"><b role="presentation"></b></span>'), e;
      }, i.prototype.bind = function (t, e) {
        var n = this;i.__super__.bind.apply(this, arguments);var r = t.id + "-container";this.$selection.find(".select2-selection__rendered").attr("id", r).attr("role", "textbox").attr("aria-readonly", "true"), this.$selection.attr("aria-labelledby", r), this.$selection.on("mousedown", function (e) {
          1 === e.which && n.trigger("toggle", { originalEvent: e });
        }), this.$selection.on("focus", function (e) {}), this.$selection.on("blur", function (e) {}), t.on("focus", function (e) {
          t.isOpen() || n.$selection.trigger("focus");
        });
      }, i.prototype.clear = function () {
        var e = this.$selection.find(".select2-selection__rendered");e.empty(), e.removeAttr("title");
      }, i.prototype.display = function (e, t) {
        var n = this.options.get("templateSelection");return this.options.get("escapeMarkup")(n(e, t));
      }, i.prototype.selectionContainer = function () {
        return e("<span></span>");
      }, i.prototype.update = function (e) {
        if (0 !== e.length) {
          var t = e[0],
              n = this.$selection.find(".select2-selection__rendered"),
              r = this.display(t, n);n.empty().append(r);var i = t.title || t.text;i ? n.attr("title", i) : n.removeAttr("title");
        } else this.clear();
      }, i;
    }), e.define("select2/selection/multiple", ["jquery", "./base", "../utils"], function (i, e, l) {
      function n(e, t) {
        n.__super__.constructor.apply(this, arguments);
      }return l.Extend(n, e), n.prototype.render = function () {
        var e = n.__super__.render.call(this);return e.addClass("select2-selection--multiple"), e.html('<ul class="select2-selection__rendered"></ul>'), e;
      }, n.prototype.bind = function (e, t) {
        var r = this;n.__super__.bind.apply(this, arguments), this.$selection.on("click", function (e) {
          r.trigger("toggle", { originalEvent: e });
        }), this.$selection.on("click", ".select2-selection__choice__remove", function (e) {
          if (!r.options.get("disabled")) {
            var t = i(this).parent(),
                n = l.GetData(t[0], "data");r.trigger("unselect", { originalEvent: e, data: n });
          }
        });
      }, n.prototype.clear = function () {
        var e = this.$selection.find(".select2-selection__rendered");e.empty(), e.removeAttr("title");
      }, n.prototype.display = function (e, t) {
        var n = this.options.get("templateSelection");return this.options.get("escapeMarkup")(n(e, t));
      }, n.prototype.selectionContainer = function () {
        return i('<li class="select2-selection__choice"><span class="select2-selection__choice__remove" role="presentation">&times;</span></li>');
      }, n.prototype.update = function (e) {
        if (this.clear(), 0 !== e.length) {
          for (var t = [], n = 0; n < e.length; n++) {
            var r = e[n],
                i = this.selectionContainer(),
                o = this.display(r, i);i.append(o);var s = r.title || r.text;s && i.attr("title", s), l.StoreData(i[0], "data", r), t.push(i);
          }var a = this.$selection.find(".select2-selection__rendered");l.appendMany(a, t);
        }
      }, n;
    }), e.define("select2/selection/placeholder", ["../utils"], function (e) {
      function t(e, t, n) {
        this.placeholder = this.normalizePlaceholder(n.get("placeholder")), e.call(this, t, n);
      }return t.prototype.normalizePlaceholder = function (e, t) {
        return "string" == typeof t && (t = { id: "", text: t }), t;
      }, t.prototype.createPlaceholder = function (e, t) {
        var n = this.selectionContainer();return n.html(this.display(t)), n.addClass("select2-selection__placeholder").removeClass("select2-selection__choice"), n;
      }, t.prototype.update = function (e, t) {
        var n = 1 == t.length && t[0].id != this.placeholder.id;if (1 < t.length || n) return e.call(this, t);this.clear();var r = this.createPlaceholder(this.placeholder);this.$selection.find(".select2-selection__rendered").append(r);
      }, t;
    }), e.define("select2/selection/allowClear", ["jquery", "../keys", "../utils"], function (i, r, a) {
      function e() {}return e.prototype.bind = function (e, t, n) {
        var r = this;e.call(this, t, n), null == this.placeholder && this.options.get("debug") && window.console && console.error && console.error("Select2: The `allowClear` option should be used in combination with the `placeholder` option."), this.$selection.on("mousedown", ".select2-selection__clear", function (e) {
          r._handleClear(e);
        }), t.on("keypress", function (e) {
          r._handleKeyboardClear(e, t);
        });
      }, e.prototype._handleClear = function (e, t) {
        if (!this.options.get("disabled")) {
          var n = this.$selection.find(".select2-selection__clear");if (0 !== n.length) {
            t.stopPropagation();var r = a.GetData(n[0], "data"),
                i = this.$element.val();this.$element.val(this.placeholder.id);var o = { data: r };if (this.trigger("clear", o), o.prevented) this.$element.val(i);else {
              for (var s = 0; s < r.length; s++) {
                if (o = { data: r[s] }, this.trigger("unselect", o), o.prevented) return void this.$element.val(i);
              }this.$element.trigger("change"), this.trigger("toggle", {});
            }
          }
        }
      }, e.prototype._handleKeyboardClear = function (e, t, n) {
        n.isOpen() || t.which != r.DELETE && t.which != r.BACKSPACE || this._handleClear(t);
      }, e.prototype.update = function (e, t) {
        if (e.call(this, t), !(0 < this.$selection.find(".select2-selection__placeholder").length || 0 === t.length)) {
          var n = this.options.get("translations").get("removeAllItems"),
              r = i('<span class="select2-selection__clear" title="' + n() + '">&times;</span>');a.StoreData(r[0], "data", t), this.$selection.find(".select2-selection__rendered").prepend(r);
        }
      }, e;
    }), e.define("select2/selection/search", ["jquery", "../utils", "../keys"], function (r, a, l) {
      function e(e, t, n) {
        e.call(this, t, n);
      }return e.prototype.render = function (e) {
        var t = r('<li class="select2-search select2-search--inline"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="none" spellcheck="false" role="searchbox" aria-autocomplete="list" /></li>');this.$searchContainer = t, this.$search = t.find("input");var n = e.call(this);return this._transferTabIndex(), n;
      }, e.prototype.bind = function (e, t, n) {
        var r = this,
            i = t.id + "-results";e.call(this, t, n), t.on("open", function () {
          r.$search.attr("aria-controls", i), r.$search.trigger("focus");
        }), t.on("close", function () {
          r.$search.val(""), r.$search.removeAttr("aria-controls"), r.$search.removeAttr("aria-activedescendant"), r.$search.trigger("focus");
        }), t.on("enable", function () {
          r.$search.prop("disabled", !1), r._transferTabIndex();
        }), t.on("disable", function () {
          r.$search.prop("disabled", !0);
        }), t.on("focus", function (e) {
          r.$search.trigger("focus");
        }), t.on("results:focus", function (e) {
          e.data._resultId ? r.$search.attr("aria-activedescendant", e.data._resultId) : r.$search.removeAttr("aria-activedescendant");
        }), this.$selection.on("focusin", ".select2-search--inline", function (e) {
          r.trigger("focus", e);
        }), this.$selection.on("focusout", ".select2-search--inline", function (e) {
          r._handleBlur(e);
        }), this.$selection.on("keydown", ".select2-search--inline", function (e) {
          if (e.stopPropagation(), r.trigger("keypress", e), r._keyUpPrevented = e.isDefaultPrevented(), e.which === l.BACKSPACE && "" === r.$search.val()) {
            var t = r.$searchContainer.prev(".select2-selection__choice");if (0 < t.length) {
              var n = a.GetData(t[0], "data");r.searchRemoveChoice(n), e.preventDefault();
            }
          }
        }), this.$selection.on("click", ".select2-search--inline", function (e) {
          r.$search.val() && e.stopPropagation();
        });var o = document.documentMode,
            s = o && o <= 11;this.$selection.on("input.searchcheck", ".select2-search--inline", function (e) {
          s ? r.$selection.off("input.search input.searchcheck") : r.$selection.off("keyup.search");
        }), this.$selection.on("keyup.search input.search", ".select2-search--inline", function (e) {
          if (s && "input" === e.type) r.$selection.off("input.search input.searchcheck");else {
            var t = e.which;t != l.SHIFT && t != l.CTRL && t != l.ALT && t != l.TAB && r.handleSearch(e);
          }
        });
      }, e.prototype._transferTabIndex = function (e) {
        this.$search.attr("tabindex", this.$selection.attr("tabindex")), this.$selection.attr("tabindex", "-1");
      }, e.prototype.createPlaceholder = function (e, t) {
        this.$search.attr("placeholder", t.text);
      }, e.prototype.update = function (e, t) {
        var n = this.$search[0] == document.activeElement;this.$search.attr("placeholder", ""), e.call(this, t), this.$selection.find(".select2-selection__rendered").append(this.$searchContainer), this.resizeSearch(), n && this.$search.trigger("focus");
      }, e.prototype.handleSearch = function () {
        if (this.resizeSearch(), !this._keyUpPrevented) {
          var e = this.$search.val();this.trigger("query", { term: e });
        }this._keyUpPrevented = !1;
      }, e.prototype.searchRemoveChoice = function (e, t) {
        this.trigger("unselect", { data: t }), this.$search.val(t.text), this.handleSearch();
      }, e.prototype.resizeSearch = function () {
        this.$search.css("width", "25px");var e = "";"" !== this.$search.attr("placeholder") ? e = this.$selection.find(".select2-selection__rendered").width() : e = .75 * (this.$search.val().length + 1) + "em";this.$search.css("width", e);
      }, e;
    }), e.define("select2/selection/eventRelay", ["jquery"], function (s) {
      function e() {}return e.prototype.bind = function (e, t, n) {
        var r = this,
            i = ["open", "opening", "close", "closing", "select", "selecting", "unselect", "unselecting", "clear", "clearing"],
            o = ["opening", "closing", "selecting", "unselecting", "clearing"];e.call(this, t, n), t.on("*", function (e, t) {
          if (-1 !== s.inArray(e, i)) {
            t = t || {};var n = s.Event("select2:" + e, { params: t });r.$element.trigger(n), -1 !== s.inArray(e, o) && (t.prevented = n.isDefaultPrevented());
          }
        });
      }, e;
    }), e.define("select2/translation", ["jquery", "require"], function (t, n) {
      function r(e) {
        this.dict = e || {};
      }return r.prototype.all = function () {
        return this.dict;
      }, r.prototype.get = function (e) {
        return this.dict[e];
      }, r.prototype.extend = function (e) {
        this.dict = t.extend({}, e.all(), this.dict);
      }, r._cache = {}, r.loadPath = function (e) {
        if (!(e in r._cache)) {
          var t = n(e);r._cache[e] = t;
        }return new r(r._cache[e]);
      }, r;
    }), e.define("select2/diacritics", [], function () {
      return { "Ⓐ": "A", "A": "A", "À": "A", "Á": "A", "Â": "A", "Ầ": "A", "Ấ": "A", "Ẫ": "A", "Ẩ": "A", "Ã": "A", "Ā": "A", "Ă": "A", "Ằ": "A", "Ắ": "A", "Ẵ": "A", "Ẳ": "A", "Ȧ": "A", "Ǡ": "A", "Ä": "A", "Ǟ": "A", "Ả": "A", "Å": "A", "Ǻ": "A", "Ǎ": "A", "Ȁ": "A", "Ȃ": "A", "Ạ": "A", "Ậ": "A", "Ặ": "A", "Ḁ": "A", "Ą": "A", "Ⱥ": "A", "Ɐ": "A", "Ꜳ": "AA", "Æ": "AE", "Ǽ": "AE", "Ǣ": "AE", "Ꜵ": "AO", "Ꜷ": "AU", "Ꜹ": "AV", "Ꜻ": "AV", "Ꜽ": "AY", "Ⓑ": "B", "B": "B", "Ḃ": "B", "Ḅ": "B", "Ḇ": "B", "Ƀ": "B", "Ƃ": "B", "Ɓ": "B", "Ⓒ": "C", "C": "C", "Ć": "C", "Ĉ": "C", "Ċ": "C", "Č": "C", "Ç": "C", "Ḉ": "C", "Ƈ": "C", "Ȼ": "C", "Ꜿ": "C", "Ⓓ": "D", "D": "D", "Ḋ": "D", "Ď": "D", "Ḍ": "D", "Ḑ": "D", "Ḓ": "D", "Ḏ": "D", "Đ": "D", "Ƌ": "D", "Ɗ": "D", "Ɖ": "D", "Ꝺ": "D", "DZ": "DZ", "DŽ": "DZ", "Dz": "Dz", "Dž": "Dz", "Ⓔ": "E", "E": "E", "È": "E", "É": "E", "Ê": "E", "Ề": "E", "Ế": "E", "Ễ": "E", "Ể": "E", "Ẽ": "E", "Ē": "E", "Ḕ": "E", "Ḗ": "E", "Ĕ": "E", "Ė": "E", "Ë": "E", "Ẻ": "E", "Ě": "E", "Ȅ": "E", "Ȇ": "E", "Ẹ": "E", "Ệ": "E", "Ȩ": "E", "Ḝ": "E", "Ę": "E", "Ḙ": "E", "Ḛ": "E", "Ɛ": "E", "Ǝ": "E", "Ⓕ": "F", "F": "F", "Ḟ": "F", "Ƒ": "F", "Ꝼ": "F", "Ⓖ": "G", "G": "G", "Ǵ": "G", "Ĝ": "G", "Ḡ": "G", "Ğ": "G", "Ġ": "G", "Ǧ": "G", "Ģ": "G", "Ǥ": "G", "Ɠ": "G", "Ꞡ": "G", "Ᵹ": "G", "Ꝿ": "G", "Ⓗ": "H", "H": "H", "Ĥ": "H", "Ḣ": "H", "Ḧ": "H", "Ȟ": "H", "Ḥ": "H", "Ḩ": "H", "Ḫ": "H", "Ħ": "H", "Ⱨ": "H", "Ⱶ": "H", "Ɥ": "H", "Ⓘ": "I", "I": "I", "Ì": "I", "Í": "I", "Î": "I", "Ĩ": "I", "Ī": "I", "Ĭ": "I", "İ": "I", "Ï": "I", "Ḯ": "I", "Ỉ": "I", "Ǐ": "I", "Ȉ": "I", "Ȋ": "I", "Ị": "I", "Į": "I", "Ḭ": "I", "Ɨ": "I", "Ⓙ": "J", "J": "J", "Ĵ": "J", "Ɉ": "J", "Ⓚ": "K", "K": "K", "Ḱ": "K", "Ǩ": "K", "Ḳ": "K", "Ķ": "K", "Ḵ": "K", "Ƙ": "K", "Ⱪ": "K", "Ꝁ": "K", "Ꝃ": "K", "Ꝅ": "K", "Ꞣ": "K", "Ⓛ": "L", "L": "L", "Ŀ": "L", "Ĺ": "L", "Ľ": "L", "Ḷ": "L", "Ḹ": "L", "Ļ": "L", "Ḽ": "L", "Ḻ": "L", "Ł": "L", "Ƚ": "L", "Ɫ": "L", "Ⱡ": "L", "Ꝉ": "L", "Ꝇ": "L", "Ꞁ": "L", "LJ": "LJ", "Lj": "Lj", "Ⓜ": "M", "M": "M", "Ḿ": "M", "Ṁ": "M", "Ṃ": "M", "Ɱ": "M", "Ɯ": "M", "Ⓝ": "N", "N": "N", "Ǹ": "N", "Ń": "N", "Ñ": "N", "Ṅ": "N", "Ň": "N", "Ṇ": "N", "Ņ": "N", "Ṋ": "N", "Ṉ": "N", "Ƞ": "N", "Ɲ": "N", "Ꞑ": "N", "Ꞥ": "N", "NJ": "NJ", "Nj": "Nj", "Ⓞ": "O", "O": "O", "Ò": "O", "Ó": "O", "Ô": "O", "Ồ": "O", "Ố": "O", "Ỗ": "O", "Ổ": "O", "Õ": "O", "Ṍ": "O", "Ȭ": "O", "Ṏ": "O", "Ō": "O", "Ṑ": "O", "Ṓ": "O", "Ŏ": "O", "Ȯ": "O", "Ȱ": "O", "Ö": "O", "Ȫ": "O", "Ỏ": "O", "Ő": "O", "Ǒ": "O", "Ȍ": "O", "Ȏ": "O", "Ơ": "O", "Ờ": "O", "Ớ": "O", "Ỡ": "O", "Ở": "O", "Ợ": "O", "Ọ": "O", "Ộ": "O", "Ǫ": "O", "Ǭ": "O", "Ø": "O", "Ǿ": "O", "Ɔ": "O", "Ɵ": "O", "Ꝋ": "O", "Ꝍ": "O", "Œ": "OE", "Ƣ": "OI", "Ꝏ": "OO", "Ȣ": "OU", "Ⓟ": "P", "P": "P", "Ṕ": "P", "Ṗ": "P", "Ƥ": "P", "Ᵽ": "P", "Ꝑ": "P", "Ꝓ": "P", "Ꝕ": "P", "Ⓠ": "Q", "Q": "Q", "Ꝗ": "Q", "Ꝙ": "Q", "Ɋ": "Q", "Ⓡ": "R", "R": "R", "Ŕ": "R", "Ṙ": "R", "Ř": "R", "Ȑ": "R", "Ȓ": "R", "Ṛ": "R", "Ṝ": "R", "Ŗ": "R", "Ṟ": "R", "Ɍ": "R", "Ɽ": "R", "Ꝛ": "R", "Ꞧ": "R", "Ꞃ": "R", "Ⓢ": "S", "S": "S", "ẞ": "S", "Ś": "S", "Ṥ": "S", "Ŝ": "S", "Ṡ": "S", "Š": "S", "Ṧ": "S", "Ṣ": "S", "Ṩ": "S", "Ș": "S", "Ş": "S", "Ȿ": "S", "Ꞩ": "S", "Ꞅ": "S", "Ⓣ": "T", "T": "T", "Ṫ": "T", "Ť": "T", "Ṭ": "T", "Ț": "T", "Ţ": "T", "Ṱ": "T", "Ṯ": "T", "Ŧ": "T", "Ƭ": "T", "Ʈ": "T", "Ⱦ": "T", "Ꞇ": "T", "Ꜩ": "TZ", "Ⓤ": "U", "U": "U", "Ù": "U", "Ú": "U", "Û": "U", "Ũ": "U", "Ṹ": "U", "Ū": "U", "Ṻ": "U", "Ŭ": "U", "Ü": "U", "Ǜ": "U", "Ǘ": "U", "Ǖ": "U", "Ǚ": "U", "Ủ": "U", "Ů": "U", "Ű": "U", "Ǔ": "U", "Ȕ": "U", "Ȗ": "U", "Ư": "U", "Ừ": "U", "Ứ": "U", "Ữ": "U", "Ử": "U", "Ự": "U", "Ụ": "U", "Ṳ": "U", "Ų": "U", "Ṷ": "U", "Ṵ": "U", "Ʉ": "U", "Ⓥ": "V", "V": "V", "Ṽ": "V", "Ṿ": "V", "Ʋ": "V", "Ꝟ": "V", "Ʌ": "V", "Ꝡ": "VY", "Ⓦ": "W", "W": "W", "Ẁ": "W", "Ẃ": "W", "Ŵ": "W", "Ẇ": "W", "Ẅ": "W", "Ẉ": "W", "Ⱳ": "W", "Ⓧ": "X", "X": "X", "Ẋ": "X", "Ẍ": "X", "Ⓨ": "Y", "Y": "Y", "Ỳ": "Y", "Ý": "Y", "Ŷ": "Y", "Ỹ": "Y", "Ȳ": "Y", "Ẏ": "Y", "Ÿ": "Y", "Ỷ": "Y", "Ỵ": "Y", "Ƴ": "Y", "Ɏ": "Y", "Ỿ": "Y", "Ⓩ": "Z", "Z": "Z", "Ź": "Z", "Ẑ": "Z", "Ż": "Z", "Ž": "Z", "Ẓ": "Z", "Ẕ": "Z", "Ƶ": "Z", "Ȥ": "Z", "Ɀ": "Z", "Ⱬ": "Z", "Ꝣ": "Z", "ⓐ": "a", "a": "a", "ẚ": "a", "à": "a", "á": "a", "â": "a", "ầ": "a", "ấ": "a", "ẫ": "a", "ẩ": "a", "ã": "a", "ā": "a", "ă": "a", "ằ": "a", "ắ": "a", "ẵ": "a", "ẳ": "a", "ȧ": "a", "ǡ": "a", "ä": "a", "ǟ": "a", "ả": "a", "å": "a", "ǻ": "a", "ǎ": "a", "ȁ": "a", "ȃ": "a", "ạ": "a", "ậ": "a", "ặ": "a", "ḁ": "a", "ą": "a", "ⱥ": "a", "ɐ": "a", "ꜳ": "aa", "æ": "ae", "ǽ": "ae", "ǣ": "ae", "ꜵ": "ao", "ꜷ": "au", "ꜹ": "av", "ꜻ": "av", "ꜽ": "ay", "ⓑ": "b", "b": "b", "ḃ": "b", "ḅ": "b", "ḇ": "b", "ƀ": "b", "ƃ": "b", "ɓ": "b", "ⓒ": "c", "c": "c", "ć": "c", "ĉ": "c", "ċ": "c", "č": "c", "ç": "c", "ḉ": "c", "ƈ": "c", "ȼ": "c", "ꜿ": "c", "ↄ": "c", "ⓓ": "d", "d": "d", "ḋ": "d", "ď": "d", "ḍ": "d", "ḑ": "d", "ḓ": "d", "ḏ": "d", "đ": "d", "ƌ": "d", "ɖ": "d", "ɗ": "d", "ꝺ": "d", "dz": "dz", "dž": "dz", "ⓔ": "e", "e": "e", "è": "e", "é": "e", "ê": "e", "ề": "e", "ế": "e", "ễ": "e", "ể": "e", "ẽ": "e", "ē": "e", "ḕ": "e", "ḗ": "e", "ĕ": "e", "ė": "e", "ë": "e", "ẻ": "e", "ě": "e", "ȅ": "e", "ȇ": "e", "ẹ": "e", "ệ": "e", "ȩ": "e", "ḝ": "e", "ę": "e", "ḙ": "e", "ḛ": "e", "ɇ": "e", "ɛ": "e", "ǝ": "e", "ⓕ": "f", "f": "f", "ḟ": "f", "ƒ": "f", "ꝼ": "f", "ⓖ": "g", "g": "g", "ǵ": "g", "ĝ": "g", "ḡ": "g", "ğ": "g", "ġ": "g", "ǧ": "g", "ģ": "g", "ǥ": "g", "ɠ": "g", "ꞡ": "g", "ᵹ": "g", "ꝿ": "g", "ⓗ": "h", "h": "h", "ĥ": "h", "ḣ": "h", "ḧ": "h", "ȟ": "h", "ḥ": "h", "ḩ": "h", "ḫ": "h", "ẖ": "h", "ħ": "h", "ⱨ": "h", "ⱶ": "h", "ɥ": "h", "ƕ": "hv", "ⓘ": "i", "i": "i", "ì": "i", "í": "i", "î": "i", "ĩ": "i", "ī": "i", "ĭ": "i", "ï": "i", "ḯ": "i", "ỉ": "i", "ǐ": "i", "ȉ": "i", "ȋ": "i", "ị": "i", "į": "i", "ḭ": "i", "ɨ": "i", "ı": "i", "ⓙ": "j", "j": "j", "ĵ": "j", "ǰ": "j", "ɉ": "j", "ⓚ": "k", "k": "k", "ḱ": "k", "ǩ": "k", "ḳ": "k", "ķ": "k", "ḵ": "k", "ƙ": "k", "ⱪ": "k", "ꝁ": "k", "ꝃ": "k", "ꝅ": "k", "ꞣ": "k", "ⓛ": "l", "l": "l", "ŀ": "l", "ĺ": "l", "ľ": "l", "ḷ": "l", "ḹ": "l", "ļ": "l", "ḽ": "l", "ḻ": "l", "ſ": "l", "ł": "l", "ƚ": "l", "ɫ": "l", "ⱡ": "l", "ꝉ": "l", "ꞁ": "l", "ꝇ": "l", "lj": "lj", "ⓜ": "m", "m": "m", "ḿ": "m", "ṁ": "m", "ṃ": "m", "ɱ": "m", "ɯ": "m", "ⓝ": "n", "n": "n", "ǹ": "n", "ń": "n", "ñ": "n", "ṅ": "n", "ň": "n", "ṇ": "n", "ņ": "n", "ṋ": "n", "ṉ": "n", "ƞ": "n", "ɲ": "n", "ʼn": "n", "ꞑ": "n", "ꞥ": "n", "nj": "nj", "ⓞ": "o", "o": "o", "ò": "o", "ó": "o", "ô": "o", "ồ": "o", "ố": "o", "ỗ": "o", "ổ": "o", "õ": "o", "ṍ": "o", "ȭ": "o", "ṏ": "o", "ō": "o", "ṑ": "o", "ṓ": "o", "ŏ": "o", "ȯ": "o", "ȱ": "o", "ö": "o", "ȫ": "o", "ỏ": "o", "ő": "o", "ǒ": "o", "ȍ": "o", "ȏ": "o", "ơ": "o", "ờ": "o", "ớ": "o", "ỡ": "o", "ở": "o", "ợ": "o", "ọ": "o", "ộ": "o", "ǫ": "o", "ǭ": "o", "ø": "o", "ǿ": "o", "ɔ": "o", "ꝋ": "o", "ꝍ": "o", "ɵ": "o", "œ": "oe", "ƣ": "oi", "ȣ": "ou", "ꝏ": "oo", "ⓟ": "p", "p": "p", "ṕ": "p", "ṗ": "p", "ƥ": "p", "ᵽ": "p", "ꝑ": "p", "ꝓ": "p", "ꝕ": "p", "ⓠ": "q", "q": "q", "ɋ": "q", "ꝗ": "q", "ꝙ": "q", "ⓡ": "r", "r": "r", "ŕ": "r", "ṙ": "r", "ř": "r", "ȑ": "r", "ȓ": "r", "ṛ": "r", "ṝ": "r", "ŗ": "r", "ṟ": "r", "ɍ": "r", "ɽ": "r", "ꝛ": "r", "ꞧ": "r", "ꞃ": "r", "ⓢ": "s", "s": "s", "ß": "s", "ś": "s", "ṥ": "s", "ŝ": "s", "ṡ": "s", "š": "s", "ṧ": "s", "ṣ": "s", "ṩ": "s", "ș": "s", "ş": "s", "ȿ": "s", "ꞩ": "s", "ꞅ": "s", "ẛ": "s", "ⓣ": "t", "t": "t", "ṫ": "t", "ẗ": "t", "ť": "t", "ṭ": "t", "ț": "t", "ţ": "t", "ṱ": "t", "ṯ": "t", "ŧ": "t", "ƭ": "t", "ʈ": "t", "ⱦ": "t", "ꞇ": "t", "ꜩ": "tz", "ⓤ": "u", "u": "u", "ù": "u", "ú": "u", "û": "u", "ũ": "u", "ṹ": "u", "ū": "u", "ṻ": "u", "ŭ": "u", "ü": "u", "ǜ": "u", "ǘ": "u", "ǖ": "u", "ǚ": "u", "ủ": "u", "ů": "u", "ű": "u", "ǔ": "u", "ȕ": "u", "ȗ": "u", "ư": "u", "ừ": "u", "ứ": "u", "ữ": "u", "ử": "u", "ự": "u", "ụ": "u", "ṳ": "u", "ų": "u", "ṷ": "u", "ṵ": "u", "ʉ": "u", "ⓥ": "v", "v": "v", "ṽ": "v", "ṿ": "v", "ʋ": "v", "ꝟ": "v", "ʌ": "v", "ꝡ": "vy", "ⓦ": "w", "w": "w", "ẁ": "w", "ẃ": "w", "ŵ": "w", "ẇ": "w", "ẅ": "w", "ẘ": "w", "ẉ": "w", "ⱳ": "w", "ⓧ": "x", "x": "x", "ẋ": "x", "ẍ": "x", "ⓨ": "y", "y": "y", "ỳ": "y", "ý": "y", "ŷ": "y", "ỹ": "y", "ȳ": "y", "ẏ": "y", "ÿ": "y", "ỷ": "y", "ẙ": "y", "ỵ": "y", "ƴ": "y", "ɏ": "y", "ỿ": "y", "ⓩ": "z", "z": "z", "ź": "z", "ẑ": "z", "ż": "z", "ž": "z", "ẓ": "z", "ẕ": "z", "ƶ": "z", "ȥ": "z", "ɀ": "z", "ⱬ": "z", "ꝣ": "z", "Ά": "Α", "Έ": "Ε", "Ή": "Η", "Ί": "Ι", "Ϊ": "Ι", "Ό": "Ο", "Ύ": "Υ", "Ϋ": "Υ", "Ώ": "Ω", "ά": "α", "έ": "ε", "ή": "η", "ί": "ι", "ϊ": "ι", "ΐ": "ι", "ό": "ο", "ύ": "υ", "ϋ": "υ", "ΰ": "υ", "ώ": "ω", "ς": "σ", "’": "'" };
    }), e.define("select2/data/base", ["../utils"], function (r) {
      function n(e, t) {
        n.__super__.constructor.call(this);
      }return r.Extend(n, r.Observable), n.prototype.current = function (e) {
        throw new Error("The `current` method must be defined in child classes.");
      }, n.prototype.query = function (e, t) {
        throw new Error("The `query` method must be defined in child classes.");
      }, n.prototype.bind = function (e, t) {}, n.prototype.destroy = function () {}, n.prototype.generateResultId = function (e, t) {
        var n = e.id + "-result-";return n += r.generateChars(4), null != t.id ? n += "-" + t.id.toString() : n += "-" + r.generateChars(4), n;
      }, n;
    }), e.define("select2/data/select", ["./base", "../utils", "jquery"], function (e, a, l) {
      function n(e, t) {
        this.$element = e, this.options = t, n.__super__.constructor.call(this);
      }return a.Extend(n, e), n.prototype.current = function (e) {
        var n = [],
            r = this;this.$element.find(":selected").each(function () {
          var e = l(this),
              t = r.item(e);n.push(t);
        }), e(n);
      }, n.prototype.select = function (i) {
        var o = this;if (i.selected = !0, l(i.element).is("option")) return i.element.selected = !0, void this.$element.trigger("change");if (this.$element.prop("multiple")) this.current(function (e) {
          var t = [];(i = [i]).push.apply(i, e);for (var n = 0; n < i.length; n++) {
            var r = i[n].id;-1 === l.inArray(r, t) && t.push(r);
          }o.$element.val(t), o.$element.trigger("change");
        });else {
          var e = i.id;this.$element.val(e), this.$element.trigger("change");
        }
      }, n.prototype.unselect = function (i) {
        var o = this;if (this.$element.prop("multiple")) {
          if (i.selected = !1, l(i.element).is("option")) return i.element.selected = !1, void this.$element.trigger("change");this.current(function (e) {
            for (var t = [], n = 0; n < e.length; n++) {
              var r = e[n].id;r !== i.id && -1 === l.inArray(r, t) && t.push(r);
            }o.$element.val(t), o.$element.trigger("change");
          });
        }
      }, n.prototype.bind = function (e, t) {
        var n = this;(this.container = e).on("select", function (e) {
          n.select(e.data);
        }), e.on("unselect", function (e) {
          n.unselect(e.data);
        });
      }, n.prototype.destroy = function () {
        this.$element.find("*").each(function () {
          a.RemoveData(this);
        });
      }, n.prototype.query = function (r, e) {
        var i = [],
            o = this;this.$element.children().each(function () {
          var e = l(this);if (e.is("option") || e.is("optgroup")) {
            var t = o.item(e),
                n = o.matches(r, t);null !== n && i.push(n);
          }
        }), e({ results: i });
      }, n.prototype.addOptions = function (e) {
        a.appendMany(this.$element, e);
      }, n.prototype.option = function (e) {
        var t;e.children ? (t = document.createElement("optgroup")).label = e.text : void 0 !== (t = document.createElement("option")).textContent ? t.textContent = e.text : t.innerText = e.text, void 0 !== e.id && (t.value = e.id), e.disabled && (t.disabled = !0), e.selected && (t.selected = !0), e.title && (t.title = e.title);var n = l(t),
            r = this._normalizeItem(e);return r.element = t, a.StoreData(t, "data", r), n;
      }, n.prototype.item = function (e) {
        var t = {};if (null != (t = a.GetData(e[0], "data"))) return t;if (e.is("option")) t = { id: e.val(), text: e.text(), disabled: e.prop("disabled"), selected: e.prop("selected"), title: e.prop("title") };else if (e.is("optgroup")) {
          t = { text: e.prop("label"), children: [], title: e.prop("title") };for (var n = e.children("option"), r = [], i = 0; i < n.length; i++) {
            var o = l(n[i]),
                s = this.item(o);r.push(s);
          }t.children = r;
        }return (t = this._normalizeItem(t)).element = e[0], a.StoreData(e[0], "data", t), t;
      }, n.prototype._normalizeItem = function (e) {
        e !== Object(e) && (e = { id: e, text: e });return null != (e = l.extend({}, { text: "" }, e)).id && (e.id = e.id.toString()), null != e.text && (e.text = e.text.toString()), null == e._resultId && e.id && null != this.container && (e._resultId = this.generateResultId(this.container, e)), l.extend({}, { selected: !1, disabled: !1 }, e);
      }, n.prototype.matches = function (e, t) {
        return this.options.get("matcher")(e, t);
      }, n;
    }), e.define("select2/data/array", ["./select", "../utils", "jquery"], function (e, f, g) {
      function r(e, t) {
        this._dataToConvert = t.get("data") || [], r.__super__.constructor.call(this, e, t);
      }return f.Extend(r, e), r.prototype.bind = function (e, t) {
        r.__super__.bind.call(this, e, t), this.addOptions(this.convertToOptions(this._dataToConvert));
      }, r.prototype.select = function (n) {
        var e = this.$element.find("option").filter(function (e, t) {
          return t.value == n.id.toString();
        });0 === e.length && (e = this.option(n), this.addOptions(e)), r.__super__.select.call(this, n);
      }, r.prototype.convertToOptions = function (e) {
        var t = this,
            n = this.$element.find("option"),
            r = n.map(function () {
          return t.item(g(this)).id;
        }).get(),
            i = [];function o(e) {
          return function () {
            return g(this).val() == e.id;
          };
        }for (var s = 0; s < e.length; s++) {
          var a = this._normalizeItem(e[s]);if (0 <= g.inArray(a.id, r)) {
            var l = n.filter(o(a)),
                c = this.item(l),
                u = g.extend(!0, {}, a, c),
                d = this.option(u);l.replaceWith(d);
          } else {
            var p = this.option(a);if (a.children) {
              var h = this.convertToOptions(a.children);f.appendMany(p, h);
            }i.push(p);
          }
        }return i;
      }, r;
    }), e.define("select2/data/ajax", ["./array", "../utils", "jquery"], function (e, t, o) {
      function n(e, t) {
        this.ajaxOptions = this._applyDefaults(t.get("ajax")), null != this.ajaxOptions.processResults && (this.processResults = this.ajaxOptions.processResults), n.__super__.constructor.call(this, e, t);
      }return t.Extend(n, e), n.prototype._applyDefaults = function (e) {
        var t = { data: function data(e) {
            return o.extend({}, e, { q: e.term });
          }, transport: function transport(e, t, n) {
            var r = o.ajax(e);return r.then(t), r.fail(n), r;
          } };return o.extend({}, t, e, !0);
      }, n.prototype.processResults = function (e) {
        return e;
      }, n.prototype.query = function (n, r) {
        var i = this;null != this._request && (o.isFunction(this._request.abort) && this._request.abort(), this._request = null);var t = o.extend({ type: "GET" }, this.ajaxOptions);function e() {
          var e = t.transport(t, function (e) {
            var t = i.processResults(e, n);i.options.get("debug") && window.console && console.error && (t && t.results && o.isArray(t.results) || console.error("Select2: The AJAX results did not return an array in the `results` key of the response.")), r(t);
          }, function () {
            "status" in e && (0 === e.status || "0" === e.status) || i.trigger("results:message", { message: "errorLoading" });
          });i._request = e;
        }"function" == typeof t.url && (t.url = t.url.call(this.$element, n)), "function" == typeof t.data && (t.data = t.data.call(this.$element, n)), this.ajaxOptions.delay && null != n.term ? (this._queryTimeout && window.clearTimeout(this._queryTimeout), this._queryTimeout = window.setTimeout(e, this.ajaxOptions.delay)) : e();
      }, n;
    }), e.define("select2/data/tags", ["jquery"], function (u) {
      function e(e, t, n) {
        var r = n.get("tags"),
            i = n.get("createTag");void 0 !== i && (this.createTag = i);var o = n.get("insertTag");if (void 0 !== o && (this.insertTag = o), e.call(this, t, n), u.isArray(r)) for (var s = 0; s < r.length; s++) {
          var a = r[s],
              l = this._normalizeItem(a),
              c = this.option(l);this.$element.append(c);
        }
      }return e.prototype.query = function (e, c, u) {
        var d = this;this._removeOldTags(), null != c.term && null == c.page ? e.call(this, c, function e(t, n) {
          for (var r = t.results, i = 0; i < r.length; i++) {
            var o = r[i],
                s = null != o.children && !e({ results: o.children }, !0);if ((o.text || "").toUpperCase() === (c.term || "").toUpperCase() || s) return !n && (t.data = r, void u(t));
          }if (n) return !0;var a = d.createTag(c);if (null != a) {
            var l = d.option(a);l.attr("data-select2-tag", !0), d.addOptions([l]), d.insertTag(r, a);
          }t.results = r, u(t);
        }) : e.call(this, c, u);
      }, e.prototype.createTag = function (e, t) {
        var n = u.trim(t.term);return "" === n ? null : { id: n, text: n };
      }, e.prototype.insertTag = function (e, t, n) {
        t.unshift(n);
      }, e.prototype._removeOldTags = function (e) {
        this.$element.find("option[data-select2-tag]").each(function () {
          this.selected || u(this).remove();
        });
      }, e;
    }), e.define("select2/data/tokenizer", ["jquery"], function (d) {
      function e(e, t, n) {
        var r = n.get("tokenizer");void 0 !== r && (this.tokenizer = r), e.call(this, t, n);
      }return e.prototype.bind = function (e, t, n) {
        e.call(this, t, n), this.$search = t.dropdown.$search || t.selection.$search || n.find(".select2-search__field");
      }, e.prototype.query = function (e, t, n) {
        var r = this;t.term = t.term || "";var i = this.tokenizer(t, this.options, function (e) {
          var t = r._normalizeItem(e);if (!r.$element.find("option").filter(function () {
            return d(this).val() === t.id;
          }).length) {
            var n = r.option(t);n.attr("data-select2-tag", !0), r._removeOldTags(), r.addOptions([n]);
          }!function (e) {
            r.trigger("select", { data: e });
          }(t);
        });i.term !== t.term && (this.$search.length && (this.$search.val(i.term), this.$search.trigger("focus")), t.term = i.term), e.call(this, t, n);
      }, e.prototype.tokenizer = function (e, t, n, r) {
        for (var i = n.get("tokenSeparators") || [], o = t.term, s = 0, a = this.createTag || function (e) {
          return { id: e.term, text: e.term };
        }; s < o.length;) {
          var l = o[s];if (-1 !== d.inArray(l, i)) {
            var c = o.substr(0, s),
                u = a(d.extend({}, t, { term: c }));null != u ? (r(u), o = o.substr(s + 1) || "", s = 0) : s++;
          } else s++;
        }return { term: o };
      }, e;
    }), e.define("select2/data/minimumInputLength", [], function () {
      function e(e, t, n) {
        this.minimumInputLength = n.get("minimumInputLength"), e.call(this, t, n);
      }return e.prototype.query = function (e, t, n) {
        t.term = t.term || "", t.term.length < this.minimumInputLength ? this.trigger("results:message", { message: "inputTooShort", args: { minimum: this.minimumInputLength, input: t.term, params: t } }) : e.call(this, t, n);
      }, e;
    }), e.define("select2/data/maximumInputLength", [], function () {
      function e(e, t, n) {
        this.maximumInputLength = n.get("maximumInputLength"), e.call(this, t, n);
      }return e.prototype.query = function (e, t, n) {
        t.term = t.term || "", 0 < this.maximumInputLength && t.term.length > this.maximumInputLength ? this.trigger("results:message", { message: "inputTooLong", args: { maximum: this.maximumInputLength, input: t.term, params: t } }) : e.call(this, t, n);
      }, e;
    }), e.define("select2/data/maximumSelectionLength", [], function () {
      function e(e, t, n) {
        this.maximumSelectionLength = n.get("maximumSelectionLength"), e.call(this, t, n);
      }return e.prototype.bind = function (e, t, n) {
        var r = this;e.call(this, t, n), t.on("select", function () {
          r._checkIfMaximumSelected();
        });
      }, e.prototype.query = function (e, t, n) {
        var r = this;this._checkIfMaximumSelected(function () {
          e.call(r, t, n);
        });
      }, e.prototype._checkIfMaximumSelected = function (e, n) {
        var r = this;this.current(function (e) {
          var t = null != e ? e.length : 0;0 < r.maximumSelectionLength && t >= r.maximumSelectionLength ? r.trigger("results:message", { message: "maximumSelected", args: { maximum: r.maximumSelectionLength } }) : n && n();
        });
      }, e;
    }), e.define("select2/dropdown", ["jquery", "./utils"], function (t, e) {
      function n(e, t) {
        this.$element = e, this.options = t, n.__super__.constructor.call(this);
      }return e.Extend(n, e.Observable), n.prototype.render = function () {
        var e = t('<span class="select2-dropdown"><span class="select2-results"></span></span>');return e.attr("dir", this.options.get("dir")), this.$dropdown = e;
      }, n.prototype.bind = function () {}, n.prototype.position = function (e, t) {}, n.prototype.destroy = function () {
        this.$dropdown.remove();
      }, n;
    }), e.define("select2/dropdown/search", ["jquery", "../utils"], function (o, e) {
      function t() {}return t.prototype.render = function (e) {
        var t = e.call(this),
            n = o('<span class="select2-search select2-search--dropdown"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="none" spellcheck="false" role="searchbox" aria-autocomplete="list" /></span>');return this.$searchContainer = n, this.$search = n.find("input"), t.prepend(n), t;
      }, t.prototype.bind = function (e, t, n) {
        var r = this,
            i = t.id + "-results";e.call(this, t, n), this.$search.on("keydown", function (e) {
          r.trigger("keypress", e), r._keyUpPrevented = e.isDefaultPrevented();
        }), this.$search.on("input", function (e) {
          o(this).off("keyup");
        }), this.$search.on("keyup input", function (e) {
          r.handleSearch(e);
        }), t.on("open", function () {
          r.$search.attr("tabindex", 0), r.$search.attr("aria-controls", i), r.$search.trigger("focus"), window.setTimeout(function () {
            r.$search.trigger("focus");
          }, 0);
        }), t.on("close", function () {
          r.$search.attr("tabindex", -1), r.$search.removeAttr("aria-controls"), r.$search.removeAttr("aria-activedescendant"), r.$search.val(""), r.$search.trigger("blur");
        }), t.on("focus", function () {
          t.isOpen() || r.$search.trigger("focus");
        }), t.on("results:all", function (e) {
          null != e.query.term && "" !== e.query.term || (r.showSearch(e) ? r.$searchContainer.removeClass("select2-search--hide") : r.$searchContainer.addClass("select2-search--hide"));
        }), t.on("results:focus", function (e) {
          e.data._resultId ? r.$search.attr("aria-activedescendant", e.data._resultId) : r.$search.removeAttr("aria-activedescendant");
        });
      }, t.prototype.handleSearch = function (e) {
        if (!this._keyUpPrevented) {
          var t = this.$search.val();this.trigger("query", { term: t });
        }this._keyUpPrevented = !1;
      }, t.prototype.showSearch = function (e, t) {
        return !0;
      }, t;
    }), e.define("select2/dropdown/hidePlaceholder", [], function () {
      function e(e, t, n, r) {
        this.placeholder = this.normalizePlaceholder(n.get("placeholder")), e.call(this, t, n, r);
      }return e.prototype.append = function (e, t) {
        t.results = this.removePlaceholder(t.results), e.call(this, t);
      }, e.prototype.normalizePlaceholder = function (e, t) {
        return "string" == typeof t && (t = { id: "", text: t }), t;
      }, e.prototype.removePlaceholder = function (e, t) {
        for (var n = t.slice(0), r = t.length - 1; 0 <= r; r--) {
          var i = t[r];this.placeholder.id === i.id && n.splice(r, 1);
        }return n;
      }, e;
    }), e.define("select2/dropdown/infiniteScroll", ["jquery"], function (n) {
      function e(e, t, n, r) {
        this.lastParams = {}, e.call(this, t, n, r), this.$loadingMore = this.createLoadingMore(), this.loading = !1;
      }return e.prototype.append = function (e, t) {
        this.$loadingMore.remove(), this.loading = !1, e.call(this, t), this.showLoadingMore(t) && (this.$results.append(this.$loadingMore), this.loadMoreIfNeeded());
      }, e.prototype.bind = function (e, t, n) {
        var r = this;e.call(this, t, n), t.on("query", function (e) {
          r.lastParams = e, r.loading = !0;
        }), t.on("query:append", function (e) {
          r.lastParams = e, r.loading = !0;
        }), this.$results.on("scroll", this.loadMoreIfNeeded.bind(this));
      }, e.prototype.loadMoreIfNeeded = function () {
        var e = n.contains(document.documentElement, this.$loadingMore[0]);if (!this.loading && e) {
          var t = this.$results.offset().top + this.$results.outerHeight(!1);this.$loadingMore.offset().top + this.$loadingMore.outerHeight(!1) <= t + 50 && this.loadMore();
        }
      }, e.prototype.loadMore = function () {
        this.loading = !0;var e = n.extend({}, { page: 1 }, this.lastParams);e.page++, this.trigger("query:append", e);
      }, e.prototype.showLoadingMore = function (e, t) {
        return t.pagination && t.pagination.more;
      }, e.prototype.createLoadingMore = function () {
        var e = n('<li class="select2-results__option select2-results__option--load-more"role="option" aria-disabled="true"></li>'),
            t = this.options.get("translations").get("loadingMore");return e.html(t(this.lastParams)), e;
      }, e;
    }), e.define("select2/dropdown/attachBody", ["jquery", "../utils"], function (f, a) {
      function e(e, t, n) {
        this.$dropdownParent = f(n.get("dropdownParent") || document.body), e.call(this, t, n);
      }return e.prototype.bind = function (e, t, n) {
        var r = this;e.call(this, t, n), t.on("open", function () {
          r._showDropdown(), r._attachPositioningHandler(t), r._bindContainerResultHandlers(t);
        }), t.on("close", function () {
          r._hideDropdown(), r._detachPositioningHandler(t);
        }), this.$dropdownContainer.on("mousedown", function (e) {
          e.stopPropagation();
        });
      }, e.prototype.destroy = function (e) {
        e.call(this), this.$dropdownContainer.remove();
      }, e.prototype.position = function (e, t, n) {
        t.attr("class", n.attr("class")), t.removeClass("select2"), t.addClass("select2-container--open"), t.css({ position: "absolute", top: -999999 }), this.$container = n;
      }, e.prototype.render = function (e) {
        var t = f("<span></span>"),
            n = e.call(this);return t.append(n), this.$dropdownContainer = t;
      }, e.prototype._hideDropdown = function (e) {
        this.$dropdownContainer.detach();
      }, e.prototype._bindContainerResultHandlers = function (e, t) {
        if (!this._containerResultsHandlersBound) {
          var n = this;t.on("results:all", function () {
            n._positionDropdown(), n._resizeDropdown();
          }), t.on("results:append", function () {
            n._positionDropdown(), n._resizeDropdown();
          }), t.on("results:message", function () {
            n._positionDropdown(), n._resizeDropdown();
          }), t.on("select", function () {
            n._positionDropdown(), n._resizeDropdown();
          }), t.on("unselect", function () {
            n._positionDropdown(), n._resizeDropdown();
          }), this._containerResultsHandlersBound = !0;
        }
      }, e.prototype._attachPositioningHandler = function (e, t) {
        var n = this,
            r = "scroll.select2." + t.id,
            i = "resize.select2." + t.id,
            o = "orientationchange.select2." + t.id,
            s = this.$container.parents().filter(a.hasScroll);s.each(function () {
          a.StoreData(this, "select2-scroll-position", { x: f(this).scrollLeft(), y: f(this).scrollTop() });
        }), s.on(r, function (e) {
          var t = a.GetData(this, "select2-scroll-position");f(this).scrollTop(t.y);
        }), f(window).on(r + " " + i + " " + o, function (e) {
          n._positionDropdown(), n._resizeDropdown();
        });
      }, e.prototype._detachPositioningHandler = function (e, t) {
        var n = "scroll.select2." + t.id,
            r = "resize.select2." + t.id,
            i = "orientationchange.select2." + t.id;this.$container.parents().filter(a.hasScroll).off(n), f(window).off(n + " " + r + " " + i);
      }, e.prototype._positionDropdown = function () {
        var e = f(window),
            t = this.$dropdown.hasClass("select2-dropdown--above"),
            n = this.$dropdown.hasClass("select2-dropdown--below"),
            r = null,
            i = this.$container.offset();i.bottom = i.top + this.$container.outerHeight(!1);var o = { height: this.$container.outerHeight(!1) };o.top = i.top, o.bottom = i.top + o.height;var s = this.$dropdown.outerHeight(!1),
            a = e.scrollTop(),
            l = e.scrollTop() + e.height(),
            c = a < i.top - s,
            u = l > i.bottom + s,
            d = { left: i.left, top: o.bottom },
            p = this.$dropdownParent;"static" === p.css("position") && (p = p.offsetParent());var h = { top: 0, left: 0 };(f.contains(document.body, p[0]) || p[0].isConnected) && (h = p.offset()), d.top -= h.top, d.left -= h.left, t || n || (r = "below"), u || !c || t ? !c && u && t && (r = "below") : r = "above", ("above" == r || t && "below" !== r) && (d.top = o.top - h.top - s), null != r && (this.$dropdown.removeClass("select2-dropdown--below select2-dropdown--above").addClass("select2-dropdown--" + r), this.$container.removeClass("select2-container--below select2-container--above").addClass("select2-container--" + r)), this.$dropdownContainer.css(d);
      }, e.prototype._resizeDropdown = function () {
        var e = { width: this.$container.outerWidth(!1) + "px" };this.options.get("dropdownAutoWidth") && (e.minWidth = e.width, e.position = "relative", e.width = "auto"), this.$dropdown.css(e);
      }, e.prototype._showDropdown = function (e) {
        this.$dropdownContainer.appendTo(this.$dropdownParent), this._positionDropdown(), this._resizeDropdown();
      }, e;
    }), e.define("select2/dropdown/minimumResultsForSearch", [], function () {
      function e(e, t, n, r) {
        this.minimumResultsForSearch = n.get("minimumResultsForSearch"), this.minimumResultsForSearch < 0 && (this.minimumResultsForSearch = 1 / 0), e.call(this, t, n, r);
      }return e.prototype.showSearch = function (e, t) {
        return !(function e(t) {
          for (var n = 0, r = 0; r < t.length; r++) {
            var i = t[r];i.children ? n += e(i.children) : n++;
          }return n;
        }(t.data.results) < this.minimumResultsForSearch) && e.call(this, t);
      }, e;
    }), e.define("select2/dropdown/selectOnClose", ["../utils"], function (o) {
      function e() {}return e.prototype.bind = function (e, t, n) {
        var r = this;e.call(this, t, n), t.on("close", function (e) {
          r._handleSelectOnClose(e);
        });
      }, e.prototype._handleSelectOnClose = function (e, t) {
        if (t && null != t.originalSelect2Event) {
          var n = t.originalSelect2Event;if ("select" === n._type || "unselect" === n._type) return;
        }var r = this.getHighlightedResults();if (!(r.length < 1)) {
          var i = o.GetData(r[0], "data");null != i.element && i.element.selected || null == i.element && i.selected || this.trigger("select", { data: i });
        }
      }, e;
    }), e.define("select2/dropdown/closeOnSelect", [], function () {
      function e() {}return e.prototype.bind = function (e, t, n) {
        var r = this;e.call(this, t, n), t.on("select", function (e) {
          r._selectTriggered(e);
        }), t.on("unselect", function (e) {
          r._selectTriggered(e);
        });
      }, e.prototype._selectTriggered = function (e, t) {
        var n = t.originalEvent;n && (n.ctrlKey || n.metaKey) || this.trigger("close", { originalEvent: n, originalSelect2Event: t });
      }, e;
    }), e.define("select2/i18n/en", [], function () {
      return { errorLoading: function errorLoading() {
          return "The results could not be loaded.";
        }, inputTooLong: function inputTooLong(e) {
          var t = e.input.length - e.maximum,
              n = "Please delete " + t + " character";return 1 != t && (n += "s"), n;
        }, inputTooShort: function inputTooShort(e) {
          return "Please enter " + (e.minimum - e.input.length) + " or more characters";
        }, loadingMore: function loadingMore() {
          return "Loading more results…";
        }, maximumSelected: function maximumSelected(e) {
          var t = "You can only select " + e.maximum + " item";return 1 != e.maximum && (t += "s"), t;
        }, noResults: function noResults() {
          return "No results found";
        }, searching: function searching() {
          return "Searching…";
        }, removeAllItems: function removeAllItems() {
          return "Remove all items";
        } };
    }), e.define("select2/defaults", ["jquery", "require", "./results", "./selection/single", "./selection/multiple", "./selection/placeholder", "./selection/allowClear", "./selection/search", "./selection/eventRelay", "./utils", "./translation", "./diacritics", "./data/select", "./data/array", "./data/ajax", "./data/tags", "./data/tokenizer", "./data/minimumInputLength", "./data/maximumInputLength", "./data/maximumSelectionLength", "./dropdown", "./dropdown/search", "./dropdown/hidePlaceholder", "./dropdown/infiniteScroll", "./dropdown/attachBody", "./dropdown/minimumResultsForSearch", "./dropdown/selectOnClose", "./dropdown/closeOnSelect", "./i18n/en"], function (c, u, d, p, h, f, g, m, v, y, s, t, _, $, w, b, A, x, D, S, E, C, O, T, q, L, I, j, e) {
      function n() {
        this.reset();
      }return n.prototype.apply = function (e) {
        if (null == (e = c.extend(!0, {}, this.defaults, e)).dataAdapter) {
          if (null != e.ajax ? e.dataAdapter = w : null != e.data ? e.dataAdapter = $ : e.dataAdapter = _, 0 < e.minimumInputLength && (e.dataAdapter = y.Decorate(e.dataAdapter, x)), 0 < e.maximumInputLength && (e.dataAdapter = y.Decorate(e.dataAdapter, D)), 0 < e.maximumSelectionLength && (e.dataAdapter = y.Decorate(e.dataAdapter, S)), e.tags && (e.dataAdapter = y.Decorate(e.dataAdapter, b)), null == e.tokenSeparators && null == e.tokenizer || (e.dataAdapter = y.Decorate(e.dataAdapter, A)), null != e.query) {
            var t = u(e.amdBase + "compat/query");e.dataAdapter = y.Decorate(e.dataAdapter, t);
          }if (null != e.initSelection) {
            var n = u(e.amdBase + "compat/initSelection");e.dataAdapter = y.Decorate(e.dataAdapter, n);
          }
        }if (null == e.resultsAdapter && (e.resultsAdapter = d, null != e.ajax && (e.resultsAdapter = y.Decorate(e.resultsAdapter, T)), null != e.placeholder && (e.resultsAdapter = y.Decorate(e.resultsAdapter, O)), e.selectOnClose && (e.resultsAdapter = y.Decorate(e.resultsAdapter, I))), null == e.dropdownAdapter) {
          if (e.multiple) e.dropdownAdapter = E;else {
            var r = y.Decorate(E, C);e.dropdownAdapter = r;
          }if (0 !== e.minimumResultsForSearch && (e.dropdownAdapter = y.Decorate(e.dropdownAdapter, L)), e.closeOnSelect && (e.dropdownAdapter = y.Decorate(e.dropdownAdapter, j)), null != e.dropdownCssClass || null != e.dropdownCss || null != e.adaptDropdownCssClass) {
            var i = u(e.amdBase + "compat/dropdownCss");e.dropdownAdapter = y.Decorate(e.dropdownAdapter, i);
          }e.dropdownAdapter = y.Decorate(e.dropdownAdapter, q);
        }if (null == e.selectionAdapter) {
          if (e.multiple ? e.selectionAdapter = h : e.selectionAdapter = p, null != e.placeholder && (e.selectionAdapter = y.Decorate(e.selectionAdapter, f)), e.allowClear && (e.selectionAdapter = y.Decorate(e.selectionAdapter, g)), e.multiple && (e.selectionAdapter = y.Decorate(e.selectionAdapter, m)), null != e.containerCssClass || null != e.containerCss || null != e.adaptContainerCssClass) {
            var o = u(e.amdBase + "compat/containerCss");e.selectionAdapter = y.Decorate(e.selectionAdapter, o);
          }e.selectionAdapter = y.Decorate(e.selectionAdapter, v);
        }e.language = this._resolveLanguage(e.language), e.language.push("en");for (var s = [], a = 0; a < e.language.length; a++) {
          var l = e.language[a];-1 === s.indexOf(l) && s.push(l);
        }return e.language = s, e.translations = this._processTranslations(e.language, e.debug), e;
      }, n.prototype.reset = function () {
        function a(e) {
          return e.replace(/[^\u0000-\u007E]/g, function (e) {
            return t[e] || e;
          });
        }this.defaults = { amdBase: "./", amdLanguageBase: "./i18n/", closeOnSelect: !0, debug: !1, dropdownAutoWidth: !1, escapeMarkup: y.escapeMarkup, language: {}, matcher: function e(t, n) {
            if ("" === c.trim(t.term)) return n;if (n.children && 0 < n.children.length) {
              for (var r = c.extend(!0, {}, n), i = n.children.length - 1; 0 <= i; i--) {
                null == e(t, n.children[i]) && r.children.splice(i, 1);
              }return 0 < r.children.length ? r : e(t, r);
            }var o = a(n.text).toUpperCase(),
                s = a(t.term).toUpperCase();return -1 < o.indexOf(s) ? n : null;
          }, minimumInputLength: 0, maximumInputLength: 0, maximumSelectionLength: 0, minimumResultsForSearch: 0, selectOnClose: !1, scrollAfterSelect: !1, sorter: function sorter(e) {
            return e;
          }, templateResult: function templateResult(e) {
            return e.text;
          }, templateSelection: function templateSelection(e) {
            return e.text;
          }, theme: "default", width: "resolve" };
      }, n.prototype.applyFromElement = function (e, t) {
        var n = e.language,
            r = this.defaults.language,
            i = t.prop("lang"),
            o = t.closest("[lang]").prop("lang"),
            s = Array.prototype.concat.call(this._resolveLanguage(i), this._resolveLanguage(n), this._resolveLanguage(r), this._resolveLanguage(o));return e.language = s, e;
      }, n.prototype._resolveLanguage = function (e) {
        if (!e) return [];if (c.isEmptyObject(e)) return [];if (c.isPlainObject(e)) return [e];var t;t = c.isArray(e) ? e : [e];for (var n = [], r = 0; r < t.length; r++) {
          if (n.push(t[r]), "string" == typeof t[r] && 0 < t[r].indexOf("-")) {
            var i = t[r].split("-")[0];n.push(i);
          }
        }return n;
      }, n.prototype._processTranslations = function (e, t) {
        for (var n = new s(), r = 0; r < e.length; r++) {
          var i = new s(),
              o = e[r];if ("string" == typeof o) try {
            i = s.loadPath(o);
          } catch (e) {
            try {
              o = this.defaults.amdLanguageBase + o, i = s.loadPath(o);
            } catch (e) {
              t && window.console && console.warn && console.warn('Select2: The language file for "' + o + '" could not be automatically loaded. A fallback will be used instead.');
            }
          } else i = c.isPlainObject(o) ? new s(o) : o;n.extend(i);
        }return n;
      }, n.prototype.set = function (e, t) {
        var n = {};n[c.camelCase(e)] = t;var r = y._convertData(n);c.extend(!0, this.defaults, r);
      }, new n();
    }), e.define("select2/options", ["require", "jquery", "./defaults", "./utils"], function (r, d, i, p) {
      function e(e, t) {
        if (this.options = e, null != t && this.fromElement(t), null != t && (this.options = i.applyFromElement(this.options, t)), this.options = i.apply(this.options), t && t.is("input")) {
          var n = r(this.get("amdBase") + "compat/inputData");this.options.dataAdapter = p.Decorate(this.options.dataAdapter, n);
        }
      }return e.prototype.fromElement = function (e) {
        var t = ["select2"];null == this.options.multiple && (this.options.multiple = e.prop("multiple")), null == this.options.disabled && (this.options.disabled = e.prop("disabled")), null == this.options.dir && (e.prop("dir") ? this.options.dir = e.prop("dir") : e.closest("[dir]").prop("dir") ? this.options.dir = e.closest("[dir]").prop("dir") : this.options.dir = "ltr"), e.prop("disabled", this.options.disabled), e.prop("multiple", this.options.multiple), p.GetData(e[0], "select2Tags") && (this.options.debug && window.console && console.warn && console.warn('Select2: The `data-select2-tags` attribute has been changed to use the `data-data` and `data-tags="true"` attributes and will be removed in future versions of Select2.'), p.StoreData(e[0], "data", p.GetData(e[0], "select2Tags")), p.StoreData(e[0], "tags", !0)), p.GetData(e[0], "ajaxUrl") && (this.options.debug && window.console && console.warn && console.warn("Select2: The `data-ajax-url` attribute has been changed to `data-ajax--url` and support for the old attribute will be removed in future versions of Select2."), e.attr("ajax--url", p.GetData(e[0], "ajaxUrl")), p.StoreData(e[0], "ajax-Url", p.GetData(e[0], "ajaxUrl")));var n = {};function r(e, t) {
          return t.toUpperCase();
        }for (var i = 0; i < e[0].attributes.length; i++) {
          var o = e[0].attributes[i].name,
              s = "data-";if (o.substr(0, s.length) == s) {
            var a = o.substring(s.length),
                l = p.GetData(e[0], a);n[a.replace(/-([a-z])/g, r)] = l;
          }
        }d.fn.jquery && "1." == d.fn.jquery.substr(0, 2) && e[0].dataset && (n = d.extend(!0, {}, e[0].dataset, n));var c = d.extend(!0, {}, p.GetData(e[0]), n);for (var u in c = p._convertData(c)) {
          -1 < d.inArray(u, t) || (d.isPlainObject(this.options[u]) ? d.extend(this.options[u], c[u]) : this.options[u] = c[u]);
        }return this;
      }, e.prototype.get = function (e) {
        return this.options[e];
      }, e.prototype.set = function (e, t) {
        this.options[e] = t;
      }, e;
    }), e.define("select2/core", ["jquery", "./options", "./utils", "./keys"], function (i, c, u, r) {
      var d = function d(e, t) {
        null != u.GetData(e[0], "select2") && u.GetData(e[0], "select2").destroy(), this.$element = e, this.id = this._generateId(e), t = t || {}, this.options = new c(t, e), d.__super__.constructor.call(this);var n = e.attr("tabindex") || 0;u.StoreData(e[0], "old-tabindex", n), e.attr("tabindex", "-1");var r = this.options.get("dataAdapter");this.dataAdapter = new r(e, this.options);var i = this.render();this._placeContainer(i);var o = this.options.get("selectionAdapter");this.selection = new o(e, this.options), this.$selection = this.selection.render(), this.selection.position(this.$selection, i);var s = this.options.get("dropdownAdapter");this.dropdown = new s(e, this.options), this.$dropdown = this.dropdown.render(), this.dropdown.position(this.$dropdown, i);var a = this.options.get("resultsAdapter");this.results = new a(e, this.options, this.dataAdapter), this.$results = this.results.render(), this.results.position(this.$results, this.$dropdown);var l = this;this._bindAdapters(), this._registerDomEvents(), this._registerDataEvents(), this._registerSelectionEvents(), this._registerDropdownEvents(), this._registerResultsEvents(), this._registerEvents(), this.dataAdapter.current(function (e) {
          l.trigger("selection:update", { data: e });
        }), e.addClass("select2-hidden-accessible"), e.attr("aria-hidden", "true"), this._syncAttributes(), u.StoreData(e[0], "select2", this), e.data("select2", this);
      };return u.Extend(d, u.Observable), d.prototype._generateId = function (e) {
        return "select2-" + (null != e.attr("id") ? e.attr("id") : null != e.attr("name") ? e.attr("name") + "-" + u.generateChars(2) : u.generateChars(4)).replace(/(:|\.|\[|\]|,)/g, "");
      }, d.prototype._placeContainer = function (e) {
        e.insertAfter(this.$element);var t = this._resolveWidth(this.$element, this.options.get("width"));null != t && e.css("width", t);
      }, d.prototype._resolveWidth = function (e, t) {
        var n = /^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i;if ("resolve" == t) {
          var r = this._resolveWidth(e, "style");return null != r ? r : this._resolveWidth(e, "element");
        }if ("element" == t) {
          var i = e.outerWidth(!1);return i <= 0 ? "auto" : i + "px";
        }if ("style" != t) return "computedstyle" != t ? t : window.getComputedStyle(e[0]).width;var o = e.attr("style");if ("string" != typeof o) return null;for (var s = o.split(";"), a = 0, l = s.length; a < l; a += 1) {
          var c = s[a].replace(/\s/g, "").match(n);if (null !== c && 1 <= c.length) return c[1];
        }return null;
      }, d.prototype._bindAdapters = function () {
        this.dataAdapter.bind(this, this.$container), this.selection.bind(this, this.$container), this.dropdown.bind(this, this.$container), this.results.bind(this, this.$container);
      }, d.prototype._registerDomEvents = function () {
        var t = this;this.$element.on("change.select2", function () {
          t.dataAdapter.current(function (e) {
            t.trigger("selection:update", { data: e });
          });
        }), this.$element.on("focus.select2", function (e) {
          t.trigger("focus", e);
        }), this._syncA = u.bind(this._syncAttributes, this), this._syncS = u.bind(this._syncSubtree, this), this.$element[0].attachEvent && this.$element[0].attachEvent("onpropertychange", this._syncA);var e = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver;null != e ? (this._observer = new e(function (e) {
          i.each(e, t._syncA), i.each(e, t._syncS);
        }), this._observer.observe(this.$element[0], { attributes: !0, childList: !0, subtree: !1 })) : this.$element[0].addEventListener && (this.$element[0].addEventListener("DOMAttrModified", t._syncA, !1), this.$element[0].addEventListener("DOMNodeInserted", t._syncS, !1), this.$element[0].addEventListener("DOMNodeRemoved", t._syncS, !1));
      }, d.prototype._registerDataEvents = function () {
        var n = this;this.dataAdapter.on("*", function (e, t) {
          n.trigger(e, t);
        });
      }, d.prototype._registerSelectionEvents = function () {
        var n = this,
            r = ["toggle", "focus"];this.selection.on("toggle", function () {
          n.toggleDropdown();
        }), this.selection.on("focus", function (e) {
          n.focus(e);
        }), this.selection.on("*", function (e, t) {
          -1 === i.inArray(e, r) && n.trigger(e, t);
        });
      }, d.prototype._registerDropdownEvents = function () {
        var n = this;this.dropdown.on("*", function (e, t) {
          n.trigger(e, t);
        });
      }, d.prototype._registerResultsEvents = function () {
        var n = this;this.results.on("*", function (e, t) {
          n.trigger(e, t);
        });
      }, d.prototype._registerEvents = function () {
        var n = this;this.on("open", function () {
          n.$container.addClass("select2-container--open");
        }), this.on("close", function () {
          n.$container.removeClass("select2-container--open");
        }), this.on("enable", function () {
          n.$container.removeClass("select2-container--disabled");
        }), this.on("disable", function () {
          n.$container.addClass("select2-container--disabled");
        }), this.on("blur", function () {
          n.$container.removeClass("select2-container--focus");
        }), this.on("query", function (t) {
          n.isOpen() || n.trigger("open", {}), this.dataAdapter.query(t, function (e) {
            n.trigger("results:all", { data: e, query: t });
          });
        }), this.on("query:append", function (t) {
          this.dataAdapter.query(t, function (e) {
            n.trigger("results:append", { data: e, query: t });
          });
        }), this.on("keypress", function (e) {
          var t = e.which;n.isOpen() ? t === r.ESC || t === r.TAB || t === r.UP && e.altKey ? (n.close(), e.preventDefault()) : t === r.ENTER ? (n.trigger("results:select", {}), e.preventDefault()) : t === r.SPACE && e.ctrlKey ? (n.trigger("results:toggle", {}), e.preventDefault()) : t === r.UP ? (n.trigger("results:previous", {}), e.preventDefault()) : t === r.DOWN && (n.trigger("results:next", {}), e.preventDefault()) : (t === r.ENTER || t === r.SPACE || t === r.DOWN && e.altKey) && (n.open(), e.preventDefault());
        });
      }, d.prototype._syncAttributes = function () {
        this.options.set("disabled", this.$element.prop("disabled")), this.options.get("disabled") ? (this.isOpen() && this.close(), this.trigger("disable", {})) : this.trigger("enable", {});
      }, d.prototype._syncSubtree = function (e, t) {
        var n = !1,
            r = this;if (!e || !e.target || "OPTION" === e.target.nodeName || "OPTGROUP" === e.target.nodeName) {
          if (t) {
            if (t.addedNodes && 0 < t.addedNodes.length) for (var i = 0; i < t.addedNodes.length; i++) {
              t.addedNodes[i].selected && (n = !0);
            } else t.removedNodes && 0 < t.removedNodes.length && (n = !0);
          } else n = !0;n && this.dataAdapter.current(function (e) {
            r.trigger("selection:update", { data: e });
          });
        }
      }, d.prototype.trigger = function (e, t) {
        var n = d.__super__.trigger,
            r = { open: "opening", close: "closing", select: "selecting", unselect: "unselecting", clear: "clearing" };if (void 0 === t && (t = {}), e in r) {
          var i = r[e],
              o = { prevented: !1, name: e, args: t };if (n.call(this, i, o), o.prevented) return void (t.prevented = !0);
        }n.call(this, e, t);
      }, d.prototype.toggleDropdown = function () {
        this.options.get("disabled") || (this.isOpen() ? this.close() : this.open());
      }, d.prototype.open = function () {
        this.isOpen() || this.trigger("query", {});
      }, d.prototype.close = function () {
        this.isOpen() && this.trigger("close", {});
      }, d.prototype.isOpen = function () {
        return this.$container.hasClass("select2-container--open");
      }, d.prototype.hasFocus = function () {
        return this.$container.hasClass("select2-container--focus");
      }, d.prototype.focus = function (e) {
        this.hasFocus() || (this.$container.addClass("select2-container--focus"), this.trigger("focus", {}));
      }, d.prototype.enable = function (e) {
        this.options.get("debug") && window.console && console.warn && console.warn('Select2: The `select2("enable")` method has been deprecated and will be removed in later Select2 versions. Use $element.prop("disabled") instead.'), null != e && 0 !== e.length || (e = [!0]);var t = !e[0];this.$element.prop("disabled", t);
      }, d.prototype.data = function () {
        this.options.get("debug") && 0 < arguments.length && window.console && console.warn && console.warn('Select2: Data can no longer be set using `select2("data")`. You should consider setting the value instead using `$element.val()`.');var t = [];return this.dataAdapter.current(function (e) {
          t = e;
        }), t;
      }, d.prototype.val = function (e) {
        if (this.options.get("debug") && window.console && console.warn && console.warn('Select2: The `select2("val")` method has been deprecated and will be removed in later Select2 versions. Use $element.val() instead.'), null == e || 0 === e.length) return this.$element.val();var t = e[0];i.isArray(t) && (t = i.map(t, function (e) {
          return e.toString();
        })), this.$element.val(t).trigger("change");
      }, d.prototype.destroy = function () {
        this.$container.remove(), this.$element[0].detachEvent && this.$element[0].detachEvent("onpropertychange", this._syncA), null != this._observer ? (this._observer.disconnect(), this._observer = null) : this.$element[0].removeEventListener && (this.$element[0].removeEventListener("DOMAttrModified", this._syncA, !1), this.$element[0].removeEventListener("DOMNodeInserted", this._syncS, !1), this.$element[0].removeEventListener("DOMNodeRemoved", this._syncS, !1)), this._syncA = null, this._syncS = null, this.$element.off(".select2"), this.$element.attr("tabindex", u.GetData(this.$element[0], "old-tabindex")), this.$element.removeClass("select2-hidden-accessible"), this.$element.attr("aria-hidden", "false"), u.RemoveData(this.$element[0]), this.$element.removeData("select2"), this.dataAdapter.destroy(), this.selection.destroy(), this.dropdown.destroy(), this.results.destroy(), this.dataAdapter = null, this.selection = null, this.dropdown = null, this.results = null;
      }, d.prototype.render = function () {
        var e = i('<span class="select2 select2-container"><span class="selection"></span><span class="dropdown-wrapper" aria-hidden="true"></span></span>');return e.attr("dir", this.options.get("dir")), this.$container = e, this.$container.addClass("select2-container--" + this.options.get("theme")), u.StoreData(e[0], "element", this.$element), e;
      }, d;
    }), e.define("jquery-mousewheel", ["jquery"], function (e) {
      return e;
    }), e.define("jquery.select2", ["jquery", "jquery-mousewheel", "./select2/core", "./select2/defaults", "./select2/utils"], function (i, e, o, t, s) {
      if (null == i.fn.select2) {
        var a = ["open", "close", "destroy"];i.fn.select2 = function (t) {
          if ("object" == _typeof(t = t || {})) return this.each(function () {
            var e = i.extend(!0, {}, t);new o(i(this), e);
          }), this;if ("string" != typeof t) throw new Error("Invalid arguments for Select2: " + t);var n,
              r = Array.prototype.slice.call(arguments, 1);return this.each(function () {
            var e = s.GetData(this, "select2");null == e && window.console && console.error && console.error("The select2('" + t + "') method was called on an element that is not using Select2."), n = e[t].apply(e, r);
          }), -1 < i.inArray(t, a) ? this : n;
        };
      }return null == i.fn.select2.defaults && (i.fn.select2.defaults = t), o;
    }), { define: e.define, require: e.require };
  }(),
      t = e.require("jquery.select2");return u.fn.select2.amd = e, t;
});
"use strict";

var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };

!function (i) {
  "use strict";
  "function" == typeof define && define.amd ? define(["jquery"], i) : "undefined" != typeof exports ? module.exports = i(require("jquery")) : i(jQuery);
}(function (i) {
  "use strict";
  var e = window.Slick || {};(e = function () {
    var e = 0;return function (t, o) {
      var s,
          n = this;n.defaults = { accessibility: !0, adaptiveHeight: !1, appendArrows: i(t), appendDots: i(t), arrows: !0, asNavFor: null, prevArrow: '<button class="slick-prev" aria-label="Previous" type="button">Previous</button>', nextArrow: '<button class="slick-next" aria-label="Next" type="button">Next</button>', autoplay: !1, autoplaySpeed: 3e3, centerMode: !1, centerPadding: "50px", cssEase: "ease", customPaging: function customPaging(e, t) {
          return i('<button type="button" />').text(t + 1);
        }, dots: !1, dotsClass: "slick-dots", draggable: !0, easing: "linear", edgeFriction: .35, fade: !1, focusOnSelect: !1, focusOnChange: !1, infinite: !0, initialSlide: 0, lazyLoad: "ondemand", mobileFirst: !1, pauseOnHover: !0, pauseOnFocus: !0, pauseOnDotsHover: !1, respondTo: "window", responsive: null, rows: 1, rtl: !1, slide: "", slidesPerRow: 1, slidesToShow: 1, slidesToScroll: 1, speed: 500, swipe: !0, swipeToSlide: !1, touchMove: !0, touchThreshold: 5, useCSS: !0, useTransform: !0, variableWidth: !1, vertical: !1, verticalSwiping: !1, waitForAnimate: !0, zIndex: 1e3 }, n.initials = { animating: !1, dragging: !1, autoPlayTimer: null, currentDirection: 0, currentLeft: null, currentSlide: 0, direction: 1, $dots: null, listWidth: null, listHeight: null, loadIndex: 0, $nextArrow: null, $prevArrow: null, scrolling: !1, slideCount: null, slideWidth: null, $slideTrack: null, $slides: null, sliding: !1, slideOffset: 0, swipeLeft: null, swiping: !1, $list: null, touchObject: {}, transformsEnabled: !1, unslicked: !1 }, i.extend(n, n.initials), n.activeBreakpoint = null, n.animType = null, n.animProp = null, n.breakpoints = [], n.breakpointSettings = [], n.cssTransitions = !1, n.focussed = !1, n.interrupted = !1, n.hidden = "hidden", n.paused = !0, n.positionProp = null, n.respondTo = null, n.rowCount = 1, n.shouldClick = !0, n.$slider = i(t), n.$slidesCache = null, n.transformType = null, n.transitionType = null, n.visibilityChange = "visibilitychange", n.windowWidth = 0, n.windowTimer = null, s = i(t).data("slick") || {}, n.options = i.extend({}, n.defaults, o, s), n.currentSlide = n.options.initialSlide, n.originalSettings = n.options, void 0 !== document.mozHidden ? (n.hidden = "mozHidden", n.visibilityChange = "mozvisibilitychange") : void 0 !== document.webkitHidden && (n.hidden = "webkitHidden", n.visibilityChange = "webkitvisibilitychange"), n.autoPlay = i.proxy(n.autoPlay, n), n.autoPlayClear = i.proxy(n.autoPlayClear, n), n.autoPlayIterator = i.proxy(n.autoPlayIterator, n), n.changeSlide = i.proxy(n.changeSlide, n), n.clickHandler = i.proxy(n.clickHandler, n), n.selectHandler = i.proxy(n.selectHandler, n), n.setPosition = i.proxy(n.setPosition, n), n.swipeHandler = i.proxy(n.swipeHandler, n), n.dragHandler = i.proxy(n.dragHandler, n), n.keyHandler = i.proxy(n.keyHandler, n), n.instanceUid = e++, n.htmlExpr = /^(?:\s*(<[\w\W]+>)[^>]*)$/, n.registerBreakpoints(), n.init(!0);
    };
  }()).prototype.activateADA = function () {
    this.$slideTrack.find(".slick-active").attr({ "aria-hidden": "false" }).find("a, input, button, select").attr({ tabindex: "0" });
  }, e.prototype.addSlide = e.prototype.slickAdd = function (e, t, o) {
    var s = this;if ("boolean" == typeof t) o = t, t = null;else if (t < 0 || t >= s.slideCount) return !1;s.unload(), "number" == typeof t ? 0 === t && 0 === s.$slides.length ? i(e).appendTo(s.$slideTrack) : o ? i(e).insertBefore(s.$slides.eq(t)) : i(e).insertAfter(s.$slides.eq(t)) : !0 === o ? i(e).prependTo(s.$slideTrack) : i(e).appendTo(s.$slideTrack), s.$slides = s.$slideTrack.children(this.options.slide), s.$slideTrack.children(this.options.slide).detach(), s.$slideTrack.append(s.$slides), s.$slides.each(function (e, t) {
      i(t).attr("data-slick-index", e);
    }), s.$slidesCache = s.$slides, s.reinit();
  }, e.prototype.animateHeight = function () {
    var i = this;if (1 === i.options.slidesToShow && !0 === i.options.adaptiveHeight && !1 === i.options.vertical) {
      var e = i.$slides.eq(i.currentSlide).outerHeight(!0);i.$list.animate({ height: e }, i.options.speed);
    }
  }, e.prototype.animateSlide = function (e, t) {
    var o = {},
        s = this;s.animateHeight(), !0 === s.options.rtl && !1 === s.options.vertical && (e = -e), !1 === s.transformsEnabled ? !1 === s.options.vertical ? s.$slideTrack.animate({ left: e }, s.options.speed, s.options.easing, t) : s.$slideTrack.animate({ top: e }, s.options.speed, s.options.easing, t) : !1 === s.cssTransitions ? (!0 === s.options.rtl && (s.currentLeft = -s.currentLeft), i({ animStart: s.currentLeft }).animate({ animStart: e }, { duration: s.options.speed, easing: s.options.easing, step: function step(i) {
        i = Math.ceil(i), !1 === s.options.vertical ? (o[s.animType] = "translate(" + i + "px, 0px)", s.$slideTrack.css(o)) : (o[s.animType] = "translate(0px," + i + "px)", s.$slideTrack.css(o));
      }, complete: function complete() {
        t && t.call();
      } })) : (s.applyTransition(), e = Math.ceil(e), !1 === s.options.vertical ? o[s.animType] = "translate3d(" + e + "px, 0px, 0px)" : o[s.animType] = "translate3d(0px," + e + "px, 0px)", s.$slideTrack.css(o), t && setTimeout(function () {
      s.disableTransition(), t.call();
    }, s.options.speed));
  }, e.prototype.getNavTarget = function () {
    var e = this,
        t = e.options.asNavFor;return t && null !== t && (t = i(t).not(e.$slider)), t;
  }, e.prototype.asNavFor = function (e) {
    var t = this.getNavTarget();null !== t && "object" == (typeof t === "undefined" ? "undefined" : _typeof(t)) && t.each(function () {
      var t = i(this).slick("getSlick");t.unslicked || t.slideHandler(e, !0);
    });
  }, e.prototype.applyTransition = function (i) {
    var e = this,
        t = {};!1 === e.options.fade ? t[e.transitionType] = e.transformType + " " + e.options.speed + "ms " + e.options.cssEase : t[e.transitionType] = "opacity " + e.options.speed + "ms " + e.options.cssEase, !1 === e.options.fade ? e.$slideTrack.css(t) : e.$slides.eq(i).css(t);
  }, e.prototype.autoPlay = function () {
    var i = this;i.autoPlayClear(), i.slideCount > i.options.slidesToShow && (i.autoPlayTimer = setInterval(i.autoPlayIterator, i.options.autoplaySpeed));
  }, e.prototype.autoPlayClear = function () {
    var i = this;i.autoPlayTimer && clearInterval(i.autoPlayTimer);
  }, e.prototype.autoPlayIterator = function () {
    var i = this,
        e = i.currentSlide + i.options.slidesToScroll;i.paused || i.interrupted || i.focussed || (!1 === i.options.infinite && (1 === i.direction && i.currentSlide + 1 === i.slideCount - 1 ? i.direction = 0 : 0 === i.direction && (e = i.currentSlide - i.options.slidesToScroll, i.currentSlide - 1 == 0 && (i.direction = 1))), i.slideHandler(e));
  }, e.prototype.buildArrows = function () {
    var e = this;!0 === e.options.arrows && (e.$prevArrow = i(e.options.prevArrow).addClass("slick-arrow"), e.$nextArrow = i(e.options.nextArrow).addClass("slick-arrow"), e.slideCount > e.options.slidesToShow ? (e.$prevArrow.removeClass("slick-hidden").removeAttr("aria-hidden tabindex"), e.$nextArrow.removeClass("slick-hidden").removeAttr("aria-hidden tabindex"), e.htmlExpr.test(e.options.prevArrow) && e.$prevArrow.prependTo(e.options.appendArrows), e.htmlExpr.test(e.options.nextArrow) && e.$nextArrow.appendTo(e.options.appendArrows), !0 !== e.options.infinite && e.$prevArrow.addClass("slick-disabled").attr("aria-disabled", "true")) : e.$prevArrow.add(e.$nextArrow).addClass("slick-hidden").attr({ "aria-disabled": "true", tabindex: "-1" }));
  }, e.prototype.buildDots = function () {
    var e,
        t,
        o = this;if (!0 === o.options.dots) {
      for (o.$slider.addClass("slick-dotted"), t = i("<ul />").addClass(o.options.dotsClass), e = 0; e <= o.getDotCount(); e += 1) {
        t.append(i("<li />").append(o.options.customPaging.call(this, o, e)));
      }o.$dots = t.appendTo(o.options.appendDots), o.$dots.find("li").first().addClass("slick-active");
    }
  }, e.prototype.buildOut = function () {
    var e = this;e.$slides = e.$slider.children(e.options.slide + ":not(.slick-cloned)").addClass("slick-slide"), e.slideCount = e.$slides.length, e.$slides.each(function (e, t) {
      i(t).attr("data-slick-index", e).data("originalStyling", i(t).attr("style") || "");
    }), e.$slider.addClass("slick-slider"), e.$slideTrack = 0 === e.slideCount ? i('<div class="slick-track"/>').appendTo(e.$slider) : e.$slides.wrapAll('<div class="slick-track"/>').parent(), e.$list = e.$slideTrack.wrap('<div class="slick-list"/>').parent(), e.$slideTrack.css("opacity", 0), !0 !== e.options.centerMode && !0 !== e.options.swipeToSlide || (e.options.slidesToScroll = 1), i("img[data-lazy]", e.$slider).not("[src]").addClass("slick-loading"), e.setupInfinite(), e.buildArrows(), e.buildDots(), e.updateDots(), e.setSlideClasses("number" == typeof e.currentSlide ? e.currentSlide : 0), !0 === e.options.draggable && e.$list.addClass("draggable");
  }, e.prototype.buildRows = function () {
    var i,
        e,
        t,
        o,
        s,
        n,
        r,
        l = this;if (o = document.createDocumentFragment(), n = l.$slider.children(), l.options.rows > 1) {
      for (r = l.options.slidesPerRow * l.options.rows, s = Math.ceil(n.length / r), i = 0; i < s; i++) {
        var d = document.createElement("div");for (e = 0; e < l.options.rows; e++) {
          var a = document.createElement("div");for (t = 0; t < l.options.slidesPerRow; t++) {
            var c = i * r + (e * l.options.slidesPerRow + t);n.get(c) && a.appendChild(n.get(c));
          }d.appendChild(a);
        }o.appendChild(d);
      }l.$slider.empty().append(o), l.$slider.children().children().children().css({ width: 100 / l.options.slidesPerRow + "%", display: "inline-block" });
    }
  }, e.prototype.checkResponsive = function (e, t) {
    var o,
        s,
        n,
        r = this,
        l = !1,
        d = r.$slider.width(),
        a = window.innerWidth || i(window).width();if ("window" === r.respondTo ? n = a : "slider" === r.respondTo ? n = d : "min" === r.respondTo && (n = Math.min(a, d)), r.options.responsive && r.options.responsive.length && null !== r.options.responsive) {
      s = null;for (o in r.breakpoints) {
        r.breakpoints.hasOwnProperty(o) && (!1 === r.originalSettings.mobileFirst ? n < r.breakpoints[o] && (s = r.breakpoints[o]) : n > r.breakpoints[o] && (s = r.breakpoints[o]));
      }null !== s ? null !== r.activeBreakpoint ? (s !== r.activeBreakpoint || t) && (r.activeBreakpoint = s, "unslick" === r.breakpointSettings[s] ? r.unslick(s) : (r.options = i.extend({}, r.originalSettings, r.breakpointSettings[s]), !0 === e && (r.currentSlide = r.options.initialSlide), r.refresh(e)), l = s) : (r.activeBreakpoint = s, "unslick" === r.breakpointSettings[s] ? r.unslick(s) : (r.options = i.extend({}, r.originalSettings, r.breakpointSettings[s]), !0 === e && (r.currentSlide = r.options.initialSlide), r.refresh(e)), l = s) : null !== r.activeBreakpoint && (r.activeBreakpoint = null, r.options = r.originalSettings, !0 === e && (r.currentSlide = r.options.initialSlide), r.refresh(e), l = s), e || !1 === l || r.$slider.trigger("breakpoint", [r, l]);
    }
  }, e.prototype.changeSlide = function (e, t) {
    var o,
        s,
        n,
        r = this,
        l = i(e.currentTarget);switch (l.is("a") && e.preventDefault(), l.is("li") || (l = l.closest("li")), n = r.slideCount % r.options.slidesToScroll != 0, o = n ? 0 : (r.slideCount - r.currentSlide) % r.options.slidesToScroll, e.data.message) {case "previous":
        s = 0 === o ? r.options.slidesToScroll : r.options.slidesToShow - o, r.slideCount > r.options.slidesToShow && r.slideHandler(r.currentSlide - s, !1, t);break;case "next":
        s = 0 === o ? r.options.slidesToScroll : o, r.slideCount > r.options.slidesToShow && r.slideHandler(r.currentSlide + s, !1, t);break;case "index":
        var d = 0 === e.data.index ? 0 : e.data.index || l.index() * r.options.slidesToScroll;r.slideHandler(r.checkNavigable(d), !1, t), l.children().trigger("focus");break;default:
        return;}
  }, e.prototype.checkNavigable = function (i) {
    var e, t;if (e = this.getNavigableIndexes(), t = 0, i > e[e.length - 1]) i = e[e.length - 1];else for (var o in e) {
      if (i < e[o]) {
        i = t;break;
      }t = e[o];
    }return i;
  }, e.prototype.cleanUpEvents = function () {
    var e = this;e.options.dots && null !== e.$dots && (i("li", e.$dots).off("click.slick", e.changeSlide).off("mouseenter.slick", i.proxy(e.interrupt, e, !0)).off("mouseleave.slick", i.proxy(e.interrupt, e, !1)), !0 === e.options.accessibility && e.$dots.off("keydown.slick", e.keyHandler)), e.$slider.off("focus.slick blur.slick"), !0 === e.options.arrows && e.slideCount > e.options.slidesToShow && (e.$prevArrow && e.$prevArrow.off("click.slick", e.changeSlide), e.$nextArrow && e.$nextArrow.off("click.slick", e.changeSlide), !0 === e.options.accessibility && (e.$prevArrow && e.$prevArrow.off("keydown.slick", e.keyHandler), e.$nextArrow && e.$nextArrow.off("keydown.slick", e.keyHandler))), e.$list.off("touchstart.slick mousedown.slick", e.swipeHandler), e.$list.off("touchmove.slick mousemove.slick", e.swipeHandler), e.$list.off("touchend.slick mouseup.slick", e.swipeHandler), e.$list.off("touchcancel.slick mouseleave.slick", e.swipeHandler), e.$list.off("click.slick", e.clickHandler), i(document).off(e.visibilityChange, e.visibility), e.cleanUpSlideEvents(), !0 === e.options.accessibility && e.$list.off("keydown.slick", e.keyHandler), !0 === e.options.focusOnSelect && i(e.$slideTrack).children().off("click.slick", e.selectHandler), i(window).off("orientationchange.slick.slick-" + e.instanceUid, e.orientationChange), i(window).off("resize.slick.slick-" + e.instanceUid, e.resize), i("[draggable!=true]", e.$slideTrack).off("dragstart", e.preventDefault), i(window).off("load.slick.slick-" + e.instanceUid, e.setPosition);
  }, e.prototype.cleanUpSlideEvents = function () {
    var e = this;e.$list.off("mouseenter.slick", i.proxy(e.interrupt, e, !0)), e.$list.off("mouseleave.slick", i.proxy(e.interrupt, e, !1));
  }, e.prototype.cleanUpRows = function () {
    var i,
        e = this;e.options.rows > 1 && ((i = e.$slides.children().children()).removeAttr("style"), e.$slider.empty().append(i));
  }, e.prototype.clickHandler = function (i) {
    !1 === this.shouldClick && (i.stopImmediatePropagation(), i.stopPropagation(), i.preventDefault());
  }, e.prototype.destroy = function (e) {
    var t = this;t.autoPlayClear(), t.touchObject = {}, t.cleanUpEvents(), i(".slick-cloned", t.$slider).detach(), t.$dots && t.$dots.remove(), t.$prevArrow && t.$prevArrow.length && (t.$prevArrow.removeClass("slick-disabled slick-arrow slick-hidden").removeAttr("aria-hidden aria-disabled tabindex").css("display", ""), t.htmlExpr.test(t.options.prevArrow) && t.$prevArrow.remove()), t.$nextArrow && t.$nextArrow.length && (t.$nextArrow.removeClass("slick-disabled slick-arrow slick-hidden").removeAttr("aria-hidden aria-disabled tabindex").css("display", ""), t.htmlExpr.test(t.options.nextArrow) && t.$nextArrow.remove()), t.$slides && (t.$slides.removeClass("slick-slide slick-active slick-center slick-visible slick-current").removeAttr("aria-hidden").removeAttr("data-slick-index").each(function () {
      i(this).attr("style", i(this).data("originalStyling"));
    }), t.$slideTrack.children(this.options.slide).detach(), t.$slideTrack.detach(), t.$list.detach(), t.$slider.append(t.$slides)), t.cleanUpRows(), t.$slider.removeClass("slick-slider"), t.$slider.removeClass("slick-initialized"), t.$slider.removeClass("slick-dotted"), t.unslicked = !0, e || t.$slider.trigger("destroy", [t]);
  }, e.prototype.disableTransition = function (i) {
    var e = this,
        t = {};t[e.transitionType] = "", !1 === e.options.fade ? e.$slideTrack.css(t) : e.$slides.eq(i).css(t);
  }, e.prototype.fadeSlide = function (i, e) {
    var t = this;!1 === t.cssTransitions ? (t.$slides.eq(i).css({ zIndex: t.options.zIndex }), t.$slides.eq(i).animate({ opacity: 1 }, t.options.speed, t.options.easing, e)) : (t.applyTransition(i), t.$slides.eq(i).css({ opacity: 1, zIndex: t.options.zIndex }), e && setTimeout(function () {
      t.disableTransition(i), e.call();
    }, t.options.speed));
  }, e.prototype.fadeSlideOut = function (i) {
    var e = this;!1 === e.cssTransitions ? e.$slides.eq(i).animate({ opacity: 0, zIndex: e.options.zIndex - 2 }, e.options.speed, e.options.easing) : (e.applyTransition(i), e.$slides.eq(i).css({ opacity: 0, zIndex: e.options.zIndex - 2 }));
  }, e.prototype.filterSlides = e.prototype.slickFilter = function (i) {
    var e = this;null !== i && (e.$slidesCache = e.$slides, e.unload(), e.$slideTrack.children(this.options.slide).detach(), e.$slidesCache.filter(i).appendTo(e.$slideTrack), e.reinit());
  }, e.prototype.focusHandler = function () {
    var e = this;e.$slider.off("focus.slick blur.slick").on("focus.slick blur.slick", "*", function (t) {
      t.stopImmediatePropagation();var o = i(this);setTimeout(function () {
        e.options.pauseOnFocus && (e.focussed = o.is(":focus"), e.autoPlay());
      }, 0);
    });
  }, e.prototype.getCurrent = e.prototype.slickCurrentSlide = function () {
    return this.currentSlide;
  }, e.prototype.getDotCount = function () {
    var i = this,
        e = 0,
        t = 0,
        o = 0;if (!0 === i.options.infinite) {
      if (i.slideCount <= i.options.slidesToShow) ++o;else for (; e < i.slideCount;) {
        ++o, e = t + i.options.slidesToScroll, t += i.options.slidesToScroll <= i.options.slidesToShow ? i.options.slidesToScroll : i.options.slidesToShow;
      }
    } else if (!0 === i.options.centerMode) o = i.slideCount;else if (i.options.asNavFor) for (; e < i.slideCount;) {
      ++o, e = t + i.options.slidesToScroll, t += i.options.slidesToScroll <= i.options.slidesToShow ? i.options.slidesToScroll : i.options.slidesToShow;
    } else o = 1 + Math.ceil((i.slideCount - i.options.slidesToShow) / i.options.slidesToScroll);return o - 1;
  }, e.prototype.getLeft = function (i) {
    var e,
        t,
        o,
        s,
        n = this,
        r = 0;return n.slideOffset = 0, t = n.$slides.first().outerHeight(!0), !0 === n.options.infinite ? (n.slideCount > n.options.slidesToShow && (n.slideOffset = n.slideWidth * n.options.slidesToShow * -1, s = -1, !0 === n.options.vertical && !0 === n.options.centerMode && (2 === n.options.slidesToShow ? s = -1.5 : 1 === n.options.slidesToShow && (s = -2)), r = t * n.options.slidesToShow * s), n.slideCount % n.options.slidesToScroll != 0 && i + n.options.slidesToScroll > n.slideCount && n.slideCount > n.options.slidesToShow && (i > n.slideCount ? (n.slideOffset = (n.options.slidesToShow - (i - n.slideCount)) * n.slideWidth * -1, r = (n.options.slidesToShow - (i - n.slideCount)) * t * -1) : (n.slideOffset = n.slideCount % n.options.slidesToScroll * n.slideWidth * -1, r = n.slideCount % n.options.slidesToScroll * t * -1))) : i + n.options.slidesToShow > n.slideCount && (n.slideOffset = (i + n.options.slidesToShow - n.slideCount) * n.slideWidth, r = (i + n.options.slidesToShow - n.slideCount) * t), n.slideCount <= n.options.slidesToShow && (n.slideOffset = 0, r = 0), !0 === n.options.centerMode && n.slideCount <= n.options.slidesToShow ? n.slideOffset = n.slideWidth * Math.floor(n.options.slidesToShow) / 2 - n.slideWidth * n.slideCount / 2 : !0 === n.options.centerMode && !0 === n.options.infinite ? n.slideOffset += n.slideWidth * Math.floor(n.options.slidesToShow / 2) - n.slideWidth : !0 === n.options.centerMode && (n.slideOffset = 0, n.slideOffset += n.slideWidth * Math.floor(n.options.slidesToShow / 2)), e = !1 === n.options.vertical ? i * n.slideWidth * -1 + n.slideOffset : i * t * -1 + r, !0 === n.options.variableWidth && (o = n.slideCount <= n.options.slidesToShow || !1 === n.options.infinite ? n.$slideTrack.children(".slick-slide").eq(i) : n.$slideTrack.children(".slick-slide").eq(i + n.options.slidesToShow), e = !0 === n.options.rtl ? o[0] ? -1 * (n.$slideTrack.width() - o[0].offsetLeft - o.width()) : 0 : o[0] ? -1 * o[0].offsetLeft : 0, !0 === n.options.centerMode && (o = n.slideCount <= n.options.slidesToShow || !1 === n.options.infinite ? n.$slideTrack.children(".slick-slide").eq(i) : n.$slideTrack.children(".slick-slide").eq(i + n.options.slidesToShow + 1), e = !0 === n.options.rtl ? o[0] ? -1 * (n.$slideTrack.width() - o[0].offsetLeft - o.width()) : 0 : o[0] ? -1 * o[0].offsetLeft : 0, e += (n.$list.width() - o.outerWidth()) / 2)), e;
  }, e.prototype.getOption = e.prototype.slickGetOption = function (i) {
    return this.options[i];
  }, e.prototype.getNavigableIndexes = function () {
    var i,
        e = this,
        t = 0,
        o = 0,
        s = [];for (!1 === e.options.infinite ? i = e.slideCount : (t = -1 * e.options.slidesToScroll, o = -1 * e.options.slidesToScroll, i = 2 * e.slideCount); t < i;) {
      s.push(t), t = o + e.options.slidesToScroll, o += e.options.slidesToScroll <= e.options.slidesToShow ? e.options.slidesToScroll : e.options.slidesToShow;
    }return s;
  }, e.prototype.getSlick = function () {
    return this;
  }, e.prototype.getSlideCount = function () {
    var e,
        t,
        o = this;return t = !0 === o.options.centerMode ? o.slideWidth * Math.floor(o.options.slidesToShow / 2) : 0, !0 === o.options.swipeToSlide ? (o.$slideTrack.find(".slick-slide").each(function (s, n) {
      if (n.offsetLeft - t + i(n).outerWidth() / 2 > -1 * o.swipeLeft) return e = n, !1;
    }), Math.abs(i(e).attr("data-slick-index") - o.currentSlide) || 1) : o.options.slidesToScroll;
  }, e.prototype.goTo = e.prototype.slickGoTo = function (i, e) {
    this.changeSlide({ data: { message: "index", index: parseInt(i) } }, e);
  }, e.prototype.init = function (e) {
    var t = this;i(t.$slider).hasClass("slick-initialized") || (i(t.$slider).addClass("slick-initialized"), t.buildRows(), t.buildOut(), t.setProps(), t.startLoad(), t.loadSlider(), t.initializeEvents(), t.updateArrows(), t.updateDots(), t.checkResponsive(!0), t.focusHandler()), e && t.$slider.trigger("init", [t]), !0 === t.options.accessibility && t.initADA(), t.options.autoplay && (t.paused = !1, t.autoPlay());
  }, e.prototype.initADA = function () {
    var e = this,
        t = Math.ceil(e.slideCount / e.options.slidesToShow),
        o = e.getNavigableIndexes().filter(function (i) {
      return i >= 0 && i < e.slideCount;
    });e.$slides.add(e.$slideTrack.find(".slick-cloned")).attr({ "aria-hidden": "true", tabindex: "-1" }).find("a, input, button, select").attr({ tabindex: "-1" }), null !== e.$dots && (e.$slides.not(e.$slideTrack.find(".slick-cloned")).each(function (t) {
      var s = o.indexOf(t);i(this).attr({ role: "tabpanel", id: "slick-slide" + e.instanceUid + t, tabindex: -1 }), -1 !== s && i(this).attr({ "aria-describedby": "slick-slide-control" + e.instanceUid + s });
    }), e.$dots.attr("role", "tablist").find("li").each(function (s) {
      var n = o[s];i(this).attr({ role: "presentation" }), i(this).find("button").first().attr({ role: "tab", id: "slick-slide-control" + e.instanceUid + s, "aria-controls": "slick-slide" + e.instanceUid + n, "aria-label": s + 1 + " of " + t, "aria-selected": null, tabindex: "-1" });
    }).eq(e.currentSlide).find("button").attr({ "aria-selected": "true", tabindex: "0" }).end());for (var s = e.currentSlide, n = s + e.options.slidesToShow; s < n; s++) {
      e.$slides.eq(s).attr("tabindex", 0);
    }e.activateADA();
  }, e.prototype.initArrowEvents = function () {
    var i = this;!0 === i.options.arrows && i.slideCount > i.options.slidesToShow && (i.$prevArrow.off("click.slick").on("click.slick", { message: "previous" }, i.changeSlide), i.$nextArrow.off("click.slick").on("click.slick", { message: "next" }, i.changeSlide), !0 === i.options.accessibility && (i.$prevArrow.on("keydown.slick", i.keyHandler), i.$nextArrow.on("keydown.slick", i.keyHandler)));
  }, e.prototype.initDotEvents = function () {
    var e = this;!0 === e.options.dots && (i("li", e.$dots).on("click.slick", { message: "index" }, e.changeSlide), !0 === e.options.accessibility && e.$dots.on("keydown.slick", e.keyHandler)), !0 === e.options.dots && !0 === e.options.pauseOnDotsHover && i("li", e.$dots).on("mouseenter.slick", i.proxy(e.interrupt, e, !0)).on("mouseleave.slick", i.proxy(e.interrupt, e, !1));
  }, e.prototype.initSlideEvents = function () {
    var e = this;e.options.pauseOnHover && (e.$list.on("mouseenter.slick", i.proxy(e.interrupt, e, !0)), e.$list.on("mouseleave.slick", i.proxy(e.interrupt, e, !1)));
  }, e.prototype.initializeEvents = function () {
    var e = this;e.initArrowEvents(), e.initDotEvents(), e.initSlideEvents(), e.$list.on("touchstart.slick mousedown.slick", { action: "start" }, e.swipeHandler), e.$list.on("touchmove.slick mousemove.slick", { action: "move" }, e.swipeHandler), e.$list.on("touchend.slick mouseup.slick", { action: "end" }, e.swipeHandler), e.$list.on("touchcancel.slick mouseleave.slick", { action: "end" }, e.swipeHandler), e.$list.on("click.slick", e.clickHandler), i(document).on(e.visibilityChange, i.proxy(e.visibility, e)), !0 === e.options.accessibility && e.$list.on("keydown.slick", e.keyHandler), !0 === e.options.focusOnSelect && i(e.$slideTrack).children().on("click.slick", e.selectHandler), i(window).on("orientationchange.slick.slick-" + e.instanceUid, i.proxy(e.orientationChange, e)), i(window).on("resize.slick.slick-" + e.instanceUid, i.proxy(e.resize, e)), i("[draggable!=true]", e.$slideTrack).on("dragstart", e.preventDefault), i(window).on("load.slick.slick-" + e.instanceUid, e.setPosition), i(e.setPosition);
  }, e.prototype.initUI = function () {
    var i = this;!0 === i.options.arrows && i.slideCount > i.options.slidesToShow && (i.$prevArrow.show(), i.$nextArrow.show()), !0 === i.options.dots && i.slideCount > i.options.slidesToShow && i.$dots.show();
  }, e.prototype.keyHandler = function (i) {
    var e = this;i.target.tagName.match("TEXTAREA|INPUT|SELECT") || (37 === i.keyCode && !0 === e.options.accessibility ? e.changeSlide({ data: { message: !0 === e.options.rtl ? "next" : "previous" } }) : 39 === i.keyCode && !0 === e.options.accessibility && e.changeSlide({ data: { message: !0 === e.options.rtl ? "previous" : "next" } }));
  }, e.prototype.lazyLoad = function () {
    function e(e) {
      i("img[data-lazy]", e).each(function () {
        var e = i(this),
            t = i(this).attr("data-lazy"),
            o = i(this).attr("data-srcset"),
            s = i(this).attr("data-sizes") || n.$slider.attr("data-sizes"),
            r = document.createElement("img");r.onload = function () {
          e.animate({ opacity: 0 }, 100, function () {
            o && (e.attr("srcset", o), s && e.attr("sizes", s)), e.attr("src", t).animate({ opacity: 1 }, 200, function () {
              e.removeAttr("data-lazy data-srcset data-sizes").removeClass("slick-loading");
            }), n.$slider.trigger("lazyLoaded", [n, e, t]);
          });
        }, r.onerror = function () {
          e.removeAttr("data-lazy").removeClass("slick-loading").addClass("slick-lazyload-error"), n.$slider.trigger("lazyLoadError", [n, e, t]);
        }, r.src = t;
      });
    }var t,
        o,
        s,
        n = this;if (!0 === n.options.centerMode ? !0 === n.options.infinite ? s = (o = n.currentSlide + (n.options.slidesToShow / 2 + 1)) + n.options.slidesToShow + 2 : (o = Math.max(0, n.currentSlide - (n.options.slidesToShow / 2 + 1)), s = n.options.slidesToShow / 2 + 1 + 2 + n.currentSlide) : (o = n.options.infinite ? n.options.slidesToShow + n.currentSlide : n.currentSlide, s = Math.ceil(o + n.options.slidesToShow), !0 === n.options.fade && (o > 0 && o--, s <= n.slideCount && s++)), t = n.$slider.find(".slick-slide").slice(o, s), "anticipated" === n.options.lazyLoad) for (var r = o - 1, l = s, d = n.$slider.find(".slick-slide"), a = 0; a < n.options.slidesToScroll; a++) {
      r < 0 && (r = n.slideCount - 1), t = (t = t.add(d.eq(r))).add(d.eq(l)), r--, l++;
    }e(t), n.slideCount <= n.options.slidesToShow ? e(n.$slider.find(".slick-slide")) : n.currentSlide >= n.slideCount - n.options.slidesToShow ? e(n.$slider.find(".slick-cloned").slice(0, n.options.slidesToShow)) : 0 === n.currentSlide && e(n.$slider.find(".slick-cloned").slice(-1 * n.options.slidesToShow));
  }, e.prototype.loadSlider = function () {
    var i = this;i.setPosition(), i.$slideTrack.css({ opacity: 1 }), i.$slider.removeClass("slick-loading"), i.initUI(), "progressive" === i.options.lazyLoad && i.progressiveLazyLoad();
  }, e.prototype.next = e.prototype.slickNext = function () {
    this.changeSlide({ data: { message: "next" } });
  }, e.prototype.orientationChange = function () {
    var i = this;i.checkResponsive(), i.setPosition();
  }, e.prototype.pause = e.prototype.slickPause = function () {
    var i = this;i.autoPlayClear(), i.paused = !0;
  }, e.prototype.play = e.prototype.slickPlay = function () {
    var i = this;i.autoPlay(), i.options.autoplay = !0, i.paused = !1, i.focussed = !1, i.interrupted = !1;
  }, e.prototype.postSlide = function (e) {
    var t = this;t.unslicked || (t.$slider.trigger("afterChange", [t, e]), t.animating = !1, t.slideCount > t.options.slidesToShow && t.setPosition(), t.swipeLeft = null, t.options.autoplay && t.autoPlay(), !0 === t.options.accessibility && (t.initADA(), t.options.focusOnChange && i(t.$slides.get(t.currentSlide)).attr("tabindex", 0).focus()));
  }, e.prototype.prev = e.prototype.slickPrev = function () {
    this.changeSlide({ data: { message: "previous" } });
  }, e.prototype.preventDefault = function (i) {
    i.preventDefault();
  }, e.prototype.progressiveLazyLoad = function (e) {
    e = e || 1;var t,
        o,
        s,
        n,
        r,
        l = this,
        d = i("img[data-lazy]", l.$slider);d.length ? (t = d.first(), o = t.attr("data-lazy"), s = t.attr("data-srcset"), n = t.attr("data-sizes") || l.$slider.attr("data-sizes"), (r = document.createElement("img")).onload = function () {
      s && (t.attr("srcset", s), n && t.attr("sizes", n)), t.attr("src", o).removeAttr("data-lazy data-srcset data-sizes").removeClass("slick-loading"), !0 === l.options.adaptiveHeight && l.setPosition(), l.$slider.trigger("lazyLoaded", [l, t, o]), l.progressiveLazyLoad();
    }, r.onerror = function () {
      e < 3 ? setTimeout(function () {
        l.progressiveLazyLoad(e + 1);
      }, 500) : (t.removeAttr("data-lazy").removeClass("slick-loading").addClass("slick-lazyload-error"), l.$slider.trigger("lazyLoadError", [l, t, o]), l.progressiveLazyLoad());
    }, r.src = o) : l.$slider.trigger("allImagesLoaded", [l]);
  }, e.prototype.refresh = function (e) {
    var t,
        o,
        s = this;o = s.slideCount - s.options.slidesToShow, !s.options.infinite && s.currentSlide > o && (s.currentSlide = o), s.slideCount <= s.options.slidesToShow && (s.currentSlide = 0), t = s.currentSlide, s.destroy(!0), i.extend(s, s.initials, { currentSlide: t }), s.init(), e || s.changeSlide({ data: { message: "index", index: t } }, !1);
  }, e.prototype.registerBreakpoints = function () {
    var e,
        t,
        o,
        s = this,
        n = s.options.responsive || null;if ("array" === i.type(n) && n.length) {
      s.respondTo = s.options.respondTo || "window";for (e in n) {
        if (o = s.breakpoints.length - 1, n.hasOwnProperty(e)) {
          for (t = n[e].breakpoint; o >= 0;) {
            s.breakpoints[o] && s.breakpoints[o] === t && s.breakpoints.splice(o, 1), o--;
          }s.breakpoints.push(t), s.breakpointSettings[t] = n[e].settings;
        }
      }s.breakpoints.sort(function (i, e) {
        return s.options.mobileFirst ? i - e : e - i;
      });
    }
  }, e.prototype.reinit = function () {
    var e = this;e.$slides = e.$slideTrack.children(e.options.slide).addClass("slick-slide"), e.slideCount = e.$slides.length, e.currentSlide >= e.slideCount && 0 !== e.currentSlide && (e.currentSlide = e.currentSlide - e.options.slidesToScroll), e.slideCount <= e.options.slidesToShow && (e.currentSlide = 0), e.registerBreakpoints(), e.setProps(), e.setupInfinite(), e.buildArrows(), e.updateArrows(), e.initArrowEvents(), e.buildDots(), e.updateDots(), e.initDotEvents(), e.cleanUpSlideEvents(), e.initSlideEvents(), e.checkResponsive(!1, !0), !0 === e.options.focusOnSelect && i(e.$slideTrack).children().on("click.slick", e.selectHandler), e.setSlideClasses("number" == typeof e.currentSlide ? e.currentSlide : 0), e.setPosition(), e.focusHandler(), e.paused = !e.options.autoplay, e.autoPlay(), e.$slider.trigger("reInit", [e]);
  }, e.prototype.resize = function () {
    var e = this;i(window).width() !== e.windowWidth && (clearTimeout(e.windowDelay), e.windowDelay = window.setTimeout(function () {
      e.windowWidth = i(window).width(), e.checkResponsive(), e.unslicked || e.setPosition();
    }, 50));
  }, e.prototype.removeSlide = e.prototype.slickRemove = function (i, e, t) {
    var o = this;if (i = "boolean" == typeof i ? !0 === (e = i) ? 0 : o.slideCount - 1 : !0 === e ? --i : i, o.slideCount < 1 || i < 0 || i > o.slideCount - 1) return !1;o.unload(), !0 === t ? o.$slideTrack.children().remove() : o.$slideTrack.children(this.options.slide).eq(i).remove(), o.$slides = o.$slideTrack.children(this.options.slide), o.$slideTrack.children(this.options.slide).detach(), o.$slideTrack.append(o.$slides), o.$slidesCache = o.$slides, o.reinit();
  }, e.prototype.setCSS = function (i) {
    var e,
        t,
        o = this,
        s = {};!0 === o.options.rtl && (i = -i), e = "left" == o.positionProp ? Math.ceil(i) + "px" : "0px", t = "top" == o.positionProp ? Math.ceil(i) + "px" : "0px", s[o.positionProp] = i, !1 === o.transformsEnabled ? o.$slideTrack.css(s) : (s = {}, !1 === o.cssTransitions ? (s[o.animType] = "translate(" + e + ", " + t + ")", o.$slideTrack.css(s)) : (s[o.animType] = "translate3d(" + e + ", " + t + ", 0px)", o.$slideTrack.css(s)));
  }, e.prototype.setDimensions = function () {
    var i = this;!1 === i.options.vertical ? !0 === i.options.centerMode && i.$list.css({ padding: "0px " + i.options.centerPadding }) : (i.$list.height(i.$slides.first().outerHeight(!0) * i.options.slidesToShow), !0 === i.options.centerMode && i.$list.css({ padding: i.options.centerPadding + " 0px" })), i.listWidth = i.$list.width(), i.listHeight = i.$list.height(), !1 === i.options.vertical && !1 === i.options.variableWidth ? (i.slideWidth = Math.ceil(i.listWidth / i.options.slidesToShow), i.$slideTrack.width(Math.ceil(i.slideWidth * i.$slideTrack.children(".slick-slide").length))) : !0 === i.options.variableWidth ? i.$slideTrack.width(5e3 * i.slideCount) : (i.slideWidth = Math.ceil(i.listWidth), i.$slideTrack.height(Math.ceil(i.$slides.first().outerHeight(!0) * i.$slideTrack.children(".slick-slide").length)));var e = i.$slides.first().outerWidth(!0) - i.$slides.first().width();!1 === i.options.variableWidth && i.$slideTrack.children(".slick-slide").width(i.slideWidth - e);
  }, e.prototype.setFade = function () {
    var e,
        t = this;t.$slides.each(function (o, s) {
      e = t.slideWidth * o * -1, !0 === t.options.rtl ? i(s).css({ position: "relative", right: e, top: 0, zIndex: t.options.zIndex - 2, opacity: 0 }) : i(s).css({ position: "relative", left: e, top: 0, zIndex: t.options.zIndex - 2, opacity: 0 });
    }), t.$slides.eq(t.currentSlide).css({ zIndex: t.options.zIndex - 1, opacity: 1 });
  }, e.prototype.setHeight = function () {
    var i = this;if (1 === i.options.slidesToShow && !0 === i.options.adaptiveHeight && !1 === i.options.vertical) {
      var e = i.$slides.eq(i.currentSlide).outerHeight(!0);i.$list.css("height", e);
    }
  }, e.prototype.setOption = e.prototype.slickSetOption = function () {
    var e,
        t,
        o,
        s,
        n,
        r = this,
        l = !1;if ("object" === i.type(arguments[0]) ? (o = arguments[0], l = arguments[1], n = "multiple") : "string" === i.type(arguments[0]) && (o = arguments[0], s = arguments[1], l = arguments[2], "responsive" === arguments[0] && "array" === i.type(arguments[1]) ? n = "responsive" : void 0 !== arguments[1] && (n = "single")), "single" === n) r.options[o] = s;else if ("multiple" === n) i.each(o, function (i, e) {
      r.options[i] = e;
    });else if ("responsive" === n) for (t in s) {
      if ("array" !== i.type(r.options.responsive)) r.options.responsive = [s[t]];else {
        for (e = r.options.responsive.length - 1; e >= 0;) {
          r.options.responsive[e].breakpoint === s[t].breakpoint && r.options.responsive.splice(e, 1), e--;
        }r.options.responsive.push(s[t]);
      }
    }l && (r.unload(), r.reinit());
  }, e.prototype.setPosition = function () {
    var i = this;i.setDimensions(), i.setHeight(), !1 === i.options.fade ? i.setCSS(i.getLeft(i.currentSlide)) : i.setFade(), i.$slider.trigger("setPosition", [i]);
  }, e.prototype.setProps = function () {
    var i = this,
        e = document.body.style;i.positionProp = !0 === i.options.vertical ? "top" : "left", "top" === i.positionProp ? i.$slider.addClass("slick-vertical") : i.$slider.removeClass("slick-vertical"), void 0 === e.WebkitTransition && void 0 === e.MozTransition && void 0 === e.msTransition || !0 === i.options.useCSS && (i.cssTransitions = !0), i.options.fade && ("number" == typeof i.options.zIndex ? i.options.zIndex < 3 && (i.options.zIndex = 3) : i.options.zIndex = i.defaults.zIndex), void 0 !== e.OTransform && (i.animType = "OTransform", i.transformType = "-o-transform", i.transitionType = "OTransition", void 0 === e.perspectiveProperty && void 0 === e.webkitPerspective && (i.animType = !1)), void 0 !== e.MozTransform && (i.animType = "MozTransform", i.transformType = "-moz-transform", i.transitionType = "MozTransition", void 0 === e.perspectiveProperty && void 0 === e.MozPerspective && (i.animType = !1)), void 0 !== e.webkitTransform && (i.animType = "webkitTransform", i.transformType = "-webkit-transform", i.transitionType = "webkitTransition", void 0 === e.perspectiveProperty && void 0 === e.webkitPerspective && (i.animType = !1)), void 0 !== e.msTransform && (i.animType = "msTransform", i.transformType = "-ms-transform", i.transitionType = "msTransition", void 0 === e.msTransform && (i.animType = !1)), void 0 !== e.transform && !1 !== i.animType && (i.animType = "transform", i.transformType = "transform", i.transitionType = "transition"), i.transformsEnabled = i.options.useTransform && null !== i.animType && !1 !== i.animType;
  }, e.prototype.setSlideClasses = function (i) {
    var e,
        t,
        o,
        s,
        n = this;if (t = n.$slider.find(".slick-slide").removeClass("slick-active slick-center slick-current").attr("aria-hidden", "true"), n.$slides.eq(i).addClass("slick-current"), !0 === n.options.centerMode) {
      var r = n.options.slidesToShow % 2 == 0 ? 1 : 0;e = Math.floor(n.options.slidesToShow / 2), !0 === n.options.infinite && (i >= e && i <= n.slideCount - 1 - e ? n.$slides.slice(i - e + r, i + e + 1).addClass("slick-active").attr("aria-hidden", "false") : (o = n.options.slidesToShow + i, t.slice(o - e + 1 + r, o + e + 2).addClass("slick-active").attr("aria-hidden", "false")), 0 === i ? t.eq(t.length - 1 - n.options.slidesToShow).addClass("slick-center") : i === n.slideCount - 1 && t.eq(n.options.slidesToShow).addClass("slick-center")), n.$slides.eq(i).addClass("slick-center");
    } else i >= 0 && i <= n.slideCount - n.options.slidesToShow ? n.$slides.slice(i, i + n.options.slidesToShow).addClass("slick-active").attr("aria-hidden", "false") : t.length <= n.options.slidesToShow ? t.addClass("slick-active").attr("aria-hidden", "false") : (s = n.slideCount % n.options.slidesToShow, o = !0 === n.options.infinite ? n.options.slidesToShow + i : i, n.options.slidesToShow == n.options.slidesToScroll && n.slideCount - i < n.options.slidesToShow ? t.slice(o - (n.options.slidesToShow - s), o + s).addClass("slick-active").attr("aria-hidden", "false") : t.slice(o, o + n.options.slidesToShow).addClass("slick-active").attr("aria-hidden", "false"));"ondemand" !== n.options.lazyLoad && "anticipated" !== n.options.lazyLoad || n.lazyLoad();
  }, e.prototype.setupInfinite = function () {
    var e,
        t,
        o,
        s = this;if (!0 === s.options.fade && (s.options.centerMode = !1), !0 === s.options.infinite && !1 === s.options.fade && (t = null, s.slideCount > s.options.slidesToShow)) {
      for (o = !0 === s.options.centerMode ? s.options.slidesToShow + 1 : s.options.slidesToShow, e = s.slideCount; e > s.slideCount - o; e -= 1) {
        t = e - 1, i(s.$slides[t]).clone(!0).attr("id", "").attr("data-slick-index", t - s.slideCount).prependTo(s.$slideTrack).addClass("slick-cloned");
      }for (e = 0; e < o + s.slideCount; e += 1) {
        t = e, i(s.$slides[t]).clone(!0).attr("id", "").attr("data-slick-index", t + s.slideCount).appendTo(s.$slideTrack).addClass("slick-cloned");
      }s.$slideTrack.find(".slick-cloned").find("[id]").each(function () {
        i(this).attr("id", "");
      });
    }
  }, e.prototype.interrupt = function (i) {
    var e = this;i || e.autoPlay(), e.interrupted = i;
  }, e.prototype.selectHandler = function (e) {
    var t = this,
        o = i(e.target).is(".slick-slide") ? i(e.target) : i(e.target).parents(".slick-slide"),
        s = parseInt(o.attr("data-slick-index"));s || (s = 0), t.slideCount <= t.options.slidesToShow ? t.slideHandler(s, !1, !0) : t.slideHandler(s);
  }, e.prototype.slideHandler = function (i, e, t) {
    var o,
        s,
        n,
        r,
        l,
        d = null,
        a = this;if (e = e || !1, !(!0 === a.animating && !0 === a.options.waitForAnimate || !0 === a.options.fade && a.currentSlide === i)) if (!1 === e && a.asNavFor(i), o = i, d = a.getLeft(o), r = a.getLeft(a.currentSlide), a.currentLeft = null === a.swipeLeft ? r : a.swipeLeft, !1 === a.options.infinite && !1 === a.options.centerMode && (i < 0 || i > a.getDotCount() * a.options.slidesToScroll)) !1 === a.options.fade && (o = a.currentSlide, !0 !== t ? a.animateSlide(r, function () {
      a.postSlide(o);
    }) : a.postSlide(o));else if (!1 === a.options.infinite && !0 === a.options.centerMode && (i < 0 || i > a.slideCount - a.options.slidesToScroll)) !1 === a.options.fade && (o = a.currentSlide, !0 !== t ? a.animateSlide(r, function () {
      a.postSlide(o);
    }) : a.postSlide(o));else {
      if (a.options.autoplay && clearInterval(a.autoPlayTimer), s = o < 0 ? a.slideCount % a.options.slidesToScroll != 0 ? a.slideCount - a.slideCount % a.options.slidesToScroll : a.slideCount + o : o >= a.slideCount ? a.slideCount % a.options.slidesToScroll != 0 ? 0 : o - a.slideCount : o, a.animating = !0, a.$slider.trigger("beforeChange", [a, a.currentSlide, s]), n = a.currentSlide, a.currentSlide = s, a.setSlideClasses(a.currentSlide), a.options.asNavFor && (l = (l = a.getNavTarget()).slick("getSlick")).slideCount <= l.options.slidesToShow && l.setSlideClasses(a.currentSlide), a.updateDots(), a.updateArrows(), !0 === a.options.fade) return !0 !== t ? (a.fadeSlideOut(n), a.fadeSlide(s, function () {
        a.postSlide(s);
      })) : a.postSlide(s), void a.animateHeight();!0 !== t ? a.animateSlide(d, function () {
        a.postSlide(s);
      }) : a.postSlide(s);
    }
  }, e.prototype.startLoad = function () {
    var i = this;!0 === i.options.arrows && i.slideCount > i.options.slidesToShow && (i.$prevArrow.hide(), i.$nextArrow.hide()), !0 === i.options.dots && i.slideCount > i.options.slidesToShow && i.$dots.hide(), i.$slider.addClass("slick-loading");
  }, e.prototype.swipeDirection = function () {
    var i,
        e,
        t,
        o,
        s = this;return i = s.touchObject.startX - s.touchObject.curX, e = s.touchObject.startY - s.touchObject.curY, t = Math.atan2(e, i), (o = Math.round(180 * t / Math.PI)) < 0 && (o = 360 - Math.abs(o)), o <= 45 && o >= 0 ? !1 === s.options.rtl ? "left" : "right" : o <= 360 && o >= 315 ? !1 === s.options.rtl ? "left" : "right" : o >= 135 && o <= 225 ? !1 === s.options.rtl ? "right" : "left" : !0 === s.options.verticalSwiping ? o >= 35 && o <= 135 ? "down" : "up" : "vertical";
  }, e.prototype.swipeEnd = function (i) {
    var e,
        t,
        o = this;if (o.dragging = !1, o.swiping = !1, o.scrolling) return o.scrolling = !1, !1;if (o.interrupted = !1, o.shouldClick = !(o.touchObject.swipeLength > 10), void 0 === o.touchObject.curX) return !1;if (!0 === o.touchObject.edgeHit && o.$slider.trigger("edge", [o, o.swipeDirection()]), o.touchObject.swipeLength >= o.touchObject.minSwipe) {
      switch (t = o.swipeDirection()) {case "left":case "down":
          e = o.options.swipeToSlide ? o.checkNavigable(o.currentSlide + o.getSlideCount()) : o.currentSlide + o.getSlideCount(), o.currentDirection = 0;break;case "right":case "up":
          e = o.options.swipeToSlide ? o.checkNavigable(o.currentSlide - o.getSlideCount()) : o.currentSlide - o.getSlideCount(), o.currentDirection = 1;}"vertical" != t && (o.slideHandler(e), o.touchObject = {}, o.$slider.trigger("swipe", [o, t]));
    } else o.touchObject.startX !== o.touchObject.curX && (o.slideHandler(o.currentSlide), o.touchObject = {});
  }, e.prototype.swipeHandler = function (i) {
    var e = this;if (!(!1 === e.options.swipe || "ontouchend" in document && !1 === e.options.swipe || !1 === e.options.draggable && -1 !== i.type.indexOf("mouse"))) switch (e.touchObject.fingerCount = i.originalEvent && void 0 !== i.originalEvent.touches ? i.originalEvent.touches.length : 1, e.touchObject.minSwipe = e.listWidth / e.options.touchThreshold, !0 === e.options.verticalSwiping && (e.touchObject.minSwipe = e.listHeight / e.options.touchThreshold), i.data.action) {case "start":
        e.swipeStart(i);break;case "move":
        e.swipeMove(i);break;case "end":
        e.swipeEnd(i);}
  }, e.prototype.swipeMove = function (i) {
    var e,
        t,
        o,
        s,
        n,
        r,
        l = this;return n = void 0 !== i.originalEvent ? i.originalEvent.touches : null, !(!l.dragging || l.scrolling || n && 1 !== n.length) && (e = l.getLeft(l.currentSlide), l.touchObject.curX = void 0 !== n ? n[0].pageX : i.clientX, l.touchObject.curY = void 0 !== n ? n[0].pageY : i.clientY, l.touchObject.swipeLength = Math.round(Math.sqrt(Math.pow(l.touchObject.curX - l.touchObject.startX, 2))), r = Math.round(Math.sqrt(Math.pow(l.touchObject.curY - l.touchObject.startY, 2))), !l.options.verticalSwiping && !l.swiping && r > 4 ? (l.scrolling = !0, !1) : (!0 === l.options.verticalSwiping && (l.touchObject.swipeLength = r), t = l.swipeDirection(), void 0 !== i.originalEvent && l.touchObject.swipeLength > 4 && (l.swiping = !0, i.preventDefault()), s = (!1 === l.options.rtl ? 1 : -1) * (l.touchObject.curX > l.touchObject.startX ? 1 : -1), !0 === l.options.verticalSwiping && (s = l.touchObject.curY > l.touchObject.startY ? 1 : -1), o = l.touchObject.swipeLength, l.touchObject.edgeHit = !1, !1 === l.options.infinite && (0 === l.currentSlide && "right" === t || l.currentSlide >= l.getDotCount() && "left" === t) && (o = l.touchObject.swipeLength * l.options.edgeFriction, l.touchObject.edgeHit = !0), !1 === l.options.vertical ? l.swipeLeft = e + o * s : l.swipeLeft = e + o * (l.$list.height() / l.listWidth) * s, !0 === l.options.verticalSwiping && (l.swipeLeft = e + o * s), !0 !== l.options.fade && !1 !== l.options.touchMove && (!0 === l.animating ? (l.swipeLeft = null, !1) : void l.setCSS(l.swipeLeft))));
  }, e.prototype.swipeStart = function (i) {
    var e,
        t = this;if (t.interrupted = !0, 1 !== t.touchObject.fingerCount || t.slideCount <= t.options.slidesToShow) return t.touchObject = {}, !1;void 0 !== i.originalEvent && void 0 !== i.originalEvent.touches && (e = i.originalEvent.touches[0]), t.touchObject.startX = t.touchObject.curX = void 0 !== e ? e.pageX : i.clientX, t.touchObject.startY = t.touchObject.curY = void 0 !== e ? e.pageY : i.clientY, t.dragging = !0;
  }, e.prototype.unfilterSlides = e.prototype.slickUnfilter = function () {
    var i = this;null !== i.$slidesCache && (i.unload(), i.$slideTrack.children(this.options.slide).detach(), i.$slidesCache.appendTo(i.$slideTrack), i.reinit());
  }, e.prototype.unload = function () {
    var e = this;i(".slick-cloned", e.$slider).remove(), e.$dots && e.$dots.remove(), e.$prevArrow && e.htmlExpr.test(e.options.prevArrow) && e.$prevArrow.remove(), e.$nextArrow && e.htmlExpr.test(e.options.nextArrow) && e.$nextArrow.remove(), e.$slides.removeClass("slick-slide slick-active slick-visible slick-current").attr("aria-hidden", "true").css("width", "");
  }, e.prototype.unslick = function (i) {
    var e = this;e.$slider.trigger("unslick", [e, i]), e.destroy();
  }, e.prototype.updateArrows = function () {
    var i = this;Math.floor(i.options.slidesToShow / 2), !0 === i.options.arrows && i.slideCount > i.options.slidesToShow && !i.options.infinite && (i.$prevArrow.removeClass("slick-disabled").attr("aria-disabled", "false"), i.$nextArrow.removeClass("slick-disabled").attr("aria-disabled", "false"), 0 === i.currentSlide ? (i.$prevArrow.addClass("slick-disabled").attr("aria-disabled", "true"), i.$nextArrow.removeClass("slick-disabled").attr("aria-disabled", "false")) : i.currentSlide >= i.slideCount - i.options.slidesToShow && !1 === i.options.centerMode ? (i.$nextArrow.addClass("slick-disabled").attr("aria-disabled", "true"), i.$prevArrow.removeClass("slick-disabled").attr("aria-disabled", "false")) : i.currentSlide >= i.slideCount - 1 && !0 === i.options.centerMode && (i.$nextArrow.addClass("slick-disabled").attr("aria-disabled", "true"), i.$prevArrow.removeClass("slick-disabled").attr("aria-disabled", "false")));
  }, e.prototype.updateDots = function () {
    var i = this;null !== i.$dots && (i.$dots.find("li").removeClass("slick-active").end(), i.$dots.find("li").eq(Math.floor(i.currentSlide / i.options.slidesToScroll)).addClass("slick-active"));
  }, e.prototype.visibility = function () {
    var i = this;i.options.autoplay && (document[i.hidden] ? i.interrupted = !0 : i.interrupted = !1);
  }, i.fn.slick = function () {
    var i,
        t,
        o = this,
        s = arguments[0],
        n = Array.prototype.slice.call(arguments, 1),
        r = o.length;for (i = 0; i < r; i++) {
      if ("object" == (typeof s === "undefined" ? "undefined" : _typeof(s)) || void 0 === s ? o[i].slick = new e(o[i], s) : t = o[i].slick[s].apply(o[i].slick, n), void 0 !== t) return t;
    }return o;
  };
});
/***********************************************

  "toast.js"

  Created by Michael Cheng on 05/31/2015 22:34
            http://michaelcheng.us/
            michael@michaelcheng.us
            --All Rights Reserved--

***********************************************/

'use strict';

var iqwerty = iqwerty || {};

iqwerty.toast = function () {

	/**
  * The Toast animation speed; how long the Toast takes to move to and from the screen
  * @type {Number}
  */
	var TOAST_ANIMATION_SPEED = 400;

	var Transitions = {
		SHOW: {
			'-webkit-transition': 'opacity ' + TOAST_ANIMATION_SPEED + 'ms, -webkit-transform ' + TOAST_ANIMATION_SPEED + 'ms',
			'transition': 'opacity ' + TOAST_ANIMATION_SPEED + 'ms, transform ' + TOAST_ANIMATION_SPEED + 'ms',
			'opacity': '1',
			'-webkit-transform': 'translateY(0%) translateZ(0)',
			'transform': 'translateY(0%) translateZ(0)'
		},

		HIDE: {
			'opacity': '0',
			'-webkit-transform': 'translateY(150%) translateZ(0)',
			'transform': 'translateY(150%) translateZ(0)'
		}
	};

	/**
  * The main Toast object
  * @param {String} text    The text to put inside the Toast
  * @param {Object} options Optional; the Toast options. See Toast.prototype.DEFAULT_SETTINGS for more information
  * @param {Object} transitions Optional; the Transitions object. This should not be used unless you know what you're doing
  */
	function Toast(text, options, transitions) {
		if (getToastStage() !== null) {
			// If there is already a Toast being shown, put this Toast in the queue to show later
			Toast.prototype.toastQueue.push({
				text: text,
				options: options,
				transitions: transitions
			});
		} else {
			Toast.prototype.Transitions = transitions || Transitions;
			var _options = options || {};
			_options = Toast.prototype.mergeOptions(Toast.prototype.DEFAULT_SETTINGS, _options);

			Toast.prototype.show(text, _options);

			_options = null;
		}
	}

	/**
  * The toastStage. This is the HTML element in which the toast resides
  * Getter and setter methods are available privately
  * @type {Element}
  */
	var _toastStage = null;
	function getToastStage() {
		return _toastStage;
	}
	function setToastStage(toastStage) {
		_toastStage = toastStage;
	}

	// define some Toast constants

	/**
  * The default Toast settings
  * @type {Object}
  */
	Toast.prototype.DEFAULT_SETTINGS = {
		style: {
			main: {

				'box-shadow': '0 0 10px rgba(0, 0, 0, .8)',

				'border-radius': '3px',

				'z-index': '99999',

				'color': 'rgba(255, 255, 255, .9)',

				'word-break': 'keep-all',
				'margin': '0 auto',
				'text-align': 'center',

				'position': 'fixed',
				'left': '0',
				'right': '0',
				'bottom': '0',

				'-webkit-transform': 'translateY(150%) translateZ(0)',
				'transform': 'translateY(150%) translateZ(0)',
				'-webkit-filter': 'blur(0)',
				'opacity': '0'
			}
		},

		settings: {
			duration: 4000
		}
	};

	Toast.prototype.Transitions = {};

	/**
  * The queue of Toasts waiting to be shown
  * @type {Array}
  */
	Toast.prototype.toastQueue = [];

	/**
  * The Timeout object for animations.
  * This should be shared among the Toasts, because timeouts may be cancelled e.g. on explicit call of hide()
  * @type {Object}
  */
	Toast.prototype.timeout = null;

	/**
  * Merge the DEFAULT_SETTINGS with the user defined options if specified
  * @param  {Object} options The user defined options
  */
	Toast.prototype.mergeOptions = function (initialOptions, customOptions) {
		var merged = customOptions;
		for (var prop in initialOptions) {
			if (merged.hasOwnProperty(prop)) {
				if (initialOptions[prop] !== null && initialOptions[prop].constructor === Object) {
					merged[prop] = Toast.prototype.mergeOptions(initialOptions[prop], merged[prop]);
				}
			} else {
				merged[prop] = initialOptions[prop];
			}
		}
		return merged;
	};

	/**
  * Generate the Toast with the specified text.
  * @param  {String|Object} text    The text to show inside the Toast, can be an HTML element or plain text
  * @param  {Object} style   The style to set for the Toast
  */
	Toast.prototype.generate = function (text, style) {
		var toastStage = document.createElement('div');
		toastStage.classList.add("dinamo-toast");

		/**
   * If the text is a String, create a textNode for appending
   */
		if (typeof text === 'string') {
			text = document.createTextNode(text);
		}
		toastStage.appendChild(text);

		setToastStage(toastStage);
		toastStage = null;

		Toast.prototype.stylize(getToastStage(), style);
	};

	/**
  * Stylize the Toast.
  * @param  {Element} element The HTML element to stylize
  * @param  {Object}  styles  An object containing the style to apply
  * @return                   Returns nothing
  */
	Toast.prototype.stylize = function (element, styles) {
		Object.keys(styles).forEach(function (style) {
			element.style[style] = styles[style];
		});
	};

	/**
  * Show the Toast
  * @param  {String} text    The text to show inside the Toast
  * @param  {Object} options The object containing the options for the Toast
  */
	Toast.prototype.show = function (text, options) {
		this.generate(text, options.style.main);

		var toastStage = getToastStage();
		document.body.insertBefore(toastStage, document.body.firstChild);

		// This is a hack to get animations started. Apparently without explicitly redrawing, it'll just attach the class and no animations would be done
		toastStage.offsetHeight;

		Toast.prototype.stylize(toastStage, Toast.prototype.Transitions.SHOW);

		toastStage = null;

		// Hide the Toast after the specified time
		clearTimeout(Toast.prototype.timeout);
		Toast.prototype.timeout = setTimeout(Toast.prototype.hide, options.settings.duration);
	};

	/**
  * Hide the Toast that's currently shown
  */
	Toast.prototype.hide = function () {
		var toastStage = getToastStage();
		Toast.prototype.stylize(toastStage, Toast.prototype.Transitions.HIDE);

		// Destroy the Toast element after animations end
		clearTimeout(Toast.prototype.timeout);
		toastStage.addEventListener('transitionend', Toast.prototype.animationListener);
		toastStage = null;
	};

	Toast.prototype.animationListener = function () {
		getToastStage().removeEventListener('transitionend', Toast.prototype.animationListener);
		Toast.prototype.destroy.call(this);
	};

	/**
  * Clean up after the Toast slides away. Namely, removing the Toast from the DOM. After the Toast is cleaned up, display the next Toast in the queue if any exists
  */
	Toast.prototype.destroy = function () {
		var toastStage = getToastStage();
		document.body.removeChild(toastStage);

		toastStage = null;
		setToastStage(null);

		if (Toast.prototype.toastQueue.length > 0) {
			// Show the rest of the Toasts in the queue if they exist

			var toast = Toast.prototype.toastQueue.shift();
			Toast(toast.text, toast.options, toast.transitions);

			// clean up
			toast = null;
		}
	};

	return {
		Toast: Toast
	};
}();

if (typeof module !== 'undefined') {
	/* global module */
	module.exports = iqwerty.toast;
}
;'use strict';

(function ($) {

    $('form.login-form').on('submit', function (e) {

        var oldMessage = $(".login-button").html();
        $(".login-button").html($(".login-button").attr('data-loading-message'));
        $(".login-button").css("opacity", "0.5");

        $.ajax({
            type: 'POST',
            dataType: 'json',
            url: ajaxurl,
            data: {
                'action': 'ajaxlogin',
                'email': $(e.currentTarget).find('input[name="email"]').val(),
                'password': $(e.currentTarget).find('input[name="password"]').val(),
                'security': $(e.currentTarget).find('#security').val()
            },
            success: function success(data) {

                $(".login-button").html(oldMessage);
                $(".login-button").css("opacity", "1");
                if (data.loggedin == true) {
                    document.location.href = data.redirect_url;

                    iqwerty.toast.Toast(dinamotranslations.userLoggedIn, {
                        settings: {
                            duration: 2000
                        }
                    });
                } else {

                    $('.loginFormResponse').text(data.message);
                    $('.loginFormResponse').show();

                    if (data.email_verified === false) {
                        $(".resend-email-insturctions").fadeIn();
                    }
                    // resendEmail = $('form#login #email').val();
                }
            }
        });
        e.preventDefault();
    });

    var registerPending = false;
    $('form.register-form').on('submit', function (e) {

        e.preventDefault();

        if (registerPending) {
            return;
        }

        if (!$("form.register-form input[name='termsOfUse']:checked").length) {

            $(".RegisterFormResponse").html(dinamotranslations.termsAgreeMessage);
            $('.RegisterFormResponse').show();
            return;
        }

        if (!$("form.register-form input[name='privacyRules']:checked").length) {

            $(".RegisterFormResponse").html(dinamotranslations.privacyAgreeMessage);
            $('.RegisterFormResponse').show();
            return;
        }

        var data = {
            'action': 'ajaxregister',
            'email': $('form.register-form input[name="email"]').val(),
            'password': $('form.register-form input[name="password"]').val(),
            'email_check': $('form.register-form input[name="repeatedEmail"]').val(),
            'password_check': $('form.register-form input[name="repeatedPassword"]').val(),
            'security': $('form.register-form #register-security').val()
        };

        $(".form.register-form").css('opacity', '0.5');

        var oldMessage = $(".register-button").html();

        $(".register-button").html($(".register-button").attr('data-loading-message'));
        registerPending = true;
        $.ajax({
            type: 'POST',
            dataType: 'json',
            url: ajaxurl,
            data: data,
            success: function success(data) {
                $(".register-button").css('opacity', '1');
                $(".register-button").html(oldMessage);
                registerPending = false;
                if (data.success == true) {

                    $('#registerForm').fadeOut();
                    $('#registerSuccess').fadeIn(function () {
                        $("html, body").animate({ scrollTop: 0 }, 400);
                    });
                } else {
                    $(".RegisterFormResponse").html(data.message);
                    $(".RegisterFormResponse").fadeIn('');
                }
            }

        });

        e.preventDefault();
    });

    $('form.lost_password').on('submit', function (e) {
        e.preventDefault();

        var formID = $(this).attr('id');

        $("form#" + formID + "").css('opacity', '0.5');

        $.ajax({
            type: 'POST',
            dataType: 'json',
            url: ajaxurl,
            data: {
                'action': 'ajax_lostpassword',
                'email': $('form#' + formID + ' #email').val(),
                'security': $('form#' + formID + ' #security').val()
            },
            success: function success(data) {

                $("form#lost_password").css('opacity', '1');
                $('p#lostPasswordResponse').text(data.message);
                $('p#lostPasswordResponse').show();
            }
        });
    });

    $('form#new_password').on('submit', function (e) {
        e.preventDefault();

        $.ajax({
            type: 'POST',
            dataType: 'json',
            url: ajaxurl,
            data: {
                'action': 'ajax_new_password',
                'user_id': $('form#new_password #user_id').val(),
                'new_pass': $('form#new_password #new_password').val(),
                'new_pass_check': $('form#new_password #new_password_check').val(),
                'security': $('form#new_password #security').val()
            },
            success: function success(data) {
                $('#status_message').css('display', '');
                $('#status_message').text(data.message);
                if (data.success == true) {
                    $('form#new_password').hide();
                    var countdown = 10;
                    var countdownTimer = setInterval(function () {
                        $('p.countdown')[0].innerHTML = countdown + " sekundi";
                        countdown -= 1;
                        if (countdown <= 0) {
                            clearInterval(countdownTimer);
                            window.location.href = siteurl;
                        }
                    }, 1000);
                }
            }
        });
        e.preventDefault();
    });

    $('form.login-form').on('submit', function (e) {

        var oldMessage = $(".login-button").html();
        $(".login-button").html($(".login-button").attr('data-loading-message'));
        $(".login-button").css("opacity", "0.5");

        $.ajax({
            type: 'POST',
            dataType: 'json',
            url: ajaxurl,
            data: {
                'action': 'ajaxlogin',
                'email': $(e.currentTarget).find('input[name="email"]').val(),
                'password': $(e.currentTarget).find('input[name="password"]').val(),
                'security': $(e.currentTarget).find('#security').val()
            },
            success: function success(data) {

                $(".login-button").html(oldMessage);
                $(".login-button").css("opacity", "1");
                if (data.loggedin == true) {
                    document.location.href = data.redirect_url;

                    iqwerty.toast.Toast(dinamotranslations.userLoggedIn, {
                        settings: {
                            duration: 2000
                        }
                    });
                } else {

                    $('.loginFormResponse').text(data.message);
                    $('.loginFormResponse').show();

                    if (data.email_verified === false) {
                        $(".resend-email-insturctions").fadeIn();
                    }
                    // resendEmail = $('form#login #email').val();
                }
            }
        });
        e.preventDefault();
    });
})(jQuery);
"use strict";

function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }

// below part is needed for additional search bars
var getSingleDropdownResultHeader = function getSingleDropdownResultHeader(singleProduct) {
  var imageExists = singleProduct.image;
  var isOnSale = singleProduct.sale_price;
  var saleHTML = "";
  var imgSrc = imageExists;
  if (imageExists === null) {
    imgSrc = themeurl + "/assets/img/product_placeholder_thumb.jpg";
  }
  if (isOnSale) {
    saleHTML = "<span class=\"sale-price\">" + singleProduct.sale_price + " kn</span>";
  }
  return "<a class=\"order-details-list-item\" href=\"" + singleProduct.permalink + "\">\n            <div class=\"order-details-list-img\">\n                <img class=\"img-fluid\" src=\"" + imgSrc + "\" alt=\"\">\n            </div>\n            <div class=\"order-details-list-desc\">\n                <div>\n                    <h4>" + singleProduct.name + "</h4>\n                    " + saleHTML + "\n                    <span class=\"total\">" + singleProduct.price + " kn</span>\n                </div>\n            </div>\n        </a>";
};

var getDropdownResultsHeaderHTML = function getDropdownResultsHeaderHTML(products, searchTerm) {
  var finalResultsHTML = "";

  for (var _i = 0; _i < products.length; _i++) {
    finalResultsHTML += getSingleDropdownResultHeader(products[_i]);
  }
  finalResultsHTML += "<div class=\"text-center\"><a class=\"btn btn-ghost\" href=\"/search/?term=" + encodeURIComponent(searchTerm) + "\">Pogledaj sve rezultate</a></div>";
  return finalResultsHTML;
};

var productsSearchHandler = util.debounce(function (e) {
  var searchOutput = e.target.parentNode.querySelector(".js-search-dropdown");
  var searchTerm = e.target.value.trim();
  // console.log('header search term: ' ,searchTerm)
  AJAX.getProducts(searchTerm, 3).then(function (result) {
    var hits = result.hits;
    var dropdownHTML = "";
    // console.log(hits);
    if (hits.length === 0) {
      dropdownHTML = '<p class="mb-0">Nema rezultata.</p>';
    } else {
      dropdownHTML = getDropdownResultsHeaderHTML(hits, searchTerm);
    }

    searchOutput.innerHTML = dropdownHTML;

    // console.log(searchTerm);
    if (searchTerm === "") {
      searchOutput.classList.remove("visible");
    } else {
      searchOutput.classList.add("visible");
    }
  }).catch(function (error) {
    console.log("error: ", error);
  });
}, 500);

var searchInput = document.querySelectorAll(".main-search");
var searchOutput = document.querySelectorAll(".js-search-dropdown");

if (searchInput) {
  for (var i = 0; i < searchInput.length; i++) {
    searchInput[i].addEventListener("input", productsSearchHandler);
  }
}

document.addEventListener("click", function (e) {
  if (![].concat(_toConsumableArray(document.querySelectorAll(".search-block"))).some(function (el) {
    return el !== e.target && el.contains(e.target);
  })) {
    for (var i = 0; i < searchOutput.length; i++) {
      searchOutput[i].classList.remove("visible");
    }
  }
});

// var acc = {};
// for(var key of params.keys()) {
// 	acc[key] = params.get(key);
// }
"use strict";

// on load
(function () {
  var searchInputPage = document.querySelector("#page-search");

  if (!searchInputPage) return;

  var paginationInstance = null;
  var perPage = 12;
  var searchString = new URLSearchParams(window.location.search).get("term");
  var productsSearchQuery = null;
  var searchOutputPage = document.querySelector(".js-search-output");
  var paginationInfoWrap = document.querySelector(".js-pagination-info");
  var paginationWrap = document.querySelector(".js-pagination");
  var paginationInitialized = false;

  var fetchProducts = function fetchProducts(page, initialTermLoad) {
    AJAX.getProducts(productsSearchQuery, perPage, page).then(function (result) {
      var hits = result.hits;
      var pages = result.nbPages;
      var outputHTML = "";
      if (!paginationInitialized) {
        paginationInstance = new Pagination({
          totalItems: result.nbHits,
          perPage: perPage,
          container: paginationWrap
        });
        paginationInitialized = true;
      }

      if (paginationInitialized && initialTermLoad) {
        paginationInstance.rebuild({
          totalItems: result.nbHits,
          perPage: perPage
        });
      }
      if (pages > 1) {
        paginationWrap.classList.add("visible");
        paginationInfoWrap.classList.add("visible");
      } else {
        paginationWrap.classList.remove("visible");
        paginationInfoWrap.classList.remove("visible");
      }

      if (hits.length === 0) {
        outputHTML = '<div class="col-12"><p class="no-results mt-40">Nema rezultata.</p></div>';
      } else {
        outputHTML = getProductResultsHTML(hits, productsSearchQuery);
      }

      searchOutputPage.innerHTML = outputHTML;

      if (productsSearchQuery === "") {
        searchOutputPage.classList.remove("visible");
      } else {
        searchOutputPage.classList.add("visible");
      }
    }).catch(function (error) {
      console.log("error: ", error);
    });
  };

  paginationWrap.addEventListener("pageChanged", function (event) {
    var clickedPage = event.detail.currentPage;
    fetchProducts(clickedPage - 1);
  });

  var productsSearchHandlerOnLoad = function productsSearchHandlerOnLoad(e) {
    productsSearchQuery = searchString.trim();
    searchInputPage.value = productsSearchQuery;
    fetchProducts(0);
  };

  if (searchString) {
    productsSearchHandlerOnLoad();
  }

  // Pagination build function
  // const paginationBuilder = (results, pages) => {
  //     return `<span>Stranica ${activePage + 1} od ${pages}</span>`;
  // }

  {
    /* <img class="img-fluid" src="<?php echo THEMEROOT; ?>/assets/img/product_placeholder_thumb.jpg" alt=""></img> */
  }
  {}
  /* <img class="img-fluid" src="${singleProduct.image}" alt=""></img> */

  // search bar
  var getSingleDropdownResult = function getSingleDropdownResult(singleProduct) {
    var imageExists = singleProduct.image;
    var isOnSale = singleProduct.sale_price;
    var saleHTML = "";
    var imgSrc = imageExists;
    if (imageExists === null) {
      imgSrc = themeurl + "/assets/img/product_placeholder_thumb.jpg";
    }
    if (isOnSale) {
      saleHTML = "<span class=\"cur-price\">" + singleProduct.sale_price + " kn</span>";
    }
    return "<div class=\"col-xs-6 col-sm-4 col-lg-3\">\n                <a href=\"" + singleProduct.permalink + "\"  class=\"card\">\n                    <div class=\"card-body\">\n                        <div class=\"card-img\">\n                            <img class=\"img-fluid\" src=\"" + imgSrc + "\" alt=\"\">\n                        </div>\n                        <h4 class=\"card-title\">" + singleProduct.name + "</h4>\n                    </div>\n                    <div class=\"price\">\n                        <span class=\"" + (isOnSale ? "prev-price" : "cur-price") + "\">" + singleProduct.price + " kn</span>\n                        " + saleHTML + "\n                    </div>\n                </a>\n            </div>";
  };

  var getProductResultsHTML = function getProductResultsHTML(products) {
    var finalResultsHTML = "";

    for (var i = 0; i < products.length; i++) {
      finalResultsHTML += getSingleDropdownResult(products[i]);
    }
    // finalResultsHTML += `<div><a class="search-output__all-results" href="search/?term=${encodeURIComponent(searchTerm)}">Pogledaj sve rezultate</a></div>`
    return finalResultsHTML;
  };

  var productsSearchHandlerPage = util.debounce(function (e) {
    productsSearchQuery = e.target.value.trim();
    fetchProducts(0, true);
  }, 500);

  if (searchInputPage) {
    searchInputPage.addEventListener("input", productsSearchHandlerPage);
  }

  // var acc = {};
  // for(var key of params.keys()) {
  // 	acc[key] = params.get(key);
  // }
})();
"use strict";

(function ($) {
  var typingTimer; //timer identifier
  var doneTypingInterval = 250; //time in ms, 5 second for example
  var $input = $("#myInput");

  $("body").on("click", "[data-open-modal]", function (e) {
    var targetModal = $(e.currentTarget).attr("data-open-modal");
    $(targetModal).addClass("open");
    $("body").addClass("modal-open");
  });

  $("body").on("click", "[data-close-modal]", function (e) {
    var targetModal = $(e.currentTarget).attr("data-close-modal");
    $(targetModal).removeClass("open");
    $("body").removeClass("modal-open");
  });
  //on keyup, start the countdown

  function doneTyping() {
    var link = window.location.href;
    var $contentContainer = $("#ProductsMainContent");
    $("#product-cards").css("opacity", "0.5");

    link = updateQueryStringParameter(link, "minPrice", $(".MinPrice").val());
    link = updateQueryStringParameter(link, "maxPrice", $(".MaxPrice").val());

    var linkWithNoAjax = link;
    link = updateQueryStringParameter(link, "ajax", true);

    $.ajax({
      url: link
    }).done(function (data) {
      $contentContainer.replaceWith(data);
      // handleFixedSearchBox();

      $("#product-cards").css("opacity", "1");
      history.pushState({ reload: true }, "", linkWithNoAjax);
    });
  }

  $("body").on("keyup", ".MinPrice", function (e) {
    $(".MinPrice").val($(e.currentTarget).val());
    clearTimeout(typingTimer);
    typingTimer = setTimeout(doneTyping, doneTypingInterval);
  });

  //on keydown, clear the countdown
  $("body").on("keydown", ".MinPrice", function (e) {
    clearTimeout(typingTimer);
  });

  $("body").on("keyup", ".MaxPrice", function (e) {
    $(".MaxPrice").val($(e.currentTarget).val());
    clearTimeout(typingTimer);
    typingTimer = setTimeout(doneTyping, doneTypingInterval);
  });

  //on keydown, clear the countdown
  $("body").on("keydown", ".MaxPrice", function (e) {
    clearTimeout(typingTimer);
  });

  //user is "finished typing," do something

  $("body").on("click", "[data-product-ajax-link]", function (e) {
    var href = e.currentTarget.href;
    var $contentContainer = $("#ProductsMainContent");
    $("#product-cards").css("opacity", "0.5");

    e.preventDefault();
    $.ajax({
      url: addQueryString(href, "ajax=true")
    }).done(function (data) {
      $contentContainer.replaceWith(data);
      // handleFixedSearchBox();
      $("#product-cards").css("opacity", "1");
      history.pushState(null, "", href);
    });
  });

  // accordion

  $(document).ready(function () {
    $(".accordion-item.active > .accordion-panel").show();
  });

  $("body").on("click", ".accordion-header", function () {
    var $this = $(this);

    if ($this.parent().hasClass("active")) {
      $this.parent().removeClass("active");
      $this.next().slideUp(250);
    } else {
      $this.parent().parent().find(".accordion-item").removeClass("active").find(".accordion-panel").slideUp(250);
      $this.parent().toggleClass("active");
      $this.next().slideToggle(250);
    }
  });

  // select

  $("body").on("click", "[data-sort-value]", function (e) {
    var sortValue = $(e.currentTarget).attr("data-sort-value");

    var link = window.location.href;
    var $contentContainer = $("#ProductsMainContent");
    $("#product-cards").css("opacity", "0.5");

    link = updateQueryStringParameter(link, "sort", sortValue);

    var linkWithNoAjax = link;
    link = updateQueryStringParameter(link, "ajax", true);

    $.ajax({
      url: link
    }).done(function (data) {
      $contentContainer.replaceWith(data);
      // handleFixedSearchBox();

      $("#product-cards").css("opacity", "1");
      history.pushState({ reload: true }, "", linkWithNoAjax);
    });
  });

  $("body").on("click", ".select input, .select .icon-arrow", function () {
    var select = $(this).parent(".select");

    if (select.hasClass("open")) {
      select.removeClass("open");
    } else {
      $(".select").removeClass("open");
      select.addClass("open");
    }
  });

  $(".select .option").on("click", function () {
    $(this).addClass("active").siblings().removeClass("active");
    $(this).closest(".select").find("input").val($(this).text());

    $(".select").removeClass("open");
  });

  $(document).on("click", function (e) {
    if (!$(e.target).closest(".select").length) {
      $(".select").removeClass("open");
    }
  });

  // choose badge

  $(".badge").on("click", function () {
    $(this).addClass("active").siblings().removeClass("active");
  });

  $("body").on("click", "[data-variation-id]", function (e) {
    $("#AddToCartForm").find("input[name=variation_id]").val($(e.currentTarget).attr("data-variation-id"));

    $("[data-base-price]").attr("data-base-price", $(e.currentTarget).attr("data-display-price"));
  });

  // collapse

  $("[data-target]").on("click", function (e) {
    e.preventDefault();

    $(this).addClass("active").siblings().removeClass("active");

    var target = $(this).attr("data-target");

    if (target !== "#") {
      $(".collapse" + target).addClass("show").siblings().removeClass("show");
    } else {
      $(".collapse").removeClass("show");
    }
  });

  // dropdown

  $(".dropdown > a").on("click", function (e) {
    e.preventDefault();
  });

  // mobile menu

  $(".menu-btn").on("click", function () {
    $("body").toggleClass("mobile-menu-opened");
  });

  $(".js-dropdown-hover").on("click", function () {
    $(".js-dropdown-hover").toggleClass("hover");
  });

  // mobile filters

  $("body").on("click", ".mobile-filters-btn, .confirm-filters-btn", function () {
    $("body").toggleClass("mobile-filters-opened");
  });

  // toggle element

  $("[data-toggle]").on("click", function (e) {
    if ($(e.target).is("a")) {
      e.preventDefault();
    }

    var toggle = $(this).attr("data-toggle");

    $(toggle).toggle();
  });

  // every extern link in new tab

  // $('a').each( function() {
  //
  //     var a = new RegExp( '/' + window.location.host + '/' );
  //
  //     if( ! a.test(this.href) ) {
  //         $(this).click(function( event ) {
  //             event.preventDefault();
  //             event.stopPropagation();
  //             window.open( this.href, '_blank' );
  //         });
  //     }
  //
  // });

  // main nav dropdown

  $(".navbar-main > .nav > .nav-item > .nav-link").on("mouseover", function (e) {
    $(this).parent().find(".navbar-main-dropdown").addClass("show");
  });

  $(".navbar-main > .nav > .nav-item").on("mouseleave", function () {
    $(".navbar-main-dropdown").removeClass("show");
  });

  // header on scroll

  $(window).scroll(function () {
    var scroll = $(window).scrollTop();
    var body = $("body");

    var viewportWidth = $(window).width();

    if (viewportWidth >= 1060) {
      if (scroll >= 90 && !body.hasClass("sticky")) {
        body.addClass("sticky");
      } else if (scroll <= 90 && body.hasClass("sticky")) {
        body.removeClass("sticky");
      }
    } else if (body.hasClass("sticky")) {
      body.removeClass("sticky");
    }
  });

  // slide in mobile search bar

  $(".mobile-search-toggle").on("click", function () {
    $(".mobile-container").toggleClass("slide-in");
  });

  // handle responsive vertical carousel

  $(window).on("resize", function () {
    $(".carousel-wrapper.vertical .carousel").find(".slick-slide").height("auto");
    $(".carousel-wrapper.vertical .carousel").slick("setOption", "", "", true);
  });

  // cart dropdown

  $(".cart").on("click", function (e) {
    e.preventDefault();

    var cartDropdown = $(".cart-dropdown");

    if (cartDropdown.hasClass("open")) {
      cartDropdown.removeClass("open");
    } else {
      cartDropdown.addClass("open");
    }
  });

  $(document).on("click", function (e) {
    if (!$(e.target).closest(".cart-dropdown").length && !$(e.target).closest(".cart").length) {
      $(".cart-dropdown").removeClass("open");
    }
  });

  // login dropdown

  $(".login").on("click", function (e) {
    e.preventDefault();

    var loginDropdown = $(".login-dropdown");

    if (loginDropdown.hasClass("open")) {
      loginDropdown.removeClass("open");
    } else {
      loginDropdown.addClass("open");
    }
  });

  $(document).on("click", function (e) {
    if (!$(e.target).closest(".login-dropdown").length && !$(e.target).closest(".login").length) {
      $(".login-dropdown").removeClass("open");
    }
  });

  // increase and decrease numb input

  $(".plus").on("click", function (e) {
    var input = $(this).closest(".quantity").find(".form-control");
    var oldValue = input.val();

    if (oldValue === "") {
      var newVal = 1;
    } else {
      newVal = parseFloat(oldValue) + 1;
    }

    input.val(newVal);

    if ($(e.currentTarget).attr("data-change-item-price")) {
      var basePrice = $(input).attr("data-base-price");
      calculateTotal(basePrice, newVal);
    }
    input.change();
  });

  function calculateTotal(basePrice, quantity) {
    var total = basePrice * quantity;

    $(".item-total-price").html(total);
  }

  $(".minus").on("click", function (e) {
    var input = $(this).closest(".quantity").find(".form-control");
    var oldValue = input.val();

    if (oldValue > 1) {
      var newVal = parseFloat(oldValue) - 1;
    } else {
      newVal = 1;
    }

    input.val(newVal);

    if ($(e.currentTarget).attr("data-change-item-price")) {
      var basePrice = $(input).attr("data-base-price");
      calculateTotal(basePrice, newVal);
    }
    input.change();
  });

  // product archive orderby

  $("[data-sort-type]").on("click", function (e) {
    var sort = $(this).attr("data-sort-type");

    var href = window.location.href;

    if (href.includes("?")) {
      var url = href + "&sort=" + sort;
    } else {
      var url = href + "?sort=" + sort;
    }

    history.pushState(href, "", url);
  });

  // dropdown for login
  //
  // $("body").on('click', '.dropdown-trigger', function (e) {
  //
  //     e.preventDefault();
  //
  //     let dropdownContainer = $(document.getElementsByClassName('dropdown-container')[0]);
  //
  //     dropdownContainer.css('display', 'block');
  // });
  //
  // $("body").on('click', '', function (e) {
  //
  //     if ($(e.target).parents('.dropdown').length == 0) {
  //         $(".dropdown-container").css('display', 'none');
  //     }
  //
  // });

  function addQueryString(url, queryString) {
    if (queryString) {
      var isQuestionMarkPresent = url && url.indexOf("?") !== -1,
          separator = isQuestionMarkPresent ? "&" : "?";
      url += separator + queryString;
    }
    return url;
  }

  function updateQueryStringParameter(uri, key, value) {
    var re = new RegExp("([?&])" + key + "=.*?(&|$)", "i");
    var separator = uri.indexOf("?") !== -1 ? "&" : "?";
    if (uri.match(re)) {
      return uri.replace(re, "$1" + key + "=" + value + "$2");
    } else {
      return uri + separator + key + "=" + value;
    }
  }

  // orderby filter on product archive
  $("[data-sort-type]").on("click", function (e) {
    var href = document.location.href;
    var sort = $(this).attr("data-sort-type");

    e.preventDefault();

    if (sort == 1) {
      $("#sort").attr("value", "Prikaži prvo najpopularnije");
    } else if (sort == 2) {
      $("#sort").attr("value", "Prikaži prvo najjeftinije");
    } else if (sort == 3) {
      $("#sort").attr("value", "Prikaži prvo najskuplje");
    } else {
      $("#sort").attr("value", "Zadano sortiranje");
    }

    var contentContainer = $("#ProductsMainContent");
    contentContainer.css("opacity", "0.5");

    $.ajax({
      url: addQueryString(href, "ajax=true&sort=" + sort)
    }).done(function (data) {
      contentContainer.replaceWith(data);
      contentContainer.css("opacity", "1");

      history.pushState(href, "", "?sort=" + sort);
    });
  });

  // price filter on product archive
  $("[data-price]").on("change", function (e) {
    var href = document.location.href;
    var price = $(this).attr("data-price");

    e.preventDefault();

    var contentContainer = $("#ProductsMainContent");
    contentContainer.css("opacity", "0.5");

    if (price == "min") {
      var minPrice = $("[name='minPrice']");

      minPrice.attr("value", minPrice.val());

      $.ajax({
        url: addQueryString(href, "ajax=true&minPrice=" + minPrice.val())
      }).done(function (data) {
        contentContainer.replaceWith(data);
        contentContainer.css("opacity", "1");

        history.pushState(href, "", updateQueryStringParameter(href, "minPrice", minPrice.val()));
      });
    } else if (price == "max") {
      var maxPrice = $("[name='maxPrice']");

      maxPrice.attr("value", maxPrice.val());

      $.ajax({
        url: addQueryString(href, "ajax=true&maxPrice=" + maxPrice.val())
      }).done(function (data) {
        contentContainer.replaceWith(data);
        contentContainer.css("opacity", "1");

        history.pushState(href, "", updateQueryStringParameter(href, "maxPrice", maxPrice.val()));
      });
    }
  });

  $("[data-size]").on("click", function (e) {
    var href = document.location.href;
    var size = $(this).attr("data-size");

    e.preventDefault();

    var productContainer = $("#singleProductContainer");
    productContainer.css("opacity", "0.5");

    $.ajax({
      url: addQueryString(href, "ajax=true&size=" + size)
    }).done(function (data) {
      productContainer.replaceWith(data);
      productContainer.css("opacity", "1");

      history.pushState(href, "", updateQueryStringParameter(href, "size", size));
    });
  });

  $("[data-print]").on("click", function (e) {
    var href = document.location.href;
    var print = $(this).attr("data-print");

    e.preventDefault();

    $.ajax({
      url: addQueryString(href, "ajax=true&print=" + print)
    }).done(function (data) {
      history.pushState(href, "", updateQueryStringParameter(href, "print", print));
    });
  });

  $("#personalized-number").on("change", function (e) {
    var href = document.location.href;
    var num = $("#personalized-number").val();

    e.preventDefault();

    var productContainer = $("#singleProductContainer");
    productContainer.css("opacity", "0.5");

    $.ajax({
      url: addQueryString(href, "ajax=true&number=" + num)
    }).done(function (data) {
      productContainer.replaceWith(data);
      productContainer.css("opacity", "1");
      history.pushState(href, "", updateQueryStringParameter(href, "number", num));
    });
  });

  $("#personalized-text").on("change", function (e) {
    var href = document.location.href;
    var txt = $("#personalized-text").val();

    e.preventDefault();

    var productContainer = $("#singleProductContainer");
    productContainer.css("opacity", "0.5");

    $.ajax({
      url: addQueryString(href, "ajax=true&text=" + txt)
    }).done(function (data) {
      productContainer.replaceWith(data);
      productContainer.css("opacity", "1");
      history.pushState(href, "", updateQueryStringParameter(href, "text", txt));
    });
  });

  // change main image in product gallery

  $("[data-toggle-image]").on("click", function (e) {
    e.preventDefault();

    if ($(this).hasClass("personalized-image")) {
      $(".personalized > .kit-text").show();
      $(".js-personalized-trigger").trigger("click");
    } else {
      $(".personalized > .kit-text").hide();
    }

    var imageSrc = $(this).attr("data-toggle-image-url");
    var imageToReplace = $(this).attr("data-toggle-image");

    var index = $(".carousel a:not(.slick-slide.slick-cloned)").index(this);

    $(imageToReplace).attr("src", imageSrc).attr("data-lightgallery-index", index);
  });

  // when tab personal is active set main image that can be personalized

  $(".js-personalized-trigger").on("click", function () {
    var imageSrc = $(".product-gallery .thumbnails-container .personalized-image").attr("data-full-image-url");

    if (imageSrc) {
      $("#selected-image").attr("src", imageSrc);
      $(".personalized > .kit-text").show();
    }
  });

  // on click setup and open light gallery

  var lightbox = document.getElementById("lightGallery");

  $(".js-lightgallery-trigger").on("click", function (e) {
    e.preventDefault();

    var images = [];
    $("#lightGallery a:not(.slick-slide.slick-cloned)").each(function () {
      images.push({
        src: $(this).attr("data-full-image-url"),
        thumb: $(this).find("img").attr("src")
      });
    });

    var slideToOpen = $(this).find("img").attr("data-lightgallery-index");

    lightGallery(lightbox, {
      prevHtml: '<svg class="icon"><use xlink:href=' + themeurl + "/assets/icons/icons.svg#icon-slider-arrow-left></use></svg>",
      nextHtml: '<svg class="icon"><use xlink:href=' + themeurl + "/assets/icons/icons.svg#icon-slider-arrow-right></use></svg>",
      download: false,
      dynamic: true,
      index: parseInt(slideToOpen),
      dynamicEl: images
    });
  });

  $("#lightGallery").on("onCloseAfter.lg", function () {
    window.lgData[lightbox.getAttribute("lg-uid")].destroy(true);
  });
})(jQuery);
'use strict';

(function ($) {

    $(document).ready(function () {
        if ($('.carousel-wrapper.vertical').length && $('.carousel-wrapper.vertical .slick-slide').length < 5) {
            $('.carousel-wrapper.vertical').addClass('less-items');
        }
    });

    $(".carousel-wrapper.horizontal").each(function () {

        $(this).find('.carousel').slick({
            slidesToShow: 5,
            slidesToScroll: 1,
            prevArrow: $(this).find('.prev'),
            nextArrow: $(this).find('.next'),
            responsive: [{
                breakpoint: 1280,
                settings: {
                    slidesToShow: 4,
                    slidesToScroll: 1
                }
            }, {
                breakpoint: 960,
                settings: {
                    slidesToShow: 3,
                    slidesToScroll: 1
                }
            }, {
                breakpoint: 600,
                settings: {
                    slidesToShow: 1,
                    slidesToScroll: 1,
                    arrows: false
                }
            }]
        });
    });

    $(".carousel-wrapper.vertical").each(function () {

        $(this).find('.carousel').slick({
            slidesToShow: 4,
            slidesToScroll: 1,
            vertical: true,
            prevArrow: $(this).find('.prev'),
            nextArrow: $(this).find('.next'),
            responsive: [{
                breakpoint: 1280,
                settings: {
                    slidesToShow: 4,
                    slidesToScroll: 1,
                    vertical: false
                }
            }]
        });
    });
})(jQuery);
"use strict";

(function ($) {

    $("#CheckoutGoToStep2").click(function (e) {

        var inputs = null;
        var anyErrors = false;

        if ($("#ship-to-different-address-checkbox:checked").length) {
            inputs = $('.form-group-billing input[required], .form-group-shipping input[required]');
        } else {
            inputs = $('.form-group-billing input[required]');
        }

        $(inputs).each(function (index, value) {

            if ($(value).val() == "") {
                $(value).parent().find("[data-required-error-msg]").show();
                $(value).parent().addClass('error');
                anyErrors = true;
            } else {
                $(value).parent().removeClass('error');
                $(value).parent().find("[data-required-error-msg]").hide();
            }
        });
        if (!anyErrors) {
            $("#CheckoutStep1").hide();
            $("#CheckoutStep2").show();
        }
    });

    $("body").on('product-qt-change', function (e) {});

    $(".product-qt").change(function (e) {

        $("body").trigger("product-qt-change");
        var basePrice = Number($("#product-quantity").attr('data-base-price'));
        var qt = $("#product-quantity").val();

        var print_option = $("input[name='print-option']").val();
        var print_number = $("input[name='print-number']").val();
        var print_name = $("input[name='print-name']").val();
        var print_sponsor = $("input[name='print-sponsor']").val();

        if (print_option == "1") {
            basePrice = basePrice + dinamo.number_and_name_print_price;
        } else if (print_option == "2") {

            $("#print-product-error").hide();

            $("#print-product-name").show();
            $("#print-product-price").show();
            if (print_number == "1" && print_name != "1" && print_sponsor != "1") {
                basePrice = basePrice + dinamo.number_print_price;
                $("#print-product-name").html(dinamo.number_print_title);
                $("#print-product-price").html(currencyFormat(dinamo.number_print_price) + " " + dinamo.currency);
            } else if (print_number == "1" && print_name == "1" && print_sponsor != "1") {
                basePrice = basePrice + dinamo.number_and_name_print_price;
                $("#print-product-name").html(dinamo.number_and_name_print_title);
                $("#print-product-price").html(currencyFormat(dinamo.number_and_name_print_price) + " " + dinamo.currency);
            } else if (print_number == "1" && print_name == "1" && print_sponsor == "1") {
                basePrice = basePrice + dinamo.name_number_and_sponsor_print_price;
                $("#print-product-name").html(dinamo.name_number_and_sponsor_print_title);
                $("#print-product-price").html(currencyFormat(dinamo.name_number_and_sponsor_print_price) + " " + dinamo.currency);
            } else if (print_number != "1" && print_name != "1" && print_sponsor == "1") {
                basePrice = basePrice + dinamo.sponsor_print_price;
                $("#print-product-name").html(dinamo.sponsor_print_title);
                $("#print-product-price").html(currencyFormat(dinamo.sponsor_print_price) + " " + dinamo.currency);
            } else {
                $("#print-product-name").hide();
                $("#print-product-price").hide();

                if (print_number == "1" || print_name == "1" || print_sponsor == "1") {
                    $("#print-product-error").show();
                }
            }
        }

        var newPrice = basePrice * qt;
        $(".total-product-price").html(currencyFormat(newPrice) + " " + dinamo.currency);
    });

    function currencyFormat(num) {
        return num.toFixed(2) // always two decimal digits
        .replace('.', ',') // replace decimal point character with ,
        .replace(/(\d)(?=(\d{3})+(?!\d))/g, '$1.'); // use . as a separator
    }

    $('.country-picker').select2({

        placeholder: "Odaberite državu"
    });

    $('.country-picker').on('select2:select', function (e) {
        var country = $(e.currentTarget).val();

        $(".shipping-pricing").css('opacity', '0.5');
        $.ajax({
            type: 'POST',
            url: ajaxurl,
            data: {
                country: country,
                action: "change_country"
            },
            success: function success(response) {

                $(".shipping-pricing").css('opacity', '1');

                $(".shipping-total-price").html(response.shipping_price);
                $(".tax-total-price").html(response.tax_total);
                $(".base-total-price").html(response.base_price);
                $(".base-total-price").html(response.base_price);
                $(".cart-total-price").html(response.cart_total);

                if (response.tax_total === 0) {
                    $(".tax-item").hide();
                } else {
                    $(".tax-item").show();
                }
            }
        });
    });

    var handleAddToCart = function handleAddToCart(e) {
        e.preventDefault();
        e.stopPropagation();

        var $thisbutton = $(this),
            $form = $thisbutton.closest('form'),
            product_qty = $form.find('input[name=product-quantity]').val() || 1,
            product_id = $form.find('input[name=product_id]').val(),
            variation_id = $form.find('input[name=variation_id]').val();

        if ($form.find('input[name=variation_id]').length && variation_id == "") {
            iqwerty.toast.Toast(dinamotranslations.noVariantSelected, {
                settings: {
                    duration: 2000
                }
            });

            return;
        }

        var data = {
            action: 'woocommerce_ajax_add_to_cart',
            product_id: product_id,
            quantity: product_qty

        };

        if ($("input[name='print-option']").length) {

            data.print_option = $("input[name='print-option']").val();
            data.print_number = $("input[name='print-number']").val();
            data.print_name = $("input[name='print-name']").val();
            data.print_sponsor = $("input[name='print-sponsor']").val();
            data.print_number_value = $("input[name='print-number-value']").val();
            data.print_name_value = $("input[name='print-name-value']").val();

            if (data.print_option == "1" && data.print_name_value == "") {
                iqwerty.toast.Toast(dinamotranslations.noPlayerSelected, {
                    settings: {
                        duration: 2000
                    }
                });

                return;
            }

            if (data.print_option == "2" && data.print_name == "1" && data.print_name_value == "") {
                iqwerty.toast.Toast(dinamotranslations.printNameMissing, {
                    settings: {
                        duration: 2000
                    }
                });

                return;
            }

            if (data.print_option == "2" && data.print_number == "1" && data.print_number_value == "") {
                iqwerty.toast.Toast(dinamotranslations.printNumberMissing, {
                    settings: {
                        duration: 2000
                    }
                });

                return;
            }

            if (data.print_option == "2" && data.print_name != "1" && data.print_sponsor != "1" && data.print_number != "1") {
                iqwerty.toast.Toast(dinamotranslations.printCombinationIllegal, {
                    settings: {
                        duration: 2000
                    }
                });

                return;
            }

            if (data.print_option == "2" && data.print_name == "1" && data.print_sponsor != "1" && data.print_number != "1" || data.print_option == "2" && data.print_name == "1" && data.print_sponsor == "1" && data.print_number != "1" || data.print_option == "2" && data.print_name != "1" && data.print_sponsor == "1" && data.print_number == "1") {
                iqwerty.toast.Toast(dinamotranslations.printCombinationIllegal, {
                    settings: {
                        duration: 2000
                    }
                });

                return;
            }
        }

        if (variation_id) {
            data.variation_id = variation_id;
        }

        $(document.body).trigger('adding_to_cart', [$thisbutton, data]);

        $(".addToCartButton").css('opacity', '0.5');

        var oldMessage = $(".addToCartButton").html();

        $(".addToCartButton").html($(".addToCartButton").attr('data-loading-message'));
        $.ajax({
            type: 'POST',
            url: ajaxurl,
            data: data,
            success: function success(response) {

                if (!response.success) {
                    iqwerty.toast.Toast(response.message, {
                        settings: {
                            duration: 2000
                        }
                    });
                    $(".addToCartButton").css('opacity', '1');
                    $(".addToCartButton").html(oldMessage);
                    return;
                }
                $(".cart-items-total").html(response.quantity);
                $(".cart-total-value").html(response.cart_total);
                if (response.quantity > 0) {
                    $("#MiniCartBody").show();
                    $("#MiniCartEmpty").hide();
                } else {
                    $("#MiniCartBody").hide();
                    $("#MiniCartEmpty").show();
                }

                var oldItem = $(".order-details-list-item[data-cart-item='" + response.cart_item_key + "']");

                if (oldItem.length) {
                    oldItem.replaceWith(response.cart_item);
                } else {
                    $(".mini-cart-list").append(response.cart_item);
                }
                iqwerty.toast.Toast(dinamotranslations.productAdded, {
                    settings: {
                        duration: 2000
                    }
                });

                $(".addToCartButton").css('opacity', '1');
                $(".addToCartButton").html(oldMessage);
            }
        });

        return false;
    };

    $("body").on('click', "[data-select-player]", function (e) {

        var name = $(e.currentTarget).attr('data-select-player');
        var number = $(e.currentTarget).attr('data-select-player-number');

        $(this).closest('.select').find('input').attr("data-select-player-val", name);
        $(this).closest('.select').find('input').attr("data-select-player-number-val", number);

        $("input[name='print-number']").val("1");
        $("input[name='print-name']").val("1");

        $("input[name='print-number-value']").val(number);
        $("input[name='print-name-value']").val(name);

        $(".product-qt").change();
        $(".kit-text__name").addClass('visible').html(name);
        $(".kit-text__number").addClass('visible').html(number);
        $(".personalized-image").click();
    });

    $("#number-print-toggle").click(function (e) {

        if (e.currentTarget.checked) {
            $("input[name='print-number']").val("1");
            $("#personalized-number").show();
        } else {
            $("input[name='print-number']").val("0");
            $("#personalized-number").hide();
        }

        $(".product-qt").change();
    });

    $("#name-print-toggle").click(function (e) {
        if (e.currentTarget.checked) {
            $("input[name='print-name']").val("1");
            $("#personalized-text").show();
        } else {
            $("input[name='print-name']").val("0");
            $("#personalized-text").hide();
        }

        $(".product-qt").change();
    });

    $("#sponsor-print-toggle").click(function (e) {
        if (e.currentTarget.checked) {
            $("input[name='print-sponsor']").val("1");
        } else {
            $("input[name='print-sponsor']").val("0");
        }

        $(".product-qt").change();
    });

    $("body").on('click', "[data-print-option]", function (e) {

        var option = $(e.currentTarget).attr('data-print-option');
        $("input[name='print-option']").val(option);

        if (option == 1) {
            var name = $("#playerFlockingList").attr('data-select-player-val');
            var number = $("#playerFlockingList").attr('data-select-player-number-val');

            $("input[name='print-number']").val("1");
            $("input[name='print-name']").val("1");
            $("input[name='print-sponsor']").val("0");
            $("input[name='print-number-value']").val(number);
            $("input[name='print-name-value']").val(name);

            $(".kit-text__name").addClass('visible').html(name);
            $(".kit-text__number").addClass('visible').html(number);
        } else if (option == 2) {

            if (document.getElementById("number-print-toggle").checked) {
                $("input[name='print-number']").val("1");
                $("input[name='print-number-value']").val($("#personalized-number").val());
                $("#personalized-number").show();

                $(".kit-text__number").addClass('visible').html($("#personalized-number").val());
                $(".personalized-image").click();
            } else {

                $(".kit-text__number").removeClass('visible');
                $(".kit-text__number").html("");
                $("input[name='print-number']").val("0");
                $("input[name='print-number-value']").val("");
                $("#personalized-number").hide();
            }

            if (document.getElementById("name-print-toggle").checked) {

                $(".kit-text__name").addClass('visible').html($("#personalized-text").val());
                $("input[name='print-name']").val("1");
                $("input[name='print-name-value']").val($("#personalized-text").val());
                $("#personalized-text").show();
            } else {
                $(".kit-text__name").removeClass('visible');
                $(".kit-text__name").html("");
                $("#personalized-text").hide();
                $("input[name='print-name']").val("0");
                $("input[name='print-name-value']").val("");
            }

            if (document.getElementById("sponsor-print-toggle").checked) {
                $("input[name='print-sponsor']").val("1");
            } else {
                $("input[name='print-sponsor']").val("0");
            }
        } else {
            $(".kit-text__number").removeClass('visible');
            $(".kit-text__name").removeClass('visible');
        }

        $(".product-qt").change();
    });

    $(".print-toggle").click(function (e) {
        $(".product-qt").change();
    });

    $("#AddToCartForm").submit(handleAddToCart);

    var itemReomoving = false;
    $("body").on('click', '[data-cart-item-remove]', function (e) {
        e.preventDefault();

        if (itemReomoving) {
            return;
        }
        var buttonKey = $(this).attr('data-cart-item-remove'),
            productId = $(this).attr('data-product-id'),
            cartItem = document.querySelector("[data-cart-item-key='" + buttonKey + "']");
        $(".order-details-list-item[data-cart-item='" + buttonKey + "']").css('opacity', '0.5');
        $("tr[data-cart-item='" + buttonKey + "']").css('opacity', '0.5');
        $(".cart-message").hide();

        var data = {
            action: 'woocommerce_ajax_delete_from_cart',
            product_id: productId,
            product_key: buttonKey
        };

        if ($("input[name='print-option']").length) {
            data.print_option = $("input[name='print-option']").val();
        }
        itemReomoving = true;
        $.ajax({
            type: "POST",
            url: ajaxurl,
            data: data,
            success: function success(response) {
                if (response) {

                    $(".cart-items-total").html(response.quantity);

                    if (response.quantity > 0) {
                        $("#MiniCartBody").show();
                        $("#MiniCartEmpty").hide();

                        $("#MainCart").show();
                        $("#CartEmpty").hide();
                    } else {
                        $("#MiniCartBody").hide();
                        $("#MiniCartEmpty").show();

                        $("#MainCart").hide();
                        $("#CartEmpty").show();
                    }

                    iqwerty.toast.Toast(dinamotranslations.productDeleted, {
                        settings: {
                            duration: 2000
                        }
                    });

                    $(".cart-items-total").html(response.quantity);
                    $(".cart-total-value").html(response.cart_total);

                    $(".cart-total-price").html(response.cart_total);
                    $(".tax-total-price").html(response.tax_total);
                    $(".base-total-price").html(response.base_price);

                    $(".order-details-list-item[data-cart-item='" + buttonKey + "']").remove();
                    $(" tr[data-cart-item='" + buttonKey + "']").remove();
                }
                $(" tr[data-cart-item='" + buttonKey + "']").css('opacity', '1');
                $(".order-details-list-item[data-cart-item='" + buttonKey + "']").css('opacity', '1');
                itemReomoving = false;
            }
        });
    });

    $("body").on('click', '[data-change-qt]', function (e) {

        e.preventDefault();

        var buttonKey = $(this).attr('data-cart-item-key'),
            buttonAction = $(this).attr('data-change-qt'),
            productId = $(this).attr('data-product-id');

        var qtLabel = $('.item-qt[data-product-id="' + productId + '"]');
        var currentQt = qtLabel.html();

        $(".order-details-list-item[data-cart-item='" + buttonKey + "']").css('opacity', '0.5');
        $("tr[data-cart-item='" + buttonKey + "']").css('opacity', '0.5');

        if (currentQt == 1 && buttonAction == "down") {
            return;
        }

        $.ajax({
            type: "POST",
            url: ajaxurl,
            data: {
                action: 'woocommerce_ajax_change_qt_from_cart',
                product_id: productId,
                product_key: buttonKey,
                button_action: buttonAction
            },
            success: function success(response) {

                if (!response.success) {
                    iqwerty.toast.Toast(response.message, {
                        settings: {
                            duration: 2000
                        }
                    });
                    $(".order-details-list-item[data-cart-item='" + buttonKey + "']").css('opacity', '1');
                    $("tr[data-cart-item='" + buttonKey + "']").css('opacity', '1');
                    $(".order-details-list-item[data-cart-item='" + buttonKey + "'] input[name='quantity']").val(response.new_qty);
                    $("tr[data-cart-item='" + buttonKey + "'] input[name='quantity']").val(response.new_qty);
                    return;
                }

                if (response.success && response.new_qty === 0) {
                    $(".order-details-list-item[data-cart-item='" + buttonKey + "']").remove();
                    if (response.quantity > 0) {
                        $("#MiniCartBody").show();
                        $("#MiniCartEmpty").hide();

                        $("#MainCart").show();
                        $("#CartEmpty").hide();
                    } else {
                        $("#MiniCartBody").hide();
                        $("#MiniCartEmpty").show();

                        $("#MainCart").hide();
                        $("#CartEmpty").show();
                    }
                } else {}
                $(".cart-items-total").html(response.quantity);
                $(".cart-total-value").html(response.cart_total);

                $(".cart-total-price").html(response.cart_total);
                $(".tax-total-price").html(response.tax_total);
                $(".base-total-price").html(response.base_price);
                $("tr[data-cart-item='" + buttonKey + "'] .line-total").html(response.item_total);

                $(".order-details-list-item[data-cart-item='" + buttonKey + "']").css('opacity', '1');
                $("tr[data-cart-item='" + buttonKey + "']").css('opacity', '1');

                if (response.quantity == 0) {}
                $(".order-details-list-item[data-cart-item='" + buttonKey + "'] input[name='quantity']").val(response.new_qty);
                $("tr[data-cart-item='" + buttonKey + "'] input[name='quantity']").val(response.new_qty);

                $('.country-picker').trigger('select2:select');
            }
        });
    });
})(jQuery);
"use strict";

(function () {
  var kitWrap = document.querySelector(".js-kit-wrap");
  if (!kitWrap) return;

  var kitNumberInput = document.querySelector(".js-number-input");
  var kitTextInput = document.querySelector(".js-name-input");

  var kitNumberOutput = document.querySelector(".js-kit-number");
  var kitTextOutput = document.querySelector(".js-kit-text");

  var numberCheckbox = document.querySelector(".js-number-checkbox");
  var textCheckbox = document.querySelector(".js-text-checkbox");

  numberCheckbox.addEventListener("change", toggleNumberDisplay);
  textCheckbox.addEventListener("change", toggleTextDisplay);
  kitNumberInput.addEventListener("input", injectNumber);
  kitTextInput.addEventListener("input", injectText);

  // console.log("Set limit: ", max_print_letters);
  // console.log("Set color: ", print_color);

  var fontColor = "#ffffff";
  if (print_color) {
    fontColor = print_color;
  }
  // console.log(fontColor);

  kitNumberOutput.style.color = fontColor;
  kitTextOutput.style.color = fontColor;

  function toggleNumberDisplay(e) {
    if (e.target.checked) {
      kitNumberOutput.classList.add("visible");
      $(".personalized-image").click();
    } else {
      kitNumberOutput.classList.remove("visible");
    }
  }

  function toggleTextDisplay(e) {
    if (e.target.checked) {
      kitTextOutput.classList.add("visible");
    } else {
      kitTextOutput.classList.remove("visible");
    }
  }

  function injectNumber(e) {
    this.value = this.value.slice(0, this.maxLength);
    var numberValue = e.target.value;
    kitNumberOutput.innerHTML = numberValue;
    $("input[name='print-number-value']").val($("#personalized-number").val());
    $(".personalized-image").click();
  }

  function injectText(e) {
    var textValue = e.target.value;
    kitTextOutput.innerHTML = textValue;
    $("input[name='print-name-value']").val($("#personalized-text").val());
    $(".personalized-image").click();
  }

  function setFontSize() {
    var imgWidth = document.querySelector(".personalized-kit-img").width;
    var fontScaledName = imgWidth * 0.25;
    var fontScaledNumb = imgWidth * 1.32;
    kitTextOutput.style.fontSize = fontScaledName + "%";
    kitNumberOutput.style.fontSize = fontScaledNumb + "%";
  }

  setFontSize();
  window.onresize = function () {
    setFontSize();
  };
})();
'use strict';

var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

/**
 * Pagination component.
 * @typedef {Object} config
 * @property {number} config.totalItems - Total number of items
 * @property {number} config.perPage - Number of items per page
 * @property {HTMLElement} config.container - HTML element where pagination will be placed.
 * @property {string} [config.customInfoText] - Custom text to be displayed after numbers in pagination info. For example if 'floorplans' is passed it will display as "X-Y of # floorplans"
 * @param {config} config
 */

(function () {
  var Pagination = function () {
    function Pagination(config) {
      _classCallCheck(this, Pagination);

      this.totalItems = config.totalItems;
      this.perPage = config.perPage;
      this.container = config.container;
      this.totalPages = Math.ceil(this.totalItems / this.perPage);
      this.currentPage = config.activePage || 1;
      this.events = {
        pageChangedEvent: null
      };
      this.customInfoText = config.customInfoText || "";
      this.arrowPrev = null;
      this.arrowNext = null;

      this.build = this.build.bind(this);
      this.rebuild = this.rebuild.bind(this);
      this.create = this.create.bind(this);
      this.handlePaginationClick = this.handlePaginationClick.bind(this);

      if (this.initialized) {
        this.build();
      } else {
        this.create();
        this.initialized = true;
      }
    }

    _createClass(Pagination, [{
      key: 'create',
      value: function create() {
        initEvents.call(this);
        customEvents.call(this);
        this.build();
      }
    }, {
      key: 'build',
      value: function build() {
        var infoHTML = getPaginationInfoUpper.call(this);
        var buttonsHTML = '<a href="#" class="prev">' + '<svg class="icon icon-arrow"><use xlink:href="/dinamo-webshop/wp-content/themes/dinamo-shop/assets/icons/icons.svg#icon-arrow"></use></svg>' + '<span>prošla</span>' + '</a>';
        buttonsHTML += getPaginationInfo.call(this);
        buttonsHTML += '<a href="#" class="next">' + '<span>sljedeća</span>' + '<svg class="icon icon-arrow"><use xlink:href="/dinamo-webshop/wp-content/themes/dinamo-shop/assets/icons/icons.svg#icon-arrow"></use></svg>' + '</a>';
        var paginationHTML = '<div class="pagination">' + buttonsHTML + '</div>';
        var paginationInfoHTML = infoHTML;
        this.container.innerHTML = paginationHTML;
        this.container.parentElement.querySelector(".js-pagination-info").innerHTML = paginationInfoHTML;
        this.arrowPrev = this.container.querySelector(".pagination .prev");
        this.arrowNext = this.container.querySelector(".pagination .next");
        toggleArrows.call(this);
      }
    }, {
      key: 'rebuild',
      value: function rebuild(options) {
        this.totalItems = options.totalItems;
        this.perPage = options.perPage;
        this.totalPages = Math.ceil(this.totalItems / this.perPage);
        this.currentPage = 1;
        var infoHTML = getPaginationInfoUpper.call(this);
        var buttonsHTML = '<a href="#" class="prev">' + '<svg class="icon icon-arrow"><use xlink:href="/dinamo-webshop/wp-content/themes/dinamo-shop/assets/icons/icons.svg#icon-arrow"></use></svg>' + '<span>prošla</span>' + '</a>';
        buttonsHTML += getPaginationInfo.call(this);
        buttonsHTML += '<a href="#" class="next">' + '<span>sljedeća</span>' + '<svg class="icon icon-arrow"><use xlink:href="/dinamo-webshop/wp-content/themes/dinamo-shop/assets/icons/icons.svg#icon-arrow"></use></svg>' + '</a>';
        var paginationHTML = '<div class="pagination">' + buttonsHTML + '</div>';
        var paginationInfoHTML = infoHTML;
        this.container.innerHTML = paginationHTML;
        this.container.parentElement.querySelector(".js-pagination-info").innerHTML = paginationInfoHTML;
        this.arrowPrev = this.container.querySelector(".pagination .prev");
        this.arrowNext = this.container.querySelector(".pagination .next");
        toggleArrows.call(this);
      }
    }, {
      key: 'nextPage',
      value: function nextPage() {
        if (this.currentPage + 1 <= this.totalPages) {
          this.currentPage += 1;
          this.goTo(this.currentPage);
        }
      }
    }, {
      key: 'prevPage',
      value: function prevPage() {
        if (this.currentPage - 1 !== 0) {
          this.currentPage -= 1;
          this.goTo(this.currentPage);
        }
      }
    }, {
      key: 'goTo',
      value: function goTo(pageNumber) {
        var container = this.container;
        this.currentPage = pageNumber;
        container.querySelector(".pagination__item--current") && container.querySelector(".pagination__item--current").classList.remove("pagination__item--current");
        container.querySelector('a[data-page="' + pageNumber + '"]') && container.querySelector('a[data-page="' + pageNumber + '"]').classList.add("pagination__item--current");
        customEvents.call(this);
        container.dispatchEvent(this.events.pageChangedEvent);
        this.build();
      }
    }, {
      key: 'handlePaginationClick',
      value: function handlePaginationClick(event) {
        event.preventDefault();
        var clickedEl = event.target.parentNode;

        console.log(event.target.parentNode);

        if (clickedEl.matches(".pagination__item--current")) return;

        if (clickedEl.matches(".pagination .prev")) {
          this.prevPage();
          return;
        }

        if (clickedEl.matches(".pagination .next")) {
          this.nextPage();
          return;
        }

        if (clickedEl.matches(".pagination__item")) {
          var pageNumber = parseInt(clickedEl.getAttribute("data-page"), 10);
          this.goTo(pageNumber);
          return;
        }
      }
    }]);

    return Pagination;
  }();

  function initEvents() {
    this.container.addEventListener("click", this.handlePaginationClick);
  }

  function customEvents() {
    this.events.pageChangedEvent = new CustomEvent("pageChanged", {
      detail: {
        currentPage: this.currentPage
      },
      bubbles: true
    });
  }

  function getPaginationInfo() {
    this.currentPage * this.perPage > this.totalItems ? "-" + this.totalItems : "-" + this.currentPage * this.perPage;

    // return showingMin + showingMax + " of " + this.totalItems;
    return 'Stranica ' + this.currentPage + ' od ' + this.totalPages;
  }

  function getPaginationInfoUpper() {
    var showingMin = (this.currentPage - 1) * this.perPage + 1;
    var showingMax = this.currentPage * this.perPage > this.totalItems ? ' - ' + this.totalItems : ' - ' + this.currentPage * this.perPage;

    return 'Prikazano ' + showingMin + showingMax + ' od ' + this.totalItems + ' rezultata';
  }

  function toggleArrows() {
    var currentPage = this.currentPage;

    if (currentPage === 1) {
      this.arrowPrev.classList.add("u-hidden");
    } else {
      this.arrowPrev.classList.remove("u-hidden");
    }

    if (currentPage === this.totalPages) {
      this.arrowNext.classList.add("u-hidden");
    } else {
      this.arrowNext.classList.remove("u-hidden");
    }
  }

  window.Pagination = Pagination;
})();
;!function(a,b){function c(){function a(){"undefined"!=typeof _wpmejsSettings&&(c=b.extend(!0,{},_wpmejsSettings)),c.classPrefix="mejs-",c.success=c.success||function(a){var b,c;a.rendererName&&-1!==a.rendererName.indexOf("flash")&&(b=a.attributes.autoplay&&"false"!==a.attributes.autoplay,c=a.attributes.loop&&"false"!==a.attributes.loop,b&&a.addEventListener("canplay",function(){a.play()},!1),c&&a.addEventListener("ended",function(){a.play()},!1))},c.customError=function(a,b){if(-1!==a.rendererName.indexOf("flash")||-1!==a.rendererName.indexOf("flv"))return'<a href="'+b.src+'">'+mejsL10n.strings["mejs.download-video"]+"</a>"},b(".wp-audio-shortcode, .wp-video-shortcode").not(".mejs-container").filter(function(){return!b(this).parent().hasClass("mejs-mediaelement")}).mediaelementplayer(c)}var c={};return{initialize:a}}a.wp=a.wp||{},a.wp.mediaelement=new c,b(a.wp.mediaelement.initialize)}(window,jQuery);
;/*!
 * MediaElement.js
 * http://www.mediaelementjs.com/
 *
 * Wrapper that mimics native HTML5 MediaElement (audio and video)
 * using a variety of technologies (pure JavaScript, Flash, iframe)
 *
 * Copyright 2010-2017, John Dyer (http://j.hn/)
 * License: MIT
 *
 */
!function e(t,n,r){function i(o,s){if(!n[o]){if(!t[o]){var c="function"==typeof require&&require;if(!s&&c)return c(o,!0);if(a)return a(o,!0);var u=new Error("Cannot find module '"+o+"'");throw u.code="MODULE_NOT_FOUND",u}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return i(n||e)},l,l.exports,e,t,n,r)}return n[o].exports}for(var a="function"==typeof require&&require,o=0;o<r.length;o++)i(r[o]);return i}({1:[function(e,t,n){"use strict";var r={promise:null,load:function(e){"undefined"!=typeof Vimeo?r._createPlayer(e):(r.promise=r.promise||mejs.Utils.loadScript("https://player.vimeo.com/api/player.js"),r.promise.then(function(){r._createPlayer(e)}))},_createPlayer:function(e){var t=new Vimeo.Player(e.iframe);window["__ready__"+e.id](t)},getVimeoId:function(e){return void 0===e||null===e?null:(e=e.split("?")[0],parseInt(e.substring(e.lastIndexOf("/")+1),10))}},i={name:"vimeo_iframe",options:{prefix:"vimeo_iframe"},canPlayType:function(e){return~["video/vimeo","video/x-vimeo"].indexOf(e.toLowerCase())},create:function(e,t,n){var i=[],a={},o=!0,s=1,c=s,u=0,l=0,d=!1,p=0,m=null,f="";a.options=t,a.id=e.id+"_"+t.prefix,a.mediaElement=e;for(var v=function(t,n){var r=mejs.Utils.createEvent("error",n);r.message=t.name+": "+t.message,e.dispatchEvent(r)},h=mejs.html5media.properties,y=0,g=h.length;y<g;y++)!function(t){var n=""+t.substring(0,1).toUpperCase()+t.substring(1);a["get"+n]=function(){if(null!==m){switch(t){case"currentTime":return u;case"duration":return p;case"volume":return s;case"muted":return 0===s;case"paused":return o;case"ended":return d;case"src":return m.getVideoUrl().then(function(e){f=e}),f;case"buffered":return{start:function(){return 0},end:function(){return l*p},length:1};case"readyState":return 4}return null}return null},a["set"+n]=function(n){if(null!==m)switch(t){case"src":var o="string"==typeof n?n:n[0].src,l=r.getVimeoId(o);m.loadVideo(l).then(function(){e.originalNode.autoplay&&m.play()}).catch(function(e){v(e,a)});break;case"currentTime":m.setCurrentTime(n).then(function(){u=n,setTimeout(function(){var t=mejs.Utils.createEvent("timeupdate",a);e.dispatchEvent(t)},50)}).catch(function(e){v(e,a)});break;case"volume":m.setVolume(n).then(function(){c=s=n,setTimeout(function(){var t=mejs.Utils.createEvent("volumechange",a);e.dispatchEvent(t)},50)}).catch(function(e){v(e,a)});break;case"loop":m.setLoop(n).catch(function(e){v(e,a)});break;case"muted":n?m.setVolume(0).then(function(){s=0,setTimeout(function(){var t=mejs.Utils.createEvent("volumechange",a);e.dispatchEvent(t)},50)}).catch(function(e){v(e,a)}):m.setVolume(c).then(function(){s=c,setTimeout(function(){var t=mejs.Utils.createEvent("volumechange",a);e.dispatchEvent(t)},50)}).catch(function(e){v(e,a)});break;case"readyState":var d=mejs.Utils.createEvent("canplay",a);e.dispatchEvent(d)}else i.push({type:"set",propName:t,value:n})}}(h[y]);for(var E=mejs.html5media.methods,U=0,j=E.length;U<j;U++)!function(e){a[e]=function(){if(null!==m)switch(e){case"play":return o=!1,m.play();case"pause":return o=!0,m.pause();case"load":return null}else i.push({type:"call",methodName:e})}}(E[U]);window["__ready__"+a.id]=function(t){if(e.vimeoPlayer=m=t,i.length)for(var n=0,r=i.length;n<r;n++){var c=i[n];if("set"===c.type){var f=c.propName,h=""+f.substring(0,1).toUpperCase()+f.substring(1);a["set"+h](c.value)}else"call"===c.type&&a[c.methodName]()}e.originalNode.muted&&(m.setVolume(0),s=0);for(var y=document.getElementById(a.id),g=void 0,E=0,U=(g=["mouseover","mouseout"]).length;E<U;E++)y.addEventListener(g[E],function(t){var n=mejs.Utils.createEvent(t.type,a);e.dispatchEvent(n)},!1);m.on("loaded",function(){m.getDuration().then(function(t){if((p=t)>0&&(l=p*t,e.originalNode.autoplay)){o=!1,d=!1;var n=mejs.Utils.createEvent("play",a);e.dispatchEvent(n)}}).catch(function(e){v(e,a)})}),m.on("progress",function(){m.getDuration().then(function(t){if((p=t)>0&&(l=p*t,e.originalNode.autoplay)){var n=mejs.Utils.createEvent("play",a);e.dispatchEvent(n);var r=mejs.Utils.createEvent("playing",a);e.dispatchEvent(r)}var i=mejs.Utils.createEvent("progress",a);e.dispatchEvent(i)}).catch(function(e){v(e,a)})}),m.on("timeupdate",function(){m.getCurrentTime().then(function(t){u=t;var n=mejs.Utils.createEvent("timeupdate",a);e.dispatchEvent(n)}).catch(function(e){v(e,a)})}),m.on("play",function(){o=!1,d=!1;var t=mejs.Utils.createEvent("play",a);e.dispatchEvent(t);var n=mejs.Utils.createEvent("playing",a);e.dispatchEvent(n)}),m.on("pause",function(){o=!0,d=!1;var t=mejs.Utils.createEvent("pause",a);e.dispatchEvent(t)}),m.on("ended",function(){o=!1,d=!0;var t=mejs.Utils.createEvent("ended",a);e.dispatchEvent(t)});for(var j=0,b=(g=["rendererready","loadedmetadata","loadeddata","canplay"]).length;j<b;j++){var w=mejs.Utils.createEvent(g[j],a);e.dispatchEvent(w)}};var b=e.originalNode.height,w=e.originalNode.width,N=document.createElement("iframe"),_="https://player.vimeo.com/video/"+r.getVimeoId(n[0].src),x=~n[0].src.indexOf("?")?"?"+n[0].src.slice(n[0].src.indexOf("?")+1):"";return x&&e.originalNode.autoplay&&-1===x.indexOf("autoplay")&&(x+="&autoplay=1"),x&&e.originalNode.loop&&-1===x.indexOf("loop")&&(x+="&loop=1"),N.setAttribute("id",a.id),N.setAttribute("width",w),N.setAttribute("height",b),N.setAttribute("frameBorder","0"),N.setAttribute("src",""+_+x),N.setAttribute("webkitallowfullscreen",""),N.setAttribute("mozallowfullscreen",""),N.setAttribute("allowfullscreen",""),e.originalNode.parentNode.insertBefore(N,e.originalNode),e.originalNode.style.display="none",r.load({iframe:N,id:a.id}),a.hide=function(){a.pause(),m&&(N.style.display="none")},a.setSize=function(e,t){N.setAttribute("width",e),N.setAttribute("height",t)},a.show=function(){m&&(N.style.display="")},a.destroy=function(){},a}};mejs.Utils.typeChecks.push(function(e){return/(\/\/player\.vimeo|vimeo\.com)/i.test(e)?"video/x-vimeo":null}),mejs.Renderers.add(i)},{}]},{},[1]);