/*! For license information please see forms-sdk.js.LICENSE.txt */ const setShowForm = (isOpen) => { const elem = document.querySelector("#form_iti-custom_number") if (!elem) { return; } elem.style.display = isOpen ? 'block' : 'none'; }; const setLoading = (isOpen) => { const elem = document.querySelector(".f1t-form") if (!elem) { return; } if (isOpen) { elem?.classList?.add('f1t-form-loader') } else { elem?.classList?.remove('f1t-form-loader') } }; const setError = (isOpen, text) => { if (isOpen) { document.querySelector(".f1t-form #iti_form_error").style.display = 'block'; document.querySelector(".f1t-form #iti_form_error p").innerHTML = text; } else { document.querySelector(".f1t-form #iti_form_error").style.display = 'none'; document.querySelector(".f1t-form #iti_form_error p").innerHTML = ''; } }; const emailDomains = { lang: { "ru": [ "gmail.com", "mail.ru", ], "jp": [ "gmail.com", "yahoo.co.jp" ], "fr": [ "mail.fr", "laposte.net", "orange.fr", "sfr.fr", "free.fr", "gmx.fr", "yahoo.fr" ], "default": [ "gmail.com", "hotmail.com", "yahoo.com", "outlook.com", "icloud.com", "msn.com", "live.com", "mail.com", "aol.com", "googlemail.com", "me.com", "ymail.com", "rocketmail.com", ] } } const getDomainsByCountry = (lang) => { switch (lang) { case "ru": return emailDomains.lang.ru; case "jp": return emailDomains.lang.jp; case "fr": return emailDomains.lang.fr; default: return emailDomains.lang.default; } }; (() => { var e = { 436: e => { var t; t = () => (() => { var e = Object.defineProperty, t = Object.getOwnPropertyDescriptor, n = Object.getOwnPropertyNames, i = Object.prototype.hasOwnProperty, o = {}; ((t, n) => { for (var i in n) { e(t, i, { get: n[i], enumerable: !0 }) } })(o, { Iti: () => formFormatter, default: () => b }); var r = [["Afghanistan", "af", "93"], ["Albania", "al", "355"], ["Algeria", "dz", "213"], ["American Samoa", "as", "1", 5, ["684"]], ["Andorra", "ad", "376"], ["Angola", "ao", "244"], ["Anguilla", "ai", "1", 6, ["264"]], ["Antigua & Barbuda", "ag", "1", 7, ["268"]], ["Argentina", "ar", "54"], ["Armenia", "am", "374"], ["Aruba", "aw", "297"], ["Ascension Island", "ac", "247"], ["Australia", "au", "61", 0], ["Austria", "at", "43"], ["Azerbaijan", "az", "994"], ["Bahamas", "bs", "1", 8, ["242"]], ["Bahrain", "bh", "973"], ["Bangladesh", "bd", "880"], ["Barbados", "bb", "1", 9, ["246"]], ["Belarus", "by", "375"], ["Belgium", "be", "32"], ["Belize", "bz", "501"], ["Benin", "bj", "229"], ["Bermuda", "bm", "1", 10, ["441"]], ["Bhutan", "bt", "975"], ["Bolivia", "bo", "591"], ["Bosnia & Herzegovina", "ba", "387"], ["Botswana", "bw", "267"], ["Brazil", "br", "55"], ["British Indian Ocean Territory", "io", "246"], ["British Virgin Islands", "vg", "1", 11, ["284"]], ["Brunei", "bn", "673"], ["Bulgaria", "bg", "359"], ["Burkina Faso", "bf", "226"], ["Burundi", "bi", "257"], ["Cambodia", "kh", "855"], ["Cameroon", "cm", "237"], ["Canada", "ca", "1", 1, ["204", "226", "236", "249", "250", "263", "289", "306", "343", "354", "365", "367", "368", "382", "387", "403", "416", "418", "428", "431", "437", "438", "450", "584", "468", "474", "506", "514", "519", "548", "579", "581", "584", "587", "604", "613", "639", "647", "672", "683", "705", "709", "742", "753", "778", "780", "782", "807", "819", "825", "867", "873", "902", "905"]], ["Cape Verde", "cv", "238"], ["Caribbean Netherlands", "bq", "599", 1, ["3", "4", "7"]], ["Cayman Islands", "ky", "1", 12, ["345"]], ["Central African Republic", "cf", "236"], ["Chad", "td", "235"], ["Chile", "cl", "56"], ["China", "cn", "86"], ["Christmas Island", "cx", "61", 2, ["89164"]], ["Cocos (Keeling) Islands", "cc", "61", 1, ["89162"]], ["Colombia", "co", "57"], ["Comoros", "km", "269"], ["Congo - Brazzaville", "cg", "242"], ["Congo - Kinshasa", "cd", "243"], ["Cook Islands", "ck", "682"], ["Costa Rica", "cr", "506"], ["Côte d’Ivoire", "ci", "225"], ["Croatia", "hr", "385"], ["Cuba", "cu", "53"], ["Curaçao", "cw", "599", 0], ["Cyprus", "cy", "357"], ["Czech Republic", "cz", "420"], ["Denmark", "dk", "45"], ["Djibouti", "dj", "253"], ["Dominica", "dm", "1", 13, ["767"]], ["Dominican Republic", "do", "1", 2, ["809", "829", "849"]], ["Ecuador", "ec", "593"], ["Egypt", "eg", "20"], ["El Salvador", "sv", "503"], ["Equatorial Guinea", "gq", "240"], ["Eritrea", "er", "291"], ["Estonia", "ee", "372"], ["Eswatini", "sz", "268"], ["Ethiopia", "et", "251"], ["Falkland Islands", "fk", "500"], ["Faroe Islands", "fo", "298"], ["Fiji", "fj", "679"], ["Finland", "fi", "358", 0], ["France", "fr", "33"], ["French Guiana", "gf", "594"], ["French Polynesia", "pf", "689"], ["Gabon", "ga", "241"], ["Gambia", "gm", "220"], ["Georgia", "ge", "995"], ["Germany", "de", "49"], ["Ghana", "gh", "233"], ["Gibraltar", "gi", "350"], ["Greece", "gr", "30"], ["Greenland", "gl", "299"], ["Grenada", "gd", "1", 14, ["473"]], ["Guadeloupe", "gp", "590", 0], ["Guam", "gu", "1", 15, ["671"]], ["Guatemala", "gt", "502"], ["Guernsey", "gg", "44", 1, ["1481", "7781", "7839", "7911"]], ["Guinea", "gn", "224"], ["Guinea-Bissau", "gw", "245"], ["Guyana", "gy", "592"], ["Haiti", "ht", "509"], ["Honduras", "hn", "504"], ["Hong Kong", "hk", "852"], ["Hungary", "hu", "36"], ["Iceland", "is", "354"], ["India", "in", "91"], ["Indonesia", "id", "62"], ["Iran", "ir", "98"], ["Iraq", "iq", "964"], ["Ireland", "ie", "353"], ["Isle of Man", "im", "44", 2, ["1624", "74576", "7524", "7924", "7624"]], ["Israel", "il", "972"], ["Italy", "it", "39", 0], ["Jamaica", "jm", "1", 4, ["876", "658"]], ["Japan", "jp", "81"], ["Jersey", "je", "44", 3, ["1534", "7509", "7700", "7797", "7829", "7937"]], ["Jordan", "jo", "962"], ["Kazakhstan", "kz", "7", 1, ["33", "7"]], ["Kenya", "ke", "254"], ["Kiribati", "ki", "686"], ["Kosovo", "xk", "383"], ["Kuwait", "kw", "965"], ["Kyrgyzstan", "kg", "996"], ["Laos", "la", "856"], ["Latvia", "lv", "371"], ["Lebanon", "lb", "961"], ["Lesotho", "ls", "266"], ["Liberia", "lr", "231"], ["Libya", "ly", "218"], ["Liechtenstein", "li", "423"], ["Lithuania", "lt", "370"], ["Luxembourg", "lu", "352"], ["Macau", "mo", "853"], ["Madagascar", "mg", "261"], ["Malawi", "mw", "265"], ["Malaysia", "my", "60"], ["Maldives", "mv", "960"], ["Mali", "ml", "223"], ["Malta", "mt", "356"], ["Marshall Islands", "mh", "692"], ["Martinique", "mq", "596"], ["Mauritania", "mr", "222"], ["Mauritius", "mu", "230"], ["Mayotte", "yt", "262", 1, ["269", "639"]], ["Mexico", "mx", "52"], ["Micronesia", "fm", "691"], ["Moldova", "md", "373"], ["Monaco", "mc", "377"], ["Mongolia", "mn", "976"], ["Montenegro", "me", "382"], ["Montserrat", "ms", "1", 16, ["664"]], ["Morocco", "ma", "212", 0], ["Mozambique", "mz", "258"], ["Myanmar (Burma)", "mm", "95"], ["Namibia", "na", "264"], ["Nauru", "nr", "674"], ["Nepal", "np", "977"], ["Netherlands", "nl", "31"], ["New Caledonia", "nc", "687"], ["New Zealand", "nz", "64"], ["Nicaragua", "ni", "505"], ["Niger", "ne", "227"], ["Nigeria", "ng", "234"], ["Niue", "nu", "683"], ["Norfolk Island", "nf", "672"], ["North Korea", "kp", "850"], ["North Macedonia", "mk", "389"], ["Northern Mariana Islands", "mp", "1", 17, ["670"]], ["Norway", "no", "47", 0], ["Oman", "om", "968"], ["Pakistan", "pk", "92"], ["Palau", "pw", "680"], ["Palestine", "ps", "970"], ["Panama", "pa", "507"], ["Papua New Guinea", "pg", "675"], ["Paraguay", "py", "595"], ["Peru", "pe", "51"], ["Philippines", "ph", "63"], ["Poland", "pl", "48"], ["Portugal", "pt", "351"], ["Puerto Rico", "pr", "1", 3, ["787", "939"]], ["Qatar", "qa", "974"], ["Réunion", "re", "262", 0], ["Romania", "ro", "40"], ["Russia", "ru", "7", 0], ["Rwanda", "rw", "250"], ["Samoa", "ws", "685"], ["San Marino", "sm", "378"], ["São Tomé & Príncipe", "st", "239"], ["Saudi Arabia", "sa", "966"], ["Senegal", "sn", "221"], ["Serbia", "rs", "381"], ["Seychelles", "sc", "248"], ["Sierra Leone", "sl", "232"], ["Singapore", "sg", "65"], ["Sint Maarten", "sx", "1", 21, ["721"]], ["Slovakia", "sk", "421"], ["Slovenia", "si", "386"], ["Solomon Islands", "sb", "677"], ["Somalia", "so", "252"], ["South Africa", "za", "27"], ["South Korea", "kr", "82"], ["South Sudan", "ss", "211"], ["Spain", "es", "34"], ["Sri Lanka", "lk", "94"], ["St Barthélemy", "bl", "590", 1], ["St Helena", "sh", "290"], ["St Kitts & Nevis", "kn", "1", 18, ["869"]], ["St Lucia", "lc", "1", 19, ["758"]], ["St Martin", "mf", "590", 2], ["St Pierre & Miquelon", "pm", "508"], ["St Vincent & Grenadines", "vc", "1", 20, ["784"]], ["Sudan", "sd", "249"], ["Suriname", "sr", "597"], ["Svalbard & Jan Mayen", "sj", "47", 1, ["79"]], ["Sweden", "se", "46"], ["Switzerland", "ch", "41"], ["Syria", "sy", "963"], ["Taiwan", "tw", "886"], ["Tajikistan", "tj", "992"], ["Tanzania", "tz", "255"], ["Thailand", "th", "66"], ["Timor-Leste", "tl", "670"], ["Togo", "tg", "228"], ["Tokelau", "tk", "690"], ["Tonga", "to", "676"], ["Trinidad & Tobago", "tt", "1", 22, ["868"]], ["Tunisia", "tn", "216"], ["Turkey", "tr", "90"], ["Turkmenistan", "tm", "993"], ["Turks & Caicos Islands", "tc", "1", 23, ["649"]], ["Tuvalu", "tv", "688"], ["Uganda", "ug", "256"], ["Ukraine", "ua", "380"], ["United Arab Emirates", "ae", "971"], ["United Kingdom", "gb", "44", 0], ["United States", "us", "1", 0], ["Uruguay", "uy", "598"], ["US Virgin Islands", "vi", "1", 24, ["340"]], ["Uzbekistan", "uz", "998"], ["Vanuatu", "vu", "678"], ["Vatican City", "va", "39", 1, ["06698"]], ["Venezuela", "ve", "58"], ["Vietnam", "vn", "84"], ["Wallis & Futuna", "wf", "681"], ["Western Sahara", "eh", "212", 1, ["5288", "5289"]], ["Yemen", "ye", "967"], ["Zambia", "zm", "260"], ["Zimbabwe", "zw", "263"], ["Åland Islands", "ax", "358", 1, ["18"]]], countryPhoneCodes = []; for (let e = 0; e < r.length; e++) { const t = r[e]; countryPhoneCodes[e] = { name: t[0], iso2: t[1], dialCode: t[2], priority: t[3] || 0, areaCodes: t[4] || null, nodeById: {} } } var a = countryPhoneCodes, l = 0, u = { allowDropdown: !0, autoPlaceholder: "polite", countrySearch: !0, containerClass: "", customPlaceholder: null, dropdownContainer: null, excludeCountries: [], fixDropdownWidth: !0, formatAsYouType: !0, formatOnDisplay: !0, geoIpLookup: null, hiddenInput: null, i18n: {}, initialCountry: "", nationalMode: !0, onlyCountries: [], placeholderNumberType: "MOBILE", preferredCountries: [], showFlags: !0, showSelectedDialCode: !1, strictMode: !1, useFullscreenPopup: "undefined" != typeof navigator && "undefined" != typeof window && (/Android.+Mobile|webOS|iPhone|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) || window.innerWidth <= 500), utilsScript: "" }, c = ["800", "822", "833", "844", "855", "866", "877", "880", "881", "882", "883", "884", "885", "886", "887", "888", "889"], d = e => e.replace(/\D/g, ""), h = (e = "") => e.normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase(), p = e => { const t = d(e); if ("1" === t.charAt(0)) { const e = t.substr(1, 3); return -1 !== c.indexOf(e) } return !1 }, f = (e, t) => e.name < t.name ? -1 : e.name > t.name ? 1 : 0, m = (e, t, n) => { const i = document.createElement(e); return t && Object.entries(t).forEach((([e, t]) => i.setAttribute(e, t))), n && n.appendChild(i), i }, g = e => { const { instances: t } = window.intlTelInputGlobals; Object.values(t).forEach((t => t[e]())) }, formFormatter = class { id; promise; telInput; activeItem; highlightedItem; options; hadInitialPlaceholder; isRTL; selectedCountryData; countries; dialCodeMaxLen; dialCodeToIso2Map; dialCodes; preferredCountries; countryContainer; selectedCountry; selectedCountryInner; selectedCountryA11yText; selectedDialCode; dropdownArrow; dropdownContent; searchInput; searchResultsA11yText; countryList; dropdown; hiddenInput; hiddenInputCountry; maxCoreNumberLength; defaultCountry; _handleHiddenInputSubmit; _handleLabelClick; _handleClickSelectedCountry; _handleCountryContainerKeydown; _handleInputEvent; _handleKeydownEvent; _handleWindowScroll; _handleMouseoverCountryList; _handleClickCountryList; _handleClickOffToClose; _handleKeydownOnDropdown; _handleSearchChange; resolveAutoCountryPromise; rejectAutoCountryPromise; resolveUtilsScriptPromise; rejectUtilsScriptPromise; constructor(e, t = {}) { this.id = l++, this.telInput = e, this.activeItem = null, this.highlightedItem = null, this.options = Object.assign({}, u, t), this.hadInitialPlaceholder = Boolean(e.getAttribute("placeholder")) } _init() { this.options.useFullscreenPopup && (this.options.fixDropdownWidth = !1), this.options.countrySearch && !this.options.useFullscreenPopup && (this.options.fixDropdownWidth = !0); const e = this.options.allowDropdown && !this.options.showSelectedDialCode; !this.options.showFlags && e && (this.options.showFlags = !0), this.options.useFullscreenPopup && !this.options.dropdownContainer && (this.options.dropdownContainer = document.body), this.isRTL = !!this.telInput.closest("[dir=rtl]"); const t = new Promise(((e, t) => { this.resolveAutoCountryPromise = e, this.rejectAutoCountryPromise = t })), n = new Promise(((e, t) => { this.resolveUtilsScriptPromise = e, this.rejectUtilsScriptPromise = t })); this.promise = Promise.all([t, n]), this.selectedCountryData = {}, this._processCountryData(), this._generateMarkup(), this._setInitialState(), this._initListeners(), this._initRequests() } _processCountryData() { this._processAllCountries(), this._processDialCodes(), this._processPreferredCountries(), this._translateCountryNames(), (this.options.onlyCountries.length || this.options.i18n) && this.countries.sort(f) } _addToDialCodeMap(e, t, n) { t.length > this.dialCodeMaxLen && (this.dialCodeMaxLen = t.length), this.dialCodeToIso2Map.hasOwnProperty(t) || (this.dialCodeToIso2Map[t] = []); for (let n = 0; n < this.dialCodeToIso2Map[t].length; n++) if (this.dialCodeToIso2Map[t][n] === e) return; const i = void 0 !== n ? n : this.dialCodeToIso2Map[t].length; this.dialCodeToIso2Map[t][i] = e } _processAllCountries() { const { onlyCountries: e, excludeCountries: t } = this.options; if (e.length) { const t = e.map((e => e.toLowerCase())); this.countries = a.filter((e => t.indexOf(e.iso2) > -1)) } else if (t.length) { const e = t.map((e => e.toLowerCase())); this.countries = a.filter((t => -1 === e.indexOf(t.iso2))) } else this.countries = a } _translateCountryNames() { for (let e = 0; e < this.countries.length; e++) { const t = this.countries[e].iso2.toLowerCase(); this.options.i18n.hasOwnProperty(t) && (this.countries[e].name = this.options.i18n[t]) } console.log({ _translateCountryNames: true }) } _processDialCodes() { this.dialCodes = {}, this.dialCodeMaxLen = 0, this.dialCodeToIso2Map = {}; for (let e = 0; e < this.countries.length; e++) { const t = this.countries[e]; this.dialCodes[t.dialCode] || (this.dialCodes[t.dialCode] = !0), this._addToDialCodeMap(t.iso2, t.dialCode, t.priority) } for (let e = 0; e < this.countries.length; e++) { const t = this.countries[e]; if (t.areaCodes) { const e = this.dialCodeToIso2Map[t.dialCode][0]; for (let n = 0; n < t.areaCodes.length; n++) { const i = t.areaCodes[n]; for (let n = 1; n < i.length; n++) { const o = t.dialCode + i.substr(0, n); this._addToDialCodeMap(e, o), this._addToDialCodeMap(t.iso2, o) } this._addToDialCodeMap(t.iso2, t.dialCode + i) } } } } _processPreferredCountries() { this.preferredCountries = []; for (let e = 0; e < this.options.preferredCountries.length; e++) { const t = this.options.preferredCountries[e].toLowerCase(), n = this._getCountryData(t, !0); n && this.preferredCountries.push(n) } } _generateMarkup() { this.telInput.classList.add("iti__tel-input"), this.telInput.hasAttribute("autocomplete") || this.telInput.form && this.telInput.form.hasAttribute("autocomplete") || this.telInput.setAttribute("autocomplete", "off"); const { allowDropdown: e, showSelectedDialCode: t, showFlags: n, containerClass: i, hiddenInput: o, dropdownContainer: r, fixDropdownWidth: s, useFullscreenPopup: a, countrySearch: l, i18n: u } = this.options; let c = "iti"; e && (c += " iti--allow-dropdown"), t && (c += " iti--show-selected-dial-code"), n && (c += " iti--show-flags"), i && (c += ` ${i}`), a || (c += " iti--inline-dropdown"); const d = m("div", { class: c }); if (this.telInput.parentNode?.insertBefore(d, this.telInput), (n || t) && (this.countryContainer = m("div", { class: "iti__country-container" }, d), this.selectedCountry = m("button", { type: "button", class: "iti__selected-country", ...e && { "aria-expanded": "false", "aria-label": this.options.i18n.selectedCountryAriaLabel || "Selected country", "aria-haspopup": l ? "true" : "listbox", "aria-controls": l ? `iti-${this.id}__dropdown-content` : `iti-${this.id}__country-listbox`, ...l ? { role: "combobox" } : {} } }, this.countryContainer), this.selectedCountryInner = m("div", null, this.selectedCountry), this.selectedCountryA11yText = m("span", { class: "iti__a11y-text" }, this.selectedCountryInner)), d.appendChild(this.telInput), this.selectedCountry && this.telInput.disabled && this.selectedCountry.setAttribute("aria-disabled", "true"), t && (this.selectedDialCode = m("div", { class: "iti__selected-dial-code" }, this.selectedCountry)), e) { this.telInput.disabled || this.selectedCountry.setAttribute("tabindex", "0"), this.dropdownArrow = m("div", { class: "iti__arrow", "aria-hidden": "true" }, this.selectedCountry); const e = s ? "" : "iti--flexible-dropdown-width"; if (this.dropdownContent = m("div", { id: `iti-${this.id}__dropdown-content`, class: `iti__dropdown-content iti__hide ${e}` }), l && (this.searchInput = m("input", { type: "text", class: "iti__search-input", placeholder: u.searchPlaceholder || "Search", role: "combobox", "aria-expanded": "true", "aria-label": u.searchPlaceholder || "Search", "aria-controls": `iti-${this.id}__country-listbox`, "aria-autocomplete": "list", autocomplete: "off" }, this.dropdownContent), this.searchResultsA11yText = m("span", { class: "iti__a11y-text" }, this.dropdownContent)), this.countryList = m("ul", { class: "iti__country-list", id: `iti-${this.id}__country-listbox`, role: "listbox", "aria-label": u.countryListAriaLabel || "List of countries" }, this.dropdownContent), this.preferredCountries.length && !l && (this._appendListItems(this.preferredCountries, "iti__preferred", !0), m("li", { class: "iti__divider", "aria-hidden": "true" }, this.countryList)), this._appendListItems(this.countries, "iti__standard"), l && this._updateSearchResultsText(), r) { let e = "iti iti--container"; e += a ? " iti--fullscreen-popup" : " iti--inline-dropdown", l && (e += " iti--country-search"), this.dropdown = m("div", { class: e }), this.dropdown.appendChild(this.dropdownContent) } else this.countryContainer.appendChild(this.dropdownContent) } if (o) { const e = o(this.telInput.getAttribute("name") || ""); e.phone && (this.hiddenInput = m("input", { type: "hidden", name: e.phone }), d.appendChild(this.hiddenInput)), e.country && (this.hiddenInputCountry = m("input", { type: "hidden", name: e.country }), d.appendChild(this.hiddenInputCountry)) } } _appendListItems(e, t, n) { for (let i = 0; i < e.length; i++) { const o = e[i], r = n ? "-preferred" : "", s = m("li", { id: `iti-${this.id}__item-${o.iso2}${r}`, class: `iti__country ${t}`, tabindex: "-1", role: "option", "data-dial-code": o.dialCode, "data-country-code": o.iso2, "aria-selected": "false" }, this.countryList); o.nodeById[this.id] = s; let a = ""; this.options.showFlags && (a += `
`), a += `${o.name}`, a += `+${o.dialCode}`, s.insertAdjacentHTML("beforeend", a) } } _setInitialState(e = !1) { const t = this.telInput.getAttribute("value"), n = this.telInput.value, i = !t || "+" !== t.charAt(0) || n && "+" === n.charAt(0) ? n : t, o = this._getDialCode(i), r = p(i), { initialCountry: s } = this.options; if (o && !r) this._updateCountryFromNumber(i); else if ("auto" !== s || e) { const e = s ? s.toLowerCase() : ""; e && this._getCountryData(e, !0) ? this._setCountry(e) : o && r ? this._setCountry("us") : this._setCountry() } i && this._updateValFromNumber(i) } _initListeners() { this._initTelInputListeners(), this.options.allowDropdown && this._initDropdownListeners(), (this.hiddenInput || this.hiddenInputCountry) && this.telInput.form && this._initHiddenInputListener() } _initHiddenInputListener() { this._handleHiddenInputSubmit = () => { this.hiddenInput && (this.hiddenInput.value = this.getNumber()), this.hiddenInputCountry && (this.hiddenInputCountry.value = this.getSelectedCountryData().iso2 || "") }, this.telInput.form?.addEventListener("submit", this._handleHiddenInputSubmit) } _initDropdownListeners() { this._handleLabelClick = e => { this.dropdownContent.classList.contains("iti__hide") ? this.telInput.focus() : e.preventDefault() }; const e = this.telInput.closest("label"); e && e.addEventListener("click", this._handleLabelClick), this._handleClickSelectedCountry = () => { !this.dropdownContent.classList.contains("iti__hide") || this.telInput.disabled || this.telInput.readOnly || this._openDropdown() }, this.selectedCountry.addEventListener("click", this._handleClickSelectedCountry), this._handleCountryContainerKeydown = e => { this.dropdownContent.classList.contains("iti__hide") && ["ArrowUp", "ArrowDown", " ", "Enter"].includes(e.key) && (e.preventDefault(), e.stopPropagation(), this._openDropdown()), "Tab" === e.key && this._closeDropdown() }, this.countryContainer.addEventListener("keydown", this._handleCountryContainerKeydown) } _initRequests() { this.options.utilsScript && !window.intlTelInputUtils ? window.intlTelInputGlobals.documentReady() ? window.intlTelInputGlobals.loadUtils(this.options.utilsScript) : window.addEventListener("load", (() => { window.intlTelInputGlobals.loadUtils(this.options.utilsScript) })) : this.resolveUtilsScriptPromise(), "auto" !== this.options.initialCountry || this.selectedCountryData.iso2 ? this.resolveAutoCountryPromise() : this._loadAutoCountry() } _loadAutoCountry() { window.intlTelInputGlobals.autoCountry ? this.handleAutoCountry() : window.intlTelInputGlobals.startedLoadingAutoCountry || (window.intlTelInputGlobals.startedLoadingAutoCountry = !0, "function" == typeof this.options.geoIpLookup && this.options.geoIpLookup(((e = "") => { const t = e.toLowerCase(); t && this._getCountryData(t, !0) ? (window.intlTelInputGlobals.autoCountry = t, setTimeout((() => g("handleAutoCountry")))) : (this._setInitialState(!0), g("rejectAutoCountryPromise")) }), (() => { this._setInitialState(!0), g("rejectAutoCountryPromise") }))) } _initTelInputListeners() { const { strictMode: e, formatAsYouType: t } = this.options; let n = !1; this._handleInputEvent = i => { this._updateCountryFromNumber(this.telInput.value) && this._triggerCountryChange(); const o = i && i.data && /[^+0-9]/.test(i.data), r = i && "insertFromPaste" === i.inputType && this.telInput.value; if (o || r && !e ? n = !0 : /[^+0-9]/.test(this.telInput.value) || (n = !1), t && !n) { const e = this.telInput.selectionStart || 0, t = this.telInput.value.substring(0, e).replace(/[^+0-9]/g, "").length, n = i && "deleteContentForward" === i.inputType, o = this._formatNumberAsYouType(), r = ((e, t, n, i) => { if (0 === n && !i) return 0; let o = 0; for (let n = 0; n < t.length; n++) { if (/[+0-9]/.test(t[n]) && o++, o === e && !i) return n + 1; if (i && o === e + 1) return n } return t.length })(t, o, e, n); this.telInput.value = o, this.telInput.setSelectionRange(r, r) } }, this.telInput.addEventListener("input", this._handleInputEvent), e && (this._handleKeydownEvent = e => { if (1 === e.key.length && !e.altKey && !e.ctrlKey && !e.metaKey) { const t = 0 === this.telInput.selectionStart && "+" === e.key, n = /^[0-9]$/.test(e.key), i = t || n, o = this._getFullNumber(), r = window.intlTelInputUtils.getCoreNumber(o, this.selectedCountryData.iso2), s = this.maxCoreNumberLength && r.length >= this.maxCoreNumberLength; i && !s || e.preventDefault() } }, this.telInput.addEventListener("keydown", this._handleKeydownEvent)) } _cap(e) { const t = parseInt(this.telInput.getAttribute("maxlength") || "", 10); return t && e.length > t ? e.substr(0, t) : e } _trigger(e) { const t = new Event(e, { bubbles: !0, cancelable: !0 }); this.telInput.dispatchEvent(t) } _openDropdown() { const { fixDropdownWidth: e, countrySearch: t } = this.options; if (e && (this.dropdownContent.style.width = `${this.telInput.offsetWidth}px`), this.dropdownContent.classList.remove("iti__hide"), this.selectedCountry.setAttribute("aria-expanded", "true"), this._setDropdownPosition(), this.activeItem && !t) this._highlightListItem(this.activeItem, !1), this._scrollTo(this.activeItem, !0); else { const e = this.countryList.firstElementChild; e && (this._highlightListItem(e, !1), this.countryList.scrollTop = 0), t && this.searchInput.focus() } this._bindDropdownListeners(), this.dropdownArrow.classList.add("iti__arrow--up"), this._trigger("open:countrydropdown") } _setDropdownPosition() { if (this.options.dropdownContainer && this.options.dropdownContainer.appendChild(this.dropdown), !this.options.useFullscreenPopup) { const i = this.telInput.getBoundingClientRect(), o = document.documentElement.scrollTop, r = i.top + o, s = this.dropdownContent.offsetHeight, a = r + this.telInput.offsetHeight + s < o + window.innerHeight, l = r - s > o, u = !this.options.countrySearch && !a && l; if (e = this.dropdownContent, t = "iti__dropdown-content--dropup", (n = u) && !e.classList.contains(t) ? e.classList.add(t) : !n && e.classList.contains(t) && e.classList.remove(t), this.options.dropdownContainer) { const e = u ? 0 : this.telInput.offsetHeight; this.dropdown.style.top = `${r + e}px`, this.dropdown.style.left = `${i.left + document.body.scrollLeft}px`, this._handleWindowScroll = () => this._closeDropdown(), window.addEventListener("scroll", this._handleWindowScroll) } } var e, t, n } _bindDropdownListeners() { this._handleMouseoverCountryList = e => { const t = e.target?.closest(".iti__country"); t && this._highlightListItem(t, !1) }, this.countryList.addEventListener("mouseover", this._handleMouseoverCountryList), this._handleClickCountryList = e => { const t = e.target?.closest(".iti__country"); t && this._selectListItem(t) }, this.countryList.addEventListener("click", this._handleClickCountryList); let e = !0; this._handleClickOffToClose = () => { e || this._closeDropdown(), e = !1 }, document.documentElement.addEventListener("click", this._handleClickOffToClose); let t = "", n = null; if (this._handleKeydownOnDropdown = e => { ["ArrowUp", "ArrowDown", "Enter", "Escape"].includes(e.key) && (e.preventDefault(), e.stopPropagation(), "ArrowUp" === e.key || "ArrowDown" === e.key ? this._handleUpDownKey(e.key) : "Enter" === e.key ? this._handleEnterKey() : "Escape" === e.key && this._closeDropdown()), !this.options.countrySearch && /^[a-zA-ZÀ-ÿа-яА-Я ]$/.test(e.key) && (e.stopPropagation(), n && clearTimeout(n), t += e.key.toLowerCase(), this._searchForCountry(t), n = setTimeout((() => { t = "" }), 1e3)) }, document.addEventListener("keydown", this._handleKeydownOnDropdown), this.options.countrySearch) { const e = () => { const e = this.searchInput.value.trim(); e ? this._filterCountries(e) : this._filterCountries("", !0) }; let t = null; this._handleSearchChange = () => { t && clearTimeout(t), t = setTimeout((() => { e(), t = null }), 100) }, this.searchInput.addEventListener("input", this._handleSearchChange), this.searchInput.addEventListener("click", (e => e.stopPropagation())) } } _filterCountries(e, t = !1) { let n = !0; this.countryList.innerHTML = ""; const i = h(e); for (let e = 0; e < this.countries.length; e++) { const o = this.countries[e], r = h(o.name), s = `+${o.dialCode}`; if (t || r.includes(i) || s.includes(i) || o.iso2.includes(i)) { const e = o.nodeById[this.id]; e && this.countryList.appendChild(e), n && (this._highlightListItem(e, !1), n = !1) } } this.countryList.scrollTop = 0, this._updateSearchResultsText() } _updateSearchResultsText() { const { i18n: e } = this.options, t = this.countryList.childElementCount; let n; n = 0 === t ? e.zeroSearchResults || "No results found" : 1 === t ? e.oneSearchResult || "1 result found" : e.multipleSearchResults ? e.multipleSearchResults.replace("${count}", t.toString()) : `${t} results found`, this.searchResultsA11yText.textContent = n } _handleUpDownKey(e) { let t = "ArrowUp" === e ? this.highlightedItem?.previousElementSibling : this.highlightedItem?.nextElementSibling; if (t ? t.classList.contains("iti__divider") && (t = "ArrowUp" === e ? t.previousElementSibling : t.nextElementSibling) : this.countryList.childElementCount > 1 && (t = "ArrowUp" === e ? this.countryList.lastElementChild : this.countryList.firstElementChild), t) { this._scrollTo(t, !1); const e = !this.options.countrySearch; this._highlightListItem(t, e) } } _handleEnterKey() { this.highlightedItem && this._selectListItem(this.highlightedItem) } _searchForCountry(e) { for (let t = 0; t < this.countries.length; t++) { const n = this.countries[t]; if (n.name.substr(0, e.length).toLowerCase() === e) { const e = n.nodeById[this.id]; this._highlightListItem(e, !1), this._scrollTo(e, !0); break } } } _updateValFromNumber(e) { let t = e; if (this.options.formatOnDisplay && window.intlTelInputUtils && this.selectedCountryData) { const e = this.options.nationalMode || "+" !== t.charAt(0) && !this.options.showSelectedDialCode, { NATIONAL: n, INTERNATIONAL: i } = window.intlTelInputUtils.numberFormat, o = e ? n : i; t = window.intlTelInputUtils.formatNumber(t, this.selectedCountryData.iso2, o) } t = this._beforeSetNumber(t), this.telInput.value = t } _updateCountryFromNumber(e) { const t = e.indexOf("+"); let n = t ? e.substring(t) : e; const i = this.selectedCountryData.dialCode; n && "1" === i && "+" !== n.charAt(0) && ("1" !== n.charAt(0) && (n = `1${n}`), n = `+${n}`), this.options.showSelectedDialCode && i && "+" !== n.charAt(0) && (n = `+${i}${n}`); const o = this._getDialCode(n, !0), r = d(n); let s = null; if (o) { const e = this.dialCodeToIso2Map[d(o)], t = -1 !== e.indexOf(this.selectedCountryData.iso2) && r.length <= o.length - 1; if (!("1" === i && p(r) || t)) for (let t = 0; t < e.length; t++) if (e[t]) { s = e[t]; break } } else "+" === n.charAt(0) && r.length ? s = "" : n && "+" !== n || this.selectedCountryData.iso2 || (s = this.defaultCountry); return null !== s && this._setCountry(s) } _highlightListItem(e, t) { const n = this.highlightedItem; n && (n.classList.remove("iti__highlight"), n.setAttribute("aria-selected", "false")), this.highlightedItem = e, this.highlightedItem.classList.add("iti__highlight"), this.highlightedItem.setAttribute("aria-selected", "true"), this.selectedCountry.setAttribute("aria-activedescendant", e.getAttribute("id") || ""), this.options.countrySearch && this.searchInput.setAttribute("aria-activedescendant", e.getAttribute("id") || ""), t && this.highlightedItem.focus() } _getCountryData(e, t) { for (let t = 0; t < this.countries.length; t++) if (this.countries[t].iso2 === e) return this.countries[t]; if (t) return null; throw new Error(`No country data for '${e}'`) } _setCountry(e) { const { allowDropdown: t, showSelectedDialCode: n, showFlags: i, countrySearch: o, i18n: r } = this.options, s = this.selectedCountryData.iso2 ? this.selectedCountryData : {}; if (this.selectedCountryData = e && this._getCountryData(e, !1) || {}, this.selectedCountryData.iso2 && (this.defaultCountry = this.selectedCountryData.iso2), this.selectedCountryInner) { let t = "", n = ""; e ? i && (t = `iti__flag iti__${e}`, n = `${this.selectedCountryData.name} +${this.selectedCountryData.dialCode}`) : (t = "iti__flag iti__globe", n = r.noCountrySelected || "No country selected"), this.selectedCountryInner.className = t, this.selectedCountryA11yText.textContent = n } if (this._setSelectedCountryTitleAttribute(e, n), n) { const e = this.selectedCountryData.dialCode ? `+${this.selectedCountryData.dialCode}` : ""; this.selectedDialCode.innerHTML = e; const t = this.selectedCountry.offsetWidth || this._getHiddenSelectedCountryWidth(); this.isRTL ? this.telInput.style.paddingRight = `${t + 6}px` : this.telInput.style.paddingLeft = `${t + 6}px` } if (this._updatePlaceholder(), this._updateMaxLength(), t && !o) { const t = this.activeItem; if (t && (t.classList.remove("iti__active"), t.setAttribute("aria-selected", "false")), e) { const t = this.countryList.querySelector(`#iti-${this.id}__item-${e}-preferred`) || this.countryList.querySelector(`#iti-${this.id}__item-${e}`); t && (t.setAttribute("aria-selected", "true"), t.classList.add("iti__active"), this.activeItem = t) } } return s.iso2 !== e } _updateMaxLength() { if (this.options.strictMode && window.intlTelInputUtils) if (this.selectedCountryData.iso2) { const e = window.intlTelInputUtils.numberType[this.options.placeholderNumberType]; let t = window.intlTelInputUtils.getExampleNumber(this.selectedCountryData.iso2, !1, e, !0), n = t; for (; window.intlTelInputUtils.isPossibleNumber(t, this.selectedCountryData.iso2);) n = t, t += "0"; const i = window.intlTelInputUtils.getCoreNumber(n, this.selectedCountryData.iso2); this.maxCoreNumberLength = i.length } else this.maxCoreNumberLength = null } _setSelectedCountryTitleAttribute(e = null, t) { if (!this.selectedCountry) return; let n; n = e && !t ? `${this.selectedCountryData.name}: +${this.selectedCountryData.dialCode}` : e ? this.selectedCountryData.name : "Unknown", this.selectedCountry.setAttribute("title", n) } _getHiddenSelectedCountryWidth() { if (this.telInput.parentNode) { const e = this.telInput.parentNode.cloneNode(!1); e.style.visibility = "hidden", document.body.appendChild(e); const t = this.countryContainer.cloneNode(); e.appendChild(t); const n = this.selectedCountry.cloneNode(!0); t.appendChild(n); const i = n.offsetWidth; return document.body.removeChild(e), i } return 0 } _updatePlaceholder() { const { autoPlaceholder: e, placeholderNumberType: t, nationalMode: n, customPlaceholder: i } = this.options, o = "aggressive" === e || !this.hadInitialPlaceholder && "polite" === e; if (window.intlTelInputUtils && o) { const e = window.intlTelInputUtils.numberType[t]; let o = this.selectedCountryData.iso2 ? window.intlTelInputUtils.getExampleNumber(this.selectedCountryData.iso2, n, e) : ""; o = this._beforeSetNumber(o), "function" == typeof i && (o = i(o, this.selectedCountryData)), this.telInput.setAttribute("placeholder", o) } } _selectListItem(e) { const t = this._setCountry(e.getAttribute("data-country-code")); this._closeDropdown(), this._updateDialCode(e.getAttribute("data-dial-code")), this.telInput.focus(), t && this._triggerCountryChange() } _closeDropdown() { this.dropdownContent.classList.add("iti__hide"), this.selectedCountry.setAttribute("aria-expanded", "false"), this.selectedCountry.removeAttribute("aria-activedescendant"), this.highlightedItem && this.highlightedItem.setAttribute("aria-selected", "false"), this.options.countrySearch && this.searchInput.removeAttribute("aria-activedescendant"), this.dropdownArrow.classList.remove("iti__arrow--up"), document.removeEventListener("keydown", this._handleKeydownOnDropdown), this.options.countrySearch && this.searchInput.removeEventListener("input", this._handleSearchChange), document.documentElement.removeEventListener("click", this._handleClickOffToClose), this.countryList.removeEventListener("mouseover", this._handleMouseoverCountryList), this.countryList.removeEventListener("click", this._handleClickCountryList), this.options.dropdownContainer && (this.options.useFullscreenPopup || window.removeEventListener("scroll", this._handleWindowScroll), this.dropdown.parentNode && this.dropdown.parentNode.removeChild(this.dropdown)), this._trigger("close:countrydropdown") } _scrollTo(e, t) { const n = this.countryList, i = document.documentElement.scrollTop, o = n.offsetHeight, r = n.getBoundingClientRect().top + i, s = r + o, a = e.offsetHeight, l = e.getBoundingClientRect().top + i, u = l + a; let c = l - r + n.scrollTop; const d = o / 2 - a / 2; if (l < r) t && (c -= d), n.scrollTop = c; else if (u > s) { t && (c += d); const e = o - a; n.scrollTop = c - e } } _updateDialCode(e) { const t = this.telInput.value, n = `+${e}`; let i; if ("+" === t.charAt(0)) { const e = this._getDialCode(t); i = e ? t.replace(e, n) : n, this.telInput.value = i } } _getDialCode(e, t) { let n = ""; if ("+" === e.charAt(0)) { let i = ""; for (let o = 0; o < e.length; o++) { const r = e.charAt(o); if (!isNaN(parseInt(r, 10))) { if (i += r, t) this.dialCodeToIso2Map[i] && (n = e.substr(0, o + 1)); else if (this.dialCodes[i]) { n = e.substr(0, o + 1); break } if (i.length === this.dialCodeMaxLen) break } } } return n } _getFullNumber() { const e = this.telInput.value.trim(), { dialCode: t } = this.selectedCountryData; let n; const i = d(e); return n = this.options.showSelectedDialCode && !this.options.nationalMode && "+" !== e.charAt(0) && t && i ? `+${t}` : "", n + e } _beforeSetNumber(e) { let t = e; if (this.options.showSelectedDialCode) { let e = this._getDialCode(t); if (e) { e = `+${this.selectedCountryData.dialCode}`; const n = " " === t[e.length] || "-" === t[e.length] ? e.length + 1 : e.length; t = t.substr(n) } } return this._cap(t) } _triggerCountryChange() { this._trigger("countrychange") } _formatNumberAsYouType() { const e = this._getFullNumber(), t = window.intlTelInputUtils ? window.intlTelInputUtils.formatNumberAsYouType(e, this.selectedCountryData.iso2) : e, { dialCode: n } = this.selectedCountryData; return this.options.showSelectedDialCode && !this.options.nationalMode && "+" !== this.telInput.value.charAt(0) && t.includes(`+${n}`) ? (t.split(`+${n}`)[1] || "").trim() : t } handleAutoCountry() { "auto" === this.options.initialCountry && window.intlTelInputGlobals.autoCountry && (this.defaultCountry = window.intlTelInputGlobals.autoCountry, this.telInput.value || this.setCountry(this.defaultCountry), this.resolveAutoCountryPromise()) } handleUtils() { window.intlTelInputUtils && (this.telInput.value && this._updateValFromNumber(this.telInput.value), this.selectedCountryData.iso2 && (this._updatePlaceholder(), this._updateMaxLength())), this.resolveUtilsScriptPromise() } destroy() { if (this.options.allowDropdown) { this._closeDropdown(), this.selectedCountry.removeEventListener("click", this._handleClickSelectedCountry), this.countryContainer.removeEventListener("keydown", this._handleCountryContainerKeydown); const e = this.telInput.closest("label"); e && e.removeEventListener("click", this._handleLabelClick) } const { form: e } = this.telInput; this._handleHiddenInputSubmit && e && e.removeEventListener("submit", this._handleHiddenInputSubmit), this.telInput.removeEventListener("input", this._handleInputEvent), this._handleKeydownEvent && this.telInput.removeEventListener("keydown", this._handleKeydownEvent), this.telInput.removeAttribute("data-intl-tel-input-id"); const t = this.telInput.parentNode; t?.parentNode?.insertBefore(this.telInput, t), t?.parentNode?.removeChild(t), delete window.intlTelInputGlobals.instances[this.id] } getExtension() { return window.intlTelInputUtils ? window.intlTelInputUtils.getExtension(this._getFullNumber(), this.selectedCountryData.iso2) : "" } getNumber(e) { if (window.intlTelInputUtils) { const { iso2: t } = this.selectedCountryData; return window.intlTelInputUtils.formatNumber(this._getFullNumber(), t, e) } return "" } getNumberType() { return window.intlTelInputUtils ? window.intlTelInputUtils.getNumberType(this._getFullNumber(), this.selectedCountryData.iso2) : -99 } getSelectedCountryData() { return this.selectedCountryData } getValidationError() { if (window.intlTelInputUtils) { const { iso2: e } = this.selectedCountryData; return window.intlTelInputUtils.getValidationError(this._getFullNumber(), e) } return -99 } isValidNumber(e = !0) { const t = this._getFullNumber(); return !/\p{L}/u.test(t) && (window.intlTelInputUtils ? window.intlTelInputUtils.isPossibleNumber(t, this.selectedCountryData.iso2, e) : null) } isValidNumberPrecise() { const e = this._getFullNumber(); return !/\p{L}/u.test(e) && (window.intlTelInputUtils ? window.intlTelInputUtils.isValidNumber(e, this.selectedCountryData.iso2) : null) } setCountry(e) { const t = e.toLowerCase(); this.selectedCountryData.iso2 !== t && (this._setCountry(t), this._updateDialCode(this.selectedCountryData.dialCode), this._triggerCountryChange()) } setNumber(e) { const t = this._updateCountryFromNumber(e); this._updateValFromNumber(e), t && this._triggerCountryChange() } setPlaceholderNumberType(e) { this.options.placeholderNumberType = e, this._updatePlaceholder() } }; if ("object" == typeof window) { const e = { defaults: u, documentReady: () => "complete" === document.readyState, getCountryData: () => a, getInstance: t => { const n = t.getAttribute("data-intl-tel-input-id"); return n ? e.instances[n] : null }, instances: {}, loadUtils: e => window.intlTelInputUtils || window.intlTelInputGlobals.startedLoadingUtilsScript ? null : (window.intlTelInputGlobals.startedLoadingUtilsScript = !0, new Promise(((t, n) => ((e, t, n) => { const i = document.createElement("script"); i.onload = () => { g("handleUtils"), t && t() }, i.onerror = () => { g("rejectUtilsScriptPromise"), n && n() }, i.className = "iti-load-utils", i.async = !0, i.src = e, document.body.appendChild(i) })(e, t, n)))), version: "21.1.3" }; window.intlTelInputGlobals = e } var v, b = (inputPhoneElement, phoneFormatConfig) => { const formFormatterInstance = new formFormatter(inputPhoneElement, phoneFormatConfig); return formFormatterInstance._init(), inputPhoneElement.setAttribute("data-intl-tel-input-id", formFormatterInstance.id.toString()), window.intlTelInputGlobals.instances[formFormatterInstance.id] = formFormatterInstance, formFormatterInstance }; return v = o, ((o, r, s, a) => { if (r && "object" == typeof r || "function" == typeof r) for (let s of n(r)) i.call(o, s) || undefined === s || e(o, s, { get: () => r[s], enumerable: !(a = t(r, s)) || a.enumerable }); return o })(e({}, "__esModule", { value: !0 }), v) })().default, e.exports ? e.exports = t() : window.intlTelInput = t() }, 250: (e, t, n) => { var i, o = n(692); (i = o).passGen = function (e) { e = i.extend({}, i.passGen.options, e); var t, n, o = "", r = ""; t = { numeric: "0123456789", lowercase: "abcdefghijklmnopqrstuvwxyz", uppercase: "ABCDEFGHIJKLMNOPQRSTUVWXYZ", special: "~!@#$%^&*()-+[]{}<>?" }, i.each(t, (function (t, n) { e[t] && (o += n) })); for (var s = 0; s < e.length; s++) n = Math.floor(Math.random() * o.length), r += o[n]; return r }, i.passGen.options = { length: 10, numeric: !0, lowercase: !0, uppercase: !0, special: !1 } }, 692: function (e, t) { var n; !function (t, n) { "use strict"; "object" == typeof e.exports ? e.exports = t.document ? n(t, !0) : function (e) { if (!e.document) throw new Error("jQuery requires a window with a document"); return n(e) } : n(t) }("undefined" != typeof window ? window : this, (function (i, o) { "use strict"; var r = [], s = Object.getPrototypeOf, a = r.slice, l = r.flat ? function (e) { return r.flat.call(e) } : function (e) { return r.concat.apply([], e) }, u = r.push, c = r.indexOf, d = {}, h = d.toString, p = d.hasOwnProperty, f = p.toString, m = f.call(Object), g = {}, y = function (e) { return "function" == typeof e && "number" != typeof e.nodeType && "function" != typeof e.item }, v = function (e) { return null != e && e === e.window }, b = i.document, w = { type: !0, src: !0, nonce: !0, noModule: !0 }; function C(e, t, n) { var i, o, r = (n = n || b).createElement("script"); if (r.text = e, t) for (i in w) (o = t[i] || t.getAttribute && t.getAttribute(i)) && r.setAttribute(i, o); n.head.appendChild(r).parentNode.removeChild(r) } function x(e) { return null == e ? e + "" : "object" == typeof e || "function" == typeof e ? d[h.call(e)] || "object" : typeof e } var _ = "3.7.1", T = /HTML$/i, S = function (e, t) { return new S.fn.init(e, t) }; function k(e) { var t = !!e && "length" in e && e.length, n = x(e); return !y(e) && !v(e) && ("array" === n || 0 === t || "number" == typeof t && t > 0 && t - 1 in e) } function I(e, t) { return e.nodeName && e.nodeName.toLowerCase() === t.toLowerCase() } S.fn = S.prototype = { jquery: _, constructor: S, length: 0, toArray: function () { return a.call(this) }, get: function (e) { return null == e ? a.call(this) : e < 0 ? this[e + this.length] : this[e] }, pushStack: function (e) { var t = S.merge(this.constructor(), e); return t.prevObject = this, t }, each: function (e) { return S.each(this, e) }, map: function (e) { return this.pushStack(S.map(this, (function (t, n) { return e.call(t, n, t) }))) }, slice: function () { return this.pushStack(a.apply(this, arguments)) }, first: function () { return this.eq(0) }, last: function () { return this.eq(-1) }, even: function () { return this.pushStack(S.grep(this, (function (e, t) { return (t + 1) % 2 }))) }, odd: function () { return this.pushStack(S.grep(this, (function (e, t) { return t % 2 }))) }, eq: function (e) { var t = this.length, n = +e + (e < 0 ? t : 0); return this.pushStack(n >= 0 && n < t ? [this[n]] : []) }, end: function () { return this.prevObject || this.constructor() }, push: u, sort: r.sort, splice: r.splice }, S.extend = S.fn.extend = function () { var e, t, n, i, o, r, s = arguments[0] || {}, a = 1, l = arguments.length, u = !1; for ("boolean" == typeof s && (u = s, s = arguments[a] || {}, a++), "object" == typeof s || y(s) || (s = {}), a === l && (s = this, a--); a < l; a++) if (null != (e = arguments[a])) for (t in e) i = e[t], "__proto__" !== t && s !== i && (u && i && (S.isPlainObject(i) || (o = Array.isArray(i))) ? (n = s[t], r = o && !Array.isArray(n) ? [] : o || S.isPlainObject(n) ? n : {}, o = !1, s[t] = S.extend(u, r, i)) : void 0 !== i && (s[t] = i)); return s }, S.extend({ expando: "jQuery" + (_ + Math.random()).replace(/\D/g, ""), isReady: !0, error: function (e) { throw new Error(e) }, noop: function () { }, isPlainObject: function (e) { var t, n; return !(!e || "[object Object]" !== h.call(e) || (t = s(e)) && ("function" != typeof (n = p.call(t, "constructor") && t.constructor) || f.call(n) !== m)) }, isEmptyObject: function (e) { var t; for (t in e) return !1; return !0 }, globalEval: function (e, t, n) { C(e, { nonce: t && t.nonce }, n) }, each: function (e, t) { var n, i = 0; if (k(e)) for (n = e.length; i < n && !1 !== t.call(e[i], i, e[i]); i++); else for (i in e) if (!1 === t.call(e[i], i, e[i])) break; return e }, text: function (e) { var t, n = "", i = 0, o = e.nodeType; if (!o) for (; t = e[i++];) n += S.text(t); return 1 === o || 11 === o ? e.textContent : 9 === o ? e.documentElement.textContent : 3 === o || 4 === o ? e.nodeValue : n }, makeArray: function (e, t) { var n = t || []; return null != e && (k(Object(e)) ? S.merge(n, "string" == typeof e ? [e] : e) : u.call(n, e)), n }, inArray: function (e, t, n) { return null == t ? -1 : c.call(t, e, n) }, isXMLDoc: function (e) { var t = e && e.namespaceURI, n = e && (e.ownerDocument || e).documentElement; return !T.test(t || n && n.nodeName || "HTML") }, merge: function (e, t) { for (var n = +t.length, i = 0, o = e.length; i < n; i++) e[o++] = t[i]; return e.length = o, e }, grep: function (e, t, n) { for (var i = [], o = 0, r = e.length, s = !n; o < r; o++) !t(e[o], o) !== s && i.push(e[o]); return i }, map: function (e, t, n) { var i, o, r = 0, s = []; if (k(e)) for (i = e.length; r < i; r++) null != (o = t(e[r], r, n)) && s.push(o); else for (r in e) null != (o = t(e[r], r, n)) && s.push(o); return l(s) }, guid: 1, support: g }), "function" == typeof Symbol && (S.fn[Symbol.iterator] = r[Symbol.iterator]), S.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "), (function (e, t) { d["[object " + t + "]"] = t.toLowerCase() })); var D = r.pop, L = r.sort, A = r.splice, E = "[\\x20\\t\\r\\n\\f]", N = new RegExp("^" + E + "+|((?:^|[^\\\\])(?:\\\\.)*)" + E + "+$", "g"); S.contains = function (e, t) { var n = t && t.parentNode; return e === n || !(!n || 1 !== n.nodeType || !(e.contains ? e.contains(n) : e.compareDocumentPosition && 16 & e.compareDocumentPosition(n))) }; var M = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g; function j(e, t) { return t ? "\0" === e ? "�" : e.slice(0, -1) + "\\" + e.charCodeAt(e.length - 1).toString(16) + " " : "\\" + e } S.escapeSelector = function (e) { return (e + "").replace(M, j) }; var P = b, O = u; !function () { var e, t, n, o, s, l, u, d, h, f, m = O, y = S.expando, v = 0, b = 0, w = ee(), C = ee(), x = ee(), _ = ee(), T = function (e, t) { return e === t && (s = !0), 0 }, k = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", M = "(?:\\\\[\\da-fA-F]{1,6}" + E + "?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+", j = "\\[" + E + "*(" + M + ")(?:" + E + "*([*^$|!~]?=)" + E + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + M + "))|)" + E + "*\\]", q = ":(" + M + ")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|" + j + ")*)|.*)\\)|)", H = new RegExp(E + "+", "g"), R = new RegExp("^" + E + "*," + E + "*"), F = new RegExp("^" + E + "*([>+~]|" + E + ")" + E + "*"), $ = new RegExp(E + "|>"), U = new RegExp(q), B = new RegExp("^" + M + "$"), W = { ID: new RegExp("^#(" + M + ")"), CLASS: new RegExp("^\\.(" + M + ")"), TAG: new RegExp("^(" + M + "|[*])"), ATTR: new RegExp("^" + j), PSEUDO: new RegExp("^" + q), CHILD: new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + E + "*(even|odd|(([+-]|)(\\d*)n|)" + E + "*(?:([+-]|)" + E + "*(\\d+)|))" + E + "*\\)|)", "i"), bool: new RegExp("^(?:" + k + ")$", "i"), needsContext: new RegExp("^" + E + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + E + "*((?:-\\d)?\\d*)" + E + "*\\)|)(?=[^-]|$)", "i") }, G = /^(?:input|select|textarea|button)$/i, z = /^h\d$/i, K = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, J = /[+~]/, V = new RegExp("\\\\[\\da-fA-F]{1,6}" + E + "?|\\\\([^\\r\\n\\f])", "g"), X = function (e, t) { var n = "0x" + e.slice(1) - 65536; return t || (n < 0 ? String.fromCharCode(n + 65536) : String.fromCharCode(n >> 10 | 55296, 1023 & n | 56320)) }, Y = function () { le() }, Q = he((function (e) { return !0 === e.disabled && I(e, "fieldset") }), { dir: "parentNode", next: "legend" }); try { m.apply(r = a.call(P.childNodes), P.childNodes), r[P.childNodes.length].nodeType } catch (e) { m = { apply: function (e, t) { O.apply(e, a.call(t)) }, call: function (e) { O.apply(e, a.call(arguments, 1)) } } } function Z(e, t, n, i) { var o, r, s, a, u, c, p, f = t && t.ownerDocument, v = t ? t.nodeType : 9; if (n = n || [], "string" != typeof e || !e || 1 !== v && 9 !== v && 11 !== v) return n; if (!i && (le(t), t = t || l, d)) { if (11 !== v && (u = K.exec(e))) if (o = u[1]) { if (9 === v) { if (!(s = t.getElementById(o))) return n; if (s.id === o) return m.call(n, s), n } else if (f && (s = f.getElementById(o)) && Z.contains(t, s) && s.id === o) return m.call(n, s), n } else { if (u[2]) return m.apply(n, t.getElementsByTagName(e)), n; if ((o = u[3]) && t.getElementsByClassName) return m.apply(n, t.getElementsByClassName(o)), n } if (!(_[e + " "] || h && h.test(e))) { if (p = e, f = t, 1 === v && ($.test(e) || F.test(e))) { for ((f = J.test(e) && ae(t.parentNode) || t) == t && g.scope || ((a = t.getAttribute("id")) ? a = S.escapeSelector(a) : t.setAttribute("id", a = y)), r = (c = ce(e)).length; r--;) c[r] = (a ? "#" + a : ":scope") + " " + de(c[r]); p = c.join(",") } try { return m.apply(n, f.querySelectorAll(p)), n } catch (t) { _(e, !0) } finally { a === y && t.removeAttribute("id") } } } return ve(e.replace(N, "$1"), t, n, i) } function ee() { var e = []; return function n(i, o) { return e.push(i + " ") > t.cacheLength && delete n[e.shift()], n[i + " "] = o } } function te(e) { return e[y] = !0, e } function ne(e) { var t = l.createElement("fieldset"); try { return !!e(t) } catch (e) { return !1 } finally { t.parentNode && t.parentNode.removeChild(t), t = null } } function ie(e) { return function (t) { return I(t, "input") && t.type === e } } function oe(e) { return function (t) { return (I(t, "input") || I(t, "button")) && t.type === e } } function re(e) { return function (t) { return "form" in t ? t.parentNode && !1 === t.disabled ? "label" in t ? "label" in t.parentNode ? t.parentNode.disabled === e : t.disabled === e : t.isDisabled === e || t.isDisabled !== !e && Q(t) === e : t.disabled === e : "label" in t && t.disabled === e } } function se(e) { return te((function (t) { return t = +t, te((function (n, i) { for (var o, r = e([], n.length, t), s = r.length; s--;) n[o = r[s]] && (n[o] = !(i[o] = n[o])) })) })) } function ae(e) { return e && void 0 !== e.getElementsByTagName && e } function le(e) { var n, i = e ? e.ownerDocument || e : P; return i != l && 9 === i.nodeType && i.documentElement ? (u = (l = i).documentElement, d = !S.isXMLDoc(l), f = u.matches || u.webkitMatchesSelector || u.msMatchesSelector, u.msMatchesSelector && P != l && (n = l.defaultView) && n.top !== n && n.addEventListener("unload", Y), g.getById = ne((function (e) { return u.appendChild(e).id = S.expando, !l.getElementsByName || !l.getElementsByName(S.expando).length })), g.disconnectedMatch = ne((function (e) { return f.call(e, "*") })), g.scope = ne((function () { return l.querySelectorAll(":scope") })), g.cssHas = ne((function () { try { return l.querySelector(":has(*,:jqfake)"), !1 } catch (e) { return !0 } })), g.getById ? (t.filter.ID = function (e) { var t = e.replace(V, X); return function (e) { return e.getAttribute("id") === t } }, t.find.ID = function (e, t) { if (void 0 !== t.getElementById && d) { var n = t.getElementById(e); return n ? [n] : [] } }) : (t.filter.ID = function (e) { var t = e.replace(V, X); return function (e) { var n = void 0 !== e.getAttributeNode && e.getAttributeNode("id"); return n && n.value === t } }, t.find.ID = function (e, t) { if (void 0 !== t.getElementById && d) { var n, i, o, r = t.getElementById(e); if (r) { if ((n = r.getAttributeNode("id")) && n.value === e) return [r]; for (o = t.getElementsByName(e), i = 0; r = o[i++];) if ((n = r.getAttributeNode("id")) && n.value === e) return [r] } return [] } }), t.find.TAG = function (e, t) { return void 0 !== t.getElementsByTagName ? t.getElementsByTagName(e) : t.querySelectorAll(e) }, t.find.CLASS = function (e, t) { if (void 0 !== t.getElementsByClassName && d) return t.getElementsByClassName(e) }, h = [], ne((function (e) { var t; u.appendChild(e).innerHTML = "", e.querySelectorAll("[selected]").length || h.push("\\[" + E + "*(?:value|" + k + ")"), e.querySelectorAll("[id~=" + y + "-]").length || h.push("~="), e.querySelectorAll("a#" + y + "+*").length || h.push(".#.+[+~]"), e.querySelectorAll(":checked").length || h.push(":checked"), (t = l.createElement("input")).setAttribute("type", "hidden"), e.appendChild(t).setAttribute("name", "D"), u.appendChild(e).disabled = !0, 2 !== e.querySelectorAll(":disabled").length && h.push(":enabled", ":disabled"), (t = l.createElement("input")).setAttribute("name", ""), e.appendChild(t), e.querySelectorAll("[name='']").length || h.push("\\[" + E + "*name" + E + "*=" + E + "*(?:''|\"\")") })), g.cssHas || h.push(":has"), h = h.length && new RegExp(h.join("|")), T = function (e, t) { if (e === t) return s = !0, 0; var n = !e.compareDocumentPosition - !t.compareDocumentPosition; return n || (1 & (n = (e.ownerDocument || e) == (t.ownerDocument || t) ? e.compareDocumentPosition(t) : 1) || !g.sortDetached && t.compareDocumentPosition(e) === n ? e === l || e.ownerDocument == P && Z.contains(P, e) ? -1 : t === l || t.ownerDocument == P && Z.contains(P, t) ? 1 : o ? c.call(o, e) - c.call(o, t) : 0 : 4 & n ? -1 : 1) }, l) : l } for (e in Z.matches = function (e, t) { return Z(e, null, null, t) }, Z.matchesSelector = function (e, t) { if (le(e), d && !_[t + " "] && (!h || !h.test(t))) try { var n = f.call(e, t); if (n || g.disconnectedMatch || e.document && 11 !== e.document.nodeType) return n } catch (e) { _(t, !0) } return Z(t, l, null, [e]).length > 0 }, Z.contains = function (e, t) { return (e.ownerDocument || e) != l && le(e), S.contains(e, t) }, Z.attr = function (e, n) { (e.ownerDocument || e) != l && le(e); var i = t.attrHandle[n.toLowerCase()], o = i && p.call(t.attrHandle, n.toLowerCase()) ? i(e, n, !d) : void 0; return void 0 !== o ? o : e.getAttribute(n) }, Z.error = function (e) { throw new Error("Syntax error, unrecognized expression: " + e) }, S.uniqueSort = function (e) { var t, n = [], i = 0, r = 0; if (s = !g.sortStable, o = !g.sortStable && a.call(e, 0), L.call(e, T), s) { for (; t = e[r++];) t === e[r] && (i = n.push(r)); for (; i--;) A.call(e, n[i], 1) } return o = null, e }, S.fn.uniqueSort = function () { return this.pushStack(S.uniqueSort(a.apply(this))) }, t = S.expr = { cacheLength: 50, createPseudo: te, match: W, attrHandle: {}, find: {}, relative: { ">": { dir: "parentNode", first: !0 }, " ": { dir: "parentNode" }, "+": { dir: "previousSibling", first: !0 }, "~": { dir: "previousSibling" } }, preFilter: { ATTR: function (e) { return e[1] = e[1].replace(V, X), e[3] = (e[3] || e[4] || e[5] || "").replace(V, X), "~=" === e[2] && (e[3] = " " + e[3] + " "), e.slice(0, 4) }, CHILD: function (e) { return e[1] = e[1].toLowerCase(), "nth" === e[1].slice(0, 3) ? (e[3] || Z.error(e[0]), e[4] = +(e[4] ? e[5] + (e[6] || 1) : 2 * ("even" === e[3] || "odd" === e[3])), e[5] = +(e[7] + e[8] || "odd" === e[3])) : e[3] && Z.error(e[0]), e }, PSEUDO: function (e) { var t, n = !e[6] && e[2]; return W.CHILD.test(e[0]) ? null : (e[3] ? e[2] = e[4] || e[5] || "" : n && U.test(n) && (t = ce(n, !0)) && (t = n.indexOf(")", n.length - t) - n.length) && (e[0] = e[0].slice(0, t), e[2] = n.slice(0, t)), e.slice(0, 3)) } }, filter: { TAG: function (e) { var t = e.replace(V, X).toLowerCase(); return "*" === e ? function () { return !0 } : function (e) { return I(e, t) } }, CLASS: function (e) { var t = w[e + " "]; return t || (t = new RegExp("(^|" + E + ")" + e + "(" + E + "|$)")) && w(e, (function (e) { return t.test("string" == typeof e.className && e.className || void 0 !== e.getAttribute && e.getAttribute("class") || "") })) }, ATTR: function (e, t, n) { return function (i) { var o = Z.attr(i, e); return null == o ? "!=" === t : !t || (o += "", "=" === t ? o === n : "!=" === t ? o !== n : "^=" === t ? n && 0 === o.indexOf(n) : "*=" === t ? n && o.indexOf(n) > -1 : "$=" === t ? n && o.slice(-n.length) === n : "~=" === t ? (" " + o.replace(H, " ") + " ").indexOf(n) > -1 : "|=" === t && (o === n || o.slice(0, n.length + 1) === n + "-")) } }, CHILD: function (e, t, n, i, o) { var r = "nth" !== e.slice(0, 3), s = "last" !== e.slice(-4), a = "of-type" === t; return 1 === i && 0 === o ? function (e) { return !!e.parentNode } : function (t, n, l) { var u, c, d, h, p, f = r !== s ? "nextSibling" : "previousSibling", m = t.parentNode, g = a && t.nodeName.toLowerCase(), b = !l && !a, w = !1; if (m) { if (r) { for (; f;) { for (d = t; d = d[f];) if (a ? I(d, g) : 1 === d.nodeType) return !1; p = f = "only" === e && !p && "nextSibling" } return !0 } if (p = [s ? m.firstChild : m.lastChild], s && b) { for (w = (h = (u = (c = m[y] || (m[y] = {}))[e] || [])[0] === v && u[1]) && u[2], d = h && m.childNodes[h]; d = ++h && d && d[f] || (w = h = 0) || p.pop();) if (1 === d.nodeType && ++w && d === t) { c[e] = [v, h, w]; break } } else if (b && (w = h = (u = (c = t[y] || (t[y] = {}))[e] || [])[0] === v && u[1]), !1 === w) for (; (d = ++h && d && d[f] || (w = h = 0) || p.pop()) && (!(a ? I(d, g) : 1 === d.nodeType) || !++w || (b && ((c = d[y] || (d[y] = {}))[e] = [v, w]), d !== t));); return (w -= o) === i || w % i == 0 && w / i >= 0 } } }, PSEUDO: function (e, n) { var i, o = t.pseudos[e] || t.setFilters[e.toLowerCase()] || Z.error("unsupported pseudo: " + e); return o[y] ? o(n) : o.length > 1 ? (i = [e, e, "", n], t.setFilters.hasOwnProperty(e.toLowerCase()) ? te((function (e, t) { for (var i, r = o(e, n), s = r.length; s--;) e[i = c.call(e, r[s])] = !(t[i] = r[s]) })) : function (e) { return o(e, 0, i) }) : o } }, pseudos: { not: te((function (e) { var t = [], n = [], i = ye(e.replace(N, "$1")); return i[y] ? te((function (e, t, n, o) { for (var r, s = i(e, null, o, []), a = e.length; a--;) (r = s[a]) && (e[a] = !(t[a] = r)) })) : function (e, o, r) { return t[0] = e, i(t, null, r, n), t[0] = null, !n.pop() } })), has: te((function (e) { return function (t) { return Z(e, t).length > 0 } })), contains: te((function (e) { return e = e.replace(V, X), function (t) { return (t.textContent || S.text(t)).indexOf(e) > -1 } })), lang: te((function (e) { return B.test(e || "") || Z.error("unsupported lang: " + e), e = e.replace(V, X).toLowerCase(), function (t) { var n; do { if (n = d ? t.lang : t.getAttribute("xml:lang") || t.getAttribute("lang")) return (n = n.toLowerCase()) === e || 0 === n.indexOf(e + "-") } while ((t = t.parentNode) && 1 === t.nodeType); return !1 } })), target: function (e) { var t = i.location && i.location.hash; return t && t.slice(1) === e.id }, root: function (e) { return e === u }, focus: function (e) { return e === function () { try { return l.activeElement } catch (e) { } }() && l.hasFocus() && !!(e.type || e.href || ~e.tabIndex) }, enabled: re(!1), disabled: re(!0), checked: function (e) { return I(e, "input") && !!e.checked || I(e, "option") && !!e.selected }, selected: function (e) { return e.parentNode && e.parentNode.selectedIndex, !0 === e.selected }, empty: function (e) { for (e = e.firstChild; e; e = e.nextSibling) if (e.nodeType < 6) return !1; return !0 }, parent: function (e) { return !t.pseudos.empty(e) }, header: function (e) { return z.test(e.nodeName) }, input: function (e) { return G.test(e.nodeName) }, button: function (e) { return I(e, "input") && "button" === e.type || I(e, "button") }, text: function (e) { var t; return I(e, "input") && "text" === e.type && (null == (t = e.getAttribute("type")) || "text" === t.toLowerCase()) }, first: se((function () { return [0] })), last: se((function (e, t) { return [t - 1] })), eq: se((function (e, t, n) { return [n < 0 ? n + t : n] })), even: se((function (e, t) { for (var n = 0; n < t; n += 2) e.push(n); return e })), odd: se((function (e, t) { for (var n = 1; n < t; n += 2) e.push(n); return e })), lt: se((function (e, t, n) { var i; for (i = n < 0 ? n + t : n > t ? t : n; --i >= 0;) e.push(i); return e })), gt: se((function (e, t, n) { for (var i = n < 0 ? n + t : n; ++i < t;) e.push(i); return e })) } }, t.pseudos.nth = t.pseudos.eq, { radio: !0, checkbox: !0, file: !0, password: !0, image: !0 }) t.pseudos[e] = ie(e); for (e in { submit: !0, reset: !0 }) t.pseudos[e] = oe(e); function ue() { } function ce(e, n) { var i, o, r, s, a, l, u, c = C[e + " "]; if (c) return n ? 0 : c.slice(0); for (a = e, l = [], u = t.preFilter; a;) { for (s in i && !(o = R.exec(a)) || (o && (a = a.slice(o[0].length) || a), l.push(r = [])), i = !1, (o = F.exec(a)) && (i = o.shift(), r.push({ value: i, type: o[0].replace(N, " ") }), a = a.slice(i.length)), t.filter) !(o = W[s].exec(a)) || u[s] && !(o = u[s](o)) || (i = o.shift(), r.push({ value: i, type: s, matches: o }), a = a.slice(i.length)); if (!i) break } return n ? a.length : a ? Z.error(e) : C(e, l).slice(0) } function de(e) { for (var t = 0, n = e.length, i = ""; t < n; t++) i += e[t].value; return i } function he(e, t, n) { var i = t.dir, o = t.next, r = o || i, s = n && "parentNode" === r, a = b++; return t.first ? function (t, n, o) { for (; t = t[i];) if (1 === t.nodeType || s) return e(t, n, o); return !1 } : function (t, n, l) { var u, c, d = [v, a]; if (l) { for (; t = t[i];) if ((1 === t.nodeType || s) && e(t, n, l)) return !0 } else for (; t = t[i];) if (1 === t.nodeType || s) if (c = t[y] || (t[y] = {}), o && I(t, o)) t = t[i] || t; else { if ((u = c[r]) && u[0] === v && u[1] === a) return d[2] = u[2]; if (c[r] = d, d[2] = e(t, n, l)) return !0 } return !1 } } function pe(e) { return e.length > 1 ? function (t, n, i) { for (var o = e.length; o--;) if (!e[o](t, n, i)) return !1; return !0 } : e[0] } function fe(e, t, n, i, o) { for (var r, s = [], a = 0, l = e.length, u = null != t; a < l; a++) (r = e[a]) && (n && !n(r, i, o) || (s.push(r), u && t.push(a))); return s } function me(e, t, n, i, o, r) { return i && !i[y] && (i = me(i)), o && !o[y] && (o = me(o, r)), te((function (r, s, a, l) { var u, d, h, p, f = [], g = [], y = s.length, v = r || function (e, t, n) { for (var i = 0, o = t.length; i < o; i++) Z(e, t[i], n); return n }(t || "*", a.nodeType ? [a] : a, []), b = !e || !r && t ? v : fe(v, f, e, a, l); if (n ? n(b, p = o || (r ? e : y || i) ? [] : s, a, l) : p = b, i) for (u = fe(p, g), i(u, [], a, l), d = u.length; d--;) (h = u[d]) && (p[g[d]] = !(b[g[d]] = h)); if (r) { if (o || e) { if (o) { for (u = [], d = p.length; d--;) (h = p[d]) && u.push(b[d] = h); o(null, p = [], u, l) } for (d = p.length; d--;) (h = p[d]) && (u = o ? c.call(r, h) : f[d]) > -1 && (r[u] = !(s[u] = h)) } } else p = fe(p === s ? p.splice(y, p.length) : p), o ? o(null, s, p, l) : m.apply(s, p) })) } function ge(e) { for (var i, o, r, s = e.length, a = t.relative[e[0].type], l = a || t.relative[" "], u = a ? 1 : 0, d = he((function (e) { return e === i }), l, !0), h = he((function (e) { return c.call(i, e) > -1 }), l, !0), p = [function (e, t, o) { var r = !a && (o || t != n) || ((i = t).nodeType ? d(e, t, o) : h(e, t, o)); return i = null, r }]; u < s; u++) if (o = t.relative[e[u].type]) p = [he(pe(p), o)]; else { if ((o = t.filter[e[u].type].apply(null, e[u].matches))[y]) { for (r = ++u; r < s && !t.relative[e[r].type]; r++); return me(u > 1 && pe(p), u > 1 && de(e.slice(0, u - 1).concat({ value: " " === e[u - 2].type ? "*" : "" })).replace(N, "$1"), o, u < r && ge(e.slice(u, r)), r < s && ge(e = e.slice(r)), r < s && de(e)) } p.push(o) } return pe(p) } function ye(e, i) { var o, r = [], s = [], a = x[e + " "]; if (!a) { for (i || (i = ce(e)), o = i.length; o--;) (a = ge(i[o]))[y] ? r.push(a) : s.push(a); a = x(e, function (e, i) { var o = i.length > 0, r = e.length > 0, s = function (s, a, u, c, h) { var p, f, g, y = 0, b = "0", w = s && [], C = [], x = n, _ = s || r && t.find.TAG("*", h), T = v += null == x ? 1 : Math.random() || .1, k = _.length; for (h && (n = a == l || a || h); b !== k && null != (p = _[b]); b++) { if (r && p) { for (f = 0, a || p.ownerDocument == l || (le(p), u = !d); g = e[f++];) if (g(p, a || l, u)) { m.call(c, p); break } h && (v = T) } o && ((p = !g && p) && y--, s && w.push(p)) } if (y += b, o && b !== y) { for (f = 0; g = i[f++];) g(w, C, a, u); if (s) { if (y > 0) for (; b--;) w[b] || C[b] || (C[b] = D.call(c)); C = fe(C) } m.apply(c, C), h && !s && C.length > 0 && y + i.length > 1 && S.uniqueSort(c) } return h && (v = T, n = x), w }; return o ? te(s) : s }(s, r)), a.selector = e } return a } function ve(e, n, i, o) { var r, s, a, l, u, c = "function" == typeof e && e, h = !o && ce(e = c.selector || e); if (i = i || [], 1 === h.length) { if ((s = h[0] = h[0].slice(0)).length > 2 && "ID" === (a = s[0]).type && 9 === n.nodeType && d && t.relative[s[1].type]) { if (!(n = (t.find.ID(a.matches[0].replace(V, X), n) || [])[0])) return i; c && (n = n.parentNode), e = e.slice(s.shift().value.length) } for (r = W.needsContext.test(e) ? 0 : s.length; r-- && (a = s[r], !t.relative[l = a.type]);) if ((u = t.find[l]) && (o = u(a.matches[0].replace(V, X), J.test(s[0].type) && ae(n.parentNode) || n))) { if (s.splice(r, 1), !(e = o.length && de(s))) return m.apply(i, o), i; break } } return (c || ye(e, h))(o, n, !d, i, !n || J.test(e) && ae(n.parentNode) || n), i } ue.prototype = t.filters = t.pseudos, t.setFilters = new ue, g.sortStable = y.split("").sort(T).join("") === y, le(), g.sortDetached = ne((function (e) { return 1 & e.compareDocumentPosition(l.createElement("fieldset")) })), S.find = Z, S.expr[":"] = S.expr.pseudos, S.unique = S.uniqueSort, Z.compile = ye, Z.select = ve, Z.setDocument = le, Z.tokenize = ce, Z.escape = S.escapeSelector, Z.getText = S.text, Z.isXML = S.isXMLDoc, Z.selectors = S.expr, Z.support = S.support, Z.uniqueSort = S.uniqueSort }(); var q = function (e, t, n) { for (var i = [], o = void 0 !== n; (e = e[t]) && 9 !== e.nodeType;) if (1 === e.nodeType) { if (o && S(e).is(n)) break; i.push(e) } return i }, H = function (e, t) { for (var n = []; e; e = e.nextSibling) 1 === e.nodeType && e !== t && n.push(e); return n }, R = S.expr.match.needsContext, F = /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i; function $(e, t, n) { return y(t) ? S.grep(e, (function (e, i) { return !!t.call(e, i, e) !== n })) : t.nodeType ? S.grep(e, (function (e) { return e === t !== n })) : "string" != typeof t ? S.grep(e, (function (e) { return c.call(t, e) > -1 !== n })) : S.filter(t, e, n) } S.filter = function (e, t, n) { var i = t[0]; return n && (e = ":not(" + e + ")"), 1 === t.length && 1 === i.nodeType ? S.find.matchesSelector(i, e) ? [i] : [] : S.find.matches(e, S.grep(t, (function (e) { return 1 === e.nodeType }))) }, S.fn.extend({ find: function (e) { var t, n, i = this.length, o = this; if ("string" != typeof e) return this.pushStack(S(e).filter((function () { for (t = 0; t < i; t++) if (S.contains(o[t], this)) return !0 }))); for (n = this.pushStack([]), t = 0; t < i; t++) S.find(e, o[t], n); return i > 1 ? S.uniqueSort(n) : n }, filter: function (e) { return this.pushStack($(this, e || [], !1)) }, not: function (e) { return this.pushStack($(this, e || [], !0)) }, is: function (e) { return !!$(this, "string" == typeof e && R.test(e) ? S(e) : e || [], !1).length } }); var U, B = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/; (S.fn.init = function (e, t, n) { var i, o; if (!e) return this; if (n = n || U, "string" == typeof e) { if (!(i = "<" === e[0] && ">" === e[e.length - 1] && e.length >= 3 ? [null, e, null] : B.exec(e)) || !i[1] && t) return !t || t.jquery ? (t || n).find(e) : this.constructor(t).find(e); if (i[1]) { if (t = t instanceof S ? t[0] : t, S.merge(this, S.parseHTML(i[1], t && t.nodeType ? t.ownerDocument || t : b, !0)), F.test(i[1]) && S.isPlainObject(t)) for (i in t) y(this[i]) ? this[i](t[i]) : this.attr(i, t[i]); return this } return (o = b.getElementById(i[2])) && (this[0] = o, this.length = 1), this } return e.nodeType ? (this[0] = e, this.length = 1, this) : y(e) ? void 0 !== n.ready ? n.ready(e) : e(S) : S.makeArray(e, this) }).prototype = S.fn, U = S(b); var W = /^(?:parents|prev(?:Until|All))/, G = { children: !0, contents: !0, next: !0, prev: !0 }; function z(e, t) { for (; (e = e[t]) && 1 !== e.nodeType;); return e } S.fn.extend({ has: function (e) { var t = S(e, this), n = t.length; return this.filter((function () { for (var e = 0; e < n; e++) if (S.contains(this, t[e])) return !0 })) }, closest: function (e, t) { var n, i = 0, o = this.length, r = [], s = "string" != typeof e && S(e); if (!R.test(e)) for (; i < o; i++) for (n = this[i]; n && n !== t; n = n.parentNode) if (n.nodeType < 11 && (s ? s.index(n) > -1 : 1 === n.nodeType && S.find.matchesSelector(n, e))) { r.push(n); break } return this.pushStack(r.length > 1 ? S.uniqueSort(r) : r) }, index: function (e) { return e ? "string" == typeof e ? c.call(S(e), this[0]) : c.call(this, e.jquery ? e[0] : e) : this[0] && this[0].parentNode ? this.first().prevAll().length : -1 }, add: function (e, t) { return this.pushStack(S.uniqueSort(S.merge(this.get(), S(e, t)))) }, addBack: function (e) { return this.add(null == e ? this.prevObject : this.prevObject.filter(e)) } }), S.each({ parent: function (e) { var t = e.parentNode; return t && 11 !== t.nodeType ? t : null }, parents: function (e) { return q(e, "parentNode") }, parentsUntil: function (e, t, n) { return q(e, "parentNode", n) }, next: function (e) { return z(e, "nextSibling") }, prev: function (e) { return z(e, "previousSibling") }, nextAll: function (e) { return q(e, "nextSibling") }, prevAll: function (e) { return q(e, "previousSibling") }, nextUntil: function (e, t, n) { return q(e, "nextSibling", n) }, prevUntil: function (e, t, n) { return q(e, "previousSibling", n) }, siblings: function (e) { return H((e.parentNode || {}).firstChild, e) }, children: function (e) { return H(e.firstChild) }, contents: function (e) { return null != e.contentDocument && s(e.contentDocument) ? e.contentDocument : (I(e, "template") && (e = e.content || e), S.merge([], e.childNodes)) } }, (function (e, t) { S.fn[e] = function (n, i) { var o = S.map(this, t, n); return "Until" !== e.slice(-5) && (i = n), i && "string" == typeof i && (o = S.filter(i, o)), this.length > 1 && (G[e] || S.uniqueSort(o), W.test(e) && o.reverse()), this.pushStack(o) } })); var K = /[^\x20\t\r\n\f]+/g; function J(e) { return e } function V(e) { throw e } function X(e, t, n, i) { var o; try { e && y(o = e.promise) ? o.call(e).done(t).fail(n) : e && y(o = e.then) ? o.call(e, t, n) : t.apply(void 0, [e].slice(i)) } catch (e) { n.apply(void 0, [e]) } } S.Callbacks = function (e) { e = "string" == typeof e ? function (e) { var t = {}; return S.each(e.match(K) || [], (function (e, n) { t[n] = !0 })), t }(e) : S.extend({}, e); var t, n, i, o, r = [], s = [], a = -1, l = function () { for (o = o || e.once, i = t = !0; s.length; a = -1) for (n = s.shift(); ++a < r.length;) !1 === r[a].apply(n[0], n[1]) && e.stopOnFalse && (a = r.length, n = !1); e.memory || (n = !1), t = !1, o && (r = n ? [] : "") }, u = { add: function () { return r && (n && !t && (a = r.length - 1, s.push(n)), function t(n) { S.each(n, (function (n, i) { y(i) ? e.unique && u.has(i) || r.push(i) : i && i.length && "string" !== x(i) && t(i) })) }(arguments), n && !t && l()), this }, remove: function () { return S.each(arguments, (function (e, t) { for (var n; (n = S.inArray(t, r, n)) > -1;) r.splice(n, 1), n <= a && a-- })), this }, has: function (e) { return e ? S.inArray(e, r) > -1 : r.length > 0 }, empty: function () { return r && (r = []), this }, disable: function () { return o = s = [], r = n = "", this }, disabled: function () { return !r }, lock: function () { return o = s = [], n || t || (r = n = ""), this }, locked: function () { return !!o }, fireWith: function (e, n) { return o || (n = [e, (n = n || []).slice ? n.slice() : n], s.push(n), t || l()), this }, fire: function () { return u.fireWith(this, arguments), this }, fired: function () { return !!i } }; return u }, S.extend({ Deferred: function (e) { var t = [["notify", "progress", S.Callbacks("memory"), S.Callbacks("memory"), 2], ["resolve", "done", S.Callbacks("once memory"), S.Callbacks("once memory"), 0, "resolved"], ["reject", "fail", S.Callbacks("once memory"), S.Callbacks("once memory"), 1, "rejected"]], n = "pending", o = { state: function () { return n }, always: function () { return r.done(arguments).fail(arguments), this }, catch: function (e) { return o.then(null, e) }, pipe: function () { var e = arguments; return S.Deferred((function (n) { S.each(t, (function (t, i) { var o = y(e[i[4]]) && e[i[4]]; r[i[1]]((function () { var e = o && o.apply(this, arguments); e && y(e.promise) ? e.promise().progress(n.notify).done(n.resolve).fail(n.reject) : n[i[0] + "With"](this, o ? [e] : arguments) })) })), e = null })).promise() }, then: function (e, n, o) { var r = 0; function s(e, t, n, o) { return function () { var a = this, l = arguments, u = function () { var i, u; if (!(e < r)) { if ((i = n.apply(a, l)) === t.promise()) throw new TypeError("Thenable self-resolution"); u = i && ("object" == typeof i || "function" == typeof i) && i.then, y(u) ? o ? u.call(i, s(r, t, J, o), s(r, t, V, o)) : (r++, u.call(i, s(r, t, J, o), s(r, t, V, o), s(r, t, J, t.notifyWith))) : (n !== J && (a = void 0, l = [i]), (o || t.resolveWith)(a, l)) } }, c = o ? u : function () { try { u() } catch (i) { S.Deferred.exceptionHook && S.Deferred.exceptionHook(i, c.error), e + 1 >= r && (n !== V && (a = void 0, l = [i]), t.rejectWith(a, l)) } }; e ? c() : (S.Deferred.getErrorHook ? c.error = S.Deferred.getErrorHook() : S.Deferred.getStackHook && (c.error = S.Deferred.getStackHook()), i.setTimeout(c)) } } return S.Deferred((function (i) { t[0][3].add(s(0, i, y(o) ? o : J, i.notifyWith)), t[1][3].add(s(0, i, y(e) ? e : J)), t[2][3].add(s(0, i, y(n) ? n : V)) })).promise() }, promise: function (e) { return null != e ? S.extend(e, o) : o } }, r = {}; return S.each(t, (function (e, i) { var s = i[2], a = i[5]; o[i[1]] = s.add, a && s.add((function () { n = a }), t[3 - e][2].disable, t[3 - e][3].disable, t[0][2].lock, t[0][3].lock), s.add(i[3].fire), r[i[0]] = function () { return r[i[0] + "With"](this === r ? void 0 : this, arguments), this }, r[i[0] + "With"] = s.fireWith })), o.promise(r), e && e.call(r, r), r }, when: function (e) { var t = arguments.length, n = t, i = Array(n), o = a.call(arguments), r = S.Deferred(), s = function (e) { return function (n) { i[e] = this, o[e] = arguments.length > 1 ? a.call(arguments) : n, --t || r.resolveWith(i, o) } }; if (t <= 1 && (X(e, r.done(s(n)).resolve, r.reject, !t), "pending" === r.state() || y(o[n] && o[n].then))) return r.then(); for (; n--;) X(o[n], s(n), r.reject); return r.promise() } }); var Y = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; S.Deferred.exceptionHook = function (e, t) { i.console && i.console.warn && e && Y.test(e.name) && i.console.warn("jQuery.Deferred exception: " + e.message, e.stack, t) }, S.readyException = function (e) { i.setTimeout((function () { throw e })) }; var Q = S.Deferred(); function Z() { b.removeEventListener("DOMContentLoaded", Z), i.removeEventListener("load", Z), S.ready() } S.fn.ready = function (e) { return Q.then(e).catch((function (e) { S.readyException(e) })), this }, S.extend({ isReady: !1, readyWait: 1, ready: function (e) { (!0 === e ? --S.readyWait : S.isReady) || (S.isReady = !0, !0 !== e && --S.readyWait > 0 || Q.resolveWith(b, [S])) } }), S.ready.then = Q.then, "complete" === b.readyState || "loading" !== b.readyState && !b.documentElement.doScroll ? i.setTimeout(S.ready) : (b.addEventListener("DOMContentLoaded", Z), i.addEventListener("load", Z)); var ee = function (e, t, n, i, o, r, s) { var a = 0, l = e.length, u = null == n; if ("object" === x(n)) for (a in o = !0, n) ee(e, t, a, n[a], !0, r, s); else if (void 0 !== i && (o = !0, y(i) || (s = !0), u && (s ? (t.call(e, i), t = null) : (u = t, t = function (e, t, n) { return u.call(S(e), n) })), t)) for (; a < l; a++) t(e[a], n, s ? i : i.call(e[a], a, t(e[a], n))); return o ? e : u ? t.call(e) : l ? t(e[0], n) : r }, te = /^-ms-/, ne = /-([a-z])/g; function ie(e, t) { return t.toUpperCase() } function oe(e) { return e.replace(te, "ms-").replace(ne, ie) } var re = function (e) { return 1 === e.nodeType || 9 === e.nodeType || !+e.nodeType }; function se() { this.expando = S.expando + se.uid++ } se.uid = 1, se.prototype = { cache: function (e) { var t = e[this.expando]; return t || (t = {}, re(e) && (e.nodeType ? e[this.expando] = t : Object.defineProperty(e, this.expando, { value: t, configurable: !0 }))), t }, set: function (e, t, n) { var i, o = this.cache(e); if ("string" == typeof t) o[oe(t)] = n; else for (i in t) o[oe(i)] = t[i]; return o }, get: function (e, t) { return void 0 === t ? this.cache(e) : e[this.expando] && e[this.expando][oe(t)] }, access: function (e, t, n) { return void 0 === t || t && "string" == typeof t && void 0 === n ? this.get(e, t) : (this.set(e, t, n), void 0 !== n ? n : t) }, remove: function (e, t) { var n, i = e[this.expando]; if (void 0 !== i) { if (void 0 !== t) { n = (t = Array.isArray(t) ? t.map(oe) : (t = oe(t)) in i ? [t] : t.match(K) || []).length; for (; n--;) delete i[t[n]] } (void 0 === t || S.isEmptyObject(i)) && (e.nodeType ? e[this.expando] = void 0 : delete e[this.expando]) } }, hasData: function (e) { var t = e[this.expando]; return void 0 !== t && !S.isEmptyObject(t) } }; var ae = new se, le = new se, ue = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, ce = /[A-Z]/g; function de(e, t, n) { var i; if (void 0 === n && 1 === e.nodeType) if (i = "data-" + t.replace(ce, "-$&").toLowerCase(), "string" == typeof (n = e.getAttribute(i))) { try { n = function (e) { return "true" === e || "false" !== e && ("null" === e ? null : e === +e + "" ? +e : ue.test(e) ? JSON.parse(e) : e) }(n) } catch (e) { } le.set(e, t, n) } else n = void 0; return n } S.extend({ hasData: function (e) { return le.hasData(e) || ae.hasData(e) }, data: function (e, t, n) { return le.access(e, t, n) }, removeData: function (e, t) { le.remove(e, t) }, _data: function (e, t, n) { return ae.access(e, t, n) }, _removeData: function (e, t) { ae.remove(e, t) } }), S.fn.extend({ data: function (e, t) { var n, i, o, r = this[0], s = r && r.attributes; if (void 0 === e) { if (this.length && (o = le.get(r), 1 === r.nodeType && !ae.get(r, "hasDataAttrs"))) { for (n = s.length; n--;) s[n] && 0 === (i = s[n].name).indexOf("data-") && (i = oe(i.slice(5)), de(r, i, o[i])); ae.set(r, "hasDataAttrs", !0) } return o } return "object" == typeof e ? this.each((function () { le.set(this, e) })) : ee(this, (function (t) { var n; if (r && void 0 === t) return void 0 !== (n = le.get(r, e)) || void 0 !== (n = de(r, e)) ? n : void 0; this.each((function () { le.set(this, e, t) })) }), null, t, arguments.length > 1, null, !0) }, removeData: function (e) { return this.each((function () { le.remove(this, e) })) } }), S.extend({ queue: function (e, t, n) { var i; if (e) return t = (t || "fx") + "queue", i = ae.get(e, t), n && (!i || Array.isArray(n) ? i = ae.access(e, t, S.makeArray(n)) : i.push(n)), i || [] }, dequeue: function (e, t) { t = t || "fx"; var n = S.queue(e, t), i = n.length, o = n.shift(), r = S._queueHooks(e, t); "inprogress" === o && (o = n.shift(), i--), o && ("fx" === t && n.unshift("inprogress"), delete r.stop, o.call(e, (function () { S.dequeue(e, t) }), r)), !i && r && r.empty.fire() }, _queueHooks: function (e, t) { var n = t + "queueHooks"; return ae.get(e, n) || ae.access(e, n, { empty: S.Callbacks("once memory").add((function () { ae.remove(e, [t + "queue", n]) })) }) } }), S.fn.extend({ queue: function (e, t) { var n = 2; return "string" != typeof e && (t = e, e = "fx", n--), arguments.length < n ? S.queue(this[0], e) : void 0 === t ? this : this.each((function () { var n = S.queue(this, e, t); S._queueHooks(this, e), "fx" === e && "inprogress" !== n[0] && S.dequeue(this, e) })) }, dequeue: function (e) { return this.each((function () { S.dequeue(this, e) })) }, clearQueue: function (e) { return this.queue(e || "fx", []) }, promise: function (e, t) { var n, i = 1, o = S.Deferred(), r = this, s = this.length, a = function () { --i || o.resolveWith(r, [r]) }; for ("string" != typeof e && (t = e, e = void 0), e = e || "fx"; s--;) (n = ae.get(r[s], e + "queueHooks")) && n.empty && (i++, n.empty.add(a)); return a(), o.promise(t) } }); var he = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source, pe = new RegExp("^(?:([+-])=|)(" + he + ")([a-z%]*)$", "i"), fe = ["Top", "Right", "Bottom", "Left"], me = b.documentElement, ge = function (e) { return S.contains(e.ownerDocument, e) }, ye = { composed: !0 }; me.getRootNode && (ge = function (e) { return S.contains(e.ownerDocument, e) || e.getRootNode(ye) === e.ownerDocument }); var ve = function (e, t) { return "none" === (e = t || e).style.display || "" === e.style.display && ge(e) && "none" === S.css(e, "display") }; function be(e, t, n, i) { var o, r, s = 20, a = i ? function () { return i.cur() } : function () { return S.css(e, t, "") }, l = a(), u = n && n[3] || (S.cssNumber[t] ? "" : "px"), c = e.nodeType && (S.cssNumber[t] || "px" !== u && +l) && pe.exec(S.css(e, t)); if (c && c[3] !== u) { for (l /= 2, u = u || c[3], c = +l || 1; s--;) S.style(e, t, c + u), (1 - r) * (1 - (r = a() / l || .5)) <= 0 && (s = 0), c /= r; c *= 2, S.style(e, t, c + u), n = n || [] } return n && (c = +c || +l || 0, o = n[1] ? c + (n[1] + 1) * n[2] : +n[2], i && (i.unit = u, i.start = c, i.end = o)), o } var we = {}; function Ce(e) { var t, n = e.ownerDocument, i = e.nodeName, o = we[i]; return o || (t = n.body.appendChild(n.createElement(i)), o = S.css(t, "display"), t.parentNode.removeChild(t), "none" === o && (o = "block"), we[i] = o, o) } function xe(e, t) { for (var n, i, o = [], r = 0, s = e.length; r < s; r++) (i = e[r]).style && (n = i.style.display, t ? ("none" === n && (o[r] = ae.get(i, "display") || null, o[r] || (i.style.display = "")), "" === i.style.display && ve(i) && (o[r] = Ce(i))) : "none" !== n && (o[r] = "none", ae.set(i, "display", n))); for (r = 0; r < s; r++) null != o[r] && (e[r].style.display = o[r]); return e } S.fn.extend({ show: function () { return xe(this, !0) }, hide: function () { return xe(this) }, toggle: function (e) { return "boolean" == typeof e ? e ? this.show() : this.hide() : this.each((function () { ve(this) ? S(this).show() : S(this).hide() })) } }); var _e, Te, Se = /^(?:checkbox|radio)$/i, ke = /<([a-z][^\/\0>\x20\t\r\n\f]*)/i, Ie = /^$|^module$|\/(?:java|ecma)script/i; _e = b.createDocumentFragment().appendChild(b.createElement("div")), (Te = b.createElement("input")).setAttribute("type", "radio"), Te.setAttribute("checked", "checked"), Te.setAttribute("name", "t"), _e.appendChild(Te), g.checkClone = _e.cloneNode(!0).cloneNode(!0).lastChild.checked, _e.innerHTML = "", g.noCloneChecked = !!_e.cloneNode(!0).lastChild.defaultValue, _e.innerHTML = "", g.option = !!_e.lastChild; var De = { thead: [1, "", "
"], col: [2, "", "
"], tr: [2, "", "
"], td: [3, "", "
"], _default: [0, "", ""] }; function Le(e, t) { var n; return n = void 0 !== e.getElementsByTagName ? e.getElementsByTagName(t || "*") : void 0 !== e.querySelectorAll ? e.querySelectorAll(t || "*") : [], void 0 === t || t && I(e, t) ? S.merge([e], n) : n } function Ae(e, t) { for (var n = 0, i = e.length; n < i; n++) ae.set(e[n], "globalEval", !t || ae.get(t[n], "globalEval")) } De.tbody = De.tfoot = De.colgroup = De.caption = De.thead, De.th = De.td, g.option || (De.optgroup = De.option = [1, ""]); var Ee = /<|&#?\w+;/; function Ne(e, t, n, i, o) { for (var r, s, a, l, u, c, d = t.createDocumentFragment(), h = [], p = 0, f = e.length; p < f; p++) if ((r = e[p]) || 0 === r) if ("object" === x(r)) S.merge(h, r.nodeType ? [r] : r); else if (Ee.test(r)) { for (s = s || d.appendChild(t.createElement("div")), a = (ke.exec(r) || ["", ""])[1].toLowerCase(), l = De[a] || De._default, s.innerHTML = l[1] + S.htmlPrefilter(r) + l[2], c = l[0]; c--;) s = s.lastChild; S.merge(h, s.childNodes), (s = d.firstChild).textContent = "" } else h.push(t.createTextNode(r)); for (d.textContent = "", p = 0; r = h[p++];) if (i && S.inArray(r, i) > -1) o && o.push(r); else if (u = ge(r), s = Le(d.appendChild(r), "script"), u && Ae(s), n) for (c = 0; r = s[c++];) Ie.test(r.type || "") && n.push(r); return d } var Me = /^([^.]*)(?:\.(.+)|)/; function je() { return !0 } function Pe() { return !1 } function Oe(e, t, n, i, o, r) { var s, a; if ("object" == typeof t) { for (a in "string" != typeof n && (i = i || n, n = void 0), t) Oe(e, a, n, i, t[a], r); return e } if (null == i && null == o ? (o = n, i = n = void 0) : null == o && ("string" == typeof n ? (o = i, i = void 0) : (o = i, i = n, n = void 0)), !1 === o) o = Pe; else if (!o) return e; return 1 === r && (s = o, o = function (e) { return S().off(e), s.apply(this, arguments) }, o.guid = s.guid || (s.guid = S.guid++)), e.each((function () { S.event.add(this, t, o, i, n) })) } function qe(e, t, n) { n ? (ae.set(e, t, !1), S.event.add(e, t, { namespace: !1, handler: function (e) { var n, i = ae.get(this, t); if (1 & e.isTrigger && this[t]) { if (i) (S.event.special[t] || {}).delegateType && e.stopPropagation(); else if (i = a.call(arguments), ae.set(this, t, i), this[t](), n = ae.get(this, t), ae.set(this, t, !1), i !== n) return e.stopImmediatePropagation(), e.preventDefault(), n } else i && (ae.set(this, t, S.event.trigger(i[0], i.slice(1), this)), e.stopPropagation(), e.isImmediatePropagationStopped = je) } })) : void 0 === ae.get(e, t) && S.event.add(e, t, je) } S.event = { global: {}, add: function (e, t, n, i, o) { var r, s, a, l, u, c, d, h, p, f, m, g = ae.get(e); if (re(e)) for (n.handler && (n = (r = n).handler, o = r.selector), o && S.find.matchesSelector(me, o), n.guid || (n.guid = S.guid++), (l = g.events) || (l = g.events = Object.create(null)), (s = g.handle) || (s = g.handle = function (t) { return void 0 !== S && S.event.triggered !== t.type ? S.event.dispatch.apply(e, arguments) : void 0 }), u = (t = (t || "").match(K) || [""]).length; u--;) p = m = (a = Me.exec(t[u]) || [])[1], f = (a[2] || "").split(".").sort(), p && (d = S.event.special[p] || {}, p = (o ? d.delegateType : d.bindType) || p, d = S.event.special[p] || {}, c = S.extend({ type: p, origType: m, data: i, handler: n, guid: n.guid, selector: o, needsContext: o && S.expr.match.needsContext.test(o), namespace: f.join(".") }, r), (h = l[p]) || ((h = l[p] = []).delegateCount = 0, d.setup && !1 !== d.setup.call(e, i, f, s) || e.addEventListener && e.addEventListener(p, s)), d.add && (d.add.call(e, c), c.handler.guid || (c.handler.guid = n.guid)), o ? h.splice(h.delegateCount++, 0, c) : h.push(c), S.event.global[p] = !0) }, remove: function (e, t, n, i, o) { var r, s, a, l, u, c, d, h, p, f, m, g = ae.hasData(e) && ae.get(e); if (g && (l = g.events)) { for (u = (t = (t || "").match(K) || [""]).length; u--;) if (p = m = (a = Me.exec(t[u]) || [])[1], f = (a[2] || "").split(".").sort(), p) { for (d = S.event.special[p] || {}, h = l[p = (i ? d.delegateType : d.bindType) || p] || [], a = a[2] && new RegExp("(^|\\.)" + f.join("\\.(?:.*\\.|)") + "(\\.|$)"), s = r = h.length; r--;) c = h[r], !o && m !== c.origType || n && n.guid !== c.guid || a && !a.test(c.namespace) || i && i !== c.selector && ("**" !== i || !c.selector) || (h.splice(r, 1), c.selector && h.delegateCount--, d.remove && d.remove.call(e, c)); s && !h.length && (d.teardown && !1 !== d.teardown.call(e, f, g.handle) || S.removeEvent(e, p, g.handle), delete l[p]) } else for (p in l) S.event.remove(e, p + t[u], n, i, !0); S.isEmptyObject(l) && ae.remove(e, "handle events") } }, dispatch: function (e) { var t, n, i, o, r, s, a = new Array(arguments.length), l = S.event.fix(e), u = (ae.get(this, "events") || Object.create(null))[l.type] || [], c = S.event.special[l.type] || {}; for (a[0] = l, t = 1; t < arguments.length; t++) a[t] = arguments[t]; if (l.delegateTarget = this, !c.preDispatch || !1 !== c.preDispatch.call(this, l)) { for (s = S.event.handlers.call(this, l, u), t = 0; (o = s[t++]) && !l.isPropagationStopped();) for (l.currentTarget = o.elem, n = 0; (r = o.handlers[n++]) && !l.isImmediatePropagationStopped();) l.rnamespace && !1 !== r.namespace && !l.rnamespace.test(r.namespace) || (l.handleObj = r, l.data = r.data, void 0 !== (i = ((S.event.special[r.origType] || {}).handle || r.handler).apply(o.elem, a)) && !1 === (l.result = i) && (l.preventDefault(), l.stopPropagation())); return c.postDispatch && c.postDispatch.call(this, l), l.result } }, handlers: function (e, t) { var n, i, o, r, s, a = [], l = t.delegateCount, u = e.target; if (l && u.nodeType && !("click" === e.type && e.button >= 1)) for (; u !== this; u = u.parentNode || this) if (1 === u.nodeType && ("click" !== e.type || !0 !== u.disabled)) { for (r = [], s = {}, n = 0; n < l; n++) void 0 === s[o = (i = t[n]).selector + " "] && (s[o] = i.needsContext ? S(o, this).index(u) > -1 : S.find(o, this, null, [u]).length), s[o] && r.push(i); r.length && a.push({ elem: u, handlers: r }) } return u = this, l < t.length && a.push({ elem: u, handlers: t.slice(l) }), a }, addProp: function (e, t) { Object.defineProperty(S.Event.prototype, e, { enumerable: !0, configurable: !0, get: y(t) ? function () { if (this.originalEvent) return t(this.originalEvent) } : function () { if (this.originalEvent) return this.originalEvent[e] }, set: function (t) { Object.defineProperty(this, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) } }) }, fix: function (e) { return e[S.expando] ? e : new S.Event(e) }, special: { load: { noBubble: !0 }, click: { setup: function (e) { var t = this || e; return Se.test(t.type) && t.click && I(t, "input") && qe(t, "click", !0), !1 }, trigger: function (e) { var t = this || e; return Se.test(t.type) && t.click && I(t, "input") && qe(t, "click"), !0 }, _default: function (e) { var t = e.target; return Se.test(t.type) && t.click && I(t, "input") && ae.get(t, "click") || I(t, "a") } }, beforeunload: { postDispatch: function (e) { void 0 !== e.result && e.originalEvent && (e.originalEvent.returnValue = e.result) } } } }, S.removeEvent = function (e, t, n) { e.removeEventListener && e.removeEventListener(t, n) }, S.Event = function (e, t) { if (!(this instanceof S.Event)) return new S.Event(e, t); e && e.type ? (this.originalEvent = e, this.type = e.type, this.isDefaultPrevented = e.defaultPrevented || void 0 === e.defaultPrevented && !1 === e.returnValue ? je : Pe, this.target = e.target && 3 === e.target.nodeType ? e.target.parentNode : e.target, this.currentTarget = e.currentTarget, this.relatedTarget = e.relatedTarget) : this.type = e, t && S.extend(this, t), this.timeStamp = e && e.timeStamp || Date.now(), this[S.expando] = !0 }, S.Event.prototype = { constructor: S.Event, isDefaultPrevented: Pe, isPropagationStopped: Pe, isImmediatePropagationStopped: Pe, isSimulated: !1, preventDefault: function () { var e = this.originalEvent; this.isDefaultPrevented = je, e && !this.isSimulated && e.preventDefault() }, stopPropagation: function () { var e = this.originalEvent; this.isPropagationStopped = je, e && !this.isSimulated && e.stopPropagation() }, stopImmediatePropagation: function () { var e = this.originalEvent; this.isImmediatePropagationStopped = je, e && !this.isSimulated && e.stopImmediatePropagation(), this.stopPropagation() } }, S.each({ altKey: !0, bubbles: !0, cancelable: !0, changedTouches: !0, ctrlKey: !0, detail: !0, eventPhase: !0, metaKey: !0, pageX: !0, pageY: !0, shiftKey: !0, view: !0, char: !0, code: !0, charCode: !0, key: !0, keyCode: !0, button: !0, buttons: !0, clientX: !0, clientY: !0, offsetX: !0, offsetY: !0, pointerId: !0, pointerType: !0, screenX: !0, screenY: !0, targetTouches: !0, toElement: !0, touches: !0, which: !0 }, S.event.addProp), S.each({ focus: "focusin", blur: "focusout" }, (function (e, t) { function n(e) { if (b.documentMode) { var n = ae.get(this, "handle"), i = S.event.fix(e); i.type = "focusin" === e.type ? "focus" : "blur", i.isSimulated = !0, n(e), i.target === i.currentTarget && n(i) } else S.event.simulate(t, e.target, S.event.fix(e)) } S.event.special[e] = { setup: function () { var i; if (qe(this, e, !0), !b.documentMode) return !1; (i = ae.get(this, t)) || this.addEventListener(t, n), ae.set(this, t, (i || 0) + 1) }, trigger: function () { return qe(this, e), !0 }, teardown: function () { var e; if (!b.documentMode) return !1; (e = ae.get(this, t) - 1) ? ae.set(this, t, e) : (this.removeEventListener(t, n), ae.remove(this, t)) }, _default: function (t) { return ae.get(t.target, e) }, delegateType: t }, S.event.special[t] = { setup: function () { var i = this.ownerDocument || this.document || this, o = b.documentMode ? this : i, r = ae.get(o, t); r || (b.documentMode ? this.addEventListener(t, n) : i.addEventListener(e, n, !0)), ae.set(o, t, (r || 0) + 1) }, teardown: function () { var i = this.ownerDocument || this.document || this, o = b.documentMode ? this : i, r = ae.get(o, t) - 1; r ? ae.set(o, t, r) : (b.documentMode ? this.removeEventListener(t, n) : i.removeEventListener(e, n, !0), ae.remove(o, t)) } } })), S.each({ mouseenter: "mouseover", mouseleave: "mouseout", pointerenter: "pointerover", pointerleave: "pointerout" }, (function (e, t) { S.event.special[e] = { delegateType: t, bindType: t, handle: function (e) { var n, i = e.relatedTarget, o = e.handleObj; return i && (i === this || S.contains(this, i)) || (e.type = o.origType, n = o.handler.apply(this, arguments), e.type = t), n } } })), S.fn.extend({ on: function (e, t, n, i) { return Oe(this, e, t, n, i) }, one: function (e, t, n, i) { return Oe(this, e, t, n, i, 1) }, off: function (e, t, n) { var i, o; if (e && e.preventDefault && e.handleObj) return i = e.handleObj, S(e.delegateTarget).off(i.namespace ? i.origType + "." + i.namespace : i.origType, i.selector, i.handler), this; if ("object" == typeof e) { for (o in e) this.off(o, t, e[o]); return this } return !1 !== t && "function" != typeof t || (n = t, t = void 0), !1 === n && (n = Pe), this.each((function () { S.event.remove(this, e, n, t) })) } }); var He = /\s*$/g; function $e(e, t) { return I(e, "table") && I(11 !== t.nodeType ? t : t.firstChild, "tr") && S(e).children("tbody")[0] || e } function Ue(e) { return e.type = (null !== e.getAttribute("type")) + "/" + e.type, e } function Be(e) { return "true/" === (e.type || "").slice(0, 5) ? e.type = e.type.slice(5) : e.removeAttribute("type"), e } function We(e, t) { var n, i, o, r, s, a; if (1 === t.nodeType) { if (ae.hasData(e) && (a = ae.get(e).events)) for (o in ae.remove(t, "handle events"), a) for (n = 0, i = a[o].length; n < i; n++) S.event.add(t, o, a[o][n]); le.hasData(e) && (r = le.access(e), s = S.extend({}, r), le.set(t, s)) } } function Ge(e, t) { var n = t.nodeName.toLowerCase(); "input" === n && Se.test(e.type) ? t.checked = e.checked : "input" !== n && "textarea" !== n || (t.defaultValue = e.defaultValue) } function ze(e, t, n, i) { t = l(t); var o, r, s, a, u, c, d = 0, h = e.length, p = h - 1, f = t[0], m = y(f); if (m || h > 1 && "string" == typeof f && !g.checkClone && Re.test(f)) return e.each((function (o) { var r = e.eq(o); m && (t[0] = f.call(this, o, r.html())), ze(r, t, n, i) })); if (h && (r = (o = Ne(t, e[0].ownerDocument, !1, e, i)).firstChild, 1 === o.childNodes.length && (o = r), r || i)) { for (a = (s = S.map(Le(o, "script"), Ue)).length; d < h; d++) u = o, d !== p && (u = S.clone(u, !0, !0), a && S.merge(s, Le(u, "script"))), n.call(e[d], u, d); if (a) for (c = s[s.length - 1].ownerDocument, S.map(s, Be), d = 0; d < a; d++) u = s[d], Ie.test(u.type || "") && !ae.access(u, "globalEval") && S.contains(c, u) && (u.src && "module" !== (u.type || "").toLowerCase() ? S._evalUrl && !u.noModule && S._evalUrl(u.src, { nonce: u.nonce || u.getAttribute("nonce") }, c) : C(u.textContent.replace(Fe, ""), u, c)) } return e } function Ke(e, t, n) { for (var i, o = t ? S.filter(t, e) : e, r = 0; null != (i = o[r]); r++) n || 1 !== i.nodeType || S.cleanData(Le(i)), i.parentNode && (n && ge(i) && Ae(Le(i, "script")), i.parentNode.removeChild(i)); return e } S.extend({ htmlPrefilter: function (e) { return e }, clone: function (e, t, n) { var i, o, r, s, a = e.cloneNode(!0), l = ge(e); if (!(g.noCloneChecked || 1 !== e.nodeType && 11 !== e.nodeType || S.isXMLDoc(e))) for (s = Le(a), i = 0, o = (r = Le(e)).length; i < o; i++) Ge(r[i], s[i]); if (t) if (n) for (r = r || Le(e), s = s || Le(a), i = 0, o = r.length; i < o; i++) We(r[i], s[i]); else We(e, a); return (s = Le(a, "script")).length > 0 && Ae(s, !l && Le(e, "script")), a }, cleanData: function (e) { for (var t, n, i, o = S.event.special, r = 0; void 0 !== (n = e[r]); r++) if (re(n)) { if (t = n[ae.expando]) { if (t.events) for (i in t.events) o[i] ? S.event.remove(n, i) : S.removeEvent(n, i, t.handle); n[ae.expando] = void 0 } n[le.expando] && (n[le.expando] = void 0) } } }), S.fn.extend({ detach: function (e) { return Ke(this, e, !0) }, remove: function (e) { return Ke(this, e) }, text: function (e) { return ee(this, (function (e) { return void 0 === e ? S.text(this) : this.empty().each((function () { 1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType || (this.textContent = e) })) }), null, e, arguments.length) }, append: function () { return ze(this, arguments, (function (e) { 1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType || $e(this, e).appendChild(e) })) }, prepend: function () { return ze(this, arguments, (function (e) { if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) { var t = $e(this, e); t.insertBefore(e, t.firstChild) } })) }, before: function () { return ze(this, arguments, (function (e) { this.parentNode && this.parentNode.insertBefore(e, this) })) }, after: function () { return ze(this, arguments, (function (e) { this.parentNode && this.parentNode.insertBefore(e, this.nextSibling) })) }, empty: function () { for (var e, t = 0; null != (e = this[t]); t++) 1 === e.nodeType && (S.cleanData(Le(e, !1)), e.textContent = ""); return this }, clone: function (e, t) { return e = null != e && e, t = null == t ? e : t, this.map((function () { return S.clone(this, e, t) })) }, html: function (e) { return ee(this, (function (e) { var t = this[0] || {}, n = 0, i = this.length; if (void 0 === e && 1 === t.nodeType) return t.innerHTML; if ("string" == typeof e && !He.test(e) && !De[(ke.exec(e) || ["", ""])[1].toLowerCase()]) { e = S.htmlPrefilter(e); try { for (; n < i; n++) 1 === (t = this[n] || {}).nodeType && (S.cleanData(Le(t, !1)), t.innerHTML = e); t = 0 } catch (e) { } } t && this.empty().append(e) }), null, e, arguments.length) }, replaceWith: function () { var e = []; return ze(this, arguments, (function (t) { var n = this.parentNode; S.inArray(this, e) < 0 && (S.cleanData(Le(this)), n && n.replaceChild(t, this)) }), e) } }), S.each({ appendTo: "append", prependTo: "prepend", insertBefore: "before", insertAfter: "after", replaceAll: "replaceWith" }, (function (e, t) { S.fn[e] = function (e) { for (var n, i = [], o = S(e), r = o.length - 1, s = 0; s <= r; s++) n = s === r ? this : this.clone(!0), S(o[s])[t](n), u.apply(i, n.get()); return this.pushStack(i) } })); var Je = new RegExp("^(" + he + ")(?!px)[a-z%]+$", "i"), Ve = /^--/, Xe = function (e) { var t = e.ownerDocument.defaultView; return t && t.opener || (t = i), t.getComputedStyle(e) }, Ye = function (e, t, n) { var i, o, r = {}; for (o in t) r[o] = e.style[o], e.style[o] = t[o]; for (o in i = n.call(e), t) e.style[o] = r[o]; return i }, Qe = new RegExp(fe.join("|"), "i"); function Ze(e, t, n) { var i, o, r, s, a = Ve.test(t), l = e.style; return (n = n || Xe(e)) && (s = n.getPropertyValue(t) || n[t], a && s && (s = s.replace(N, "$1") || void 0), "" !== s || ge(e) || (s = S.style(e, t)), !g.pixelBoxStyles() && Je.test(s) && Qe.test(t) && (i = l.width, o = l.minWidth, r = l.maxWidth, l.minWidth = l.maxWidth = l.width = s, s = n.width, l.width = i, l.minWidth = o, l.maxWidth = r)), void 0 !== s ? s + "" : s } function et(e, t) { return { get: function () { if (!e()) return (this.get = t).apply(this, arguments); delete this.get } } } !function () { function e() { if (c) { u.style.cssText = "position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0", c.style.cssText = "position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%", me.appendChild(u).appendChild(c); var e = i.getComputedStyle(c); n = "1%" !== e.top, l = 12 === t(e.marginLeft), c.style.right = "60%", s = 36 === t(e.right), o = 36 === t(e.width), c.style.position = "absolute", r = 12 === t(c.offsetWidth / 3), me.removeChild(u), c = null } } function t(e) { return Math.round(parseFloat(e)) } var n, o, r, s, a, l, u = b.createElement("div"), c = b.createElement("div"); c.style && (c.style.backgroundClip = "content-box", c.cloneNode(!0).style.backgroundClip = "", g.clearCloneStyle = "content-box" === c.style.backgroundClip, S.extend(g, { boxSizingReliable: function () { return e(), o }, pixelBoxStyles: function () { return e(), s }, pixelPosition: function () { return e(), n }, reliableMarginLeft: function () { return e(), l }, scrollboxSize: function () { return e(), r }, reliableTrDimensions: function () { var e, t, n, o; return null == a && (e = b.createElement("table"), t = b.createElement("tr"), n = b.createElement("div"), e.style.cssText = "position:absolute;left:-11111px;border-collapse:separate", t.style.cssText = "box-sizing:content-box;border:1px solid", t.style.height = "1px", n.style.height = "9px", n.style.display = "block", me.appendChild(e).appendChild(t).appendChild(n), o = i.getComputedStyle(t), a = parseInt(o.height, 10) + parseInt(o.borderTopWidth, 10) + parseInt(o.borderBottomWidth, 10) === t.offsetHeight, me.removeChild(e)), a } })) }(); var tt = ["Webkit", "Moz", "ms"], nt = b.createElement("div").style, it = {}; function ot(e) { return S.cssProps[e] || it[e] || (e in nt ? e : it[e] = function (e) { for (var t = e[0].toUpperCase() + e.slice(1), n = tt.length; n--;) if ((e = tt[n] + t) in nt) return e }(e) || e) } var rt = /^(none|table(?!-c[ea]).+)/, st = { position: "absolute", visibility: "hidden", display: "block" }, at = { letterSpacing: "0", fontWeight: "400" }; function lt(e, t, n) { var i = pe.exec(t); return i ? Math.max(0, i[2] - (n || 0)) + (i[3] || "px") : t } function ut(e, t, n, i, o, r) { var s = "width" === t ? 1 : 0, a = 0, l = 0, u = 0; if (n === (i ? "border" : "content")) return 0; for (; s < 4; s += 2) "margin" === n && (u += S.css(e, n + fe[s], !0, o)), i ? ("content" === n && (l -= S.css(e, "padding" + fe[s], !0, o)), "margin" !== n && (l -= S.css(e, "border" + fe[s] + "Width", !0, o))) : (l += S.css(e, "padding" + fe[s], !0, o), "padding" !== n ? l += S.css(e, "border" + fe[s] + "Width", !0, o) : a += S.css(e, "border" + fe[s] + "Width", !0, o)); return !i && r >= 0 && (l += Math.max(0, Math.ceil(e["offset" + t[0].toUpperCase() + t.slice(1)] - r - l - a - .5)) || 0), l + u } function ct(e, t, n) { var i = Xe(e), o = (!g.boxSizingReliable() || n) && "border-box" === S.css(e, "boxSizing", !1, i), r = o, s = Ze(e, t, i), a = "offset" + t[0].toUpperCase() + t.slice(1); if (Je.test(s)) { if (!n) return s; s = "auto" } return (!g.boxSizingReliable() && o || !g.reliableTrDimensions() && I(e, "tr") || "auto" === s || !parseFloat(s) && "inline" === S.css(e, "display", !1, i)) && e.getClientRects().length && (o = "border-box" === S.css(e, "boxSizing", !1, i), (r = a in e) && (s = e[a])), (s = parseFloat(s) || 0) + ut(e, t, n || (o ? "border" : "content"), r, i, s) + "px" } function dt(e, t, n, i, o) { return new dt.prototype.init(e, t, n, i, o) } S.extend({ cssHooks: { opacity: { get: function (e, t) { if (t) { var n = Ze(e, "opacity"); return "" === n ? "1" : n } } } }, cssNumber: { animationIterationCount: !0, aspectRatio: !0, borderImageSlice: !0, columnCount: !0, flexGrow: !0, flexShrink: !0, fontWeight: !0, gridArea: !0, gridColumn: !0, gridColumnEnd: !0, gridColumnStart: !0, gridRow: !0, gridRowEnd: !0, gridRowStart: !0, lineHeight: !0, opacity: !0, order: !0, orphans: !0, scale: !0, widows: !0, zIndex: !0, zoom: !0, fillOpacity: !0, floodOpacity: !0, stopOpacity: !0, strokeMiterlimit: !0, strokeOpacity: !0 }, cssProps: {}, style: function (e, t, n, i) { if (e && 3 !== e.nodeType && 8 !== e.nodeType && e.style) { var o, r, s, a = oe(t), l = Ve.test(t), u = e.style; if (l || (t = ot(a)), s = S.cssHooks[t] || S.cssHooks[a], void 0 === n) return s && "get" in s && void 0 !== (o = s.get(e, !1, i)) ? o : u[t]; "string" == (r = typeof n) && (o = pe.exec(n)) && o[1] && (n = be(e, t, o), r = "number"), null != n && n == n && ("number" !== r || l || (n += o && o[3] || (S.cssNumber[a] ? "" : "px")), g.clearCloneStyle || "" !== n || 0 !== t.indexOf("background") || (u[t] = "inherit"), s && "set" in s && void 0 === (n = s.set(e, n, i)) || (l ? u.setProperty(t, n) : u[t] = n)) } }, css: function (e, t, n, i) { var o, r, s, a = oe(t); return Ve.test(t) || (t = ot(a)), (s = S.cssHooks[t] || S.cssHooks[a]) && "get" in s && (o = s.get(e, !0, n)), void 0 === o && (o = Ze(e, t, i)), "normal" === o && t in at && (o = at[t]), "" === n || n ? (r = parseFloat(o), !0 === n || isFinite(r) ? r || 0 : o) : o } }), S.each(["height", "width"], (function (e, t) { S.cssHooks[t] = { get: function (e, n, i) { if (n) return !rt.test(S.css(e, "display")) || e.getClientRects().length && e.getBoundingClientRect().width ? ct(e, t, i) : Ye(e, st, (function () { return ct(e, t, i) })) }, set: function (e, n, i) { var o, r = Xe(e), s = !g.scrollboxSize() && "absolute" === r.position, a = (s || i) && "border-box" === S.css(e, "boxSizing", !1, r), l = i ? ut(e, t, i, a, r) : 0; return a && s && (l -= Math.ceil(e["offset" + t[0].toUpperCase() + t.slice(1)] - parseFloat(r[t]) - ut(e, t, "border", !1, r) - .5)), l && (o = pe.exec(n)) && "px" !== (o[3] || "px") && (e.style[t] = n, n = S.css(e, t)), lt(0, n, l) } } })), S.cssHooks.marginLeft = et(g.reliableMarginLeft, (function (e, t) { if (t) return (parseFloat(Ze(e, "marginLeft")) || e.getBoundingClientRect().left - Ye(e, { marginLeft: 0 }, (function () { return e.getBoundingClientRect().left }))) + "px" })), S.each({ margin: "", padding: "", border: "Width" }, (function (e, t) { S.cssHooks[e + t] = { expand: function (n) { for (var i = 0, o = {}, r = "string" == typeof n ? n.split(" ") : [n]; i < 4; i++) o[e + fe[i] + t] = r[i] || r[i - 2] || r[0]; return o } }, "margin" !== e && (S.cssHooks[e + t].set = lt) })), S.fn.extend({ css: function (e, t) { return ee(this, (function (e, t, n) { var i, o, r = {}, s = 0; if (Array.isArray(t)) { for (i = Xe(e), o = t.length; s < o; s++) r[t[s]] = S.css(e, t[s], !1, i); return r } return void 0 !== n ? S.style(e, t, n) : S.css(e, t) }), e, t, arguments.length > 1) } }), S.Tween = dt, dt.prototype = { constructor: dt, init: function (e, t, n, i, o, r) { this.elem = e, this.prop = n, this.easing = o || S.easing._default, this.options = t, this.start = this.now = this.cur(), this.end = i, this.unit = r || (S.cssNumber[n] ? "" : "px") }, cur: function () { var e = dt.propHooks[this.prop]; return e && e.get ? e.get(this) : dt.propHooks._default.get(this) }, run: function (e) { var t, n = dt.propHooks[this.prop]; return this.options.duration ? this.pos = t = S.easing[this.easing](e, this.options.duration * e, 0, 1, this.options.duration) : this.pos = t = e, this.now = (this.end - this.start) * t + this.start, this.options.step && this.options.step.call(this.elem, this.now, this), n && n.set ? n.set(this) : dt.propHooks._default.set(this), this } }, dt.prototype.init.prototype = dt.prototype, dt.propHooks = { _default: { get: function (e) { var t; return 1 !== e.elem.nodeType || null != e.elem[e.prop] && null == e.elem.style[e.prop] ? e.elem[e.prop] : (t = S.css(e.elem, e.prop, "")) && "auto" !== t ? t : 0 }, set: function (e) { S.fx.step[e.prop] ? S.fx.step[e.prop](e) : 1 !== e.elem.nodeType || !S.cssHooks[e.prop] && null == e.elem.style[ot(e.prop)] ? e.elem[e.prop] = e.now : S.style(e.elem, e.prop, e.now + e.unit) } } }, dt.propHooks.scrollTop = dt.propHooks.scrollLeft = { set: function (e) { e.elem.nodeType && e.elem.parentNode && (e.elem[e.prop] = e.now) } }, S.easing = { linear: function (e) { return e }, swing: function (e) { return .5 - Math.cos(e * Math.PI) / 2 }, _default: "swing" }, S.fx = dt.prototype.init, S.fx.step = {}; var ht, pt, ft = /^(?:toggle|show|hide)$/, mt = /queueHooks$/; function gt() { pt && (!1 === b.hidden && i.requestAnimationFrame ? i.requestAnimationFrame(gt) : i.setTimeout(gt, S.fx.interval), S.fx.tick()) } function yt() { return i.setTimeout((function () { ht = void 0 })), ht = Date.now() } function vt(e, t) { var n, i = 0, o = { height: e }; for (t = t ? 1 : 0; i < 4; i += 2 - t) o["margin" + (n = fe[i])] = o["padding" + n] = e; return t && (o.opacity = o.width = e), o } function bt(e, t, n) { for (var i, o = (wt.tweeners[t] || []).concat(wt.tweeners["*"]), r = 0, s = o.length; r < s; r++) if (i = o[r].call(n, t, e)) return i } function wt(e, t, n) { var i, o, r = 0, s = wt.prefilters.length, a = S.Deferred().always((function () { delete l.elem })), l = function () { if (o) return !1; for (var t = ht || yt(), n = Math.max(0, u.startTime + u.duration - t), i = 1 - (n / u.duration || 0), r = 0, s = u.tweens.length; r < s; r++) u.tweens[r].run(i); return a.notifyWith(e, [u, i, n]), i < 1 && s ? n : (s || a.notifyWith(e, [u, 1, 0]), a.resolveWith(e, [u]), !1) }, u = a.promise({ elem: e, props: S.extend({}, t), opts: S.extend(!0, { specialEasing: {}, easing: S.easing._default }, n), originalProperties: t, originalOptions: n, startTime: ht || yt(), duration: n.duration, tweens: [], createTween: function (t, n) { var i = S.Tween(e, u.opts, t, n, u.opts.specialEasing[t] || u.opts.easing); return u.tweens.push(i), i }, stop: function (t) { var n = 0, i = t ? u.tweens.length : 0; if (o) return this; for (o = !0; n < i; n++) u.tweens[n].run(1); return t ? (a.notifyWith(e, [u, 1, 0]), a.resolveWith(e, [u, t])) : a.rejectWith(e, [u, t]), this } }), c = u.props; for (function (e, t) { var n, i, o, r, s; for (n in e) if (o = t[i = oe(n)], r = e[n], Array.isArray(r) && (o = r[1], r = e[n] = r[0]), n !== i && (e[i] = r, delete e[n]), (s = S.cssHooks[i]) && "expand" in s) for (n in r = s.expand(r), delete e[i], r) n in e || (e[n] = r[n], t[n] = o); else t[i] = o }(c, u.opts.specialEasing); r < s; r++) if (i = wt.prefilters[r].call(u, e, c, u.opts)) return y(i.stop) && (S._queueHooks(u.elem, u.opts.queue).stop = i.stop.bind(i)), i; return S.map(c, bt, u), y(u.opts.start) && u.opts.start.call(e, u), u.progress(u.opts.progress).done(u.opts.done, u.opts.complete).fail(u.opts.fail).always(u.opts.always), S.fx.timer(S.extend(l, { elem: e, anim: u, queue: u.opts.queue })), u } S.Animation = S.extend(wt, { tweeners: { "*": [function (e, t) { var n = this.createTween(e, t); return be(n.elem, e, pe.exec(t), n), n }] }, tweener: function (e, t) { y(e) ? (t = e, e = ["*"]) : e = e.match(K); for (var n, i = 0, o = e.length; i < o; i++) n = e[i], wt.tweeners[n] = wt.tweeners[n] || [], wt.tweeners[n].unshift(t) }, prefilters: [function (e, t, n) { var i, o, r, s, a, l, u, c, d = "width" in t || "height" in t, h = this, p = {}, f = e.style, m = e.nodeType && ve(e), g = ae.get(e, "fxshow"); for (i in n.queue || (null == (s = S._queueHooks(e, "fx")).unqueued && (s.unqueued = 0, a = s.empty.fire, s.empty.fire = function () { s.unqueued || a() }), s.unqueued++, h.always((function () { h.always((function () { s.unqueued--, S.queue(e, "fx").length || s.empty.fire() })) }))), t) if (o = t[i], ft.test(o)) { if (delete t[i], r = r || "toggle" === o, o === (m ? "hide" : "show")) { if ("show" !== o || !g || void 0 === g[i]) continue; m = !0 } p[i] = g && g[i] || S.style(e, i) } if ((l = !S.isEmptyObject(t)) || !S.isEmptyObject(p)) for (i in d && 1 === e.nodeType && (n.overflow = [f.overflow, f.overflowX, f.overflowY], null == (u = g && g.display) && (u = ae.get(e, "display")), "none" === (c = S.css(e, "display")) && (u ? c = u : (xe([e], !0), u = e.style.display || u, c = S.css(e, "display"), xe([e]))), ("inline" === c || "inline-block" === c && null != u) && "none" === S.css(e, "float") && (l || (h.done((function () { f.display = u })), null == u && (c = f.display, u = "none" === c ? "" : c)), f.display = "inline-block")), n.overflow && (f.overflow = "hidden", h.always((function () { f.overflow = n.overflow[0], f.overflowX = n.overflow[1], f.overflowY = n.overflow[2] }))), l = !1, p) l || (g ? "hidden" in g && (m = g.hidden) : g = ae.access(e, "fxshow", { display: u }), r && (g.hidden = !m), m && xe([e], !0), h.done((function () { for (i in m || xe([e]), ae.remove(e, "fxshow"), p) S.style(e, i, p[i]) }))), l = bt(m ? g[i] : 0, i, h), i in g || (g[i] = l.start, m && (l.end = l.start, l.start = 0)) }], prefilter: function (e, t) { t ? wt.prefilters.unshift(e) : wt.prefilters.push(e) } }), S.speed = function (e, t, n) { var i = e && "object" == typeof e ? S.extend({}, e) : { complete: n || !n && t || y(e) && e, duration: e, easing: n && t || t && !y(t) && t }; return S.fx.off ? i.duration = 0 : "number" != typeof i.duration && (i.duration in S.fx.speeds ? i.duration = S.fx.speeds[i.duration] : i.duration = S.fx.speeds._default), null != i.queue && !0 !== i.queue || (i.queue = "fx"), i.old = i.complete, i.complete = function () { y(i.old) && i.old.call(this), i.queue && S.dequeue(this, i.queue) }, i }, S.fn.extend({ fadeTo: function (e, t, n, i) { return this.filter(ve).css("opacity", 0).show().end().animate({ opacity: t }, e, n, i) }, animate: function (e, t, n, i) { var o = S.isEmptyObject(e), r = S.speed(t, n, i), s = function () { var t = wt(this, S.extend({}, e), r); (o || ae.get(this, "finish")) && t.stop(!0) }; return s.finish = s, o || !1 === r.queue ? this.each(s) : this.queue(r.queue, s) }, stop: function (e, t, n) { var i = function (e) { var t = e.stop; delete e.stop, t(n) }; return "string" != typeof e && (n = t, t = e, e = void 0), t && this.queue(e || "fx", []), this.each((function () { var t = !0, o = null != e && e + "queueHooks", r = S.timers, s = ae.get(this); if (o) s[o] && s[o].stop && i(s[o]); else for (o in s) s[o] && s[o].stop && mt.test(o) && i(s[o]); for (o = r.length; o--;) r[o].elem !== this || null != e && r[o].queue !== e || (r[o].anim.stop(n), t = !1, r.splice(o, 1)); !t && n || S.dequeue(this, e) })) }, finish: function (e) { return !1 !== e && (e = e || "fx"), this.each((function () { var t, n = ae.get(this), i = n[e + "queue"], o = n[e + "queueHooks"], r = S.timers, s = i ? i.length : 0; for (n.finish = !0, S.queue(this, e, []), o && o.stop && o.stop.call(this, !0), t = r.length; t--;) r[t].elem === this && r[t].queue === e && (r[t].anim.stop(!0), r.splice(t, 1)); for (t = 0; t < s; t++) i[t] && i[t].finish && i[t].finish.call(this); delete n.finish })) } }), S.each(["toggle", "show", "hide"], (function (e, t) { var n = S.fn[t]; S.fn[t] = function (e, i, o) { return null == e || "boolean" == typeof e ? n.apply(this, arguments) : this.animate(vt(t, !0), e, i, o) } })), S.each({ slideDown: vt("show"), slideUp: vt("hide"), slideToggle: vt("toggle"), fadeIn: { opacity: "show" }, fadeOut: { opacity: "hide" }, fadeToggle: { opacity: "toggle" } }, (function (e, t) { S.fn[e] = function (e, n, i) { return this.animate(t, e, n, i) } })), S.timers = [], S.fx.tick = function () { var e, t = 0, n = S.timers; for (ht = Date.now(); t < n.length; t++) (e = n[t])() || n[t] !== e || n.splice(t--, 1); n.length || S.fx.stop(), ht = void 0 }, S.fx.timer = function (e) { S.timers.push(e), S.fx.start() }, S.fx.interval = 13, S.fx.start = function () { pt || (pt = !0, gt()) }, S.fx.stop = function () { pt = null }, S.fx.speeds = { slow: 600, fast: 200, _default: 400 }, S.fn.delay = function (e, t) { return e = S.fx && S.fx.speeds[e] || e, t = t || "fx", this.queue(t, (function (t, n) { var o = i.setTimeout(t, e); n.stop = function () { i.clearTimeout(o) } })) }, function () { var e = b.createElement("input"), t = b.createElement("select").appendChild(b.createElement("option")); e.type = "checkbox", g.checkOn = "" !== e.value, g.optSelected = t.selected, (e = b.createElement("input")).value = "t", e.type = "radio", g.radioValue = "t" === e.value }(); var Ct, xt = S.expr.attrHandle; S.fn.extend({ attr: function (e, t) { return ee(this, S.attr, e, t, arguments.length > 1) }, removeAttr: function (e) { return this.each((function () { S.removeAttr(this, e) })) } }), S.extend({ attr: function (e, t, n) { var i, o, r = e.nodeType; if (3 !== r && 8 !== r && 2 !== r) return void 0 === e.getAttribute ? S.prop(e, t, n) : (1 === r && S.isXMLDoc(e) || (o = S.attrHooks[t.toLowerCase()] || (S.expr.match.bool.test(t) ? Ct : void 0)), void 0 !== n ? null === n ? void S.removeAttr(e, t) : o && "set" in o && void 0 !== (i = o.set(e, n, t)) ? i : (e.setAttribute(t, n + ""), n) : o && "get" in o && null !== (i = o.get(e, t)) ? i : null == (i = S.find.attr(e, t)) ? void 0 : i) }, attrHooks: { type: { set: function (e, t) { if (!g.radioValue && "radio" === t && I(e, "input")) { var n = e.value; return e.setAttribute("type", t), n && (e.value = n), t } } } }, removeAttr: function (e, t) { var n, i = 0, o = t && t.match(K); if (o && 1 === e.nodeType) for (; n = o[i++];) e.removeAttribute(n) } }), Ct = { set: function (e, t, n) { return !1 === t ? S.removeAttr(e, n) : e.setAttribute(n, n), n } }, S.each(S.expr.match.bool.source.match(/\w+/g), (function (e, t) { var n = xt[t] || S.find.attr; xt[t] = function (e, t, i) { var o, r, s = t.toLowerCase(); return i || (r = xt[s], xt[s] = o, o = null != n(e, t, i) ? s : null, xt[s] = r), o } })); var _t = /^(?:input|select|textarea|button)$/i, Tt = /^(?:a|area)$/i; function St(e) { return (e.match(K) || []).join(" ") } function kt(e) { return e.getAttribute && e.getAttribute("class") || "" } function It(e) { return Array.isArray(e) ? e : "string" == typeof e && e.match(K) || [] } S.fn.extend({ prop: function (e, t) { return ee(this, S.prop, e, t, arguments.length > 1) }, removeProp: function (e) { return this.each((function () { delete this[S.propFix[e] || e] })) } }), S.extend({ prop: function (e, t, n) { var i, o, r = e.nodeType; if (3 !== r && 8 !== r && 2 !== r) return 1 === r && S.isXMLDoc(e) || (t = S.propFix[t] || t, o = S.propHooks[t]), void 0 !== n ? o && "set" in o && void 0 !== (i = o.set(e, n, t)) ? i : e[t] = n : o && "get" in o && null !== (i = o.get(e, t)) ? i : e[t] }, propHooks: { tabIndex: { get: function (e) { var t = S.find.attr(e, "tabindex"); return t ? parseInt(t, 10) : _t.test(e.nodeName) || Tt.test(e.nodeName) && e.href ? 0 : -1 } } }, propFix: { for: "htmlFor", class: "className" } }), g.optSelected || (S.propHooks.selected = { get: function (e) { var t = e.parentNode; return t && t.parentNode && t.parentNode.selectedIndex, null }, set: function (e) { var t = e.parentNode; t && (t.selectedIndex, t.parentNode && t.parentNode.selectedIndex) } }), S.each(["tabIndex", "readOnly", "maxLength", "cellSpacing", "cellPadding", "rowSpan", "colSpan", "useMap", "frameBorder", "contentEditable"], (function () { S.propFix[this.toLowerCase()] = this })), S.fn.extend({ addClass: function (e) { var t, n, i, o, r, s; return y(e) ? this.each((function (t) { S(this).addClass(e.call(this, t, kt(this))) })) : (t = It(e)).length ? this.each((function () { if (i = kt(this), n = 1 === this.nodeType && " " + St(i) + " ") { for (r = 0; r < t.length; r++) o = t[r], n.indexOf(" " + o + " ") < 0 && (n += o + " "); s = St(n), i !== s && this.setAttribute("class", s) } })) : this }, removeClass: function (e) { var t, n, i, o, r, s; return y(e) ? this.each((function (t) { S(this).removeClass(e.call(this, t, kt(this))) })) : arguments.length ? (t = It(e)).length ? this.each((function () { if (i = kt(this), n = 1 === this.nodeType && " " + St(i) + " ") { for (r = 0; r < t.length; r++) for (o = t[r]; n.indexOf(" " + o + " ") > -1;) n = n.replace(" " + o + " ", " "); s = St(n), i !== s && this.setAttribute("class", s) } })) : this : this.attr("class", "") }, toggleClass: function (e, t) { var n, i, o, r, s = typeof e, a = "string" === s || Array.isArray(e); return y(e) ? this.each((function (n) { S(this).toggleClass(e.call(this, n, kt(this), t), t) })) : "boolean" == typeof t && a ? t ? this.addClass(e) : this.removeClass(e) : (n = It(e), this.each((function () { if (a) for (r = S(this), o = 0; o < n.length; o++) i = n[o], r.hasClass(i) ? r.removeClass(i) : r.addClass(i); else void 0 !== e && "boolean" !== s || ((i = kt(this)) && ae.set(this, "__className__", i), this.setAttribute && this.setAttribute("class", i || !1 === e ? "" : ae.get(this, "__className__") || "")) }))) }, hasClass: function (e) { var t, n, i = 0; for (t = " " + e + " "; n = this[i++];) if (1 === n.nodeType && (" " + St(kt(n)) + " ").indexOf(t) > -1) return !0; return !1 } }); var Dt = /\r/g; S.fn.extend({ val: function (e) { var t, n, i, o = this[0]; return arguments.length ? (i = y(e), this.each((function (n) { var o; 1 === this.nodeType && (null == (o = i ? e.call(this, n, S(this).val()) : e) ? o = "" : "number" == typeof o ? o += "" : Array.isArray(o) && (o = S.map(o, (function (e) { return null == e ? "" : e + "" }))), (t = S.valHooks[this.type] || S.valHooks[this.nodeName.toLowerCase()]) && "set" in t && void 0 !== t.set(this, o, "value") || (this.value = o)) }))) : o ? (t = S.valHooks[o.type] || S.valHooks[o.nodeName.toLowerCase()]) && "get" in t && void 0 !== (n = t.get(o, "value")) ? n : "string" == typeof (n = o.value) ? n.replace(Dt, "") : null == n ? "" : n : void 0 } }), S.extend({ valHooks: { option: { get: function (e) { var t = S.find.attr(e, "value"); return null != t ? t : St(S.text(e)) } }, select: { get: function (e) { var t, n, i, o = e.options, r = e.selectedIndex, s = "select-one" === e.type, a = s ? null : [], l = s ? r + 1 : o.length; for (i = r < 0 ? l : s ? r : 0; i < l; i++) if (((n = o[i]).selected || i === r) && !n.disabled && (!n.parentNode.disabled || !I(n.parentNode, "optgroup"))) { if (t = S(n).val(), s) return t; a.push(t) } return a }, set: function (e, t) { for (var n, i, o = e.options, r = S.makeArray(t), s = o.length; s--;) ((i = o[s]).selected = S.inArray(S.valHooks.option.get(i), r) > -1) && (n = !0); return n || (e.selectedIndex = -1), r } } } }), S.each(["radio", "checkbox"], (function () { S.valHooks[this] = { set: function (e, t) { if (Array.isArray(t)) return e.checked = S.inArray(S(e).val(), t) > -1 } }, g.checkOn || (S.valHooks[this].get = function (e) { return null === e.getAttribute("value") ? "on" : e.value }) })); var Lt = i.location, At = { guid: Date.now() }, Et = /\?/; S.parseXML = function (e) { var t, n; if (!e || "string" != typeof e) return null; try { t = (new i.DOMParser).parseFromString(e, "text/xml") } catch (e) { } return n = t && t.getElementsByTagName("parsererror")[0], t && !n || S.error("Invalid XML: " + (n ? S.map(n.childNodes, (function (e) { return e.textContent })).join("\n") : e)), t }; var Nt = /^(?:focusinfocus|focusoutblur)$/, Mt = function (e) { e.stopPropagation() }; S.extend(S.event, { trigger: function (e, t, n, o) { var r, s, a, l, u, c, d, h, f = [n || b], m = p.call(e, "type") ? e.type : e, g = p.call(e, "namespace") ? e.namespace.split(".") : []; if (s = h = a = n = n || b, 3 !== n.nodeType && 8 !== n.nodeType && !Nt.test(m + S.event.triggered) && (m.indexOf(".") > -1 && (g = m.split("."), m = g.shift(), g.sort()), u = m.indexOf(":") < 0 && "on" + m, (e = e[S.expando] ? e : new S.Event(m, "object" == typeof e && e)).isTrigger = o ? 2 : 3, e.namespace = g.join("."), e.rnamespace = e.namespace ? new RegExp("(^|\\.)" + g.join("\\.(?:.*\\.|)") + "(\\.|$)") : null, e.result = void 0, e.target || (e.target = n), t = null == t ? [e] : S.makeArray(t, [e]), d = S.event.special[m] || {}, o || !d.trigger || !1 !== d.trigger.apply(n, t))) { if (!o && !d.noBubble && !v(n)) { for (l = d.delegateType || m, Nt.test(l + m) || (s = s.parentNode); s; s = s.parentNode) f.push(s), a = s; a === (n.ownerDocument || b) && f.push(a.defaultView || a.parentWindow || i) } for (r = 0; (s = f[r++]) && !e.isPropagationStopped();) h = s, e.type = r > 1 ? l : d.bindType || m, (c = (ae.get(s, "events") || Object.create(null))[e.type] && ae.get(s, "handle")) && c.apply(s, t), (c = u && s[u]) && c.apply && re(s) && (e.result = c.apply(s, t), !1 === e.result && e.preventDefault()); return e.type = m, o || e.isDefaultPrevented() || d._default && !1 !== d._default.apply(f.pop(), t) || !re(n) || u && y(n[m]) && !v(n) && ((a = n[u]) && (n[u] = null), S.event.triggered = m, e.isPropagationStopped() && h.addEventListener(m, Mt), n[m](), e.isPropagationStopped() && h.removeEventListener(m, Mt), S.event.triggered = void 0, a && (n[u] = a)), e.result } }, simulate: function (e, t, n) { var i = S.extend(new S.Event, n, { type: e, isSimulated: !0 }); S.event.trigger(i, null, t) } }), S.fn.extend({ trigger: function (e, t) { return this.each((function () { S.event.trigger(e, t, this) })) }, triggerHandler: function (e, t) { var n = this[0]; if (n) return S.event.trigger(e, t, n, !0) } }); var jt = /\[\]$/, Pt = /\r?\n/g, Ot = /^(?:submit|button|image|reset|file)$/i, qt = /^(?:input|select|textarea|keygen)/i; function Ht(e, t, n, i) { var o; if (Array.isArray(t)) S.each(t, (function (t, o) { n || jt.test(e) ? i(e, o) : Ht(e + "[" + ("object" == typeof o && null != o ? t : "") + "]", o, n, i) })); else if (n || "object" !== x(t)) i(e, t); else for (o in t) Ht(e + "[" + o + "]", t[o], n, i) } S.param = function (e, t) { var n, i = [], o = function (e, t) { var n = y(t) ? t() : t; i[i.length] = encodeURIComponent(e) + "=" + encodeURIComponent(null == n ? "" : n) }; if (null == e) return ""; if (Array.isArray(e) || e.jquery && !S.isPlainObject(e)) S.each(e, (function () { o(this.name, this.value) })); else for (n in e) Ht(n, e[n], t, o); return i.join("&") }, S.fn.extend({ serialize: function () { return S.param(this.serializeArray()) }, serializeArray: function () { return this.map((function () { var e = S.prop(this, "elements"); return e ? S.makeArray(e) : this })).filter((function () { var e = this.type; return this.name && !S(this).is(":disabled") && qt.test(this.nodeName) && !Ot.test(e) && (this.checked || !Se.test(e)) })).map((function (e, t) { var n = S(this).val(); return null == n ? null : Array.isArray(n) ? S.map(n, (function (e) { return { name: t.name, value: e.replace(Pt, "\r\n") } })) : { name: t.name, value: n.replace(Pt, "\r\n") } })).get() } }); var Rt = /%20/g, Ft = /#.*$/, $t = /([?&])_=[^&]*/, Ut = /^(.*?):[ \t]*([^\r\n]*)$/gm, Bt = /^(?:GET|HEAD)$/, Wt = /^\/\//, Gt = {}, zt = {}, Kt = "*/".concat("*"), Jt = b.createElement("a"); function Vt(e) { return function (t, n) { "string" != typeof t && (n = t, t = "*"); var i, o = 0, r = t.toLowerCase().match(K) || []; if (y(n)) for (; i = r[o++];) "+" === i[0] ? (i = i.slice(1) || "*", (e[i] = e[i] || []).unshift(n)) : (e[i] = e[i] || []).push(n) } } function Xt(e, t, n, i) { var o = {}, r = e === zt; function s(a) { var l; return o[a] = !0, S.each(e[a] || [], (function (e, a) { var u = a(t, n, i); return "string" != typeof u || r || o[u] ? r ? !(l = u) : void 0 : (t.dataTypes.unshift(u), s(u), !1) })), l } return s(t.dataTypes[0]) || !o["*"] && s("*") } function Yt(e, t) { var n, i, o = S.ajaxSettings.flatOptions || {}; for (n in t) void 0 !== t[n] && ((o[n] ? e : i || (i = {}))[n] = t[n]); return i && S.extend(!0, e, i), e } Jt.href = Lt.href, S.extend({ active: 0, lastModified: {}, etag: {}, ajaxSettings: { url: Lt.href, type: "GET", isLocal: /^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Lt.protocol), global: !0, processData: !0, async: !0, contentType: "application/x-www-form-urlencoded; charset=UTF-8", accepts: { "*": Kt, text: "text/plain", html: "text/html", xml: "application/xml, text/xml", json: "application/json, text/javascript" }, contents: { xml: /\bxml\b/, html: /\bhtml/, json: /\bjson\b/ }, responseFields: { xml: "responseXML", text: "responseText", json: "responseJSON" }, converters: { "* text": String, "text html": !0, "text json": JSON.parse, "text xml": S.parseXML }, flatOptions: { url: !0, context: !0 } }, ajaxSetup: function (e, t) { return t ? Yt(Yt(e, S.ajaxSettings), t) : Yt(S.ajaxSettings, e) }, ajaxPrefilter: Vt(Gt), ajaxTransport: Vt(zt), ajax: function (e, t) { "object" == typeof e && (t = e, e = void 0), t = t || {}; var n, o, r, s, a, l, u, c, d, h, p = S.ajaxSetup({}, t), f = p.context || p, m = p.context && (f.nodeType || f.jquery) ? S(f) : S.event, g = S.Deferred(), y = S.Callbacks("once memory"), v = p.statusCode || {}, w = {}, C = {}, x = "canceled", _ = { readyState: 0, getResponseHeader: function (e) { var t; if (u) { if (!s) for (s = {}; t = Ut.exec(r);) s[t[1].toLowerCase() + " "] = (s[t[1].toLowerCase() + " "] || []).concat(t[2]); t = s[e.toLowerCase() + " "] } return null == t ? null : t.join(", ") }, getAllResponseHeaders: function () { return u ? r : null }, setRequestHeader: function (e, t) { return null == u && (e = C[e.toLowerCase()] = C[e.toLowerCase()] || e, w[e] = t), this }, overrideMimeType: function (e) { return null == u && (p.mimeType = e), this }, statusCode: function (e) { var t; if (e) if (u) _.always(e[_.status]); else for (t in e) v[t] = [v[t], e[t]]; return this }, abort: function (e) { var t = e || x; return n && n.abort(t), T(0, t), this } }; if (g.promise(_), p.url = ((e || p.url || Lt.href) + "").replace(Wt, Lt.protocol + "//"), p.type = t.method || t.type || p.method || p.type, p.dataTypes = (p.dataType || "*").toLowerCase().match(K) || [""], null == p.crossDomain) { l = b.createElement("a"); try { l.href = p.url, l.href = l.href, p.crossDomain = Jt.protocol + "//" + Jt.host != l.protocol + "//" + l.host } catch (e) { p.crossDomain = !0 } } if (p.data && p.processData && "string" != typeof p.data && (p.data = S.param(p.data, p.traditional)), Xt(Gt, p, t, _), u) return _; for (d in (c = S.event && p.global) && 0 == S.active++ && S.event.trigger("ajaxStart"), p.type = p.type.toUpperCase(), p.hasContent = !Bt.test(p.type), o = p.url.replace(Ft, ""), p.hasContent ? p.data && p.processData && 0 === (p.contentType || "").indexOf("application/x-www-form-urlencoded") && (p.data = p.data.replace(Rt, "+")) : (h = p.url.slice(o.length), p.data && (p.processData || "string" == typeof p.data) && (o += (Et.test(o) ? "&" : "?") + p.data, delete p.data), !1 === p.cache && (o = o.replace($t, "$1"), h = (Et.test(o) ? "&" : "?") + "_=" + At.guid++ + h), p.url = o + h), p.ifModified && (S.lastModified[o] && _.setRequestHeader("If-Modified-Since", S.lastModified[o]), S.etag[o] && _.setRequestHeader("If-None-Match", S.etag[o])), (p.data && p.hasContent && !1 !== p.contentType || t.contentType) && _.setRequestHeader("Content-Type", p.contentType), _.setRequestHeader("Accept", p.dataTypes[0] && p.accepts[p.dataTypes[0]] ? p.accepts[p.dataTypes[0]] + ("*" !== p.dataTypes[0] ? ", " + Kt + "; q=0.01" : "") : p.accepts["*"]), p.headers) _.setRequestHeader(d, p.headers[d]); if (p.beforeSend && (!1 === p.beforeSend.call(f, _, p) || u)) return _.abort(); if (x = "abort", y.add(p.complete), _.done(p.success), _.fail(p.error), n = Xt(zt, p, t, _)) { if (_.readyState = 1, c && m.trigger("ajaxSend", [_, p]), u) return _; p.async && p.timeout > 0 && (a = i.setTimeout((function () { _.abort("timeout") }), p.timeout)); try { u = !1, n.send(w, T) } catch (e) { if (u) throw e; T(-1, e) } } else T(-1, "No Transport"); function T(e, t, s, l) { var d, h, b, w, C, x = t; u || (u = !0, a && i.clearTimeout(a), n = void 0, r = l || "", _.readyState = e > 0 ? 4 : 0, d = e >= 200 && e < 300 || 304 === e, s && (w = function (e, t, n) { for (var i, o, r, s, a = e.contents, l = e.dataTypes; "*" === l[0];) l.shift(), void 0 === i && (i = e.mimeType || t.getResponseHeader("Content-Type")); if (i) for (o in a) if (a[o] && a[o].test(i)) { l.unshift(o); break } if (l[0] in n) r = l[0]; else { for (o in n) { if (!l[0] || e.converters[o + " " + l[0]]) { r = o; break } s || (s = o) } r = r || s } if (r) return r !== l[0] && l.unshift(r), n[r] }(p, _, s)), !d && S.inArray("script", p.dataTypes) > -1 && S.inArray("json", p.dataTypes) < 0 && (p.converters["text script"] = function () { }), w = function (e, t, n, i) { var o, r, s, a, l, u = {}, c = e.dataTypes.slice(); if (c[1]) for (s in e.converters) u[s.toLowerCase()] = e.converters[s]; for (r = c.shift(); r;) if (e.responseFields[r] && (n[e.responseFields[r]] = t), !l && i && e.dataFilter && (t = e.dataFilter(t, e.dataType)), l = r, r = c.shift()) if ("*" === r) r = l; else if ("*" !== l && l !== r) { if (!(s = u[l + " " + r] || u["* " + r])) for (o in u) if ((a = o.split(" "))[1] === r && (s = u[l + " " + a[0]] || u["* " + a[0]])) { !0 === s ? s = u[o] : !0 !== u[o] && (r = a[0], c.unshift(a[1])); break } if (!0 !== s) if (s && e.throws) t = s(t); else try { t = s(t) } catch (e) { return { state: "parsererror", error: s ? e : "No conversion from " + l + " to " + r } } } return { state: "success", data: t } }(p, w, _, d), d ? (p.ifModified && ((C = _.getResponseHeader("Last-Modified")) && (S.lastModified[o] = C), (C = _.getResponseHeader("etag")) && (S.etag[o] = C)), 204 === e || "HEAD" === p.type ? x = "nocontent" : 304 === e ? x = "notmodified" : (x = w.state, h = w.data, d = !(b = w.error))) : (b = x, !e && x || (x = "error", e < 0 && (e = 0))), _.status = e, _.statusText = (t || x) + "", d ? g.resolveWith(f, [h, x, _]) : g.rejectWith(f, [_, x, b]), _.statusCode(v), v = void 0, c && m.trigger(d ? "ajaxSuccess" : "ajaxError", [_, p, d ? h : b]), y.fireWith(f, [_, x]), c && (m.trigger("ajaxComplete", [_, p]), --S.active || S.event.trigger("ajaxStop"))) } return _ }, getJSON: function (e, t, n) { return S.get(e, t, n, "json") }, getScript: function (e, t) { return S.get(e, void 0, t, "script") } }), S.each(["get", "post"], (function (e, t) { S[t] = function (e, n, i, o) { return y(n) && (o = o || i, i = n, n = void 0), S.ajax(S.extend({ url: e, type: t, dataType: o, data: n, success: i }, S.isPlainObject(e) && e)) } })), S.ajaxPrefilter((function (e) { var t; for (t in e.headers) "content-type" === t.toLowerCase() && (e.contentType = e.headers[t] || "") })), S._evalUrl = function (e, t, n) { return S.ajax({ url: e, type: "GET", dataType: "script", cache: !0, async: !1, global: !1, converters: { "text script": function () { } }, dataFilter: function (e) { S.globalEval(e, t, n) } }) }, S.fn.extend({ wrapAll: function (e) { var t; return this[0] && (y(e) && (e = e.call(this[0])), t = S(e, this[0].ownerDocument).eq(0).clone(!0), this[0].parentNode && t.insertBefore(this[0]), t.map((function () { for (var e = this; e.firstElementChild;) e = e.firstElementChild; return e })).append(this)), this }, wrapInner: function (e) { return y(e) ? this.each((function (t) { S(this).wrapInner(e.call(this, t)) })) : this.each((function () { var t = S(this), n = t.contents(); n.length ? n.wrapAll(e) : t.append(e) })) }, wrap: function (e) { var t = y(e); return this.each((function (n) { S(this).wrapAll(t ? e.call(this, n) : e) })) }, unwrap: function (e) { return this.parent(e).not("body").each((function () { S(this).replaceWith(this.childNodes) })), this } }), S.expr.pseudos.hidden = function (e) { return !S.expr.pseudos.visible(e) }, S.expr.pseudos.visible = function (e) { return !!(e.offsetWidth || e.offsetHeight || e.getClientRects().length) }, S.ajaxSettings.xhr = function () { try { return new i.XMLHttpRequest } catch (e) { } }; var Qt = { 0: 200, 1223: 204 }, Zt = S.ajaxSettings.xhr(); g.cors = !!Zt && "withCredentials" in Zt, g.ajax = Zt = !!Zt, S.ajaxTransport((function (e) { var t, n; if (g.cors || Zt && !e.crossDomain) return { send: function (o, r) { var s, a = e.xhr(); if (a.open(e.type, e.url, e.async, e.username, e.password), e.xhrFields) for (s in e.xhrFields) a[s] = e.xhrFields[s]; for (s in e.mimeType && a.overrideMimeType && a.overrideMimeType(e.mimeType), e.crossDomain || o["X-Requested-With"] || (o["X-Requested-With"] = "XMLHttpRequest"), o) a.setRequestHeader(s, o[s]); t = function (e) { return function () { t && (t = n = a.onload = a.onerror = a.onabort = a.ontimeout = a.onreadystatechange = null, "abort" === e ? a.abort() : "error" === e ? "number" != typeof a.status ? r(0, "error") : r(a.status, a.statusText) : r(Qt[a.status] || a.status, a.statusText, "text" !== (a.responseType || "text") || "string" != typeof a.responseText ? { binary: a.response } : { text: a.responseText }, a.getAllResponseHeaders())) } }, a.onload = t(), n = a.onerror = a.ontimeout = t("error"), void 0 !== a.onabort ? a.onabort = n : a.onreadystatechange = function () { 4 === a.readyState && i.setTimeout((function () { t && n() })) }, t = t("abort"); try { a.send(e.hasContent && e.data || null) } catch (e) { if (t) throw e } }, abort: function () { t && t() } } })), S.ajaxPrefilter((function (e) { e.crossDomain && (e.contents.script = !1) })), S.ajaxSetup({ accepts: { script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript" }, contents: { script: /\b(?:java|ecma)script\b/ }, converters: { "text script": function (e) { return S.globalEval(e), e } } }), S.ajaxPrefilter("script", (function (e) { void 0 === e.cache && (e.cache = !1), e.crossDomain && (e.type = "GET") })), S.ajaxTransport("script", (function (e) { var t, n; if (e.crossDomain || e.scriptAttrs) return { send: function (i, o) { t = S("