PageSourceSearch

https://memorialdoimigrante.org.br/assets/site/js/layout1.min.js

js memorialdoimigrante.org.br collected 2026-10-02 12:03:50 UTC 121,383 bytes, 2,560 lines download raw bytes

1function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
2
3!function (t, e) {
4  "object" == (typeof exports === "undefined" ? "undefined" : _typeof(exports)) && "undefined" != typeof module ? module.exports = e(require("jquery")) : "function" == typeof define && define.amd ? define(["jquery"], e) : t.parsley = e(t.jQuery);
5}(this, function (h) {
6  "use strict";
7
8  function r(t) {
9    return (r = "function" == typeof Symbol && "symbol" == _typeof(Symbol.iterator) ? function (t) {
10      return _typeof(t);
11    } : function (t) {
12      return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : _typeof(t);
13    })(t);
14  }
15
16  function o() {
17    return (o = Object.assign || function (t) {
18      for (var e = 1; e < arguments.length; e++) {
19        var i = arguments[e];
20
21        for (var n in i) {
22          Object.prototype.hasOwnProperty.call(i, n) && (t[n] = i[n]);
23        }
24      }
25
26      return t;
27    }).apply(this, arguments);
28  }
29
30  function l(t, e) {
31    return function (t) {
32      if (Array.isArray(t)) return t;
33    }(t) || function (t, e) {
34      var i = [],
35          n = !0,
36          r = !1,
37          s = void 0;
38
39      try {
40        for (var a, o = t[Symbol.iterator](); !(n = (a = o.next()).done) && (i.push(a.value), !e || i.length !== e); n = !0) {
41          ;
42        }
43      } catch (t) {
44        r = !0, s = t;
45      } finally {
46        try {
47          n || null == o["return"] || o["return"]();
48        } finally {
49          if (r) throw s;
50        }
51      }
52
53      return i;
54    }(t, e) || function () {
55      throw new TypeError("Invalid attempt to destructure non-iterable instance");
56    }();
57  }
58
59  function u(t) {
60    return function (t) {
61      if (Array.isArray(t)) {
62        for (var e = 0, i = new Array(t.length); e < t.length; e++) {
63          i[e] = t[e];
64        }
65
66        return i;
67      }
68    }(t) || function (t) {
69      if (Symbol.iterator in Object(t) || "[object Arguments]" === Object.prototype.toString.call(t)) return Array.from(t);
70    }(t) || function () {
71      throw new TypeError("Invalid attempt to spread non-iterable instance");
72    }();
73  }
74
75  var i,
76      t = 1,
77      e = {},
78      d = {
79    attr: function attr(t, e, i) {
80      var n,
81          r,
82          s,
83          a = new RegExp("^" + e, "i");
84      if (void 0 === i) i = {};else for (n in i) {
85        i.hasOwnProperty(n) && delete i[n];
86      }
87      if (!t) return i;
88
89      for (n = (s = t.attributes).length; n--;) {
90        (r = s[n]) && r.specified && a.test(r.name) && (i[this.camelize(r.name.slice(e.length))] = this.deserializeValue(r.value));
91      }
92
93      return i;
94    },
95    checkAttr: function checkAttr(t, e, i) {
96      return t.hasAttribute(e + i);
97    },
98    setAttr: function setAttr(t, e, i, n) {
99      t.setAttribute(this.dasherize(e + i), String(n));
100    },
101    getType: function getType(t) {
102      return t.getAttribute("type") || "text";
103    },
104    generateID: function generateID() {
105      return "" + t++;
106    },
107    deserializeValue: function deserializeValue(e) {
108      var t;
109
110      try {
111        return e ? "true" == e || "false" != e && ("null" == e ? null : isNaN(t = Number(e)) ? /^[\[\{]/.test(e) ? JSON.parse(e) : e : t) : e;
112      } catch (t) {
113        return e;
114      }
115    },
116    camelize: function camelize(t) {
117      return t.replace(/-+(.)?/g, function (t, e) {
118        return e ? e.toUpperCase() : "";
119      });
120    },
121    dasherize: function dasherize(t) {
122      return t.replace(/::/g, "/").replace(/([A-Z]+)([A-Z][a-z])/g, "$1_$2").replace(/([a-z\d])([A-Z])/g, "$1_$2").replace(/_/g, "-").toLowerCase();
123    },
124    warn: function warn() {
125      var t;
126      window.console && "function" == typeof window.console.warn && (t = window.console).warn.apply(t, arguments);
127    },
128    warnOnce: function warnOnce(t) {
129      e[t] || (e[t] = !0, this.warn.apply(this, arguments));
130    },
131    _resetWarnings: function _resetWarnings() {
132      e = {};
133    },
134    trimString: function trimString(t) {
135      return t.replace(/^\s+|\s+$/g, "");
136    },
137    parse: {
138      date: function date(t) {
139        var e = t.match(/^(\d{4,})-(\d\d)-(\d\d)$/);
140        if (!e) return null;
141        var i = l(e.map(function (t) {
142          return parseInt(t, 10);
143        }), 4),
144            n = (i[0], i[1]),
145            r = i[2],
146            s = i[3],
147            a = new Date(n, r - 1, s);
148        return a.getFullYear() !== n || a.getMonth() + 1 !== r || a.getDate() !== s ? null : a;
149      },
150      string: function string(t) {
151        return t;
152      },
153      integer: function integer(t) {
154        return isNaN(t) ? null : parseInt(t, 10);
155      },
156      number: function number(t) {
157        if (isNaN(t)) throw null;
158        return parseFloat(t);
159      },
160      "boolean": function boolean(t) {
161        return !/^\s*false\s*$/i.test(t);
162      },
163      object: function object(t) {
164        return d.deserializeValue(t);
165      },
166      regexp: function regexp(t) {
167        var e = "";
168        return t = /^\/.*\/(?:[gimy]*)$/.test(t) ? (e = t.replace(/.*\/([gimy]*)$/, "$1"), t.replace(new RegExp("^/(.*?)/" + e + "$"), "$1")) : "^" + t + "$", new RegExp(t, e);
169      }
170    },
171    parseRequirement: function parseRequirement(t, e) {
172      var i = this.parse[t || "string"];
173      if (!i) throw 'Unknown requirement specification: "' + t + '"';
174      var n = i(e);
175      if (null === n) throw "Requirement is not a ".concat(t, ': "').concat(e, '"');
176      return n;
177    },
178    namespaceEvents: function namespaceEvents(t, e) {
179      return (t = this.trimString(t || "").split(/\s+/))[0] ? h.map(t, function (t) {
180        return "".concat(t, ".").concat(e);
181      }).join(" ") : "";
182    },
183    difference: function difference(t, i) {
184      var n = [];
185      return h.each(t, function (t, e) {
186        -1 == i.indexOf(e) && n.push(e);
187      }), n;
188    },
189    all: function all(t) {
190      return h.when.apply(h, u(t).concat([42, 42]));
191    },
192    objectCreate: Object.create || (i = function i() {}, function (t) {
193      if (1 < arguments.length) throw Error("Second argument not supported");
194      if ("object" != r(t)) throw TypeError("Argument must be an object");
195      i.prototype = t;
196      var e = new i();
197      return i.prototype = null, e;
198    }),
199    _SubmitSelector: 'input[type="submit"], button:submit'
200  },
201      n = {
202    namespace: "data-parsley-",
203    inputs: "input, textarea, select",
204    excluded: "input[type=button], input[type=submit], input[type=reset], input[type=hidden]",
205    priorityEnabled: !0,
206    multiple: null,
207    group: null,
208    uiEnabled: !0,
209    validationThreshold: 3,
210    focus: "first",
211    trigger: !1,
212    triggerAfterFailure: "input",
213    errorClass: "parsley-error",
214    successClass: "parsley-success",
215    classHandler: function classHandler(t) {},
216    errorsContainer: function errorsContainer(t) {},
217    errorsWrapper: '<ul class="parsley-errors-list"></ul>',
218    errorTemplate: "<li></li>"
219  },
220      s = function s() {
221    this.__id__ = d.generateID();
222  };
223
224  s.prototype = {
225    asyncSupport: !0,
226    _pipeAccordingToValidationResult: function _pipeAccordingToValidationResult() {
227      var e = this,
228          t = function t() {
229        var t = h.Deferred();
230        return !0 !== e.validationResult && t.reject(), t.resolve().promise();
231      };
232
233      return [t, t];
234    },
235    actualizeOptions: function actualizeOptions() {
236      return d.attr(this.element, this.options.namespace, this.domOptions), this.parent && this.parent.actualizeOptions && this.parent.actualizeOptions(), this;
237    },
238    _resetOptions: function _resetOptions(t) {
239      for (var e in this.domOptions = d.objectCreate(this.parent.options), this.options = d.objectCreate(this.domOptions), t) {
240        t.hasOwnProperty(e) && (this.options[e] = t[e]);
241      }
242
243      this.actualizeOptions();
244    },
245    _listeners: null,
246    on: function on(t, e) {
247      return this._listeners = this._listeners || {}, (this._listeners[t] = this._listeners[t] || []).push(e), this;
248    },
249    subscribe: function subscribe(t, e) {
250      h.listenTo(this, t.toLowerCase(), e);
251    },
252    off: function off(t, e) {
253      var i = this._listeners && this._listeners[t];
254      if (i) if (e) for (var n = i.length; n--;) {
255        i[n] === e && i.splice(n, 1);
256      } else delete this._listeners[t];
257      return this;
258    },
259    unsubscribe: function unsubscribe(t, e) {
260      h.unsubscribeTo(this, t.toLowerCase());
261    },
262    trigger: function trigger(t, e, i) {
263      e = e || this;
264      var n,
265          r = this._listeners && this._listeners[t];
266      if (r) for (var s = r.length; s--;) {
267        if (!1 === (n = r[s].call(e, e, i))) return n;
268      }
269      return !this.parent || this.parent.trigger(t, e, i);
270    },
271    asyncIsValid: function asyncIsValid(t, e) {
272      return d.warnOnce("asyncIsValid is deprecated; please use whenValid instead"), this.whenValid({
273        group: t,
274        force: e
275      });
276    },
277    _findRelated: function _findRelated() {
278      return this.options.multiple ? h(this.parent.element.querySelectorAll("[".concat(this.options.namespace, 'multiple="').concat(this.options.multiple, '"]'))) : this.$element;
279    }
280  };
281
282  var c = function c(t) {
283    h.extend(!0, this, t);
284  };
285
286  c.prototype = {
287    validate: function validate(t, e) {
288      if (this.fn) return 3 < arguments.length && (e = [].slice.call(arguments, 1, -1)), this.fn(t, e);
289
290      if (Array.isArray(t)) {
291        if (!this.validateMultiple) throw "Validator `" + this.name + "` does not handle multiple values";
292        return this.validateMultiple.apply(this, arguments);
293      }
294
295      var i = arguments[arguments.length - 1];
296      if (this.validateDate && i._isDateInput()) return null !== (t = d.parse.date(t)) && this.validateDate.apply(this, arguments);
297      if (this.validateNumber) return !t || !isNaN(t) && (t = parseFloat(t), this.validateNumber.apply(this, arguments));
298      if (this.validateString) return this.validateString.apply(this, arguments);
299      throw "Validator `" + this.name + "` only handles multiple values";
300    },
301    parseRequirements: function parseRequirements(t, e) {
302      if ("string" != typeof t) return Array.isArray(t) ? t : [t];
303      var i = this.requirementType;
304
305      if (Array.isArray(i)) {
306        for (var n = function (t, e) {
307          var i = t.match(/^\s*\[(.*)\]\s*$/);
308          if (!i) throw 'Requirement is not an array: "' + t + '"';
309          var n = i[1].split(",").map(d.trimString);
310          if (n.length !== e) throw "Requirement has " + n.length + " values when " + e + " are needed";
311          return n;
312        }(t, i.length), r = 0; r < n.length; r++) {
313          n[r] = d.parseRequirement(i[r], n[r]);
314        }
315
316        return n;
317      }
318
319      return h.isPlainObject(i) ? function (t, e, i) {
320        var n = null,
321            r = {};
322
323        for (var s in t) {
324          if (s) {
325            var a = i(s);
326            "string" == typeof a && (a = d.parseRequirement(t[s], a)), r[s] = a;
327          } else n = d.parseRequirement(t[s], e);
328        }
329
330        return [n, r];
331      }(i, t, e) : [d.parseRequirement(i, t)];
332    },
333    requirementType: "string",
334    priority: 2
335  };
336
337  var a = function a(t, e) {
338    this.__class__ = "ValidatorRegistry", this.locale = "en", this.init(t || {}, e || {});
339  },
340      p = {
341    email: /^((([a-zA-Z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-zA-Z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-zA-Z]|\d|-|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-zA-Z]|\d|-|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/,
342    number: /^-?(\d*\.)?\d+(e[-+]?\d+)?$/i,
343    integer: /^-?\d+$/,
344    digits: /^\d+$/,
345    alphanum: /^\w+$/i,
346    date: {
347      test: function test(t) {
348        return null !== d.parse.date(t);
349      }
350    },
351    url: new RegExp("^(?:(?:https?|ftp)://)?(?:\\S+(?::\\S*)?@)?(?:(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-zA-Z\\u00a1-\\uffff0-9]-*)*[a-zA-Z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-zA-Z\\u00a1-\\uffff0-9]-*)*[a-zA-Z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-zA-Z\\u00a1-\\uffff]{2,})))(?::\\d{2,5})?(?:/\\S*)?$")
352  };
353
354  p.range = p.number;
355
356  var f = function f(t) {
357    var e = ("" + t).match(/(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/);
358    return e ? Math.max(0, (e[1] ? e[1].length : 0) - (e[2] ? +e[2] : 0)) : 0;
359  },
360      m = function m(s, a) {
361    return function (t) {
362      for (var e = arguments.length, i = new Array(1 < e ? e - 1 : 0), n = 1; n < e; n++) {
363        i[n - 1] = arguments[n];
364      }
365
366      return i.pop(), a.apply(void 0, [t].concat(u((r = s, i.map(d.parse[r])))));
367      var r;
368    };
369  },
370      g = function g(t) {
371    return {
372      validateDate: m("date", t),
373      validateNumber: m("number", t),
374      requirementType: t.length <= 2 ? "string" : ["string", "string"],
375      priority: 30
376    };
377  };
378
379  a.prototype = {
380    init: function init(t, e) {
381      for (var i in this.catalog = e, this.validators = o({}, this.validators), t) {
382        this.addValidator(i, t[i].fn, t[i].priority);
383      }
384
385      window.Parsley.trigger("parsley:validator:init");
386    },
387    setLocale: function setLocale(t) {
388      if (void 0 === this.catalog[t]) throw new Error(t + " is not available in the catalog");
389      return this.locale = t, this;
390    },
391    addCatalog: function addCatalog(t, e, i) {
392      return "object" === r(e) && (this.catalog[t] = e), !0 === i ? this.setLocale(t) : this;
393    },
394    addMessage: function addMessage(t, e, i) {
395      return void 0 === this.catalog[t] && (this.catalog[t] = {}), this.catalog[t][e] = i, this;
396    },
397    addMessages: function addMessages(t, e) {
398      for (var i in e) {
399        this.addMessage(t, i, e[i]);
400      }
401
402      return this;
403    },
404    addValidator: function addValidator(t, e, i) {
405      if (this.validators[t]) d.warn('Validator "' + t + '" is already defined.');else if (n.hasOwnProperty(t)) return void d.warn('"' + t + '" is a restricted keyword and is not a valid validator name.');
406      return this._setValidator.apply(this, arguments);
407    },
408    hasValidator: function hasValidator(t) {
409      return !!this.validators[t];
410    },
411    updateValidator: function updateValidator(t, e, i) {
412      return this.validators[t] ? this._setValidator.apply(this, arguments) : (d.warn('Validator "' + t + '" is not already defined.'), this.addValidator.apply(this, arguments));
413    },
414    removeValidator: function removeValidator(t) {
415      return this.validators[t] || d.warn('Validator "' + t + '" is not defined.'), delete this.validators[t], this;
416    },
417    _setValidator: function _setValidator(t, e, i) {
418      for (var n in "object" !== r(e) && (e = {
419        fn: e,
420        priority: i
421      }), e.validate || (e = new c(e)), (this.validators[t] = e).messages || {}) {
422        this.addMessage(n, t, e.messages[n]);
423      }
424
425      return this;
426    },
427    getErrorMessage: function getErrorMessage(t) {
428      var e;
429      "type" === t.name ? e = (this.catalog[this.locale][t.name] || {})[t.requirements] : e = this.formatMessage(this.catalog[this.locale][t.name], t.requirements);
430      return e || this.catalog[this.locale].defaultMessage || this.catalog.en.defaultMessage;
431    },
432    formatMessage: function formatMessage(t, e) {
433      if ("object" !== r(e)) return "string" == typeof t ? t.replace(/%s/i, e) : "";
434
435      for (var i in e) {
436        t = this.formatMessage(t, e[i]);
437      }
438
439      return t;
440    },
441    validators: {
442      notblank: {
443        validateString: function validateString(t) {
444          return /\S/.test(t);
445        },
446        priority: 2
447      },
448      required: {
449        validateMultiple: function validateMultiple(t) {
450          return 0 < t.length;
451        },
452        validateString: function validateString(t) {
453          return /\S/.test(t);
454        },
455        priority: 512
456      },
457      type: {
458        validateString: function validateString(t, e) {
459          var i = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : {},
460              n = i.step,
461              r = void 0 === n ? "any" : n,
462              s = i.base,
463              a = void 0 === s ? 0 : s,
464              o = p[e];
465          if (!o) throw new Error("validator type `" + e + "` is not supported");
466          if (!t) return !0;
467          if (!o.test(t)) return !1;
468
469          if ("number" === e && !/^any$/i.test(r || "")) {
470            var l = Number(t),
471                u = Math.max(f(r), f(a));
472            if (f(l) > u) return !1;
473
474            var d = function d(t) {
475              return Math.round(t * Math.pow(10, u));
476            };
477
478            if ((d(l) - d(a)) % d(r) != 0) return !1;
479          }
480
481          return !0;
482        },
483        requirementType: {
484          "": "string",
485          step: "string",
486          base: "number"
487        },
488        priority: 256
489      },
490      pattern: {
491        validateString: function validateString(t, e) {
492          return !t || e.test(t);
493        },
494        requirementType: "regexp",
495        priority: 64
496      },
497      minlength: {
498        validateString: function validateString(t, e) {
499          return !t || t.length >= e;
500        },
501        requirementType: "integer",
502        priority: 30
503      },
504      maxlength: {
505        validateString: function validateString(t, e) {
506          return t.length <= e;
507        },
508        requirementType: "integer",
509        priority: 30
510      },
511      length: {
512        validateString: function validateString(t, e, i) {
513          return !t || t.length >= e && t.length <= i;
514        },
515        requirementType: ["integer", "integer"],
516        priority: 30
517      },
518      mincheck: {
519        validateMultiple: function validateMultiple(t, e) {
520          return t.length >= e;
521        },
522        requirementType: "integer",
523        priority: 30
524      },
525      maxcheck: {
526        validateMultiple: function validateMultiple(t, e) {
527          return t.length <= e;
528        },
529        requirementType: "integer",
530        priority: 30
531      },
532      check: {
533        validateMultiple: function validateMultiple(t, e, i) {
534          return t.length >= e && t.length <= i;
535        },
536        requirementType: ["integer", "integer"],
537        priority: 30
538      },
539      min: g(function (t, e) {
540        return e <= t;
541      }),
542      max: g(function (t, e) {
543        return t <= e;
544      }),
545      range: g(function (t, e, i) {
546        return e <= t && t <= i;
547      }),
548      equalto: {
549        validateString: function validateString(t, e) {
550          if (!t) return !0;
551          var i = h(e);
552          return i.length ? t === i.val() : t === e;
553        },
554        priority: 256
555      },
556      euvatin: {
557        validateString: function validateString(t, e) {
558          if (!t) return !0;
559          return /^[A-Z][A-Z][A-Za-z0-9 -]{2,}$/.test(t);
560        },
561        priority: 30
562      }
563    }
564  };
565  var v = {};
566  v.Form = {
567    _actualizeTriggers: function _actualizeTriggers() {
568      var e = this;
569      this.$element.on("submit.Parsley", function (t) {
570        e.onSubmitValidate(t);
571      }), this.$element.on("click.Parsley", d._SubmitSelector, function (t) {
572        e.onSubmitButton(t);
573      }), !1 !== this.options.uiEnabled && this.element.setAttribute("novalidate", "");
574    },
575    focus: function focus() {
576      if (!(this._focusedField = null) === this.validationResult || "none" === this.options.focus) return null;
577
578      for (var t = 0; t < this.fields.length; t++) {
579        var e = this.fields[t];
580        if (!0 !== e.validationResult && 0 < e.validationResult.length && void 0 === e.options.noFocus && (this._focusedField = e.$element, "first" === this.options.focus)) break;
581      }
582
583      return null === this._focusedField ? null : this._focusedField.focus();
584    },
585    _destroyUI: function _destroyUI() {
586      this.$element.off(".Parsley");
587    }
588  }, v.Field = {
589    _reflowUI: function _reflowUI() {
590      if (this._buildUI(), this._ui) {
591        var t = function t(e, i, n) {
592          for (var r = [], s = [], a = 0; a < e.length; a++) {
593            for (var o = !1, l = 0; l < i.length; l++) {
594              if (e[a].assert.name === i[l].assert.name) {
595                o = !0;
596                break;
597              }
598            }
599
600            o ? s.push(e[a]) : r.push(e[a]);
601          }
602
603          return {
604            kept: s,
605            added: r,
606            removed: n ? [] : t(i, e, !0).added
607          };
608        }(this.validationResult, this._ui.lastValidationResult);
609
610        this._ui.lastValidationResult = this.validationResult, this._manageStatusClass(), this._manageErrorsMessages(t), this._actualizeTriggers(), !t.kept.length && !t.added.length || this._failedOnce || (this._failedOnce = !0, this._actualizeTriggers());
611      }
612    },
613    getErrorsMessages: function getErrorsMessages() {
614      if (!0 === this.validationResult) return [];
615
616      for (var t = [], e = 0; e < this.validationResult.length; e++) {
617        t.push(this.validationResult[e].errorMessage || this._getErrorMessage(this.validationResult[e].assert));
618      }
619
620      return t;
621    },
622    addError: function addError(t) {
623      var e = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : {},
624          i = e.message,
625          n = e.assert,
626          r = e.updateClass,
627          s = void 0 === r || r;
628      this._buildUI(), this._addError(t, {
629        message: i,
630        assert: n
631      }), s && this._errorClass();
632    },
633    updateError: function updateError(t) {
634      var e = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : {},
635          i = e.message,
636          n = e.assert,
637          r = e.updateClass,
638          s = void 0 === r || r;
639      this._buildUI(), this._updateError(t, {
640        message: i,
641        assert: n
642      }), s && this._errorClass();
643    },
644    removeError: function removeError(t) {
645      var e = (1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : {}).updateClass,
646          i = void 0 === e || e;
647      this._buildUI(), this._removeError(t), i && this._manageStatusClass();
648    },
649    _manageStatusClass: function _manageStatusClass() {
650      this.hasConstraints() && this.needsValidation() && !0 === this.validationResult ? this._successClass() : 0 < this.validationResult.length ? this._errorClass() : this._resetClass();
651    },
652    _manageErrorsMessages: function _manageErrorsMessages(t) {
653      if (void 0 === this.options.errorsMessagesDisabled) {
654        if (void 0 !== this.options.errorMessage) return t.added.length || t.kept.length ? (this._insertErrorWrapper(), 0 === this._ui.$errorsWrapper.find(".parsley-custom-error-message").length && this._ui.$errorsWrapper.append(h(this.options.errorTemplate).addClass("parsley-custom-error-message")), this._ui.$errorsWrapper.addClass("filled").find(".parsley-custom-error-message").html(this.options.errorMessage)) : this._ui.$errorsWrapper.removeClass("filled").find(".parsley-custom-error-message").remove();
655
656        for (var e = 0; e < t.removed.length; e++) {
657          this._removeError(t.removed[e].assert.name);
658        }
659
660        for (e = 0; e < t.added.length; e++) {
661          this._addError(t.added[e].assert.name, {
662            message: t.added[e].errorMessage,
663            assert: t.added[e].assert
664          });
665        }
666
667        for (e = 0; e < t.kept.length; e++) {
668          this._updateError(t.kept[e].assert.name, {
669            message: t.kept[e].errorMessage,
670            assert: t.kept[e].assert
671          });
672        }
673      }
674    },
675    _addError: function _addError(t, e) {
676      var i = e.message,
677          n = e.assert;
678      this._insertErrorWrapper(), this._ui.$errorClassHandler.attr("aria-describedby", this._ui.errorsWrapperId), this._ui.$errorsWrapper.addClass("filled").append(h(this.options.errorTemplate).addClass("parsley-" + t).html(i || this._getErrorMessage(n)));
679    },
680    _updateError: function _updateError(t, e) {
681      var i = e.message,
682          n = e.assert;
683
684      this._ui.$errorsWrapper.addClass("filled").find(".parsley-" + t).html(i || this._getErrorMessage(n));
685    },
686    _removeError: function _removeError(t) {
687      this._ui.$errorClassHandler.removeAttr("aria-describedby"), this._ui.$errorsWrapper.removeClass("filled").find(".parsley-" + t).remove();
688    },
689    _getErrorMessage: function _getErrorMessage(t) {
690      var e = t.name + "Message";
691      return void 0 !== this.options[e] ? window.Parsley.formatMessage(this.options[e], t.requirements) : window.Parsley.getErrorMessage(t);
692    },
693    _buildUI: function _buildUI() {
694      if (!this._ui && !1 !== this.options.uiEnabled) {
695        var t = {};
696        this.element.setAttribute(this.options.namespace + "id", this.__id__), t.$errorClassHandler = this._manageClassHandler(), t.errorsWrapperId = "parsley-id-" + (this.options.multiple ? "multiple-" + this.options.multiple : this.__id__), t.$errorsWrapper = h(this.options.errorsWrapper).attr("id", t.errorsWrapperId), t.lastValidationResult = [], t.validationInformationVisible = !1, this._ui = t;
697      }
698    },
699    _manageClassHandler: function _manageClassHandler() {
700      if ("string" == typeof this.options.classHandler && h(this.options.classHandler).length) return h(this.options.classHandler);
701      var t = this.options.classHandler;
702
703      if ("string" == typeof this.options.classHandler && "function" == typeof window[this.options.classHandler] && (t = window[this.options.classHandler]), "function" == typeof t) {
704        var e = t.call(this, this);
705        if (void 0 !== e && e.length) return e;
706      } else {
707        if ("object" === r(t) && t instanceof jQuery && t.length) return t;
708        t && d.warn("The class handler `" + t + "` does not exist in DOM nor as a global JS function");
709      }
710
711      return this._inputHolder();
712    },
713    _inputHolder: function _inputHolder() {
714      return this.options.multiple && "SELECT" !== this.element.nodeName ? this.$element.parent() : this.$element;
715    },
716    _insertErrorWrapper: function _insertErrorWrapper() {
717      var t = this.options.errorsContainer;
718      if (0 !== this._ui.$errorsWrapper.parent().length) return this._ui.$errorsWrapper.parent();
719
720      if ("string" == typeof t) {
721        if (h(t).length) return h(t).append(this._ui.$errorsWrapper);
722        "function" == typeof window[t] ? t = window[t] : d.warn("The errors container `" + t + "` does not exist in DOM nor as a global JS function");
723      }
724
725      return "function" == typeof t && (t = t.call(this, this)), "object" === r(t) && t.length ? t.append(this._ui.$errorsWrapper) : this._inputHolder().after(this._ui.$errorsWrapper);
726    },
727    _actualizeTriggers: function _actualizeTriggers() {
728      var t,
729          e = this,
730          i = this._findRelated();
731
732      i.off(".Parsley"), this._failedOnce ? i.on(d.namespaceEvents(this.options.triggerAfterFailure, "Parsley"), function () {
733        e._validateIfNeeded();
734      }) : (t = d.namespaceEvents(this.options.trigger, "Parsley")) && i.on(t, function (t) {
735        e._validateIfNeeded(t);
736      });
737    },
738    _validateIfNeeded: function _validateIfNeeded(t) {
739      var e = this;
740      t && /key|input/.test(t.type) && (!this._ui || !this._ui.validationInformationVisible) && this.getValue().length <= this.options.validationThreshold || (this.options.debounce ? (window.clearTimeout(this._debounced), this._debounced = window.setTimeout(function () {
741        return e.validate();
742      }, this.options.debounce)) : this.validate());
743    },
744    _resetUI: function _resetUI() {
745      this._failedOnce = !1, this._actualizeTriggers(), void 0 !== this._ui && (this._ui.$errorsWrapper.removeClass("filled").children().remove(), this._resetClass(), this._ui.lastValidationResult = [], this._ui.validationInformationVisible = !1);
746    },
747    _destroyUI: function _destroyUI() {
748      this._resetUI(), void 0 !== this._ui && this._ui.$errorsWrapper.remove(), delete this._ui;
749    },
750    _successClass: function _successClass() {
751      this._ui.validationInformationVisible = !0, this._ui.$errorClassHandler.removeClass(this.options.errorClass).addClass(this.options.s
751uccessClass);
752    },
753    _errorClass: function _errorClass() {
754      this._ui.validationInformationVisible = !0, this._ui.$errorClassHandler.removeClass(this.options.successClass).addClass(this.options.errorClass);
755    },
756    _resetClass: function _resetClass() {
757      this._ui.$errorClassHandler.removeClass(this.options.successClass).removeClass(this.options.errorClass);
758    }
759  };
760
761  var y = function y(t, e, i) {
762    this.__class__ = "Form", this.element = t, this.$element = h(t), this.domOptions = e, this.options = i, this.parent = window.Parsley, this.fields = [], this.validationResult = null;
763  },
764      _ = {
765    pending: null,
766    resolved: !0,
767    rejected: !1
768  };
769
770  y.prototype = {
771    onSubmitValidate: function onSubmitValidate(t) {
772      var e = this;
773
774      if (!0 !== t.parsley) {
775        var i = this._submitSource || this.$element.find(d._SubmitSelector)[0];
776
777        if (this._submitSource = null, this.$element.find(".parsley-synthetic-submit-button").prop("disabled", !0), !i || null === i.getAttribute("formnovalidate")) {
778          window.Parsley._remoteCache = {};
779          var n = this.whenValidate({
780            event: t
781          });
782          "resolved" === n.state() && !1 !== this._trigger("submit") || (t.stopImmediatePropagation(), t.preventDefault(), "pending" === n.state() && n.done(function () {
783            e._submit(i);
784          }));
785        }
786      }
787    },
788    onSubmitButton: function onSubmitButton(t) {
789      this._submitSource = t.currentTarget;
790    },
791    _submit: function _submit(t) {
792      if (!1 !== this._trigger("submit")) {
793        if (t) {
794          var e = this.$element.find(".parsley-synthetic-submit-button").prop("disabled", !1);
795          0 === e.length && (e = h('<input class="parsley-synthetic-submit-button" type="hidden">').appendTo(this.$element)), e.attr({
796            name: t.getAttribute("name"),
797            value: t.getAttribute("value")
798          });
799        }
800
801        this.$element.trigger(o(h.Event("submit"), {
802          parsley: !0
803        }));
804      }
805    },
806    validate: function validate(t) {
807      if (1 <= arguments.length && !h.isPlainObject(t)) {
808        d.warnOnce("Calling validate on a parsley form without passing arguments as an object is deprecated.");
809        var e = Array.prototype.slice.call(arguments);
810        t = {
811          group: e[0],
812          force: e[1],
813          event: e[2]
814        };
815      }
816
817      return _[this.whenValidate(t).state()];
818    },
819    whenValidate: function whenValidate() {
820      var t,
821          e = this,
822          i = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : {},
823          n = i.group,
824          r = i.force,
825          s = i.event;
826      (this.submitEvent = s) && (this.submitEvent = o({}, s, {
827        preventDefault: function preventDefault() {
828          d.warnOnce("Using `this.submitEvent.preventDefault()` is deprecated; instead, call `this.validationResult = false`"), e.validationResult = !1;
829        }
830      })), this.validationResult = !0, this._trigger("validate"), this._refreshFields();
831
832      var a = this._withoutReactualizingFormOptions(function () {
833        return h.map(e.fields, function (t) {
834          return t.whenValidate({
835            force: r,
836            group: n
837          });
838        });
839      });
840
841      return (t = d.all(a).done(function () {
842        e._trigger("success");
843      }).fail(function () {
844        e.validationResult = !1, e.focus(), e._trigger("error");
845      }).always(function () {
846        e._trigger("validated");
847      })).pipe.apply(t, u(this._pipeAccordingToValidationResult()));
848    },
849    isValid: function isValid(t) {
850      if (1 <= arguments.length && !h.isPlainObject(t)) {
851        d.warnOnce("Calling isValid on a parsley form without passing arguments as an object is deprecated.");
852        var e = Array.prototype.slice.call(arguments);
853        t = {
854          group: e[0],
855          force: e[1]
856        };
857      }
858
859      return _[this.whenValid(t).state()];
860    },
861    whenValid: function whenValid() {
862      var t = this,
863          e = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : {},
864          i = e.group,
865          n = e.force;
866
867      this._refreshFields();
868
869      var r = this._withoutReactualizingFormOptions(function () {
870        return h.map(t.fields, function (t) {
871          return t.whenValid({
872            group: i,
873            force: n
874          });
875        });
876      });
877
878      return d.all(r);
879    },
880    refresh: function refresh() {
881      return this._refreshFields(), this;
882    },
883    reset: function reset() {
884      for (var t = 0; t < this.fields.length; t++) {
885        this.fields[t].reset();
886      }
887
888      this._trigger("reset");
889    },
890    destroy: function destroy() {
891      this._destroyUI();
892
893      for (var t = 0; t < this.fields.length; t++) {
894        this.fields[t].destroy();
895      }
896
897      this.$element.removeData("Parsley"), this._trigger("destroy");
898    },
899    _refreshFields: function _refreshFields() {
900      return this.actualizeOptions()._bindFields();
901    },
902    _bindFields: function _bindFields() {
903      var r = this,
904          t = this.fields;
905      return this.fields = [], this.fieldsMappedById = {}, this._withoutReactualizingFormOptions(function () {
906        r.$element.find(r.options.inputs).not(r.options.excluded).not("[".concat(r.options.namespace, "excluded=true]")).each(function (t, e) {
907          var i = new window.Parsley.Factory(e, {}, r);
908
909          if ("Field" === i.__class__ || "FieldMultiple" === i.__class__) {
910            var n = i.__class__ + "-" + i.__id__;
911            void 0 === r.fieldsMappedById[n] && (r.fieldsMappedById[n] = i, r.fields.push(i));
912          }
913        }), h.each(d.difference(t, r.fields), function (t, e) {
914          e.reset();
915        });
916      }), this;
917    },
918    _withoutReactualizingFormOptions: function _withoutReactualizingFormOptions(t) {
919      var e = this.actualizeOptions;
920
921      this.actualizeOptions = function () {
922        return this;
923      };
924
925      var i = t();
926      return this.actualizeOptions = e, i;
927    },
928    _trigger: function _trigger(t) {
929      return this.trigger("form:" + t);
930    }
931  };
932
933  var w = function w(t, e, i, n, r) {
934    var s = window.Parsley._validatorRegistry.validators[e],
935        a = new c(s);
936    o(this, {
937      validator: a,
938      name: e,
939      requirements: i,
940      priority: n = n || t.options[e + "Priority"] || a.priority,
941      isDomConstraint: r = !0 === r
942    }), this._parseRequirements(t.options);
943  },
944      b = function b(t, e, i, n) {
945    this.__class__ = "Field", this.element = t, this.$element = h(t), void 0 !== n && (this.parent = n), this.options = i, this.domOptions = e, this.constraints = [], this.constraintsByName = {}, this.validationResult = !0, this._bindConstraints();
946  },
947      F = {
948    pending: null,
949    resolved: !0,
950    rejected: !(w.prototype = {
951      validate: function validate(t, e) {
952        var i;
953        return (i = this.validator).validate.apply(i, [t].concat(u(this.requirementList), [e]));
954      },
955      _parseRequirements: function _parseRequirements(i) {
956        var n = this;
957        this.requirementList = this.validator.parseRequirements(this.requirements, function (t) {
958          return i[n.name + (e = t, e[0].toUpperCase() + e.slice(1))];
959          var e;
960        });
961      }
962    })
963  };
964
965  b.prototype = {
966    validate: function validate(t) {
967      1 <= arguments.length && !h.isPlainObject(t) && (d.warnOnce("Calling validate on a parsley field without passing arguments as an object is deprecated."), t = {
968        options: t
969      });
970      var e = this.whenValidate(t);
971      if (!e) return !0;
972
973      switch (e.state()) {
974        case "pending":
975          return null;
976
977        case "resolved":
978          return !0;
979
980        case "rejected":
981          return this.validationResult;
982      }
983    },
984    whenValidate: function whenValidate() {
985      var t,
986          e = this,
987          i = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : {},
988          n = i.force,
989          r = i.group;
990      if (this.refresh(), !r || this._isInGroup(r)) return this.value = this.getValue(), this._trigger("validate"), (t = this.whenValid({
991        force: n,
992        value: this.value,
993        _refreshed: !0
994      }).always(function () {
995        e._reflowUI();
996      }).done(function () {
997        e._trigger("success");
998      }).fail(function () {
999        e._trigger("error");
1000      }).always(function () {
1001        e._trigger("validated");
1002      })).pipe.apply(t, u(this._pipeAccordingToValidationResult()));
1003    },
1004    hasConstraints: function hasConstraints() {
1005      return 0 !== this.constraints.length;
1006    },
1007    needsValidation: function needsValidation(t) {
1008      return void 0 === t && (t = this.getValue()), !(!t.length && !this._isRequired() && void 0 === this.options.validateIfEmpty);
1009    },
1010    _isInGroup: function _isInGroup(t) {
1011      return Array.isArray(this.options.group) ? -1 !== h.inArray(t, this.options.group) : this.options.group === t;
1012    },
1013    isValid: function isValid(t) {
1014      if (1 <= arguments.length && !h.isPlainObject(t)) {
1015        d.warnOnce("Calling isValid on a parsley field without passing arguments as an object is deprecated.");
1016        var e = Array.prototype.slice.call(arguments);
1017        t = {
1018          force: e[0],
1019          value: e[1]
1020        };
1021      }
1022
1023      var i = this.whenValid(t);
1024      return !i || F[i.state()];
1025    },
1026    whenValid: function whenValid() {
1027      var n = this,
1028          t = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : {},
1029          e = t.force,
1030          i = void 0 !== e && e,
1031          r = t.value,
1032          s = t.group;
1033
1034      if (t._refreshed || this.refresh(), !s || this._isInGroup(s)) {
1035        if (this.validationResult = !0, !this.hasConstraints()) return h.when();
1036        if (null == r && (r = this.getValue()), !this.needsValidation(r) && !0 !== i) return h.when();
1037
1038        var a = this._getGroupedConstraints(),
1039            o = [];
1040
1041        return h.each(a, function (t, e) {
1042          var i = d.all(h.map(e, function (t) {
1043            return n._validateConstraint(r, t);
1044          }));
1045          if (o.push(i), "rejected" === i.state()) return !1;
1046        }), d.all(o);
1047      }
1048    },
1049    _validateConstraint: function _validateConstraint(t, e) {
1050      var i = this,
1051          n = e.validate(t, this);
1052      return !1 === n && (n = h.Deferred().reject()), d.all([n]).fail(function (t) {
1053        i.validationResult instanceof Array || (i.validationResult = []), i.validationResult.push({
1054          assert: e,
1055          errorMessage: "string" == typeof t && t
1056        });
1057      });
1058    },
1059    getValue: function getValue() {
1060      var t;
1061      return null == (t = "function" == typeof this.options.value ? this.options.value(this) : void 0 !== this.options.value ? this.options.value : this.$element.val()) ? "" : this._handleWhitespace(t);
1062    },
1063    reset: function reset() {
1064      return this._resetUI(), this._trigger("reset");
1065    },
1066    destroy: function destroy() {
1067      this._destroyUI(), this.$element.removeData("Parsley"), this.$element.removeData("FieldMultiple"), this._trigger("destroy");
1068    },
1069    refresh: function refresh() {
1070      return this._refreshConstraints(), this;
1071    },
1072    _refreshConstraints: function _refreshConstraints() {
1073      return this.actualizeOptions()._bindConstraints();
1074    },
1075    refreshConstraints: function refreshConstraints() {
1076      return d.warnOnce("Parsley's refreshConstraints is deprecated. Please use refresh"), this.refresh();
1077    },
1078    addConstraint: function addConstraint(t, e, i, n) {
1079      if (window.Parsley._validatorRegistry.validators[t]) {
1080        var r = new w(this, t, e, i, n);
1081        "undefined" !== this.constraintsByName[r.name] && this.removeConstraint(r.name), this.constraints.push(r), this.constraintsByName[r.name] = r;
1082      }
1083
1084      return this;
1085    },
1086    removeConstraint: function removeConstraint(t) {
1087      for (var e = 0; e < this.constraints.length; e++) {
1088        if (t === this.constraints[e].name) {
1089          this.constraints.splice(e, 1);
1090          break;
1091        }
1092      }
1093
1094      return delete this.constraintsByName[t], this;
1095    },
1096    updateConstraint: function updateConstraint(t, e, i) {
1097      return this.removeConstraint(t).addConstraint(t, e, i);
1098    },
1099    _bindConstraints: function _bindConstraints() {
1100      for (var t = [], e = {}, i = 0; i < this.constraints.length; i++) {
1101        !1 === this.constraints[i].isDomConstraint && (t.push(this.constraints[i]), e[this.constraints[i].name] = this.constraints[i]);
1102      }
1103
1104      for (var n in this.constraints = t, this.constraintsByName = e, this.options) {
1105        this.addConstraint(n, this.options[n], void 0, !0);
1106      }
1107
1108      return this._bindHtml5Constraints();
1109    },
1110    _bindHtml5Constraints: function _bindHtml5Constraints() {
1111      null !== this.element.getAttribute("required") && this.addConstraint("required", !0, void 0, !0), null !== this.element.getAttribute("pattern") && this.addConstraint("pattern", this.element.getAttribute("pattern"), void 0, !0);
1112      var t = this.element.getAttribute("min"),
1113          e = this.element.getAttribute("max");
1114      null !== t && null !== e ? this.addConstraint("range", [t, e], void 0, !0) : null !== t ? this.addConstraint("min", t, void 0, !0) : null !== e && this.addConstraint("max", e, void 0, !0), null !== this.element.getAttribute("minlength") && null !== this.element.getAttribute("maxlength") ? this.addConstraint("length", [this.element.getAttribute("minlength"), this.element.getAttribute("maxlength")], void 0, !0) : null !== this.element.getAttribute("minlength") ? this.addConstraint("minlength", this.element.getAttribute("minlength"), void 0, !0) : null !== this.element.getAttribute("maxlength") && this.addConstraint("maxlength", this.element.getAttribute("maxlength"), void 0, !0);
1115      var i = d.getType(this.element);
1116      return "number" === i ? this.addConstraint("type", ["number", {
1117        step: this.element.getAttribute("step") || "1",
1118        base: t || this.element.getAttribute("value")
1119      }], void 0, !0) : /^(email|url|range|date)$/i.test(i) ? this.addConstraint("type", i, void 0, !0) : this;
1120    },
1121    _isRequired: function _isRequired() {
1122      return void 0 !== this.constraintsByName.required && !1 !== this.constraintsByName.required.requirements;
1123    },
1124    _trigger: function _trigger(t) {
1125      return this.trigger("field:" + t);
1126    },
1127    _handleWhitespace: function _handleWhitespace(t) {
1128      return !0 === this.options.trimValue && d.warnOnce('data-parsley-trim-value="true" is deprecated, please use data-parsley-whitespace="trim"'), "squish" === this.options.whitespace && (t = t.replace(/\s{2,}/g, " ")), "trim" !== this.options.whitespace && "squish" !== this.options.whitespace && !0 !== this.options.trimValue || (t = d.trimString(t)), t;
1129    },
1130    _isDateInput: function _isDateInput() {
1131      var t = this.constraintsByName.type;
1132      return t && "date" === t.requirements;
1133    },
1134    _getGroupedConstraints: function _getGroupedConstraints() {
1135      if (!1 === this.options.priorityEnabled) return [this.constraints];
1136
1137      for (var t = [], e = {}, i = 0; i < this.constraints.length; i++) {
1138        var n = this.constraints[i].priority;
1139        e[n] || t.push(e[n] = []), e[n].push(this.constraints[i]);
1140      }
1141
1142      return t.sort(function (t, e) {
1143        return e[0].priority - t[0].priority;
1144      }), t;
1145    }
1146  };
1147
1148  var C = function C() {
1149    this.__class__ = "FieldMultiple";
1150  };
1151
1152  C.prototype = {
1153    addElement: function addElement(t) {
1154      return this.$elements.push(t), this;
1155    },
1156    _refreshConstraints: function _refreshConstraints() {
1157      var t;
1158      if (this.constraints = [], "SELECT" === this.element.nodeName) return this.actualizeOptions()._bindConstraints(), this;
1159
1160      for (var e = 0; e < this.$elements.length; e++) {
1161        if (h("html").has(this.$elements[e]).length) {
1162          t = this.$elements[e].data("FieldMultiple")._refreshConstraints().constraints;
1163
1164          for (var i = 0; i < t.length; i++) {
1165            this.addConstraint(t[i].name, t[i].requirements, t[i].priority, t[i].isDomConstraint);
1166          }
1167        } else this.$elements.splice(e, 1);
1168      }
1169
1170      return this;
1171    },
1172    getValue: function getValue() {
1173      if ("function" == typeof this.options.value) return this.options.value(this);
1174      if (void 0 !== this.options.value) return this.options.value;
1175
1176      if ("INPUT" === this.element.nodeName) {
1177        var t = d.getType(this.element);
1178        if ("radio" === t) return this._findRelated().filter(":checked").val() || "";
1179
1180        if ("checkbox" === t) {
1181          var e = [];
1182          return this._findRelated().filter(":checked").each(function () {
1183            e.push(h(this).val());
1184          }), e;
1185        }
1186      }
1187
1188      return "SELECT" === this.element.nodeName && null === this.$element.val() ? [] : this.$element.val();
1189    },
1190    _init: function _init() {
1191      return this.$elements = [this.$element], this;
1192    }
1193  };
1194
1195  var A = function A(t, e, i) {
1196    this.element = t, this.$element = h(t);
1197    var n = this.$element.data("Parsley");
1198    if (n) return void 0 !== i && n.parent === window.Parsley && (n.parent = i, n._resetOptions(n.options)), "object" === r(e) && o(n.options, e), n;
1199    if (!this.$element.length) throw new Error("You must bind Parsley on an existing element.");
1200    if (void 0 !== i && "Form" !== i.__class__) throw new Error("Parent instance must be a Form instance");
1201    return this.parent = i || window.Parsley, this.init(e);
1202  };
1203
1204  A.prototype = {
1205    init: function init(t) {
1206      return this.__class__ = "Parsley", this.__version__ = "2.9.1", this.__id__ = d.generateID(), this._resetOptions(t), "FORM" === this.element.nodeName || d.checkAttr(this.element, this.options.namespace, "validate") && !this.$element.is(this.options.inputs) ? this.bind("parsleyForm") : this.isMultiple() ? this.handleMultiple() : this.bind("parsleyField");
1207    },
1208    isMultiple: function isMultiple() {
1209      var t = d.getType(this.element);
1210      return "radio" === t || "checkbox" === t || "SELECT" === this.element.nodeName && null !== this.element.getAttribute("multiple");
1211    },
1212    handleMultiple: function handleMultiple() {
1213      var t,
1214          e,
1215          n = this;
1216      if (this.options.multiple = this.options.multiple || (t = this.element.getAttribute("name")) || this.element.getAttribute("id"), "SELECT" === this.element.nodeName && null !== this.element.getAttribute("multiple")) return this.options.multiple = this.options.multiple || this.__id__, this.bind("parsleyFieldMultiple");
1217      if (!this.options.multiple) return d.warn("To be bound by Parsley, a radio, a checkbox and a multiple select input must have either a name or a multiple option.", this.$element), this;
1218      this.options.multiple = this.options.multiple.replace(/(:|\.|\[|\]|\{|\}|\$)/g, ""), t && h('input[name="' + t + '"]').each(function (t, e) {
1219        var i = d.getType(e);
1220        "radio" !== i && "checkbox" !== i || e.setAttribute(n.options.namespace + "multiple", n.options.multiple);
1221      });
1222
1223      for (var i = this._findRelated(), r = 0; r < i.length; r++) {
1224        if (void 0 !== (e = h(i.get(r)).data("Parsley"))) {
1225          this.$element.data("FieldMultiple") || e.addElement(this.$element);
1226          break;
1227        }
1228      }
1229
1230      return this.bind("parsleyField", !0), e || this.bind("parsleyFieldMultiple");
1231    },
1232    bind: function bind(t, e) {
1233      var i;
1234
1235      switch (t) {
1236        case "parsleyForm":
1237          i = h.extend(new y(this.element, this.domOptions, this.options), new s(), window.ParsleyExtend)._bindFields();
1238          break;
1239
1240        case "parsleyField":
1241          i = h.extend(new b(this.element, this.domOptions, this.options, this.parent), new s(), window.ParsleyExtend);
1242          break;
1243
1244        case "parsleyFieldMultiple":
1245          i = h.extend(new b(this.element, this.domOptions, this.options, this.parent), new C(), new s(), window.ParsleyExtend)._init();
1246          break;
1247
1248        default:
1249          throw new Error(t + "is not a supported Parsley type");
1250      }
1251
1252      return this.options.multiple && d.setAttr(this.element, this.options.namespace, "multiple", this.options.multiple), void 0 !== e ? this.$element.data("FieldMultiple", i) : (this.$element.data("Parsley", i), i._actualizeTriggers(), i._trigger("init")), i;
1253    }
1254  };
1255  var E = h.fn.jquery.split(".");
1256  if (parseInt(E[0]) <= 1 && parseInt(E[1]) < 8) throw "The loaded version of jQuery is too old. Please upgrade to 1.8.x or better.";
1257  E.forEach || d.warn("Parsley requires ES5 to run properly. Please include https://github.com/es-shims/es5-shim");
1258  var x = o(new s(), {
1259    element: document,
1260    $element: h(document),
1261    actualizeOptions: null,
1262    _resetOptions: null,
1263    Factory: A,
1264    version: "2.9.1"
1265  });
1266  o(b.prototype, v.Field, s.prototype), o(y.prototype, v.Form, s.prototype), o(A.prototype, s.prototype), h.fn.parsley = h.fn.psly = function (t) {
1267    if (1 < this.length) {
1268      var e = [];
1269      return this.each(function () {
1270        e.push(h(this).parsley(t));
1271      }), e;
1272    }
1273
1274    if (0 != this.length) return new A(this[0], t);
1275  }, void 0 === window.ParsleyExtend && (window.ParsleyExtend = {}), x.options = o(d.objectCreate(n), window.ParsleyConfig), window.ParsleyConfig = x.options, window.Parsley = window.psly = x, x.Utils = d, window.ParsleyUtils = {}, h.each(d, function (t, e) {
1276    "function" == typeof e && (window.ParsleyUtils[t] = function () {
1277      return d.warnOnce("Accessing `window.ParsleyUtils` is deprecated. Use `window.Parsley.Utils` instead."), d[t].apply(d, arguments);
1278    });
1279  });
1280  var $ = window.Parsley._validatorRegistry = new a(window.ParsleyConfig.validators, window.ParsleyConfig.i18n);
1281  window.ParsleyValidator = {}, h.each("setLocale addCatalog addMessage addMessages getErrorMessage formatMessage addValidator updateValidator removeValidator hasValidator".split(" "), function (t, e) {
1282    window.Parsley[e] = function () {
1283      return $[e].apply($, arguments);
1284    }, window.ParsleyValidator[e] = function () {
1285      var t;
1286      return d.warnOnce("Accessing the method '".concat(e, "' through Validator is deprecated. Simply call 'window.Parsley.").concat(e, "(...)'")), (t = window.Parsley)[e].apply(t, arguments);
1287    };
1288  }), window.Parsley.UI = v, window.ParsleyUI = {
1289    removeError: function removeError(t, e, i) {
1290      var n = !0 !== i;
1291      return d.warnOnce("Accessing UI is deprecated. Call 'removeError' on the instance directly. Please comment in issue 1073 as to your need to call this method."), t.removeError(e, {
1292        updateClass: n
1293      });
1294    },
1295    getErrorsMessages: function getErrorsMessages(t) {
1296      return d.warnOnce("Accessing UI is deprecated. Call 'getErrorsMessages' on the instance directly."), t.getErrorsMessages();
1297    }
1298  }, h.each("addError updateError".split(" "), function (t, a) {
1299    window.ParsleyUI[a] = function (t, e, i, n, r) {
1300      var s = !0 !== r;
1301      return d.warnOnce("Accessing UI is deprecated. Call '".concat(a, "' on the instance directly. Please comment in issue 1073 as to your need to call this method.")), t[a](e, {
1302        message: i,
1303        assert: n,
1304        updateClass: s
1305      });
1306    };
1307  }), !1 !== window.ParsleyConfig.autoBind && h(function () {
1308    h("[data-parsley-validate]").length && h("[data-parsley-validate]").parsley();
1309  });
1310
1311  var V = h({}),
1312      P = function P() {
1313    d.warnOnce("Parsley's pubsub module is deprecated; use the 'on' and 'off' methods on parsley instances or window.Parsley");
1314  };
1315
1316  function O(e, i) {
1317    return e.parsleyAdaptedCallback || (e.parsleyAdaptedCallback = function () {
1318      var t = Array.prototype.slice.call(arguments, 0);
1319      t.unshift(this), e.apply(i || V, t);
1320    }), e.parsleyAdaptedCallback;
1321  }
1322
1323  var T = "parsley:";
1324
1325  function M(t) {
1326    return 0 === t.lastIndexOf(T, 0) ? t.substr(T.length) : t;
1327  }
1328
1329  return h.listen = function (t, e) {
1330    var i;
1331    if (P(), "object" === r(arguments[1]) && "function" == typeof arguments[2] && (i = arguments[1], e = arguments[2]), "function" != typeof e) throw new Error("Wrong parameters");
1332    window.Parsley.on(M(t), O(e, i));
1333  }, h.listenTo = function (t, e, i) {
1334    if (P(), !(t instanceof b || t instanceof y)) throw new Error("Mu
1334st give Parsley instance");
1335    if ("string" != typeof e || "function" != typeof i) throw new Error("Wrong parameters");
1336    t.on(M(e), O(i));
1337  }, h.unsubscribe = function (t, e) {
1338    if (P(), "string" != typeof t || "function" != typeof e) throw new Error("Wrong arguments");
1339    window.Parsley.off(M(t), e.parsleyAdaptedCallback);
1340  }, h.unsubscribeTo = function (t, e) {
1341    if (P(), !(t instanceof b || t instanceof y)) throw new Error("Must give Parsley instance");
1342    t.off(M(e));
1343  }, h.unsubscribeAll = function (e) {
1344    P(), window.Parsley.off(M(e)), h("form,input,textarea,select").each(function () {
1345      var t = h(this).data("Parsley");
1346      t && t.off(M(e));
1347    });
1348  }, h.emit = function (t, e) {
1349    var i;
1350    P();
1351    var n = e instanceof b || e instanceof y,
1352        r = Array.prototype.slice.call(arguments, n ? 2 : 1);
1353    r.unshift(M(t)), n || (e = window.Parsley), (i = e).trigger.apply(i, u(r));
1354  }, h.extend(!0, x, {
1355    asyncValidators: {
1356      "default": {
1357        fn: function fn(t) {
1358          return 200 <= t.status && t.status < 300;
1359        },
1360        url: !1
1361      },
1362      reverse: {
1363        fn: function fn(t) {
1364          return t.status < 200 || 300 <= t.status;
1365        },
1366        url: !1
1367      }
1368    },
1369    addAsyncValidator: function addAsyncValidator(t, e, i, n) {
1370      return x.asyncValidators[t] = {
1371        fn: e,
1372        url: i || !1,
1373        options: n || {}
1374      }, this;
1375    }
1376  }), x.addValidator("remote", {
1377    requirementType: {
1378      "": "string",
1379      validator: "string",
1380      reverse: "boolean",
1381      options: "object"
1382    },
1383    validateString: function validateString(t, e, i, n) {
1384      var r,
1385          s,
1386          a = {},
1387          o = i.validator || (!0 === i.reverse ? "reverse" : "default");
1388      if (void 0 === x.asyncValidators[o]) throw new Error("Calling an undefined async validator: `" + o + "`");
1389      -1 < (e = x.asyncValidators[o].url || e).indexOf("{value}") ? e = e.replace("{value}", encodeURIComponent(t)) : a[n.element.getAttribute("name") || n.element.getAttribute("id")] = t;
1390      var l = h.extend(!0, i.options || {}, x.asyncValidators[o].options);
1391      r = h.extend(!0, {}, {
1392        url: e,
1393        data: a,
1394        type: "GET"
1395      }, l), n.trigger("field:ajaxoptions", n, r), s = h.param(r), void 0 === x._remoteCache && (x._remoteCache = {});
1396
1397      var u = x._remoteCache[s] = x._remoteCache[s] || h.ajax(r),
1398          d = function d() {
1399        var t = x.asyncValidators[o].fn.call(n, u, e, i);
1400        return t || (t = h.Deferred().reject()), h.when(t);
1401      };
1402
1403      return u.then(d, d);
1404    },
1405    priority: -1
1406  }), x.on("form:submit", function () {
1407    x._remoteCache = {};
1408  }), s.prototype.addAsyncValidator = function () {
1409    return d.warnOnce("Accessing the method `addAsyncValidator` through an instance is deprecated. Simply call `Parsley.addAsyncValidator(...)`"), x.addAsyncValidator.apply(x, arguments);
1410  }, x.addMessages("en", {
1411    defaultMessage: "This value seems to be invalid.",
1412    type: {
1413      email: "This value should be a valid email.",
1414      url: "This value should be a valid url.",
1415      number: "This value should be a valid number.",
1416      integer: "This value should be a valid integer.",
1417      digits: "This value should be digits.",
1418      alphanum: "This value should be alphanumeric."
1419    },
1420    notblank: "This value should not be blank.",
1421    required: "This value is required.",
1422    pattern: "This value seems to be invalid.",
1423    min: "This value should be greater than or equal to %s.",
1424    max: "This value should be lower than or equal to %s.",
1425    range: "This value should be between %s and %s.",
1426    minlength: "This value is too short. It should have %s characters or more.",
1427    maxlength: "This value is too long. It should have %s characters or fewer.",
1428    length: "This value length is invalid. It should be between %s and %s characters long.",
1429    mincheck: "You must select at least %s choices.",
1430    maxcheck: "You must select %s choices or fewer.",
1431    check: "You must select between %s and %s choices.",
1432    equalto: "This value should be the same.",
1433    euvatin: "It's not a valid VAT Identification Number."
1434  }), x.setLocale("en"), new function () {
1435    var n = this,
1436        r = window || global;
1437    o(this, {
1438      isNativeEvent: function isNativeEvent(t) {
1439        return t.originalEvent && !1 !== t.originalEvent.isTrusted;
1440      },
1441      fakeInputEvent: function fakeInputEvent(t) {
1442        n.isNativeEvent(t) && h(t.target).trigger("input");
1443      },
1444      misbehaves: function misbehaves(t) {
1445        n.isNativeEvent(t) && (n.behavesOk(t), h(document).on("change.inputevent", t.data.selector, n.fakeInputEvent), n.fakeInputEvent(t));
1446      },
1447      behavesOk: function behavesOk(t) {
1448        n.isNativeEvent(t) && h(document).off("input.inputevent", t.data.selector, n.behavesOk).off("change.inputevent", t.data.selector, n.misbehaves);
1449      },
1450      install: function install() {
1451        if (!r.inputEventPatched) {
1452          r.inputEventPatched = "0.0.3";
1453
1454          for (var t = ["select", 'input[type="checkbox"]', 'input[type="radio"]', 'input[type="file"]'], e = 0; e < t.length; e++) {
1455            var i = t[e];
1456            h(document).on("input.inputevent", i, {
1457              selector: i
1458            }, n.behavesOk).on("change.inputevent", i, {
1459              selector: i
1460            }, n.misbehaves);
1461          }
1462        }
1463      },
1464      uninstall: function uninstall() {
1465        delete r.inputEventPatched, h(document).off(".inputevent");
1466      }
1467    });
1468  }().install(), x;
1469});
1470$(function () {
1471  $('.input-field').each(function () {
1472    canShowFloatLabel($(this));
1473  });
1474  $(document).on('input', '.input-field', function () {
1475    canShowFloatLabel($(this));
1476  });
1477  checkSelectChosen();
1478});
1479
1480function checkInputIsValid(input) {
1481  $(input).parsley().validate();
1482}
1483
1484function removeValidationParsley(input) {
1485  $(input).parsley().reset();
1486}
1487
1488function removeFloatLabel(input) {
1489  input.removeClass('input-not-empty');
1490}
1491
1492function canShowFloatLabel(input) {
1493  if (input.val()) {
1494    input.addClass('input-not-empty');
1495  } else {
1496    input.removeClass('input-not-empty');
1497  }
1498}
1499
1500var checkSelectChosen = function checkSelectChosen() {
1501  if ($('.chosen-select').length > 0) {
1502    var disableSearch = $('.chosen-select').data('disableSearch') != undefined;
1503    $('.chosen-select').chosen({
1504      width: '100%',
1505      no_results_text: "Nenhum resultado encontrado:",
1506      disable_search: disableSearch
1507    });
1508
1509    if ($('.form').length > 0) {
1510      $('.form').parsley().on('field:error', function () {
1511        if (this.$element[0].type == 'select-multiple' || this.$element[0].type == 'select-one') {
1512          var chosen = this.$element.next('.chosen-container-single, .chosen-container-multi');
1513
1514          if (chosen.length > 0) {
1515            chosen.find('.chosen-single, .chosen-choices').css('border-bottom', '1px solid #FF1E12');
1516            chosen.next('.input-field-label').css('color', '#FF1E12');
1517          }
1518        }
1519      }).on('field:success', function () {
1520        if (this.$element[0].type == 'select-multiple' || this.$element[0].type == 'select-one') {
1521          var chosen = this.$element.next('.chosen-container-single, .chosen-container-multi');
1522
1523          if (chosen.length > 0) {
1524            chosen.find('.chosen-single, .chosen-choices').css('border', '');
1525            chosen.next('.input-field-label').css('color', '#B2B2B2');
1526          }
1527        }
1528      });
1529    }
1530  }
1531};
1532
1533$(function () {
1534  maskFields();
1535  addCustomValidation();
1536});
1537/*Aplica mascaras para determinados campos*/
1538
1539function maskFields() {
1540  /*CNPJ*/
1541  $(document).on('focus', '[cnpj-mask]', function () {
1542    $(this).mask('00.000.000/0000-00');
1543  });
1544  /*Telefone fixo*/
1545
1546  $(document).on('focus', '[phone-mask]', function () {
1547    $(this).mask('(00) 0000-0000');
1548  });
1549  /*Celular*/
1550
1551  $(document).on('focus', '[cellphone-mask]', function () {
1552    //Mascara para aceitar 8 ou 9 digitos.
1553    var maskBehavior = function maskBehavior(val) {
1554      return val.replace(/\D/g, '').length === 11 ? '(00) 00000-0000' : '(00) 0000-00009';
1555    },
1556        options = {
1557      onKeyPress: function onKeyPress(val, e, field, options) {
1558        field.mask(maskBehavior.apply({}, arguments), options);
1559      }
1560    };
1561
1562    $(this).mask(maskBehavior, options);
1563  });
1564  /*Data*/
1565
1566  $(document).on('focus', '[date-mask]', function () {
1567    $(this).mask('00/00/0000');
1568  });
1569  $(document).on('focus', '[cep-mask]', function () {
1570    $(this).mask('00000-000');
1571  });
1572}
1573/*Validações customizadas para o plugin parsley */
1574
1575
1576function addCustomValidation() {
1577  addCustomValidationBool = true;
1578  window.Parsley.addValidator("fullphone", function (a) {
1579    var b = "" != a ? a.substr(5) : "",
1580        c = /^9?[2-9][0-9]{3}\-[0-9]{4}$/,
1581        d = "" != a ? a.substr(1, 2) : "",
1582        e = ["11", "12", "13", "14", "15", "16", "17", "18", "19", "21", "22", "24", "27", "28", "31", "32", "33", "34", "35", "37", "38", "41", "42", "43", "44", "45", "46", "47", "48", "49", "51", "53", "54", "55", "61", "62", "63", "64", "65", "66", "67", "68", "69", "71", "73", "74", "75", "77", "79", "81", "82", "83", "84", "85", "86", "87", "88", "89", "91", "92", "93", "94", "95", "96", "97", "98", "99"];
1583    return e.indexOf(d) > -1 && c.test(b) ? !0 : !1;
1584  }).addValidator("cpf", function (a) {
1585    if (cpf = a.replace(/[^\d]+/g, ""), "" == cpf) return !1;
1586    if (11 != cpf.length || "00000000000" == cpf || "11111111111" == cpf || "22222222222" == cpf || "33333333333" == cpf || "44444444444" == cpf || "55555555555" == cpf || "66666666666" == cpf || "77777777777" == cpf || "88888888888" == cpf || "99999999999" == cpf) return !1;
1587
1588    for (add = 0, i = 0; i < 9; i++) {
1589      add += parseInt(cpf.charAt(i)) * (10 - i);
1590    }
1591
1592    if (rev = 11 - add % 11, (10 == rev || 11 == rev) && (rev = 0), rev != parseInt(cpf.charAt(9))) return !1;
1593
1594    for (add = 0, i = 0; i < 10; i++) {
1595      add += parseInt(cpf.charAt(i)) * (11 - i);
1596    }
1597
1598    return rev = 11 - add % 11, (10 == rev || 11 == rev) && (rev = 0), rev != parseInt(cpf.charAt(10)) ? !1 : !0;
1599  }, 512).addValidator("date", function (a, b) {
1600    var c = a.split("/"),
1601        d = new Date(c[1] + "/" + c[0] + "/" + c[2]);
1602    return d.getMonth() + 1 === +c[1] && d.getDate() === +c[0] && d.getFullYear() === +c[2];
1603  }).addValidator("month_year", function (a) {
1604    var b = /^(0[1-9]|1[0-2])$/,
1605        c = a.split("/"),
1606        d = c[0],
1607        e = "20" + c[1],
1608        f = new Date(e, d),
1609        g = new Date(),
1610        h = new Date(g.getFullYear(), g.getMonth());
1611    return null === d.match(b) || f > h == !1 ? !1 : !0;
1612  }).addValidator('cnpj', function (value, requirement) {
1613    var cnpj = value.replace(/[^0-9]/g, ''),
1614        len = cnpj.length - 2,
1615        numbers = cnpj.substring(0, len),
1616        digits = cnpj.substring(len),
1617        add = 0,
1618        pos = len - 7,
1619        invalidCNPJ = ['00000000000000', '11111111111111', '22222222222222', '33333333333333', '44444444444444', '55555555555555', '66666666666666', '77777777777777', '88888888888888', '99999999999999'],
1620        result;
1621
1622    if (cnpj.length < 11 || $.inArray(cnpj, invalidCNPJ) !== -1) {
1623      return false;
1624    }
1625
1626    for (i = len; i >= 1; i--) {
1627      add = add + parseInt(numbers.charAt(len - i)) * pos--;
1628
1629      if (pos < 2) {
1630        pos = 9;
1631      }
1632    }
1633
1634    result = add % 11 < 2 ? 0 : 11 - add % 11;
1635
1636    if (result != digits.charAt(0)) {
1637      return false;
1638    }
1639
1640    len = len + 1;
1641    numbers = cnpj.substring(0, len);
1642    add = 0;
1643    pos = len - 7;
1644
1645    for (i = 13; i >= 1; i--) {
1646      add = add + parseInt(numbers.charAt(len - i)) * pos--;
1647
1648      if (pos < 2) {
1649        pos = 9;
1650      }
1651    }
1652
1653    result = add % 11 < 2 ? 0 : 11 - add % 11;
1654
1655    if (result != digits.charAt(1)) {
1656      return false;
1657    }
1658
1659    return true;
1660  }, 32).addValidator('date_greater_or_equal_to', function (value, comparedate) {
1661    if (comparedate != '') {
1662      moment.locale('pt-BR');
1663      var array = comparedate.split(",");
1664      var date1 = moment(value, "DD/MM/YYYY");
1665      var date2 = moment(array[0] == 'today' ? moment() : array[0], "DD/MM/YYYY");
1666
1667      if (array.length > 1) {
1668        var date3 = moment(array[1] == 'today' ? moment() : array[1], "DD/MM/YYYY");
1669
1670        if (moment(date1).isSameOrAfter(moment(), 'day') || moment(date1).isSame(date3, 'day')) {
1671          return true;
1672        }
1673      } else {
1674        if (moment(date1).isSameOrAfter(moment(), 'day')) {
1675          return true;
1676        }
1677      }
1678
1679      return false;
1680    }
1681  });
1682}
1683
1684!function (i) {
1685  "use strict";
1686
1687  "function" == typeof define && define.amd ? define(["jquery"], i) : "undefined" != typeof exports ? module.exports = i(require("jquery")) : i(jQuery);
1688}(function (i) {
1689  "use strict";
1690
1691  var e = window.Slick || {};
1692  (e = function () {
1693    var e = 0;
1694    return function (t, o) {
1695      var s,
1696          n = this;
1697      n.defaults = {
1698        accessibility: !0,
1699        adaptiveHeight: !1,
1700        appendArrows: i(t),
1701        appendDots: i(t),
1702        arrows: !0,
1703        asNavFor: null,
1704        prevArrow: '<button class="slick-prev" aria-label="Previous" type="button">Previous</button>',
1705        nextArrow: '<button class="slick-next" aria-label="Next" type="button">Next</button>',
1706        autoplay: !1,
1707        autoplaySpeed: 3e3,
1708        centerMode: !1,
1709        centerPadding: "50px",
1710        cssEase: "ease",
1711        customPaging: function customPaging(e, t) {
1712          return i('<button type="button" />').text(t + 1);
1713        },
1714        dots: !1,
1715        dotsClass: "slick-dots",
1716        draggable: !0,
1717        easing: "linear",
1718        edgeFriction: .35,
1719        fade: !1,
1720        focusOnSelect: !1,
1721        focusOnChange: !1,
1722        infinite: !0,
1723        initialSlide: 0,
1724        lazyLoad: "ondemand",
1725        mobileFirst: !1,
1726        pauseOnHover: !0,
1727        pauseOnFocus: !0,
1728        pauseOnDotsHover: !1,
1729        respondTo: "window",
1730        responsive: null,
1731        rows: 1,
1732        rtl: !1,
1733        slide: "",
1734        slidesPerRow: 1,
1735        slidesToShow: 1,
1736        slidesToScroll: 1,
1737        speed: 500,
1738        swipe: !0,
1739        swipeToSlide: !1,
1740        touchMove: !0,
1741        touchThreshold: 5,
1742        useCSS: !0,
1743        useTransform: !0,
1744        variableWidth: !1,
1745        vertical: !1,
1746        verticalSwiping: !1,
1747        waitForAnimate: !0,
1748        zIndex: 1e3
1749      }, n.initials = {
1750        animating: !1,
1751        dragging: !1,
1752        autoPlayTimer: null,
1753        currentDirection: 0,
1754        currentLeft: null,
1755        currentSlide: 0,
1756        direction: 1,
1757        $dots: null,
1758        listWidth: null,
1759        listHeight: null,
1760        loadIndex: 0,
1761        $nextArrow: null,
1762        $prevArrow: null,
1763        scrolling: !1,
1764        slideCount: null,
1765        slideWidth: null,
1766        $slideTrack: null,
1767        $slides: null,
1768        sliding: !1,
1769        slideOffset: 0,
1770        swipeLeft: null,
1771        swiping: !1,
1772        $list: null,
1773        touchObject: {},
1774        transformsEnabled: !1,
1775        unslicked: !1
1776      }, 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);
1777    };
1778  }()).prototype.activateADA = function () {
1779    this.$slideTrack.find(".slick-active").attr({
1780      "aria-hidden": "false"
1781    }).find("a, input, button, select").attr({
1782      tabindex: "0"
1783    });
1784  }, e.prototype.addSlide = e.prototype.slickAdd = function (e, t, o) {
1785    var s = this;
1786    if ("boolean" == typeof t) o = t, t = null;else if (t < 0 || t >= s.slideCount) return !1;
1787    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) {
1788      i(t).attr("data-slick-index", e);
1789    }), s.$slidesCache = s.$slides, s.reinit();
1790  }, e.prototype.animateHeight = function () {
1791    var i = this;
1792
1793    if (1 === i.options.slidesToShow && !0 === i.options.adaptiveHeight && !1 === i.options.vertical) {
1794      var e = i.$slides.eq(i.currentSlide).outerHeight(!0);
1795      i.$list.animate({
1796        height: e
1797      }, i.options.speed);
1798    }
1799  }, e.prototype.animateSlide = function (e, t) {
1800    var o = {},
1801        s = this;
1802    s.animateHeight(), !0 === s.options.rtl && !1 === s.options.vertical && (e = -e), !1 === s.transformsEnabled ? !1 === s.options.vertical ? s.$slideTrack.animate({
1803      left: e
1804    }, s.options.speed, s.options.easing, t) : s.$slideTrack.animate({
1805      top: e
1806    }, s.options.speed, s.options.easing, t) : !1 === s.cssTransitions ? (!0 === s.options.rtl && (s.currentLeft = -s.currentLeft), i({
1807      animStart: s.currentLeft
1808    }).animate({
1809      animStart: e
1810    }, {
1811      duration: s.options.speed,
1812      easing: s.options.easing,
1813      step: function step(i) {
1814        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));
1815      },
1816      complete: function complete() {
1817        t && t.call();
1818      }
1819    })) : (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 () {
1820      s.disableTransition(), t.call();
1821    }, s.options.speed));
1822  }, e.prototype.getNavTarget = function () {
1823    var e = this,
1824        t = e.options.asNavFor;
1825    return t && null !== t && (t = i(t).not(e.$slider)), t;
1826  }, e.prototype.asNavFor = function (e) {
1827    var t = this.getNavTarget();
1828    null !== t && "object" == _typeof(t) && t.each(function () {
1829      var t = i(this).slick("getSlick");
1830      t.unslicked || t.slideHandler(e, !0);
1831    });
1832  }, e.prototype.applyTransition = function (i) {
1833    var e = this,
1834        t = {};
1835    !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);
1836  }, e.prototype.autoPlay = function () {
1837    var i = this;
1838    i.autoPlayClear(), i.slideCount > i.options.slidesToShow && (i.autoPlayTimer = setInterval(i.autoPlayIterator, i.options.autoplaySpeed));
1839  }, e.prototype.autoPlayClear = function () {
1840    var i = this;
1841    i.autoPlayTimer && clearInterval(i.autoPlayTimer);
1842  }, e.prototype.autoPlayIterator = function () {
1843    var i = this,
1844        e = i.currentSlide + i.options.slidesToScroll;
1845    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));
1846  }, e.prototype.buildArrows = function () {
1847    var e = this;
1848    !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({
1849      "aria-disabled": "true",
1850      tabindex: "-1"
1851    }));
1852  }, e.prototype.buildDots = function () {
1853    var e,
1854        t,
1855        o = this;
1856
1857    if (!0 === o.options.dots) {
1858      for (o.$slider.addClass("slick-dotted"), t = i("<ul />").addClass(o.options.dotsClass), e = 0; e <= o.getDotCount(); e += 1) {
1859        t.append(i("<li />").append(o.options.customPaging.call(this, o, e)));
1860      }
1861
1862      o.$dots = t.appendTo(o.options.appendDots), o.$dots.find("li").first().addClass("slick-active");
1863    }
1864  }, e.prototype.buildOut = function () {
1865    var e = this;
1866    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) {
1867      i(t).attr("data-slick-index", e).data("originalStyling", i(t).attr("style") || "");
1868    }), 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");
1869  }, e.prototype.buildRows = function () {
1870    var i,
1871        e,
1872        t,
1873        o,
1874        s,
1875        n,
1876        r,
1877        l = this;
1878
1879    if (o = document.createDocumentFragment(), n = l.$slider.children(), l.options.rows > 1) {
1880      for (r = l.options.slidesPerRow * l.options.rows, s = Math.ceil(n.length / r), i = 0; i < s; i++) {
1881        var d = document.createElement("div");
1882
1883        for (e = 0; e < l.options.rows; e++) {
1884          var a = document.createElement("div");
1885
1886          for (t = 0; t < l.options.slidesPerRow; t++) {
1887            var c = i * r + (e * l.options.slidesPerRow + t);
1888            n.get(c) && a.appendChild(n.get(c));
1889          }
1890
1891          d.appendChild(a);
1892        }
1893
1894        o.appendChild(d);
1895      }
1896
1897      l.$slider.empty().append(o), l.$slider.children().children().children().css({
1898        width: 100 / l.options.slidesPerRow + "%",
1899        display: "inline-block"
1900      });
1901    }
1902  }, e.prototype.checkResponsive = function (e, t) {
1903    var o,
1904        s,
1905        n,
1906        r = this,
1907        l = !1,
1908        d = r.$slider.width(),
1909        a = window.innerWidth || i(window).width();
1910
1911    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) {
1912      s = null;
1913
1914      for (o in r.breakpoints) {
1915        r.breakpoints.hasOwnProperty(o) && (!1 === r.originalSettings.mobileFirst ? n < r.breakpoints[o] && (s = r.breakpoints[o]) : n > r.breakpoints[o] && (s = r.breakpoints[o]));
1916      }
1917
1918      null !== s ? null !== r.activeBreakpoint ? (s !== r.activeBreakpoint || t) && (r.activeBreakpoint = s, "unslick" === r.breakpointSettings[s] ? r.unslick(s) : (r.o
1918ptions = 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]);
1919    }
1920  }, e.prototype.changeSlide = function (e, t) {
1921    var o,
1922        s,
1923        n,
1924        r = this,
1925        l = i(e.currentTarget);
1926
1927    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) {
1928      case "previous":
1929        s = 0 === o ? r.options.slidesToScroll : r.options.slidesToShow - o, r.slideCount > r.options.slidesToShow && r.slideHandler(r.currentSlide - s, !1, t);
1930        break;
1931
1932      case "next":
1933        s = 0 === o ? r.options.slidesToScroll : o, r.slideCount > r.options.slidesToShow && r.slideHandler(r.currentSlide + s, !1, t);
1934        break;
1935
1936      case "index":
1937        var d = 0 === e.data.index ? 0 : e.data.index || l.index() * r.options.slidesToScroll;
1938        r.slideHandler(r.checkNavigable(d), !1, t), l.children().trigger("focus");
1939        break;
1940
1941      default:
1942        return;
1943    }
1944  }, e.prototype.checkNavigable = function (i) {
1945    var e, t;
1946    if (e = this.getNavigableIndexes(), t = 0, i > e[e.length - 1]) i = e[e.length - 1];else for (var o in e) {
1947      if (i < e[o]) {
1948        i = t;
1949        break;
1950      }
1951
1952      t = e[o];
1953    }
1954    return i;
1955  }, e.prototype.cleanUpEvents = function () {
1956    var e = this;
1957    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.
1957slick", 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);
1958  }, e.prototype.cleanUpSlideEvents = function () {
1959    var e = this;
1960    e.$list.off("mouseenter.slick", i.proxy(e.interrupt, e, !0)), e.$list.off("mouseleave.slick", i.proxy(e.interrupt, e, !1));
1961  }, e.prototype.cleanUpRows = function () {
1962    var i,
1963        e = this;
1964    e.options.rows > 1 && ((i = e.$slides.children().children()).removeAttr("style"), e.$slider.empty().append(i));
1965  }, e.prototype.clickHandler = function (i) {
1966    !1 === this.shouldClick && (i.stopImmediatePropagation(), i.stopPropagation(), i.preventDefault());
1967  }, e.prototype.destroy = function (e) {
1968    var t = this;
1969    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 () {
1970      i(this).attr("style", i(this).data("originalStyling"));
1971    }), 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]);
1972  }, e.prototype.disableTransition = function (i) {
1973    var e = this,
1974        t = {};
1975    t[e.transitionType] = "", !1 === e.options.fade ? e.$slideTrack.css(t) : e.$slides.eq(i).css(t);
1976  }, e.prototype.fadeSlide = function (i, e) {
1977    var t = this;
1978    !1 === t.cssTransitions ? (t.$slides.eq(i).css({
1979      zIndex: t.options.zIndex
1980    }), t.$slides.eq(i).animate({
1981      opacity: 1
1982    }, t.options.speed, t.options.easing, e)) : (t.applyTransition(i), t.$slides.eq(i).css({
1983      opacity: 1,
1984      zIndex: t.options.zIndex
1985    }), e && setTimeout(function () {
1986      t.disableTransition(i), e.call();
1987    }, t.options.speed));
1988  }, e.prototype.fadeSlideOut = function (i) {
1989    var e = this;
1990    !1 === e.cssTransitions ? e.$slides.eq(i).animate({
1991      opacity: 0,
1992      zIndex: e.options.zIndex - 2
1993    }, e.options.speed, e.options.easing) : (e.applyTransition(i), e.$slides.eq(i).css({
1994      opacity: 0,
1995      zIndex: e.options.zIndex - 2
1996    }));
1997  }, e.prototype.filterSlides = e.prototype.slickFilter = function (i) {
1998    var e = this;
1999    null !== i && (e.$slidesCache = e.$slides, e.unload(), e.$slideTrack.children(this.options.slide).detach(), e.$slidesCache.filter(i).appendTo(e.$slideTrack), e.reinit());
2000  }, e.prototype.focusHandler = function () {
2001    var e = this;
2002    e.$slider.off("focus.slick blur.slick").on("focus.slick blur.slick", "*", function (t) {
2003      t.stopImmediatePropagation();
2004      var o = i(this);
2005      setTimeout(function () {
2006        e.options.pauseOnFocus && (e.focussed = o.is(":focus"), e.autoPlay());
2007      }, 0);
2008    });
2009  }, e.prototype.getCurrent = e.prototype.slickCurrentSlide = function () {
2010    return this.currentSlide;
2011  }, e.prototype.getDotCount = function () {
2012    var i = this,
2013        e = 0,
2014        t = 0,
2015        o = 0;
2016    if (!0 === i.options.infinite) {
2017      if (i.slideCount <= i.options.slidesToShow) ++o;else for (; e < i.slideCount;) {
2018        ++o, e = t + i.options.slidesToScroll, t += i.options.slidesToScroll <= i.options.slidesToShow ? i.options.slidesToScroll : i.options.slidesToShow;
2019      }
2020    }
2020 else if (!0 === i.options.centerMode) o = i.slideCount;else if (i.options.asNavFor) for (; e < i.slideCount;) {
2021      ++o, e = t + i.options.slidesToScroll, t += i.options.slidesToScroll <= i.options.slidesToShow ? i.options.slidesToScroll : i.options.slidesToShow;
2022    } else o = 1 + Math.ceil((i.slideCount - i.options.slidesToShow) / i.options.slidesToScroll);
2023    return o - 1;
2024  }, e.prototype.getLeft = function (i) {
2025    var e,
2026        t,
2027        o,
2028        s,
2029        n = this,
2030        r = 0;
2031    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;
2032  }, e.prototype.getOption = e.prototype.slickGetOption = function (i) {
2033    return this.options[i];
2034  }, e.prototype.getNavigableIndexes = function () {
2035    var i,
2036        e = this,
2037        t = 0,
2038        o = 0,
2039        s = [];
2040
2041    for (!1 === e.options.infinite ? i = e.slideCount : (t = -1 * e.options.slidesToScroll, o = -1 * e.options.slidesToScroll, i = 2 * e.slideCount); t < i;) {
2042      s.push(t), t = o + e.options.slidesToScroll, o += e.options.slidesToScroll <= e.options.slidesToShow ? e.options.slidesToScroll : e.options.slidesToShow;
2043    }
2044
2045    return s;
2046  }, e.prototype.getSlick = function () {
2047    return this;
2048  }, e.prototype.getSlideCount = function () {
2049    var e,
2050        t,
2051        o = this;
2052    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) {
2053      if (n.offsetLeft - t + i(n).outerWidth() / 2 > -1 * o.swipeLeft) return e = n, !1;
2054    }), Math.abs(i(e).attr("data-slick-index") - o.currentSlide) || 1) : o.options.slidesToScroll;
2055  }, e.prototype.goTo = e.prototype.slickGoTo = function (i, e) {
2056    this.changeSlide({
2057      data: {
2058        message: "index",
2059        index: parseInt(i)
2060      }
2061    }, e);
2062  }, e.prototype.init = function (e) {
2063    var t = this;
2064    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());
2065  }, e.prototype.initADA = function () {
2066    var e = this,
2067        t = Math.ceil(e.slideCount / e.options.slidesToShow),
2068        o = e.getNavigableIndexes().filter(function (i) {
2069      return i >= 0 && i < e.slideCount;
2070    });
2071    e.$slides.add(e.$slideTrack.find(".slick-cloned")).attr({
2072      "aria-hidden": "true",
2073      tabindex: "-1"
2074    }).find("a, input, button, select").attr({
2075      tabindex: "-1"
2076    }), null !== e.$dots && (e.$slides.not(e.$slideTrack.find(".slick-cloned")).each(function (t) {
2077      var s = o.indexOf(t);
2078      i(this).attr({
2079        role: "tabpanel",
2080        id: "slick-slide" + e.instanceUid + t,
2081        tabindex: -1
2082      }), -1 !== s && i(this).attr({
2083        "aria-describedby": "slick-slide-control" + e.instanceUid + s
2084      });
2085    }), e.$dots.attr("role", "tablist").find("li").each(function (s) {
2086      var n = o[s];
2087      i(this).attr({
2088        role: "presentation"
2089      }), i(this).find("button").first().attr({
2090        role: "tab",
2091        id: "slick-slide-control" + e.instanceUid + s,
2092        "aria-controls": "slick-slide" + e.instanceUid + n,
2093        "aria-label": s + 1 + " of " + t,
2094        "aria-selected": null,
2095        tabindex: "-1"
2096      });
2097    }).eq(e.currentSlide).find("button").attr({
2098      "aria-selected": "true",
2099      tabindex: "0"
2100    }).end());
2101
2102    for (var s = e.currentSlide, n = s + e.options.slidesToShow; s < n; s++) {
2103      e.$slides.eq(s).attr("tabindex", 0);
2104    }
2105
2106    e.activateADA();
2107  }, e.prototype.initArrowEvents = function () {
2108    var i = this;
2109    !0 === i.options.arrows && i.slideCount > i.options.slidesToShow && (i.$prevArrow.off("click.slick").on("click.slick", {
2110      message: "previous"
2111    }, i.changeSlide), i.$nextArrow.off("click.slick").on("click.slick", {
2112      message: "next"
2113    }, i.changeSlide), !0 === i.options.accessibility && (i.$prevArrow.on("keydown.slick", i.keyHandler), i.$nextArrow.on("keydown.slick", i.keyHandler)));
2114  }, e.prototype.initDotEvents = function () {
2115    var e = this;
2116    !0 === e.options.dots && (i("li", e.$dots).on("click.slick", {
2117      message: "index"
2118    }, 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));
2119  }, e.prototype.initSlideEvents = function () {
2120    var e = this;
2121    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)));
2122  }, e.prototype.initializeEvents = function () {
2123    var e = this;
2124    e.initArrowEvents(), e.initDotEvents(), e.initSlideEvents(), e.$list.on("touchstart.slick mousedown.slick", {
2125      action: "start"
2126    }, e.swipeHandler), e.$list.on("touchmove.slick mousemove.slick", {
2127      action: "move"
2128    }, e.swipeHandler), e.$list.on("touchend.slick mouseup.slick", {
2129      action: "end"
2130    }
2130, e.swipeHandler), e.$list.on("touchcancel.slick mouseleave.slick", {
2131      action: "end"
2132    }, 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);
2133  }, e.prototype.initUI = function () {
2134    var i = this;
2135    !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();
2136  }, e.prototype.keyHandler = function (i) {
2137    var e = this;
2138    i.target.tagName.match("TEXTAREA|INPUT|SELECT") || (37 === i.keyCode && !0 === e.options.accessibility ? e.changeSlide({
2139      data: {
2140        message: !0 === e.options.rtl ? "next" : "previous"
2141      }
2142    }) : 39 === i.keyCode && !0 === e.options.accessibility && e.changeSlide({
2143      data: {
2144        message: !0 === e.options.rtl ? "previous" : "next"
2145      }
2146    }));
2147  }, e.prototype.lazyLoad = function () {
2148    function e(e) {
2149      i("img[data-lazy]", e).each(function () {
2150        var e = i(this),
2151            t = i(this).attr("data-lazy"),
2152            o = i(this).attr("data-srcset"),
2153            s = i(this).attr("data-sizes") || n.$slider.attr("data-sizes"),
2154            r = document.createElement("img");
2155        r.onload = function () {
2156          e.animate({
2157            opacity: 0
2158          }, 100, function () {
2159            o && (e.attr("srcset", o), s && e.attr("sizes", s)), e.attr("src", t).animate({
2160              opacity: 1
2161            }, 200, function () {
2162              e.removeAttr("data-lazy data-srcset data-sizes").removeClass("slick-loading");
2163            }), n.$slider.trigger("lazyLoaded", [n, e, t]);
2164          });
2165        }, r.onerror = function () {
2166          e.removeAttr("data-lazy").removeClass("slick-loading").addClass("slick-lazyload-error"), n.$slider.trigger("lazyLoadError", [n, e, t]);
2167        }, r.src = t;
2168      });
2169    }
2170
2171    var t,
2172        o,
2173        s,
2174        n = this;
2175    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++) {
2176      r < 0 && (r = n.slideCount - 1), t = (t = t.add(d.eq(r))).add(d.eq(l)), r--, l++;
2177    }
2178    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));
2179  }, e.prototype.loadSlider = function () {
2180    var i = this;
2181    i.setPosition(), i.$slideTrack.css({
2182      opacity: 1
2183    }), i.$slider.removeClass("slick-loading"), i.initUI(), "progressive" === i.options.lazyLoad && i.progressiveLazyLoad();
2184  }, e.prototype.next = e.prototype.slickNext = function () {
2185    this.changeSlide({
2186      data: {
2187        message: "next"
2188      }
2189    });
2190  }, e.prototype.orientationChange = function () {
2191    var i = this;
2192    i.checkResponsive(), i.setPosition();
2193  }, e.prototype.pause = e.prototype.slickPause = function () {
2194    var i = this;
2195    i.autoPlayClear(), i.paused = !0;
2196  }, e.prototype.play = e.prototype.slickPlay = function () {
2197    var i = this;
2198    i.autoPlay(), i.options.autoplay = !0, i.paused = !1, i.focussed = !1, i.interrupted = !1;
2199  }, e.prototype.postSlide = function (e) {
2200    var t = this;
2201    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()));
2202  }, e.prototype.prev = e.prototype.slickPrev = function () {
2203    this.changeSlide({
2204      data: {
2205        message: "previous"
2206      }
2207    });
2208  }, e.prototype.preventDefault = function (i) {
2209    i.preventDefault();
2210  }, e.prototype.progressiveLazyLoad = function (e) {
2211    e = e || 1;
2212    var t,
2213        o,
2214        s,
2215        n,
2216        r,
2217        l = this,
2218        d = i("img[data-lazy]", l.$slider);
2219    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 () {
2220      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();
2221    }, r.onerror = function () {
2222      e < 3 ? setTimeout(function () {
2223        l.progressiveLazyLoad(e + 1);
2224      }, 500) : (t.removeAttr("data-lazy").removeClass("slick-loading").addClass("slick-lazyload-error"), l.$slider.trigger("lazyLoadError", [l, t, o]), l.progressiveLazyLoad());
2225    }, r.src = o) : l.$slider.trigger("allImagesLoaded", [l]);
2226  }, e.prototype.refresh = function (e) {
2227    var t,
2228        o,
2229        s = this;
2230    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, {
2231      currentSlide: t
2232    }), s.init(), e || s.changeSlide({
2233      data: {
2234        message: "index",
2235        index: t
2236      }
2237    }, !1);
2238  }, e.prototype.registerBreakpoints = function () {
2239    var e,
2240        t,
2241        o,
2242        s = this,
2243        n = s.options.responsive || null;
2244
2245    if ("array" === i.type(n) && n.length) {
2246      s.respondTo = s.options.respondTo || "window";
2247
2248      for (e in n) {
2249        if (o = s.breakpoints.length - 1, n.hasOwnProperty(e)) {
2250          for (t = n[e].breakpoint; o >= 0;) {
2251            s.breakpoints[o] && s.breakpoints[o] === t && s.breakpoints.splice(o, 1), o--;
2252          }
2253
2254          s.breakpoints.push(t), s.breakpointSettings[t] = n[e].settings;
2255        }
2256      }
2257
2258      s.breakpoints.sort(function (i, e) {
2259        return s.options.mobileFirst ? i - e : e - i;
2260      });
2261    }
2262  }, e.prototype.reinit = function () {
2263    var e = this;
2264    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]);
2265  }, e.prototype.resize = function () {
2266    var e = this;
2267    i(window).width() !== e.windowWidth && (clearTimeout(e.windowDelay), e.windowDelay = window.setTimeout(function () {
2268      e.windowWidth = i(window).width(), e.checkResponsive(), e.unslicked || e.setPosition();
2269    }, 50));
2270  }, e.prototype.removeSlide = e.prototype.slickRemove = function (i, e, t) {
2271    var o = this;
2272    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;
2273    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();
2274  }, e.prototype.setCSS = function (i) {
2275    var e,
2276        t,
2277        o = this,
2278        s = {};
2279    !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)));
2280  }, e.prototype.setDimensions = function () {
2281    var i = this;
2282    !1 === i.options.vertical ? !0 === i.options.centerMode && i.$list.css({
2283      padding: "0px " + i.options.centerPadding
2284    }) : (i.$list.height(i.$slides.first().outerHeight(!0) * i.options.slidesToShow), !0 === i.options.centerMode && i.$list.css({
2285      padding: i.options.centerPadding + " 0px"
2286    })), 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)));
2287    var e = i.$slides.first().outerWidth(!0) - i.$slides.first().width();
2288    !1 === i.options.variableWidth && i.$slideTrack.children(".slick-slide").width(i.slideWidth - e);
2289  }, e.prototype.setFade = function () {
2290    var e,
2291        t = this;
2292    t.$slides.each(function (o, s) {
2293      e = t.slideWidth * o * -1, !0 === t.options.rtl ? i(s).css({
2294        position: "relative",
2295        right: e,
2296        top: 0,
2297        zIndex: t.options.zIndex - 2,
2298        opacity: 0
2299      }) : i(s).css({
2300        position: "relative",
2301        left: e,
2302        top: 0,
2303        zIndex: t.options.zIndex - 2,
2304        opacity: 0
2305      });
2306    }), t.$slides.eq(t.currentSlide).css({
2307      zIndex: t.options.zIndex - 1,
2308      opacity: 1
2309    });
2310  }, e.prototype.setHeight = function () {
2311    var i = this;
2312
2313    if (1 === i.options.slidesToShow && !0 === i.options.adaptiveHeight && !1 === i.options.vertical) {
2314      var e = i.$slides.eq(i.currentSlide).outerHeight(!0);
2315      i.$list.css("height", e);
2316    }
2317  }, e.prototype.setOption = e.prototype.slickSetOption = function () {
2318    var e,
2319        t,
2320        o,
2321        s,
2322        n,
2323        r = this,
2324        l = !1;
2325    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) {
2326      r.options[i] = e;
2327    });else if ("responsive" === n) for (t in s) {
2328      if ("array" !== i.type(r.options.responsive)) r.options.responsive = [s[t]];else {
2329        for (e = r.options.responsive.length - 1; e >= 0;) {
2330          r.options.responsive[e].breakpoint === s[t].breakpoint && r.options.responsive.splice(e, 1), e--;
2331        }
2332
2333        r.options.responsive.push(s[t]);
2334      }
2335    }
2336    l && (r.unload(), r.reinit());
2337  }, e.prototype.setPosition = function () {
2338    var i = this;
2339    i.setDimensions(), i.setHeight(), !1 === i.options.fade ? i.setCSS(i.getLeft(i.currentSlide)) : i.setFade(), i.$slider.trigger("setPosition", [i]);
2340  }, e.prototype.setProps = function () {
2341    var i = this,
2342        e = document.body.style;
2343    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 = "
2343webkitTransform", 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;
2344  }, e.prototype.setSlideClasses = function (i) {
2345    var e,
2346        t,
2347        o,
2348        s,
2349        n = this;
2350
2351    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) {
2352      var r = n.options.slidesToShow % 2 == 0 ? 1 : 0;
2353      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");
2354    } 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"));
2355
2356    "ondemand" !== n.options.lazyLoad && "anticipated" !== n.options.lazyLoad || n.lazyLoad();
2357  }, e.prototype.setupInfinite = function () {
2358    var e,
2359        t,
2360        o,
2361        s = this;
2362
2363    if (!0 === s.options.fade && (s.options.centerMode = !1), !0 === s.options.infinite && !1 === s.options.fade && (t = null, s.slideCount > s.options.slidesToShow)) {
2364      for (o = !0 === s.options.centerMode ? s.options.slidesToShow + 1 : s.options.slidesToShow, e = s.slideCount; e > s.slideCount - o; e -= 1) {
2365        t = e - 1, i(s.$slides[t]).clone(!0).attr("id", "").attr("data-slick-index", t - s.slideCount).prependTo(s.$slideTrack).addClass("slick-cloned");
2366      }
2367
2368      for (e = 0; e < o + s.slideCount; e += 1) {
2369        t = e, i(s.$slides[t]).clone(!0).attr("id", "").attr("data-slick-index", t + s.slideCount).appendTo(s.$slideTrack).addClass("slick-cloned");
2370      }
2371
2372      s.$slideTrack.find(".slick-cloned").find("[id]").each(function () {
2373        i(this).attr("id", "");
2374      });
2375    }
2376  }, e.prototype.interrupt = function (i) {
2377    var e = this;
2378    i || e.autoPlay(), e.interrupted = i;
2379  }, e.prototype.selectHandler = function (e) {
2380    var t = this,
2381        o = i(e.target).is(".slick-slide") ? i(e.target) : i(e.target).parents(".slick-slide"),
2382        s = parseInt(o.attr("data-slick-index"));
2383    s || (s = 0), t.slideCount <= t.options.slidesToShow ? t.slideHandler(s, !1, !0) : t.slideHandler(s);
2384  }, e.prototype.slideHandler = function (i, e, t) {
2385    var o,
2386        s,
2387        n,
2388        r,
2389        l,
2390        d = null,
2391        a = this;
2392    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 () {
2393      a.postSlide(o);
2394    }) : 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 () {
2395      a.postSlide(o);
2396    }) : a.postSlide(o));else {
2397      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 () {
2398        a.postSlide(s);
2399      })) : a.postSlide(s), void a.animateHeight();
2400      !0 !== t ? a.animateSlide(d, function () {
2401        a.postSlide(s);
2402      }) : a.postSlide(s);
2403    }
2404  }, e.prototype.startLoad = function () {
2405    var i = this;
2406    !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");
2407  }, e.prototype.swipeDirection = function () {
2408    var i,
2409        e,
2410        t,
2411        o,
2412        s = this;
2413    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";
2414  }, e.prototype.swipeEnd = function (i) {
2415    var e,
2416        t,
2417        o = this;
2418    if (o.dragging = !1, o.swiping = !1, o.scrolling) return o.scrolling = !1, !1;
2419    if (o.interrupted = !1, o.shouldClick = !(o.touchObject.swipeLength > 10), void 0 === o.touchObject.curX) return !1;
2420
2421    if (!0 === o.touchObject.edgeHit && o.$slider.trigger("edge", [o, o.swipeDirection()]), o.touchObject.swipeLength >= o.touchObject.minSwipe) {
2422      switch (t = o.swipeDirection()) {
2423        case "left":
2424        case "down":
2425          e = o.options.swipeToSlide ? o.checkNavigable(o.currentSlide + o.getSlideCount()) : o.currentSlide + o.getSlideCount(), o.currentDirection = 0;
2426          break;
2427
2428        case "right":
2429        case "up":
2430          e = o.options.swipeToSlide ? o.checkNavigable(o.currentSlide - o.getSlideCount()) : o.currentSlide - o.getSlideCount(), o.currentDirection = 1;
2431      }
2432
2433      "vertical" != t && (o.slideHandler(e), o.touchObject = {}, o.$slider.trigger("swipe", [o, t]));
2434    } else o.touchObject.startX !== o.touchObject.curX && (o.slideHandler(o.currentSlide), o.touchObject = {});
2435  }, e.prototype.swipeHandler = function (i) {
2436    var e = this;
2437    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) {
2438      case "start":
2439        e.swipeStart(i);
2440        break;
2441
2442      case "move":
2443        e.swipeMove(i);
2444        break;
2445
2446      case "end":
2447        e.swipeEnd(i);
2448    }
2449  }, e.prototype.swipeMove = function (i) {
2450    var e,
2451        t,
2452        o,
2453        s,
2454        n,
2455        r,
2456        l = this;
2457    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))));
2458  }, e.prototype.swipeStart = function (i) {
2459    var e,
2460        t = this;
2461    if (t.interrupted = !0, 1 !== t.touchObject.fingerCount || t.slideCount <= t.options.slidesToShow) return t.touchObject = {}, !1;
2462    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;
2463  }, e.prototype.unfilterSlides = e.prototype.slickUnfilter = function () {
2464    var i = this;
2465    null !== i.$slidesCache && (i.unload(), i.$slideTrack.children(this.options.slide).detach(), i.$slidesCache.appendTo(i.$slideTrack), i.reinit());
2466  }, e.prototype.unload = function () {
2467    var e = this;
2468    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", "");
2469  }
2469, e.prototype.unslick = function (i) {
2470    var e = this;
2471    e.$slider.trigger("unslick", [e, i]), e.destroy();
2472  }, e.prototype.updateArrows = function () {
2473    var i = this;
2474    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")));
2475  }, e.prototype.updateDots = function () {
2476    var i = this;
2477    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"));
2478  }, e.prototype.visibility = function () {
2479    var i = this;
2480    i.options.autoplay && (document[i.hidden] ? i.interrupted = !0 : i.interrupted = !1);
2481  }, i.fn.slick = function () {
2482    var i,
2483        t,
2484        o = this,
2485        s = arguments[0],
2486        n = Array.prototype.slice.call(arguments, 1),
2487        r = o.length;
2488
2489    for (i = 0; i < r; i++) {
2490      if ("object" == _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;
2491    }
2492
2493    return o;
2494  };
2495});
2496/*
2497 slick-animation.js
2498
2499 Version: 0.3.3 Beta
2500 Author: Marvin Hübner
2501 Docs: https://github.com/marvinhuebner/slick-animation
2502 Repo: https://github.com/marvinhuebner/slick-animation
2503 */
2504
2505!function (a) {
2506  a.fn.slickAnimation = function () {
2507    function n(a, n, t, i, o) {
2508      o = "undefined" != typeof o ? o : !1, 1 == n.opacity ? (a.addClass(t), a.addClass(i)) : (a.removeClass(t), a.removeClass(i)), o && a.css(n);
2509    }
2510
2511    function t(a, n) {
2512      return a ? 1e3 * a + 1e3 : n ? 1e3 * n : a || n ? 1e3 * a + 1e3 * n : 1e3;
2513    }
2514
2515    function i(a, n, t) {
2516      var i = ["animation-" + n, "-webkit-animation-" + n, "-moz-animation-" + n, "-o-animation-" + n, "-ms-animation-" + n],
2517          o = {};
2518      i.forEach(function (a) {
2519        o[a] = t + "s";
2520      }), a.css(o);
2521    }
2522
2523    var o = a(this),
2524        e = o.find(".slick-list .slick-track > div"),
2525        s = o.find('[data-slick-index="0"]'),
2526        r = "animated",
2527        c = {
2528      opacity: "1"
2529    },
2530        d = {
2531      opacity: "0"
2532    };
2533    return e.each(function () {
2534      var e = a(this);
2535      e.find("[data-animation-in]").each(function () {
2536        var u = a(this);
2537        u.css(d);
2538        var l = u.attr("data-animation-in"),
2539            f = u.attr("data-animation-out"),
2540            h = u.attr("data-delay-in"),
2541            m = u.attr("data-duration-in"),
2542            y = u.attr("data-delay-out"),
2543            C = u.attr("data-duration-out");
2544        f ? (s.length > 0 && e.hasClass("slick-current") && (n(u, c, l, r, !0), h && i(u, "delay", h), m && i(u, "duration", m), setTimeout(function () {
2545          n(u, d, l, r), n(u, c, f, r), y && i(u, "delay", y), C && i(u, "duration", C);
2546        }, t(h, m))), o.on("afterChange", function (a, o, s) {
2547          e.hasClass("slick-current") && (n(u, c, l, r, !0), h && i(u, "delay", h), m && i(u, "duration", m), setTimeout(function () {
2548            n(u, d, l, r), n(u, c, f, r), y && i(u, "delay", y), C && i(u, "duration", C);
2549          }, t(h, m)));
2550        }), o.on("beforeChange", function (a, t, i) {
2551          n(u, d, f, r, !0);
2552        })) : (s.length > 0 && e.hasClass("slick-current") && (n(u, c, l, r, !0), h && i(u, "delay", h), m && i(u, "duration", m)), o.on("afterChange", function (a, t, o) {
2553          e.hasClass("slick-current") && (n(u, c, l, r, !0), h && i(u, "delay", h), m && i(u, "duration", m));
2554        }), o.on("beforeChange", function (a, t, i) {
2555          n(u, d, l, r, !0);
2556        }));
2557      });
2558    }), this;
2559  };
2560}(jQuery);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.