vendor: 1,660 bytes, lines 1-48
1!(function (e) { 2 var t = {}; 3 function n(i) { 4 if (t[i]) return t[i].exports; 5 var s = (t[i] = { i: i, l: !1, exports: {} }); 6 return e[i].call(s.exports, s, s.exports, n), (s.l = !0), s.exports; 7 } 8 (n.m = e), 9 (n.c = t), 10 (n.d = function (e, t, i) { 11 n.o(e, t) || Object.defineProperty(e, t, { enumerable: !0, get: i }); 12 }), 13 (n.r = function (e) { 14 "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(e, "__esModule", { value: !0 }); 15 }), 16 (n.t = function (e, t) { 17 if ((1 & t && (e = n(e)), 8 & t)) return e; 18 if (4 & t && "object" == typeof e && e && e.__esModule) return e; 19 var i = Object.create(null); 20 if ((n.r(i), Object.defineProperty(i, "default", { enumerable: !0, value: e }), 2 & t && "string" != typeof e)) 21 for (var s in e) 22 n.d( 23 i, 24 s, 25 function (t) { 26 return e[t]; 27 }.bind(null, s) 28 ); 29 return i; 30 }), 31 (n.n = function (e) { 32 var t = 33 e && e.__esModule 34 ? function () { 35 return e.default; 36 } 37 : function () { 38 return e; 39 }; 40 return n.d(t, "a", t), t; 41 }), 42 (n.o = function (e, t) { 43 return Object.prototype.hasOwnProperty.call(e, t); 44 }), 45 (n.p = ""), 46 n((n.s = "./js/main.js")); 47})({ 48
vendor: 688 bytes, lines 48-58
48"../node_modules/air-datepicker/src/js/air-datepicker.js": 49 /*!***************************************************************!*\ 50!*** ../node_modules/air-datepicker/src/js/air-datepicker.js ***! 51\***************************************************************/ 52 /*! no static exports found */ function (e, t, n) { 53 n(/*! ./datepicker */ "../node_modules/air-datepicker/src/js/datepicker.js"), 54 n(/*! ./body */ "../node_modules/air-datepicker/src/js/body.js"), 55 n(/*! ./navigation */ "../node_modules/air-datepicker/src/js/navigation.js"), 56 n(/*! ./timepicker */ "../node_modules/air-datepicker/src/js/timepicker.js"); 57 }, 58
vendor: 9,574 bytes, lines 58-222
58"../node_modules/air-datepicker/src/js/body.js": 59 /*!*****************************************************!*\ 60!*** ../node_modules/air-datepicker/src/js/body.js ***! 61\*****************************************************/ 62 /*! no static exports found */ function (e, t) { 63 var n, i, s; 64 (n = { 65 days: '<div class="datepicker--days datepicker--body"><div class="datepicker--days-names"></div><div class="datepicker--cells datepicker--cells-days"></div></div>', 66 months: '<div class="datepicker--months datepicker--body"><div class="datepicker--cells datepicker--cells-months"></div></div>', 67 years: '<div class="datepicker--years datepicker--body"><div class="datepicker--cells datepicker--cells-years"></div></div>', 68 }), 69 (i = $.fn.datepicker), 70 (s = i.Constructor), 71 (i.Body = function (e, t, n) { 72 (this.d = e), (this.type = t), (this.opts = n), (this.$el = $("")), this.opts.onlyTimepicker || this.init(); 73 }), 74 (i.Body.prototype = { 75 init: function () { 76 this._buildBaseHtml(), this._render(), this._bindEvents(); 77 }, 78 _bindEvents: function () { 79 this.$el.on("click", ".datepicker--cell", $.proxy(this._onClickCell, this)); 80 }, 81 _buildBaseHtml: function () { 82 (this.$el = $(n[this.type]).appendTo(this.d.$content)), (this.$names = $(".datepicker--days-names", this.$el)), (this.$cells = $(".datepicker--cells", this.$el)); 83 }, 84 _getDayNamesHtml: function (e, t, n, i) { 85 return ( 86 (n = n || ""), 87 (i = null != i ? i : 0) > 7 88 ? n 89 : 7 == (t = null != t ? t : e) 90 ? this._getDayNamesHtml(e, 0, n, ++i) 91 : ((n += '<div class="datepicker--day-name' + (this.d.isWeekend(t) ? " -weekend-" : "") + '">' + this.d.loc.daysMin[t] + "</div>"), this._getDayNamesHtml(e, ++t, n, ++i)) 92 ); 93 }, 94 _getCellContents: function (e, t) { 95 var n = "datepicker--cell datepicker--cell-" + t, 96 i = new Date(), 97 o = this.d, 98 a = s.resetTime(o.minRange), 99 r = s.resetTime(o.maxRange), 100 c = o.opts, 101 l = s.getParsedDate(e), 102 d = {}, 103 h = l.date; 104 switch (t) { 105 case "day": 106 o.isWeekend(l.day) && (n += " -weekend-"), l.month != this.d.parsedDate.month && ((n += " -other-month-"), c.selectOtherMonths || (n += " -disabled-"), c.showOtherMonths || (h = "")); 107 break; 108 case "month": 109 h = o.loc[o.opts.monthsField][l.month]; 110 break; 111 case "year": 112 var u = o.curDecade; 113 (h = l.year), (l.year < u[0] || l.year > u[1]) && ((n += " -other-decade-"), c.selectOtherYears || (n += " -disabled-"), c.showOtherYears || (h = "")); 114 } 115 return ( 116 c.onRenderCell && ((h = (d = c.onRenderCell(e, t) || {}).html ? d.html : h), (n += d.classes ? " " + d.classes : "")), 117 c.range && 118 (s.isSame(a, e, t) && (n += " -range-from-"), 119 s.isSame(r, e, t) && (n += " -range-to-"), 120 1 == o.selectedDates.length && o.focused 121 ? (((s.bigger(a, e) && s.less(o.focused, e)) || (s.less(r, e) && s.bigger(o.focused, e))) && (n += " -in-range-"), 122 s.less(r, e) && s.isSame(o.focused, e) && (n += " -range-from-"), 123 s.bigger(a, e) && s.isSame(o.focused, e) && (n += " -range-to-")) 124 : 2 == o.selectedDates.length && s.bigger(a, e) && s.less(r, e) && (n += " -in-range-")), 125 s.isSame(i, e, t) && (n += " -current-"), 126 o.focused && s.isSame(e, o.focused, t) && (n += " -focus-"), 127 o._isSelected(e, t) && (n += " -selected-"), 128 (o._isInRange(e, t) && !d.disabled) || (n += " -disabled-"), 129 { html: h, classes: n } 130 ); 131 }, 132 _getDaysHtml: function (e) { 133 for ( 134 var t, 135 n, 136 i = s.getDaysCount(e), 137 o = new Date(e.getFullYear(), e.getMonth(), 1).getDay(), 138 a = new Date(e.getFullYear(), e.getMonth(), i).getDay(), 139 r = o - this.d.loc.firstDay, 140 c = 6 - a + this.d.loc.firstDay, 141 l = "", 142 d = 1 - (r = r < 0 ? r + 7 : r), 143 h = i + (c = c > 6 ? c - 7 : c); 144 d <= h; 145 d++ 146 ) 147 (n = e.getFullYear()), (t = e.getMonth()), (l += this._getDayHtml(new Date(n, t, d))); 148 return l; 149 }, 150 _getDayHtml: function (e) { 151 var t = this._getCellContents(e, "day"); 152 return '<div class="' + t.classes + '" data-date="' + e.getDate() + '" data-month="' + e.getMonth() + '" data-year="' + e.getFullYear() + '">' + t.html + "</div>"; 153 }, 154 _getMonthsHtml: function (e) { 155 for (var t = "", n = s.getParsedDate(e), i = 0; i < 12; ) (t += this._getMonthHtml(new Date(n.year, i))), i++; 156 return t; 157 }, 158 _getMonthHtml: function (e) { 159 var t = this._getCellContents(e, "month"); 160 return '<div class="' + t.classes + '" data-month="' + e.getMonth() + '">' + t.html + "</div>"; 161 }, 162 _getYearsHtml: function (e) { 163 s.getParsedDate(e); 164 for (var t = s.getDecade(e), n = "", i = t[0] - 1; i <= t[1] + 1; i++) n += this._getYearHtml(new Date(i, 0)); 165 return n; 166 }, 167 _getYearHtml: function (e) { 168 var t = this._getCellContents(e, "year"); 169 return '<div class="' + t.classes + '" data-year="' + e.getFullYear() + '">' + t.html + "</div>"; 170 }, 171 _renderTypes: { 172 days: function () { 173 var e = this._getDayNamesHtml(this.d.loc.firstDay), 174 t = this._getDaysHtml(this.d.currentDate); 175 this.$cells.html(t), this.$names.html(e); 176 }, 177 months: function () { 178 var e = this._getMonthsHtml(this.d.currentDate); 179 this.$cells.html(e); 180 }, 181 years: function () { 182 var e = this._getYearsHtml(this.d.currentDate); 183 this.$cells.html(e); 184 }, 185 }, 186 _render: function () { 187 this.opts.onlyTimepicker || this._renderTypes[this.type].bind(this)(); 188 }, 189 _update: function () { 190 var e, 191 t, 192 n, 193 i = $(".datepicker--cell", this.$cells), 194 s = this; 195 i.each(function (i, o) { 196 (t = $(this)), (n = s.d._getDateFromCell($(this))), (e = s._getCellContents(n, s.d.cellType)), t.attr("class", e.classes); 197 }); 198 }, 199 show: function () { 200 this.opts.onlyTimepicker || (this.$el.addClass("active"), (this.acitve = !0)); 201 }, 202 hide: function () { 203 this.$el.removeClass("active"), (this.active = !1); 204 }, 205 _handleClick: function (e) { 206 var t = e.data("date") || 1, 207 n = e.data("month") || 0, 208 i = e.data("year") || this.d.parsedDate.year, 209 s = this.d; 210 if (s.view == this.opts.minView) { 211 var o = new Date(i, n, t), 212 a = this.d._isSelected(o, this.d.cellType); 213 a ? s._handleAlreadySelectedDates.bind(s, a, o)() : s._trigger("clickCell", o); 214 } else s.down(new Date(i, n, t)); 215 }, 216 _onClickCell: function (e) { 217 var t = $(e.target).closest(".datepicker--cell"); 218 t.hasClass("-disabled-") || this._handleClick.bind(this)(t); 219 }, 220 }); 221 }, 222
vendor: 45,862 bytes, lines 222-1049
222"../node_modules/air-datepicker/src/js/datepicker.js": 223 /*!***********************************************************!*\ 224!*** ../node_modules/air-datepicker/src/js/datepicker.js ***! 225\***********************************************************/ 226 /*! no static exports found */ function (e, t) { 227 var n, i, s, o, a, r, c; 228 (o = !1), 229 (a = { 230 classes: "", 231 inline: !1, 232 language: "ru", 233 startDate: new Date(), 234 firstDay: "", 235 weekends: [6, 0], 236 dateFormat: "", 237 altField: "", 238 altFieldDateFormat: "@", 239 toggleSelected: !0, 240 keyboardNav: !0, 241 position: "bottom left", 242 offset: 12, 243 view: "days", 244 minView: "days", 245 showOtherMonths: !0, 246 selectOtherMonths: !0, 247 moveToOtherMonthsOnSelect: !0, 248 showOtherYears: !0, 249 selectOtherYears: !0, 250 moveToOtherYearsOnSelect: !0, 251 minDate: "", 252 maxDate: "", 253 disableNavWhenOutOfRange: !0, 254 multipleDates: !1, 255 multipleDatesSeparator: ",", 256 range: !1, 257 todayButton: !1, 258 clearButton: !1, 259 showEvent: "focus", 260 autoClose: !1, 261 monthsField: "monthsShort", 262 prevHtml: '<svg><path d="M 17,12 l -5,5 l 5,5"></path></svg>', 263 nextHtml: '<svg><path d="M 14,12 l 5,5 l -5,5"></path></svg>', 264 navTitles: { days: "MM, <i>yyyy</i>", months: "yyyy", years: "yyyy1 - yyyy2" }, 265 timepicker: !1, 266 onlyTimepicker: !1, 267 dateTimeSeparator: " ", 268 timeFormat: "", 269 minHours: 0, 270 maxHours: 24, 271 minMinutes: 0, 272 maxMinutes: 59, 273 hoursStep: 1, 274 minutesStep: 1, 275 onSelect: "", 276 onShow: "", 277 onHide: "", 278 onChangeMonth: "", 279 onChangeYear: "", 280 onChangeDecade: "", 281 onChangeView: "", 282 onRenderCell: "", 283 }), 284 (r = { 285 ctrlRight: [17, 39], 286 ctrlUp: [17, 38], 287 ctrlLeft: [17, 37], 288 ctrlDown: [17, 40], 289 shiftRight: [16, 39], 290 shiftUp: [16, 38], 291 shiftLeft: [16, 37], 292 shiftDown: [16, 40], 293 altUp: [18, 38], 294 altRight: [18, 39], 295 altLeft: [18, 37], 296 altDown: [18, 40], 297 ctrlShiftUp: [16, 17, 38], 298 }), 299 ((s = c = function (e, t) { 300 (this.el = e), 301 (this.$el = $(e)), 302 (this.opts = $.extend(!0, {}, a, t, this.$el.data())), 303 null == n && (n = $("body")), 304 this.opts.startDate || (this.opts.startDate = new Date()), 305 "INPUT" == this.el.nodeName && (this.elIsInput = !0), 306 this.opts.altField && (this.$altField = "string" == typeof this.opts.altField ? $(this.opts.altField) : this.opts.altField), 307 (this.inited = !1), 308 (this.visible = !1), 309 (this.silent = !1), 310 (this.currentDate = this.opts.startDate), 311 (this.currentView = this.opts.view), 312 this._createShortCuts(), 313 (this.selectedDates = []), 314 (this.views = {}), 315 (this.keys = []), 316 (this.minRange = ""), 317 (this.maxRange = ""), 318 (this._prevOnSelectValue = ""), 319 this.init(); 320 }).prototype = { 321 VERSION: "2.2.3", 322 viewIndexes: ["days", "months", "years"], 323 init: function () { 324 o || this.opts.inline || !this.elIsInput || this._buildDatepickersContainer(), 325 this._buildBaseHtml(), 326 this._defineLocale(this.opts.language), 327 this._syncWithMinMaxDates(), 328 this.elIsInput && 329 (this.opts.inline || (this._setPositionClasses(this.opts.position), this._bindEvents()), 330 this.opts.keyboardNav && !this.opts.onlyTimepicker && this._bindKeyboardEvents(), 331 this.$datepicker.on("mousedown", this._onMouseDownDatepicker.bind(this)), 332 this.$datepicker.on("mouseup", this._onMouseUpDatepicker.bind(this))), 333 this.opts.classes && this.$datepicker.addClass(this.opts.classes), 334 this.opts.timepicker && ((this.timepicker = new $.fn.datepicker.Timepicker(this, this.opts)), this._bindTimepickerEvents()), 335 this.opts.onlyTimepicker && this.$datepicker.addClass("-only-timepicker-"), 336 (this.views[this.currentView] = new $.fn.datepicker.Body(this, this.currentView, this.opts)), 337 this.views[this.currentView].show(), 338 (this.nav = new $.fn.datepicker.Navigation(this, this.opts)), 339 (this.view = this.currentView), 340 this.$el.on("clickCell.adp", this._onClickCell.bind(this)), 341 this.$datepicker.on("mouseenter", ".datepicker--cell", this._onMouseEnterCell.bind(this)), 342 this.$datepicker.on("mouseleave", ".datepicker--cell", this._onMouseLeaveCell.bind(this)), 343 (this.inited = !0); 344 }, 345 _createShortCuts: function () { 346 (this.minDate = this.opts.minDate ? this.opts.minDate : new Date(-86399999136e5)), (this.maxDate = this.opts.maxDate ? this.opts.maxDate : new Date(86399999136e5)); 347 }, 348 _bindEvents: function () { 349 this.$el.on(this.opts.showEvent + ".adp", this._onShowEvent.bind(this)), 350 this.$el.on("mouseup.adp", this._onMouseUpEl.bind(this)), 351 this.$el.on("blur.adp", this._onBlur.bind(this)), 352 this.$el.on("keyup.adp", this._onKeyUpGeneral.bind(this)), 353 $(window).on("resize.adp", this._onResize.bind(this)), 354 $("body").on("mouseup.adp", this._onMouseUpBody.bind(this)); 355 }, 356 _bindKeyboardEvents: function () { 357 this.$el.on("keydown.adp", this._onKeyDown.bind(this)), this.$el.on("keyup.adp", this._onKeyUp.bind(this)), this.$el.on("hotKey.adp", this._onHotKey.bind(this)); 358 }, 359 _bindTimepickerEvents: function () { 360 this.$el.on("timeChange.adp", this._onTimeChange.bind(this)); 361 }, 362 isWeekend: function (e) { 363 return -1 !== this.opts.weekends.indexOf(e); 364 }, 365 _defineLocale: function (e) { 366 "string" == typeof e 367 ? ((this.loc = $.fn.datepicker.language[e]), 368 this.loc || (console.warn("Can't find language \"" + e + '" in Datepicker.language, will use "ru" instead'), (this.loc = $.extend(!0, {}, $.fn.datepicker.language.ru))), 369 (this.loc = $.extend(!0, {}, $.fn.datepicker.language.ru, $.fn.datepicker.language[e]))) 370 : (this.loc = $.extend(!0, {}, $.fn.datepicker.language.ru, e)), 371 this.opts.dateFormat && (this.loc.dateFormat = this.opts.dateFormat), 372 this.opts.timeFormat && (this.loc.timeFormat = this.opts.timeFormat), 373 "" !== this.opts.firstDay && (this.loc.firstDay = this.opts.firstDay), 374 this.opts.timepicker && (this.loc.dateFormat = [this.loc.dateFormat, this.loc.timeFormat].join(this.opts.dateTimeSeparator)), 375 this.opts.onlyTimepicker && (this.loc.dateFormat = this.loc.timeFormat); 376 var t = this._getWordBoundaryRegExp; 377 (this.loc.timeFormat.match(t("aa")) || this.loc.timeFormat.match(t("AA"))) && (this.ampm = !0); 378 }, 379 _buildDatepickersContainer: function () { 380 (o = !0), n.append('<div class="datepickers-container" id="datepickers-container"></div>'), (i = $("#datepickers-container")); 381 }, 382 _buildBaseHtml: function () { 383 var e, 384 t = $('<div class="datepicker-inline">'); 385 (e = "INPUT" == this.el.nodeName ? (this.opts.inline ? t.insertAfter(this.$el) : i) : t.appendTo(this.$el)), 386 (this.$datepicker = $('<div class="datepicker"><i class="datepicker--pointer"></i><nav class="datepicker--nav"></nav><div class="datepicker--content"></div></div>').appendTo(e)), 387 (this.$content = $(".datepicker--content", this.$datepicker)), 388 (this.$nav = $(".datepicker--nav", this.$datepicker)); 389 }, 390 _triggerOnChange: function () { 391 if (!this.selectedDates.length) { 392 if ("" === this._prevOnSelectValue) return; 393 return (this._prevOnSelectValue = ""), this.opts.onSelect("", "", this); 394 } 395 var e, 396 t = this.selectedDates, 397 n = s.getParsedDate(t[0]), 398 i = this, 399 o = new Date(n.year, n.month, n.date, n.hours, n.minutes); 400 (e = t 401 .map(function (e) { 402 return i.formatDate(i.loc.dateFormat, e); 403 }) 404 .join(this.opts.multipleDatesSeparator)), 405 (this.opts.multipleDates || this.opts.range) && 406 (o = t.map(function (e) { 407 var t = s.getParsedDate(e); 408 return new Date(t.year, t.month, t.date, t.hours, t.minutes); 409 })), 410 (this._prevOnSelectValue = e), 411 this.opts.onSelect(e, o, this); 412 }, 413 next: function () { 414 var e = this.parsedDate, 415 t = this.opts; 416 switch (this.view) { 417 case "days": 418 (this.date = new Date(e.year, e.month + 1, 1)), t.onChangeMonth && t.onChangeMonth(this.parsedDate.month, this.parsedDate.year); 419 break; 420 case "months": 421 (this.date = new Date(e.year + 1, e.month, 1)), t.onChangeYear && t.onChangeYear(this.parsedDate.year); 422 break; 423 case "years": 424 (this.date = new Date(e.year + 10, 0, 1)), t.onChangeDecade && t.onChangeDecade(this.curDecade); 425 } 426 }, 427 prev: function () { 428 var e = this.parsedDate, 429 t = this.opts; 430 switch (this.view) { 431 case "days": 432 (this.date = new Date(e.year, e.month - 1, 1)), t.onChangeMonth && t.onChangeMonth(this.parsedDate.month, this.parsedDate.year); 433 break; 434 case "months": 435 (this.date = new Date(e.year - 1, e.month, 1)), t.onChangeYear && t.onChangeYear(this.parsedDate.year); 436 break; 437 case "years": 438 (this.date = new Date(e.year - 10, 0, 1)), t.onChangeDecade && t.onChangeDecade(this.curDecade); 439 } 440 }, 441 formatDate: function (e, t) { 442 t = t || this.date; 443 var n, 444 i = e, 445 o = this._getWordBoundaryRegExp, 446 a = this.loc, 447 r = s.getLeadingZeroNum, 448 c = s.getDecade(t), 449 l = s.getParsedDate(t), 450 d = l.fullHours, 451 h = l.hours, 452 u = e.match(o("aa")) || e.match(o("AA")), 453 p = "am", 454 f = this._replacer; 455 switch ((this.opts.timepicker && this.timepicker && u && ((d = r((n = this.timepicker._getValidHoursFromDate(t, u)).hours)), (h = n.hours), (p = n.dayPeriod)), !0)) { 456 case /@/.test(i): 457 i = i.replace(/@/, t.getTime()); 458 case /aa/.test(i): 459 i = f(i, o("aa"), p); 460 case /AA/.test(i): 461 i = f(i, o("AA"), p.toUpperCase()); 462 case /dd/.test(i): 463 i = f(i, o("dd"), l.fullDate); 464 case /d/.test(i): 465 i = f(i, o("d"), l.date); 466 case /DD/.test(i): 467 i = f(i, o("DD"), a.days[l.day]); 468 case /D/.test(i): 469 i = f(i, o("D"), a.daysShort[l.day]); 470 case /mm/.test(i): 471 i = f(i, o("mm"), l.fullMonth); 472 case /m/.test(i): 473 i = f(i, o("m"), l.month + 1); 474 case /MM/.test(i): 475 i = f(i, o("MM"), this.loc.months[l.month]); 476 case /M/.test(i): 477 i = f(i, o("M"), a.monthsShort[l.month]); 478 case /ii/.test(i): 479 i = f(i, o("ii"), l.fullMinutes); 480 case /i/.test(i): 481 i = f(i, o("i"), l.minutes); 482 case /hh/.test(i): 483 i = f(i, o("hh"), d); 484 case /h/.test(i): 485 i = f(i, o("h"), h); 486 case /yyyy/.test(i): 487 i = f(i, o("yyyy"), l.year); 488 case /yyyy1/.test(i): 489 i = f(i, o("yyyy1"), c[0]); 490 case /yyyy2/.test(i): 491 i = f(i, o("yyyy2"), c[1]); 492 case /yy/.test(i): 493 i = f(i, o("yy"), l.year.toString().slice(-2)); 494 } 495 return i; 496 }, 497 _replacer: function (e, t, n) { 498 return e.replace(t, function (e, t, i, s) { 499 return t + n + s; 500 }); 501 }, 502 _getWordBoundaryRegExp: function (e) { 503 var t = "\\s|\\.|-|/|\\\\|,|\\$|\\!|\\?|:|;"; 504 return new RegExp("(^|>|" + t + ")(" + e + ")($|<|" + t + ")", "g"); 505 }, 506 selectDate: function (e) { 507 var t = this, 508 n = t.opts, 509 i = t.parsedDate, 510 o = t.selectedDates.length, 511 a = ""; 512 if (Array.isArray(e)) 513 e.forEach(function (e) { 514 t.selectDate(e); 515 }); 516 else if (e instanceof Date) { 517 if ( 518 ((this.lastSelectedDate = e), 519 this.timepicker && this.timepicker._setTime(e), 520 t._trigger("selectDate", e), 521 this.timepicker && (e.setHours(this.timepicker.hours), e.setMinutes(this.timepicker.minutes)), 522 "days" == t.view && e.getMonth() != i.month && n.moveToOtherMonthsOnSelect && (a = new Date(e.getFullYear(), e.getMonth(), 1)), 523 "years" == t.view && e.getFullYear() != i.year && n.moveToOtherYearsOnSelect && (a = new Date(e.getFullYear(), 0, 1)), 524 a && ((t.silent = !0), (t.date = a), (t.silent = !1), t.nav._render()), 525 n.multipleDates && !n.range) 526 ) { 527 if (o === n.multipleDates) return; 528 t._isSelected(e) || t.selectedDates.push(e); 529 } else 530 n.range 531 ? 2 == o 532 ? ((t.selectedDates = [e]), (t.minRange = e), (t.maxRange = "")) 533 : 1 == o 534 ? (t.selectedDates.push(e), 535 t.maxRange ? (t.minRange = e) : (t.maxRange = e), 536 s.bigger(t.maxRange, t.minRange) && ((t.maxRange = t.minRange), (t.minRange = e)), 537 (t.selectedDates = [t.minRange, t.maxRange])) 538 : ((t.selectedDates = [e]), (t.minRange = e)) 539 : (t.selectedDates = [e]); 540 t._setInputValue(), 541 n.onSelect && t._triggerOnChange(), 542 n.autoClose && !this.timepickerIsActive && (n.multipleDates || n.range ? n.range && 2 == t.selectedDates.length && t.hide() : t.hide()), 543 t.views[this.currentView]._render(); 544 } 545 }, 546 removeDate: function (e) { 547 var t = this.selectedDates, 548 n = this; 549 if (e instanceof Date) 550 return t.some(function (i, o) { 551 if (s.isSame(i, e)) 552 return ( 553 t.splice(o, 1), 554 n.selectedDates.length ? (n.lastSelectedDate = n.selectedDates[n.selectedDates.length - 1]) : ((n.minRange = ""), (n.maxRange = ""), (n.lastSelectedDate = "")), 555 n.views[n.currentView]._render(), 556 n._setInputValue(), 557 n.opts.onSelect && n._triggerOnChange(), 558 !0 559 ); 560 }); 561 }, 562 today: function () { 563 (this.silent = !0), (this.view = this.opts.minView), (this.silent = !1), (this.date = new Date()), this.opts.todayButton instanceof Date && this.selectDate(this.opts.todayButton); 564 }, 565 clear: function () { 566 (this.selectedDates = []), (this.minRange = ""), (this.maxRange = ""), this.views[this.currentView]._render(), this._setInputValue(), this.opts.onSelect && this._triggerOnChange(); 567 }, 568 update: function (e, t) { 569 var n = arguments.length, 570 i = this.lastSelectedDate; 571 return ( 572 2 == n ? (this.opts[e] = t) : 1 == n && "object" == typeof e && (this.opts = $.extend(!0, this.opts, e)), 573 this._createShortCuts(), 574 this._syncWithMinMaxDates(), 575 this._defineLocale(this.opts.language), 576 this.nav._addButtonsIfNeed(), 577 this.opts.onlyTimepicker || this.nav._render(), 578 this.views[this.currentView]._render(), 579 this.elIsInput && !this.opts.inline && (this._setPositionClasses(this.opts.position), this.visible && this.setPosition(this.opts.position)), 580 this.opts.classes && this.$datepicker.addClass(this.opts.classes), 581 this.opts.onlyTimepicker && this.$datepicker.addClass("-only-timepicker-"), 582 this.opts.timepicker && 583 (i && this.timepicker._handleDate(i), this.timepicker._updateRanges(), this.timepicker._updateCurrentTime(), i && (i.setHours(this.timepicker.hours), i.setMinutes(this.timepicker.minutes))), 584 this._setInputValue(), 585 this 586 ); 587 }, 588 _syncWithMinMaxDates: function () { 589 var e = this.date.getTime(); 590 (this.silent = !0), this.minTime > e && (this.date = this.minDate), this.maxTime < e && (this.date = this.maxDate), (this.silent = !1); 591 }, 592 _isSelected: function (e, t) { 593 var n = !1; 594 return ( 595 this.selectedDates.some(function (i) { 596 if (s.isSame(i, e, t)) return (n = i), !0; 597 }), 598 n 599 ); 600 }, 601 _setInputValue: function () { 602 var e, 603 t = this, 604 n = t.opts, 605 i = t.loc.dateFormat, 606 s = n.altFieldDateFormat, 607 o = t.selectedDates.map(function (e) { 608 return t.formatDate(i, e); 609 }); 610 n.altField && 611 t.$altField.length && 612 ((e = (e = this.selectedDates.map(function (e) { 613 return t.formatDate(s, e); 614 })).join(this.opts.multipleDatesSeparator)), 615 this.$altField.val(e)), 616 (o = o.join(this.opts.multipleDatesSeparator)), 617 this.$el.val(o); 618 }, 619 _isInRange: function (e, t) { 620 var n = e.getTime(), 621 i = s.getParsedDate(e), 622 o = s.getParsedDate(this.minDate), 623 a = s.getParsedDate(this.maxDate), 624 r = new Date(i.year, i.month, o.date).getTime(), 625 c = new Date(i.year, i.month, a.date).getTime(), 626 l = { day: n >= this.minTime && n <= this.maxTime, month: r >= this.minTime && c <= this.maxTime, year: i.year >= o.year && i.year <= a.year }; 627 return t ? l[t] : l.day; 628 }, 629 _getDimensions: function (e) { 630 var t = e.offset(); 631 return { width: e.outerWidth(), height: e.outerHeight(), left: t.left, top: t.top }; 632 }, 633 _getDateFromCell: function (e) { 634 var t = this.parsedDate, 635 n = e.data("year") || t.year, 636 i = null == e.data("month") ? t.month : e.data("month"), 637 s = e.data("date") || 1; 638 return new Date(n, i, s); 639 }, 640 _setPositionClasses: function (e) { 641 var t = (e = e.split(" "))[0], 642 n = "datepicker -" + t + "-" + e[1] + "- -from-" + t + "-"; 643 this.visible && (n += " active"), this.$datepicker.removeAttr("class").addClass(n); 644 }, 645 setPosition: function (e) { 646 e = e || this.opts.position; 647 var t, 648 n, 649 i = this._getDimensions(this.$el), 650 s = this._getDimensions(this.$datepicker), 651 o = e.split(" "), 652 a = this.opts.offset, 653 r = o[0], 654 c = o[1]; 655 switch (r) { 656 case "top": 657 t = i.top - s.height - a; 658 break; 659 case "right": 660 n = i.left + i.width + a; 661 break; 662 case "bottom": 663 t = i.top + i.height + a; 664 break; 665 case "left": 666 n = i.left - s.width - a; 667 } 668 switch (c) { 669 case "top": 670 t = i.top; 671 break; 672 case "right": 673 n = i.left + i.width - s.width; 674 break; 675 case "bottom": 676 t = i.top + i.height - s.height; 677 break; 678 case "left": 679 n = i.left; 680 break; 681 case "center": 682 /left|right/.test(r) ? (t = i.top + i.height / 2 - s.height / 2) : (n = i.left + i.width / 2 - s.width / 2); 683 } 684 this.$datepicker.css({ left: n, top: t }); 685 }, 686 show: function () { 687 var e = this.opts.onShow; 688 this.setPosition(this.opts.position), this.$datepicker.addClass("active"), (this.visible = !0), e && this._bindVisionEvents(e); 689 }, 690 hide: function () { 691 var e = this.opts.onHide; 692 this.$datepicker.removeClass("active").css({ left: "-100000px" }), (this.focused = ""), (this.keys = []), (this.inFocus = !1), (this.visible = !1), this.$el.blur(), e && this._bindVisionEvents(e); 693 }, 694 down: function (e) { 695 this._changeView(e, "down"); 696 }, 697 up: function (e) { 698 this._changeView(e, "up"); 699 }, 700 _bindVisionEvents: function (e) { 701 this.$datepicker.off("transitionend.dp"), e(this, !1), this.$datepicker.one("transitionend.dp", e.bind(this, this, !0)); 702 }, 703 _changeView: function (e, t) { 704 e = e || this.focused || this.date; 705 var n = "up" == t ? this.viewIndex + 1 : this.viewIndex - 1; 706 n > 2 && (n = 2), n < 0 && (n = 0), (this.silent = !0), (this.date = new Date(e.getFullYear(), e.getMonth(), 1)), (this.silent = !1), (this.view = this.viewIndexes[n]); 707 }, 708 _handleHotKey: function (e) { 709 var t, 710 n, 711 i, 712 o = s.getParsedDate(this._getFocusedDate()), 713 a = this.opts, 714 r = !1, 715 c = !1, 716 l = !1, 717 d = o.year, 718 h = o.month, 719 u = o.date; 720 switch (e) { 721 case "ctrlRight": 722 case "ctrlUp": 723 (h += 1), (r = !0); 724 break; 725 case "ctrlLeft": 726 case "ctrlDown": 727 (h -= 1), (r = !0); 728 break; 729 case "shiftRight": 730 case "shiftUp": 731 (c = !0), (d += 1); 732 break; 733 case "shiftLeft": 734 case "shiftDown": 735 (c = !0), (d -= 1); 736 break; 737 case "altRight": 738 case "altUp": 739 (l = !0), (d += 10); 740 break; 741 case "altLeft": 742 case "altDown": 743 (l = !0), (d -= 10); 744 break; 745 case "ctrlShiftUp": 746 this.up(); 747 } 748 (i = s.getDaysCount(new Date(d, h))), 749 (n = new Date(d, h, u)), 750 i < u && (u = i), 751 n.getTime() < this.minTime ? (n = this.minDate) : n.getTime() > this.maxTime && (n = this.maxDate), 752 (this.focused = n), 753 (t = s.getParsedDate(n)), 754 r && a.onChangeMonth && a.onChangeMonth(t.month, t.year), 755 c && a.onChangeYear && a.onChangeYear(t.year), 756 l && a.onChangeDecade && a.onChangeDecade(this.curDecade); 757 }, 758 _registerKey: function (e) { 759 this.keys.some(function (t) { 760 return t == e; 761 }) || this.keys.push(e); 762 }, 763 _unRegisterKey: function (e) { 764 var t = this.keys.indexOf(e); 765 this.keys.splice(t, 1); 766 }, 767 _isHotKeyPressed: function () { 768 var e, 769 t = !1, 770 n = this.keys.sort(); 771 for (var i in r) 772 (e = r[i]), 773 n.length == e.length && 774 e.every(function (e, t) { 775 return e == n[t]; 776 }) && 777 (this._trigger("hotKey", i), (t = !0)); 778 return t; 779 }, 780 _trigger: function (e, t) { 781 this.$el.trigger(e, t); 782 }, 783 _focusNextCell: function (e, t) { 784 t = t || this.cellType; 785 var n = s.getParsedDate(this._getFocusedDate()), 786 i = n.year, 787 o = n.month, 788 a = n.date; 789 if (!this._isHotKeyPressed()) { 790 switch (e) { 791 case 37: 792 "day" == t && (a -= 1), "month" == t && (o -= 1), "year" == t && (i -= 1); 793 break; 794 case 38: 795 "day" == t && (a -= 7), "month" == t && (o -= 3), "year" == t && (i -= 4); 796 break; 797 case 39: 798 "day" == t && (a += 1), "month" == t && (o += 1), "year" == t && (i += 1); 799 break; 800 case 40: 801 "day" == t && (a += 7), "month" == t && (o += 3), "year" == t && (i += 4); 802 } 803 var r = new Date(i, o, a); 804 r.getTime() < this.minTime ? (r = this.minDate) : r.getTime() > this.maxTime && (r = this.maxDate), (this.focused = r); 805 } 806 }, 807 _getFocusedDate: function () { 808 var e = this.focused || this.selectedDates[this.selectedDates.length - 1], 809 t = this.parsedDate; 810 if (!e) 811 switch (this.view) { 812 case "days": 813 e = new Date(t.year, t.month, new Date().getDate()); 814 break; 815 case "months": 816 e = new Date(t.year, t.month, 1); 817 break; 818 case "years": 819 e = new Date(t.year, 0, 1); 820 } 821 return e; 822 }, 823 _getCell: function (e, t) { 824 t = t || this.cellType; 825 var n, 826 i = s.getParsedDate(e), 827 o = '.datepicker--cell[data-year="' + i.year + '"]'; 828 switch (t) { 829 case "month": 830 o = '[data-month="' + i.month + '"]'; 831 break; 832 case "day": 833 o += '[data-month="' + i.month + '"][data-date="' + i.date + '"]'; 834 } 835 return (n = this.views[this.currentView].$el.find(o)).length ? n : $(""); 836 }, 837 destroy: function () { 838 this.$el.off(".adp").data("datepicker", ""), 839 (this.selectedDates = []), 840 (this.focused = ""), 841 (this.views = {}), 842 (this.keys = []), 843 (this.minRange = ""), 844 (this.maxRange = ""), 845 this.opts.inline || !this.elIsInput ? this.$datepicker.closest(".datepicker-inline").remove() : this.$datepicker.remove(); 846 }, 847 _handleAlreadySelectedDates: function (e, t) { 848 this.opts.range ? (this.opts.toggleSelected ? this.removeDate(t) : 2 != this.selectedDates.length && this._trigger("clickCell", t)) : this.opts.toggleSelected && this.removeDate(t), 849 this.opts.toggleSelected || ((this.lastSelectedDate = e), this.opts.timepicker && (this.timepicker._setTime(e), this.timepicker.update())); 850 }, 851 _onShowEvent: function (e) { 852 this.visible || this.show(); 853 }, 854 _onBlur: function () { 855 !this.inFocus && this.visible && this.hide(); 856 }, 857 _onMouseDownDatepicker: function (e) { 858 this.inFocus = !0; 859 }, 860 _onMouseUpDatepicker: function (e) { 861 (this.inFocus = !1), (e.originalEvent.inFocus = !0), e.originalEvent.timepickerFocus || this.$el.focus(); 862 }, 863 _onKeyUpGeneral: function (e) { 864 this.$el.val() || this.clear(); 865 }, 866 _onResize: function () { 867 this.visible && this.setPosition(); 868 }, 869 _onMouseUpBody: function (e) { 870 e.originalEvent.inFocus || (this.visible && !this.inFocus && this.hide()); 871 }, 872 _onMouseUpEl: function (e) { 873 (e.originalEvent.inFocus = !0), setTimeout(this._onKeyUpGeneral.bind(this), 4); 874 }, 875 _onKeyDown: function (e) { 876 var t = e.which; 877 if ((this._registerKey(t), t >= 37 && t <= 40 && (e.preventDefault(), this._focusNextCell(t)), 13 == t && this.focused)) { 878 if (this._getCell(this.focused).hasClass("-disabled-")) return; 879 if (this.view != this.opts.minView) this.down(); 880 else { 881 var n = this._isSelected(this.focused, this.cellType); 882 if (!n) return this.timepicker && (this.focused.setHours(this.timepicker.hours), this.focused.setMinutes(this.timepicker.minutes)), void this.selectDate(this.focused); 883 this._handleAlreadySelectedDates(n, this.focused); 884 } 885 } 886 27 == t && this.hide(); 887 }, 888 _onKeyUp: function (e) { 889 var t = e.which; 890 this._unRegisterKey(t); 891 }, 892 _onHotKey: function (e, t) { 893 this._handleHotKey(t); 894 }, 895 _onMouseEnterCell: function (e) { 896 var t = $(e.target).closest(".datepicker--cell"), 897 n = this._getDateFromCell(t); 898 (this.silent = !0), 899 this.focused && (this.focused = ""), 900 t.addClass("-focus-"), 901 (this.focused = n), 902 (this.silent = !1), 903 this.opts.range && 904 1 == this.selectedDates.length && 905 ((this.minRange = this.selectedDates[0]), (this.maxRange = ""), s.less(this.minRange, this.focused) && ((this.maxRange = this.minRange), (this.minRange = "")), this.views[this.currentView]._update()); 906 }, 907 _onMouseLeaveCell: function (e) { 908 $(e.target).closest(".datepicker--cell").removeClass("-focus-"), (this.silent = !0), (this.focused = ""), (this.silent = !1); 909 }, 910 _onTimeChange: function (e, t, n) { 911 var i = new Date(), 912 s = !1; 913 this.selectedDates.length && ((s = !0), (i = this.lastSelectedDate)), 914 i.setHours(t), 915 i.setMinutes(n), 916 s || this._getCell(i).hasClass("-disabled-") ? (this._setInputValue(), this.opts.onSelect && this._triggerOnChange()) : this.selectDate(i); 917 }, 918 _onClickCell: function (e, t) { 919 this.timepicker && (t.setHours(this.timepicker.hours), t.setMinutes(this.timepicker.minutes)), this.selectDate(t); 920 }, 921 set focused(e) { 922 if (!e && this.focused) { 923 var t = this._getCell(this.focused); 924 t.length && t.removeClass("-focus-"); 925 } 926 (this._focused = e), 927 this.opts.range && 928 1 == this.selectedDates.length && 929 ((this.minRange = this.selectedDates[0]), (this.maxRange = ""), s.less(this.minRange, this._focused) && ((this.maxRange = this.minRange), (this.minRange = ""))), 930 this.silent || (this.date = e); 931 }, 932 get focused() { 933 return this._focused; 934 }, 935 get parsedDate() { 936 return s.getParsedDate(this.date); 937 }, 938 set date(e) { 939 if (e instanceof Date) return (this.currentDate = e), this.inited && !this.silent && (this.views[this.view]._render(), this.nav._render(), this.visible && this.elIsInput && this.setPosition()), e; 940 }, 941 get date() { 942 return this.currentDate; 943 }, 944 set view(e) { 945 if (((this.viewIndex = this.viewIndexes.indexOf(e)), !(this.viewIndex < 0))) 946 return ( 947 (this.prevView = this.currentView), 948 (this.currentView = e), 949 this.inited && 950 (this.views[e] ? this.views[e]._render() : (this.views[e] = new $.fn.datepicker.Body(this, e, this.opts)), 951 this.views[this.prevView].hide(), 952 this.views[e].show(), 953 this.nav._render(), 954 this.opts.onChangeView && this.opts.onChangeView(e), 955 this.elIsInput && this.visible && this.setPosition()), 956 e 957 ); 958 }, 959 get view() { 960 return this.currentView; 961 }, 962 get cellType() { 963 return this.view.substring(0, this.view.length - 1); 964 }, 965 get minTime() { 966 var e = s.getParsedDate(this.minDate); 967 return new Date(e.year, e.month, e.date).getTime(); 968 }, 969 get maxTime() { 970 var e = s.getParsedDate(this.maxDate); 971 return new Date(e.year, e.month, e.date).getTime(); 972 }, 973 get curDecade() { 974 return s.getDecade(this.date); 975 }, 976 }), 977 (s.getDaysCount = function (e) { 978 return new Date(e.getFullYear(), e.getMonth() + 1, 0).getDate(); 979 }), 980 (s.getParsedDate = function (e) { 981 return { 982 year: e.getFullYear(), 983 month: e.getMonth(), 984 fullMonth: e.getMonth() + 1 < 10 ? "0" + (e.getMonth() + 1) : e.getMonth() + 1, 985 date: e.getDate(), 986 fullDate: e.getDate() < 10 ? "0" + e.getDate() : e.getDate(), 987 day: e.getDay(), 988 hours: e.getHours(), 989 fullHours: e.getHours() < 10 ? "0" + e.getHours() : e.getHours(), 990 minutes: e.getMinutes(), 991 fullMinutes: e.getMinutes() < 10 ? "0" + e.getMinutes() : e.getMinutes(), 992 }; 993 }), 994 (s.getDecade = function (e) { 995 var t = 10 * Math.floor(e.getFullYear() / 10); 996 return [t, t + 9]; 997 }), 998 (s.template = function (e, t) { 999 return e.replace(/#\{([\w]+)\}/g, function (e, n) { 1000 if (t[n] || 0 === t[n]) return t[n]; 1001 }); 1002 }), 1003 (s.isSame = function (e, t, n) { 1004 if (!e || !t) return !1; 1005 var i = s.getParsedDate(e), 1006 o = s.getParsedDate(t), 1007 a = n || "day"; 1008 return { day: i.date == o.date && i.month == o.month && i.year == o.year, month: i.month == o.month && i.year == o.year, year: i.year == o.year }[a]; 1009 }), 1010 (s.less = function (e, t, n) { 1011 return !(!e || !t) && t.getTime() < e.getTime(); 1012 }), 1013 (s.bigger = function (e, t, n) { 1014 return !(!e || !t) && t.getTime() > e.getTime(); 1015 }), 1016 (s.getLeadingZeroNum = function (e) { 1017 return parseInt(e) < 10 ? "0" + e : e; 1018 }), 1019 (s.resetTime = function (e) { 1020 if ("object" == typeof e) return (e = s.getParsedDate(e)), new Date(e.year, e.month, e.date); 1021 }), 1022 ($.fn.datepicker = function (e) { 1023 return this.each(function () { 1024 if ($.data(this, "datepicker")) { 1025 var t = $.data(this, "datepicker"); 1026 (t.opts = $.extend(!0, t.opts, e)), t.update(); 1027 } else $.data(this, "datepicker", new c(this, e)); 1028 }); 1029 }), 1030 ($.fn.datepicker.Constructor = c), 1031 ($.fn.datepicker.language = { 1032 ru: { 1033 days: ["ÐоÑкÑеÑенÑе", "ÐонеделÑник", "ÐÑоÑник", "СÑеда", "ЧеÑвеÑг", "ÐÑÑниÑа", "СÑббоÑа"], 1034 daysShort: ["ÐоÑ", "Ðон", "ÐÑо", "СÑе", "ЧеÑ", "ÐÑÑ", "СÑб"], 1035 daysMin: ["ÐÑ", "Ðн", "ÐÑ", "СÑ", "ЧÑ", "ÐÑ", "Сб"], 1036 months: ["ЯнваÑÑ", "ФевÑалÑ", "ÐаÑÑ", "ÐпÑелÑ", "Ðай", "ÐÑнÑ", "ÐÑлÑ", "ÐвгÑÑÑ", "СенÑÑбÑÑ", "ÐкÑÑбÑÑ", "ÐоÑбÑÑ", "ÐекабÑÑ"], 1037 monthsShort: ["Янв", "Фев", "ÐаÑ", "ÐпÑ", "Ðай", "ÐÑн", "ÐÑл", "Ðвг", "Сен", "ÐкÑ", "ÐоÑ", "Ðек"], 1038 today: "СегоднÑ", 1039 clear: "ÐÑиÑÑиÑÑ", 1040 dateFormat: "dd.mm.yyyy", 1041 timeFormat: "hh:ii", 1042 firstDay: 1, 1043 }, 1044 }), 1045 $(function () { 1046 $(".datepicker-here").datepicker(); 1047 }); 1048 }, 1049
vendor: 5,060 bytes, lines 1049-1129
1049"../node_modules/air-datepicker/src/js/navigation.js": 1050 /*!***********************************************************!*\ 1051!*** ../node_modules/air-datepicker/src/js/navigation.js ***! 1052\***********************************************************/ 1053 /*! no static exports found */ function (e, t) { 1054 var n, i; 1055 (n = $.fn.datepicker), 1056 (i = n.Constructor), 1057 (n.Navigation = function (e, t) { 1058 (this.d = e), (this.opts = t), (this.$buttonsContainer = ""), this.init(); 1059 }), 1060 (n.Navigation.prototype = { 1061 init: function () { 1062 this._buildBaseHtml(), this._bindEvents(); 1063 }, 1064 _bindEvents: function () { 1065 this.d.$nav.on("click", ".datepicker--nav-action", $.proxy(this._onClickNavButton, this)), 1066 this.d.$nav.on("click", ".datepicker--nav-title", $.proxy(this._onClickNavTitle, this)), 1067 this.d.$datepicker.on("click", ".datepicker--button", $.proxy(this._onClickNavButton, this)); 1068 }, 1069 _buildBaseHtml: function () { 1070 this.opts.onlyTimepicker || this._render(), this._addButtonsIfNeed(); 1071 }, 1072 _addButtonsIfNeed: function () { 1073 this.opts.todayButton && this._addButton("today"), this.opts.clearButton && this._addButton("clear"); 1074 }, 1075 _render: function () { 1076 var e = this._getTitle(this.d.currentDate), 1077 t = i.template( 1078 '<div class="datepicker--nav-action" data-action="prev">#{prevHtml}</div><div class="datepicker--nav-title">#{title}</div><div class="datepicker--nav-action" data-action="next">#{nextHtml}</div>', 1079 $.extend({ title: e }, this.opts) 1080 ); 1081 this.d.$nav.html(t), "years" == this.d.view && $(".datepicker--nav-title", this.d.$nav).addClass("-disabled-"), this.setNavStatus(); 1082 }, 1083 _getTitle: function (e) { 1084 return this.d.formatDate(this.opts.navTitles[this.d.view], e); 1085 }, 1086 _addButton: function (e) { 1087 this.$buttonsContainer.length || this._addButtonsContainer(); 1088 var t = { action: e, label: this.d.loc[e] }, 1089 n = i.template('<span class="datepicker--button" data-action="#{action}">#{label}</span>', t); 1090 $("[data-action=" + e + "]", this.$buttonsContainer).length || this.$buttonsContainer.append(n); 1091 }, 1092 _addButtonsContainer: function () { 1093 this.d.$datepicker.append('<div class="datepicker--buttons"></div>'), (this.$buttonsContainer = $(".datepicker--buttons", this.d.$datepicker)); 1094 }, 1095 setNavStatus: function () { 1096 if ((this.opts.minDate || this.opts.maxDate) && this.opts.disableNavWhenOutOfRange) { 1097 var e = this.d.parsedDate, 1098 t = e.month, 1099 n = e.year, 1100 s = e.date; 1101 switch (this.d.view) { 1102 case "days": 1103 this.d._isInRange(new Date(n, t - 1, 1), "month") || this._disableNav("prev"), this.d._isInRange(new Date(n, t + 1, 1), "month") || this._disableNav("next"); 1104 break; 1105 case "months": 1106 this.d._isInRange(new Date(n - 1, t, s), "year") || this._disableNav("prev"), this.d._isInRange(new Date(n + 1, t, s), "year") || this._disableNav("next"); 1107 break; 1108 case "years": 1109 var o = i.getDecade(this.d.date); 1110 this.d._isInRange(new Date(o[0] - 1, 0, 1), "year") || this._disableNav("prev"), this.d._isInRange(new Date(o[1] + 1, 0, 1), "year") || this._disableNav("next"); 1111 } 1112 } 1113 }, 1114 _disableNav: function (e) { 1115 $('[data-action="' + e + '"]', this.d.$nav).addClass("-disabled-"); 1116 }, 1117 _activateNav: function (e) { 1118 $('[data-action="' + e + '"]', this.d.$nav).removeClass("-disabled-"); 1119 }, 1120 _onClickNavButton: function (e) { 1121 var t = $(e.target).closest("[data-action]").data("action"); 1122 this.d[t](); 1123 }, 1124 _onClickNavTitle: function (e) { 1125 if (!$(e.target).hasClass("-disabled-")) return "days" == this.d.view ? (this.d.view = "months") : void (this.d.view = "years"); 1126 }, 1127 }); 1128 }, 1129
vendor: 8,598 bytes, lines 1129-1260
1129"../node_modules/air-datepicker/src/js/timepicker.js": 1130 /*!***********************************************************!*\ 1131!*** ../node_modules/air-datepicker/src/js/timepicker.js ***! 1132\***********************************************************/ 1133 /*! no static exports found */ function (e, t) { 1134 var n, i; 1135 (n = $.fn.datepicker), 1136 (i = n.Constructor), 1137 (n.Timepicker = function (e, t) { 1138 (this.d = e), (this.opts = t), this.init(); 1139 }), 1140 (n.Timepicker.prototype = { 1141 init: function () { 1142 var e = "input"; 1143 this._setTime(this.d.date), 1144 this._buildHTML(), 1145 navigator.userAgent.match(/trident/gi) && (e = "change"), 1146 this.d.$el.on("selectDate", this._onSelectDate.bind(this)), 1147 this.$ranges.on(e, this._onChangeRange.bind(this)), 1148 this.$ranges.on("mouseup", this._onMouseUpRange.bind(this)), 1149 this.$ranges.on("mousemove focus ", this._onMouseEnterRange.bind(this)), 1150 this.$ranges.on("mouseout blur", this._onMouseOutRange.bind(this)); 1151 }, 1152 _setTime: function (e) { 1153 var t = i.getParsedDate(e); 1154 this._handleDate(e), (this.hours = t.hours < this.minHours ? this.minHours : t.hours), (this.minutes = t.minutes < this.minMinutes ? this.minMinutes : t.minutes); 1155 }, 1156 _setMinTimeFromDate: function (e) { 1157 (this.minHours = e.getHours()), (this.minMinutes = e.getMinutes()), this.d.lastSelectedDate && this.d.lastSelectedDate.getHours() > e.getHours() && (this.minMinutes = this.opts.minMinutes); 1158 }, 1159 _setMaxTimeFromDate: function (e) { 1160 (this.maxHours = e.getHours()), (this.maxMinutes = e.getMinutes()), this.d.lastSelectedDate && this.d.lastSelectedDate.getHours() < e.getHours() && (this.maxMinutes = this.opts.maxMinutes); 1161 }, 1162 _setDefaultMinMaxTime: function () { 1163 var e = this.opts; 1164 (this.minHours = e.minHours < 0 || e.minHours > 23 ? 0 : e.minHours), 1165 (this.minMinutes = e.minMinutes < 0 || e.minMinutes > 59 ? 0 : e.minMinutes), 1166 (this.maxHours = e.maxHours < 0 || e.maxHours > 23 ? 23 : e.maxHours), 1167 (this.maxMinutes = e.maxMinutes < 0 || e.maxMinutes > 59 ? 59 : e.maxMinutes); 1168 }, 1169 _validateHoursMinutes: function (e) { 1170 this.hours < this.minHours ? (this.hours = this.minHours) : this.hours > this.maxHours && (this.hours = this.maxHours), 1171 this.minutes < this.minMinutes ? (this.minutes = this.minMinutes) : this.minutes > this.maxMinutes && (this.minutes = this.maxMinutes); 1172 }, 1173 _buildHTML: function () { 1174 var e = i.getLeadingZeroNum, 1175 t = { 1176 hourMin: this.minHours, 1177 hourMax: e(this.maxHours), 1178 hourStep: this.opts.hoursStep, 1179 hourValue: this.hours, 1180 hourVisible: e(this.displayHours), 1181 minMin: this.minMinutes, 1182 minMax: e(this.maxMinutes), 1183 minStep: this.opts.minutesStep, 1184 minValue: e(this.minutes), 1185 }, 1186 n = i.template( 1187 '<div class="datepicker--time"><div class="datepicker--time-current"> <span class="datepicker--time-current-hours">#{hourVisible}</span> <span class="datepicker--time-current-colon">:</span> <span class="datepicker--time-current-minutes">#{minValue}</span></div><div class="datepicker--time-sliders"> <div class="datepicker--time-row"> <input type="range" name="hours" value="#{hourValue}" min="#{hourMin}" max="#{hourMax}" step="#{hourStep}"/> </div> <div class="datepicker--time-row"> <input type="range" name="minutes" value="#{minValue}" min="#{minMin}" max="#{minMax}" step="#{minStep}"/> </div></div></div>', 1188 t 1189 ); 1190 (this.$timepicker = $(n).appendTo(this.d.$datepicker)), 1191 (this.$ranges = $('[type="range"]', this.$timepicker)), 1192 (this.$hours = $('[name="hours"]', this.$timepicker)), 1193 (this.$minutes = $('[name="minutes"]', this.$timepicker)), 1194 (this.$hoursText = $(".datepicker--time-current-hours", this.$timepicker)), 1195 (this.$minutesText = $(".datepicker--time-current-minutes", this.$timepicker)), 1196 this.d.ampm && ((this.$ampm = $('<span class="datepicker--time-current-ampm">').appendTo($(".datepicker--time-current", this.$timepicker)).html(this.dayPeriod)), this.$timepicker.addClass("-am-pm-")); 1197 }, 1198 _updateCurrentTime: function () { 1199 var e = i.getLeadingZeroNum(this.displayHours), 1200 t = i.getLeadingZeroNum(this.minutes); 1201 this.$hoursText.html(e), this.$minutesText.html(t), this.d.ampm && this.$ampm.html(this.dayPeriod); 1202 }, 1203 _updateRanges: function () { 1204 this.$hours.attr({ min: this.minHours, max: this.maxHours }).val(this.hours), this.$minutes.attr({ min: this.minMinutes, max: this.maxMinutes }).val(this.minutes); 1205 }, 1206 _handleDate: function (e) { 1207 this._setDefaultMinMaxTime(), 1208 e && (i.isSame(e, this.d.opts.minDate) ? this._setMinTimeFromDate(this.d.opts.minDate) : i.isSame(e, this.d.opts.maxDate) && this._setMaxTimeFromDate(this.d.opts.maxDate)), 1209 this._validateHoursMinutes(e); 1210 }, 1211 update: function () { 1212 this._updateRanges(), this._updateCurrentTime(); 1213 }, 1214 _getValidHoursFromDate: function (e, t) { 1215 var n = e; 1216 e instanceof Date && (n = i.getParsedDate(e).hours); 1217 var s = "am"; 1218 if (t || this.d.ampm) 1219 switch (!0) { 1220 case 0 == n: 1221 n = 12; 1222 break; 1223 case 12 == n: 1224 s = "pm"; 1225 break; 1226 case n > 11: 1227 (n -= 12), (s = "pm"); 1228 } 1229 return { hours: n, dayPeriod: s }; 1230 }, 1231 set hours(e) { 1232 this._hours = e; 1233 var t = this._getValidHoursFromDate(e); 1234 (this.displayHours = t.hours), (this.dayPeriod = t.dayPeriod); 1235 }, 1236 get hours() { 1237 return this._hours; 1238 }, 1239 _onChangeRange: function (e) { 1240 var t = $(e.target), 1241 n = t.attr("name"); 1242 (this.d.timepickerIsActive = !0), (this[n] = t.val()), this._updateCurrentTime(), this.d._trigger("timeChange", [this.hours, this.minutes]), this._handleDate(this.d.lastSelectedDate), this.update(); 1243 }, 1244 _onSelectDate: function (e, t) { 1245 this._handleDate(t), this.update(); 1246 }, 1247 _onMouseEnterRange: function (e) { 1248 var t = $(e.target).attr("name"); 1249 $(".datepicker--time-current-" + t, this.$timepicker).addClass("-focus-"); 1250 }, 1251 _onMouseOutRange: function (e) { 1252 var t = $(e.target).attr("name"); 1253 this.d.inFocus || $(".datepicker--time-current-" + t, this.$timepicker).removeClass("-focus-"); 1254 }, 1255 _onMouseUpRange: function (e) { 1256 this.d.timepickerIsActive = !1; 1257 }, 1258 }); 1259 }, 1260
vendor: 163,359 bytes, lines 1260-4238
1260"../node_modules/bootstrap/dist/js/bootstrap.bundle.js": 1261 /*!*************************************************************!*\ 1262!*** ../node_modules/bootstrap/dist/js/bootstrap.bundle.js ***! 1263\*************************************************************/ 1264 /*! no static exports found */ function (e, t, n) { 1265 /*! 1266 * Bootstrap v5.0.2 (https://getbootstrap.com/) 1267 * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) 1268 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 1269 */ 1270 e.exports = (function () { 1271 "use strict"; 1272 const e = { 1273 find: (e, t = document.documentElement) => [].concat(...Element.prototype.querySelectorAll.call(t, e)), 1274 findOne: (e, t = document.documentElement) => Element.prototype.querySelector.call(t, e), 1275 children: (e, t) => [].concat(...e.children).filter((e) => e.matches(t)), 1276 parents(e, t) { 1277 const n = []; 1278 let i = e.parentNode; 1279 for (; i && i.nodeType === Node.ELEMENT_NODE && 3 !== i.nodeType; ) i.matches(t) && n.push(i), (i = i.parentNode); 1280 return n; 1281 }, 1282 prev(e, t) { 1283 let n = e.previousElementSibling; 1284 for (; n; ) { 1285 if (n.matches(t)) return [n]; 1286 n = n.previousElementSibling; 1287 } 1288 return []; 1289 }, 1290 next(e, t) { 1291 let n = e.nextElementSibling; 1292 for (; n; ) { 1293 if (n.matches(t)) return [n]; 1294 n = n.nextElementSibling; 1295 } 1296 return []; 1297 }, 1298 }, 1299 t = (e) => { 1300 do { 1301 e += Math.floor(1e6 * Math.random()); 1302 } while (document.getElementById(e)); 1303 return e; 1304 }, 1305 n = (e) => { 1306 let t = e.getAttribute("data-bs-target"); 1307 if (!t || "#" === t) { 1308 let n = e.getAttribute("href"); 1309 if (!n || (!n.includes("#") && !n.startsWith("."))) return null; 1310 n.includes("#") && !n.startsWith("#") && (n = "#" + n.split("#")[1]), (t = n && "#" !== n ? n.trim() : null); 1311 } 1312 return t; 1313 }, 1314 i = (e) => { 1315 const t = n(e); 1316 return t && document.querySelector(t) ? t : null; 1317 }, 1318 s = (e) => { 1319 const t = n(e); 1320 return t ? document.querySelector(t) : null; 1321 }, 1322 o = (e) => { 1323 e.dispatchEvent(new Event("transitionend")); 1324 }, 1325 a = (e) => !(!e || "object" != typeof e) && (void 0 !== e.jquery && (e = e[0]), void 0 !== e.nodeType), 1326 r = (t) => (a(t) ? (t.jquery ? t[0] : t) : "string" == typeof t && t.length > 0 ? e.findOne(t) : null), 1327 c = (e, t, n) => { 1328 Object.keys(n).forEach((i) => { 1329 const s = n[i], 1330 o = t[i], 1331 r = 1332 o && a(o) 1333 ? "element" 1334 : null == (c = o) 1335 ? "" + c 1336 : {}.toString 1337 .call(c) 1338 .match(/\s([a-z]+)/i)[1] 1339 .toLowerCase(); 1340 var c; 1341 if (!new RegExp(s).test(r)) throw new TypeError(`${e.toUpperCase()}: Option "${i}" provided type "${r}" but expected type "${s}".`); 1342 }); 1343 }, 1344 l = (e) => !(!a(e) || 0 === e.getClientRects().length) && "visible" === getComputedStyle(e).getPropertyValue("visibility"), 1345 d = (e) => !e || e.nodeType !== Node.ELEMENT_NODE || !!e.classList.contains("disabled") || (void 0 !== e.disabled ? e.disabled : e.hasAttribute("disabled") && "false" !== e.getAttribute("disabled")), 1346 h = (e) => { 1347 if (!document.documentElement.attachShadow) return null; 1348 if ("function" == typeof e.getRootNode) { 1349 const t = e.getRootNode(); 1350 return t instanceof ShadowRoot ? t : null; 1351 } 1352 return e instanceof ShadowRoot ? e : e.parentNode ? h(e.parentNode) : null; 1353 }, 1354 u = () => {}, 1355 p = (e) => e.offsetHeight, 1356 f = () => { 1357 const { jQuery: e } = window; 1358 return e && !document.body.hasAttribute("data-bs-no-jquery") ? e : null; 1359 }, 1360 m = [], 1361 g = () => "rtl" === document.documentElement.dir, 1362 v = (e) => { 1363 var t; 1364 (t = () => { 1365 const t = f(); 1366 if (t) { 1367 const n = e.NAME, 1368 i = t.fn[n]; 1369 (t.fn[n] = e.jQueryInterface), (t.fn[n].Constructor = e), (t.fn[n].noConflict = () => ((t.fn[n] = i), e.jQueryInterface)); 1370 } 1371 }), 1372 "loading" === document.readyState 1373 ? (m.length || 1374 document.addEventListener("DOMContentLoaded", () => { 1375 m.forEach((e) => e()); 1376 }), 1377 m.push(t)) 1378 : t(); 1379 }, 1380 b = (e) => { 1381 "function" == typeof e && e(); 1382 }, 1383 y = (e, t, n = !0) => { 1384 if (!n) return void b(e); 1385 const i = 1386 ((e) => { 1387 if (!e) return 0; 1388 let { transitionDuration: t, transitionDelay: n } = window.getComputedStyle(e); 1389 const i = Number.parseFloat(t), 1390 s = Number.parseFloat(n); 1391 return i || s ? ((t = t.split(",")[0]), (n = n.split(",")[0]), 1e3 * (Number.parseFloat(t) + Number.parseFloat(n))) : 0; 1392 })(t) + 5; 1393 let s = !1; 1394 const a = ({ target: n }) => { 1395 n === t && ((s = !0), t.removeEventListener("transitionend", a), b(e)); 1396 }; 1397 t.addEventListener("transitionend", a), 1398 setTimeout(() => { 1399 s || o(t); 1400 }, i); 1401 }, 1402 _ = (e, t, n, i) => { 1403 let s = e.indexOf(t); 1404 if (-1 === s) return e[!n && i ? e.length - 1 : 0]; 1405 const o = e.length; 1406 return (s += n ? 1 : -1), i && (s = (s + o) % o), e[Math.max(0, Math.min(s, o - 1))]; 1407 }, 1408 w = /[^.]*(?=\..*)\.|.*/, 1409 x = /\..*/, 1410 E = /::\d+$/, 1411 k = {}; 1412 let S = 1; 1413 const C = { mouseenter: "mouseover", mouseleave: "mouseout" }, 1414 L = /^(mouseenter|mouseleave)/i, 1415 T = new Set([ 1416 "click", 1417 "dblclick", 1418 "mouseup", 1419 "mousedown", 1420 "contextmenu", 1421 "mousewheel", 1422 "DOMMouseScroll", 1423 "mouseover", 1424 "mouseout", 1425 "mousemove", 1426 "selectstart", 1427 "selectend", 1428 "keydown", 1429 "keypress", 1430 "keyup", 1431 "orientationchange", 1432 "touchstart", 1433 "touchmove", 1434 "touchend", 1435 "touchcancel", 1436 "pointerdown", 1437 "pointermove", 1438 "pointerup", 1439 "pointerleave", 1440 "pointercancel", 1441 "gesturestart", 1442 "gesturechange", 1443 "gestureend", 1444 "focus", 1445 "blur", 1446 "change", 1447 "reset", 1448 "select", 1449 "submit", 1450 "focusin", 1451 "focusout", 1452 "load", 1453 "unload", 1454 "beforeunload", 1455 "resize", 1456 "move", 1457 "DOMContentLoaded", 1458 "readystatechange", 1459 "error", 1460 "abort", 1461 "scroll", 1462 ]); 1463 function D(e, t) { 1464 return (t && `${t}::${S++}`) || e.uidEvent || S++; 1465 } 1466 function A(e) { 1467 const t = D(e); 1468 return (e.uidEvent = t), (k[t] = k[t] || {}), k[t]; 1469 } 1470 function P(e, t, n = null) { 1471 const i = Object.keys(e); 1472 for (let s = 0, o = i.length; s < o; s++) { 1473 const o = e[i[s]]; 1474 if (o.originalHandler === t && o.delegationSelector === n) return o; 1475 } 1476 return null; 1477 } 1478 function $(e, t, n) { 1479 const i = "string" == typeof t, 1480 s = i ? n : t; 1481 let o = I(e); 1482 return T.has(o) || (o = e), [i, s, o]; 1483 } 1484 function O(e, t, n, i, s) { 1485 if ("string" != typeof t || !e) return; 1486 if ((n || ((n = i), (i = null)), L.test(t))) { 1487 const e = (e) => 1488 function (t) { 1489 if (!t.relatedTarget || (t.relatedTarget !== t.delegateTarget && !t.delegateTarget.contains(t.relatedTarget))) return e.call(this, t); 1490 }; 1491 i ? (i = e(i)) : (n = e(n)); 1492 } 1493 const [o, a, r] = $(t, n, i), 1494 c = A(e), 1495 l = c[r] || (c[r] = {}), 1496 d = P(l, a, o ? n : null); 1497 if (d) return void (d.oneOff = d.oneOff && s); 1498 const h = D(a, t.replace(w, "")), 1499 u = o 1500 ? (function (e, t, n) { 1501 return function i(s) { 1502 const o = e.querySelectorAll(t); 1503 for (let { target: a } = s; a && a !== this; a = a.parentNode) for (let r = o.length; r--; ) if (o[r] === a) return (s.delegateTarget = a), i.oneOff && H.off(e, s.type, t, n), n.apply(a, [s]); 1504 return null; 1505 }; 1506 })(e, n, i) 1507 : (function (e, t) { 1508 return function n(i) { 1509 return (i.delegateTarget = e), n.oneOff && H.off(e, i.type, t), t.apply(e, [i]); 1510 }; 1511 })(e, n); 1512 (u.delegationSelector = o ? n : null), (u.originalHandler = a), (u.oneOff = s), (u.uidEvent = h), (l[h] = u), e.addEventListener(r, u, o); 1513 } 1514 function M(e, t, n, i, s) { 1515 const o = P(t[n], i, s); 1516 o && (e.removeEventListener(n, o, Boolean(s)), delete t[n][o.uidEvent]); 1517 } 1518 function I(e) { 1519 return (e = e.replace(x, "")), C[e] || e; 1520 } 1521 const H = { 1522 on(e, t, n, i) { 1523 O(e, t, n, i, !1); 1524 }, 1525 one(e, t, n, i) { 1526 O(e, t, n, i, !0); 1527 }, 1528 off(e, t, n, i) { 1529 if ("string" != typeof t || !e) return; 1530 const [s, o, a] = $(t, n, i), 1531 r = a !== t, 1532 c = A(e), 1533 l = t.startsWith("."); 1534 if (void 0 !== o) { 1535 if (!c || !c[a]) return; 1536 return void M(e, c, a, o, s ? n : null); 1537 } 1538 l && 1539 Object.keys(c).forEach((n) => { 1540 !(function (e, t, n, i) { 1541 const s = t[n] || {}; 1542 Object.keys(s).forEach((o) => { 1543 if (o.includes(i)) { 1544 const i = s[o]; 1545 M(e, t, n, i.originalHandler, i.delegationSelector); 1546 } 1547 }); 1548 })(e, c, n, t.slice(1)); 1549 }); 1550 const d = c[a] || {}; 1551 Object.keys(d).forEach((n) => { 1552 const i = n.replace(E, ""); 1553 if (!r || t.includes(i)) { 1554 const t = d[n]; 1555 M(e, c, a, t.originalHandler, t.delegationSelector); 1556 } 1557 }); 1558 }, 1559 trigger(e, t, n) { 1560 if ("string" != typeof t || !e) return null; 1561 const i = f(), 1562 s = I(t), 1563 o = t !== s, 1564 a = T.has(s); 1565 let r, 1566 c = !0, 1567 l = !0, 1568 d = !1, 1569 h = null; 1570 return ( 1571 o && i && ((r = i.Event(t, n)), i(e).trigger(r), (c = !r.isPropagationStopped()), (l = !r.isImmediatePropagationStopped()), (d = r.isDefaultPrevented())), 1572 a ? ((h = document.createEvent("HTMLEvents")), h.initEvent(s, c, !0)) : (h = new CustomEvent(t, { bubbles: c, cancelable: !0 })), 1573 void 0 !== n && 1574 Object.keys(n).forEach((e) => { 1575 Object.defineProperty(h, e, { get: () => n[e] }); 1576 }), 1577 d && h.preventDefault(), 1578 l && e.dispatchEvent(h), 1579 h.defaultPrevented && void 0 !== r && r.preventDefault(), 1580 h 1581 ); 1582 }, 1583 }, 1584 j = new Map(); 1585 var N = { 1586 set(e, t, n) { 1587 j.has(e) || j.set(e, new Map()); 1588 const i = j.get(e); 1589 i.has(t) || 0 === i.size ? i.set(t, n) : console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(i.keys())[0]}.`); 1590 }, 1591 get: (e, t) => (j.has(e) && j.get(e).get(t)) || null, 1592 remove(e, t) { 1593 if (!j.has(e)) return; 1594 const n = j.get(e); 1595 n.delete(t), 0 === n.size && j.delete(e); 1596 }, 1597 }; 1598 class B { 1599 constructor(e) { 1600 (e = r(e)) && ((this._element = e), N.set(this._element, this.constructor.DATA_KEY, this)); 1601 } 1602 dispose() { 1603 N.remove(this._element, this.constructor.DATA_KEY), 1604 H.off(this._element, this.constructor.EVENT_KEY), 1605 Object.getOwnPropertyNames(this).forEach((e) => { 1606 this[e] = null; 1607 }); 1608 } 1609 _queueCallback(e, t, n = !0) { 1610 y(e, t, n); 1611 } 1612 static getInstance(e) { 1613 return N.get(e, this.DATA_KEY); 1614 } 1615 static getOrCreateInstance(e, t = {}) { 1616 return this.getInstance(e) || new this(e, "object" == typeof t ? t : null); 1617 } 1618 static get VERSION() { 1619 return "5.0.2"; 1620 } 1621 static get NAME() { 1622 throw new Error('You have to implement the static method "NAME", for each component!'); 1623 } 1624 static get DATA_KEY() { 1625 return "bs." + this.NAME; 1626 } 1627 static get EVENT_KEY() { 1628 return "." + this.DATA_KEY; 1629 } 1630 } 1631 class F extends B { 1632 static get NAME() { 1633 return "alert"; 1634 } 1635 close(e) { 1636 const t = e ? this._getRootElement(e) : this._element, 1637 n = this._triggerCloseEvent(t); 1638 null === n || n.defaultPrevented || this._removeElement(t); 1639 } 1640 _getRootElement(e) { 1641 return s(e) || e.closest(".alert"); 1642 } 1643 _triggerCloseEvent(e) { 1644 return H.trigger(e, "close.bs.alert"); 1645 } 1646 _removeElement(e) { 1647 e.classList.remove("show"); 1648 const t = e.classList.contains("fade"); 1649 this._queueCallback(() => this._destroyElement(e), e, t); 1650 } 1651 _destroyElement(e) { 1652 e.remove(), H.trigger(e, "closed.bs.alert"); 1653 } 1654 static jQueryInterface(e) { 1655 return this.each(function () { 1656 const t = F.getOrCreateInstance(this); 1657 "close" === e && t[e](this); 1658 }); 1659 } 1660 static handleDismiss(e) { 1661 return function (t) { 1662 t && t.preventDefault(), e.close(this); 1663 }; 1664 } 1665 } 1666 H.on(document, "click.bs.alert.data-api", '[data-bs-dismiss="alert"]', F.handleDismiss(new F())), v(F); 1667 class R extends B { 1668 static get NAME() { 1669 return "button"; 1670 } 1671 toggle() { 1672 this._element.setAttribute("aria-pressed", this._element.classList.toggle("active")); 1673 } 1674 static jQueryInterface(e) { 1675 return this.each(function () { 1676 const t = R.getOrCreateInstance(this); 1677 "toggle" === e && t[e](); 1678 }); 1679 } 1680 } 1681 function q(e) { 1682 return "true" === e || ("false" !== e && (e === Number(e).toString() ? Number(e) : "" === e || "null" === e ? null : e)); 1683 } 1684 function z(e) { 1685 return e.replace(/[A-Z]/g, (e) => "-" + e.toLowerCase()); 1686 } 1687 H.on(document, "click.bs.button.data-api", '[data-bs-toggle="button"]', (e) => { 1688 e.preventDefault(); 1689 const t = e.target.closest('[data-bs-toggle="button"]'); 1690 R.getOrCreateInstance(t).toggle(); 1691 }), 1692 v(R); 1693 const U = { 1694 setDataAttribute(e, t, n) { 1695 e.setAttribute("data-bs-" + z(t), n); 1696 }, 1697 removeDataAttribute(e, t) { 1698 e.removeAttribute("data-bs-" + z(t)); 1699 }, 1700 getDataAttributes(e) { 1701 if (!e) return {}; 1702 const t = {}; 1703 return ( 1704 Object.keys(e.dataset) 1705 .filter((e) => e.startsWith("bs")) 1706 .forEach((n) => { 1707 let i = n.replace(/^bs/, ""); 1708 (i = i.charAt(0).toLowerCase() + i.slice(1, i.length)), (t[i] = q(e.dataset[n])); 1709 }), 1710 t 1711 ); 1712 }, 1713 getDataAttribute: (e, t) => q(e.getAttribute("data-bs-" + z(t))), 1714 offset(e) { 1715 const t = e.getBoundingClientRect(); 1716 return { top: t.top + document.body.scrollTop, left: t.left + document.body.scrollLeft }; 1717 }, 1718 position: (e) => ({ top: e.offsetTop, left: e.offsetLeft }), 1719 }, 1720 V = ".bs.carousel", 1721 W = { interval: 5e3, keyboard: !0, slide: !1, pause: "hover", wrap: !0, touch: !0 }, 1722 Y = { interval: "(number|boolean)", keyboard: "boolean", slide: "(boolean|string)", pause: "(string|boolean)", wrap: "boolean", touch: "boolean" }, 1723 X = "next", 1724 K = "prev", 1725 G = "left", 1726 Z = "right", 1727 Q = { ArrowLeft: Z, ArrowRight: G }, 1728 J = `load${V}.data-api`, 1729 ee = `click${V}.data-api`; 1730 class te extends B { 1731 constructor(t, n) { 1732 super(t), 1733 (this._items = null), 1734 (this._interval = null), 1735 (this._activeElement = null), 1736 (this._isPaused = !1), 1737 (this._isSliding = !1), 1738 (this.touchTimeout = null), 1739 (this.touchStartX = 0), 1740 (this.touchDeltaX = 0), 1741 (this._config = this._getConfig(n)), 1742 (this._indicatorsElement = e.findOne(".carousel-indicators", this._element)), 1743 (this._touchSupported = "ontouchstart" in document.documentElement || navigator.maxTouchPoints > 0), 1744 (this._pointerEvent = Boolean(window.PointerEvent)), 1745 this._addEventListeners(); 1746 } 1747 static get Default() { 1748 return W; 1749 } 1750 static get NAME() { 1751 return "carousel"; 1752 } 1753 next() { 1754 this._slide(X); 1755 } 1756 nextWhenVisible() { 1757 !document.hidden && l(this._element) && this.next(); 1758 } 1759 prev() { 1760 this._slide(K); 1761 } 1762 pause(t) { 1763 t || (this._isPaused = !0), e.findOne(".carousel-item-next, .carousel-item-prev", this._element) && (o(this._element), this.cycle(!0)), clearInterval(this._interval), (this._interval = null); 1764 } 1765 cycle(e) { 1766 e || (this._isPaused = !1), 1767 this._interval && (clearInterval(this._interval), (this._interval = null)), 1768 this._config && 1769 this._config.interval && 1770 !this._isPaused && 1771 (this._updateInterval(), (this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval))); 1772 } 1773 to(t) { 1774 this._activeElement = e.findOne(".active.carousel-item", this._element); 1775 const n = this._getItemIndex(this._activeElement); 1776 if (t > this._items.length - 1 || t < 0) return; 1777 if (this._isSliding) return void H.one(this._element, "slid.bs.carousel", () => this.to(t)); 1778 if (n === t) return this.pause(), void this.cycle(); 1779 const i = t > n ? X : K; 1780 this._slide(i, this._items[t]); 1781 } 1782 _getConfig(e) { 1783 return (e = { ...W, ...U.getDataAttributes(this._element), ...("object" == typeof e ? e : {}) }), c("carousel", e, Y), e; 1784 } 1785 _handleSwipe() { 1786 const e = Math.abs(this.touchDeltaX); 1787 if (e <= 40) return; 1788 const t = e / this.touchDeltaX; 1789 (this.touchDeltaX = 0), t && this._slide(t > 0 ? Z : G); 1790 } 1791 _addEventListeners() { 1792 this._config.keyboard && H.on(this._element, "keydown.bs.carousel", (e) => this._keydown(e)), 1793 "hover" === this._config.pause && (H.on(this._element, "mouseenter.bs.carousel", (e) => this.pause(e)), H.on(this._element, "mouseleave.bs.carousel", (e) => this.cycle(e))), 1794 this._config.touch && this._touchSupported && this._addTouchEventListeners(); 1795 } 1796 _addTouchEventListeners() { 1797 const t = (e) => { 1798 !this._pointerEvent || ("pen" !== e.pointerType && "touch" !== e.pointerType) ? this._pointerEvent || (this.touchStartX = e.touches[0].clientX) : (this.touchStartX = e.clientX); 1799 }, 1800 n = (e) => { 1801 this.touchDeltaX = e.touches && e.touches.length > 1 ? 0 : e.touches[0].clientX - this.touchStartX; 1802 }, 1803 i = (e) => { 1804 !this._pointerEvent || ("pen" !== e.pointerType && "touch" !== e.pointerType) || (this.touchDeltaX = e.clientX - this.touchStartX), 1805 this._handleSwipe(), 1806 "hover" === this._config.pause && (this.pause(), this.touchTimeout && clearTimeout(this.touchTimeout), (this.touchTimeout = setTimeout((e) => this.cycle(e), 500 + this._config.interval))); 1807 }; 1808 e.find(".carousel-item img", this._element).forEach((e) => { 1809 H.on(e, "dragstart.bs.carousel", (e) => e.preventDefault()); 1810 }), 1811 this._pointerEvent 1812 ? (H.on(this._element, "pointerdown.bs.carousel", (e) => t(e)), H.on(this._element, "pointerup.bs.carousel", (e) => i(e)), this._element.classList.add("pointer-event")) 1813 : (H.on(this._element, "touchstart.bs.carousel", (e) => t(e)), H.on(this._element, "touchmove.bs.carousel", (e) => n(e)), H.on(this._element, "touchend.bs.carousel", (e) => i(e))); 1814 } 1815 _keydown(e) { 1816 if (/input|textarea/i.test(e.target.tagName)) return; 1817 const t = Q[e.key]; 1818 t && (e.preventDefault(), this._slide(t)); 1819 } 1820 _getItemIndex(t) { 1821 return (this._items = t && t.parentNode ? e.find(".carousel-item", t.parentNode) : []), this._items.indexOf(t); 1822 } 1823 _getItemByOrder(e, t) { 1824 const n = e === X; 1825 return _(this._items, t, n, this._config.wrap); 1826 } 1827 _triggerSlideEvent(t, n) { 1828 const i = this._getItemIndex(t), 1829 s = this._getItemIndex(e.findOne(".active.carousel-item", this._element)); 1830 return H.trigger(this._element, "slide.bs.carousel", { relatedTarget: t, direction: n, from: s, to: i }); 1831 } 1832 _setActiveIndicatorElement(t) { 1833 if (this._indicatorsElement) { 1834 const n = e.findOne(".active", this._indicatorsElement); 1835 n.classList.remove("active"), n.removeAttribute("aria-current"); 1836 const i = e.find("[data-bs-target]", this._indicatorsElement); 1837 for (let e = 0; e < i.length; e++) 1838 if (Number.parseInt(i[e].getAttribute("data-bs-slide-to"), 10) === this._getItemIndex(t)) { 1839 i[e].classList.add("active"), i[e].setAttribute("aria-current", "true"); 1840 break; 1841 } 1842 } 1843 } 1844 _updateInterval() { 1845 const t = this._activeElement || e.findOne(".active.carousel-item", this._element); 1846 if (!t) return; 1847 const n = Number.parseInt(t.getAttribute("data-bs-interval"), 10); 1848 n ? ((this._config.defaultInterval = this._config.defaultInterval || this._config.interval), (this._config.interval = n)) : (this._config.interval = this._config.defaultInterval || this._config.interval); 1849 } 1850 _slide(t, n) { 1851 const i = this._directionToOrder(t), 1852 s = e.findOne(".active.carousel-item", this._element), 1853 o = this._getItemIndex(s), 1854 a = n || this._getItemByOrder(i, s), 1855 r = this._getItemIndex(a), 1856 c = Boolean(this._interval), 1857 l = i === X, 1858 d = l ? "carousel-item-start" : "carousel-item-end", 1859 h = l ? "carousel-item-next" : "carousel-item-prev", 1860 u = this._orderToDirection(i); 1861 if (a && a.classList.contains("active")) return void (this._isSliding = !1); 1862 if (this._isSliding) return; 1863 if (this._triggerSlideEvent(a, u).defaultPrevented) return; 1864 if (!s || !a) return; 1865 (this._isSliding = !0), c && this.pause(), this._setActiveIndicatorElement(a), (this._activeElement = a); 1866 const f = () => { 1867 H.trigger(this._element, "slid.bs.carousel", { relatedTarget: a, direction: u, from: o, to: r }); 1868 }; 1869 if (this._element.classList.contains("slide")) { 1870 a.classList.add(h), p(a), s.classList.add(d), a.classList.add(d); 1871 const e = () => { 1872 a.classList.remove(d, h), a.classList.add("active"), s.classList.remove("active", h, d), (this._isSliding = !1), setTimeout(f, 0); 1873 }; 1874 this._queueCallback(e, s, !0); 1875 } else s.classList.remove("active"), a.classList.add("active"), (this._isSliding = !1), f(); 1876 c && this.cycle(); 1877 } 1878 _directionToOrder(e) { 1879 return [Z, G].includes(e) ? (g() ? (e === G ? K : X) : e === G ? X : K) : e; 1880 } 1881 _orderToDirection(e) { 1882 return [X, K].includes(e) ? (g() ? (e === K ? G : Z) : e === K ? Z : G) : e; 1883 } 1884 static carouselInterface(e, t) { 1885 const n = te.getOrCreateInstance(e, t); 1886 let { _config: i } = n; 1887 "object" == typeof t && (i = { ...i, ...t }); 1888 const s = "string" == typeof t ? t : i.slide; 1889 if ("number" == typeof t) n.to(t); 1890 else if ("string" == typeof s) { 1891 if (void 0 === n[s]) throw new TypeError(`No method named "${s}"`); 1892 n[s](); 1893 } else i.interval && i.ride && (n.pause(), n.cycle()); 1894 } 1895 static jQueryInterface(e) { 1896 return this.each(function () { 1897 te.carouselInterface(this, e); 1898 }); 1899 } 1900 static dataApiClickHandler(e) { 1901 const t = s(this); 1902 if (!t || !t.classList.contains("carousel")) return; 1903 const n = { ...U.getDataAttributes(t), ...U.getDataAttributes(this) }, 1904 i = this.getAttribute("data-bs-slide-to"); 1905 i && (n.interval = !1), te.carouselInterface(t, n), i && te.getInstance(t).to(i), e.preventDefault(); 1906 } 1907 } 1908 H.on(document, ee, "[data-bs-slide], [data-bs-slide-to]", te.dataApiClickHandler), 1909 H.on(window, J, () => { 1910 const t = e.find('[data-bs-ride="carousel"]'); 1911 for (let e = 0, n = t.length; e < n; e++) te.carouselInterface(t[e], te.getInstance(t[e])); 1912 }), 1913 v(te); 1914 const ne = { toggle: !0, parent: "" }, 1915 ie = { toggle: "boolean", parent: "(string|element)" }; 1916 class se extends B { 1917 constructor(t, n) { 1918 super(t), 1919 (this._isTransitioning = !1), 1920 (this._config = this._getConfig(n)), 1921 (this._triggerArray = e.find(`[data-bs-toggle="collapse"][href="#${this._element.id}"],[data-bs-toggle="collapse"][data-bs-target="#${this._element.id}"]`)); 1922 const s = e.find('[data-bs-toggle="collapse"]'); 1923 for (let t = 0, n = s.length; t < n; t++) { 1924 const n = s[t], 1925 o = i(n), 1926 a = e.find(o).filter((e) => e === this._element); 1927 null !== o && a.length && ((this._selector = o), this._triggerArray.push(n)); 1928 } 1929 (this._parent = this._config.parent ? this._getParent() : null), this._config.parent || this._addAriaAndCollapsedClass(this._element, this._triggerArray), this._config.toggle && this.toggle(); 1930 } 1931 static get Default() { 1932 return ne; 1933 } 1934 static get NAME() { 1935 return "collapse"; 1936 } 1937 toggle() { 1938 this._element.classList.contains("show") ? this.hide() : this.show(); 1939 } 1940 show() { 1941 if (this._isTransitioning || this._element.classList.contains("show")) return; 1942 let t, n; 1943 this._parent && 1944 ((t = e.find(".show, .collapsing", this._parent).filter((e) => ("string" == typeof this._config.parent ? e.getAttribute("data-bs-parent") === this._config.parent : e.classList.contains("collapse")))), 1945 0 === t.length && (t = null)); 1946 const i = e.findOne(this._selector); 1947 if (t) { 1948 const e = t.find((e) => i !== e); 1949 if (((n = e ? se.getInstance(e) : null), n && n._isTransitioning)) return; 1950 } 1951 if (H.trigger(this._element, "show.bs.collapse").defaultPrevented) return; 1952 t && 1953 t.forEach((e) => { 1954 i !== e && se.collapseInterface(e, "hide"), n || N.set(e, "bs.collapse", null); 1955 }); 1956 const s = this._getDimension(); 1957 this._element.classList.remove("collapse"), 1958 this._element.classList.add("collapsing"), 1959 (this._element.style[s] = 0), 1960 this._triggerArray.length && 1961 this._triggerArray.forEach((e) => { 1962 e.classList.remove("collapsed"), e.setAttribute("aria-expanded", !0); 1963 }), 1964 this.setTransitioning(!0); 1965 const o = "scroll" + (s[0].toUpperCase() + s.slice(1)); 1966 this._queueCallback( 1967 () => { 1968 this._element.classList.remove("collapsing"), this._element.classList.add("collapse", "show"), (this._element.style[s] = ""), this.setTransitioning(!1), H.trigger(this._element, "shown.bs.collapse"); 1969 }, 1970 this._element, 1971 !0 1972 ), 1973 (this._element.style[s] = this._element[o] + "px"); 1974 } 1975 hide() { 1976 if (this._isTransitioning || !this._element.classList.contains("show")) return; 1977 if (H.trigger(this._element, "hide.bs.collapse").defaultPrevented) return; 1978 const e = this._getDimension(); 1979 (this._element.style[e] = this._element.getBoundingClientRect()[e] + "px"), p(this._element), this._element.classList.add("collapsing"), this._element.classList.remove("collapse", "show"); 1980 const t = this._triggerArray.length; 1981 if (t > 0) 1982 for (let e = 0; e < t; e++) { 1983 const t = this._triggerArray[e], 1984 n = s(t); 1985 n && !n.classList.contains("show") && (t.classList.add("collapsed"), t.setAttribute("aria-expanded", !1)); 1986 } 1987 this.setTransitioning(!0), 1988 (this._element.style[e] = ""), 1989 this._queueCallback( 1990 () => { 1991 this.setTransitioning(!1), this._element.classList.remove("collapsing"), this._element.classList.add("collapse"), H.trigger(this._element, "hidden.bs.collapse"); 1992 }, 1993 this._element, 1994 !0 1995 ); 1996 } 1997 setTransitioning(e) { 1998 this._isTransitioning = e; 1999 } 2000 _getConfig(e) { 2001 return ((e = { ...ne, ...e }).toggle = Boolean(e.toggle)), c("collapse", e, ie), e; 2002 } 2003 _getDimension() { 2004 return this._element.classList.contains("width") ? "width" : "height"; 2005 } 2006 _getParent() { 2007 let { parent: t } = this._config; 2008 t = r(t); 2009 const n = `[data-bs-toggle="collapse"][data-bs-parent="${t}"]`; 2010 return ( 2011 e.find(n, t).forEach((e) => { 2012 const t = s(e); 2013 this._addAriaAndCollapsedClass(t, [e]); 2014 }), 2015 t 2016 ); 2017 } 2018 _addAriaAndCollapsedClass(e, t) { 2019 if (!e || !t.length) return; 2020 const n = e.classList.contains("show"); 2021 t.forEach((e) => { 2022 n ? e.classList.remove("collapsed") : e.classList.add("collapsed"), e.setAttribute("aria-expanded", n); 2023 }); 2024 } 2025 static collapseInterface(e, t) { 2026 let n = se.getInstance(e); 2027 const i = { ...ne, ...U.getDataAttributes(e), ...("object" == typeof t && t ? t : {}) }; 2028 if ((!n && i.toggle && "string" == typeof t && /show|hide/.test(t) && (i.toggle = !1), n || (n = new se(e, i)), "string" == typeof t)) { 2029 if (void 0 === n[t]) throw new TypeError(`No method named "${t}"`); 2030 n[t](); 2031 } 2032 } 2033 static jQueryInterface(e) { 2034 return this.each(function () { 2035 se.collapseInterface(this, e); 2036 }); 2037 } 2038 } 2039 H.on(document, "click.bs.collapse.data-api", '[data-bs-toggle="collapse"]', function (t) { 2040 ("A" === t.target.tagName || (t.delegateTarget && "A" === t.delegateTarget.tagName)) && t.preventDefault(); 2041 const n = U.getDataAttributes(this), 2042 s = i(this); 2043 e.find(s).forEach((e) => { 2044 const t = se.getInstance(e); 2045 let i; 2046 t ? (null === t._parent && "string" == typeof n.parent && ((t._config.parent = n.parent), (t._parent = t._getParent())), (i = "toggle")) : (i = n), se.collapseInterface(e, i); 2047 }); 2048 }), 2049 v(se); 2050 var oe = "top", 2051 ae = "bottom", 2052 re = "right", 2053 ce = "left", 2054 le = [oe, ae, re, ce], 2055 de = le.reduce(function (e, t) { 2056 return e.concat([t + "-start", t + "-end"]); 2057 }, []), 2058 he = [].concat(le, ["auto"]).reduce(function (e, t) { 2059 return e.concat([t, t + "-start", t + "-end"]); 2060 }, []), 2061 ue = ["beforeRead", "read", "afterRead", "beforeMain", "main", "afterMain", "beforeWrite", "write", "afterWrite"]; 2062 function pe(e) { 2063 return e ? (e.nodeName || "").toLowerCase() : null; 2064 } 2065 function fe(e) { 2066 if (null == e) return window; 2067 if ("[object Window]" !== e.toString()) { 2068 var t = e.ownerDocument; 2069 return (t && t.defaultView) || window; 2070 } 2071 return e; 2072 } 2073 function me(e) { 2074 return e instanceof fe(e).Element || e instanceof Element; 2075 } 2076 function ge(e) { 2077 return e instanceof fe(e).HTMLElement || e instanceof HTMLElement; 2078 } 2079 function ve(e) { 2080 return "undefined" != typeof ShadowRoot && (e instanceof fe(e).ShadowRoot || e instanceof ShadowRoot); 2081 } 2082 var be = { 2083 name: "applyStyles", 2084 enabled: !0, 2085 phase: "write", 2086 fn: function (e) { 2087 var t = e.state; 2088 Object.keys(t.elements).forEach(function (e) { 2089 var n = t.styles[e] || {}, 2090 i = t.attributes[e] || {}, 2091 s = t.elements[e]; 2092 ge(s) && 2093 pe(s) && 2094 (Object.assign(s.style, n), 2095 Object.keys(i).forEach(function (e) { 2096 var t = i[e]; 2097 !1 === t ? s.removeAttribute(e) : s.setAttribute(e, !0 === t ? "" : t); 2098 })); 2099 }); 2100 }, 2101 effect: function (e) { 2102 var t = e.state, 2103 n = { popper: { position: t.options.strategy, left: "0", top: "0", margin: "0" }, arrow: { position: "absolute" }, reference: {} }; 2104 return ( 2105 Object.assign(t.elements.popper.style, n.popper), 2106 (t.styles = n), 2107 t.elements.arrow && Object.assign(t.elements.arrow.style, n.arrow), 2108 function () { 2109 Object.keys(t.elements).forEach(function (e) { 2110 var i = t.elements[e], 2111 s = t.attributes[e] || {}, 2112 o = Object.keys(t.styles.hasOwnProperty(e) ? t.styles[e] : n[e]).reduce(function (e, t) { 2113 return (e[t] = ""), e; 2114 }, {}); 2115 ge(i) && 2116 pe(i) && 2117 (Object.assign(i.style, o), 2118 Object.keys(s).forEach(function (e) { 2119 i.removeAttribute(e); 2120 })); 2121 }); 2122 } 2123 ); 2124 }, 2125 requires: ["computeStyles"], 2126 }; 2127 function ye(e) { 2128 return e.split("-")[0]; 2129 } 2130 function _e(e) { 2131 var t = e.getBoundingClientRect(); 2132 return { width: t.width, height: t.height, top: t.top, right: t.right, bottom: t.bottom, left: t.left, x: t.left, y: t.top }; 2133 } 2134 function we(e) { 2135 var t = _e(e), 2136 n = e.offsetWidth, 2137 i = e.offsetHeight; 2138 return Math.abs(t.width - n) <= 1 && (n = t.width), Math.abs(t.height - i) <= 1 && (i = t.height), { x: e.offsetLeft, y: e.offsetTop, width: n, height: i }; 2139 } 2140 function xe(e, t) { 2141 var n = t.getRootNode && t.getRootNode(); 2142 if (e.contains(t)) return !0; 2143 if (n && ve(n)) { 2144 var i = t; 2145 do { 2146 if (i && e.isSameNode(i)) return !0; 2147 i = i.parentNode || i.host; 2148 } while (i); 2149 } 2150 return !1; 2151 } 2152 function Ee(e) { 2153 return fe(e).getComputedStyle(e); 2154 } 2155 function ke(e) { 2156 return ["table", "td", "th"].indexOf(pe(e)) >= 0; 2157 } 2158 function Se(e) { 2159 return ((me(e) ? e.ownerDocument : e.document) || window.document).documentElement; 2160 } 2161 function Ce(e) { 2162 return "html" === pe(e) ? e : e.assignedSlot || e.parentNode || (ve(e) ? e.host : null) || Se(e); 2163 } 2164 function Le(e) { 2165 return ge(e) && "fixed" !== Ee(e).position ? e.offsetParent : null; 2166 } 2167 function Te(e) { 2168 for (var t = fe(e), n = Le(e); n && ke(n) && "static" === Ee(n).position; ) n = Le(n); 2169 return n && ("html" === pe(n) || ("body" === pe(n) && "static" === Ee(n).position)) 2170 ? t 2171 : n || 2172 (function (e) { 2173 var t = -1 !== navigator.userAgent.toLowerCase().indexOf("firefox"); 2174 if (-1 !== navigator.userAgent.indexOf("Trident") && ge(e) && "fixed" === Ee(e).position) return null; 2175 for (var n = Ce(e); ge(n) && ["html", "body"].indexOf(pe(n)) < 0; ) { 2176 var i = Ee(n); 2177 if ( 2178 "none" !== i.transform || 2179 "none" !== i.perspective || 2180 "paint" === i.contain || 2181 -1 !== ["transform", "perspective"].indexOf(i.willChange) || 2182 (t && "filter" === i.willChange) || 2183 (t && i.filter && "none" !== i.filter) 2184 ) 2185 return n; 2186 n = n.parentNode; 2187 } 2188 return null; 2189 })(e) || 2190 t; 2191 } 2192 function De(e) { 2193 return ["top", "bottom"].indexOf(e) >= 0 ? "x" : "y"; 2194 } 2195 var Ae = Math.max, 2196 Pe = Math.min, 2197 $e = Math.round; 2198 function Oe(e, t, n) { 2199 return Ae(e, Pe(t, n)); 2200 } 2201 function Me(e) { 2202 return Object.assign({}, { top: 0, right: 0, bottom: 0, left: 0 }, e); 2203 } 2204 function Ie(e, t) { 2205 return t.reduce(function (t, n) { 2206 return (t[n] = e), t; 2207 }, {}); 2208 } 2209 var He = { 2210 name: "arrow", 2211 enabled: !0, 2212 phase: "main", 2213 fn: function (e) { 2214 var t, 2215 n = e.state, 2216 i = e.name, 2217 s = e.options, 2218 o = n.elements.arrow, 2219 a = n.modifiersData.popperOffsets, 2220 r = ye(n.placement), 2221 c = De(r), 2222 l = [ce, re].indexOf(r) >= 0 ? "height" : "width"; 2223 if (o && a) { 2224 var d = (function (e, t) { 2225 return Me("number" != typeof (e = "function" == typeof e ? e(Object.assign({}, t.rects, { placement: t.placement })) : e) ? e : Ie(e, le)); 2226 })(s.padding, n), 2227 h = we(o), 2228 u = "y" === c ? oe : ce, 2229 p = "y" === c ? ae : re, 2230 f = n.rects.reference[l] + n.rects.reference[c] - a[c] - n.rects.popper[l], 2231 m = a[c] - n.rects.reference[c], 2232 g = Te(o), 2233 v = g ? ("y" === c ? g.clientHeight || 0 : g.clientWidth || 0) : 0, 2234 b = f / 2 - m / 2, 2235 y = d[u], 2236 _ = v - h[l] - d[p], 2237 w = v / 2 - h[l] / 2 + b, 2238 x = Oe(y, w, _), 2239 E = c; 2240 n.modifiersData[i] = (((t = {})[E] = x), (t.centerOffset = x - w), t); 2241 } 2242 }, 2243 effect: function (e) { 2244 var t = e.state, 2245 n = e.options.element, 2246 i = void 0 === n ? "[data-popper-arrow]" : n; 2247 null != i && ("string" != typeof i || (i = t.elements.popper.querySelector(i))) && xe(t.elements.popper, i) && (t.elements.arrow = i); 2248 }, 2249 requires: ["popperOffsets"], 2250 requiresIfExists: ["preventOverflow"], 2251 }, 2252 je = { top: "auto", right: "auto", bottom: "auto", left: "auto" }; 2253 function Ne(e) { 2254 var t, 2255 n = e.popper, 2256 i = e.popperRect, 2257 s = e.placement, 2258 o = e.offsets, 2259 a = e.position, 2260 r = e.gpuAcceleration, 2261 c = e.adaptive, 2262 l = e.roundOffsets, 2263 d = 2264 !0 === l 2265 ? (function (e) { 2266 var t = e.x, 2267 n = e.y, 2268 i = window.devicePixelRatio || 1; 2269 return { x: $e($e(t * i) / i) || 0, y: $e($e(n * i) / i) || 0 }; 2270 })(o) 2271 : "function" == typeof l 2272 ? l(o) 2273 : o, 2274 h = d.x, 2275 u = void 0 === h ? 0 : h, 2276 p = d.y, 2277 f = void 0 === p ? 0 : p, 2278 m = o.hasOwnProperty("x"), 2279 g = o.hasOwnProperty("y"), 2280 v = ce, 2281 b = oe, 2282 y = window; 2283 if (c) { 2284 var _ = Te(n), 2285 w = "clientHeight", 2286 x = "clientWidth"; 2287 _ === fe(n) && "static" !== Ee((_ = Se(n))).position && ((w = "scrollHeight"), (x = "scrollWidth")), 2288 (_ = _), 2289 s === oe && ((b = ae), (f -= _[w] - i.height), (f *= r ? 1 : -1)), 2290 s === ce && ((v = re), (u -= _[x] - i.width), (u *= r ? 1 : -1)); 2291 } 2292 var E, 2293 k = Object.assign({ position: a }, c && je); 2294 return r 2295 ? Object.assign({}, k, (((E = {})[b] = g ? "0" : ""), (E[v] = m ? "0" : ""), (E.transform = (y.devicePixelRatio || 1) < 2 ? "translate(" + u + "px, " + f + "px)" : "translate3d(" + u + "px, " + f + "px, 0)"), E)) 2296 : Object.assign({}, k, (((t = {})[b] = g ? f + "px" : ""), (t[v] = m ? u + "px" : ""), (t.transform = ""), t)); 2297 } 2298 var Be = { 2299 name: "computeStyles", 2300 enabled: !0, 2301 phase: "beforeWrite", 2302 fn: function (e) { 2303 var t = e.state, 2304 n = e.options, 2305 i = n.gpuAcceleration, 2306 s = void 0 === i || i, 2307 o = n.adaptive, 2308 a = void 0 === o || o, 2309 r = n.roundOffsets, 2310 c = void 0 === r || r, 2311 l = { placement: ye(t.placement), popper: t.elements.popper, popperRect: t.rects.popper, gpuAcceleration: s }; 2312 null != t.modifiersData.popperOffsets && 2313 (t.styles.popper = Object.assign({}, t.styles.popper, Ne(Object.assign({}, l, { offsets: t.modifiersData.popperOffsets, position: t.options.strategy, adaptive: a, roundOffsets: c })))), 2314 null != t.modifiersData.arrow && (t.styles.arrow = Object.assign({}, t.styles.arrow, Ne(Object.assign({}, l, { offsets: t.modifiersData.arrow, position: "absolute", adaptive: !1, roundOffsets: c })))), 2315 (t.attributes.popper = Object.assign({}, t.attributes.popper, { "data-popper-placement": t.placement })); 2316 }, 2317 data: {}, 2318 }, 2319 Fe = { passive: !0 }, 2320 Re = { 2321 name: "eventListeners", 2322 enabled: !0, 2323 phase: "write", 2324 fn: function () {}, 2325 effect: function (e) { 2326 var t = e.state, 2327 n = e.instance, 2328 i = e.options, 2329 s = i.scroll, 2330 o = void 0 === s || s, 2331 a = i.resize, 2332 r = void 0 === a || a, 2333 c = fe(t.elements.popper), 2334 l = [].concat(t.scrollParents.reference, t.scrollParents.popper); 2335 return ( 2336 o && 2337 l.forEach(function (e) { 2338 e.addEventListener("scroll", n.update, Fe); 2339 }), 2340 r && c.addEventListener("resize", n.update, Fe), 2341 function () { 2342 o && 2343 l.forEach(function (e) { 2344 e.removeEventListener("scroll", n.update, Fe); 2345 }), 2346 r && c.removeEventListener("resize", n.update, Fe); 2347 } 2348 ); 2349 }, 2350 data: {}, 2351 }, 2352 qe = { left: "right", right: "left", bottom: "top", top: "bottom" }; 2353 function ze(e) { 2354 return e.replace(/left|right|bottom|top/g, function (e) { 2355 return qe[e]; 2356 }); 2357 } 2358 var Ue = { start: "end", end: "start" }; 2359 function Ve(e) { 2360 return e.replace(/start|end/g, function (e) { 2361 return Ue[e]; 2362 }); 2363 } 2364 function We(e) { 2365 var t = fe(e); 2366 return { scrollLeft: t.pageXOffset, scrollTop: t.pageYOffset }; 2367 } 2368 function Ye(e) { 2369 return _e(Se(e)).left + We(e).scrollLeft; 2370 } 2371 function Xe(e) { 2372 var t = Ee(e), 2373 n = t.overflow, 2374 i = t.overflowX, 2375 s = t.overflowY; 2376 return /auto|scroll|overlay|hidden/.test(n + s + i); 2377 } 2378 function Ke(e, t) { 2379 var n; 2380 void 0 === t && (t = []); 2381 var i = (function e(t) { 2382 return ["html", "body", "#document"].indexOf(pe(t)) >= 0 ? t.ownerDocument.body : ge(t) && Xe(t) ? t : e(Ce(t)); 2383 })(e), 2384 s = i === (null == (n = e.ownerDocument) ? void 0 : n.body), 2385 o = fe(i), 2386 a = s ? [o].concat(o.visualViewport || [], Xe(i) ? i : []) : i, 2387 r = t.concat(a); 2388 return s ? r : r.concat(Ke(Ce(a))); 2389 } 2390 function Ge(e) { 2391 return Object.assign({}, e, { left: e.x, top: e.y, right: e.x + e.width, bottom: e.y + e.height }); 2392 } 2393 function Ze(e, t) { 2394 return "viewport" === t 2395 ? Ge( 2396 (function (e) { 2397 var t = fe(e), 2398 n = Se(e), 2399 i = t.visualViewport, 2400 s = n.clientWidth, 2401 o = n.clientHeight, 2402 a = 0, 2403 r = 0; 2404 return i && ((s = i.width), (o = i.height), /^((?!chrome|android).)*safari/i.test(navigator.userAgent) || ((a = i.offsetLeft), (r = i.offsetTop))), { width: s, height: o, x: a + Ye(e), y: r }; 2405 })(e) 2406 ) 2407 : ge(t) 2408 ? (function (e) { 2409 var t = _e(e); 2410 return ( 2411 (t.top = t.top + e.clientTop), 2412 (t.left = t.left + e.clientLeft), 2413 (t.bottom = t.top + e.clientHeight), 2414 (t.right = t.left + e.clientWidth), 2415 (t.width = e.clientWidth), 2416 (t.height = e.clientHeight), 2417 (t.x = t.left), 2418 (t.y = t.top), 2419 t 2420 ); 2421 })(t) 2422 : Ge( 2423 (function (e) { 2424 var t, 2425 n = Se(e), 2426 i = We(e), 2427 s = null == (t = e.ownerDocument) ? void 0 : t.body, 2428 o = Ae(n.scrollWidth, n.clientWidth, s ? s.scrollWidth : 0, s ? s.clientWidth : 0), 2429 a = Ae(n.scrollHeight, n.clientHeight, s ? s.scrollHeight : 0, s ? s.clientHeight : 0), 2430 r = -i.scrollLeft + Ye(e), 2431 c = -i.scrollTop; 2432 return "rtl" === Ee(s || n).direction && (r += Ae(n.clientWidth, s ? s.clientWidth : 0) - o), { width: o, height: a, x: r, y: c }; 2433 })(Se(e)) 2434 ); 2435 } 2436 function Qe(e, t, n) { 2437 var i = 2438 "clippingParents" === t 2439 ? (function (e) { 2440 var t = Ke(Ce(e)), 2441 n = ["absolute", "fixed"].indexOf(Ee(e).position) >= 0 && ge(e) ? Te(e) : e; 2442 return me(n) 2443 ? t.filter(function (e) { 2444 return me(e) && xe(e, n) && "body" !== pe(e); 2445 }) 2446 : []; 2447 })(e) 2448 : [].concat(t), 2449 s = [].concat(i, [n]), 2450 o = s[0], 2451 a = s.reduce(function (t, n) { 2452 var i = Ze(e, n); 2453 return (t.top = Ae(i.top, t.top)), (t.right = Pe(i.right, t.right)), (t.bottom = Pe(i.bottom, t.bottom)), (t.left = Ae(i.left, t.left)), t; 2454 }, Ze(e, o)); 2455 return (a.width = a.right - a.left), (a.height = a.bottom - a.top), (a.x = a.left), (a.y = a.top), a; 2456 } 2457 function Je(e) { 2458 return e.split("-")[1]; 2459 } 2460 function et(e) { 2461 var t, 2462 n = e.reference, 2463 i = e.element, 2464 s = e.placement, 2465 o = s ? ye(s) : null, 2466 a = s ? Je(s) : null, 2467 r = n.x + n.width / 2 - i.width / 2, 2468 c = n.y + n.height / 2 - i.height / 2; 2469 switch (o) { 2470 case oe: 2471 t = { x: r, y: n.y - i.height }; 2472 break; 2473 case ae: 2474 t = { x: r, y: n.y + n.height }; 2475 break; 2476 case re: 2477 t = { x: n.x + n.width, y: c }; 2478 break; 2479 case ce: 2480 t = { x: n.x - i.width, y: c }; 2481 break; 2482 default: 2483 t = { x: n.x, y: n.y }; 2484 } 2485 var l = o ? De(o) : null; 2486 if (null != l) { 2487 var d = "y" === l ? "height" : "width"; 2488 switch (a) { 2489 case "start": 2490 t[l] = t[l] - (n[d] / 2 - i[d] / 2); 2491 break; 2492 case "end": 2493 t[l] = t[l] + (n[d] / 2 - i[d] / 2); 2494 } 2495 } 2496 return t; 2497 } 2498 function tt(e, t) { 2499 void 0 === t && (t = {}); 2500 var n = t, 2501 i = n.placement, 2502 s = void 0 === i ? e.placement : i, 2503 o = n.boundary, 2504 a = void 0 === o ? "clippingParents" : o, 2505 r = n.rootBoundary, 2506 c = void 0 === r ? "viewport" : r, 2507 l = n.elementContext, 2508 d = void 0 === l ? "popper" : l, 2509 h = n.altBoundary, 2510 u = void 0 !== h && h, 2511 p = n.padding, 2512 f = void 0 === p ? 0 : p, 2513 m = Me("number" != typeof f ? f : Ie(f, le)), 2514 g = "popper" === d ? "reference" : "popper", 2515 v = e.elements.reference, 2516 b = e.rects.popper, 2517 y = e.elements[u ? g : d], 2518 _ = Qe(me(y) ? y : y.contextElement || Se(e.elements.popper), a, c), 2519 w = _e(v), 2520 x = et({ reference: w, element: b, strategy: "absolute", placement: s }), 2521 E = Ge(Object.assign({}, b, x)), 2522 k = "popper" === d ? E : w, 2523 S = { top: _.top - k.top + m.top, bottom: k.bottom - _.bottom + m.bottom, left: _.left - k.left + m.left, right: k.right - _.right + m.right }, 2524 C = e.modifiersData.offset; 2525 if ("popper" === d && C) { 2526 var L = C[s]; 2527 Object.keys(S).forEach(function (e) { 2528 var t = [re, ae].indexOf(e) >= 0 ? 1 : -1, 2529 n = [oe, ae].indexOf(e) >= 0 ? "y" : "x"; 2530 S[e] += L[n] * t; 2531 }); 2532 } 2533 return S; 2534 } 2535 function nt(e, t) { 2536 void 0 === t && (t = {}); 2537 var n = t, 2538 i = n.placement, 2539 s = n.boundary, 2540 o = n.rootBoundary, 2541 a = n.padding, 2542 r = n.flipVariations, 2543 c = n.allowedAutoPlacements, 2544 l = void 0 === c ? he : c, 2545 d = Je(i), 2546 h = d 2547 ? r 2548 ? de 2549 : de.filter(function (e) { 2550 return Je(e) === d; 2551 }) 2552 : le, 2553 u = h.filter(function (e) { 2554 return l.indexOf(e) >= 0; 2555 }); 2556 0 === u.length && (u = h); 2557 var p = u.reduce(function (t, n) { 2558 return (t[n] = tt(e, { placement: n, boundary: s, rootBoundary: o, padding: a })[ye(n)]), t; 2559 }, {}); 2560 return Object.keys(p).sort(function (e, t) { 2561 return p[e] - p[t]; 2562 }); 2563 } 2564 var it = { 2565 name: "flip", 2566 enabled: !0, 2567 phase: "main", 2568 fn: function (e) { 2569 var t = e.state, 2570 n = e.options, 2571 i = e.name; 2572 if (!t.modifiersData[i]._skip) { 2573 for ( 2574 var s = n.mainAxis, 2575 o = void 0 === s || s, 2576 a = n.altAxis, 2577 r = void 0 === a || a, 2578 c = n.fallbackPlacements, 2579 l = n.padding, 2580 d = n.boundary, 2581 h = n.rootBoundary, 2582 u = n.altBoundary, 2583 p = n.flipVariations, 2584 f = void 0 === p || p, 2585 m = n.allowedAutoPlacements, 2586 g = t.options.placement, 2587 v = ye(g), 2588 b = 2589 c || 2590 (v !== g && f 2591 ? (function (e) { 2592 if ("auto" === ye(e)) return []; 2593 var t = ze(e); 2594 return [Ve(e), t, Ve(t)]; 2595 })(g) 2596 : [ze(g)]), 2597 y = [g].concat(b).reduce(function (e, n) { 2598 return e.concat("auto" === ye(n) ? nt(t, { placement: n, boundary: d, rootBoundary: h, padding: l, flipVariations: f, allowedAutoPlacements: m }) : n); 2599 }, []), 2600 _ = t.rects.reference, 2601 w = t.rects.popper, 2602 x = new Map(), 2603 E = !0, 2604 k = y[0], 2605 S = 0; 2606 S < y.length; 2607 S++ 2608 ) { 2609 var C = y[S], 2610 L = ye(C), 2611 T = "start" === Je(C), 2612 D = [oe, ae].indexOf(L) >= 0, 2613 A = D ? "width" : "height", 2614 P = tt(t, { placement: C, boundary: d, rootBoundary: h, altBoundary: u, padding: l }), 2615 $ = D ? (T ? re : ce) : T ? ae : oe; 2616 _[A] > w[A] && ($ = ze($)); 2617 var O = ze($), 2618 M = []; 2619 if ( 2620 (o && M.push(P[L] <= 0), 2621 r && M.push(P[$] <= 0, P[O] <= 0), 2622 M.every(function (e) { 2623 return e; 2624 })) 2625 ) { 2626 (k = C), (E = !1); 2627 break; 2628 } 2629 x.set(C, M); 2630 } 2631 if (E) 2632 for ( 2633 var I = function (e) { 2634 var t = y.find(function (t) { 2635 var n = x.get(t); 2636 if (n) 2637 return n.slice(0, e).every(function (e) { 2638 return e; 2639 }); 2640 }); 2641 if (t) return (k = t), "break"; 2642 }, 2643 H = f ? 3 : 1; 2644 H > 0 && "break" !== I(H); 2645 H-- 2646 ); 2647 t.placement !== k && ((t.modifiersData[i]._skip = !0), (t.placement = k), (t.reset = !0)); 2648 } 2649 }, 2650 requiresIfExists: ["offset"], 2651 data: { _skip: !1 }, 2652 }; 2653 function st(e, t, n) { 2654 return void 0 === n && (n = { x: 0, y: 0 }), { top: e.top - t.height - n.y, right: e.right - t.width + n.x, bottom: e.bottom - t.height + n.y, left: e.left - t.width - n.x }; 2655 } 2656 function ot(e) { 2657 return [oe, re, ae, ce].some(function (t) { 2658 return e[t] >= 0; 2659 }); 2660 } 2661 var at = { 2662 name: "hide", 2663 enabled: !0, 2664 phase: "main", 2665 requiresIfExists: ["preventOverflow"], 2666 fn: function (e) { 2667 var t = e.state, 2668 n = e.name, 2669 i = t.rects.reference, 2670 s = t.rects.popper, 2671 o = t.modifiersData.preventOverflow, 2672 a = tt(t, { elementContext: "reference" }), 2673 r = tt(t, { altBoundary: !0 }), 2674 c = st(a, i), 2675 l = st(r, s, o), 2676 d = ot(c), 2677 h = ot(l); 2678 (t.modifiersData[n] = { referenceClippingOffsets: c, popperEscapeOffsets: l, isReferenceHidden: d, hasPopperEscaped: h }), 2679 (t.attributes.popper = Object.assign({}, t.attributes.popper, { "data-popper-reference-hidden": d, "data-popper-escaped": h })); 2680 }, 2681 }, 2682 rt = { 2683 name: "offset", 2684 enabled: !0, 2685 phase: "main", 2686 requires: ["popperOffsets"], 2687 fn: function (e) { 2688 var t = e.state, 2689 n = e.options, 2690 i = e.name, 2691 s = n.offset, 2692 o = void 0 === s ? [0, 0] : s, 2693 a = he.reduce(function (e, n) { 2694 return ( 2695 (e[n] = (function (e, t, n) { 2696 var i = ye(e), 2697 s = [ce, oe].indexOf(i) >= 0 ? -1 : 1, 2698 o = "function" == typeof n ? n(Object.assign({}, t, { placement: e })) : n, 2699 a = o[0], 2700 r = o[1]; 2701 return (a = a || 0), (r = (r || 0) * s), [ce, re].indexOf(i) >= 0 ? { x: r, y: a } : { x: a, y: r }; 2702 })(n, t.rects, o)), 2703 e 2704 ); 2705 }, {}), 2706 r = a[t.placement], 2707 c = r.x, 2708 l = r.y; 2709 null != t.modifiersData.popperOffsets && ((t.modifiersData.popperOffsets.x += c), (t.modifiersData.popperOffsets.y += l)), (t.modifiersData[i] = a); 2710 }, 2711 }, 2712 ct = { 2713 name: "popperOffsets", 2714 enabled: !0, 2715 phase: "read", 2716 fn: function (e) { 2717 var t = e.state, 2718 n = e.name; 2719 t.modifiersData[n] = et({ reference: t.rects.reference, element: t.rects.popper, strategy: "absolute", placement: t.placement }); 2720 }, 2721 data: {}, 2722 }, 2723 lt = { 2724 name: "preventOverflow", 2725 enabled: !0, 2726 phase: "main", 2727 fn: function (e) { 2728 var t = e.state, 2729 n = e.options, 2730 i = e.name, 2731 s = n.mainAxis, 2732 o = void 0 === s || s, 2733 a = n.altAxis, 2734 r = void 0 !== a && a, 2735 c = n.boundary, 2736 l = n.rootBoundary, 2737 d = n.altBoundary, 2738 h = n.padding, 2739 u = n.tether, 2740 p = void 0 === u || u, 2741 f = n.tetherOffset, 2742 m = void 0 === f ? 0 : f, 2743 g = tt(t, { boundary: c, rootBoundary: l, padding: h, altBoundary: d }), 2744 v = ye(t.placement), 2745 b = Je(t.placement), 2746 y = !b, 2747 _ = De(v), 2748 w = "x" === _ ? "y" : "x", 2749 x = t.modifiersData.popperOffsets, 2750 E = t.rects.reference, 2751 k = t.rects.popper, 2752 S = "function" == typeof m ? m(Object.assign({}, t.rects, { placement: t.placement })) : m, 2753 C = { x: 0, y: 0 }; 2754 if (x) { 2755 if (o || r) { 2756 var L = "y" === _ ? oe : ce, 2757 T = "y" === _ ? ae : re, 2758 D = "y" === _ ? "height" : "width", 2759 A = x[_], 2760 P = x[_] + g[L], 2761 $ = x[_] - g[T], 2762 O = p ? -k[D] / 2 : 0, 2763 M = "start" === b ? E[D] : k[D], 2764 I = "start" === b ? -k[D] : -E[D], 2765 H = t.elements.arrow, 2766 j = p && H ? we(H) : { width: 0, height: 0 }, 2767 N = t.modifiersData["arrow#persistent"] ? t.modifiersData["arrow#persistent"].padding : { top: 0, right: 0, bottom: 0, left: 0 }, 2768 B = N[L], 2769 F = N[T], 2770 R = Oe(0, E[D], j[D]), 2771 q = y ? E[D] / 2 - O - R - B - S : M - R - B - S, 2772 z = y ? -E[D] / 2 + O + R + F + S : I + R + F + S, 2773 U = t.elements.arrow && Te(t.elements.arrow), 2774 V = U ? ("y" === _ ? U.clientTop || 0 : U.clientLeft || 0) : 0, 2775 W = t.modifiersData.offset ? t.modifiersData.offset[t.placement][_] : 0, 2776 Y = x[_] + q - W - V, 2777 X = x[_] + z - W; 2778 if (o) { 2779 var K = Oe(p ? Pe(P, Y) : P, A, p ? Ae($, X) : $); 2780 (x[_] = K), (C[_] = K - A); 2781 } 2782 if (r) { 2783 var G = "x" === _ ? oe : ce, 2784 Z = "x" === _ ? ae : re, 2785 Q = x[w], 2786 J = Q + g[G], 2787 ee = Q - g[Z], 2788 te = Oe(p ? Pe(J, Y) : J, Q, p ? Ae(ee, X) : ee); 2789 (x[w] = te), (C[w] = te - Q); 2790 } 2791 } 2792 t.modifiersData[i] = C; 2793 } 2794 }, 2795 requiresIfExists: ["offset"], 2796 }; 2797 function dt(e, t, n) { 2798 void 0 === n && (n = !1); 2799 var i, 2800 s, 2801 o = Se(t), 2802 a = _e(e), 2803 r = ge(t), 2804 c = { scrollLeft: 0, scrollTop: 0 }, 2805 l = { x: 0, y: 0 }; 2806 return ( 2807 (r || (!r && !n)) && 2808 (("body" !== pe(t) || Xe(o)) && (c = (i = t) !== fe(i) && ge(i) ? { scrollLeft: (s = i).scrollLeft, scrollTop: s.scrollTop } : We(i)), 2809 ge(t) ? (((l = _e(t)).x += t.clientLeft), (l.y += t.clientTop)) : o && (l.x = Ye(o))), 2810 { x: a.left + c.scrollLeft - l.x, y: a.top + c.scrollTop - l.y, width: a.width, height: a.height } 2811 ); 2812 } 2813 function ht(e) { 2814 var t = new Map(), 2815 n = new Set(), 2816 i = []; 2817 return ( 2818 e.forEach(function (e) { 2819 t.set(e.name, e); 2820 }), 2821 e.forEach(function (e) { 2822 n.has(e.name) || 2823 (function e(s) { 2824 n.add(s.name), 2825 [].concat(s.requires || [], s.requiresIfExists || []).forEach(function (i) { 2826 if (!n.has(i)) { 2827 var s = t.get(i); 2828 s && e(s); 2829 } 2830 }), 2831 i.push(s); 2832 })(e); 2833 }), 2834 i 2835 ); 2836 } 2837 var ut = { placement: "bottom", modifiers: [], strategy: "absolute" }; 2838 function pt() { 2839 for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++) t[n] = arguments[n]; 2840 return !t.some(function (e) { 2841 return !(e && "function" == typeof e.getBoundingClientRect); 2842 }); 2843 } 2844 function ft(e) { 2845 void 0 === e && (e = {}); 2846 var t = e, 2847 n = t.defaultModifiers, 2848 i = void 0 === n ? [] : n, 2849 s = t.defaultOptions, 2850 o = void 0 === s ? ut : s; 2851 return function (e, t, n) { 2852 void 0 === n && (n = o); 2853 var s, 2854 a, 2855 r = { placement: "bottom", orderedModifiers: [], options: Object.assign({}, ut, o), modifiersData: {}, elements: { reference: e, popper: t }, attributes: {}, styles: {} }, 2856 c = [], 2857 l = !1, 2858 d = { 2859 state: r, 2860 setOptions: function (n) { 2861 h(), (r.options = Object.assign({}, o, r.options, n)), (r.scrollParents = { reference: me(e) ? Ke(e) : e.contextElement ? Ke(e.contextElement) : [], popper: Ke(t) }); 2862 var s, 2863 a, 2864 l = (function (e) { 2865 var t = ht(e); 2866 return ue.reduce(function (e, n) { 2867 return e.concat( 2868 t.filter(function (e) { 2869 return e.phase === n; 2870 }) 2871 ); 2872 }, []); 2873 })( 2874 ((s = [].concat(i, r.options.modifiers)), 2875 (a = s.reduce(function (e, t) { 2876 var n = e[t.name]; 2877 return (e[t.name] = n ? Object.assign({}, n, t, { options: Object.assign({}, n.options, t.options), data: Object.assign({}, n.data, t.data) }) : t), e; 2878 }, {})), 2879 Object.keys(a).map(function (e) { 2880 return a[e]; 2881 })) 2882 ); 2883 return ( 2884 (r.orderedModifiers = l.filter(function (e) { 2885 return e.enabled; 2886 })), 2887 r.orderedModifiers.forEach(function (e) { 2888 var t = e.name, 2889 n = e.options, 2890 i = void 0 === n ? {} : n, 2891 s = e.effect; 2892 if ("function" == typeof s) { 2893 var o = s({ state: r, name: t, instance: d, options: i }); 2894 c.push(o || function () {}); 2895 } 2896 }), 2897 d.update() 2898 ); 2899 }, 2900 forceUpdate: function () { 2901 if (!l) { 2902 var e = r.elements, 2903 t = e.reference, 2904 n = e.popper; 2905 if (pt(t, n)) { 2906 (r.rects = { reference: dt(t, Te(n), "fixed" === r.options.strategy), popper: we(n) }), 2907 (r.reset = !1), 2908 (r.placement = r.options.placement), 2909 r.orderedModifiers.forEach(function (e) { 2910 return (r.modifiersData[e.name] = Object.assign({}, e.data)); 2911 }); 2912 for (var i = 0; i < r.orderedModifiers.length; i++) 2913 if (!0 !== r.reset) { 2914 var s = r.orderedModifiers[i], 2915 o = s.fn, 2916 a = s.options, 2917 c = void 0 === a ? {} : a, 2918 h = s.name; 2919 "function" == typeof o && (r = o({ state: r, options: c, name: h, instance: d }) || r); 2920 } else (r.reset = !1), (i = -1); 2921 } 2922 } 2923 }, 2924 update: 2925 ((s = function () { 2926 return new Promise(function (e) { 2927 d.forceUpdate(), e(r); 2928 }); 2929 }), 2930 function () { 2931 return ( 2932 a || 2933 (a = new Promise(function (e) { 2934 Promise.resolve().then(function () { 2935 (a = void 0), e(s()); 2936 }); 2937 })), 2938 a 2939 ); 2940 }), 2941 destroy: function () { 2942 h(), (l = !0); 2943 }, 2944 }; 2945 if (!pt(e, t)) return d; 2946 function h() { 2947 c.forEach(function (e) { 2948 return e(); 2949 }), 2950 (c = []); 2951 } 2952 return ( 2953 d.setOptions(n).then(function (e) { 2954 !l && n.onFirstUpdate && n.onFirstUpdate(e); 2955 }), 2956 d 2957 ); 2958 }; 2959 } 2960 var mt = ft(), 2961 gt = ft({ defaultModifiers: [Re, ct, Be, be] }), 2962 vt = ft({ defaultModifiers: [Re, ct, Be, be, rt, it, lt, He, at] }), 2963 bt = Object.freeze({ 2964 __proto__: null, 2965 popperGenerator: ft, 2966 detectOverflow: tt, 2967 createPopperBase: mt, 2968 createPopper: vt, 2969 createPopperLite: gt, 2970 top: oe, 2971 bottom: ae, 2972 right: re, 2973 left: ce, 2974 auto: "auto", 2975 basePlacements: le, 2976 start: "start", 2977 end: "end", 2978 clippingParents: "clippingParents", 2979 viewport: "viewport", 2980 popper: "popper", 2981 reference: "reference", 2982 variationPlacements: de, 2983 placements: he, 2984 beforeRead: "beforeRead", 2985 read: "read", 2986 afterRead: "afterRead", 2987 beforeMain: "beforeMain", 2988 main: "main", 2989 afterMain: "afterMain", 2990 beforeWrite: "beforeWrite", 2991 write: "write", 2992 afterWrite: "afterWrite", 2993 modifierPhases: ue, 2994 applyStyles: be, 2995 arrow: He, 2996 computeStyles: Be, 2997 eventListeners: Re, 2998 flip: it, 2999 hide: at, 3000 offset: rt, 3001 popperOffsets: ct, 3002 preventOverflow: lt, 3003 }); 3004 const yt = new RegExp("ArrowUp|ArrowDown|Escape"), 3005 _t = g() ? "top-end" : "top-start", 3006 wt = g() ? "top-start" : "top-end", 3007 xt = g() ? "bottom-end" : "bottom-start", 3008 Et = g() ? "bottom-start" : "bottom-end", 3009 kt = g() ? "left-start" : "right-start", 3010 St = g() ? "right-start" : "left-start", 3011 Ct = { offset: [0, 2], boundary: "clippingParents", reference: "toggle", display: "dynamic", popperConfig: null, autoClose: !0 }, 3012 Lt = { offset: "(array|string|function)", boundary: "(string|element)", reference: "(string|element|object)", display: "string", popperConfig: "(null|object|function)", autoClose: "(boolean|string)" }; 3013 class Tt extends B { 3014 constructor(e, t) { 3015 super(e), (this._popper = null), (this._config = this._getConfig(t)), (this._menu = this._getMenuElement()), (this._inNavbar = this._detectNavbar()), this._addEventListeners(); 3016 } 3017 static get Default() { 3018 return Ct; 3019 } 3020 static get DefaultType() { 3021 return Lt; 3022 } 3023 static get NAME() { 3024 return "dropdown"; 3025 } 3026 toggle() { 3027 d(this._element) || (this._element.classList.contains("show") ? this.hide() : this.show()); 3028 } 3029 show() { 3030 if (d(this._element) || this._menu.classList.contains("show")) return; 3031 const e = Tt.getParentFromElement(this._element), 3032 t = { relatedTarget: this._element }; 3033 if (!H.trigger(this._element, "show.bs.dropdown", t).defaultPrevented) { 3034 if (this._inNavbar) U.setDataAttribute(this._menu, "popper", "none"); 3035 else { 3036 if (void 0 === bt) throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)"); 3037 let t = this._element; 3038 "parent" === this._config.reference ? (t = e) : a(this._config.reference) ? (t = r(this._config.reference)) : "object" == typeof this._config.reference && (t = this._config.reference); 3039 const n = this._getPopperConfig(), 3040 i = n.modifiers.find((e) => "applyStyles" === e.name && !1 === e.enabled); 3041 (this._popper = vt(t, this._menu, n)), i && U.setDataAttribute(this._menu, "popper", "static"); 3042 } 3043 "ontouchstart" in document.documentElement && !e.closest(".navbar-nav") && [].concat(...document.body.children).forEach((e) => H.on(e, "mouseover", u)), 3044 this._element.focus(), 3045 this._element.setAttribute("aria-expanded", !0), 3046 this._menu.classList.toggle("show"), 3047 this._element.classList.toggle("show"), 3048 H.trigger(this._element, "shown.bs.dropdown", t); 3049 } 3050 } 3051 hide() { 3052 if (d(this._element) || !this._menu.classList.contains("show")) return; 3053 const e = { relatedTarget: this._element }; 3054 this._completeHide(e); 3055 } 3056 dispose() { 3057 this._popper && this._popper.destroy(), super.dispose(); 3058 } 3059 update() { 3060 (this._inNavbar = this._detectNavbar()), this._popper && this._popper.update(); 3061 } 3062 _addEventListeners() { 3063 H.on(this._element, "click.bs.dropdown", (e) => { 3064 e.preventDefault(), this.toggle(); 3065 }); 3066 } 3067 _completeHide(e) { 3068 H.trigger(this._element, "hide.bs.dropdown", e).defaultPrevented || 3069 ("ontouchstart" in document.documentElement && [].concat(...document.body.children).forEach((e) => H.off(e, "mouseover", u)), 3070 this._popper && this._popper.destroy(), 3071 this._menu.classList.remove("show"), 3072 this._element.classList.remove("show"), 3073 this._element.setAttribute("aria-expanded", "false"), 3074 U.removeDataAttribute(this._menu, "popper"), 3075 H.trigger(this._element, "hidden.bs.dropdown", e)); 3076 } 3077 _getConfig(e) { 3078 if ( 3079 ((e = { ...this.constructor.Default, ...U.getDataAttributes(this._element), ...e }), 3080 c("dropdown", e, this.constructor.DefaultType), 3081 "object" == typeof e.reference && !a(e.reference) && "function" != typeof e.reference.getBoundingClientRect) 3082 ) 3083 throw new TypeError("dropdown".toUpperCase() + ': Option "reference" provided type "object" without a required "getBoundingClientRect" method.'); 3084 return e; 3085 } 3086 _getMenuElement() { 3087 return e.next(this._element, ".dropdown-menu")[0]; 3088 } 3089 _getPlacement() { 3090 const e = this._element.parentNode; 3091 if (e.classList.contains("dropend")) return kt; 3092 if (e.classList.contains("dropstart")) return St; 3093 const t = "end" === getComputedStyle(this._menu).getPropertyValue("--bs-position").trim(); 3094 return e.classList.contains("dropup") ? (t ? wt : _t) : t ? Et : xt; 3095 } 3096 _detectNavbar() { 3097 return null !== this._element.closest(".navbar"); 3098 } 3099 _getOffset() { 3100 const { offset: e } = this._config; 3101 return "string" == typeof e ? e.split(",").map((e) => Number.parseInt(e, 10)) : "function" == typeof e ? (t) => e(t, this._element) : e; 3102 } 3103 _getPopperConfig() { 3104 const e = { 3105 placement: this._getPlacement(), 3106 modifiers: [ 3107 { name: "preventOverflow", options: { boundary: this._config.boundary } }, 3108 { name: "offset", options: { offset: this._getOffset() } }, 3109 ], 3110 }; 3111 return ( 3112 "static" === this._config.display && (e.modifiers = [{ name: "applyStyles", enabled: !1 }]), 3113 { ...e, ...("function" == typeof this._config.popperConfig ? this._config.popperConfig(e) : this._config.popperConfig) } 3114 ); 3115 } 3116 _selectMenuItem({ key: t, target: n }) { 3117 const i = e.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)", this._menu).filter(l); 3118 i.length && _(i, n, "ArrowDown" === t, !i.includes(n)).focus(); 3119 } 3120 static dropdownInterface(e, t) { 3121 const n = Tt.getOrCreateInstance(e, t); 3122 if ("string" == typeof t) { 3123 if (void 0 === n[t]) throw new TypeError(`No method named "${t}"`); 3124 n[t](); 3125 } 3126 } 3127 static jQueryInterface(e) { 3128 return this.each(function () { 3129 Tt.dropdownInterface(this, e); 3130 }); 3131 } 3132 static clearMenus(t) { 3133 if (t && (2 === t.button || ("keyup" === t.type && "Tab" !== t.key))) return; 3134 const n = e.find('[data-bs-toggle="dropdown"]'); 3135 for (let e = 0, i = n.length; e < i; e++) { 3136 const i = Tt.getInstance(n[e]); 3137 if (!i || !1 === i._config.autoClose) continue; 3138 if (!i._element.classList.contains("show")) continue; 3139 const s = { relatedTarget: i._element }; 3140 if (t) { 3141 const e = t.composedPath(), 3142 n = e.includes(i._menu); 3143 if (e.includes(i._element) || ("inside" === i._config.autoClose && !n) || ("outside" === i._config.autoClose && n)) continue; 3144 if (i._menu.contains(t.target) && (("keyup" === t.type && "Tab" === t.key) || /input|select|option|textarea|form/i.test(t.target.tagName))) continue; 3145 "click" === t.type && (s.clickEvent = t); 3146 } 3147 i._completeHide(s); 3148 } 3149 } 3150 static getParentFromElement(e) { 3151 return s(e) || e.parentNode; 3152 } 3153 static dataApiKeydownHandler(t) { 3154 if (/input|textarea/i.test(t.target.tagName) ? "Space" === t.key || ("Escape" !== t.key && (("ArrowDown" !== t.key && "ArrowUp" !== t.key) || t.target.closest(".dropdown-menu"))) : !yt.test(t.key)) return; 3155 const n = this.classList.contains("show"); 3156 if (!n && "Escape" === t.key) return; 3157 if ((t.preventDefault(), t.stopPropagation(), d(this))) return; 3158 const i = () => (this.matches('[data-bs-toggle="dropdown"]') ? this : e.prev(this, '[data-bs-toggle="dropdown"]')[0]); 3159 return "Escape" === t.key 3160 ? (i().focus(), void Tt.clearMenus()) 3161 : "ArrowUp" === t.key || "ArrowDown" === t.key 3162 ? (n || i().click(), void Tt.getInstance(i())._selectMenuItem(t)) 3163 : void ((n && "Space" !== t.key) || Tt.clearMenus()); 3164 } 3165 } 3166 H.on(document, "keydown.bs.dropdown.data-api", '[data-bs-toggle="dropdown"]', Tt.dataApiKeydownHandler), 3167 H.on(document, "keydown.bs.dropdown.data-api", ".dropdown-menu", Tt.dataApiKeydownHandler), 3168 H.on(document, "click.bs.dropdown.data-api", Tt.clearMenus), 3169 H.on(document, "keyup.bs.dropdown.data-api", Tt.clearMenus), 3170 H.on(document, "click.bs.dropdown.data-api", '[data-bs-toggle="dropdown"]', function (e) { 3171 e.preventDefault(), Tt.dropdownInterface(this); 3172 }), 3173 v(Tt); 3174 class Dt { 3175 constructor() { 3176 this._element = document.body; 3177 } 3178 getWidth() { 3179 const e = document.documentElement.clientWidth; 3180 return Math.abs(window.innerWidth - e); 3181 } 3182 hide() { 3183 const e = this.getWidth(); 3184 this._disableOverFlow(), 3185 this._setElementAttributes(this._element, "paddingRight", (t) => t + e), 3186 this._setElementAttributes(".fixed-top, .fixed-bottom, .is-fixed, .sticky-top", "paddingRight", (t) => t + e), 3187 this._setElementAttributes(".sticky-top", "marginRight", (t) => t - e); 3188 } 3189 _disableOverFlow() { 3190 this._saveInitialAttribute(this._element, "overflow"), (this._element.style.overflow = "hidden"); 3191 } 3192 _setElementAttributes(e, t, n) { 3193 const i = this.getWidth(); 3194 this._applyManipulationCallback(e, (e) => { 3195 if (e !== this._element && window.innerWidth > e.clientWidth + i) return; 3196 this._saveInitialAttribute(e, t); 3197 const s = window.getComputedStyle(e)[t]; 3198 e.style[t] = n(Number.parseFloat(s)) + "px"; 3199 }); 3200 } 3201 reset() { 3202 this._resetElementAttributes(this._element, "overflow"), 3203 this._resetElementAttributes(this._element, "paddingRight"), 3204 this._resetElementAttributes(".fixed-top, .fixed-bottom, .is-fixed, .sticky-top", "paddingRight"), 3205 this._resetElementAttributes(".sticky-top", "marginRight"); 3206 } 3207 _saveInitialAttribute(e, t) { 3208 const n = e.style[t]; 3209 n && U.setDataAttribute(e, t, n); 3210 } 3211 _resetElementAttributes(e, t) { 3212 this._applyManipulationCallback(e, (e) => { 3213 const n = U.getDataAttribute(e, t); 3214 void 0 === n ? e.style.removeProperty(t) : (U.removeDataAttribute(e, t), (e.style[t] = n)); 3215 }); 3216 } 3217 _applyManipulationCallback(t, n) { 3218 a(t) ? n(t) : e.find(t, this._element).forEach(n); 3219 } 3220 isOverflowing() { 3221 return this.getWidth() > 0; 3222 } 3223 } 3224 const At = { isVisible: !0, isAnimated: !1, rootElement: "body", clickCallback: null }, 3225 Pt = { isVisible: "boolean", isAnimated: "boolean", rootElement: "(element|string)", clickCallback: "(function|null)" }; 3226 class $t { 3227 constructor(e) { 3228 (this._config = this._getConfig(e)), (this._isAppended = !1), (this._element = null); 3229 } 3230 show(e) { 3231 this._config.isVisible 3232 ? (this._append(), 3233 this._config.isAnimated && p(this._getElement()), 3234 this._getElement().classList.add("show"), 3235 this._emulateAnimation(() => { 3236 b(e); 3237 })) 3238 : b(e); 3239 } 3240 hide(e) { 3241 this._config.isVisible 3242 ? (this._getElement().classList.remove("show"), 3243 this._emulateAnimation(() => { 3244 this.dispose(), b(e); 3245 })) 3246 : b(e); 3247 } 3248 _getElement() { 3249 if (!this._element) { 3250 const e = document.createElement("div"); 3251 (e.className = "modal-backdrop"), this._config.isAnimated && e.classList.add("fade"), (this._element = e); 3252 } 3253 return this._element; 3254 } 3255 _getConfig(e) { 3256 return ((e = { ...At, ...("object" == typeof e ? e : {}) }).rootElement = r(e.rootElement)), c("backdrop", e, Pt), e; 3257 } 3258 _append() { 3259 this._isAppended || 3260 (this._config.rootElement.appendChild(this._getElement()), 3261 H.on(this._getElement(), "mousedown.bs.backdrop", () => { 3262 b(this._config.clickCallback); 3263 }), 3264 (this._isAppended = !0)); 3265 } 3266 dispose() { 3267 this._isAppended && (H.off(this._element, "mousedown.bs.backdrop"), this._element.remove(), (this._isAppended = !1)); 3268 } 3269 _emulateAnimation(e) { 3270 y(e, this._getElement(), this._config.isAnimated); 3271 } 3272 } 3273 const Ot = { backdrop: !0, keyboard: !0, focus: !0 }, 3274 Mt = { backdrop: "(boolean|string)", keyboard: "boolean", focus: "boolean" }; 3275 class It extends B { 3276 constructor(t, n) { 3277 super(t), 3278 (this._config = this._getConfig(n)), 3279 (this._dialog = e.findOne(".modal-dialog", this._element)), 3280 (this._backdrop = this._initializeBackDrop()), 3281 (this._isShown = !1), 3282 (this._ignoreBackdropClick = !1), 3283 (this._isTransitioning = !1), 3284 (this._scrollBar = new Dt()); 3285 } 3286 static get Default() { 3287 return Ot; 3288 } 3289 static get NAME() { 3290 return "modal"; 3291 } 3292 toggle(e) { 3293 return this._isShown ? this.hide() : this.show(e); 3294 } 3295 show(e) { 3296 this._isShown || 3297 this._isTransitioning || 3298 H.trigger(this._element, "show.bs.modal", { relatedTarget: e }).defaultPrevented || 3299 ((this._isShown = !0), 3300 this._isAnimated() && (this._isTransitioning = !0), 3301 this._scrollBar.hide(), 3302 document.body.classList.add("modal-open"), 3303 this._adjustDialog(), 3304 this._setEscapeEvent(), 3305 this._setResizeEvent(), 3306 H.on(this._element, "click.dismiss.bs.modal", '[data-bs-dismiss="modal"]', (e) => this.hide(e)), 3307 H.on(this._dialog, "mousedown.dismiss.bs.modal", () => { 3308 H.one(this._element, "mouseup.dismiss.bs.modal", (e) => { 3309 e.target === this._element && (this._ignoreBackdropClick = !0); 3310 }); 3311 }), 3312 this._showBackdrop(() => this._showElement(e))); 3313 } 3314 hide(e) { 3315 if ((e && ["A", "AREA"].includes(e.target.tagName) && e.preventDefault(), !this._isShown || this._isTransitioning)) return; 3316 if (H.trigger(this._element, "hide.bs.modal").defaultPrevented) return; 3317 this._isShown = !1; 3318 const t = this._isAnimated(); 3319 t && (this._isTransitioning = !0), 3320 this._setEscapeEvent(), 3321 this._setResizeEvent(), 3322 H.off(document, "focusin.bs.modal"), 3323 this._element.classList.remove("show"), 3324 H.off(this._element, "click.dismiss.bs.modal"), 3325 H.off(this._dialog, "mousedown.dismiss.bs.modal"), 3326 this._queueCallback(() => this._hideModal(), this._element, t); 3327 } 3328 dispose() { 3329 [window, this._dialog].forEach((e) => H.off(e, ".bs.modal")), this._backdrop.dispose(), super.dispose(), H.off(document, "focusin.bs.modal"); 3330 } 3331 handleUpdate() { 3332 this._adjustDialog(); 3333 } 3334 _initializeBackDrop() { 3335 return new $t({ isVisible: Boolean(this._config.backdrop), isAnimated: this._isAnimated() }); 3336 } 3337 _getConfig(e) { 3338 return (e = { ...Ot, ...U.getDataAttributes(this._element), ...("object" == typeof e ? e : {}) }), c("modal", e, Mt), e; 3339 } 3340 _showElement(t) { 3341 const n = this._isAnimated(), 3342 i = e.findOne(".modal-body", this._dialog); 3343 (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE) || document.body.appendChild(this._element), 3344 (this._element.style.display = "block"), 3345 this._element.removeAttribute("aria-hidden"), 3346 this._element.setAttribute("aria-modal", !0), 3347 this._element.setAttribute("role", "dialog"), 3348 (this._element.scrollTop = 0), 3349 i && (i.scrollTop = 0), 3350 n && p(this._element), 3351 this._element.classList.add("show"), 3352 this._config.focus && this._enforceFocus(), 3353 this._queueCallback( 3354 () => { 3355 this._config.focus && this._element.focus(), (this._isTransitioning = !1), H.trigger(this._element, "shown.bs.modal", { relatedTarget: t }); 3356 }, 3357 this._dialog, 3358 n 3359 ); 3360 } 3361 _enforceFocus() { 3362 H.off(document, "focusin.bs.modal"), 3363 H.on(document, "focusin.bs.modal", (e) => { 3364 document === e.target || this._element === e.target || this._element.contains(e.target) || this._element.focus(); 3365 }); 3366 } 3367 _setEscapeEvent() { 3368 this._isShown 3369 ? H.on(this._element, "keydown.dismiss.bs.modal", (e) => { 3370 this._config.keyboard && "Escape" === e.key ? (e.preventDefault(), this.hide()) : this._config.keyboard || "Escape" !== e.key || this._triggerBackdropTransition(); 3371 }) 3372 : H.off(this._element, "keydown.dismiss.bs.modal"); 3373 } 3374 _setResizeEvent() { 3375 this._isShown ? H.on(window, "resize.bs.modal", () => this._adjustDialog()) : H.off(window, "resize.bs.modal"); 3376 } 3377 _hideModal() { 3378 (this._element.style.display = "none"), 3379 this._element.setAttribute("aria-hidden", !0), 3380 this._element.removeAttribute("aria-modal"), 3381 this._element.removeAttribute("role"), 3382 (this._isTransitioning = !1), 3383 this._backdrop.hide(() => { 3384 document.body.classList.remove("modal-open"), this._resetAdjustments(), this._scrollBar.reset(), H.trigger(this._element, "hidden.bs.modal"); 3385 }); 3386 } 3387 _showBackdrop(e) { 3388 H.on(this._element, "click.dismiss.bs.modal", (e) => { 3389 this._ignoreBackdropClick 3390 ? (this._ignoreBackdropClick = !1) 3391 : e.target === e.currentTarget && (!0 === this._config.backdrop ? this.hide() : "static" === this._config.backdrop && this._triggerBackdropTransition()); 3392 }), 3393 this._backdrop.show(e); 3394 } 3395 _isAnimated() { 3396 return this._element.classList.contains("fade"); 3397 } 3398 _triggerBackdropTransition() { 3399 if (H.trigger(this._element, "hidePrevented.bs.modal").defaultPrevented) return; 3400 const { classList: e, scrollHeight: t, style: n } = this._element, 3401 i = t > document.documentElement.clientHeight; 3402 (!i && "hidden" === n.overflowY) || 3403 e.contains("modal-static") || 3404 (i || (n.overflowY = "hidden"), 3405 e.add("modal-static"), 3406 this._queueCallback(() => { 3407 e.remove("modal-static"), 3408 i || 3409 this._queueCallback(() => { 3410 n.overflowY = ""; 3411 }, this._dialog); 3412 }, this._dialog), 3413 this._element.focus()); 3414 } 3415 _adjustDialog() { 3416 const e = this._element.scrollHeight > document.documentElement.clientHeight, 3417 t = this._scrollBar.getWidth(), 3418 n = t > 0; 3419 ((!n && e && !g()) || (n && !e && g())) && (this._element.style.paddingLeft = t + "px"), ((n && !e && !g()) || (!n && e && g())) && (this._element.style.paddingRight = t + "px"); 3420 } 3421 _resetAdjustments() { 3422 (this._element.style.paddingLeft = ""), (this._element.style.paddingRight = ""); 3423 } 3424 static jQueryInterface(e, t) { 3425 return this.each(function () { 3426 const n = It.getOrCreateInstance(this, e); 3427 if ("string" == typeof e) { 3428 if (void 0 === n[e]) throw new TypeError(`No method named "${e}"`); 3429 n[e](t); 3430 } 3431 }); 3432 } 3433 } 3434 H.on(document, "click.bs.modal.data-api", '[data-bs-toggle="modal"]', function (e) { 3435 const t = s(this); 3436 ["A", "AREA"].includes(this.tagName) && e.preventDefault(), 3437 H.one(t, "show.bs.modal", (e) => { 3438 e.defaultPrevented || 3439 H.one(t, "hidden.bs.modal", () => { 3440 l(this) && this.focus(); 3441 }); 3442 }), 3443 It.getOrCreateInstance(t).toggle(this); 3444 }), 3445 v(It); 3446 const Ht = ".bs.offcanvas", 3447 jt = `load${Ht}.data-api`, 3448 Nt = { backdrop: !0, keyboard: !0, scroll: !1 }, 3449 Bt = { backdrop: "boolean", keyboard: "boolean", scroll: "boolean" }, 3450 Ft = `click${Ht}.data-api`; 3451 class Rt extends B { 3452 constructor(e, t) { 3453 super(e), (this._config = this._getConfig(t)), (this._isShown = !1), (this._backdrop = this._initializeBackDrop()), this._addEventListeners(); 3454 } 3455 static get NAME() { 3456 return "offcanvas"; 3457 } 3458 static get Default() { 3459 return Nt; 3460 } 3461 toggle(e) { 3462 return this._isShown ? this.hide() : this.show(e); 3463 } 3464 show(e) { 3465 this._isShown || 3466 H.trigger(this._element, "show.bs.offcanvas", { relatedTarget: e }).defaultPrevented || 3467 ((this._isShown = !0), 3468 (this._element.style.visibility = "visible"), 3469 this._backdrop.show(), 3470 this._config.scroll || (new Dt().hide(), this._enforceFocusOnElement(this._element)), 3471 this._element.removeAttribute("aria-hidden"), 3472 this._element.setAttribute("aria-modal", !0), 3473 this._element.setAttribute("role", "dialog"), 3474 this._element.classList.add("show"), 3475 this._queueCallback( 3476 () => { 3477 H.trigger(this._element, "shown.bs.offcanvas", { relatedTarget: e }); 3478 }, 3479 this._element, 3480 !0 3481 )); 3482 } 3483 hide() { 3484 this._isShown && 3485 (H.trigger(this._element, "hide.bs.offcanvas").defaultPrevented || 3486 (H.off(document, "focusin.bs.offcanvas"), 3487 this._element.blur(), 3488 (this._isShown = !1), 3489 this._element.classList.remove("show"), 3490 this._backdrop.hide(), 3491 this._queueCallback( 3492 () => { 3493 this._element.setAttribute("aria-hidden", !0), 3494 this._element.removeAttribute("aria-modal"), 3495 this._element.removeAttribute("role"), 3496 (this._element.style.visibility = "hidden"), 3497 this._config.scroll || new Dt().reset(), 3498 H.trigger(this._element, "hidden.bs.offcanvas"); 3499 }, 3500 this._element, 3501 !0 3502 ))); 3503 } 3504 dispose() { 3505 this._backdrop.dispose(), super.dispose(), H.off(document, "focusin.bs.offcanvas"); 3506 } 3507 _getConfig(e) { 3508 return (e = { ...Nt, ...U.getDataAttributes(this._element), ...("object" == typeof e ? e : {}) }), c("offcanvas", e, Bt), e; 3509 } 3510 _initializeBackDrop() { 3511 return new $t({ isVisible: this._config.backdrop, isAnimated: !0, rootElement: this._element.parentNode, clickCallback: () => this.hide() }); 3512 } 3513 _enforceFocusOnElement(e) { 3514 H.off(document, "focusin.bs.offcanvas"), 3515 H.on(document, "focusin.bs.offcanvas", (t) => { 3516 document === t.target || e === t.target || e.contains(t.target) || e.focus(); 3517 }), 3518 e.focus(); 3519 } 3520 _addEventListeners() { 3521 H.on(this._element, "click.dismiss.bs.offcanvas", '[data-bs-dismiss="offcanvas"]', () => this.hide()), 3522 H.on(this._element, "keydown.dismiss.bs.offcanvas", (e) => { 3523 this._config.keyboard && "Escape" === e.key && this.hide(); 3524 }); 3525 } 3526 static jQueryInterface(e) { 3527 return this.each(function () { 3528 const t = Rt.getOrCreateInstance(this, e); 3529 if ("string" == typeof e) { 3530 if (void 0 === t[e] || e.startsWith("_") || "constructor" === e) throw new TypeError(`No method named "${e}"`); 3531 t[e](this); 3532 } 3533 }); 3534 } 3535 } 3536 H.on(document, Ft, '[data-bs-toggle="offcanvas"]', function (t) { 3537 const n = s(this); 3538 if ((["A", "AREA"].includes(this.tagName) && t.preventDefault(), d(this))) return; 3539 H.one(n, "hidden.bs.offcanvas", () => { 3540 l(this) && this.focus(); 3541 }); 3542 const i = e.findOne(".offcanvas.show"); 3543 i && i !== n && Rt.getInstance(i).hide(), Rt.getOrCreateInstance(n).toggle(this); 3544 }), 3545 H.on(window, jt, () => e.find(".offcanvas.show").forEach((e) => Rt.getOrCreateInstance(e).show())), 3546 v(Rt); 3547 const qt = new Set(["background", "cite", "href", "itemtype", "longdesc", "poster", "src", "xlink:href"]), 3548 zt = /^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/i, 3549 Ut = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i, 3550 Vt = (e, t) => { 3551 const n = e.nodeName.toLowerCase(); 3552 if (t.includes(n)) return !qt.has(n) || Boolean(zt.test(e.nodeValue) || Ut.test(e.nodeValue)); 3553 const i = t.filter((e) => e instanceof RegExp); 3554 for (let e = 0, t = i.length; e < t; e++) if (i[e].test(n)) return !0; 3555 return !1; 3556 }, 3557 Wt = { 3558 "*": ["class", "dir", "id", "lang", "role", /^aria-[\w-]*$/i], 3559 a: ["target", "href", "title", "rel"], 3560 area: [], 3561 b: [], 3562 br: [], 3563 col: [], 3564 code: [], 3565 div: [], 3566 em: [], 3567 hr: [], 3568 h1: [], 3569 h2: [], 3570 h3: [], 3571 h4: [], 3572 h5: [], 3573 h6: [], 3574 i: [], 3575 img: ["src", "srcset", "alt", "title", "width", "height"], 3576 li: [], 3577 ol: [], 3578 p: [], 3579 pre: [], 3580 s: [], 3581 small: [], 3582 span: [], 3583 sub: [], 3584 sup: [], 3585 strong: [], 3586 u: [], 3587 ul: [], 3588 }; 3589 function Yt(e, t, n) { 3590 if (!e.length) return e; 3591 if (n && "function" == typeof n) return n(e); 3592 const i = new window.DOMParser().parseFromString(e, "text/html"), 3593 s = Object.keys(t), 3594 o = [].concat(...i.body.querySelectorAll("*")); 3595 for (let e = 0, n = o.length; e < n; e++) { 3596 const n = o[e], 3597 i = n.nodeName.toLowerCase(); 3598 if (!s.includes(i)) { 3599 n.remove(); 3600 continue; 3601 } 3602 const a = [].concat(...n.attributes), 3603 r = [].concat(t["*"] || [], t[i] || []); 3604 a.forEach((e) => { 3605 Vt(e, r) || n.removeAttribute(e.nodeName); 3606 }); 3607 } 3608 return i.body.innerHTML; 3609 } 3610 const Xt = new RegExp("(^|\\s)bs-tooltip\\S+", "g"), 3611 Kt = new Set(["sanitize", "allowList", "sanitizeFn"]), 3612 Gt = { 3613 animation: "boolean", 3614 template: "string", 3615 title: "(string|element|function)", 3616 trigger: "string", 3617 delay: "(number|object)", 3618 html: "boolean", 3619 selector: "(string|boolean)", 3620 placement: "(string|function)", 3621 offset: "(array|string|function)", 3622 container: "(string|element|boolean)", 3623 fallbackPlacements: "array", 3624 boundary: "(string|element)", 3625 customClass: "(string|function)", 3626 sanitize: "boolean", 3627 sanitizeFn: "(null|function)", 3628 allowList: "object", 3629 popperConfig: "(null|object|function)", 3630 }, 3631 Zt = { AUTO: "auto", TOP: "top", RIGHT: g() ? "left" : "right", BOTTOM: "bottom", LEFT: g() ? "right" : "left" }, 3632 Qt = { 3633 animation: !0, 3634 template: '<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>', 3635 trigger: "hover focus", 3636 title: "", 3637 delay: 0, 3638 html: !1, 3639 selector: !1, 3640 placement: "top", 3641 offset: [0, 0], 3642 container: !1, 3643 fallbackPlacements: ["top", "right", "bottom", "left"], 3644 boundary: "clippingParents", 3645 customClass: "", 3646 sanitize: !0, 3647 sanitizeFn: null, 3648 allowList: Wt, 3649 popperConfig: null, 3650 }, 3651 Jt = { 3652 HIDE: "hide.bs.tooltip", 3653 HIDDEN: "hidden.bs.tooltip", 3654 SHOW: "show.bs.tooltip", 3655 SHOWN: "shown.bs.tooltip", 3656 INSERTED: "inserted.bs.tooltip", 3657 CLICK: "click.bs.tooltip", 3658 FOCUSIN: "focusin.bs.tooltip", 3659 FOCUSOUT: "focusout.bs.tooltip", 3660 MOUSEENTER: "mouseenter.bs.tooltip", 3661 MOUSELEAVE: "mouseleave.bs.tooltip", 3662 }; 3663 class en extends B { 3664 constructor(e, t) { 3665 if (void 0 === bt) throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)"); 3666 super(e), (this._isEnabled = !0), (this._timeout = 0), (this._hoverState = ""), (this._activeTrigger = {}), (this._popper = null), (this._config = this._getConfig(t)), (this.tip = null), this._setListeners(); 3667 } 3668 static get Default() { 3669 return Qt; 3670 } 3671 static get NAME() { 3672 return "tooltip"; 3673 } 3674 static get Event() { 3675 return Jt; 3676 } 3677 static get DefaultType() { 3678 return Gt; 3679 } 3680 enable() { 3681 this._isEnabled = !0; 3682 } 3683 disable() { 3684 this._isEnabled = !1; 3685 } 3686 toggleEnabled() { 3687 this._isEnabled = !this._isEnabled; 3688 } 3689 toggle(e) { 3690 if (this._isEnabled) 3691 if (e) { 3692 const t = this._initializeOnDelegatedTarget(e); 3693 (t._activeTrigger.click = !t._activeTrigger.click), t._isWithActiveTrigger() ? t._enter(null, t) : t._leave(null, t); 3694 } else { 3695 if (this.getTipElement().classList.contains("show")) return void this._leave(null, this); 3696 this._enter(null, this); 3697 } 3698 } 3699 dispose() { 3700 clearTimeout(this._timeout), H.off(this._element.closest(".modal"), "hide.bs.modal", this._hideModalHandler), this.tip && this.tip.remove(), this._popper && this._popper.destroy(), super.dispose(); 3701 } 3702 show() { 3703 if ("none" === this._element.style.display) throw new Error("Please use show on visible elements"); 3704 if (!this.isWithContent() || !this._isEnabled) return; 3705 const e = H.trigger(this._element, this.constructor.Event.SHOW), 3706 n = h(this._element), 3707 i = null === n ? this._element.ownerDocument.documentElement.contains(this._element) : n.contains(this._element); 3708 if (e.defaultPrevented || !i) return; 3709 const s = this.getTipElement(), 3710 o = t(this.constructor.NAME); 3711 s.setAttribute("id", o), this._element.setAttribute("aria-describedby", o), this.setContent(), this._config.animation && s.classList.add("fade"); 3712 const a = "function" == typeof this._config.placement ? this._config.placement.call(this, s, this._element) : this._config.placement, 3713 r = this._getAttachment(a); 3714 this._addAttachmentClass(r); 3715 const { container: c } = this._config; 3716 N.set(s, this.constructor.DATA_KEY, this), 3717 this._element.ownerDocument.documentElement.contains(this.tip) || (c.appendChild(s), H.trigger(this._element, this.constructor.Event.INSERTED)), 3718 this._popper ? this._popper.update() : (this._popper = vt(this._element, s, this._getPopperConfig(r))), 3719 s.classList.add("show"); 3720 const l = "function" == typeof this._config.customClass ? this._config.customClass() : this._config.customClass; 3721 l && s.classList.add(...l.split(" ")), 3722 "ontouchstart" in document.documentElement && 3723 [].concat(...document.body.children).forEach((e) => { 3724 H.on(e, "mouseover", u); 3725 }); 3726 const d = this.tip.classList.contains("fade"); 3727 this._queueCallback( 3728 () => { 3729 const e = this._hoverState; 3730 (this._hoverState = null), H.trigger(this._element, this.constructor.Event.SHOWN), "out" === e && this._leave(null, this); 3731 }, 3732 this.tip, 3733 d 3734 ); 3735 } 3736 hide() { 3737 if (!this._popper) return; 3738 const e = this.getTipElement(); 3739 if (H.trigger(this._element, this.constructor.Event.HIDE).defaultPrevented) return; 3740 e.classList.remove("show"), 3741 "ontouchstart" in document.documentElement && [].concat(...document.body.children).forEach((e) => H.off(e, "mouseover", u)), 3742 (this._activeTrigger.click = !1), 3743 (this._activeTrigger.focus = !1), 3744 (this._activeTrigger.hover = !1); 3745 const t = this.tip.classList.contains("fade"); 3746 this._queueCallback( 3747 () => { 3748 this._isWithActiveTrigger() || 3749 ("show" !== this._hoverState && e.remove(), 3750 this._cleanTipClass(), 3751 this._element.removeAttribute("aria-describedby"), 3752 H.trigger(this._element, this.constructor.Event.HIDDEN), 3753 this._popper && (this._popper.destroy(), (this._popper = null))); 3754 }, 3755 this.tip, 3756 t 3757 ), 3758 (this._hoverState = ""); 3759 } 3760 update() { 3761 null !== this._popper && this._popper.update(); 3762 } 3763 isWithContent() { 3764 return Boolean(this.getTitle()); 3765 } 3766 getTipElement() { 3767 if (this.tip) return this.tip; 3768 const e = document.createElement("div"); 3769 return (e.innerHTML = this._config.template), (this.tip = e.children[0]), this.tip; 3770 } 3771 setContent() { 3772 const t = this.getTipElement(); 3773 this.setElementContent(e.findOne(".tooltip-inner", t), this.getTitle()), t.classList.remove("fade", "show"); 3774 } 3775 setElementContent(e, t) { 3776 if (null !== e) 3777 return a(t) 3778 ? ((t = r(t)), void (this._config.html ? t.parentNode !== e && ((e.innerHTML = ""), e.appendChild(t)) : (e.textContent = t.textContent))) 3779 : void (this._config.html ? (this._config.sanitize && (t = Yt(t, this._config.allowList, this._config.sanitizeFn)), (e.innerHTML = t)) : (e.textContent = t)); 3780 } 3781 getTitle() { 3782 let e = this._element.getAttribute("data-bs-original-title"); 3783 return e || (e = "function" == typeof this._config.title ? this._config.title.call(this._element) : this._config.title), e; 3784 } 3785 updateAttachment(e) { 3786 return "right" === e ? "end" : "left" === e ? "start" : e; 3787 } 3788 _initializeOnDelegatedTarget(e, t) { 3789 const n = this.constructor.DATA_KEY; 3790 return (t = t || N.get(e.delegateTarget, n)) || ((t = new this.constructor(e.delegateTarget, this._getDelegateConfig())), N.set(e.delegateTarget, n, t)), t; 3791 } 3792 _getOffset() { 3793 const { offset: e } = this._config; 3794 return "string" == typeof e ? e.split(",").map((e) => Number.parseInt(e, 10)) : "function" == typeof e ? (t) => e(t, this._element) : e; 3795 } 3796 _getPopperConfig(e) { 3797 const t = { 3798 placement: e, 3799 modifiers: [ 3800 { name: "flip", options: { fallbackPlacements: this._config.fallbackPlacements } }, 3801 { name: "offset", options: { offset: this._getOffset() } }, 3802 { name: "preventOverflow", options: { boundary: this._config.boundary } }, 3803 { name: "arrow", options: { element: `.${this.constructor.NAME}-arrow` } }, 3804 { name: "onChange", enabled: !0, phase: "afterWrite", fn: (e) => this._handlePopperPlacementChange(e) }, 3805 ], 3806 onFirstUpdate: (e) => { 3807 e.options.placement !== e.placement && this._handlePopperPlacementChange(e); 3808 }, 3809 }; 3810 return { ...t, ...("function" == typeof this._config.popperConfig ? this._config.popperConfig(t) : this._config.popperConfig) }; 3811 } 3812 _addAttachmentClass(e) { 3813 this.getTipElement().classList.add("bs-tooltip-" + this.updateAttachment(e)); 3814 } 3815 _getAttachment(e) { 3816 return Zt[e.toUpperCase()]; 3817 } 3818 _setListeners() { 3819 this._config.trigger.split(" ").forEach((e) => { 3820 if ("click" === e) H.on(this._element, this.constructor.Event.CLICK, this._config.selector, (e) => this.toggle(e)); 3821 else if ("manual" !== e) { 3822 const t = "hover" === e ? this.constructor.Event.MOUSEENTER : this.constructor.Event.FOCUSIN, 3823 n = "hover" === e ? this.constructor.Event.MOUSELEAVE : this.constructor.Event.FOCUSOUT; 3824 H.on(this._element, t, this._config.selector, (e) => this._enter(e)), H.on(this._element, n, this._config.selector, (e) => this._leave(e)); 3825 } 3826 }), 3827 (this._hideModalHandler = () => { 3828 this._element && this.hide(); 3829 }), 3830 H.on(this._element.closest(".modal"), "hide.bs.modal", this._hideModalHandler), 3831 this._config.selector ? (this._config = { ...this._config, trigger: "manual", selector: "" }) : this._fixTitle(); 3832 } 3833 _fixTitle() { 3834 const e = this._element.getAttribute("title"), 3835 t = typeof this._element.getAttribute("data-bs-original-title"); 3836 (e || "string" !== t) && 3837 (this._element.setAttribute("data-bs-original-title", e || ""), 3838 !e || this._element.getAttribute("aria-label") || this._element.textContent || this._element.setAttribute("aria-label", e), 3839 this._element.setAttribute("title", "")); 3840 } 3841 _enter(e, t) { 3842 (t = this._initializeOnDelegatedTarget(e, t)), 3843 e && (t._activeTrigger["focusin" === e.type ? "focus" : "hover"] = !0), 3844 t.getTipElement().classList.contains("show") || "show" === t._hoverState 3845 ? (t._hoverState = "show") 3846 : (clearTimeout(t._timeout), 3847 (t._hoverState = "show"), 3848 t._config.delay && t._config.delay.show 3849 ? (t._timeout = setTimeout(() => { 3850 "show" === t._hoverState && t.show(); 3851 }, t._config.delay.show)) 3852 : t.show()); 3853 } 3854 _leave(e, t) { 3855 (t = this._initializeOnDelegatedTarget(e, t)), 3856 e && (t._activeTrigger["focusout" === e.type ? "focus" : "hover"] = t._element.contains(e.relatedTarget)), 3857 t._isWithActiveTrigger() || 3858 (clearTimeout(t._timeout), 3859 (t._hoverState = "out"), 3860 t._config.delay && t._config.delay.hide 3861 ? (t._timeout = setTimeout(() => { 3862 "out" === t._hoverState && t.hide(); 3863 }, t._config.delay.hide)) 3864 : t.hide()); 3865 } 3866 _isWithActiveTrigger() { 3867 for (const e in this._activeTrigger) if (this._activeTrigger[e]) return !0; 3868 return !1; 3869 } 3870 _getConfig(e) { 3871 const t = U.getDataAttributes(this._element); 3872 return ( 3873 Object.keys(t).forEach((e) => { 3874 Kt.has(e) && delete t[e]; 3875 }), 3876 ((e = { ...this.constructor.Default, ...t, ...("object" == typeof e && e ? e : {}) }).container = !1 === e.container ? document.body : r(e.container)), 3877 "number" == typeof e.delay && (e.delay = { show: e.delay, hide: e.delay }), 3878 "number" == typeof e.title && (e.title = e.title.toString()), 3879 "number" == typeof e.content && (e.content = e.content.toString()), 3880 c("tooltip", e, this.constructor.DefaultType), 3881 e.sanitize && (e.template = Yt(e.template, e.allowList, e.sanitizeFn)), 3882 e 3883 ); 3884 } 3885 _getDelegateConfig() { 3886 const e = {}; 3887 if (this._config) for (const t in this._config) this.constructor.Default[t] !== this._config[t] && (e[t] = this._config[t]); 3888 return e; 3889 } 3890 _cleanTipClass() { 3891 const e = this.getTipElement(), 3892 t = e.getAttribute("class").match(Xt); 3893 null !== t && t.length > 0 && t.map((e) => e.trim()).forEach((t) => e.classList.remove(t)); 3894 } 3895 _handlePopperPlacementChange(e) { 3896 const { state: t } = e; 3897 t && ((this.tip = t.elements.popper), this._cleanTipClass(), this._addAttachmentClass(this._getAttachment(t.placement))); 3898 } 3899 static jQueryInterface(e) { 3900 return this.each(function () { 3901 const t = en.getOrCreateInstance(this, e); 3902 if ("string" == typeof e) { 3903 if (void 0 === t[e]) throw new TypeError(`No method named "${e}"`); 3904 t[e](); 3905 } 3906 }); 3907 } 3908 } 3909 v(en); 3910 const tn = new RegExp("(^|\\s)bs-popover\\S+", "g"), 3911 nn = { 3912 ...en.Default, 3913 placement: "right", 3914 offset: [0, 8], 3915 trigger: "click", 3916 content: "", 3917 template: '<div class="popover" role="tooltip"><div class="popover-arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>', 3918 }, 3919 sn = { ...en.DefaultType, content: "(string|element|function)" }, 3920 on = { 3921 HIDE: "hide.bs.popover", 3922 HIDDEN: "hidden.bs.popover", 3923 SHOW: "show.bs.popover", 3924 SHOWN: "shown.bs.popover", 3925 INSERTED: "inserted.bs.popover", 3926 CLICK: "click.bs.popover", 3927 FOCUSIN: "focusin.bs.popover", 3928 FOCUSOUT: "focusout.bs.popover", 3929 MOUSEENTER: "mouseenter.bs.popover", 3930 MOUSELEAVE: "mouseleave.bs.popover", 3931 }; 3932 class an extends en { 3933 static get Default() { 3934 return nn; 3935 } 3936 static get NAME() { 3937 return "popover"; 3938 } 3939 static get Event() { 3940 return on; 3941 } 3942 static get DefaultType() { 3943 return sn; 3944 } 3945 isWithContent() { 3946 return this.getTitle() || this._getContent(); 3947 } 3948 getTipElement() { 3949 return this.tip || ((this.tip = super.getTipElement()), this.getTitle() || e.findOne(".popover-header", this.tip).remove(), this._getContent() || e.findOne(".popover-body", this.tip).remove()), this.tip; 3950 } 3951 setContent() { 3952 const t = this.getTipElement(); 3953 this.setElementContent(e.findOne(".popover-header", t), this.getTitle()); 3954 let n = this._getContent(); 3955 "function" == typeof n && (n = n.call(this._element)), this.setElementContent(e.findOne(".popover-body", t), n), t.classList.remove("fade", "show"); 3956 } 3957 _addAttachmentClass(e) { 3958 this.getTipElement().classList.add("bs-popover-" + this.updateAttachment(e)); 3959 } 3960 _getContent() { 3961 return this._element.getAttribute("data-bs-content") || this._config.content; 3962 } 3963 _cleanTipClass() { 3964 const e = this.getTipElement(), 3965 t = e.getAttribute("class").match(tn); 3966 null !== t && t.length > 0 && t.map((e) => e.trim()).forEach((t) => e.classList.remove(t)); 3967 } 3968 static jQueryInterface(e) { 3969 return this.each(function () { 3970 const t = an.getOrCreateInstance(this, e); 3971 if ("string" == typeof e) { 3972 if (void 0 === t[e]) throw new TypeError(`No method named "${e}"`); 3973 t[e](); 3974 } 3975 }); 3976 } 3977 } 3978 v(an); 3979 const rn = { offset: 10, method: "auto", target: "" }, 3980 cn = { offset: "number", method: "string", target: "(string|element)" }; 3981 class ln extends B { 3982 constructor(e, t) { 3983 super(e), 3984 (this._scrollElement = "BODY" === this._element.tagName ? window : this._element), 3985 (this._config = this._getConfig(t)), 3986 (this._selector = `${this._config.target} .nav-link, ${this._config.target} .list-group-item, ${this._config.target} .dropdown-item`), 3987 (this._offsets = []), 3988 (this._targets = []), 3989 (this._activeTarget = null), 3990 (this._scrollHeight = 0), 3991 H.on(this._scrollElement, "scroll.bs.scrollspy", () => this._process()), 3992 this.refresh(), 3993 this._process(); 3994 } 3995 static get Default() { 3996 return rn; 3997 } 3998 static get NAME() { 3999 return "scrollspy"; 4000 } 4001 refresh() { 4002 const t = this._scrollElement === this._scrollElement.window ? "offset" : "position", 4003 n = "auto" === this._config.method ? t : this._config.method, 4004 s = "position" === n ? this._getScrollTop() : 0; 4005 (this._offsets = []), 4006 (this._targets = []), 4007 (this._scrollHeight = this._getScrollHeight()), 4008 e 4009 .find(this._selector) 4010 .map((t) => { 4011 const o = i(t), 4012 a = o ? e.findOne(o) : null; 4013 if (a) { 4014 const e = a.getBoundingClientRect(); 4015 if (e.width || e.height) return [U[n](a).top + s, o]; 4016 } 4017 return null; 4018 }) 4019 .filter((e) => e) 4020 .sort((e, t) => e[0] - t[0]) 4021 .forEach((e) => { 4022 this._offsets.push(e[0]), this._targets.push(e[1]); 4023 }); 4024 } 4025 dispose() { 4026 H.off(this._scrollElement, ".bs.scrollspy"), super.dispose(); 4027 } 4028 _getConfig(e) { 4029 if ("string" != typeof (e = { ...rn, ...U.getDataAttributes(this._element), ...("object" == typeof e && e ? e : {}) }).target && a(e.target)) { 4030 let { id: n } = e.target; 4031 n || ((n = t("scrollspy")), (e.target.id = n)), (e.target = "#" + n); 4032 } 4033 return c("scrollspy", e, cn), e; 4034 } 4035 _getScrollTop() { 4036 return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop; 4037 } 4038 _getScrollHeight() { 4039 return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight); 4040 } 4041 _getOffsetHeight() { 4042 return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height; 4043 } 4044 _process() { 4045 const e = this._getScrollTop() + this._config.offset, 4046 t = this._getScrollHeight(), 4047 n = this._config.offset + t - this._getOffsetHeight(); 4048 if ((this._scrollHeight !== t && this.refresh(), e >= n)) { 4049 const e = this._targets[this._targets.length - 1]; 4050 this._activeTarget !== e && this._activate(e); 4051 } else { 4052 if (this._activeTarget && e < this._offsets[0] && this._offsets[0] > 0) return (this._activeTarget = null), void this._clear(); 4053 for (let t = this._offsets.length; t--; ) this._activeTarget !== this._targets[t] && e >= this._offsets[t] && (void 0 === this._offsets[t + 1] || e < this._offsets[t + 1]) && this._activate(this._targets[t]); 4054 } 4055 } 4056 _activate(t) { 4057 (this._activeTarget = t), this._clear(); 4058 const n = this._selector.split(",").map((e) => `${e}[data-bs-target="${t}"],${e}[href="${t}"]`), 4059 i = e.findOne(n.join(",")); 4060 i.classList.contains("dropdown-item") 4061 ? (e.findOne(".dropdown-toggle", i.closest(".dropdown")).classList.add("active"), i.classList.add("active")) 4062 : (i.classList.add("active"), 4063 e.parents(i, ".nav, .list-group").forEach((t) => { 4064 e.prev(t, ".nav-link, .list-group-item").forEach((e) => e.classList.add("active")), 4065 e.prev(t, ".nav-item").forEach((t) => { 4066 e.children(t, ".nav-link").forEach((e) => e.classList.add("active")); 4067 }); 4068 })), 4069 H.trigger(this._scrollElement, "activate.bs.scrollspy", { relatedTarget: t }); 4070 } 4071 _clear() { 4072 e.find(this._selector) 4073 .filter((e) => e.classList.contains("active")) 4074 .forEach((e) => e.classList.remove("active")); 4075 } 4076 static jQueryInterface(e) { 4077 return this.each(function () { 4078 const t = ln.getOrCreateInstance(this, e); 4079 if ("string" == typeof e) { 4080 if (void 0 === t[e]) throw new TypeError(`No method named "${e}"`); 4081 t[e](); 4082 } 4083 }); 4084 } 4085 } 4086 H.on(window, "load.bs.scrollspy.data-api", () => { 4087 e.find('[data-bs-spy="scroll"]').forEach((e) => new ln(e)); 4088 }), 4089 v(ln); 4090 class dn extends B { 4091 static get NAME() { 4092 return "tab"; 4093 } 4094 show() { 4095 if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && this._element.classList.contains("active")) return; 4096 let t; 4097 const n = s(this._element), 4098 i = this._element.closest(".nav, .list-group"); 4099 if (i) { 4100 const n = "UL" === i.nodeName || "OL" === i.nodeName ? ":scope > li > .active" : ".active"; 4101 (t = e.find(n, i)), (t = t[t.length - 1]); 4102 } 4103 const o = t ? H.trigger(t, "hide.bs.tab", { relatedTarget: this._element }) : null; 4104 if (H.trigger(this._element, "show.bs.tab", { relatedTarget: t }).defaultPrevented || (null !== o && o.defaultPrevented)) return; 4105 this._activate(this._element, i); 4106 const a = () => { 4107 H.trigger(t, "hidden.bs.tab", { relatedTarget: this._element }), H.trigger(this._element, "shown.bs.tab", { relatedTarget: t }); 4108 }; 4109 n ? this._activate(n, n.parentNode, a) : a(); 4110 } 4111 _activate(t, n, i) { 4112 const s = (!n || ("UL" !== n.nodeName && "OL" !== n.nodeName) ? e.children(n, ".active") : e.find(":scope > li > .active", n))[0], 4113 o = i && s && s.classList.contains("fade"), 4114 a = () => this._transitionComplete(t, s, i); 4115 s && o ? (s.classList.remove("show"), this._queueCallback(a, t, !0)) : a(); 4116 } 4117 _transitionComplete(t, n, i) { 4118 if (n) { 4119 n.classList.remove("active"); 4120 const t = e.findOne(":scope > .dropdown-menu .active", n.parentNode); 4121 t && t.classList.remove("active"), "tab" === n.getAttribute("role") && n.setAttribute("aria-selected", !1); 4122 } 4123 t.classList.add("active"), "tab" === t.getAttribute("role") && t.setAttribute("aria-selected", !0), p(t), t.classList.contains("fade") && t.classList.add("show"); 4124 let s = t.parentNode; 4125 if ((s && "LI" === s.nodeName && (s = s.parentNode), s && s.classList.contains("dropdown-menu"))) { 4126 const n = t.closest(".dropdown"); 4127 n && e.find(".dropdown-toggle", n).forEach((e) => e.classList.add("active")), t.setAttribute("aria-expanded", !0); 4128 } 4129 i && i(); 4130 } 4131 static jQueryInterface(e) { 4132 return this.each(function () { 4133 const t = dn.getOrCreateInstance(this); 4134 if ("string" == typeof e) { 4135 if (void 0 === t[e]) throw new TypeError(`No method named "${e}"`); 4136 t[e](); 4137 } 4138 }); 4139 } 4140 } 4141 H.on(document, "click.bs.tab.data-api", '[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]', function (e) { 4142 ["A", "AREA"].includes(this.tagName) && e.preventDefault(), d(this) || dn.getOrCreateInstance(this).show(); 4143 }), 4144 v(dn); 4145 const hn = { animation: "boolean", autohide: "boolean", delay: "number" }, 4146 un = { animation: !0, autohide: !0, delay: 5e3 }; 4147 class pn extends B { 4148 constructor(e, t) { 4149 super(e), (this._config = this._getConfig(t)), (this._timeout = null), (this._hasMouseInteraction = !1), (this._hasKeyboardInteraction = !1), this._setListeners(); 4150 } 4151 static get DefaultType() { 4152 return hn; 4153 } 4154 static get Default() { 4155 return un; 4156 } 4157 static get NAME() { 4158 return "toast"; 4159 } 4160 show() { 4161 H.trigger(this._element, "show.bs.toast").defaultPrevented || 4162 (this._clearTimeout(), 4163 this._config.animation && this._element.classList.add("fade"), 4164 this._element.classList.remove("hide"), 4165 p(this._element), 4166 this._element.classList.add("showing"), 4167 this._queueCallback( 4168 () => { 4169 this._element.classList.remove("showing"), this._element.classList.add("show"), H.trigger(this._element, "shown.bs.toast"), this._maybeScheduleHide(); 4170 }, 4171 this._element, 4172 this._config.animation 4173 )); 4174 } 4175 hide() { 4176 this._element.classList.contains("show") && 4177 (H.trigger(this._element, "hide.bs.toast").defaultPrevented || 4178 (this._element.classList.remove("show"), 4179 this._queueCallback( 4180 () => { 4181 this._element.classList.add("hide"), H.trigger(this._element, "hidden.bs.toast"); 4182 }, 4183 this._element, 4184 this._config.animation 4185 ))); 4186 } 4187 dispose() { 4188 this._clearTimeout(), this._element.classList.contains("show") && this._element.classList.remove("show"), super.dispose(); 4189 } 4190 _getConfig(e) { 4191 return (e = { ...un, ...U.getDataAttributes(this._element), ...("object" == typeof e && e ? e : {}) }), c("toast", e, this.constructor.DefaultType), e; 4192 } 4193 _maybeScheduleHide() { 4194 this._config.autohide && 4195 (this._hasMouseInteraction || 4196 this._hasKeyboardInteraction || 4197 (this._timeout = setTimeout(() => { 4198 this.hide(); 4199 }, this._config.delay))); 4200 } 4201 _onInteraction(e, t) { 4202 switch (e.type) { 4203 case "mouseover": 4204 case "mouseout": 4205 this._hasMouseInteraction = t; 4206 break; 4207 case "focusin": 4208 case "focusout": 4209 this._hasKeyboardInteraction = t; 4210 } 4211 if (t) return void this._clearTimeout(); 4212 const n = e.relatedTarget; 4213 this._element === n || this._element.contains(n) || this._maybeScheduleHide(); 4214 } 4215 _setListeners() { 4216 H.on(this._element, "click.dismiss.bs.toast", '[data-bs-dismiss="toast"]', () => this.hide()), 4217 H.on(this._element, "mouseover.bs.toast", (e) => this._onInteraction(e, !0)), 4218 H.on(this._element, "mouseout.bs.toast", (e) => this._onInteraction(e, !1)), 4219 H.on(this._element, "focusin.bs.toast", (e) => this._onInteraction(e, !0)), 4220 H.on(this._element, "focusout.bs.toast", (e) => this._onInteraction(e, !1)); 4221 } 4222 _clearTimeout() { 4223 clearTimeout(this._timeout), (this._timeout = null); 4224 } 4225 static jQueryInterface(e) { 4226 return this.each(function () { 4227 const t = pn.getOrCreateInstance(this, e); 4228 if ("string" == typeof e) { 4229 if (void 0 === t[e]) throw new TypeError(`No method named "${e}"`); 4230 t[e](this); 4231 } 4232 }); 4233 } 4234 } 4235 return v(pn), { Alert: F, Button: R, Carousel: te, Collapse: se, Dropdown: Tt, Modal: It, Offcanvas: Rt, Popover: an, ScrollSpy: ln, Tab: dn, Toast: pn, Tooltip: en }; 4236 })(); 4237 }, 4238
vendor: 27,804 bytes, lines 4238-4636
4238"../node_modules/custom-select/build/custom-select.min.js": 4239 /*!****************************************************************!*\ 4240!*** ../node_modules/custom-select/build/custom-select.min.js ***! 4241\****************************************************************/ 4242 /*! no static exports found */ function (e, t, n) { 4243 (function (e) { 4244 !(function e(t, n, i) { 4245 function s(a, r) { 4246 if (!n[a]) { 4247 if (!t[a]) { 4248 if (o) return o(a, !0); 4249 var c = new Error("Cannot find module '" + a + "'"); 4250 throw ((c.code = "MODULE_NOT_FOUND"), c); 4251 } 4252 var l = (n[a] = { exports: {} }); 4253 t[a][0].call( 4254 l.exports, 4255 function (e) { 4256 var n = t[a][1][e]; 4257 return s(n || e); 4258 }, 4259 l, 4260 l.exports, 4261 e, 4262 t, 4263 n, 4264 i 4265 ); 4266 } 4267 return n[a].exports; 4268 } 4269 for (var o = !1, a = 0; a < i.length; a++) s(i[a]); 4270 return s; 4271 })( 4272 { 4273 1: [ 4274 function (e, t, n) { 4275 try { 4276 var i = new window.CustomEvent("test"); 4277 if ((i.preventDefault(), !0 !== i.defaultPrevented)) throw new Error("Could not prevent default"); 4278 } catch (e) { 4279 var s = function (e, t) { 4280 var n, i; 4281 return ( 4282 (t = t || { bubbles: !1, cancelable: !1, detail: void 0 }), 4283 (n = document.createEvent("CustomEvent")).initCustomEvent(e, t.bubbles, t.cancelable, t.detail), 4284 (i = n.preventDefault), 4285 (n.preventDefault = function () { 4286 i.call(this); 4287 try { 4288 Object.defineProperty(this, "defaultPrevented", { 4289 get: function () { 4290 return !0; 4291 }, 4292 }); 4293 } catch (e) { 4294 this.defaultPrevented = !0; 4295 } 4296 }), 4297 n 4298 ); 4299 }; 4300 (s.prototype = window.Event.prototype), (window.CustomEvent = s); 4301 } 4302 }, 4303 {}, 4304 ], 4305 2: [ 4306 function (t, n, i) { 4307 (function (e) { 4308 "use strict"; 4309 var n, 4310 i = t("./index"), 4311 s = (n = i) && n.__esModule ? n : { default: n }; 4312 !(function (e) { 4313 e.customSelect = s.default; 4314 })(void 0 !== e ? e : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}); 4315 }.call(this, void 0 !== e ? e : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {})); 4316 }, 4317 { "./index": 3 }, 4318 ], 4319 3: [ 4320 function (e, t, n) { 4321 "use strict"; 4322 function i(e, t) { 4323 function n(e) { 4324 x && x.classList.remove(t.hasFocusClass), 4325 void 0 !== e 4326 ? ((x = e).classList.add(t.hasFocusClass), 4327 v && 4328 (e.offsetTop < e.offsetParent.scrollTop || e.offsetTop > e.offsetParent.scrollTop + e.offsetParent.clientHeight - e.clientHeight) && 4329 e.dispatchEvent(new CustomEvent("custom-select:focus-outside-panel", { bubbles: !0 }))) 4330 : (x = void 0); 4331 } 4332 function i(e) { 4333 E && (E.classList.remove(t.isSelectedClass), E.removeAttribute("id"), w.removeAttribute("aria-activedescendant")), 4334 void 0 !== e 4335 ? (e.classList.add(t.isSelectedClass), 4336 e.setAttribute("id", g + "-" + b + "-selectedOption"), 4337 w.setAttribute("aria-activedescendant", g + "-" + b + "-selectedOption"), 4338 (E = e), 4339 (w.children[0].textContent = E.customSelectOriginalOption.text)) 4340 : ((E = void 0), (w.children[0].textContent = "")), 4341 n(e); 4342 } 4343 function s(e) { 4344 var t = [].indexOf.call(y.options, x.customSelectOriginalOption); 4345 y.options[t + e] && n(y.options[t + e].customSelectCstOption); 4346 } 4347 function a(e) { 4348 if (e || void 0 === e) { 4349 var i = document.querySelector("." + g + "." + t.isOpenClass); 4350 i && (i.customSelect.open = !1), 4351 _.classList.add(t.isOpenClass), 4352 _.classList.add(t.isOpenClass), 4353 w.setAttribute("aria-expanded", "true"), 4354 E && (k.scrollTop = E.offsetTop), 4355 _.dispatchEvent(new CustomEvent("custom-select:open")), 4356 (v = !0); 4357 } else _.classList.remove(t.isOpenClass), w.setAttribute("aria-expanded", "false"), (v = !1), n(E), _.dispatchEvent(new CustomEvent("custom-select:close")); 4358 return v; 4359 } 4360 function r(e) { 4361 e.target === w || w.contains(e.target) 4362 ? v 4363 ? a(!1) 4364 : a() 4365 : e.target.classList && e.target.classList.contains(t.optionClass) && k.contains(e.target) 4366 ? (i(e.target), (E.customSelectOriginalOption.selected = !0), a(!1), y.dispatchEvent(new CustomEvent("change"))) 4367 : e.target === y 4368 ? w !== document.activeElement && y !== document.activeElement && w.focus() 4369 : v && !_.contains(e.target) && a(!1); 4370 } 4371 function c(e) { 4372 e.target.classList && e.target.classList.contains(t.optionClass) && n(e.target); 4373 } 4374 function l(e) { 4375 if (v) 4376 switch (e.keyCode) { 4377 case 13: 4378 case 32: 4379 i(x), (E.customSelectOriginalOption.selected = !0), y.dispatchEvent(new CustomEvent("change")), a(!1); 4380 break; 4381 case 27: 4382 a(!1); 4383 break; 4384 case 38: 4385 s(-1); 4386 break; 4387 case 40: 4388 s(1); 4389 break; 4390 default: 4391 if (e.keyCode >= 48 && e.keyCode <= 90) { 4392 C && clearTimeout(C), 4393 (C = setTimeout(function () { 4394 L = ""; 4395 }, 1500)), 4396 (L += String.fromCharCode(e.keyCode)); 4397 for (var t = 0, o = y.options.length; t < o; t++) 4398 if (y.options[t].text.toUpperCase().substr(0, L.length) === L) { 4399 n(y.options[t].customSelectCstOption); 4400 break; 4401 } 4402 } 4403 } 4404 else (40 !== e.keyCode && 38 !== e.keyCode && 32 !== e.keyCode) || a(); 4405 } 4406 function d() { 4407 var e = y.selectedIndex; 4408 i(-1 === e ? void 0 : y.options[e].customSelectCstOption); 4409 } 4410 function h(e) { 4411 var t = e.currentTarget, 4412 n = e.target; 4413 n.offsetTop < t.scrollTop ? (t.scrollTop = n.offsetTop) : (t.scrollTop = n.offsetTop + n.clientHeight - t.clientHeight); 4414 } 4415 function u() { 4416 document.addEventListener("click", r), 4417 k.addEventListener("mouseover", c), 4418 k.addEventListener("custom-select:focus-outside-panel", h), 4419 y.addEventListener("change", d), 4420 _.addEventListener("keydown", l); 4421 } 4422 function p() { 4423 document.removeEventListener("click", r), 4424 k.removeEventListener("mouseover", c), 4425 k.removeEventListener("custom-select:focus-outside-panel", h), 4426 y.removeEventListener("change", d), 4427 _.removeEventListener("keydown", l); 4428 } 4429 function f(e) { 4430 var n = e, 4431 s = []; 4432 if (void 0 === n.length) throw new TypeError("Invalid Argument"); 4433 for (var o = 0, a = n.length; o < a; o++) 4434 if (n[o] instanceof HTMLElement && "OPTGROUP" === n[o].tagName.toUpperCase()) { 4435 var r = document.createElement("div"); 4436 r.classList.add(t.optgroupClass), r.setAttribute("data-label", n[o].label), (r.customSelectOriginalOptgroup = n[o]), (n[o].customSelectCstOptgroup = r); 4437 for (var c = f(n[o].children), l = 0, d = c.length; l < d; l++) r.appendChild(c[l]); 4438 s.push(r); 4439 } else { 4440 if (!(n[o] instanceof HTMLElement && "OPTION" === n[o].tagName.toUpperCase())) throw new TypeError("Invalid Argument"); 4441 var h = document.createElement("div"); 4442 h.classList.add(t.optionClass), 4443 (h.textContent = n[o].text), 4444 h.setAttribute("data-value", n[o].value), 4445 h.setAttribute("role", "option"), 4446 (h.customSelectOriginalOption = n[o]), 4447 (n[o].customSelectCstOption = h), 4448 n[o].selected && i(h), 4449 s.push(h); 4450 } 4451 return s; 4452 } 4453 function m(e, t, n) { 4454 var i = void 0; 4455 if (void 0 === n || n === y) i = k; 4456 else { 4457 if (!(n instanceof HTMLElement && "OPTGROUP" === n.tagName.toUpperCase() && y.contains(n))) throw new TypeError("Invalid Argument"); 4458 i = n.customSelectCstOptgroup; 4459 } 4460 var s = e instanceof HTMLElement ? [e] : e; 4461 if (t) for (var o = 0, a = s.length; o < a; o++) i === k ? y.appendChild(s[o]) : i.customSelectOriginalOptgroup.appendChild(s[o]); 4462 for (var r = f(s), c = 0, l = r.length; c < l; c++) i.appendChild(r[c]); 4463 return s; 4464 } 4465 var g = "customSelect", 4466 v = !1, 4467 b = "", 4468 y = e, 4469 _ = void 0, 4470 w = void 0, 4471 x = void 0, 4472 E = void 0, 4473 k = void 0, 4474 S = void 0, 4475 C = void 0, 4476 L = ""; 4477 (_ = document.createElement("div")).classList.add(t.containerClass, g), 4478 ((w = document.createElement("span")).className = t.openerClass), 4479 w.setAttribute("role", "combobox"), 4480 w.setAttribute("aria-autocomplete", "list"), 4481 w.setAttribute("aria-expanded", "false"), 4482 (w.innerHTML = "<span>\n " + (-1 !== y.selectedIndex ? y.options[y.selectedIndex].text : "") + "\n </span>"), 4483 (k = document.createElement("div")); 4484 for (var T = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789", D = 0; D < 5; D++) b += T.charAt(Math.floor(Math.random() * T.length)); 4485 return ( 4486 (k.id = g + "-" + b + "-panel"), 4487 (k.className = t.panelClass), 4488 k.setAttribute("role", "listbox"), 4489 w.setAttribute("aria-owns", k.id), 4490 m(y.children, !1), 4491 _.appendChild(w), 4492 y.parentNode.replaceChild(_, y), 4493 _.appendChild(y), 4494 _.appendChild(k), 4495 document.querySelector('label[for="' + y.id + '"]') ? (S = document.querySelector('label[for="' + y.id + '"]')) : "LABEL" === _.parentNode.tagName.toUpperCase() && (S = _.parentNode), 4496 void 0 !== S && (S.setAttribute("id", g + "-" + b + "-label"), w.setAttribute("aria-labelledby", g + "-" + b + "-label")), 4497 y.disabled ? _.classList.add(t.isDisabledClass) : (w.setAttribute("tabindex", "0"), y.setAttribute("tabindex", "-1"), u()), 4498 (_.customSelect = { 4499 get pluginOptions() { 4500 return t; 4501 }, 4502 get open() { 4503 return v; 4504 }, 4505 set open(e) { 4506 a(e); 4507 }, 4508 get disabled() { 4509 return y.disabled; 4510 }, 4511 set disabled(e) { 4512 !(function (e) { 4513 e && !y.disabled 4514 ? (_.classList.add(t.isDisabledClass), (y.disabled = !0), w.removeAttribute("tabindex"), _.dispatchEvent(new CustomEvent("custom-select:disabled")), p()) 4515 : !e && y.disabled && (_.classList.remove(t.isDisabledClass), (y.disabled = !1), w.setAttribute("tabindex", "0"), _.dispatchEvent(new CustomEvent("custom-select:enabled")), u()); 4516 })(e); 4517 }, 4518 get value() { 4519 return y.value; 4520 }, 4521 set value(e) { 4522 !(function (e) { 4523 var t = y.querySelector("option[value='" + e + "']"); 4524 t || (t = o(y.options, 1)[0]), (t.selected = !0), i(y.options[y.selectedIndex].customSelectCstOption); 4525 })(e); 4526 }, 4527 append: function (e, t) { 4528 return m(e, !0, t); 4529 }, 4530 insertBefore: function (e, t) { 4531 return (function (e, t) { 4532 var n = void 0; 4533 if (t instanceof HTMLElement && "OPTION" === t.tagName.toUpperCase() && y.contains(t)) n = t.customSelectCstOption; 4534 else { 4535 if (!(t instanceof HTMLElement && "OPTGROUP" === t.tagName.toUpperCase() && y.contains(t))) throw new TypeError("Invalid Argument"); 4536 n = t.customSelectCstOptgroup; 4537 } 4538 var i = f(e.length ? e : [e]); 4539 return n.parentNode.insertBefore(i[0], n), t.parentNode.insertBefore(e.length ? e[0] : e, t); 4540 })(e, t); 4541 }, 4542 remove: function (e) { 4543 var t = void 0; 4544 if (e instanceof HTMLElement && "OPTION" === e.tagName.toUpperCase() && y.contains(e)) t = e.customSelectCstOption; 4545 else { 4546 if (!(e instanceof HTMLElement && "OPTGROUP" === e.tagName.toUpperCase() && y.contains(e))) throw new TypeError("Invalid Argument"); 4547 t = e.customSelectCstOptgroup; 4548 } 4549 t.parentNode.removeChild(t); 4550 var n = e.parentNode.removeChild(e); 4551 return d(), n; 4552 }, 4553 empty: function () { 4554 for (var e = []; y.children.length; ) k.removeChild(k.children[0]), e.push(y.removeChild(y.children[0])); 4555 return i(), e; 4556 }, 4557 destroy: function () { 4558 for (var e = 0, t = y.options.length; e < t; e++) delete y.options[e].customSelectCstOption; 4559 for (var n = y.getElementsByTagName("optgroup"), i = 0, s = n.length; i < s; i++) delete n.customSelectCstOptgroup; 4560 return p(), _.parentNode.replaceChild(y, _); 4561 }, 4562 opener: w, 4563 select: y, 4564 panel: k, 4565 container: _, 4566 }), 4567 (y.customSelect = _.customSelect), 4568 _.customSelect 4569 ); 4570 } 4571 Object.defineProperty(n, "__esModule", { value: !0 }); 4572 var s = 4573 Object.assign || 4574 function (e) { 4575 for (var t = 1; t < arguments.length; t++) { 4576 var n = arguments[t]; 4577 for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (e[i] = n[i]); 4578 } 4579 return e; 4580 }, 4581 o = function (e, t) { 4582 if (Array.isArray(e)) return e; 4583 if (Symbol.iterator in Object(e)) 4584 return (function (e, t) { 4585 var n = [], 4586 i = !0, 4587 s = !1, 4588 o = void 0; 4589 try { 4590 for (var a, r = e[Symbol.iterator](); !(i = (a = r.next()).done) && (n.push(a.value), !t || n.length !== t); i = !0); 4591 } catch (e) { 4592 (s = !0), (o = e); 4593 } finally { 4594 try { 4595 !i && r.return && r.return(); 4596 } finally { 4597 if (s) throw o; 4598 } 4599 } 4600 return n; 4601 })(e, t); 4602 throw new TypeError("Invalid attempt to destructure non-iterable instance"); 4603 }; 4604 (n.default = function (e, t) { 4605 var n = [], 4606 o = []; 4607 return (function () { 4608 if (e && e instanceof HTMLElement && "SELECT" === e.tagName.toUpperCase()) n.push(e); 4609 else if (e && "string" == typeof e) for (var r = document.querySelectorAll(e), c = 0, l = r.length; c < l; ++c) r[c] instanceof HTMLElement && "SELECT" === r[c].tagName.toUpperCase() && n.push(r[c]); 4610 else if (e && e.length) for (var d = 0, h = e.length; d < h; ++d) e[d] instanceof HTMLElement && "SELECT" === e[d].tagName.toUpperCase() && n.push(e[d]); 4611 for (var u = 0, p = n.length; u < p; ++u) o.push(i(n[u], s({}, a, t))); 4612 return o; 4613 })(); 4614 }), 4615 e("custom-event-polyfill"); 4616 var a = { 4617 containerClass: "custom-select-container", 4618 openerClass: "custom-select-opener", 4619 panelClass: "custom-select-panel", 4620 optionClass: "custom-select-option", 4621 optgroupClass: "custom-select-optgroup", 4622 isSelectedClass: "is-selected", 4623 hasFocusClass: "has-focus", 4624 isDisabledClass: "is-disabled", 4625 isOpenClass: "is-open", 4626 }; 4627 }, 4628 { "custom-event-polyfill": 1 }, 4629 ], 4630 }, 4631 {}, 4632 [2] 4633 ); 4634 }.call(this, n(/*! ./../../webpack-stream/node_modules/webpack/buildin/global.js */ "../node_modules/webpack-stream/node_modules/webpack/buildin/global.js"))); 4635 }, 4636
vendor: 177,509 bytes, lines 4636-7302
4636"../node_modules/mmenu-js/dist/mmenu.js": 4637 /*!**********************************************!*\ 4638!*** ../node_modules/mmenu-js/dist/mmenu.js ***! 4639\**********************************************/ 4640 /*! no static exports found */ function (e, t) { 4641 !(function (e) { 4642 var t = {}; 4643 function n(i) { 4644 if (t[i]) return t[i].exports; 4645 var s = (t[i] = { i: i, l: !1, exports: {} }); 4646 return e[i].call(s.exports, s, s.exports, n), (s.l = !0), s.exports; 4647 } 4648 (n.m = e), 4649 (n.c = t), 4650 (n.d = function (e, t, i) { 4651 n.o(e, t) || Object.defineProperty(e, t, { enumerable: !0, get: i }); 4652 }), 4653 (n.r = function (e) { 4654 "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(e, "__esModule", { value: !0 }); 4655 }), 4656 (n.t = function (e, t) { 4657 if ((1 & t && (e = n(e)), 8 & t)) return e; 4658 if (4 & t && "object" == typeof e && e && e.__esModule) return e; 4659 var i = Object.create(null); 4660 if ((n.r(i), Object.defineProperty(i, "default", { enumerable: !0, value: e }), 2 & t && "string" != typeof e)) 4661 for (var s in e) 4662 n.d( 4663 i, 4664 s, 4665 function (t) { 4666 return e[t]; 4667 }.bind(null, s) 4668 ); 4669 return i; 4670 }), 4671 (n.n = function (e) { 4672 var t = 4673 e && e.__esModule 4674 ? function () { 4675 return e.default; 4676 } 4677 : function () { 4678 return e; 4679 }; 4680 return n.d(t, "a", t), t; 4681 }), 4682 (n.o = function (e, t) { 4683 return Object.prototype.hasOwnProperty.call(e, t); 4684 }), 4685 (n.p = ""), 4686 n((n.s = 0)); 4687 })([ 4688 function (e, t, n) { 4689 "use strict"; 4690 n.r(t); 4691 var i = { hooks: {}, extensions: [], wrappers: [], navbar: { add: !0, sticky: !0, title: "Menu", titleLink: "parent" }, onClick: { close: null, preventDefault: null, setSelected: !0 }, slidingSubmenus: !0 }, 4692 s = { 4693 classNames: { inset: "Inset", nolistview: "NoListview", nopanel: "NoPanel", panel: "Panel", selected: "Selected", vertical: "Vertical" }, 4694 language: null, 4695 openingInterval: 25, 4696 panelNodetype: ["ul", "ol", "div"], 4697 transitionDuration: 400, 4698 }; 4699 function o(e, t) { 4700 for (var n in ("object" != a(e) && (e = {}), "object" != a(t) && (t = {}), t)) t.hasOwnProperty(n) && (void 0 === e[n] ? (e[n] = t[n]) : "object" == a(e[n]) && o(e[n], t[n])); 4701 return e; 4702 } 4703 function a(e) { 4704 return {}.toString 4705 .call(e) 4706 .match(/\s([a-zA-Z]+)/)[1] 4707 .toLowerCase(); 4708 } 4709 function r(e, t, n) { 4710 if ("function" == typeof t) { 4711 var i = t.call(e); 4712 if (void 0 !== i) return i; 4713 } 4714 return (null !== t && "function" != typeof t && void 0 !== t) || void 0 === n ? t : n; 4715 } 4716 function c(e, t, n) { 4717 var i = !1, 4718 s = function (n) { 4719 (void 0 !== n && n.target !== e) || (i || (e.removeEventListener("transitionend", s), e.removeEventListener("webkitTransitionEnd", s), t.call(e)), (i = !0)); 4720 }; 4721 e.addEventListener("transitionend", s), e.addEventListener("webkitTransitionEnd", s), setTimeout(s, 1.1 * n); 4722 } 4723 function l() { 4724 return "mm-" + d++; 4725 } 4726 var d = 0; 4727 function h(e) { 4728 return "mm-" == e.slice(0, 3) ? e.slice(3) : e; 4729 } 4730 var u = {}; 4731 function p(e, t) { 4732 void 0 === u[t] && (u[t] = {}), o(u[t], e); 4733 } 4734 function f(e) { 4735 var t = e.split("."), 4736 n = document.createElement(t.shift()); 4737 return ( 4738 t.forEach(function (e) { 4739 n.classList.add(e); 4740 }), 4741 n 4742 ); 4743 } 4744 function m(e, t) { 4745 return Array.prototype.slice.call(e.querySelectorAll(t)); 4746 } 4747 function g(e, t) { 4748 var n = Array.prototype.slice.call(e.children); 4749 return t 4750 ? n.filter(function (e) { 4751 return e.matches(t); 4752 }) 4753 : n; 4754 } 4755 function v(e, t) { 4756 for (var n = [], i = e.parentElement; i; ) n.push(i), (i = i.parentElement); 4757 return t 4758 ? n.filter(function (e) { 4759 return e.matches(t); 4760 }) 4761 : n; 4762 } 4763 function b(e) { 4764 return e.filter(function (e) { 4765 return !e.matches(".mm-hidden"); 4766 }); 4767 } 4768 function y(e) { 4769 var t = []; 4770 return ( 4771 b(e).forEach(function (e) { 4772 t.push.apply(t, g(e, "a.mm-listitem__text")); 4773 }), 4774 t.filter(function (e) { 4775 return !e.matches(".mm-btn_next"); 4776 }) 4777 ); 4778 } 4779 function _(e, t, n) { 4780 e.matches("." + t) && (e.classList.remove(t), e.classList.add(n)); 4781 } 4782 var w = {}; 4783 function x(e, t, n) { 4784 "number" == typeof e && (e = "(min-width: " + e + "px)"), (w[e] = w[e] || []), w[e].push({ yes: t, no: n }); 4785 } 4786 function E(e, t) { 4787 for (var n = t.matches ? "yes" : "no", i = 0; i < w[e].length; i++) w[e][i][n](); 4788 } 4789 p({ Menu: "Menu" }, "nl"), p({ Menu: "???" }, "fa"), p({ Menu: "Men?" }, "de"), p({ Menu: "ÐенÑ" }, "ru"); 4790 var k = (function () { 4791 function e(t, n, i) { 4792 return ( 4793 (this.opts = o(n, e.options)), 4794 (this.conf = o(i, e.configs)), 4795 (this._api = ["bind", "initPanel", "initListview", "openPanel", "closePanel", "closeAllPanels", "setSelected"]), 4796 (this.node = {}), 4797 (this.vars = {}), 4798 (this.hook = {}), 4799 (this.clck = []), 4800 (this.node.menu = "string" == typeof t ? document.querySelector(t) : t), 4801 "function" == typeof this._deprecatedWarnings && this._deprecatedWarnings(), 4802 this._initWrappers(), 4803 this._initAddons(), 4804 this._initExtensions(), 4805 this._initHooks(), 4806 this._initAPI(), 4807 this._initMenu(), 4808 this._initPanels(), 4809 this._initOpened(), 4810 this._initAnchors(), 4811 (function () { 4812 var e = function (e) { 4813 var t = window.matchMedia(e); 4814 E(e, t), 4815 (t.onchange = function (n) { 4816 E(e, t); 4817 }); 4818 }; 4819 for (var t in w) e(t); 4820 })(), 4821 this 4822 ); 4823 } 4824 return ( 4825 (e.prototype.openPanel = function (e, t) { 4826 var n = this; 4827 if ((this.trigger("openPanel:before", [e]), e && (e.matches(".mm-panel") || (e = e.closest(".mm-panel")), e))) { 4828 if (("boolean" != typeof t && (t = !0), e.parentElement.matches(".mm-listitem_vertical"))) { 4829 v(e, ".mm-listitem_vertical").forEach(function (e) { 4830 e.classList.add("mm-listitem_opened"), 4831 g(e, ".mm-panel").forEach(function (e) { 4832 e.classList.remove("mm-hidden"); 4833 }); 4834 }); 4835 var i = v(e, ".mm-panel").filter(function (e) { 4836 return !e.parentElement.matches(".mm-listitem_vertical"); 4837 }); 4838 this.trigger("openPanel:start", [e]), i.length && this.openPanel(i[0]), this.trigger("openPanel:finish", [e]); 4839 } else { 4840 if (e.matches(".mm-panel_opened")) return; 4841 var s = g(this.node.pnls, ".mm-panel"), 4842 o = g(this.node.pnls, ".mm-panel_opened")[0]; 4843 s.filter(function (t) { 4844 return t !== e; 4845 }).forEach(function (e) { 4846 e.classList.remove("mm-panel_opened-parent"); 4847 }); 4848 for (var a = e.mmParent; a; ) (a = a.closest(".mm-panel")) && (a.parentElement.matches(".mm-listitem_vertical") || a.classList.add("mm-panel_opened-parent"), (a = a.mmParent)); 4849 s.forEach(function (e) { 4850 e.classList.remove("mm-panel_highest"); 4851 }), 4852 s 4853 .filter(function (e) { 4854 return e !== o; 4855 }) 4856 .filter(function (t) { 4857 return t !== e; 4858 }) 4859 .forEach(function (e) { 4860 e.classList.add("mm-hidden"); 4861 }), 4862 e.classList.remove("mm-hidden"); 4863 var r = function () { 4864 o && o.classList.remove("mm-panel_opened"), 4865 e.classList.add("mm-panel_opened"), 4866 e.matches(".mm-panel_opened-parent") 4867 ? (o && o.classList.add("mm-panel_highest"), e.classList.remove("mm-panel_opened-parent")) 4868 : (o && o.classList.add("mm-panel_opened-parent"), e.classList.add("mm-panel_highest")), 4869 n.trigger("openPanel:start", [e]); 4870 }, 4871 l = function () { 4872 o && (o.classList.remove("mm-panel_highest"), o.classList.add("mm-hidden")), e.classList.remove("mm-panel_highest"), n.trigger("openPanel:finish", [e]); 4873 }; 4874 t && !e.matches(".mm-panel_noanimation") 4875 ? setTimeout(function () { 4876 c( 4877 e, 4878 function () { 4879 l(); 4880 }, 4881 n.conf.transitionDuration 4882 ), 4883 r(); 4884 }, this.conf.openingInterval) 4885 : (r(), l()); 4886 } 4887 this.trigger("openPanel:after", [e]); 4888 } 4889 }), 4890 (e.prototype.closePanel = function (e) { 4891 this.trigger("closePanel:before", [e]); 4892 var t = e.parentElement; 4893 t.matches(".mm-listitem_vertical") && (t.classList.remove("mm-listitem_opened"), e.classList.add("mm-hidden"), this.trigger("closePanel", [e])), this.trigger("closePanel:after", [e]); 4894 }), 4895 (e.prototype.closeAllPanels = function (e) { 4896 this.trigger("closeAllPanels:before"), 4897 this.node.pnls.querySelectorAll(".mm-listitem").forEach(function (e) { 4898 e.classList.remove("mm-listitem_selected"), e.classList.remove("mm-listitem_opened"); 4899 }); 4900 var t = g(this.node.pnls, ".mm-panel"), 4901 n = e || t[0]; 4902 g(this.node.pnls, ".mm-panel").forEach(function (e) { 4903 e !== n && (e.classList.remove("mm-panel_opened"), e.classList.remove("mm-panel_opened-parent"), e.classList.remove("mm-panel_highest"), e.classList.add("mm-hidden")); 4904 }), 4905 this.openPanel(n, !1), 4906 this.trigger("closeAllPanels:after"); 4907 }), 4908 (e.prototype.togglePanel = function (e) { 4909 var t = e.parentElement; 4910 t.matches(".mm-listitem_vertical") && this[t.matches(".mm-listitem_opened") ? "closePanel" : "openPanel"](e); 4911 }), 4912 (e.prototype.setSelected = function (e) { 4913 this.trigger("setSelected:before", [e]), 4914 m(this.node.menu, ".mm-listitem_selected").forEach(function (e) { 4915 e.classList.remove("mm-listitem_selected"); 4916 }), 4917 e.classList.add("mm-listitem_selected"), 4918 this.trigger("setSelected:after", [e]); 4919 }), 4920 (e.prototype.bind = function (e, t) { 4921 (this.hook[e] = this.hook[e] || []), this.hook[e].push(t); 4922 }), 4923 (e.prototype.trigger = function (e, t) { 4924 if (this.hook[e]) for (var n = 0, i = this.hook[e].length; n < i; n++) this.hook[e][n].apply(this, t); 4925 }), 4926 (e.prototype._initAPI = function () { 4927 var e = this, 4928 t = this; 4929 (this.API = {}), 4930 this._api.forEach(function (n) { 4931 e.API[n] = function () { 4932 var e = t[n].apply(t, arguments); 4933 return void 0 === e ? t.API : e; 4934 }; 4935 }), 4936 (this.node.menu.mmApi = this.API); 4937 }), 4938 (e.prototype._initHooks = function () { 4939 for (var e in this.opts.hooks) this.bind(e, this.opts.hooks[e]); 4940 }), 4941 (e.prototype._initWrappers = function () { 4942 this.trigger("initWrappers:before"); 4943 for (var t = 0; t < this.opts.wrappers.length; t++) { 4944 var n = e.wrappers[this.opts.wrappers[t]]; 4945 "function" == typeof n && n.call(this); 4946 } 4947 this.trigger("initWrappers:after"); 4948 }), 4949 (e.prototype._initAddons = function () { 4950 for (var t in (this.trigger("initAddons:before"), e.addons)) e.addons[t].call(this); 4951 this.trigger("initAddons:after"); 4952 }), 4953 (e.prototype._initExtensions = function () { 4954 var e = this; 4955 this.trigger("initExtensions:before"), 4956 "array" == a(this.opts.extensions) && (this.opts.extensions = { all: this.opts.extensions }), 4957 Object.keys(this.opts.extensions).forEach(function (t) { 4958 var n = e.opts.extensions[t].map(function (e) { 4959 return "mm-menu_" + e; 4960 }); 4961 n.length && 4962 x( 4963 t, 4964 function () { 4965 n.forEach(function (t) { 4966 e.node.menu.classList.add(t); 4967 }); 4968 }, 4969 function () { 4970 n.forEach(function (t) { 4971 e.node.menu.classList.remove(t); 4972 }); 4973 } 4974 ); 4975 }), 4976 this.trigger("initExtensions:after"); 4977 }), 4978 (e.prototype._initMenu = function () { 4979 var e = this; 4980 this.trigger("initMenu:before"), (this.node.wrpr = this.node.wrpr || this.node.menu.parentElement), this.node.wrpr.classList.add("mm-wrapper"), (this.node.menu.id = this.node.menu.id || l()); 4981 var t = f("div.mm-panels"); 4982 g(this.node.menu).forEach(function (n) { 4983 e.conf.panelNodetype.indexOf(n.nodeName.toLowerCase()) > -1 && t.append(n); 4984 }), 4985 this.node.menu.append(t), 4986 (this.node.pnls = t), 4987 this.node.menu.classList.add("mm-menu"), 4988 this.trigger("initMenu:after"); 4989 }), 4990 (e.prototype._initPanels = function () { 4991 var e = this; 4992 this.trigger("initPanels:before"), 4993 this.clck.push(function (t, n) { 4994 if (n.inMenu) { 4995 var i = t.getAttribute("href"); 4996 if (i && i.length > 1 && "#" == i.slice(0, 1)) 4997 try { 4998 var s = m(e.node.menu, i)[0]; 4999 if (s && s.matches(".mm-panel")) return t.parentElement.matches(".mm-listitem_vertical") ? e.togglePanel(s) : e.openPanel(s), !0; 5000 } catch (e) {} 5001 } 5002 }), 5003 g(this.node.pnls).forEach(function (t) { 5004 e.initPanel(t); 5005 }), 5006 this.trigger("initPanels:after"); 5007 }), 5008 (e.prototype.initPanel = function (e) { 5009 var t = this, 5010 n = this.conf.panelNodetype.join(", "); 5011 if (e.matches(n) && (e.matches(".mm-panel") || (e = this._initPanel(e)), e)) { 5012 var i = []; 5013 i.push.apply(i, g(e, "." + this.conf.classNames.panel)), 5014 g(e, ".mm-listview").forEach(function (e) { 5015 g(e, ".mm-listitem").forEach(function (e) { 5016 i.push.apply(i, g(e, n)); 5017 }); 5018 }), 5019 i.forEach(function (e) { 5020 t.initPanel(e); 5021 }); 5022 } 5023 }), 5024 (e.prototype._initPanel = function (e) { 5025 var t = this; 5026 if ( 5027 (this.trigger("initPanel:before", [e]), 5028 _(e, this.conf.classNames.panel, "mm-panel"), 5029 _(e, this.conf.classNames.nopanel, "mm-nopanel"), 5030 _(e, this.conf.classNames.inset, "mm-listview_inset"), 5031 e.matches(".mm-listview_inset") && e.classList.add("mm-nopanel"), 5032 e.matches(".mm-nopanel")) 5033 ) 5034 return null; 5035 var n = e.id || l(), 5036 i = e.matches("." + this.conf.classNames.vertical) || !this.opts.slidingSubmenus; 5037 if ((e.classList.remove(this.conf.classNames.vertical), e.matches("ul, ol"))) { 5038 e.removeAttribute("id"); 5039 var s = f("div"); 5040 e.before(s), s.append(e), (e = s); 5041 } 5042 (e.id = n), e.classList.add("mm-panel"), e.classList.add("mm-hidden"); 5043 var o = [e.parentElement].filter(function (e) { 5044 return e.matches("li"); 5045 })[0]; 5046 if ((i ? o && o.classList.add("mm-listitem_vertical") : this.node.pnls.append(e), o && ((o.mmChild = e), (e.mmParent = o), o && o.matches(".mm-listitem") && !g(o, ".mm-btn").length))) { 5047 var a = g(o, ".mm-listitem__text")[0]; 5048 if (a) { 5049 var r = f("a.mm-btn.mm-btn_next.mm-listitem__btn"); 5050 r.setAttribute("href", "#" + e.id), 5051 a.matches("span") ? (r.classList.add("mm-listitem__text"), (r.innerHTML = a.innerHTML), o.insertBefore(r, a.nextElementSibling), a.remove()) : o.insertBefore(r, g(o, ".mm-panel")[0]); 5052 } 5053 } 5054 return ( 5055 this._initNavbar(e), 5056 g(e, "ul, ol").forEach(function (e) { 5057 t.initListview(e); 5058 }), 5059 this.trigger("initPanel:after", [e]), 5060 e 5061 ); 5062 }), 5063 (e.prototype._initNavbar = function (e) { 5064 if ((this.trigger("initNavbar:before", [e]), !g(e, ".mm-navbar").length)) { 5065 var t = null, 5066 n = null; 5067 if ((e.getAttribute("data-mm-parent") ? (n = m(this.node.pnls, e.getAttribute("data-mm-parent"))[0]) : (t = e.mmParent) && (n = t.closest(".mm-panel")), !t || !t.matches(".mm-listitem_vertical"))) { 5068 var i = f("div.mm-navbar"); 5069 if ((this.opts.navbar.add ? this.opts.navbar.sticky && i.classList.add("mm-navbar_sticky") : i.classList.add("mm-hidden"), n)) { 5070 var s = f("a.mm-btn.mm-btn_prev.mm-navbar__btn"); 5071 s.setAttribute("href", "#" + n.id), i.append(s); 5072 } 5073 var o = null; 5074 t ? (o = g(t, ".mm-listitem__text")[0]) : n && (o = m(n, 'a[href="#' + e.id + '"]')[0]); 5075 var a = f("a.mm-navbar__title"), 5076 r = f("span"); 5077 switch ((a.append(r), (r.innerHTML = e.getAttribute("data-mm-title") || (o ? o.textContent : "") || this.i18n(this.opts.navbar.title) || this.i18n("Menu")), this.opts.navbar.titleLink)) { 5078 case "anchor": 5079 o && a.setAttribute("href", o.getAttribute("href")); 5080 break; 5081 case "parent": 5082 n && a.setAttribute("href", "#" + n.id); 5083 } 5084 i.append(a), e.prepend(i), this.trigger("initNavbar:after", [e]); 5085 } 5086 } 5087 }), 5088 (e.prototype.initListview = function (e) { 5089 var t = this; 5090 this.trigger("initListview:before", [e]), 5091 _(e, this.conf.classNames.nolistview, "mm-nolistview"), 5092 e.matches(".mm-nolistview") || 5093 (e.classList.add("mm-listview"), 5094 g(e).forEach(function (e) { 5095 e.classList.add("mm-listitem"), 5096 _(e, t.conf.classNames.selected, "mm-listitem_selected"), 5097 g(e, "a, span").forEach(function (e) { 5098 e.matches(".mm-btn") || e.classList.add("mm-listitem__text"); 5099 }); 5100 })), 5101 this.trigger("initListview:after", [e]); 5102 }), 5103 (e.prototype._initOpened = function () { 5104 this.trigger("initOpened:before"); 5105 var e = this.node.pnls.querySelectorAll(".mm-listitem_selected"), 5106 t = null; 5107 e.forEach(function (e) { 5108 (t = e), e.classList.remove("mm-listitem_selected"); 5109 }), 5110 t && t.classList.add("mm-listitem_selected"); 5111 var n = t ? t.closest(".mm-panel") : g(this.node.pnls, ".mm-panel")[0]; 5112 this.openPanel(n, !1), this.trigger("initOpened:after"); 5113 }), 5114 (e.prototype._initAnchors = function () { 5115 var e = this; 5116 this.trigger("initAnchors:before"), 5117 document.addEventListener( 5118 "click", 5119 function (t) { 5120 var n = t.target.closest("a[href]"); 5121 if (n) { 5122 for ( 5123 var i = { inMenu: n.closest(".mm-menu") === e.node.menu, inListview: n.matches(".mm-listitem > a"), toExternal: n.matches('[rel="external"]') || n.matches('[target="_blank"]') }, 5124 s = { close: null, setSelected: null, preventDefault: "#" == n.getAttribute("href").slice(0, 1) }, 5125 c = 0; 5126 c < e.clck.length; 5127 c++ 5128 ) { 5129 var l = e.clck[c].call(e, n, i); 5130 if (l) { 5131 if ("boolean" == typeof l) return void t.preventDefault(); 5132 "object" == a(l) && (s = o(l, s)); 5133 } 5134 } 5135 i.inMenu && 5136 i.inListview && 5137 !i.toExternal && 5138 (r(n, e.opts.onClick.setSelected, s.setSelected) && e.setSelected(n.parentElement), 5139 r(n, e.opts.onClick.preventDefault, s.preventDefault) && t.preventDefault(), 5140 r(n, e.opts.onClick.close, s.close) && e.opts.offCanvas && "function" == typeof e.close && e.close()); 5141 } 5142 }, 5143 !0 5144 ), 5145 this.trigger("initAnchors:after"); 5146 }), 5147 (e.prototype.i18n = function (e) { 5148 return (function (e, t) { 5149 return ("string" == typeof t && void 0 !== u[t] && u[t][e]) || e; 5150 })(e, this.conf.language); 5151 }), 5152 (e.options = i), 5153 (e.configs = s), 5154 (e.addons = {}), 5155 (e.wrappers = {}), 5156 (e.node = {}), 5157 (e.vars = {}), 5158 e 5159 ); 5160 })(); 5161 function S(e) { 5162 return e ? e.charAt(0).toUpperCase() + e.slice(1) : ""; 5163 } 5164 function C(e, t, n) { 5165 var i = t.split("."); 5166 (e[(t = "mmEvent" + S(i[0]) + S(i[1]))] = e[t] || []), e[t].push(n), e.addEventListener(i[0], n); 5167 } 5168 function L(e, t) { 5169 var n = t.split("."); 5170 (t = "mmEvent" + S(n[0]) + S(n[1])), 5171 (e[t] || []).forEach(function (t) { 5172 e.removeEventListener(n[0], t); 5173 }); 5174 } 5175 (k.options.offCanvas = { blockUI: !0, moveBackground: !0 }), 5176 (k.configs.offCanvas = { clone: !1, menu: { insertMethod: "prepend", insertSelector: "body" }, page: { nodetype: "div", selector: null, noSelector: [] } }), 5177 (k.prototype.open = function () { 5178 var e = this; 5179 this.trigger("open:before"), 5180 this.vars.opened || 5181 (this._openSetup(), 5182 setTimeout(function () { 5183 e._openStart(); 5184 }, this.conf.openingInterval), 5185 this.trigger("open:after")); 5186 }), 5187 (k.prototype._openSetup = function () { 5188 var e = this, 5189 t = this.opts.offCanvas; 5190 this.closeAllOthers(), 5191 (function (e, t, n) { 5192 var i = t.split("."); 5193 (e[(t = "mmEvent" + S(i[0]) + S(i[1]))] || []).forEach(function (e) { 5194 e(n || {}); 5195 }); 5196 })(window, "resize.page", { force: !0 }); 5197 var n = ["mm-wrapper_opened"]; 5198 t.blockUI && n.push("mm-wrapper_blocking"), 5199 "modal" == t.blockUI && n.push("mm-wrapper_modal"), 5200 t.moveBackground && n.push("mm-wrapper_background"), 5201 n.forEach(function (t) { 5202 e.node.wrpr.classList.add(t); 5203 }), 5204 setTimeout(function () { 5205 e.vars.opened = !0; 5206 }, this.conf.openingInterval), 5207 this.node.menu.classList.add("mm-menu_opened"); 5208 }), 5209 (k.prototype._openStart = function () { 5210 var e = this; 5211 c( 5212 k.node.page, 5213 function () { 5214 e.trigger("open:finish"); 5215 }, 5216 this.conf.transitionDuration 5217 ), 5218 this.trigger("open:start"), 5219 this.node.wrpr.classList.add("mm-wrapper_opening"); 5220 }), 5221 (k.prototype.close = function () { 5222 var e = this; 5223 this.trigger("close:before"), 5224 this.vars.opened && 5225 (c( 5226 k.node.page, 5227 function () { 5228 e.node.menu.classList.remove("mm-menu_opened"), 5229 ["mm-wrapper_opened", "mm-wrapper_blocking", "mm-wrapper_modal", "mm-wrapper_background"].forEach(function (t) { 5230 e.node.wrpr.classList.remove(t); 5231 }), 5232 (e.vars.opened = !1), 5233 e.trigger("close:finish"); 5234 }, 5235 this.conf.transitionDuration 5236 ), 5237 this.trigger("close:start"), 5238 this.node.wrpr.classList.remove("mm-wrapper_opening"), 5239 this.trigger("close:after")); 5240 }), 5241 (k.prototype.closeAllOthers = function () { 5242 var e = this; 5243 m(document.body, ".mm-menu_offcanvas").forEach(function (t) { 5244 if (t !== e.node.menu) { 5245 var n = t.mmApi; 5246 n && n.close && n.close(); 5247 } 5248 }); 5249 }), 5250 (k.prototype.setPage = function (e) { 5251 this.trigger("setPage:before", [e]); 5252 var t = this.conf.offCanvas; 5253 if (!e) { 5254 var n = "string" == typeof t.page.selector ? m(document.body, t.page.selector) : g(document.body, t.page.nodetype); 5255 if ( 5256 ((n = n.filter(function (e) { 5257 return !e.matches(".mm-menu, .mm-wrapper__blocker"); 5258 })), 5259 t.page.noSelector.length && 5260 (n = n.filter(function (e) { 5261 return !e.matches(t.page.noSelector.join(", ")); 5262 })), 5263 n.length > 1) 5264 ) { 5265 var i = f("div"); 5266 n[0].before(i), 5267 n.forEach(function (e) { 5268 i.append(e); 5269 }), 5270 (n = [i]); 5271 } 5272 e = n[0]; 5273 } 5274 e.classList.add("mm-page"), e.classList.add("mm-slideout"), (e.id = e.id || l()), (k.node.page = e), this.trigger("setPage:after", [e]); 5275 }); 5276 var T, 5277 D = function () { 5278 var e = this; 5279 L(document.body, "keydown.tabguard"), 5280 C(document.body, "keydown.tabguard", function (t) { 5281 9 == t.keyCode && e.node.wrpr.matches(".mm-wrapper_opened") && t.preventDefault(); 5282 }); 5283 }, 5284 A = function () { 5285 var e = this; 5286 this.trigger("initBlocker:before"); 5287 var t = this.opts.offCanvas, 5288 n = this.conf.offCanvas; 5289 if (t.blockUI) { 5290 if (!k.node.blck) { 5291 var i = f("div.mm-wrapper__blocker.mm-slideout"); 5292 (i.innerHTML = "<a></a>"), document.querySelector(n.menu.insertSelector).append(i), (k.node.blck = i); 5293 } 5294 var s = function (t) { 5295 t.preventDefault(), t.stopPropagation(), e.node.wrpr.matches(".mm-wrapper_modal") || e.close(); 5296 }; 5297 k.node.blck.addEventListener("mousedown", s), k.node.blck.addEventListener("touchstart", s), k.node.blck.addEventListener("touchmove", s), this.trigger("initBlocker:after"); 5298 } 5299 }; 5300 p({ "Close menu": "Menu sluiten", "Close submenu": "Submenu sluiten", "Open submenu": "Submenu openen", "Toggle submenu": "Submenu wisselen" }, "nl"), 5301 p({ "Close menu": "???? ???", "Close submenu": "???? ??????", "Open submenu": "??????? ??????", "Toggle submenu": "????? ??????" }, "fa"), 5302 p({ "Close menu": "Men? schlie?en", "Close submenu": "Untermen? schlie?en", "Open submenu": "Untermen? ?ffnen", "Toggle submenu": "Untermen? wechseln" }, "de"), 5303 p({ "Close menu": "ÐакÑÑÑÑ Ð¼ÐµÐ½Ñ", "Close submenu": "ÐакÑÑÑÑ Ð¿Ð¾Ð´Ð¼ÐµÐ½Ñ", "Open submenu": "ÐÑкÑÑÑÑ Ð¿Ð¾Ð´Ð¼ÐµÐ½Ñ", "Toggle submenu": "ÐеÑеклÑÑиÑÑ Ð¿Ð¾Ð´Ð¼ÐµÐ½Ñ" }, "ru"), 5304 (k.options.screenReader = { aria: !0, text: !0 }), 5305 (k.configs.screenReader = { text: { closeMenu: "Close menu", closeSubmenu: "Close submenu", openSubmenu: "Open submenu", toggleSubmenu: "Toggle submenu" } }), 5306 (T = function (e, t, n) { 5307 (e[t] = n), n ? e.setAttribute(t, n.toString()) : e.removeAttribute(t); 5308 }), 5309 (k.sr_aria = function (e, t, n) { 5310 T(e, "aria-" + t, n); 5311 }), 5312 (k.sr_role = function (e, t) { 5313 T(e, "role", t); 5314 }), 5315 (k.sr_text = function (e) { 5316 return '<span class="mm-sronly">' + e + "</span>"; 5317 }); 5318 var P = "ontouchstart" in window || !!navigator.msMaxTouchPoints || !1; 5319 k.options.scrollBugFix = { fix: !0 }; 5320 k.options.autoHeight = { height: "default" }; 5321 k.options.backButton = { close: !1, open: !1 }; 5322 k.options.columns = { add: !1, visible: { min: 1, max: 3 } }; 5323 (k.options.counters = { add: !1, addTo: "panels", count: !1 }), (k.configs.classNames.counters = { counter: "Counter" }); 5324 (k.options.dividers = { add: !1, addTo: "panels" }), (k.configs.classNames.divider = "Divider"); 5325 var $ = "ontouchstart" in window || !!navigator.msMaxTouchPoints || !1, 5326 O = { top: 0, right: 0, bottom: 0, left: 0 }, 5327 M = { start: 15, swipe: 15 }, 5328 I = { x: ["Right", "Left"], y: ["Down", "Up"] }, 5329 H = function (e, t) { 5330 return "string" == typeof e && "%" == e.slice(-1) && (e = t * ((e = parseInt(e.slice(0, -1), 10)) / 100)), e; 5331 }, 5332 j = (function () { 5333 function e(e, t, n) { 5334 (this.surface = e), 5335 (this.area = o(t, O)), 5336 (this.treshold = o(n, M)), 5337 this.surface.mmHasDragEvents || 5338 (this.surface.addEventListener($ ? "touchstart" : "mousedown", this.start.bind(this)), 5339 this.surface.addEventListener($ ? "touchend" : "mouseup", this.stop.bind(this)), 5340 this.surface.addEventListener($ ? "touchleave" : "mouseleave", this.stop.bind(this)), 5341 this.surface.addEventListener($ ? "touchmove" : "mousemove", this.move.bind(this))), 5342 (this.surface.mmHasDragEvents = !0); 5343 } 5344 return ( 5345 (e.prototype.start = function (e) { 5346 this.currentPosition = { x: e.touches ? e.touches[0].pageX : e.pageX || 0, y: e.touches ? e.touches[0].pageY : e.pageY || 0 }; 5347 var t = this.surface.clientWidth, 5348 n = this.surface.clientHeight, 5349 i = H(this.area.top, n); 5350 if (!("number" == typeof i && this.currentPosition.y < i)) { 5351 var s = H(this.area.right, t); 5352 if (!("number" == typeof s && ((s = t - s), this.currentPosition.x > s))) { 5353 var o = H(this.area.bottom, n); 5354 if (!("number" == typeof o && ((o = n - o), this.currentPosition.y > o))) { 5355 var a = H(this.area.left, t); 5356 ("number" == typeof a && this.currentPosition.x < a) || ((this.startPosition = { x: this.currentPosition.x, y: this.currentPosition.y }), (this.state = 1)); 5357 } 5358 } 5359 } 5360 }), 5361 (e.prototype.stop = function (e) { 5362 if (2 == this.state) { 5363 var t = this._dragDirection(), 5364 n = this._eventDetail(t); 5365 if ((this._dispatchEvents("drag*End", n), Math.abs(this.movement[this.axis]) > this.treshold.swipe)) { 5366 var i = this._swipeDirection(); 5367 (n.direction = i), this._dispatchEvents("swipe*", n); 5368 } 5369 } 5370 this.state = 0; 5371 }), 5372 (e.prototype.move = function (e) { 5373 switch (this.state) { 5374 case 1: 5375 case 2: 5376 var t = { x: e.changedTouches ? e.touches[0].pageX : e.pageX || 0, y: e.changedTouches ? e.touches[0].pageY : e.pageY || 0 }; 5377 (this.movement = { x: t.x - this.currentPosition.x, y: t.y - this.currentPosition.y }), 5378 (this.distance = { x: t.x - this.startPosition.x, y: t.y - this.startPosition.y }), 5379 (this.currentPosition = { x: t.x, y: t.y }), 5380 (this.axis = Math.abs(this.distance.x) > Math.abs(this.distance.y) ? "x" : "y"); 5381 var n = this._dragDirection(), 5382 i = this._eventDetail(n); 5383 1 == this.state && Math.abs(this.distance[this.axis]) > this.treshold.start && (this._dispatchEvents("drag*Start", i), (this.state = 2)), 2 == this.state && this._dispatchEvents("drag*Move", i); 5384 } 5385 }), 5386 (e.prototype._eventDetail = function (e) { 5387 var t = this.distance.x, 5388 n = this.distance.y; 5389 return ( 5390 "x" == this.axis && (t -= t > 0 ? this.treshold.start : 0 - this.treshold.start), 5391 "y" == this.axis && (n -= n > 0 ? this.treshold.start : 0 - this.treshold.start), 5392 { axis: this.axis, direction: e, movementX: this.movement.x, movementY: this.movement.y, distanceX: t, distanceY: n } 5393 ); 5394 }), 5395 (e.prototype._dispatchEvents = function (e, t) { 5396 var n = new CustomEvent(e.replace("*", ""), { detail: t }); 5397 this.surface.dispatchEvent(n); 5398 var i = new CustomEvent(e.replace("*", this.axis.toUpperCase()), { detail: t }); 5399 this.surface.dispatchEvent(i); 5400 var s = new CustomEvent(e.replace("*", t.direction), { detail: t }); 5401 this.surface.dispatchEvent(s); 5402 }), 5403 (e.prototype._dragDirection = function () { 5404 return I[this.axis][this.distance[this.axis] > 0 ? 0 : 1]; 5405 }), 5406 (e.prototype._swipeDirection = function () { 5407 return I[this.axis][this.movement[this.axis] > 0 ? 0 : 1]; 5408 }), 5409 e 5410 ); 5411 })(), 5412 N = null, 5413 B = null, 5414 F = 0, 5415 R = function (e) { 5416 var t = this, 5417 n = {}, 5418 i = !1, 5419 s = function () { 5420 var e = Object.keys(t.opts.extensions); 5421 e.length 5422 ? (x( 5423 e.join(", "), 5424 function () {}, 5425 function () { 5426 n = q(n, [], t.node.menu); 5427 } 5428 ), 5429 e.forEach(function (e) { 5430 x( 5431 e, 5432 function () { 5433 n = q(n, t.opts.extensions[e], t.node.menu); 5434 }, 5435 function () {} 5436 ); 5437 })) 5438 : (n = q(n, [], t.node.menu)); 5439 }; 5440 B && (L(B, "dragStart"), L(B, "dragMove"), L(B, "dragEnd")), 5441 (N = new j((B = e))), 5442 s(), 5443 (s = function () {}), 5444 B && 5445 (C(B, "dragStart", function (e) { 5446 e.detail.direction == n.direction && 5447 ((i = !0), t.node.wrpr.classList.add("mm-wrapper_dragging"), t._openSetup(), t.trigger("open:start"), (F = t.node.menu["x" == n.axis ? "clientWidth" : "clientHeight"])); 5448 }), 5449 C(B, "dragMove", function (e) { 5450 if (e.detail.axis == n.axis && i) { 5451 var t = e.detail["distance" + n.axis.toUpperCase()]; 5452 switch (n.position) { 5453 case "right": 5454 case "bottom": 5455 t = Math.min(Math.max(t, -F), 0); 5456 break; 5457 default: 5458 t = Math.max(Math.min(t, F), 0); 5459 } 5460 if ("front" == n.zposition) 5461 switch (n.position) { 5462 case "right": 5463 case "bottom": 5464 t += F; 5465 break; 5466 default: 5467 t -= F; 5468 } 5469 n.slideOutNodes.forEach(function (e) { 5470 e.style.transform = "translate" + n.axis.toUpperCase() + "(" + t + "px)"; 5471 }); 5472 } 5473 }), 5474 C(B, "dragEnd", function (e) { 5475 if (e.detail.axis == n.axis && i) { 5476 (i = !1), 5477 t.node.wrpr.classList.remove("mm-wrapper_dragging"), 5478 n.slideOutNodes.forEach(function (e) { 5479 e.style.transform = ""; 5480 }); 5481 var s = Math.abs(e.detail["distance" + n.axis.toUpperCase()]) >= 0.75 * F; 5482 if (!s) { 5483 var o = e.detail["movement" + n.axis.toUpperCase()]; 5484 switch (n.position) { 5485 case "right": 5486 case "bottom": 5487 s = o <= 0; 5488 break; 5489 default: 5490 s = o >= 0; 5491 } 5492 } 5493 s ? t._openStart() : t.close(); 5494 } 5495 })); 5496 }, 5497 q = function (e, t, n) { 5498 switch ( 5499 ((e.position = "left"), 5500 (e.zposition = "back"), 5501 ["right", "top", "bottom"].forEach(function (n) { 5502 t.indexOf("position-" + n) > -1 && (e.position = n); 5503 }), 5504 ["front", "top", "bottom"].forEach(function (n) { 5505 t.indexOf("position-" + n) > -1 && (e.zposition = "front"); 5506 }), 5507 (N.area = { top: "bottom" == e.position ? "75%" : 0, right: "left" == e.position ? "75%" : 0, bottom: "top" == e.position ? "75%" : 0, left: "right" == e.position ? "75%" : 0 }), 5508 e.position) 5509 ) { 5510 case "top": 5511 case "bottom": 5512 e.axis = "y"; 5513 break; 5514 default: 5515 e.axis = "x"; 5516 } 5517 switch (e.position) { 5518 case "top": 5519 e.direction = "Down"; 5520 break; 5521 case "right": 5522 e.direction = "Left"; 5523 break; 5524 case "bottom": 5525 e.direction = "Up"; 5526 break; 5527 default: 5528 e.direction = "Right"; 5529 } 5530 switch (e.zposition) { 5531 case "front": 5532 e.slideOutNodes = [n]; 5533 break; 5534 default: 5535 e.slideOutNodes = m(document.body, ".mm-slideout"); 5536 } 5537 return e; 5538 }; 5539 k.options.drag = { open: !1, node: null }; 5540 (k.options.dropdown = { drop: !1, fitViewport: !0, event: "click", position: {}, tip: !0 }), 5541 (k.configs.dropdown = { offset: { button: { x: -5, y: 5 }, viewport: { x: 20, y: 20 } }, height: { max: 880 }, width: { max: 440 } }); 5542 (k.configs.fixedElements = { insertMethod: "append", insertSelector: "body" }), (k.configs.classNames.fixedElements = { fixed: "Fixed" }); 5543 k.options.iconbar = { use: !1, top: [], bottom: [], position: "left", type: "default" }; 5544 k.options.iconPanels = { add: !1, blockPanel: !0, hideDivider: !1, hideNavbar: !0, visible: 3 }; 5545 k.options.keyboardNavigation = { enable: !1, enhance: !1 }; 5546 var z = function (e) { 5547 var t = this; 5548 L(document.body, "keydown.tabguard"), 5549 L(document.body, "focusin.tabguard"), 5550 C(document.body, "focusin.tabguard", function (e) { 5551 if (t.node.wrpr.matches(".mm-wrapper_opened")) { 5552 var n = e.target; 5553 if (n.matches(".mm-tabend")) { 5554 var i = void 0; 5555 n.parentElement.matches(".mm-menu") && k.node.blck && (i = k.node.blck), 5556 n.parentElement.matches(".mm-wrapper__blocker") && (i = m(document.body, ".mm-menu_offcanvas.mm-menu_opened")[0]), 5557 i || (i = n.parentElement), 5558 i && g(i, ".mm-tabstart")[0].focus(); 5559 } 5560 } 5561 }), 5562 L(document.body, "keydown.navigate"), 5563 C(document.body, "keydown.navigate", function (t) { 5564 var n = t.target, 5565 i = n.closest(".mm-menu"); 5566 if (i) { 5567 if ((i.mmApi, !n.matches("input, textarea"))) 5568 switch (t.keyCode) { 5569 case 13: 5570 (n.matches(".mm-toggle") || n.matches(".mm-check")) && n.dispatchEvent(new Event("click")); 5571 break; 5572 case 32: 5573 case 37: 5574 case 38: 5575 case 39: 5576 case 40: 5577 t.preventDefault(); 5578 } 5579 if (e) 5580 if (n.matches("input")) 5581 switch (t.keyCode) { 5582 case 27: 5583 n.value = ""; 5584 } 5585 else { 5586 var s = i.mmApi; 5587 switch (t.keyCode) { 5588 case 8: 5589 var o = m(i, ".mm-panel_opened")[0].mmParent; 5590 o && s.openPanel(o.closest(".mm-panel")); 5591 break; 5592 case 27: 5593 i.matches(".mm-menu_offcanvas") && s.close(); 5594 } 5595 } 5596 } 5597 }); 5598 }; 5599 k.options.lazySubmenus = { load: !1 }; 5600 function U() { 5601 var e = this, 5602 t = this.opts.navbars; 5603 if (void 0 !== t) { 5604 t instanceof Array || (t = [t]); 5605 var n = {}; 5606 t.length && 5607 (t.forEach(function (t) { 5608 if ( 5609 !(t = (function (e) { 5610 return ( 5611 "boolean" == typeof e && e && (e = {}), 5612 "object" != typeof e && (e = {}), 5613 void 0 === e.content && (e.content = ["prev", "title"]), 5614 e.content instanceof Array || (e.content = [e.content]), 5615 void 0 === e.use && (e.use = !0), 5616 "boolean" == typeof e.use && e.use && (e.use = !0), 5617 e 5618 ); 5619 })(t)).use 5620 ) 5621 return !1; 5622 var i = f("div.mm-navbar"), 5623 s = t.position; 5624 "bottom" !== s && (s = "top"), n[s] || (n[s] = f("div.mm-navbars_" + s)), n[s].append(i); 5625 for (var o = 0, a = t.content.length; o < a; o++) { 5626 var r, 5627 c = t.content[o]; 5628 if ("string" == typeof c) 5629 if ("function" == typeof (r = U.navbarContents[c])) r.call(e, i); 5630 else { 5631 var l = f("span"); 5632 l.innerHTML = c; 5633 var d = g(l); 5634 1 == d.length && (l = d[0]), i.append(l); 5635 } 5636 else i.append(c); 5637 } 5638 "string" == typeof t.type && "function" == typeof (r = U.navbarTypes[t.type]) && r.call(e, i), 5639 "boolean" != typeof t.use && 5640 x( 5641 t.use, 5642 function () { 5643 i.classList.remove("mm-hidden"), k.sr_aria(i, "hidden", !1); 5644 }, 5645 function () { 5646 i.classList.add("mm-hidden"), k.sr_aria(i, "hidden", !0); 5647 } 5648 ); 5649 }), 5650 this.bind("initMenu:after", function () { 5651 for (var t in n) e.node.menu["bottom" == t ? "append" : "prepend"](n[t]); 5652 })); 5653 } 5654 } 5655 (k.options.navbars = []), 5656 (k.configs.navbars = { breadcrumbs: { separator: "/", removeFirst: !1 } }), 5657 (k.configs.classNames.navbars = { panelPrev: "Prev", panelTitle: "Title" }), 5658 (U.navbarContents = { 5659 breadcrumbs: function (e) { 5660 var t = this, 5661 n = f("div.mm-navbar__breadcrumbs"); 5662 e.append(n), 5663 this.bind("initNavbar:after", function (e) { 5664 if (!e.querySelector(".mm-navbar__breadcrumbs")) { 5665 g(e, ".mm-navbar")[0].classList.add("mm-hidden"); 5666 for (var n = [], i = f("span.mm-navbar__breadcrumbs"), s = e, o = !0; s; ) { 5667 if (!(s = s.closest(".mm-panel")).parentElement.matches(".mm-listitem_vertical")) { 5668 var a = m(s, ".mm-navbar__title span")[0]; 5669 if (a) { 5670 var r = a.textContent; 5671 r.length && n.unshift(o ? "<span>" + r + "</span>" : '<a href="#' + s.id + '">' + r + "</a>"); 5672 } 5673 o = !1; 5674 } 5675 s = s.mmParent; 5676 } 5677 t.conf.navbars.breadcrumbs.removeFirst && n.shift(), (i.innerHTML = n.join('<span class="mm-separator">' + t.conf.navbars.breadcrumbs.separator + "</span>")), g(e, ".mm-navbar")[0].append(i); 5678 } 5679 }), 5680 this.bind("openPanel:start", function (e) { 5681 var t = e.querySelector(".mm-navbar__breadcrumbs"); 5682 n.innerHTML = t ? t.innerHTML : ""; 5683 }), 5684 this.bind("initNavbar:after:sr-aria", function (e) { 5685 m(e, ".mm-breadcrumbs a").forEach(function (e) { 5686 k.sr_aria(e, "owns", e.getAttribute("href").slice(1)); 5687 }); 5688 }); 5689 }, 5690 close: function (e) { 5691 var t = this, 5692 n = f("a.mm-btn.mm-btn_close.mm-navbar__btn"); 5693 e.append(n), 5694 this.bind("setPage:after", function (e) { 5695 n.setAttribute("href", "#" + e.id); 5696 }), 5697 this.bind("setPage:after:sr-text", function () { 5698 n.innerHTML = k.sr_text(t.i18n(t.conf.screenReader.text.closeMenu)); 5699 }); 5700 }, 5701 prev: function (e) { 5702 var t, 5703 n, 5704 i, 5705 s = this, 5706 o = f("a.mm-btn.mm-btn_prev.mm-navbar__btn"); 5707 e.append(o), 5708 this.bind("initNavbar:after", function (e) { 5709 g(e, ".mm-navbar")[0].classList.add("mm-hidden"); 5710 }), 5711 this.bind("openPanel:start", function (e) { 5712 e.parentElement.matches(".mm-listitem_vertical") || 5713 ((t = e.querySelector("." + s.conf.classNames.navbars.panelPrev)) || (t = e.querySelector(".mm-navbar__btn.mm-btn_prev")), 5714 (n = t ? t.getAttribute("href") : ""), 5715 (i = t ? t.innerHTML : ""), 5716 n ? o.setAttribute("href", n) : o.removeAttribute("href"), 5717 o.classList[n || i ? "remove" : "add"]("mm-hidden"), 5718 (o.innerHTML = i)); 5719 }), 5720 this.bind("initNavbar:after:sr-aria", function (e) { 5721 k.sr_aria(e.querySelector(".mm-navbar"), "hidden", !0); 5722 }), 5723 this.bind("openPanel:start:sr-aria", function (e) { 5724 k.sr_aria(o, "hidden", o.matches(".mm-hidden")), k.sr_aria(o, "owns", (o.getAttribute("href") || "").slice(1)); 5725 }); 5726 }, 5727 searchfield: function (e) { 5728 "object" != a(this.opts.searchfield) && (this.opts.searchfield = {}); 5729 var t = f("div.mm-navbar__searchfield"); 5730 e.append(t), (this.opts.searchfield.add = !0), (this.opts.searchfield.addTo = [t]); 5731 }, 5732 title: function (e) { 5733 var t, 5734 n, 5735 i, 5736 s, 5737 o = this, 5738 a = f("a.mm-navbar__title"), 5739 r = f("span"); 5740 a.append(r), 5741 e.append(a), 5742 this.bind("openPanel:start", function (e) { 5743 e.parentElement.matches(".mm-listitem_vertical") || 5744 ((i = e.querySelector("." + o.conf.classNames.navbars.panelTitle)) || (i = e.querySelector(".mm-navbar__title span")), 5745 (t = i && i.closest("a") ? i.closest("a").getAttribute("href") : "") ? a.setAttribute("href", t) : a.removeAttribute("href"), 5746 (n = i ? i.innerHTML : ""), 5747 (r.innerHTML = n)); 5748 }), 5749 this.bind("openPanel:start:sr-aria", function (e) { 5750 if ( 5751 o.opts.screenReader.text && 5752 (s || 5753 g(o.node.menu, ".mm-navbars_top, .mm-navbars_bottom").forEach(function (e) { 5754 var t = e.querySelector(".mm-btn_prev"); 5755 t && (s = t); 5756 }), 5757 s) 5758 ) { 5759 var t = !0; 5760 "parent" == o.opts.navbar.titleLink && (t = !s.matches(".mm-hidden")), k.sr_aria(a, "hidden", t); 5761 } 5762 }); 5763 }, 5764 }), 5765 (U.navbarTypes = { 5766 tabs: function (e) { 5767 var t = this; 5768 e.classList.add("mm-navbar_tabs"), e.parentElement.classList.add("mm-navbars_has-tabs"); 5769 var n = g(e, "a"); 5770 e.addEventListener("click", function (e) { 5771 var n = e.target; 5772 if (n.matches("a")) 5773 if (n.matches(".mm-navbar__tab_selected")) e.stopImmediatePropagation(); 5774 else 5775 try { 5776 t.openPanel(t.node.menu.querySelector(n.getAttribute("href")), !1), e.stopImmediatePropagation(); 5777 } catch (e) {} 5778 }), 5779 this.bind("openPanel:start", function e(t) { 5780 n.forEach(function (e) { 5781 e.classList.remove("mm-navbar__tab_selected"); 5782 }); 5783 var i = n.filter(function (e) { 5784 return e.matches('[href="#' + t.id + '"]'); 5785 })[0]; 5786 if (i) i.classList.add("mm-navbar__tab_selected"); 5787 else { 5788 var s = t.mmParent; 5789 s && e.call(this, s.closest(".mm-panel")); 5790 } 5791 }); 5792 }, 5793 }); 5794 (k.options.pageScroll = { scroll: !1, update: !1 }), (k.configs.pageScroll = { scrollOffset: 0, updateOffset: 50 }); 5795 p({ Search: "Zoeken", "No results found.": "Geen resultaten gevonden.", cancel: "annuleren" }, "nl"), 5796 p({ Search: "?????", "No results found.": "???????? ???? ???.", cancel: "??????" }, "fa"), 5797 p({ Search: "Suche", "No results found.": "Keine Ergebnisse gefunden.", cancel: "beenden" }, "de"), 5798 p({ Search: "ÐайÑи", "No results found.": "ÐиÑего не найдено.", cancel: "оÑмениÑÑ" }, "ru"), 5799 (k.options.searchfield = { 5800 add: !1, 5801 addTo: "panels", 5802 cancel: !1, 5803 noResults: "No results found.", 5804 placeholder: "Search", 5805 panel: { add: !1, dividers: !0, fx: "none", id: null, splash: null, title: "Search" }, 5806 search: !0, 5807 showTextItems: !1, 5808 showSubPanels: !0, 5809 }), 5810 (k.configs.searchfield = { clear: !1, form: !1, input: !1, submit: !1 }); 5811 var V = function () { 5812 var e = this.opts.searchfield, 5813 t = (this.conf.searchfield, g(this.node.pnls, ".mm-panel_search")[0]); 5814 if (t) return t; 5815 (t = f("div.mm-panel.mm-panel_search.mm-hidden")), e.panel.id && (t.id = e.panel.id), e.panel.title && t.setAttribute("data-mm-title", e.panel.title); 5816 var n = f("ul"); 5817 switch ((t.append(n), this.node.pnls.append(t), this.initListview(n), this._initNavbar(t), e.panel.fx)) { 5818 case !1: 5819 break; 5820 case "none": 5821 t.classList.add("mm-panel_noanimation"); 5822 break; 5823 default: 5824 t.classList.add("mm-panel_fx-" + e.panel.fx); 5825 } 5826 if (e.panel.splash) { 5827 var i = f("div.mm-panel__content"); 5828 (i.innerHTML = e.panel.splash), t.append(i); 5829 } 5830 return t.classList.add("mm-panel"), t.classList.add("mm-hidden"), this.node.pnls.append(t), t; 5831 }, 5832 W = function (e) { 5833 var t = this.opts.searchfield, 5834 n = this.conf.searchfield; 5835 if (e.parentElement.matches(".mm-listitem_vertical")) return null; 5836 if ((o = m(e, ".mm-searchfield")[0])) return o; 5837 function i(e, t) { 5838 if (t) for (var n in t) e.setAttribute(n, t[n]); 5839 } 5840 var s, 5841 o = f((n.form ? "form" : "div") + ".mm-searchfield"), 5842 a = f("div.mm-searchfield__input"), 5843 r = f("input"); 5844 return ( 5845 (r.type = "text"), 5846 (r.autocomplete = "off"), 5847 (r.placeholder = this.i18n(t.placeholder)), 5848 a.append(r), 5849 o.append(a), 5850 e.prepend(o), 5851 i(r, n.input), 5852 n.clear && ((s = f("a.mm-btn.mm-btn_close.mm-searchfield__btn")).setAttribute("href", "#"), a.append(s)), 5853 i(o, n.form), 5854 n.form && n.submit && !n.clear && ((s = f("a.mm-btn.mm-btn_next.mm-searchfield__btn")).setAttribute("href", "#"), a.append(s)), 5855 t.cancel && ((s = f("a.mm-searchfield__cancel")).setAttribute("href", "#"), (s.textContent = this.i18n("cancel")), o.append(s)), 5856 o 5857 ); 5858 }, 5859 Y = function (e) { 5860 var t = this, 5861 n = this.opts.searchfield, 5862 i = (this.conf.searchfield, {}); 5863 e.closest(".mm-panel_search") 5864 ? ((i.panels = m(this.node.pnls, ".mm-panel")), (i.noresults = [e.closest(".mm-panel")])) 5865 : e.closest(".mm-panel") 5866 ? ((i.panels = [e.closest(".mm-panel")]), (i.noresults = i.panels)) 5867 : ((i.panels = m(this.node.pnls, ".mm-panel")), (i.noresults = [this.node.menu])), 5868 (i.panels = i.panels.filter(function (e) { 5869 return !e.matches(".mm-panel_search"); 5870 })), 5871 (i.panels = i.panels.filter(function (e) { 5872 return !e.parentElement.matches(".mm-listitem_vertical"); 5873 })), 5874 (i.listitems = []), 5875 (i.dividers = []), 5876 i.panels.forEach(function (e) { 5877 var t, n; 5878 (t = i.listitems).push.apply(t, m(e, ".mm-listitem")), (n = i.dividers).push.apply(n, m(e, ".mm-divider")); 5879 }); 5880 var s = g(this.node.pnls, ".mm-panel_search")[0], 5881 o = m(e, "input")[0], 5882 a = m(e, ".mm-searchfield__cancel")[0]; 5883 (o.mmSearchfield = i), 5884 n.panel.add && 5885 n.panel.splash && 5886 (L(o, "focus.splash"), 5887 C(o, "focus.splash", function (e) { 5888 t.openPanel(s); 5889 })), 5890 n.cancel && 5891 (L(o, "focus.cancel"), 5892 C(o, "focus.cancel", function (e) { 5893 a.classList.add("mm-searchfield__cancel-active"); 5894 }), 5895 L(a, "click.splash"), 5896 C(a, "click.splash", function (e) { 5897 if ((e.preventDefault(), a.classList.remove("mm-searchfield__cancel-active"), s.matches(".mm-panel_opened"))) { 5898 var n = g(t.node.pnls, ".mm-panel_opened-parent"); 5899 n.length && t.openPanel(n[n.length - 1]); 5900 } 5901 })), 5902 n.panel.add && 5903 "panel" == n.addTo && 5904 this.bind("openPanel:finish", function (e) { 5905 e === s && o.focus(); 5906 }), 5907 L(o, "input.search"), 5908 C(o, "input.search", function (e) { 5909 switch (e.keyCode) { 5910 case 9: 5911 case 16: 5912 case 17: 5913 case 18: 5914 case 37: 5915 case 38: 5916 case 39: 5917 case 40: 5918 break; 5919 default: 5920 t.search(o); 5921 } 5922 }), 5923 this.search(o); 5924 }, 5925 X = function (e) { 5926 if (e) { 5927 var t = this.opts.searchfield; 5928 if ((this.conf.searchfield, e.closest(".mm-panel") || (e = g(this.node.pnls, ".mm-panel")[0]), !g(e, ".mm-panel__noresultsmsg").length)) { 5929 var n = f("div.mm-panel__noresultsmsg.mm-hidden"); 5930 (n.innerHTML = this.i18n(t.noResults)), e.append(n); 5931 } 5932 } 5933 }; 5934 k.prototype.search = function (e, t) { 5935 var n, 5936 i = this, 5937 s = this.opts.searchfield; 5938 this.conf.searchfield, (t = (t = t || "" + e.value).toLowerCase().trim()); 5939 var o = e.mmSearchfield, 5940 a = m(e.closest(".mm-searchfield"), ".mm-btn"), 5941 r = g(this.node.pnls, ".mm-panel_search")[0], 5942 c = o.panels, 5943 l = o.noresults, 5944 d = o.listitems, 5945 h = o.dividers; 5946 if ( 5947 (d.forEach(function (e) { 5948 e.classList.remove("mm-listitem_nosubitems"), e.classList.remove("mm-listitem_onlysubitems"), e.classList.remove("mm-hidden"); 5949 }), 5950 r && (g(r, ".mm-listview")[0].innerHTML = ""), 5951 c.forEach(function (e) { 5952 e.scrollTop = 0; 5953 }), 5954 t.length) 5955 ) { 5956 h.forEach(function (e) { 5957 e.classList.add("mm-hidden"); 5958 }), 5959 d.forEach(function (e) { 5960 var n, 5961 i = g(e, ".mm-listitem__text")[0], 5962 o = !1; 5963 i && 5964 ((n = i), 5965 Array.prototype.slice 5966 .call(n.childNodes) 5967 .filter(function (e) { 5968 return 3 == e.nodeType; 5969 }) 5970 .map(function (e) { 5971 return e.textContent; 5972 }) 5973 .join(" ")) 5974 .toLowerCase() 5975 .indexOf(t) > -1 && 5976 (i.matches(".mm-listitem__btn") ? s.showSubPanels && (o = !0) : (i.matches("a") || s.showTextItems) && (o = !0)), 5977 o || e.classList.add("mm-hidden"); 5978 }); 5979 var u = d.filter(function (e) { 5980 return !e.matches(".mm-hidden"); 5981 }).length; 5982 if (s.panel.add) { 5983 var p = []; 5984 c.forEach(function (e) { 5985 var t = b(m(e, ".mm-listitem")); 5986 if ( 5987 (t = t.filter(function (e) { 5988 return !e.matches(".mm-hidden"); 5989 })).length 5990 ) { 5991 if (s.panel.dividers) { 5992 var n = f("li.mm-divider"), 5993 i = m(e, ".mm-navbar__title")[0]; 5994 i && ((n.innerHTML = i.innerHTML), p.push(n)); 5995 } 5996 t.forEach(function (e) { 5997 p.push(e.cloneNode(!0)); 5998 }); 5999 } 6000 }), 6001 p.forEach(function (e) { 6002 e.querySelectorAll(".mm-toggle, .mm-check").forEach(function (e) { 6003 e.remove(); 6004 }); 6005 }), 6006 (n = g(r, ".mm-listview")[0]).append.apply(n, p), 6007 this.openPanel(r); 6008 } else 6009 s.showSubPanels && 6010 c.forEach(function (e) { 6011 b(m(e, ".mm-listitem")).forEach(function (e) { 6012 var t = e.mmChild; 6013 t && 6014 m(t, ".mm-listitem").forEach(function (e) { 6015 e.classList.remove("mm-hidden"); 6016 }); 6017 }); 6018 }), 6019 (function () { 6020 for (var e = 0, t = 0, n = arguments.length; t < n; t++) e += arguments[t].length; 6021 var i = Array(e), 6022 s = 0; 6023 for (t = 0; t < n; t++) for (var o = arguments[t], a = 0, r = o.length; a < r; a++, s++) i[s] = o[a]; 6024 return i; 6025 })(c) 6026 .reverse() 6027 .forEach(function (t, n) { 6028 var s = t.mmParent; 6029 s && 6030 (b(m(t, ".mm-listitem")).length 6031 ? (s.matches(".mm-hidden") && s.classList.remove("mm-hidden"), s.classList.add("mm-listitem_onlysubitems")) 6032 : e.closest(".mm-panel") || 6033 ((t.matches(".mm-panel_opened") || t.matches(".mm-panel_opened-parent")) && 6034 setTimeout(function () { 6035 i.openPanel(s.closest(".mm-panel")); 6036 }, (n + 1) * (1.5 * i.conf.openingInterval)), 6037 s.classList.add("mm-listitem_nosubitems"))); 6038 }), 6039 c.forEach(function (e) { 6040 b(m(e, ".mm-listitem")).forEach(function (e) { 6041 v(e, ".mm-listitem_vertical").forEach(function (e) { 6042 e.matches(".mm-hidden") && (e.classList.remove("mm-hidden"), e.classList.add("mm-listitem_onlysubitems")); 6043 }); 6044 }); 6045 }), 6046 c.forEach(function (e) { 6047 b(m(e, ".mm-listitem")).forEach(function (e) { 6048 var t = (function (e, t) { 6049 for (var n = [], i = e.previousElementSibling; i; ) !i.matches(t) || n.push(i), (i = i.previousElementSibling); 6050 return n; 6051 })(e, ".mm-divider")[0]; 6052 t && t.classList.remove("mm-hidden"); 6053 }); 6054 }); 6055 a.forEach(function (e) { 6056 return e.classList.remove("mm-hidden"); 6057 }), 6058 l.forEach(function (e) { 6059 m(e, ".mm-panel__noresultsmsg").forEach(function (e) { 6060 return e.classList[u ? "add" : "remove"]("mm-hidden"); 6061 }); 6062 }), 6063 s.panel.add && 6064 (s.panel.splash && 6065 m(r, ".mm-panel__content").forEach(function (e) { 6066 return e.classList.add("mm-hidden"); 6067 }), 6068 d.forEach(function (e) { 6069 return e.classList.remove("mm-hidden"); 6070 }), 6071 h.forEach(function (e) { 6072 return e.classList.remove("mm-hidden"); 6073 })); 6074 } else if ( 6075 (d.forEach(function (e) { 6076 return e.classList.remove("mm-hidden"); 6077 }), 6078 h.forEach(function (e) { 6079 return e.classList.remove("mm-hidden"); 6080 }), 6081 a.forEach(function (e) { 6082 return e.classList.add("mm-hidden"); 6083 }), 6084 l.forEach(function (e) { 6085 m(e, ".mm-panel__noresultsmsg").forEach(function (e) { 6086 return e.classList.add("mm-hidden"); 6087 }); 6088 }), 6089 s.panel.add) 6090 ) 6091 if (s.panel.splash) 6092 m(r, ".mm-panel__content").forEach(function (e) { 6093 return e.classList.remove("mm-hidden"); 6094 }); 6095 else if (!e.closest(".mm-panel_search")) { 6096 var y = g(this.node.pnls, ".mm-panel_opened-parent"); 6097 this.openPanel(y.slice(-1)[0]); 6098 } 6099 this.trigger("updateListview"); 6100 }; 6101 k.options.sectionIndexer = { add: !1, addTo: "panels" }; 6102 k.options.setSelected = { current: !0, hover: !1, parent: !1 }; 6103 var K; 6104 (k.options.sidebar = { collapsed: { use: !1, blockMenu: !0, hideDivider: !1, hideNavbar: !0 }, expanded: { use: !1, initial: "open" } }), 6105 (k.configs.classNames.toggles = { toggle: "Toggle", check: "Check" }), 6106 /*! 6107 * mmenu.js 6108 * mmenujs.com 6109 * 6110 * Copyright (c) Fred Heusschen 6111 * frebsite.nl 6112 */ 6113 (k.addons = { 6114 offcanvas: function () { 6115 var e = this; 6116 if (this.opts.offCanvas) { 6117 var t = (function (e) { 6118 return "object" != typeof e && (e = {}), e; 6119 })(this.opts.offCanvas); 6120 this.opts.offCanvas = o(t, k.options.offCanvas); 6121 var n = this.conf.offCanvas; 6122 this._api.push("open", "close", "setPage"), 6123 (this.vars.opened = !1), 6124 this.bind("initMenu:before", function () { 6125 n.clone && 6126 ((e.node.menu = e.node.menu.cloneNode(!0)), 6127 e.node.menu.id && (e.node.menu.id = "mm-" + e.node.menu.id), 6128 m(e.node.menu, "[id]").forEach(function (e) { 6129 e.id = "mm-" + e.id; 6130 })), 6131 (e.node.wrpr = document.body), 6132 document.querySelector(n.menu.insertSelector)[n.menu.insertMethod](e.node.menu); 6133 }), 6134 this.bind("initMenu:after", function () { 6135 A.call(e), e.setPage(k.node.page), D.call(e), e.node.menu.classList.add("mm-menu_offcanvas"); 6136 var t = window.location.hash; 6137 if (t) { 6138 var n = h(e.node.menu.id); 6139 n && 6140 n == t.slice(1) && 6141 setTimeout(function () { 6142 e.open(); 6143 }, 1e3); 6144 } 6145 }), 6146 this.bind("setPage:after", function (e) { 6147 k.node.blck && 6148 g(k.node.blck, "a").forEach(function (t) { 6149 t.setAttribute("href", "#" + e.id); 6150 }); 6151 }), 6152 this.bind("open:start:sr-aria", function () { 6153 k.sr_aria(e.node.menu, "hidden", !1); 6154 }), 6155 this.bind("close:finish:sr-aria", function () { 6156 k.sr_aria(e.node.menu, "hidden", !0); 6157 }), 6158 this.bind("initMenu:after:sr-aria", function () { 6159 k.sr_aria(e.node.menu, "hidden", !0); 6160 }), 6161 this.bind("initBlocker:after:sr-text", function () { 6162 g(k.node.blck, "a").forEach(function (t) { 6163 t.innerHTML = k.sr_text(e.i18n(e.conf.screenReader.text.closeMenu)); 6164 }); 6165 }), 6166 this.clck.push(function (t, n) { 6167 var i = h(e.node.menu.id); 6168 if (i && t.matches('[href="#' + i + '"]')) { 6169 if (n.inMenu) return e.open(), !0; 6170 var s = t.closest(".mm-menu"); 6171 if (s) { 6172 var o = s.mmApi; 6173 if (o && o.close) 6174 return ( 6175 o.close(), 6176 c( 6177 s, 6178 function () { 6179 e.open(); 6180 }, 6181 e.conf.transitionDuration 6182 ), 6183 !0 6184 ); 6185 } 6186 return e.open(), !0; 6187 } 6188 if ((i = k.node.page.id) && t.matches('[href="#' + i + '"]')) return e.close(), !0; 6189 }); 6190 } 6191 }, 6192 screenReader: function () { 6193 var e = this, 6194 t = (function (e) { 6195 return "boolean" == typeof e && (e = { aria: e, text: e }), "object" != typeof e && (e = {}), e; 6196 })(this.opts.screenReader); 6197 this.opts.screenReader = o(t, k.options.screenReader); 6198 var n = this.conf.screenReader; 6199 t.aria && 6200 (this.bind("initAddons:after", function () { 6201 e.bind("initMenu:after", function () { 6202 this.trigger("initMenu:after:sr-aria", [].slice.call(arguments)); 6203 }), 6204 e.bind("initNavbar:after", function () { 6205 this.trigger("initNavbar:after:sr-aria", [].slice.call(arguments)); 6206 }), 6207 e.bind("openPanel:start", function () { 6208 this.trigger("openPanel:start:sr-aria", [].slice.call(arguments)); 6209 }), 6210 e.bind("close:start", function () { 6211 this.trigger("close:start:sr-aria", [].slice.call(arguments)); 6212 }), 6213 e.bind("close:finish", function () { 6214 this.trigger("close:finish:sr-aria", [].slice.call(arguments)); 6215 }), 6216 e.bind("open:start", function () { 6217 this.trigger("open:start:sr-aria", [].slice.call(arguments)); 6218 }), 6219 e.bind("initOpened:after", function () { 6220 this.trigger("initOpened:after:sr-aria", [].slice.call(arguments)); 6221 }); 6222 }), 6223 this.bind("updateListview", function () { 6224 e.node.pnls.querySelectorAll(".mm-listitem").forEach(function (e) { 6225 k.sr_aria(e, "hidden", e.matches(".mm-hidden")); 6226 }); 6227 }), 6228 this.bind("openPanel:start", function (t) { 6229 var n = m(e.node.pnls, ".mm-panel") 6230 .filter(function (e) { 6231 return e !== t; 6232 }) 6233 .filter(function (e) { 6234 return !e.parentElement.matches(".mm-panel"); 6235 }), 6236 i = [t]; 6237 m(t, ".mm-listitem_vertical .mm-listitem_opened").forEach(function (e) { 6238 i.push.apply(i, g(e, ".mm-panel")); 6239 }), 6240 n.forEach(function (e) { 6241 k.sr_aria(e, "hidden", !0); 6242 }), 6243 i.forEach(function (e) { 6244 k.sr_aria(e, "hidden", !1); 6245 }); 6246 }), 6247 this.bind("closePanel", function (e) { 6248 k.sr_aria(e, "hidden", !0); 6249 }), 6250 this.bind("initNavbar:after", function (e) { 6251 var t = g(e, ".mm-navbar")[0], 6252 n = t.matches(".mm-hidden"); 6253 k.sr_aria(t, "hidden", n); 6254 }), 6255 t.text && 6256 "parent" == this.opts.navbar.titleLink && 6257 this.bind("initNavbar:after", function (e) { 6258 var t = g(e, ".mm-navbar")[0], 6259 n = !!t.querySelector(".mm-btn_prev"); 6260 k.sr_aria(m(t, ".mm-navbar__title")[0], "hidden", n); 6261 })), 6262 t.text && 6263 (this.bind("initAddons:after", function () { 6264 e.bind("setPage:after", function () { 6265 this.trigger("setPage:after:sr-text", [].slice.call(arguments)); 6266 }), 6267 e.bind("initBlocker:after", function () { 6268 this.trigger("initBlocker:after:sr-text", [].slice.call(arguments)); 6269 }); 6270 }), 6271 this.bind("initNavbar:after", function (t) { 6272 var i = g(t, ".mm-navbar")[0]; 6273 if (i) { 6274 var s = g(i, ".mm-btn_prev")[0]; 6275 s && (s.innerHTML = k.sr_text(e.i18n(n.text.closeSubmenu))); 6276 } 6277 }), 6278 this.bind("initListview:after", function (t) { 6279 var i = t.closest(".mm-panel").mmParent; 6280 if (i) { 6281 var s = g(i, ".mm-btn_next")[0]; 6282 if (s) { 6283 var o = e.i18n(n.text[s.parentElement.matches(".mm-listitem_vertical") ? "toggleSubmenu" : "openSubmenu"]); 6284 s.innerHTML += k.sr_text(o); 6285 } 6286 } 6287 })); 6288 }, 6289 scrollBugFix: function () { 6290 var e = this; 6291 if (P && this.opts.offCanvas && this.opts.offCanvas.blockUI) { 6292 var t = (function (e) { 6293 return "boolean" == typeof e && (e = { fix: e }), "object" != typeof e && (e = {}), e; 6294 })(this.opts.scrollBugFix); 6295 if (((this.opts.scrollBugFix = o(t, k.options.scrollBugFix)), t.fix)) { 6296 var n, 6297 i, 6298 s = 6299 ((n = this.node.menu), 6300 (i = ""), 6301 n.addEventListener("touchmove", function (e) { 6302 (i = ""), e.movementY > 0 ? (i = "down") : e.movementY < 0 && (i = "up"); 6303 }), 6304 { 6305 get: function () { 6306 return i; 6307 }, 6308 }); 6309 this.node.menu.addEventListener("scroll", a, { passive: !1 }), 6310 this.node.menu.addEventListener( 6311 "touchmove", 6312 function (e) { 6313 var t = e.target.closest(".mm-panel, .mm-iconbar__top, .mm-iconbar__bottom"); 6314 t && t.closest(".mm-listitem_vertical") && (t = v(t, ".mm-panel").pop()), 6315 t ? (t.scrollHeight === t.offsetHeight || (0 == t.scrollTop && "down" == s.get()) || (t.scrollHeight == t.scrollTop + t.offsetHeight && "up" == s.get())) && a(e) : a(e); 6316 }, 6317 { passive: !1 } 6318 ), 6319 this.bind("open:start", function () { 6320 var t = g(e.node.pnls, ".mm-panel_opened")[0]; 6321 t && (t.scrollTop = 0); 6322 }), 6323 window.addEventListener("orientationchange", function (t) { 6324 var n = g(e.node.pnls, ".mm-panel_opened")[0]; 6325 n && ((n.scrollTop = 0), (n.style["-webkit-overflow-scrolling"] = "auto"), (n.style["-webkit-overflow-scrolling"] = "touch")); 6326 }); 6327 } 6328 } 6329 function a(e) { 6330 e.preventDefault(), e.stopPropagation(); 6331 } 6332 }, 6333 autoHeight: function () { 6334 var e = this, 6335 t = (function (e) { 6336 return "boolean" == typeof e && e && (e = { height: "auto" }), "string" == typeof e && (e = { height: e }), "object" != typeof e && (e = {}), e; 6337 })(this.opts.autoHeight); 6338 if (((this.opts.autoHeight = o(t, k.options.autoHeight)), "auto" == t.height || "highest" == t.height)) { 6339 var n, 6340 i = 6341 ((n = function (e) { 6342 return ( 6343 e.parentElement.matches(".mm-listitem_vertical") && 6344 (e = v(e, ".mm-panel").filter(function (e) { 6345 return !e.parentElement.matches(".mm-listitem_vertical"); 6346 })[0]), 6347 e 6348 ); 6349 }), 6350 function () { 6351 if (!e.opts.offCanvas || e.vars.opened) { 6352 var i, 6353 s, 6354 o = 0, 6355 a = e.node.menu.offsetHeight - e.node.pnls.offsetHeight; 6356 e.node.menu.classList.add("mm-menu_autoheight-measuring"), 6357 "auto" == t.height 6358 ? ((s = g(e.node.pnls, ".mm-panel_opened")[0]) && (s = n(s)), s || (s = g(e.node.pnls, ".mm-panel")[0]), (o = s.scrollHeight)) 6359 : "highest" == t.height && 6360 ((i = 0), 6361 g(e.node.pnls, ".mm-panel").forEach(function (e) { 6362 (e = n(e)), (i = Math.max(i, e.scrollHeight)); 6363 }), 6364 (o = i)), 6365 (e.node.menu.style.height = o + a + "px"), 6366 e.node.menu.classList.remove("mm-menu_autoheight-measuring"); 6367 } 6368 }); 6369 this.bind("initMenu:after", function () { 6370 e.node.menu.classList.add("mm-menu_autoheight"); 6371 }), 6372 this.opts.offCanvas && this.bind("open:start", i), 6373 "highest" == t.height && this.bind("initPanels:after", i), 6374 "auto" == t.height && (this.bind("updateListview", i), this.bind("openPanel:start", i)); 6375 } 6376 }, 6377 backButton: function () { 6378 var e = this; 6379 if (this.opts.offCanvas) { 6380 var t = (function (e) { 6381 return "boolean" == typeof e && (e = { close: e }), "object" != typeof e && (e = {}), e; 6382 })(this.opts.backButton); 6383 this.opts.backButton = o(t, k.options.backButton); 6384 var n = "#" + this.node.menu.id; 6385 if (t.close) { 6386 var i = [], 6387 s = function () { 6388 (i = [n]), 6389 g(e.node.pnls, ".mm-panel_opened, .mm-panel_opened-parent").forEach(function (e) { 6390 i.push("#" + e.id); 6391 }); 6392 }; 6393 this.bind("open:finish", function () { 6394 history.pushState(null, document.title, n); 6395 }), 6396 this.bind("open:finish", s), 6397 this.bind("openPanel:finish", s), 6398 this.bind("close:finish", function () { 6399 (i = []), history.back(), history.pushState(null, document.title, location.pathname + location.search); 6400 }), 6401 window.addEventListener("popstate", function (t) { 6402 if (e.vars.opened && i.length) { 6403 var s = (i = i.slice(0, -1))[i.length - 1]; 6404 s == n ? e.close() : (e.openPanel(e.node.menu.querySelector(s)), history.pushState(null, document.title, n)); 6405 } 6406 }); 6407 } 6408 t.open && 6409 window.addEventListener("popstate", function (t) { 6410 e.vars.opened || location.hash != n || e.open(); 6411 }); 6412 } 6413 }, 6414 columns: function () { 6415 var e = this, 6416 t = (function (e) { 6417 return ( 6418 "boolean" == typeof e && (e = { add: e }), 6419 "number" == typeof e && (e = { add: !0, visible: e }), 6420 "object" != typeof e && (e = {}), 6421 "number" == typeof e.visible && (e.visible = { min: e.visible, max: e.visible }), 6422 e 6423 ); 6424 })(this.opts.columns); 6425 if (((this.opts.columns = o(t, k.options.columns)), t.add)) { 6426 (t.visible.min = Math.max(1, Math.min(6, t.visible.min))), (t.visible.max = Math.max(t.visible.min, Math.min(6, t.visible.max))); 6427 for (var n = [], i = [], s = ["mm-panel_opened", "mm-panel_opened-parent", "mm-panel_highest"], a = 0; a <= t.visible.max; a++) n.push("mm-menu_columns-" + a), i.push("mm-panel_columns-" + a); 6428 s.push.apply(s, i), 6429 this.bind("openPanel:before", function (t) { 6430 var n; 6431 if ((t && (n = t.mmParent), n && !n.classList.contains("mm-listitem_vertical") && (n = n.closest(".mm-panel")))) { 6432 var i = n.className; 6433 if (i.length && (i = i.split("mm-panel_columns-")[1])) 6434 for (var o = parseInt(i.split(" ")[0], 10) + 1; o > 0; ) { 6435 if (!(t = g(e.node.pnls, ".mm-panel_columns-" + o)[0])) { 6436 o = -1; 6437 break; 6438 } 6439 o++, 6440 t.classList.add("mm-hidden"), 6441 s.forEach(function (e) { 6442 t.classList.remove(e); 6443 }); 6444 } 6445 } 6446 }), 6447 this.bind("openPanel:start", function (s) { 6448 if (s) { 6449 var o = s.mmParent; 6450 if (o && o.classList.contains("mm-listitem_vertical")) return; 6451 } 6452 var a = g(e.node.pnls, ".mm-panel_opened-parent").length; 6453 s.matches(".mm-panel_opened-parent") || a++, 6454 (a = Math.min(t.visible.max, Math.max(t.visible.min, a))), 6455 n.forEach(function (t) { 6456 e.node.menu.classList.remove(t); 6457 }), 6458 e.node.menu.classList.add("mm-menu_columns-" + a); 6459 var r = []; 6460 g(e.node.pnls, ".mm-panel").forEach(function (e) { 6461 i.forEach(function (t) { 6462 e.classList.remove(t); 6463 }), 6464 e.matches(".mm-panel_opened-parent") && r.push(e); 6465 }), 6466 r.push(s), 6467 r.slice(-t.visible.max).forEach(function (e, t) { 6468 e.classList.add("mm-panel_columns-" + t); 6469 }); 6470 }); 6471 } 6472 }, 6473 counters: function () { 6474 var e = this, 6475 t = (function (e) { 6476 return "boolean" == typeof e && (e = { add: e, addTo: "panels", count: e }), "object" != typeof e && (e = {}), "panels" == e.addTo && (e.addTo = ".mm-listview"), e; 6477 })(this.opts.counters); 6478 if ( 6479 ((this.opts.counters = o(t, k.options.counters)), 6480 this.bind("initListview:after", function (t) { 6481 var n = e.conf.classNames.counters.counter; 6482 m(t, "." + n).forEach(function (e) { 6483 _(e, n, "mm-counter"); 6484 }); 6485 }), 6486 t.add && 6487 this.bind("initListview:after", function (e) { 6488 if (e.matches(t.addTo)) { 6489 var n = e.closest(".mm-panel").mmParent; 6490 if (n && !m(n, ".mm-counter").length) { 6491 var i = g(n, ".mm-btn")[0]; 6492 i && i.prepend(f("span.mm-counter")); 6493 } 6494 } 6495 }), 6496 t.count) 6497 ) { 6498 var n = function (t) { 6499 (t ? [t.closest(".mm-panel")] : g(e.node.pnls, ".mm-panel")).forEach(function (e) { 6500 var t = e.mmParent; 6501 if (t) { 6502 var n = m(t, ".mm-counter")[0]; 6503 if (n) { 6504 var i = []; 6505 g(e, ".mm-listview").forEach(function (e) { 6506 i.push.apply(i, g(e)); 6507 }), 6508 (n.innerHTML = b(i).length.toString()); 6509 } 6510 } 6511 }); 6512 }; 6513 this.bind("initListview:after", n), this.bind("updateListview", n); 6514 } 6515 }, 6516 dividers: function () { 6517 var e = this, 6518 t = (function (e) { 6519 return "boolean" == typeof e && (e = { add: e }), "object" != typeof e && (e = {}), "panels" == e.addTo && (e.addTo = ".mm-listview"), e; 6520 })(this.opts.dividers); 6521 (this.opts.dividers = o(t, k.options.dividers)), 6522 this.bind("initListview:after", function (t) { 6523 g(t).forEach(function (t) { 6524 _(t, e.conf.classNames.divider, "mm-divider"), t.matches(".mm-divider") && t.classList.remove("mm-listitem"); 6525 }); 6526 }), 6527 t.add && 6528 this.bind("initListview:after", function (e) { 6529 if (e.matches(t.addTo)) { 6530 m(e, ".mm-divider").forEach(function (e) { 6531 e.remove(); 6532 }); 6533 var n = ""; 6534 b(g(e)).forEach(function (t) { 6535 var i = g(t, ".mm-listitem__text")[0].textContent.trim().toLowerCase()[0]; 6536 if (i.length && i != n) { 6537 n = i; 6538 var s = f("li.mm-divider"); 6539 (s.textContent = i), e.insertBefore(s, t); 6540 } 6541 }); 6542 } 6543 }); 6544 }, 6545 drag: function () { 6546 var e = this; 6547 if (this.opts.offCanvas) { 6548 var t = (function (e) { 6549 return "boolean" == typeof e && (e = { open: e }), "object" != typeof e && (e = {}), e; 6550 })(this.opts.drag); 6551 (this.opts.drag = o(t, k.options.drag)), 6552 t.open && 6553 this.bind("setPage:after", function (n) { 6554 R.call(e, t.node || n); 6555 }); 6556 } 6557 }, 6558 dropdown: function () { 6559 var e = this; 6560 if (this.opts.offCanvas) { 6561 var t = (function (e) { 6562 return "boolean" == typeof e && e && (e = { drop: e }), "object" != typeof e && (e = {}), "string" == typeof e.position && (e.position = { of: e.position }), e; 6563 })(this.opts.dropdown); 6564 this.opts.dropdown = o(t, k.options.dropdown); 6565 var n = this.conf.dropdown; 6566 if (t.drop) { 6567 var i; 6568 this.bind("initMenu:after", function () { 6569 if ((e.node.menu.classList.add("mm-menu_dropdown"), "string" != typeof t.position.of)) { 6570 var n = h(e.node.menu.id); 6571 n && (t.position.of = '[href="#' + n + '"]'); 6572 } 6573 if ("string" == typeof t.position.of) { 6574 i = m(document.body, t.position.of)[0]; 6575 var s = t.event.split(" "); 6576 1 == s.length && (s[1] = s[0]), 6577 "hover" == s[0] && 6578 i.addEventListener( 6579 "mouseenter", 6580 function () { 6581 e.open(); 6582 }, 6583 { passive: !0 } 6584 ), 6585 "hover" == s[1] && 6586 e.node.menu.addEventListener( 6587 "mouseleave", 6588 function () { 6589 e.close(); 6590 }, 6591 { passive: !0 } 6592 ); 6593 } 6594 }), 6595 this.bind("open:start", function () { 6596 (e.node.menu.mmStyle = e.node.menu.getAttribute("style")), e.node.wrpr.classList.add("mm-wrapper_dropdown"); 6597 }), 6598 this.bind("close:finish", function () { 6599 e.node.menu.setAttribute("style", e.node.menu.mmStyle), e.node.wrpr.classList.remove("mm-wrapper_dropdown"); 6600 }); 6601 var s = function (e, s) { 6602 var o, 6603 a, 6604 r, 6605 c = s[0], 6606 l = s[1], 6607 d = "x" == e ? "offsetWidth" : "offsetHeight", 6608 h = "x" == e ? "left" : "top", 6609 u = "x" == e ? "right" : "bottom", 6610 p = "x" == e ? "width" : "height", 6611 f = "x" == e ? "innerWidth" : "innerHeight", 6612 m = "x" == e ? "maxWidth" : "maxHeight", 6613 g = null, 6614 v = ((o = h), i.getBoundingClientRect()[o] + document.body["left" === o ? "scrollLeft" : "scrollTop"]), 6615 b = v + i[d], 6616 y = window[f], 6617 _ = n.offset.button[e] + n.offset.viewport[e]; 6618 if (t.position[e]) 6619 switch (t.position[e]) { 6620 case "left": 6621 case "bottom": 6622 g = "after"; 6623 break; 6624 case "right": 6625 case "top": 6626 g = "before"; 6627 } 6628 return ( 6629 null === g && (g = v + (b - v) / 2 < y / 2 ? "after" : "before"), 6630 "after" == g 6631 ? ((r = y - ((a = "x" == e ? v : b) + _)), (c[h] = a + n.offset.button[e] + "px"), (c[u] = "auto"), t.tip && l.push("mm-menu_tip-" + ("x" == e ? "left" : "top"))) 6632 : ((r = (a = "x" == e ? b : v) - _), (c[u] = "calc( 100% - " + (a - n.offset.button[e]) + "px )"), (c[h] = "auto"), t.tip && l.push("mm-menu_tip-" + ("x" == e ? "right" : "bottom"))), 6633 t.fitViewport && (c[m] = Math.min(n[p].max, r) + "px"), 6634 [c, l] 6635 ); 6636 }; 6637 this.bind("open:start", a), 6638 window.addEventListener( 6639 "resize", 6640 function (t) { 6641 a.call(e); 6642 }, 6643 { passive: !0 } 6644 ), 6645 this.opts.offCanvas.blockUI || 6646 window.addEventListener( 6647 "scroll", 6648 function (t) { 6649 a.call(e); 6650 }, 6651 { passive: !0 } 6652 ); 6653 } 6654 } 6655 function a() { 6656 var e = this; 6657 if (this.vars.opened) { 6658 this.node.menu.setAttribute("style", this.node.menu.mmStyle); 6659 var n = [{}, []]; 6660 for (var i in ((n = s.call(this, "y", n)), (n = s.call(this, "x", n))[0])) this.node.menu.style[i] = n[0][i]; 6661 t.tip && 6662 (["mm-menu_tip-left", "mm-menu_tip-right", "mm-menu_tip-top", "mm-menu_tip-bottom"].forEach(function (t) { 6663 e.node.menu.classList.remove(t); 6664 }), 6665 n[1].forEach(function (t) { 6666 e.node.menu.classList.add(t); 6667 })); 6668 } 6669 } 6670 }, 6671 fixedElements: function () { 6672 var e = this; 6673 if (this.opts.offCanvas) { 6674 var t, 6675 n, 6676 i = this.conf.fixedElements; 6677 this.bind("setPage:after", function (s) { 6678 (t = e.conf.classNames.fixedElements.fixed), 6679 (n = m(document, i.insertSelector)[0]), 6680 m(s, "." + t).forEach(function (e) { 6681 _(e, t, "mm-slideout"), n[i.insertMethod](e); 6682 }); 6683 }); 6684 } 6685 }, 6686 iconbar: function () { 6687 var e, 6688 t = this, 6689 n = (function (e) { 6690 return "array" == a(e) && (e = { use: !0, top: e }), "object" != a(e) && (e = {}), void 0 === e.use && (e.use = !0), "boolean" == typeof e.use && e.use && (e.use = !0), e; 6691 })(this.opts.iconbar); 6692 if ( 6693 ((this.opts.iconbar = o(n, k.options.iconbar)), 6694 n.use && 6695 (["top", "bottom"].forEach(function (t, i) { 6696 var s = n[t]; 6697 "array" != a(s) && (s = [s]); 6698 for (var o = f("div.mm-iconbar__" + t), r = 0, c = s.length; r < c; r++) "string" == typeof s[r] ? (o.innerHTML += s[r]) : o.append(s[r]); 6699 o.children.length && (e || (e = f("div.mm-iconbar")), e.append(o)); 6700 }), 6701 e)) 6702 ) { 6703 this.bind("initMenu:after", function () { 6704 t.node.menu.prepend(e); 6705 }); 6706 var i = "mm-menu_iconbar-" + n.position, 6707 s = function () { 6708 t.node.menu.classList.add(i), k.sr_aria(e, "hidden", !1); 6709 }; 6710 if ( 6711 ("boolean" == typeof n.use 6712 ? this.bind("initMenu:after", s) 6713 : x(n.use, s, function () { 6714 t.node.menu.classList.remove(i), k.sr_aria(e, "hidden", !0); 6715 }), 6716 "tabs" == n.type) 6717 ) { 6718 e.classList.add("mm-iconbar_tabs"), 6719 e.addEventListener("click", function (e) { 6720 var n = e.target; 6721 if (n.matches("a")) 6722 if (n.matches(".mm-iconbar__tab_selected")) e.stopImmediatePropagation(); 6723 else 6724 try { 6725 var i = t.node.menu.querySelector(n.getAttribute("href"))[0]; 6726 i && i.matches(".mm-panel") && (e.preventDefault(), e.stopImmediatePropagation(), t.openPanel(i, !1)); 6727 } catch (e) {} 6728 }); 6729 var r = function (t) { 6730 m(e, "a").forEach(function (e) { 6731 e.classList.remove("mm-iconbar__tab_selected"); 6732 }); 6733 var n = m(e, '[href="#' + t.id + '"]')[0]; 6734 if (n) n.classList.add("mm-iconbar__tab_selected"); 6735 else { 6736 var i = t.mmParent; 6737 i && r(i.closest(".mm-panel")); 6738 } 6739 }; 6740 this.bind("openPanel:start", r); 6741 } 6742 } 6743 }, 6744 iconPanels: function () { 6745 var e = this, 6746 t = (function (e) { 6747 return "boolean" == typeof e && (e = { add: e }), ("number" != typeof e && "string" != typeof e) || (e = { add: !0, visible: e }), "object" != typeof e && (e = {}), e; 6748 })(this.opts.iconPanels); 6749 this.opts.iconPanels = o(t, k.options.iconPanels); 6750 var n = !1; 6751 if (("first" == t.visible && ((n = !0), (t.visible = 1)), (t.visible = Math.min(3, Math.max(1, t.visible))), t.visible++, t.add)) { 6752 this.bind("initMenu:after", function () { 6753 var n = ["mm-menu_iconpanel"]; 6754 t.hideNavbar && n.push("mm-menu_hidenavbar"), 6755 t.hideDivider && n.push("mm-menu_hidedivider"), 6756 n.forEach(function (t) { 6757 e.node.menu.classList.add(t); 6758 }); 6759 }); 6760 var i = []; 6761 if (!n) for (var s = 0; s <= t.visible; s++) i.push("mm-panel_iconpanel-" + s); 6762 this.bind("openPanel:start", function (s) { 6763 var o = g(e.node.pnls, ".mm-panel"); 6764 if (!(s = s || o[0]).parentElement.matches(".mm-listitem_vertical")) 6765 if (n) 6766 o.forEach(function (e, t) { 6767 e.classList[0 == t ? "add" : "remove"]("mm-panel_iconpanel-first"); 6768 }); 6769 else { 6770 o.forEach(function (e) { 6771 i.forEach(function (t) { 6772 e.classList.remove(t); 6773 }); 6774 }), 6775 (o = o.filter(function (e) { 6776 return e.matches(".mm-panel_opened-parent"); 6777 })); 6778 var a = !1; 6779 o.forEach(function (e) { 6780 s === e && (a = !0); 6781 }), 6782 a || o.push(s), 6783 o.forEach(function (e) { 6784 e.classList.remove("mm-hidden"); 6785 }), 6786 (o = o.slice(-t.visible)).forEach(function (e, t) { 6787 e.classList.add("mm-panel_iconpanel-" + t); 6788 }); 6789 } 6790 }), 6791 this.bind("initPanel:after", function (e) { 6792 if (t.blockPanel && !e.parentElement.matches(".mm-listitem_vertical") && !g(e, ".mm-panel__blocker")[0]) { 6793 var n = f("a.mm-panel__blocker"); 6794 n.setAttribute("href", "#" + e.closest(".mm-panel").id), e.prepend(n); 6795 } 6796 }); 6797 } 6798 }, 6799 keyboardNavigation: function () { 6800 var e = this; 6801 if (!P) { 6802 var t = (function (e) { 6803 return ("boolean" != typeof e && "string" != typeof e) || (e = { enable: e }), "object" != typeof e && (e = {}), e; 6804 })(this.opts.keyboardNavigation); 6805 if (((this.opts.keyboardNavigation = o(t, k.options.keyboardNavigation)), t.enable)) { 6806 var n = f("button.mm-tabstart.mm-sronly"), 6807 i = f("button.mm-tabend.mm-sronly"), 6808 s = f("button.mm-tabend.mm-sronly"); 6809 this.bind("initMenu:after", function () { 6810 t.enhance && e.node.menu.classList.add("mm-menu_keyboardfocus"), z.call(e, t.enhance); 6811 }), 6812 this.bind("initOpened:before", function () { 6813 e.node.menu.prepend(n), 6814 e.node.menu.append(i), 6815 g(e.node.menu, ".mm-navbars-top, .mm-navbars-bottom").forEach(function (e) { 6816 e.querySelectorAll(".mm-navbar__title").forEach(function (e) { 6817 e.setAttribute("tabindex", "-1"); 6818 }); 6819 }); 6820 }), 6821 this.bind("initBlocker:after", function () { 6822 k.node.blck.append(s), g(k.node.blck, "a")[0].classList.add("mm-tabstart"); 6823 }); 6824 var a = "input, select, textarea, button, label, a[href]", 6825 r = function (n) { 6826 n = n || g(e.node.pnls, ".mm-panel_opened")[0]; 6827 var i = null, 6828 s = document.activeElement.closest(".mm-navbar"); 6829 if (!s || s.closest(".mm-menu") != e.node.menu) { 6830 if ("default" == t.enable && ((i = m(n, ".mm-listview a[href]:not(.mm-hidden)")[0]) || (i = m(n, a + ":not(.mm-hidden)")[0]), !i)) { 6831 var o = []; 6832 g(e.node.menu, ".mm-navbars_top, .mm-navbars_bottom").forEach(function (e) { 6833 o.push.apply(o, m(e, a + ":not(.mm-hidden)")); 6834 }), 6835 (i = o[0]); 6836 } 6837 i || (i = g(e.node.menu, ".mm-tabstart")[0]), i && i.focus(); 6838 } 6839 }; 6840 this.bind("open:finish", r), 6841 this.bind("openPanel:finish", r), 6842 this.bind("initOpened:after:sr-aria", function () { 6843 [e.node.menu, k.node.blck].forEach(function (e) { 6844 g(e, ".mm-tabstart, .mm-tabend").forEach(function (e) { 6845 k.sr_aria(e, "hidden", !0), k.sr_role(e, "presentation"); 6846 }); 6847 }); 6848 }); 6849 } 6850 } 6851 }, 6852 lazySubmenus: function () { 6853 var e = this, 6854 t = (function (e) { 6855 return "boolean" == typeof e && (e = { load: e }), "object" != typeof e && (e = {}), e; 6856 })(this.opts.lazySubmenus); 6857 (this.opts.lazySubmenus = o(t, k.options.lazySubmenus)), 6858 t.load && 6859 (this.bind("initPanels:before", function () { 6860 var t = []; 6861 m(e.node.pnls, "li").forEach(function (n) { 6862 t.push.apply(t, g(n, e.conf.panelNodetype.join(", "))); 6863 }), 6864 t 6865 .filter(function (e) { 6866 return !e.matches(".mm-listview_inset"); 6867 }) 6868 .filter(function (e) { 6869 return !e.matches(".mm-nolistview"); 6870 }) 6871 .filter(function (e) { 6872 return !e.matches(".mm-nopanel"); 6873 }) 6874 .forEach(function (e) { 6875 ["mm-panel_lazysubmenu", "mm-nolistview", "mm-nopanel"].forEach(function (t) { 6876 e.classList.add(t); 6877 }); 6878 }); 6879 }), 6880 this.bind("initPanels:before", function () { 6881 var t = []; 6882 m(e.node.pnls, "." + e.conf.classNames.selected).forEach(function (e) { 6883 t.push.apply(t, v(e, ".mm-panel_lazysubmenu")); 6884 }), 6885 t.length && 6886 t.forEach(function (e) { 6887 console.log(e), 6888 ["mm-panel_lazysubmenu", "mm-nolistview", "mm-nopanel"].forEach(function (t) { 6889 e.classList.remove(t); 6890 }); 6891 }); 6892 }), 6893 this.bind("openPanel:before", function (t) { 6894 var n = m(t, ".mm-panel_lazysubmenu").filter(function (e) { 6895 return !e.matches(".mm-panel_lazysubmenu .mm-panel_lazysubmenu"); 6896 }); 6897 t.matches(".mm-panel_lazysubmenu") && n.unshift(t), 6898 n.forEach(function (t) { 6899 ["mm-panel_lazysubmenu", "mm-nolistview", "mm-nopanel"].forEach(function (e) { 6900 t.classList.remove(e); 6901 }), 6902 e.initPanel(t); 6903 }); 6904 })); 6905 }, 6906 navbars: U, 6907 pageScroll: function () { 6908 var e = this, 6909 t = (function (e) { 6910 return "boolean" == typeof e && (e = { scroll: e }), "object" != typeof e && (e = {}), e; 6911 })(this.opts.pageScroll); 6912 this.opts.pageScroll = o(t, k.options.pageScroll); 6913 var n, 6914 i = this.conf.pageScroll; 6915 function s() { 6916 n && window.scrollTo({ top: n.getBoundingClientRect().top + document.scrollingElement.scrollTop - i.scrollOffset, behavior: "smooth" }), (n = null); 6917 } 6918 function a(e) { 6919 try { 6920 return "#" != e && "#" == e.slice(0, 1) ? k.node.page.querySelector(e) : null; 6921 } catch (e) { 6922 return null; 6923 } 6924 } 6925 if ( 6926 (t.scroll && 6927 this.bind("close:finish", function () { 6928 s(); 6929 }), 6930 this.opts.offCanvas && 6931 t.scroll && 6932 this.clck.push(function (t, i) { 6933 if (((n = null), i.inMenu)) { 6934 var o = t.getAttribute("href"); 6935 if ((n = a(o))) return e.node.menu.matches(".mm-menu_sidebar-expanded") && e.node.wrpr.matches(".mm-wrapper_sidebar-expanded") ? void s() : { close: !0 }; 6936 } 6937 }), 6938 t.update) 6939 ) { 6940 var r = []; 6941 this.bind("initListview:after", function (e) { 6942 y(g(e, ".mm-listitem")).forEach(function (e) { 6943 var t = a(e.getAttribute("href")); 6944 t && r.unshift(t); 6945 }); 6946 }); 6947 var c = -1; 6948 window.addEventListener("scroll", function (t) { 6949 for (var n = window.scrollY, s = 0; s < r.length; s++) 6950 if (r[s].offsetTop < n + i.updateOffset) { 6951 if (c !== s) { 6952 c = s; 6953 var o = y(m(g(e.node.pnls, ".mm-panel_opened")[0], ".mm-listitem")); 6954 (o = o.filter(function (e) { 6955 return e.matches('[href="#' + r[s].id + '"]'); 6956 })).length && e.setSelected(o[0].parentElement); 6957 } 6958 break; 6959 } 6960 }); 6961 } 6962 }, 6963 searchfield: function () { 6964 var e = this, 6965 t = (function (e) { 6966 return ( 6967 "boolean" == typeof e && (e = { add: e }), 6968 "object" != typeof e && (e = {}), 6969 "boolean" == typeof e.panel && (e.panel = { add: e.panel }), 6970 "object" != typeof e.panel && (e.panel = {}), 6971 "panel" == e.addTo && (e.panel.add = !0), 6972 e.panel.add && ((e.showSubPanels = !1), e.panel.splash && (e.cancel = !0)), 6973 e 6974 ); 6975 })(this.opts.searchfield); 6976 (this.opts.searchfield = o(t, k.options.searchfield)), 6977 this.conf.searchfield, 6978 t.add && 6979 (this.bind("close:start", function () { 6980 m(e.node.menu, ".mm-searchfield").forEach(function (e) { 6981 e.blur(); 6982 }); 6983 }), 6984 this.bind("initPanel:after", function (n) { 6985 var i = null; 6986 t.panel.add && (i = V.call(e)); 6987 var s = null; 6988 switch (t.addTo) { 6989 case "panels": 6990 s = [n]; 6991 break; 6992 case "panel": 6993 s = [i]; 6994 break; 6995 default: 6996 "string" == typeof t.addTo ? (s = m(e.node.menu, t.addTo)) : "array" == a(t.addTo) && (s = t.addTo); 6997 } 6998 s.forEach(function (n) { 6999 (n = W.call(e, n)), t.search && n && Y.call(e, n); 7000 }), 7001 t.noResults && X.call(e, t.panel.add ? i : n); 7002 }), 7003 this.clck.push(function (t, n) { 7004 if (n.inMenu && t.matches(".mm-searchfield__btn")) { 7005 if (t.matches(".mm-btn_close")) { 7006 var i = m((s = t.closest(".mm-searchfield")), "input")[0]; 7007 return (i.value = ""), e.search(i), !0; 7008 } 7009 var s; 7010 if (t.matches(".mm-btn_next")) return (s = t.closest("form")) && s.submit(), !0; 7011 } 7012 })); 7013 }, 7014 sectionIndexer: function () { 7015 var e = this, 7016 t = (function (e) { 7017 return "boolean" == typeof e && (e = { add: e }), "object" != typeof e && (e = {}), e; 7018 })(this.opts.sectionIndexer); 7019 (this.opts.sectionIndexer = o(t, k.options.sectionIndexer)), 7020 t.add && 7021 this.bind("initPanels:after", function () { 7022 if (!e.node.indx) { 7023 var t = ""; 7024 "abcdefghijklmnopqrstuvwxyz".split("").forEach(function (e) { 7025 t += '<a href="#">' + e + "</a>"; 7026 }); 7027 var n = f("div.mm-sectionindexer"); 7028 (n.innerHTML = t), 7029 e.node.pnls.prepend(n), 7030 (e.node.indx = n), 7031 e.node.indx.addEventListener("click", function (e) { 7032 e.target.matches("a") && e.preventDefault(); 7033 }); 7034 var i = function (t) { 7035 if (t.target.matches("a")) { 7036 var n = t.target.textContent, 7037 i = g(e.node.pnls, ".mm-panel_opened")[0], 7038 s = -1, 7039 o = i.scrollTop; 7040 (i.scrollTop = 0), 7041 m(i, ".mm-divider") 7042 .filter(function (e) { 7043 return !e.matches(".mm-hidden"); 7044 }) 7045 .forEach(function (e) { 7046 s < 0 && n == e.textContent.trim().slice(0, 1).toLowerCase() && (s = e.offsetTop); 7047 }), 7048 (i.scrollTop = s > -1 ? s : o); 7049 } 7050 }; 7051 P ? (e.node.indx.addEventListener("touchstart", i), e.node.indx.addEventListener("touchmove", i)) : e.node.indx.addEventListener("mouseover", i); 7052 } 7053 e.bind("openPanel:start", function (t) { 7054 var n = m(t, ".mm-divider").filter(function (e) { 7055 return !e.matches(".mm-hidden"); 7056 }).length; 7057 e.node.indx.classList[n ? "add" : "remove"]("mm-sectionindexer_active"); 7058 }); 7059 }); 7060 }, 7061 setSelected: function () { 7062 var e = this, 7063 t = (function (e) { 7064 return "boolean" == typeof e && (e = { hover: e, parent: e }), "object" != typeof e && (e = {}), e; 7065 })(this.opts.setSelected); 7066 if (((this.opts.setSelected = o(t, k.options.setSelected)), "detect" == t.current)) { 7067 var n = function (t) { 7068 t = t.split("?")[0].split("#")[0]; 7069 var i = e.node.menu.querySelector('a[href="' + t + '"], a[href="' + t + '/"]'); 7070 if (i) e.setSelected(i.parentElement); 7071 else { 7072 var s = t.split("/").slice(0, -1); 7073 s.length && n(s.join("/")); 7074 } 7075 }; 7076 this.bind("initMenu:after", function () { 7077 n.call(e, window.location.href); 7078 }); 7079 } else 7080 t.current || 7081 this.bind("initListview:after", function (e) { 7082 g(e, ".mm-listitem_selected").forEach(function (e) { 7083 e.classList.remove("mm-listitem_selected"); 7084 }); 7085 }); 7086 t.hover && 7087 this.bind("initMenu:after", function () { 7088 e.node.menu.classList.add("mm-menu_selected-hover"); 7089 }), 7090 t.parent && 7091 (this.bind("openPanel:finish", function (t) { 7092 m(e.node.pnls, ".mm-listitem_selected-parent").forEach(function (e) { 7093 e.classList.remove("mm-listitem_selected-parent"); 7094 }); 7095 for (var n = t.mmParent; n; ) n.matches(".mm-listitem_vertical") || n.classList.add("mm-listitem_selected-parent"), (n = (n = n.closest(".mm-panel")).mmParent); 7096 }), 7097 this.bind("initMenu:after", function () { 7098 e.node.menu.classList.add("mm-menu_selected-parent"); 7099 })); 7100 }, 7101 sidebar: function () { 7102 var e = this; 7103 if (this.opts.offCanvas) { 7104 var t = (function (e) { 7105 return ( 7106 ("string" == typeof e || ("boolean" == typeof e && e) || "number" == typeof e) && (e = { expanded: e }), 7107 "object" != typeof e && (e = {}), 7108 "boolean" == typeof e.collapsed && e.collapsed && (e.collapsed = { use: !0 }), 7109 ("string" != typeof e.collapsed && "number" != typeof e.collapsed) || (e.collapsed = { use: e.collapsed }), 7110 "object" != typeof e.collapsed && (e.collapsed = {}), 7111 "boolean" == typeof e.expanded && e.expanded && (e.expanded = { use: !0 }), 7112 ("string" != typeof e.expanded && "number" != typeof e.expanded) || (e.expanded = { use: e.expanded }), 7113 "object" != typeof e.expanded && (e.expanded = {}), 7114 e 7115 ); 7116 })(this.opts.sidebar); 7117 if (((this.opts.sidebar = o(t, k.options.sidebar)), t.collapsed.use)) { 7118 this.bind("initMenu:after", function () { 7119 if ((e.node.menu.classList.add("mm-menu_sidebar-collapsed"), t.collapsed.blockMenu && e.opts.offCanvas && !g(e.node.menu, ".mm-menu__blocker")[0])) { 7120 var n = f("a.mm-menu__blocker"); 7121 n.setAttribute("href", "#" + e.node.menu.id), e.node.menu.prepend(n); 7122 } 7123 t.collapsed.hideNavbar && e.node.menu.classList.add("mm-menu_hidenavbar"), t.collapsed.hideDivider && e.node.menu.classList.add("mm-menu_hidedivider"); 7124 }); 7125 var n = function () { 7126 e.node.wrpr.classList.add("mm-wrapper_sidebar-collapsed"); 7127 }, 7128 i = function () { 7129 e.node.wrpr.classList.remove("mm-wrapper_sidebar-collapsed"); 7130 }; 7131 "boolean" == typeof t.collapsed.use ? this.bind("initMenu:after", n) : x(t.collapsed.use, n, i); 7132 } 7133 if (t.expanded.use) { 7134 this.bind("initMenu:after", function () { 7135 e.node.menu.classList.add("mm-menu_sidebar-expanded"); 7136 }), 7137 (n = function () { 7138 e.node.wrpr.classList.add("mm-wrapper_sidebar-expanded"), e.node.wrpr.matches(".mm-wrapper_sidebar-closed") || e.open(); 7139 }), 7140 (i = function () { 7141 e.node.wrpr.classList.remove("mm-wrapper_sidebar-expanded"), e.close(); 7142 }), 7143 "boolean" == typeof t.expanded.use ? this.bind("initMenu:after", n) : x(t.expanded.use, n, i), 7144 this.bind("close:start", function () { 7145 e.node.wrpr.matches(".mm-wrapper_sidebar-expanded") && 7146 (e.node.wrpr.classList.add("mm-wrapper_sidebar-closed"), "remember" == t.expanded.initial && window.localStorage.setItem("mmenuExpandedState", "closed")); 7147 }), 7148 this.bind("open:start", function () { 7149 e.node.wrpr.matches(".mm-wrapper_sidebar-expanded") && 7150 (e.node.wrpr.classList.remove("mm-wrapper_sidebar-closed"), "remember" == t.expanded.initial && window.localStorage.setItem("mmenuExpandedState", "open")); 7151 }); 7152 var s = t.expanded.initial; 7153 if ("remember" == t.expanded.initial) { 7154 var a = window.localStorage.getItem("mmenuExpandedState"); 7155 switch (a) { 7156 case "open": 7157 case "closed": 7158 s = a; 7159 } 7160 } 7161 "closed" == s && 7162 this.bind("initMenu:after", function () { 7163 e.node.wrpr.classList.add("mm-wrapper_sidebar-closed"); 7164 }), 7165 this.clck.push(function (n, i) { 7166 if (i.inMenu && i.inListview && e.node.wrpr.matches(".mm-wrapper_sidebar-expanded")) return { close: "closed" == t.expanded.initial }; 7167 }); 7168 } 7169 } 7170 }, 7171 toggles: function () { 7172 var e = this; 7173 this.bind("initPanel:after", function (t) { 7174 m(t, "input").forEach(function (t) { 7175 _(t, e.conf.classNames.toggles.toggle, "mm-toggle"), _(t, e.conf.classNames.toggles.check, "mm-check"); 7176 }); 7177 }); 7178 }, 7179 }), 7180 (k.wrappers = { 7181 angular: function () { 7182 this.opts.onClick = { close: !0, preventDefault: !1, setSelected: !0 }; 7183 }, 7184 bootstrap: function () { 7185 var e = this; 7186 if (this.node.menu.matches(".navbar-collapse")) { 7187 this.conf.offCanvas && (this.conf.offCanvas.clone = !1); 7188 var t = f("nav"), 7189 n = f("div"); 7190 t.append(n), 7191 g(this.node.menu).forEach(function (t) { 7192 switch (!0) { 7193 case t.matches(".navbar-nav"): 7194 n.append( 7195 (function (e) { 7196 var t = f("ul"); 7197 return ( 7198 m(e, ".nav-item").forEach(function (e) { 7199 var n = f("li"); 7200 if ((e.matches(".active") && n.classList.add("Selected"), !e.matches(".nav-link"))) { 7201 var i = g(e, ".dropdown-menu")[0]; 7202 i && n.append(a(i)), (e = g(e, ".nav-link")[0]); 7203 } 7204 n.prepend(o(e)), t.append(n); 7205 }), 7206 t 7207 ); 7208 })(t) 7209 ); 7210 break; 7211 case t.matches(".dropdown-menu"): 7212 n.append(a(t)); 7213 break; 7214 case t.matches(".form-inline"): 7215 (e.conf.searchfield.form = { action: t.getAttribute("action") || null, method: t.getAttribute("method") || null }), 7216 (e.conf.searchfield.input = { name: t.querySelector("input").getAttribute("name") || null }), 7217 (e.conf.searchfield.clear = !1), 7218 (e.conf.searchfield.submit = !0); 7219 break; 7220 default: 7221 n.append(t.cloneNode(!0)); 7222 } 7223 }), 7224 this.bind("initMenu:before", function () { 7225 document.body.prepend(t), (e.node.menu = t); 7226 }); 7227 var i = this.node.menu.parentElement; 7228 if (i) { 7229 var s = i.querySelector(".navbar-toggler"); 7230 s && 7231 (s.removeAttribute("data-target"), 7232 s.removeAttribute("aria-controls"), 7233 (s.outerHTML = s.outerHTML), 7234 (s = i.querySelector(".navbar-toggler")).addEventListener("click", function (t) { 7235 t.preventDefault(), t.stopImmediatePropagation(), e[e.vars.opened ? "close" : "open"](); 7236 })); 7237 } 7238 } 7239 function o(e) { 7240 for (var t = f(e.matches("a") ? "a" : "span"), n = ["href", "title", "target"], i = 0; i < n.length; i++) e.getAttribute(n[i]) && t.setAttribute(n[i], e.getAttribute(n[i])); 7241 return ( 7242 (t.innerHTML = e.innerHTML), 7243 m(t, ".sr-only").forEach(function (e) { 7244 e.remove(); 7245 }), 7246 t 7247 ); 7248 } 7249 function a(e) { 7250 var t = f("ul"); 7251 return ( 7252 g(e).forEach(function (e) { 7253 var n = f("li"); 7254 e.matches(".dropdown-divider") ? n.classList.add("Divider") : e.matches(".dropdown-item") && n.append(o(e)), t.append(n); 7255 }), 7256 t 7257 ); 7258 } 7259 }, 7260 olark: function () { 7261 this.conf.offCanvas.page.noSelector.push("#olark"); 7262 }, 7263 turbolinks: function () { 7264 var e; 7265 document.addEventListener("turbolinks:before-visit", function (t) { 7266 e = document 7267 .querySelector(".mm-wrapper") 7268 .className.split(" ") 7269 .filter(function (e) { 7270 return /mm-/.test(e); 7271 }); 7272 }), 7273 document.addEventListener("turbolinks:load", function (t) { 7274 void 0 !== e && (document.querySelector(".mm-wrapper").className = e); 7275 }); 7276 }, 7277 wordpress: function () { 7278 this.conf.classNames.selected = "current-menu-item"; 7279 var e = document.getElementById("wpadminbar"); 7280 e && ((e.style.position = "fixed"), e.classList.add("mm-slideout")); 7281 }, 7282 }), 7283 (t.default = k), 7284 window && (window.Mmenu = k), 7285 (K = window.jQuery || window.Zepto || null) && 7286 (K.fn.mmenu = function (e, t) { 7287 var n = K(); 7288 return ( 7289 this.each(function (i, s) { 7290 if (!s.mmApi) { 7291 var o = new k(s, e, t), 7292 a = K(o.node.menu); 7293 a.data("mmenu", o.API), (n = n.add(a)); 7294 } 7295 }), 7296 n 7297 ); 7298 }); 7299 }, 7300 ]); 7301 }, 7302
vendor: 666 bytes, lines 7302-7318
7302"../node_modules/webpack-stream/node_modules/webpack/buildin/global.js": 7303 /*!*****************************************************************************!*\ 7304!*** ../node_modules/webpack-stream/node_modules/webpack/buildin/global.js ***! 7305\*****************************************************************************/ 7306 /*! no static exports found */ function (e, t) { 7307 var n; 7308 n = (function () { 7309 return this; 7310 })(); 7311 try { 7312 n = n || new Function("return this")(); 7313 } catch (e) { 7314 "object" == typeof window && (n = window); 7315 } 7316 e.exports = n; 7317 }, 7318
7318"./js/main.js": 7319 /*!********************!*\ 7320!*** ./js/main.js ***! 7321\********************/ 7322 /*! no exports provided */ function (e, t, n) { 7323 "use strict"; 7324 n.r(t); 7325 var i = n(/*! ./utils/ios-vh-fix */ "./js/utils/ios-vh-fix.js"), 7326 s = n(/*! ./modules/modals/init-modals */ "./js/modules/modals/init-modals.js"), 7327 o = n(/*! ./modules/main-nav */ "./js/modules/main-nav.js"), 7328 a = n(/*! ./modules/rippleEffect */ "./js/modules/rippleEffect.js"), 7329 r = n(/*! ./modules/video */ "./js/modules/video.js"), 7330 c = 7331 (n(/*! custom-select/build/custom-select.min */ "../node_modules/custom-select/build/custom-select.min.js"), 7332 n(/*! mmenu-js/dist/mmenu */ "../node_modules/mmenu-js/dist/mmenu.js"), 7333 n(/*! air-datepicker */ "../node_modules/air-datepicker/src/js/air-datepicker.js"), 7334 n(/*! ./vendor/jquery.fancybox */ "./js/vendor/jquery.fancybox.js"), 7335 n(/*! ./vendor/bvi/bvi.min */ "./js/vendor/bvi/bvi.min.js")); 7336 n(/*! ./vendor/testInstruments */ "./js/vendor/testInstruments.js"); 7337 function l(e) { 7338 return ( 7339 (function (e) { 7340 if (Array.isArray(e)) return d(e); 7341 })(e) || 7342 (function (e) { 7343 if (("undefined" != typeof Symbol && null != e[Symbol.iterator]) || null != e["@@iterator"]) return Array.from(e); 7344 })(e) || 7345 (function (e, t) { 7346 if (!e) return; 7347 if ("string" == typeof e) return d(e, t); 7348 var n = Object.prototype.toString.call(e).slice(8, -1); 7349 "Object" === n && e.constructor && (n = e.constructor.name); 7350 if ("Map" === n || "Set" === n) return Array.from(e); 7351 if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return d(e, t); 7352 })(e) || 7353 (function () { 7354 throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); 7355 })() 7356 ); 7357 } 7358 function d(e, t) { 7359 (null == t || t > e.length) && (t = e.length); 7360 for (var n = 0, i = new Array(t); n < t; n++) i[n] = e[n]; 7361 return i; 7362 } 7363 (window.bootstrap = n(/*! bootstrap/dist/js/bootstrap.bundle.js */ "../node_modules/bootstrap/dist/js/bootstrap.bundle.js")), 7364 window.addEventListener("DOMContentLoaded", function () { 7365 new c.Bvi({ target: "a.-for-visually-impaired", fontSize: 18 }); 7366 var e = new Mmenu( 7367 "#my-menu-mobile", 7368 { 7369 extensions: ["position-bottom", "fullscreen", "border-full"], 7370 navbars: [ 7371 { 7372 position: "bottom", 7373 content: [ 7374 '<div class="accordion" id="accordionMenu">\n <div class="accordion-item">\n <h2 class="accordion-header" id="menu-accordion">\n <button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseMenu" aria-expanded="false" aria-controls="collapseMenu">\n ÐоиÑк по ÑайÑÑ\n </button>\n </h2>\n <div id="collapseMenu" class="accordion-collapse collapse" aria-labelledby="menu-accordion" data-bs-parent="#accordionMenu">\n <div class="accordion-body">\n <form class="mm-search">\n <div class="input-group">\n <input type="text" class="form-control" placeholder="ÐоиÑк по ÑайÑÑ">\n <img src="/img/sprite/icon-search.svg" width="20px" class="search-icon">\n </div>\n <button class="btn btn-primary">ÐайÑи</button>\n </form>\n </div>\n </div>\n </div>\n </div>', 7375 ], 7376 }, 7377 { 7378 position: "bottom", 7379 content: [ 7380 '<a class="link -for-visually-impaired" href="/">ÐеÑÑÐ¸Ñ Ð´Ð»Ñ ÑлабовидÑÑÐ¸Ñ </a>', 7381 '<ul class="socials">\n <li class="social-link-wrap social__link-wrap--tw" title="Twitter">\n <a class="social-link" href="https://twitter.com/belduma31">\n <svg width="20" height="20" aria-hidden="true">\n <use xlink:href="#icon-twitter"></use>\n </svg>\n </a>\n </li>\n <li class="social-link-wrap social__link-wrap--vk" title="ÐконÑакÑе">\n <a class="social-link" href="https://vk.com/belduma31">\n <svg width="20" height="20" aria-hidden="true">\n <use xlink:href="#icon-vk"></use>\n </svg>\n </a>\n </li>\n <li class="social-link-wrap social__link-wrap--fb" title="Facebook">\n <a class="social-link" href="https://www.facebook.com/belduma031">\n <svg width="20" height="20" aria-hidden="true">\n <use xlink:href="#icon-fb"></use>\n </svg>\n </a>\n </li>\n <li class="social-link-wrap social__link-wrap--inst" title="Instagram">\n <a class="social-link" href="https://www.instagram.com/belduma31/">\n <svg width="20" height="20" aria-hidden="true">\n <use xlink:href="#icon-inst"></use>\n </svg>\n </a>\n </li>\n <li class="social-link-wrap social__link-wrap--yt" title="YouTube">\n <a class="social-link" href="https://www.youtube.com/">\n <svg width="20" height="20" aria-hidden="true">\n <use xlink:href="#icon-yt"></use>\n </svg>\n </a>\n </li>\n </ul>', 7382 ], 7383 }, 7384 ], 7385 scroll: { hide: 200 }, 7386 hooks: { 7387 "openPanel:start": function () { 7388 $("#my-menu-mobile").show(); 7389 }, 7390 }, 7391 }, 7392 { language: "ru" }, 7393 { searchfield: { clear: !0 } } 7394 ).API, 7395 t = document.querySelector("button.main-menu-toggle"), 7396 n = function (e) { 7397 var t = l(e.target.selectedOptions).map(function (e) { 7398 return e.value; 7399 }); 7400 "" !== (t = t[0]) ? this.parentElement.classList.add("is-selected") : this.parentElement.classList.remove("is-selected"); 7401 }; 7402 document.getElementById("sidebar-menu") && 7403 (customSelect(document.getElementById("sidebar-menu")), 7404 "" !== $("#sidebar-menu").val() && document.getElementById("sidebar-menu").parentElement.classList.add("is-selected"), 7405 document.getElementById("sidebar-menu").addEventListener("change", n)), 7406 document.getElementById("news-filter") && 7407 (customSelect(document.getElementById("news-filter")), 7408 "" !== $("#news-filter").val() && document.getElementById("news-filter").parentElement.classList.add("is-selected"), 7409 document.getElementById("news-filter").addEventListener("change", n)), 7410 document.getElementById("form-control-select") && 7411 (customSelect(document.getElementById("form-control-select")), 7412 "" !== $("#form-control-select").val() && document.getElementById("form-control-select").parentElement.classList.add("is-selected"), 7413 document.getElementById("form-control-select").addEventListener("change", n)), 7414 document.getElementById("svg-map-select") && 7415 (customSelect(document.getElementById("svg-map-select")), 7416 "" !== $("#svg-map").val() && document.getElementById("svg-map-select").parentElement.classList.add("is-selected"), 7417 document.getElementById("svg-map-select").addEventListener("change", n), 7418 document.getElementById("svg-map-select").addEventListener("change", function (e) { 7419 var t = l(e.target.selectedOptions).map(function (e) { 7420 return e.value; 7421 }); 7422 (t = t[0]), 7423 $(".deputat-item-wrap").hide(), 7424 $("path.tooltip-svg:not(#" + t + ")") 7425 .removeClass("active") 7426 .tooltip("hide"), 7427 "" !== t && 7428 ($("path#" + t) 7429 .addClass("active") 7430 .tooltip("show"), 7431 $(".deputat-item-wrap#" + t).show()); 7432 }), 7433 $("#svg-map").on("click", "path", function () { 7434 var e = $(this).attr("id"); 7435 (document.getElementById("svg-map-select").parentNode.customSelect.value = e), 7436 $(".deputat-item-wrap").hide(), 7437 $("path.tooltip-svg:not(#" + e + ")") 7438 .removeClass("active") 7439 .tooltip("hide"), 7440 "" !== e && 7441 ($(".deputat-item-wrap#" + e).show(), 7442 $("path#" + e) 7443 .addClass("active") 7444 .tooltip("show"), 7445 document.getElementById("svg-map-select").parentElement.classList.add("is-selected")); 7446 })); 7447 7448 7449 7450 7451 var d = document.querySelectorAll('[data-bs-toggle="tooltip"]'); 7452 if (d.length) { 7453 for (var h = window.matchMedia("(min-width:768px)"), u = 0; u < d.length; u++) 7454 d[u].addEventListener("click", function (e) { 7455 e.preventDefault(), e.stopPropagation(); 7456 }); 7457 var p = function () { 7458 if (h.matches) for (var e = 0; e < d.length; e++) new bootstrap.Tooltip(d[e], { trigger: "hover focus", offset: [-80, -30] }); 7459 else for (var t = 0; t < d.length; t++) new bootstrap.Tooltip(d[t], { trigger: "hover focus" }); 7460 }; 7461 h.addListener(p), p(); 7462 } 7463 var f = document.querySelectorAll('[data-bs-toggle="tooltip"].-small'); 7464 if (d.length) { 7465 for (var m = window.matchMedia("(min-width:768px)"), g = 0; g < f.length; g++) 7466 f[g].addEventListener("click", function (e) { 7467 e.preventDefault(), e.stopPropagation(); 7468 }); 7469 var v = function () { 7470 if (m.matches) for (var e = 0; e < f.length; e++) new bootstrap.Tooltip(f[e], { trigger: "hover focus", offset: [-50, -30] }); 7471 else for (var t = 0; t < f.length; t++) new bootstrap.Tooltip(f[t], { trigger: "hover focus" }); 7472 }; 7473 m.addListener(v), v(); 7474 } 7475 var b = document.querySelectorAll("path.tooltip-svg"); 7476 if (b.length) 7477 for (var y = 0; y < b.length; y++) 7478 new bootstrap.Tooltip(b[y], { 7479 template: '<div class="tooltip -svg" role="tooltip">\n <div class="tooltip-arrow"></div>\n <div class="tooltip-inner"></div>\n </div>', 7480 trigger: "hover focus", 7481 offset: [10, -b[y].getBBox().height / 2], 7482 }); 7483 if (document.querySelector("#svg-map")) { 7484 var _ = window.matchMedia("(min-width:768px)"), 7485 w = function () { 7486 document.querySelector('img[usemap="#image-map"]'); 7487 if (_.matches) { 7488 var e = document.querySelectorAll("path.tooltip-svg"); 7489 if (e.length) 7490 for (var t = 0; t < e.length; t++) 7491 new bootstrap.Tooltip(e[t], { 7492 template: 7493 '<div class="tooltip -svg" role="tooltip">\n <div class="tooltip-arrow"></div>\n <div class="tooltip-inner"></div>\n </div>', 7494 trigger: "hover focus click", 7495 offset: [10, -e[t].getBBox().height / 2], 7496 }); 7497 } else { 7498 var n = document.querySelectorAll("path.tooltip-svg"); 7499 if (n.length) 7500 for (var i = 0; i < n.length; i++) 7501 new bootstrap.Tooltip(n[i], { 7502 template: 7503 '<div class="tooltip -svg" role="tooltip">\n <div class="tooltip-arrow"></div>\n <div class="tooltip-inner"></div>\n </div>', 7504 trigger: "hover focus click", 7505 }); 7506 } 7507 }; 7508 _.addListener(w), w(); 7509 } 7510 $(document).on('click', '#svg-map [data-src]', (e) => { 7511 let src = e.target.getAttribute('data-src'); 7512 7513 if(src) window.location = src; 7514 }); 7515 $(".datepicker-here").datepicker({ clearButton: !0, autoClose: !0, language: { clear: "СбÑоÑиÑÑ" } }), 7516 $("#email").inputmask({ 7517 mask: "*{1,20}[.*{1,20}][.*{1,20}][.*{1,20}]@*{1,20}[.*{2,6}][.*{1,2}]", 7518 greedy: !1, 7519 onBeforePaste: function (e, t) { 7520 return (e = e.toLowerCase()).replace("mailto:", ""); 7521 }, 7522 definitions: { "*": { validator: "[0-9A-Za-z!#$%&'*+/=?^_`{|}~-]", casing: "lower" } }, 7523 }), 7524 Object(i.iosVhFix)(), 7525 Object(o.mainNav)(), 7526 Object(a.rippleEffect)(), 7527 Object(r.video)(), 7528 e.bind("close:after", function () { 7529 x(); 7530 }), 7531
7531 e.bind("open:after", function () { 7532 x(); 7533 }); 7534 var x = function () { 7535 t.classList.toggle("active"), t.classList.toggle("not-active"); 7536 }; 7537 if ( 7538 (t.addEventListener("click", function (n) { 7539 n.preventDefault(), t.classList.contains("active") ? e.close() : e.open(); 7540 }), 7541 document.querySelector("#home-banner")) 7542 ) 7543 new Swiper("#home-banner", { autoplay: {delay: 3000}, pagination: { el: ".swiper-pagination", type: "bullets", clickable: true } }); 7544 if (document.querySelector(".carousel")) 7545 new Swiper(".carousel .swiper-container", { pagination: { el: ".swiper-pagination", type: "bullets" }, navigation: { nextEl: ".carousel-control-next", prevEl: ".carousel-control-prev" } }); 7546 if ( 7547 (window.addEventListener("load", function () { 7548 Object(s.initModals)(); 7549 }), 7550 document.querySelector('img[usemap="#image-map"]')) 7551 ) { 7552 var E = window.matchMedia("(min-width:768px)"), 7553 k = function () { 7554 var e = document.querySelector('img[usemap="#image-map"]'); 7555 E.matches ? e.setAttribute("usemap", "#image-map-desktop") : e.setAttribute("usemap", "#image-map-mobile"); 7556 }; 7557 E.addListener(k), k(); 7558 } 7559 document.querySelector(".section-hide") && 7560 document.querySelector(".section-hide-btn") && 7561 document.querySelector(".section-hide-btn").addEventListener("click", function () { 7562 document.querySelector(".section-hide").classList.add("-show"); 7563 }), 7564 $(".file-loaded svg").one("click", function () { 7565 $(this).parent(".file-loaded").remove(); 7566 }), 7567 $(document).ready(function () { 7568 $(".modal-backdrop").css("background", "transparent").empty(), 7569 $("#cookie-modal").modal({ backdrop: !1 }), 7570 $("#cookie-modal").modal("show"), 7571 $("body").attr("style", ""), 7572 $("#cookie-modal").one("click", "a.btn.btn-outline-primary", function () { 7573 $("#cookie-modal").modal("hide"); 7574 }); 7575 }), 7576 $(document).ready(function () { 7577 $(".modal-backdrop").css("background", "transparent").empty(), 7578 $("#cookie-modal-extend").modal({ backdrop: !1 }), 7579 $("#cookie-modal-extend").modal("show"), 7580 $("body").attr("style", ""), 7581 $("#cookie-modal-extend").one("click", "a.btn.btn-primary", function () { 7582 $("#cookie-modal-extend").modal("hide"); 7583 }); 7584 }), 7585 $(".input-group") && 7586 $(".input-group input[maxlength]") && 7587 $(".input-group input[maxlength]").on("input", function () { 7588 $(this).val().length == $(this).attr("maxlength") && $(this).next("input[maxlength]").focus(); 7589 }); 7590 }); 7591 }, 7592
7592"./js/modules/main-nav.js": 7593 /*!********************************!*\ 7594!*** ./js/modules/main-nav.js ***! 7595\********************************/ 7596 /*! exports provided: mainNav */ function (e, t, n) { 7597 "use strict"; 7598 n.r(t), 7599 n.d(t, "mainNav", function () { 7600 return i; 7601 }); 7602 var i = function () { 7603 var e = new RegExp("main-nav__link"); 7604 document.addEventListener( 7605 "focus", 7606 function (n) { 7607 if (e.test(n.target.className)) for (var i = t(n.target, ".main-nav__item"), s = 0; s < i.length; s++) i[s].classList.add("main-nav__item--show-child"); 7608 }, 7609 !0 7610 ), 7611 document.addEventListener( 7612 "blur", 7613 function (t) { 7614 if (e.test(t.target.className)) for (var n = document.querySelectorAll(".main-nav__item--show-child"), i = 0; i < n.length; i++) n[i].classList.remove("main-nav__item--show-child"); 7615 }, 7616 !0 7617 ); 7618 var t = function (e, t) { 7619 Element.prototype.matches || 7620 (Element.prototype.matches = 7621 Element.prototype.matchesSelector || 7622 Element.prototype.mozMatchesSelector || 7623 Element.prototype.msMatchesSelector || 7624 Element.prototype.oMatchesSelector || 7625 Element.prototype.webkitMatchesSelector || 7626 function (e) { 7627 for (var t = (this.document || this.ownerDocument).querySelectorAll(e), n = t.length; --n >= 0 && t.item(n) !== this; ); 7628 return n > -1; 7629 }); 7630 for (var n = []; e && e !== document; e = e.parentNode) t ? e.matches(t) && n.push(e) : n.push(e); 7631 return n; 7632 }; 7633 }; 7634 }, 7635
7635"./js/modules/modals/init-modals.js": 7636 /*!******************************************!*\ 7637!*** ./js/modules/modals/init-modals.js ***! 7638\******************************************/ 7639 /*! exports provided: initModals */ function (e, t, n) { 7640 "use strict"; 7641 n.r(t), 7642 n.d(t, "initModals", function () { 7643 return s; 7644 }); 7645 var i = n(/*! ./modal */ "./js/modules/modals/modal.js"), 7646 s = function () { 7647 var e = document.querySelectorAll(".modal:not(.is-initialized)"), 7648 t = document.querySelectorAll("[data-modal]"); 7649 e.length && 7650 e.forEach(function (e) { 7651 setTimeout(function () { 7652 e.classList.remove("modal--preload"), e.classList.add("is-initialized"); 7653 }, 100); 7654 }), 7655 t.length && 7656 t.forEach(function (e) { 7657 var t = e.dataset.modal, 7658 n = document.querySelector(".modal--".concat(t)); 7659 n && 7660 (function (e, t, n) { 7661 switch (e) { 7662 case "example": 7663 Object(i.setupModal)(t, !1, n, !1, !0, !0); 7664 break; 7665 default: 7666 Object(i.setupModal)(t, !1, n, !1, !1, !1); 7667 } 7668 })(t, n, e); 7669 }); 7670 }; 7671 window.initModals = s; 7672 }, 7673
7673"./js/modules/modals/modal.js": 7674 /*!************************************!*\ 7675!*** ./js/modules/modals/modal.js ***! 7676\************************************/ 7677 /*! exports provided: setupModal, openModal, closeModal */ function (e, t, n) { 7678 "use strict"; 7679 n.r(t), 7680 n.d(t, "setupModal", function () { 7681 return a; 7682 }), 7683 n.d(t, "openModal", function () { 7684 return i; 7685 }), 7686 n.d(t, "closeModal", function () { 7687 return s; 7688 }); 7689 var i = function (e, t, n) { 7690 e.classList.add("modal--active"), t && t(), n || window.disableBodyScroll(e, { reserveScrollBarGap: !0 }); 7691 }, 7692 s = function (e, t, n) { 7693 e.classList.remove("modal--active"), 7694 t && t(), 7695 n || 7696 setTimeout(function () { 7697 window.enableBodyScroll(e); 7698 }, 300); 7699 }, 7700 o = function (e, t, n) { 7701 var i = e.querySelector(".modal__overlay"); 7702 e.querySelector(".modal__close-btn").addEventListener("click", function () { 7703 s(e, t, n); 7704 }), 7705 i.addEventListener("click", function () { 7706 s(e, t, n); 7707 }), 7708 document.addEventListener("keydown", function (n) { 7709 !(function (e, t, n) { 7710 ("Escape" === e.key || "Esc" === e.key) && t.classList.contains("modal--active") && (e.preventDefault(), s(t, n)); 7711 })(n, e, t); 7712 }); 7713 }, 7714 a = function (e, t, n, s, a, r) { 7715 n && 7716 n.addEventListener("click", function (t) { 7717 a || t.preventDefault(), i(e, s, r); 7718 }), 7719 o(e, t, r); 7720 }; 7721 }, 7722
7722"./js/modules/rippleEffect.js": 7723 /*!************************************!*\ 7724!*** ./js/modules/rippleEffect.js ***! 7725\************************************/ 7726 /*! exports provided: rippleEffect */ function (e, t, n) { 7727 "use strict"; 7728 n.r(t), 7729 n.d(t, "rippleEffect", function () { 7730 return i; 7731 }); 7732 var i = function () { 7733 var e; 7734 (e = document.createElement("div")).classList.add("ripple"), 7735 document.addEventListener("mousedown", function (t) { 7736 t.target.classList.contains("btn") && (e.setAttribute("style", "top: " + t.offsetY + "px; left: " + t.offsetX + "px"), t.target.appendChild(e)); 7737 }); 7738 }; 7739 }, 7740
7740"./js/modules/video.js": 7741 /*!*****************************!*\ 7742!*** ./js/modules/video.js ***! 7743\*****************************/ 7744 /*! exports provided: video */ function (e, t, n) { 7745 "use strict"; 7746 n.r(t), 7747 n.d(t, "video", function () { 7748 return i; 7749 }); 7750 var i = function () { 7751 function e(e) { 7752 var t = e.querySelector(".video__link"), 7753 n = e.querySelector(".video__media"), 7754 i = e.querySelector(".video__button"), 7755 s = (function (e) { 7756 return e.src.match(/https:\/\/i\.ytimg\.com\/vi\/([a-zA-Z0-9_-]+)\/maxresdefault\.jpg/i)[1]; 7757 })(n); 7758 e.addEventListener("click", function () { 7759 var n = (function (e) { 7760 var t = document.createElement("iframe"); 7761 return ( 7762 t.setAttribute("allowfullscreen", ""), 7763 t.setAttribute("allow", "autoplay"), 7764 t.setAttribute( 7765 "src", 7766 (function (e) { 7767 return "https://www.youtube.com/embed/" + e + "?rel=0&showinfo=0&autoplay=1"; 7768 })(e) 7769 ), 7770 t.classList.add("video__media"), 7771 t 7772 ); 7773 })(s); 7774 t.remove(), i.remove(), e.appendChild(n); 7775 }), 7776 t.removeAttribute("href"), 7777 e.classList.add("video--enabled"); 7778 } 7779 !(function () { 7780 for (var t = document.querySelectorAll(".video"), n = 0; n < t.length; n++) e(t[n]); 7781 })(); 7782 }; 7783 }, 7784
7784"./js/utils/ios-vh-fix.js": 7785 /*!********************************!*\ 7786!*** ./js/utils/ios-vh-fix.js ***! 7787\********************************/ 7788 /*! exports provided: iosVhFix */ function (e, t, n) { 7789 "use strict"; 7790 n.r(t), 7791 n.d(t, "iosVhFix", function () { 7792 return i; 7793 }); 7794 var i = function () { 7795 if ( 7796 (!window.MSInputMethodContext || !document.documentMode) && 7797 (["iPad Simulator", "iPhone Simulator", "iPod Simulator", "iPad", "iPhone", "iPod"].includes(navigator.platform) || (navigator.userAgent.includes("Mac") && "ontouchend" in document)) 7798 ) { 7799 var e = 0.01 * window.innerHeight; 7800 document.documentElement.style.setProperty("--vh", "".concat(e, "px")), 7801 window.addEventListener("resize", function () { 7802 (e = 0.01 * window.innerHeight), document.documentElement.style.setProperty("--vh", "".concat(e, "px")); 7803 }); 7804 } 7805 }; 7806 }, 7807
7807"./js/vendor/bvi/bvi.min.js": 7808 /*!**********************************!*\ 7809!*** ./js/vendor/bvi/bvi.min.js ***! 7810\**********************************/ 7811 /*! no static exports found */ function (e, t, n) { 7812 var i, s; 7813 function o(e) { 7814 return (o = 7815 "function" == typeof Symbol && "symbol" == typeof Symbol.iterator 7816 ? function (e) { 7817 return typeof e; 7818 } 7819 : function (e) { 7820 return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e; 7821 })(e); 7822 } 7823 /*! 7824 * Button visually impaired - v1.0.0 https://bvi.isvek.ru 7825 * Copyright 2014-2021 Oleg Korotenko <[email protected]>. 7826 * Licensed MIT (https://github.com/veks/button-visually-impaired-javascript/blob/master/LICENSE.md) 7827 */ !(function (a, r) { 7828 "object" == o(t) && void 0 !== e ? (e.exports = r()) : void 0 === (s = "function" == typeof (i = r) ? i.call(t, n, t, e) : i) || (e.exports = s); 7829 })(0, function () { 7830 "use strict"; 7831 function e(e, t) { 7832 var n = Object.keys(e); 7833 if (Object.getOwnPropertySymbols) { 7834 var i = Object.getOwnPropertySymbols(e); 7835 t && 7836 (i = i.filter(function (t) { 7837 return Object.getOwnPropertyDescriptor(e, t).enumerable; 7838 })), 7839 n.push.apply(n, i); 7840 } 7841 return n; 7842 } 7843 function t(t) { 7844 for (var n = 1; n < arguments.length; n++) { 7845 var i = null != arguments[n] ? arguments[n] : {}; 7846 n % 2 7847 ? e(Object(i), !0).forEach(function (e) { 7848 r(t, e, i[e]); 7849 }) 7850 : Object.getOwnPropertyDescriptors 7851 ? Object.defineProperties(t, Object.getOwnPropertyDescriptors(i)) 7852 : e(Object(i)).forEach(function (e) { 7853 Object.defineProperty(t, e, Object.getOwnPropertyDescriptor(i, e)); 7854 }); 7855 } 7856 return t; 7857 } 7858 function n(e) { 7859 return (n = 7860 "function" == typeof Symbol && "symbol" == o(Symbol.iterator) 7861 ? function (e) { 7862 return o(e); 7863 } 7864 : function (e) { 7865 return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : o(e); 7866 })(e); 7867 } 7868 function i(e, t) { 7869 if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function"); 7870 } 7871 function s(e, t) { 7872 for (var n = 0; n < t.length; n++) { 7873 var i = t[n]; 7874 (i.enumerable = i.enumerable || !1), (i.configurable = !0), "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i); 7875 } 7876 } 7877 function a(e, t, n) { 7878 return t && s(e.prototype, t), n && s(e, n), e; 7879 } 7880 function r(e, t, n) { 7881 return t in e ? Object.defineProperty(e, t, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : (e[t] = n), e; 7882 } 7883 function c(e, t) { 7884 (null == t || t > e.length) && (t = e.length); 7885 for (var n = 0, i = new Array(t); n < t; n++) i[n] = e[n]; 7886 return i; 7887 } 7888 !(function (e) { 7889 var t = (function (e) { 7890 var t, 7891 i = Object.prototype, 7892 s = i.hasOwnProperty, 7893 o = "function" == typeof Symbol ? Symbol : {}, 7894 a = o.iterator || "@@iterator", 7895 r = o.asyncIterator || "@@asyncIterator", 7896 c = o.toStringTag || "@@toStringTag"; 7897 function l(e, t, n) { 7898 return Object.defineProperty(e, t, { value: n, enumerable: !0, configurable: !0, writable: !0 }), e[t]; 7899 } 7900 try { 7901 l({}, ""); 7902 } catch (e) { 7903 l = function (e, t, n) { 7904 return (e[t] = n); 7905 }; 7906 } 7907 function d(e, t, n, i) { 7908 var s = t && t.prototype instanceof v ? t : v, 7909 o = Object.create(s.prototype), 7910 a = new D(i || []); 7911 return ( 7912 (o._invoke = (function (e, t, n) { 7913 var i = u; 7914 return function (s, o) { 7915 if (i === f) throw new Error("Generator is already running"); 7916 if (i === m) { 7917 if ("throw" === s) throw o; 7918 return P(); 7919 } 7920 for (n.method = s, n.arg = o; ; ) { 7921 var a = n.delegate; 7922 if (a) { 7923 var r = C(a, n); 7924 if (r) { 7925 if (r === g) continue; 7926 return r; 7927 } 7928 } 7929 if ("next" === n.method) n.sent = n._sent = n.arg; 7930 else if ("throw" === n.method) { 7931 if (i === u) throw ((i = m), n.arg); 7932 n.dispatchException(n.arg); 7933 } else "return" === n.method && n.abrupt("return", n.arg); 7934 i = f; 7935 var c = h(e, t, n); 7936 if ("normal" === c.type) { 7937 if (((i = n.done ? m : p), c.arg === g)) continue; 7938 return { value: c.arg, done: n.done }; 7939 } 7940 "throw" === c.type && ((i = m), (n.method = "throw"), (n.arg = c.arg)); 7941 } 7942 }; 7943 })(e, n, a)), 7944 o 7945 ); 7946 } 7947 function h(e, t, n) { 7948 try { 7949 return { type: "normal", arg: e.call(t, n) }; 7950 } catch (e) { 7951 return { type: "throw", arg: e }; 7952 } 7953 }
7954 e.wrap = d; 7955 var u = "suspendedStart", 7956 p = "suspendedYield", 7957 f = "executing", 7958 m = "completed", 7959 g = {}; 7960 function v() {} 7961 function b() {} 7962 function y() {} 7963 var _ = {}; 7964 l(_, a, function () { 7965 return this; 7966 }); 7967 var w = Object.getPrototypeOf, 7968 x = w && w(w(A([]))); 7969 x && x !== i && s.call(x, a) && (_ = x); 7970 var E = (y.prototype = v.prototype = Object.create(_)); 7971 function k(e) { 7972 ["next", "throw", "return"].forEach(function (t) { 7973 l(e, t, function (e) { 7974 return this._invoke(t, e); 7975 }); 7976 }); 7977 } 7978 function S(e, t) { 7979 function i(o, a, r, c) { 7980 var l = h(e[o], e, a); 7981 if ("throw" !== l.type) { 7982 var d = l.arg, 7983 u = d.value; 7984 return u && "object" === n(u) && s.call(u, "__await") 7985 ? t.resolve(u.__await).then( 7986 function (e) { 7987 i("next", e, r, c); 7988 }, 7989 function (e) { 7990 i("throw", e, r, c); 7991 } 7992 ) 7993 : t.resolve(u).then( 7994 function (e) { 7995 (d.value = e), r(d); 7996 }, 7997 function (e) { 7998 return i("throw", e, r, c); 7999 } 8000 ); 8001 } 8002 c(l.arg); 8003 } 8004 var o; 8005 this._invoke = function (e, n) { 8006 function s() { 8007 return new t(function (t, s) { 8008 i(e, n, t, s); 8009 }); 8010 } 8011 return (o = o ? o.then(s, s) : s()); 8012 }; 8013 } 8014 function C(e, n) { 8015 var i = e.iterator[n.method]; 8016 if (i === t) { 8017 if (((n.delegate = null), "throw" === n.method)) { 8018 if (e.iterator.return && ((n.method = "return"), (n.arg = t), C(e, n), "throw" === n.method)) return g; 8019 (n.method = "throw"), (n.arg = new TypeError("The iterator does not provide a 'throw' method")); 8020 } 8021 return g; 8022 } 8023 var s = h(i, e.iterator, n.arg); 8024 if ("throw" === s.type) return (n.method = "throw"), (n.arg = s.arg), (n.delegate = null), g; 8025 var o = s.arg; 8026 return o 8027 ? o.done 8028 ? ((n[e.resultName] = o.value), (n.next = e.nextLoc), "return" !== n.method && ((n.method = "next"), (n.arg = t)), (n.delegate = null), g) 8029 : o 8030 : ((n.method = "throw"), (n.arg = new TypeError("iterator result is not an object")), (n.delegate = null), g); 8031 } 8032 function L(e) { 8033 var t = { tryLoc: e[0] }; 8034 1 in e && (t.catchLoc = e[1]), 2 in e && ((t.finallyLoc = e[2]), (t.afterLoc = e[3])), this.tryEntries.push(t); 8035 } 8036 function T(e) { 8037 var t = e.completion || {}; 8038 (t.type = "normal"), delete t.arg, (e.completion = t); 8039 } 8040 function D(e) { 8041 (this.tryEntries = [{ tryLoc: "root" }]), e.forEach(L, this), this.reset(!0); 8042 } 8043 function A(e) { 8044 if (e) { 8045 var n = e[a]; 8046 if (n) return n.call(e); 8047 if ("function" == typeof e.next) return e; 8048 if (!isNaN(e.length)) { 8049 var i = -1, 8050 o = function n() { 8051 for (; ++i < e.length; ) if (s.call(e, i)) return (n.value = e[i]), (n.done = !1), n; 8052 return (n.value = t), (n.done = !0), n; 8053 }; 8054 return (o.next = o); 8055 } 8056 } 8057 return { next: P }; 8058 } 8059 function P() { 8060 return { value: t, done: !0 }; 8061 } 8062 return ( 8063 (b.prototype = y), 8064 l(E, "constructor", y), 8065 l(y, "constructor", b), 8066 (b.displayName = l(y, c, "GeneratorFunction")), 8067 (e.isGeneratorFunction = function (e) { 8068 var t = "function" == typeof e && e.constructor; 8069 return !!t && (t === b || "GeneratorFunction" === (t.displayName || t.name)); 8070 }), 8071 (e.mark = function (e) { 8072 return Object.setPrototypeOf ? Object.setPrototypeOf(e, y) : ((e.__proto__ = y), l(e, c, "GeneratorFunction")), (e.prototype = Object.create(E)), e; 8073 }), 8074 (e.awrap = function (e) { 8075 return { __await: e }; 8076 }), 8077 k(S.prototype), 8078 l(S.prototype, r, function () { 8079 return this; 8080 }), 8081 (e.AsyncIterator = S), 8082 (e.async = function (t, n, i, s, o) { 8083 void 0 === o && (o = Promise); 8084 var a = new S(d(t, n, i, s), o); 8085 return e.isGeneratorFunction(n) 8086 ? a 8087 : a.next().then(function (e) { 8088 return e.done ? e.value : a.next(); 8089 }); 8090 }), 8091 k(E), 8092 l(E, c, "Generator"), 8093 l(E, a, function () { 8094 return this; 8095 }), 8096 l(E, "toString", function () { 8097 return "[object Generator]"; 8098 }), 8099 (e.keys = function (e) { 8100 var t = []; 8101 for (var n in e) t.push(n); 8102 return ( 8103 t.reverse(), 8104 function n() { 8105 for (; t.length; ) { 8106 var i = t.pop(); 8107 if (i in e) return (n.value = i), (n.done = !1), n; 8108 } 8109 return (n.done = !0), n; 8110 } 8111 ); 8112 }), 8113 (e.values = A), 8114 (D.prototype = { 8115 constructor: D, 8116 reset: function (e) { 8117 if (((this.prev = 0), (this.next = 0), (this.sent = this._sent = t), (this.done = !1), (this.delegate = null), (this.method = "next"), (this.arg = t), this.tryEntries.forEac
8117h(T), !e)) 8118 for (var n in this) "t" === n.charAt(0) && s.call(this, n) && !isNaN(+n.slice(1)) && (this[n] = t); 8119 }, 8120 stop: function () { 8121 this.done = !0; 8122 var e = this.tryEntries[0].completion; 8123 if ("throw" === e.type) throw e.arg; 8124 return this.rval; 8125 }, 8126 dispatchException: function (e) { 8127 if (this.done) throw e; 8128 var n = this; 8129 function i(i, s) { 8130 return (r.type = "throw"), (r.arg = e), (n.next = i), s && ((n.method = "next"), (n.arg = t)), !!s; 8131 } 8132 for (var o = this.tryEntries.length - 1; o >= 0; --o) { 8133 var a = this.tryEntries[o], 8134 r = a.completion; 8135 if ("root" === a.tryLoc) return i("end"); 8136 if (a.tryLoc <= this.prev) { 8137 var c = s.call(a, "catchLoc"), 8138 l = s.call(a, "finallyLoc"); 8139 if (c && l) { 8140 if (this.prev < a.catchLoc) return i(a.catchLoc, !0); 8141 if (this.prev < a.finallyLoc) return i(a.finallyLoc); 8142 } else if (c) { 8143 if (this.prev < a.catchLoc) return i(a.catchLoc, !0); 8144 } else { 8145 if (!l) throw new Error("try statement without catch or finally"); 8146 if (this.prev < a.finallyLoc) return i(a.finallyLoc); 8147 } 8148 } 8149 } 8150 }, 8151 abrupt: function (e, t) { 8152 for (var n = this.tryEntries.length - 1; n >= 0; --n) { 8153 var i = this.tryEntries[n]; 8154 if (i.tryLoc <= this.prev && s.call(i, "finallyLoc") && this.prev < i.finallyLoc) { 8155 var o = i; 8156 break; 8157 } 8158 } 8159 o && ("break" === e || "continue" === e) && o.tryLoc <= t && t <= o.finallyLoc && (o = null); 8160 var a = o ? o.completion : {}; 8161 return (a.type = e), (a.arg = t), o ? ((this.method = "next"), (this.next = o.finallyLoc), g) : this.complete(a); 8162 }, 8163 complete: function (e, t) { 8164 if ("throw" === e.type) throw e.arg; 8165 return ( 8166 "break" === e.type || "continue" === e.type 8167 ? (this.next = e.arg) 8168 : "return" === e.type 8169 ? ((this.rval = this.arg = e.arg), (this.method = "return"), (this.next = "end")) 8170 : "normal" === e.type && t && (this.next = t), 8171 g 8172 ); 8173 }, 8174 finish: function (e) { 8175 for (var t = this.tryEntries.length - 1; t >= 0; --t) { 8176 var n = this.tryEntries[t]; 8177 if (n.finallyLoc === e) return this.complete(n.completion, n.afterLoc), T(n), g; 8178 } 8179 }, 8180 catch: function (e) { 8181 for (var t = this.tryEntries.length - 1; t >= 0; --t) { 8182 var n = this.tryEntries[t]; 8183 if (n.tryLoc === e) { 8184 var i = n.completion; 8185 if ("throw" === i.type) { 8186 var s = i.arg; 8187 T(n); 8188 } 8189 return s; 8190 } 8191 } 8192 throw new Error("illegal catch attempt"); 8193 }, 8194 delegateYield: function (e, n, i) { 8195 return (this.delegate = { iterator: A
8195(e), resultName: n, nextLoc: i }), "next" === this.method && (this.arg = t), g; 8196 }, 8197 }), 8198 e 8199 ); 8200 })({}); 8201 try { 8202 regeneratorRuntime = t; 8203 } catch (e) { 8204 "object" === ("undefined" == typeof globalThis ? "undefined" : n(globalThis)) ? (globalThis.regeneratorRuntime = t) : Function("r", "regeneratorRuntime = r")(t); 8205 } 8206 })(), 8207 [Element.prototype, Document.prototype, DocumentFragment.prototype].forEach(function (e) { 8208 e.hasOwnProperty("prepend") || 8209 Object.defineProperty(e, "prepend", { 8210 configurable: !0, 8211 enumerable: !0, 8212 writable: !0, 8213 value: function () { 8214 var e = Array.prototype.slice.call(arguments), 8215 t = document.createDocumentFragment(); 8216 e.forEach(function (e) { 8217 var n = e instanceof Node; 8218 t.appendChild(n ? e : document.createTextNode(String(e))); 8219 }), 8220 this.insertBefore(t, this.firstChild); 8221 }, 8222 }); 8223 }), 8224 window.NodeList && !NodeList.prototype.forEach && (NodeList.prototype.forEach = Array.prototype.forEach), 8225 window.HTMLCollection && !HTMLCollection.prototype.forEach && (HTMLCollection.prototype.forEach = Array.prototype.forEach); 8226 var l = function (e) { 8227 switch (e) { 8228 case "on": 8229 case "true": 8230 case "1": 8231 return !0; 8232 default: 8233 return !1; 8234 } 8235 }, 8236 d = function (e, t, n) { 8237 for ("string" == typeof t && (t = document.createElement(t)), e.appendChild(t).className = n; e.firstChild !== t; ) t.appendChild(e.firstChild); 8238 }, 8239 h = function (e) { 8240 var t = document.createDocumentFragment(); 8241 if (e) { 8242 for (; e.firstChild; ) { 8243 var n = e.removeChild(e.firstChild); 8244 t.appendChild(n); 8245 } 8246 e.parentNode.replaceChild(t, e); 8247 } 8248 }, 8249 u = function (e, t) { 8250 Object.keys(e).forEach(function (e) { 8251 "function" == typeof t && t(e); 8252 }); 8253 }, 8254 p = function (e, t) { 8255 Array.from(e).forEach(function (e) { 8256 "function" == typeof t && t(e); 8257 }); 8258 }, 8259 f = function () { 8260 return window.speechSynthesis; 8261 }, 8262 m = function () { 8263 var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "", 8264 t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "", 8265 n = new Date(), 8266 i = n.getTime(); 8267 (i += 864e5), n.setTime(i), (document.cookie = "bvi_".concat(e, "=").concat(t, ";path=/;expires=").concat(n.toUTCString(), ";domain=").concat(location.host)); 8268 }, 8269 g = function () { 8270 var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : ""; 8271 e = "bvi_".concat(e, "="); 8272 for (var t = decodeURIComponent(document.cookie), n = t.split(";"), i = 0; i < n.length; i++) { 8273 var s = n[i].trim(); 8274 if (-1 !== s.indexOf(e)) return s.substring(e.length, s.length); 8275 } 8276 }, 8277 v = function () { 8278 var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : ""; 8279 document.cookie = "bvi_".concat(e, "=;path=/;expires=Thu, 01 Jan 1970 00:00:01 GMT;domain=").concat(location.host); 8280 }, 8281 b = { 8282 "ru-RU": { 8283 text: { 8284 fontSize: "Ð Ð°Ð·Ð¼ÐµÑ ÑÑиÑÑа", 8285 siteColors: "ЦвеÑа ÑайÑа", 8286 images: "ÐзобÑажениÑ", 8287 speech: "СинÑез ÑеÑи", 8288 settings: "ÐаÑÑÑойки", 8289 regularVersionOfTheSite: "ÐбÑÑÐ½Ð°Ñ Ð²ÐµÑÑÐ¸Ñ ÑайÑа", 8290 letterSpacing: "ÐежбÑквенное ÑаÑÑÑоÑние", 8291 normal: "СÑандаÑÑнÑй", 8292 average: "СÑедний", 8293 big: "ÐолÑÑой", 8294 lineHeight: "ÐежÑÑÑоÑнÑй инÑеÑвал", 8295 font: "ШÑиÑÑ", 8296 arial: "Ðез заÑеÑек", 8297 times: "С заÑеÑками", 8298 builtElements: "ÐÑÑÑоеннÑе ÑлеменÑÑ (Ðидео, каÑÑÑ Ð¸ Ñд.)", 8299 on: "ÐклÑÑиÑÑ", 8300 off: "ÐÑклÑÑиÑÑ", 8301 reset: "СбÑоÑиÑÑ Ð½Ð°ÑÑÑойки", 8302 plural_0: "пикÑелÑ", 8303 plural_1: "пекÑелÑ", 8304 plural_2: "пикÑелей", 8305 }, 8306 voice: { 8307 fontSizePlus: "Ð Ð°Ð·Ð¼ÐµÑ ÑÑиÑÑа Ñвели?Ñен", 8308 fontSizeMinus: "Ð Ð°Ð·Ð¼ÐµÑ ÑÑиÑÑа Ñме?нÑÑен", 8309 siteColorBlackOnWhite: "Ð¦Ð²ÐµÑ ÑайÑа ÑеÑнÑм по беломÑ", 8310 siteColorWhiteOnBlack: "Ð¦Ð²ÐµÑ ÑайÑа белÑм по ÑеÑномÑ", 8311 siteColorDarkBlueOnBlue: "Ð¦Ð²ÐµÑ ÑайÑа ÑÑмно-Ñиним по голÑбомÑ", 8312 siteColorBeigeBrown: "Ð¦Ð²ÐµÑ ÑайÑа коÑи?ÑневÑм по бе?жевомÑ", 8313 siteColorGreenOnDarkBrown: "Ð¦Ð²ÐµÑ ÑайÑа зеленÑм по ÑÑмно-коÑиÑневомÑ", 8314 imagesOn: "ÐзобÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ð²ÐºÐ»ÑÑенÑ", 8315 imagesOFF: "ÐзобÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ð²ÑклÑÑенÑ", 8316 imagesGrayscale: "ÐзобÑÐ°Ð¶ÐµÐ½Ð¸Ñ ÑÑÑно-белÑе", 8317 speechOn: "СинÑез ÑеÑи вклÑÑÑн", 8318 speechOff: "СинÑез ÑеÑи вÑ?клÑÑен", 8319 lineHeightNormal: "ÐежÑÑÑоÑнÑй инÑеÑвал ÑÑандаÑÑнÑй", 8320 lineHeightAverage: "ÐежÑÑÑоÑнÑй инÑеÑвал ÑÑедний", 8321 lineHeightBig: "ÐежÑÑÑоÑнÑй инÑеÑвал болÑÑой", 8322 LetterSpacingNormal: "ÐнÑеÑвал Ð¼ÐµÐ¶Ð´Ñ Ð±Ñквами ÑÑандаÑÑнÑй", 8323 LetterSpacingAverage: "ÐнÑеÑвал Ð¼ÐµÐ¶Ð´Ñ Ð±Ñквами ÑÑедний", 8324 LetterSpacingBig: "ÐнÑеÑвал Ð¼ÐµÐ¶Ð´Ñ Ð±Ñквами болÑÑой", 8325 fontArial: "ШÑиÑÑ Ð±ÐµÐ· заÑеÑек", 8326 fontTimes: "ШÑиÑÑ Ñ Ð·Ð°ÑеÑками", 8327 builtElementsOn: "ÐÑÑÑоеннÑе ÑлеменÑÑ Ð²ÐºÐ»ÑÑенÑ", 8328 builtElementsOFF: "ÐÑÑÑоеннÑе ÑлеменÑÑ Ð²ÑклÑÑенÑ", 8329 resetSettings: "УÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ñ Ð½Ð°ÑÑÑойки по ÑмолÑа?ниÑ", 8330 panelShow: "ÐÐ°Ð½ÐµÐ»Ñ Ð¾ÑкÑÑÑа", 8331 panelHide: "ÐÐ°Ð½ÐµÐ»Ñ ÑкÑÑÑа", 8332 panelOn: "ÐеÑÑÐ¸Ñ ÑайÑа Ð´Ð»Ñ Ñлабови?дÑÑий", 8333 panelOff: "ÐбÑÑÐ½Ð°Ñ Ð²ÐµÑÑÐ¸Ñ ÑайÑа", 8334 }, 8335 }, 8336 "en-US": { 8337 text: { 8338 fontSize: "Font size", 8339 siteColors: "Site colors", 8340 images: "Images", 8341 speech: "Speech synthesis", 8342 settings: "Settings", 8343 regularVersionOfTheSite: "Regular version Of The site", 8344 letterSpacing: "Letter spacing", 8345 normal: "Single", 8346 average: "One and a half", 8347 big: "Double", 8348 lineHeight: "Line spacing", 8349 font: "Font",
8350 arial: "Sans Serif - Arial", 8351 times: "Serif - Times New Roman", 8352 builtElements: "Include inline elements (Videos, maps, etc.)", 8353 on: "Enable", 8354 off: "Disabled", 8355 reset: "Reset settings", 8356 plural_0: "pixel", 8357 plural_1: "pixels", 8358 plural_2: "pixels", 8359 }, 8360 voice: { 8361 fontSizePlus: "Font size increased", 8362 fontSizeMinus: "Font size reduced", 8363 siteColorBlackOnWhite: "Site color black on white", 8364 siteColorWhiteOnBlack: "Site color white on black", 8365 siteColorDarkBlueOnBlue: "Site color dark blue on cyan", 8366 siteColorBeigeBrown: "SiteColorBeigeBrown", 8367 siteColorGreenOnDarkBrown: "Site color green on dark brown", 8368 imagesOn: "Images enable", 8369 imagesOFF: "Images disabled", 8370 imagesGrayscale: "Images gray scale", 8371 speechOn: "Synthesis speech enable", 8372 speechOff: "Synthesis speech disabled", 8373 lineHeightNormal: "Line spacing single", 8374 lineHeightAverage: "Line spacing one and a half", 8375 lineHeightBig: "Line spacing double", 8376 LetterSpacingNormal: "Letter spacing single", 8377 LetterSpacingAverage: "Letter spacing one and a half", 8378 LetterSpacingBig: "Letter spacing letter double", 8379 fontArial: "Sans Serif - Arial", 8380 fontTimes: "Serif - Times New Roman", 8381 builtElementsOn: "Include inline elements are enabled", 8382 builtElementsOFF: "Include inline elements are disabled", 8383 resetSettings: "Default settings have been set", 8384 panelShow: "Panel show", 8385 panelHide: "Panel hide", 8386 panelOn: "Site version for visually impaired", 8387 panelOff: "Regular version of the site", 8388 }, 8389 }, 8390 }, 8391 y = (function () { 8392 function e(t) { 8393 i(this, e), (this._config = t); 8394 } 8395 return ( 8396 a(e, [ 8397 { 8398 key: "t", 8399 value: function (e) { 8400 return b[this._config.lang].text[e]; 8401 }, 8402 }, 8403 { 8404 key: "v", 8405 value: function (e) { 8406 return b[this._config.lang].voice[e]; 8407 }, 8408 }, 8409 ]), 8410 e 8411 ); 8412 })(), 8413 _ = { 8414 target: ".bvi-open", 8415 fontSize: 16, 8416 theme: "white", 8417 images: "grayscale", 8418 letterSpacing: "normal", 8419 lineHeight: "normal", 8420 speech: !0, 8421 fontFamily: "arial", 8422 builtElements: !1, 8423 panelFixed: !0, 8424 panelHide: !1, 8425 reload: !1, 8426 lang: "ru-RU", 8427 }, 8428 w = { 8429 target: "string", 8430 fontSize: "number", 8431 theme: "string", 8432 images: "(string|boolean)", 8433 letterSpacing: "string", 8434 lineHeight: "string", 8435 speech: "boolean", 8436 fontFamily: "string", 8437 builtElements: "boolean", 8438 panelFixed: "boolean", 8439 panelHide: "boolean", 8440 reload: "boolean", 8441 lang: "string", 8442 }, 8443 x = { 8444 target: "", 8445 fontSize: "(^[1-9]$|^[1-3][0-9]?$|^39$)", 8446 theme: "(white|black|blue|brown|green)", 8447 images: "(true|false|grayscale)", 8448 letterSpacing: "(normal|average|big)", 8449 lineHeight: "(normal|average|big)", 8450 speech: "(true|false)", 8451 fontFamily: "(arial|times)", 8452 builtElements: "(true|false)", 8453 panelFixed: "(true|false)", 8454 panelHide: "(true|false)", 8455 reload: "(true|false)", 8456 lang: "(ru-RU|en-US)", 8457 }; 8458 return { 8459 Bvi: (function () { 8460 function e(t) { 8461 i(this, e), 8462 (this._config = this._getConfig(t)), 8463 (this._elements = document.querySelectorAll(this._config.target)), 8464 (this._i18n = new y({ lang: this._config.lang })), 8465 this._addEventListeners(), 8466 this._init(), 8467 console.log("Bvi console: ready Button visually impaired v1.0.0"); 8468 } 8469 return ( 8470 a(e, [ 8471 { 8472 key: "_init", 8473 value: function () { 8474 u(this._config, function (e) { 8475 void 0 === g(e) && v("panelActive"); 8476 }), 8477 l(g("panelActive")) 8478 ? (this._set(), 8479 this._getPanel(), 8480 this._addEventListenersPanel
8480(), 8481 this._images(), 8482 this._speechPlayer(), 8483 "speechSynthesis" in window && 8484 l(g("speech")) && 8485 setInterval(function () { 8486 if (!1 === f().pending) { 8487 var e = document.querySelectorAll(".bvi-speech-play"), 8488 t = document.querySelectorAll(".bvi-speech-pause"), 8489 n = document.querySelectorAll(".bvi-speech-resume"), 8490 i = document.querySelectorAll(".bvi-speech-stop"), 8491 s = function (e, t) { 8492 e.forEach(function (e) { 8493 return t(e); 8494 }); 8495 }; 8496 s(e, function (e) { 8497 return e.classList.remove("disabled"); 8498 }), 8499 s(t, function (e) { 8500 return e.classList.add("disabled"); 8501 }), 8502 s(n, function (e) { 8503 return e.classList.add("disabled"); 8504 }), 8505 s(i, function (e) { 8506 return e.classList.add("disabled"); 8507 }); 8508 } 8509 }, 1e3)) 8510 : this._remove(); 8511 }, 8512 }, 8513 { 8514 key: "_addEventListeners", 8515 value: function () { 8516 var e = this; 8517 if (!this._elements) return !1; 8518 this._elements.forEach(function (t) { 8519 t.addEventListener("click", function (t) { 8520 t.preventDefault(), 8521 u(e._config, function (t) { 8522 return m(t, e._config[t]); 8523 }), 8524 m("panelActive", !0), 8525 e._init(), 8526 e._speech("".concat(e._i18n.v("panelOn"))); 8527 }); 8528 }); 8529 }, 8530 }, 8531 { 8532 key: "_addEventListenersPanel", 8533 value: function () { 8534 var e = this, 8535 t = { 8536 fontSizeMinus: document.querySelector(".bvi-fontSize-minus"), 8537 fontSizePlus: document.querySelector(".bvi-fontSize-plus"), 8538 themeWhite: document.querySelector(".bvi-theme-white"), 8539 themeBlack: document.querySelector(".bvi-theme-black"),
8540 themeBlue: document.querySelector(".bvi-theme-blue"), 8541 themeBrown: document.querySelector(".bvi-theme-brown"), 8542 themeGreen: document.querySelector(".bvi-theme-green"), 8543 imagesOn: document.querySelector(".bvi-images-on"), 8544 imagesOff: document.querySelector(".bvi-images-off"), 8545 imagesGrayscale: document.querySelector(".bvi-images-grayscale"), 8546 speechOn: document.querySelector(".bvi-speech-on"), 8547 speechOff: document.querySelector(".bvi-speech-off"), 8548 lineHeightNormal: document.querySelector(".bvi-line-height-normal"), 8549 lineHeightAverage: document.querySelector(".bvi-line-height-average"), 8550 lineHeightBig: document.querySelector(".bvi-line-height-big"), 8551 letterSpacingNormal: document.querySelector(".bvi-letter-spacing-normal"), 8552 letterSpacingAverage: document.querySelector(".bvi-letter-spacing-average"), 8553 letterSpacingBig: document.querySelector(".bvi-letter-spacing-big"), 8554 fontFamilyArial: document.querySelector(".bvi-font-family-arial"), 8555 fontFamilyTimes: document.querySelector(".bvi-font-family-times"), 8556 builtElementsOn: document.querySelector(".bvi-built-elements-on"), 8557 builtElementsOff: document.querySelector(".bvi-built-elements-off"), 8558 reset: document.querySelector(".bvi-reset"), 8559 links: document.querySelectorAll(".bvi-link"), 8560 modal: document.querySelector(".bvi-modal"), 8561 }, 8562 n = function (e) { 8563 var t, 8564 n = (function (e, t) { 8565 var n = ("undefined" != typeof Symbol && e[Symbol.iterator]) || e["@@iterator"]; 8566 if (!n) { 8567 if ( 8568 Array.isArray(e) || 8569 (n = (function (e, t) { 8570 if (e) { 8571 if ("string" == typeof e) return c(e, t); 8572 var n = Object.prototype.toString.call(e).slice(8, -1); 8573 return ( 8574 "Object" === n && e.constructor && (n = e.constructor.name), 8575 "Map" === n || "Set" === n ? Array.from(e) : "Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? c(e, t) : void 0 8576 ); 8577 } 8578 })(e)) 8579 ) { 8580 n && (e = n); 8581 var i = 0, 8582 s = function () {}; 8583 return { 8584 s: s, 8585 n: function () { 8586 return i >= e.length ? { done: !0 } : { done: !1, value: e[i++] }; 8587 }, 8588 e: function (e) { 8589 throw e; 8590 }, 8591 f: s, 8592 }; 8593 } 8594 throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); 8595 } 8596 var o, 8597 a = !0, 8598 r = !1; 8599 return { 8600 s: function () { 8601 n = n.call(e); 8602 }, 8603 n: function () { 8604 var e = n.next(); 8605 return (a = e.done), e; 8606 }, 8607 e: function (e) { 8608 (r = !0), (o = e); 8609 }, 8610 f: function () { 8611 try { 8612 a || null == n.return || n.return(); 8613 } finally { 8614 if (r) throw o; 8615 } 8616 }, 8617 }; 8618 })(e.parentNode.children); 8619 try { 8620 for (n.s(); !(t = n.n()).done; ) t.value.classList.remove("active"); 8621 } catch (e) { 8622 n.e(e); 8623 } finally { 8624 n.f(); 8625 } 8626 e.classList.add("active"); 8627 }, 8628 i = function (e, t) { 8629 e.addEventListener("click", function (e) { 8630 e.preventDefault(), "function" == typeof t && t(e); 8631 }); 8632 }, 8633 s = function () { 8634 document.querySelectorAll(".bvi-link").forEach(function (e) { 8635 e.classList.remove("active"); 8636 }), 8637 u(e._config, function (e) { 8638 if ("theme" === e) { 8639 var t = g(e); 8640 document.querySelector(".bvi-theme-".concat(t)).classList.add("active"); 8641 } 8642 if ("images" === e) { 8643 var n = "grayscale" === g(e) ? "grayscale" : l(g(e)) ? "on" : "off"; 8644 document.querySelector(".bvi-images-".concat(n)).classList.add("active"); 8645 } 8646 if ("speech" === e) { 8647 var i = l(g(e)) ? "on" : "off"; 8648 document.querySelector(".bvi-speech-".concat(i)).classList.add("active"); 8649 } 8650 if ("lineHeight" === e) { 8651 var s = g(e); 8652 document.querySelector(".bvi-line-height-".concat(s)).classList.add("active"); 8653 } 8654 if ("letterSpacing" === e) { 8655 var o = g(e); 8656 document.querySelector(".bvi-letter-spacing-".concat(o)).classList.add("active"); 8657 } 8658 if ("fontFamily" === e) { 8659 var a = g(e); 8660 document.querySelector(".bvi-font-family-".concat(a)).classList.add("active"); 8661 } 8662 if ("builtElements" === e) { 8663 var r = l(g(e)) ? "on" : "off"; 8664 document.querySelector(".bvi-built-elements-".concat(r)).classList.add("active"); 8665 } 8666 }); 8667 }; 8668 s(), 8669 i(t.fontSizeMinus, function () { 8670 var i = parseFloat(g
8670("fontSize")) - 1; 8671 0 !== i && (e._setAttrDataBviBody("fontSize", i), m("fontSize", i), e._speech("".concat(e._i18n.v("fontSizeMinus"))), n(t.fontSizeMinus)); 8672 }), 8673 i(t.fontSizePlus, function () { 8674 var i = parseFloat(g("fontSize")) + 1; 8675 40 !== i && (e._setAttrDataBviBody("fontSize", i), m("fontSize", i), e._speech("".concat(e._i18n.v("fontSizePlus"))), n(t.fontSizePlus)); 8676 }), 8677 i(t.themeWhite, function () { 8678 e._setAttrDataBviBody("theme", "white"), m("theme", "white"), e._speech("".concat(e._i18n.v("siteColorBlackOnWhite"))), n(t.themeWhite); 8679 }), 8680 i(t.themeBlack, function () { 8681 e._setAttrDataBviBody("theme", "black"), m("theme", "black"), e._speech("".concat(e._i18n.v("siteColorWhiteOnBlack"))), n(t.themeBlack); 8682 }), 8683 i(t.themeBlue, function () { 8684 e._setAttrDataBviBody("theme", "blue"), m("theme", "blue"), e._speech("".concat(e._i18n.v("siteColorDarkBlueOnBlue"))), n(t.themeBlue); 8685 }), 8686 i(t.themeBrown, function () { 8687 e._setAttrDataBviBody("theme", "brown"), m("theme", "brown"), e._speech("".concat(e._i18n.v("siteColorBeigeBrown"))), n(t.themeBrown); 8688 }), 8689 i(t.themeGreen, function () { 8690 e._setAttrDataBviBody("theme", "green"), m("theme", "green"), e._speech("".concat(e._i18n.v("siteColorGreenOnDarkBrown"))), n(t.themeGreen); 8691 }), 8692 i(t.imagesOn, function () { 8693 e._setAttrDataBviBody("images", "true"), m("images", "true"), e._speech("".concat(e._i18n.v("imagesOn"))), n(t.imagesOn); 8694 }), 8695 i(t.imagesOff, function () { 8696 e._setAttrDataBviBody("images", "false"), m("images", "false"), e._speech("".concat(e._i18n.v("imagesOFF"))), n(t.imagesOff); 8697 }), 8698 i(t.imagesGrayscale, function () { 8699 e._setAttrDataBviBody("images", "grayscale"), m("images", "grayscale"), e._speech("".concat(e._i18n.v("imagesGrayscale"))), n(t.imagesGrayscale); 8700 }), 8701 i(t.speechOn, function () { 8702 e._setAttrDataBviBody("speech", "true"), m("speech", "true"), e._speech("".concat(e._i18n.v("speechOn"))), n(t.speechOn), e._speechPlayer(); 8703 }), 8704 i(t.speechOff, function () { 8705 e._speech("".concat(e._i18n.v("speechOff"))), e._setAttrDataBviBody("speech", "false"), m("speech", "false"), n(t.speechOff), e._speechPlayer(); 8706 }), 8707 i(t.lineHeightNormal, function () { 8708 e._setAttrDataBviBody("lineHeight", "normal"), m("lineHeight", "normal"), e._speech("".concat(e._i18n.v("lineHeightNormal"))), n(t.lineHeightNormal); 8709 }), 8710 i(t.lineHeightAverage, function () { 8711 e._setAttrDataBviB
8711ody("lineHeight", "average"), m("lineHeight", "average"), e._speech("".concat(e._i18n.v("lineHeightAverage"))), n(t.lineHeightAverage); 8712 }), 8713 i(t.lineHeightBig, function () { 8714 e._setAttrDataBviBody("lineHeight", "big"), m("lineHeight", "big"), e._speech("".concat(e._i18n.v("lineHeightBig"))), n(t.lineHeightBig); 8715 }), 8716 i(t.letterSpacingNormal, function () { 8717 e._setAttrDataBviBody("letterSpacing", "normal"), m("letterSpacing", "normal"), e._speech("".concat(e._i18n.v("LetterSpacingNormal"))), n(t.letterSpacingNormal); 8718 }), 8719 i(t.letterSpacingAverage, function () { 8720 e._setAttrDataBviBody("letterSpacing", "average"), m("letterSpacing", "average"), e._speech("".concat(e._i18n.v("LetterSpacingAverage"))), n(t.letterSpacingAverage); 8721 }), 8722 i(t.letterSpacingBig, function () { 8723 e._setAttrDataBviBody("letterSpacing", "big"), m("letterSpacing", "big"), e._speech("".concat(e._i18n.v("LetterSpacingBig"))), n(t.letterSpacingBig); 8724 }), 8725 i(t.fontFamilyArial, function () { 8726 e._setAttrDataBviBody("fontFamily", "arial"), m("fontFamily", "arial"), e._speech("".concat(e._i18n.v("fontArial"))), n(t.fontFamilyArial); 8727 }), 8728 i(t.fontFamilyTimes, function () { 8729 e._setAttrDataBviBody("fontFamily", "times"), m("fontFamily", "times"), e._speech("".concat(e._i18n.v("fontTimes"))), n(t.fontFamilyTimes); 8730 }), 8731 i(t.builtElementsOn, function () { 8732 e._setAttrDataBviBody("builtElements", "true"), m("builtElements", "true"), e._speech("".concat(e._i18n.v("builtElementsOn"))), n(t.builtElementsOn); 8733 }), 8734 i(t.builtElementsOff, function () { 8735 e._setAttrDataBviBody("builtElements", "false"), m("builtElements", "false"), e._speech("".concat(e._i18n.v("builtElementsOFF"))), n(t.builtElementsOff); 8736 }), 8737 i(t.reset, function () { 8738 e._speech("".concat(e._i18n.v("resetSettings"))), 8739 u(e._config, function (t) { 8740 e._setAttrDataBviBody(t, e._config[t]), m(t, e._config[t]), s(); 8741 }); 8742 }), 8743 p(t.links, function (n) { 8744 i(n, function (n) { 8745 var i = n.target.getAttribute("data-bvi"); 8746 "close" === i && (e._setAttrDataBviBody("panelActive", "false"), m("panelActive", "false"), e._init()), 8747 "modal" === i && ((document.body.style.overflow = "hidden"), document.body.classList.add("bvi-noscroll"), t.modal.classList.toggle("show")), 8748 "modal-close" === i && (document.body.classList.remove("bvi-noscroll"), (document.body.style.overflow = ""), t.modal.classList.remove("show")), 8749 "panel-hide" === i && 8750 (document.querySelector(".bvi-panel").classList.add("bvi-panel-hide"), 8751 document.querySelector(".bvi-link-fixed-top").classList.remove("bvi-hide"), 8752 document.querySelector(".bvi-link-fixed-top").classList.add("bvi-show"), 8753 m("panelHide", "true"), 8754 e._speech("".concat(e._i18n.v("panelHide")))), 8755 "panel-show" === i && 8756 (document.querySelector(".bvi-link-fixed-top").classList.remove("bvi-show"), 8757 document.querySelector(".bvi-link-fixed-top").classList.add("bvi-hide"), 8758 document.querySelector(".bvi-panel").classList.remove("bvi-panel-hide"), 8759 m("panelHide", "false"), 8760 e._speech("".concat(e._i18n.v("panelShow")))); 8761 }); 8762 }), 8763 i(t.modal, function (e) { 8764 e.target.contains(t.modal) && (document.body.classList.remove("bvi-noscroll"), (document.body.style.overflow = ""), t.modal.classList.remove("show")); 8765 }); 8766 }, 8767 }, 8768 { 8769 key: "_getPanel", 8770 value: function () { 8771 var e = function () { 8772 var e = void 0 !== window.pageYOffset ? window.pageYOffset : (document.documentElement || document.body.parentNode || document.body).scrollTop; 8773 l(g("panelFixed")) && (e > 200 ? document.querySelector(".bvi-panel").classList.add("bvi-fixed-top") : document.querySelector(".bvi-panel").classList.remove("bvi-fixed-top")); 8774 }, 8775 t = l(g("panelHide")) ? " bvi-panel-hide" : "", 8776 n = l(g("panelHide")) ? "bvi-show" : " bvi-hide", 8777 i = "\n <div class='bvi-panel" 8778 .concat(t, '\'>\n <div class="bvi-blocks bvi-block-center">\n <div class="bvi-block">\n <div class="bvi-block-title">') 8779 .concat( 8780 this._i18n.t("fontSize"), 8781 '</div>\n <a class="bvi-link bvi-fontSize-minus">Ð-</a>\n <a class="bvi-link bvi-fontSize-plus">Ð+</a>\n </div>\n <div class="bvi-block">\n <div class="bvi-block-title">' 8782 ) 8783 .concat( 8784 this._i18n.t("siteColors"), 8785 '</div>\n <a href="#" class="bvi-link bvi-theme-white">Ц</a>\n <a href="#" class="bvi-link bvi-theme-black">Ц</a>\n <a href="#" class="bvi-link bvi-theme-blue">Ц</a>\n <a href="#" class="bvi-link bvi-theme-brown">Ц</a>\n <a href="#" class="bvi-link bvi-theme-green">Ц</a>\n </div>\n <div class="bvi-block">\n <div class="bvi-block-title">' 8786 ) 8787 .concat( 8788 this._i18n.t("images"), 8789 '</div>\n <a href="#" class="bvi-link bvi-images-on">\n <i class="bvi-images bvi-images-image"></i>\n </a>\n <a href="#" class="bvi-link bvi-images-off">\n <i class="bvi-images bvi-images-minus-circle"></i>\n </a>\n <a href="#" class="bvi-link bvi-images-grayscale">\n <i class="bvi-images bvi-images-adjust"></i>\n </a>\n </div>\n <div class="bvi-block">\n <div class="bvi-block-title">' 8790 ) 8791 .concat( 8792 this._i18n.t("speech"), 8793 '</div>\n <a href="#" class="bvi-link bvi-speech-off">\n <i class="bvi-images bvi-images-volume-off"></i>\n </a>\n <a href="#" class="bvi-link bvi-speech-on">\n <i class="bvi-images bvi-images-volume-up"></i>\n </a>\n </div>\n <div class="bvi-block">\n <div class="bvi-block-title">' 8794 ) 8795 .concat( 8796 this._i18n.t("settings"), 8797 '</div>\n <a href="#" class="bvi-link" data-bvi="modal">\n <i class="bvi-images bvi-images-cog"></i>\n </a>\n <a href="#" class="bvi-link" data-bvi="close">\n ' 8798 ) 8799 .concat( 8800 this._i18n.t("regularVersionOfTheSite"), 8801 '\n </a>\n <a href="#" class="bvi-link" data-bvi="panel-hide">\n <i class="bvi-images bvi-images-minus"></i>\n </a>\n </div>\n </div>\n <div class="bvi-modal">\n <div class="bvi-modal-dialog">\n <div class="bvi-modal-content">\n <div class="bvi-modal-header">\n <div class="bvi-modal-title">' 8802 ) 8803 .concat( 8804 this._i18n.t("settings"), 8805 '</div>\n <a href="#" class="bvi-link bvi-modal-close" data-bvi="modal-close">?</a>\n </div>\n <div class="bvi-modal-body">\n <div class="bvi-blocks bvi-block-center">\n <div class="bvi-block">\n <div class="bvi-block-title">' 8806 ) 8807 .concat(this._i18n.t("letterSpacing"), '</div>\n <a href="#" class="bvi-link bvi-letter-spacing-normal">') 8808 .concat(this._i18n.t("normal"), '</a>\n <a href="#" class="bvi-link bvi-letter-spacing-average">') 8809 .concat(this._i18n.t("average"), '</a>\n <a href="#" class="bvi-link bvi-letter-spacing-big">') 8810 .concat(this._i18n.t("big"), '</a>\n </div>\n <div class="bvi-block">\n <div class="bvi-block-title">') 8811 .concat(this._i18n.t("lineHeight"), '</div>\n <a href="#" class="bvi-link bvi-line-height-normal">') 8812 .concat(this._i18n.t("normal"), '</a>\n <a href="#" class="bvi-link bvi-line-height-average">') 8813 .concat(this._i18n.t("average"), '</a>\n <a href="#" class="bvi-link bvi-line-height-big">') 8814 .concat(this._i18n.t("big"), '</a>\n </div>\n <div class="bvi-block">\n <div class="bvi-block-title">') 8815 .concat(this._i18n.t("font"), '</div>\n <a href="#" class="bvi-link bvi-font-family-arial">') 8816 .concat(this._i18n.t("arial"), '</a>\n <a href="#" class="bvi-link bvi-font-family-times">') 8817 .concat(this._i18n.t("times"), '</a>\n </div>\n <div class="bvi-block">\n <div class="bvi-block-title">') 8818 .concat(this._i18n.t("builtElements"), '</div>\n <a href="#" class="bvi-link bvi-built-elements-on">') 8819 .concat(this._i18n.t("on"), '</a>\n <a href="#" class="bvi-link bvi-built-elements-off">') 8820 .concat( 8821 this._i18n.t("off"), 8822 '</a>\n </div>\n </div>\n <div class="bvi-blocks bvi-block-center">\n <a href="https://bvi.isvek.ru" class="bvi-copyright" target="_blank">bvi.isvek.ru</a>\n </div>\n </div>\n <div class="bvi-modal-footer">\n <a href="#" class="bvi-link bvi-reset">' 8823 ) 8824 .concat(this._i18n.t("reset"), "</a>\n </div>\n </div>\n </div>\n </div>\n </div>"), 8825 s = '<a href="#" class="bvi-link bvi-link-fixed-top bvi-no-styles '.concat(n, '" data-bvi="panel-show">') + '<i class="bvi-images bvi-images-eye bvi-images-size-32 bvi-no-styles"></i></a>'; 8826 window.addEventListener("scroll", e), document.querySelector(".bvi-body").insertAdjacentHTML("beforebegin", i), document.querySelector(".bvi-body").insertAdjacentHTML("afterbegin", s), e(); 8827 }, 8828 }, 8829 { 8830 key: "_set", 8831 value: function () { 8832 var e = this; 8833 document.body.classList.add("bvi-active"), 8834 d(document.body, "div", "bvi-body"), 8835 u(this._config, function (t) { 8836 return e._setAttrDataBviB
8836ody(t, g(t)); 8837 }), 8838 p(this._elements, function (e) { 8839 return (e.style.display = "none"); 8840 }), 8841 document.querySelectorAll("img").forEach(function (e) { 8842 e.classList.contains("bvi-img") && e.classList.remove("bvi-img"); 8843 }), 8844 document.querySelectorAll("body *").forEach(function (e) { 8845 e.classList.contains("bvi-background-image") && e.classList.remove("bvi-background-image"); 8846 }); 8847 }, 8848 }, 8849 { 8850 key: "_remove", 8851 value: function () { 8852 var e = document.querySelector(".bvi-panel"), 8853 t = document.querySelector(".bvi-body"), 8854 n = document.querySelector(".bvi-link-fixed-top"); 8855 e && e.remove(), 8856 t && h(t), 8857 n && n.remove(), 8858 this._speech("".concat(this._i18n.v("panelOff"))), 8859 document.body.classList.remove("bvi-active"), 8860 p(this._elements, function (e) { 8861 return (e.style.display = ""); 8862 }), 8863 l(g("reload")) && document.location.reload(), 8864 u(this._config, function (e) { 8865 v(e); 8866 }), 8867 this._speechPlayer(), 8868 v("panelActive"); 8869 }, 8870 }, 8871 { 8872 key: "_images", 8873 value: function () { 8874 document.querySelectorAll("img").forEach(function (e) { 8875 e.classList.contains("bvi-no-style") || e.classList.add("bvi-img"); 8876 }), 8877 document.querySelectorAll(".bvi-body *").forEach(function (e) { 8878 var t = getComputedStyle(e); 8879 "none" === t.backgroundImage || "none" === t.background || e.classList.contains("bvi-no-style") || e.classList.add("bvi-background-image"); 8880 }); 8881 }, 8882 }, 8883 { 8884 key: "_getConfig", 8885 value: function (e) { 8886 e = t(t({}, _), e); 8887 var i = {}; 8888 for (var s in _) i[s] = e[s]; 8889 return ( 8890 (function (e, t, i) { 8891 Object.keys(t).forEach(function (i) { 8892 var s, 8893 o = t[i], 8894 a = e[i], 8895 r = 8896 a && (s = a) && "object" === n(s) && void 0 !== s.nodeType 8897 ? "element" 8898 : (function (e) { 8899 return null == e 8900 ? "".concat(e) 8901 : {}.toString 8902 .call(e) 8903 .match(/\s([a-z]+)/i)[1] 8904 .toLowerCase(); 8905 })(a); 8906 if (!new RegExp(o).test(r)) throw new TypeError('Bvi console: ÐпÑÐ¸Ñ "'.concat(i, '" пÑедоÑÑавленнÑй Ñип "').concat(r, '", ожидаемÑй Ñип "').concat(o, '".')); 8907 }), 8908 Object.keys(i).forEac
8908h(function (t) { 8909 var n = i[t], 8910 s = e[t]; 8911 if (!new RegExp(n).test(s)) throw new TypeError('Bvi console: ÐпÑÐ¸Ñ "'.concat(t, '" паÑамеÑÑ "').concat(s, '", ожидаемÑй паÑамеÑÑ "').concat(n, '".')); 8912 }); 8913 })(i, w, x), 8914 i 8915 ); 8916 }, 8917 }, 8918 { 8919 key: "_setAttrDataBviBody", 8920 value: function () { 8921 var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "", 8922 t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : ""; 8923 document.querySelector(".bvi-body").setAttribute("data-bvi-".concat(e), t); 8924 }, 8925 }, 8926 { 8927 key: "_speechPlayer", 8928 value: function () { 8929 var e = this, 8930 t = document.querySelectorAll(".bvi-speech-text"), 8931 n = document.querySelectorAll(".bvi-speech-link"), 8932 i = document.querySelectorAll(".bvi-speech"); 8933 if ("speechSynthesis" in window && l(g("speech"))) { 8934 if (i) { 8935 t && 8936 t.forEach(function (e) { 8937 return h(e); 8938 }), 8939 n && 8940 n.forEach(function (e) { 8941 return e.remove(); 8942 }), 8943 i.forEach(function (e, t) { 8944 var n = "bvi-speech-text-id-".concat(t + 1); 8945 d(e, "div", "bvi-speech-text ".concat(n)), 8946 e.insertAdjacentHTML( 8947 "afterbegin", 8948 '\n <div class="bvi-speech-link">\n <a href="#" class="bvi-link bvi-speech-play" title="ÐоÑпÑоизвеÑÑи">ÐоÑпÑоизвеÑÑи</a>\n <a href="#" class="bvi-link bvi-speech-pause disabled" title="ÐаÑза">ÐаÑза</a>\n <a href="#" class="bvi-link bvi-speech-resume disabled" title="ÐÑодолжиÑÑ">ÐÑодолжиÑÑ</a>\n <a href="#" class="bvi-link bvi-speech-stop disabled" title="СÑоп">СÑоп</i></a>\n </div>' 8949 ); 8950 }); 8951 var s = document.querySelectorAll(".bvi-speech-play"), 8952 o = document.querySelectorAll(".bvi-speech-pause"), 8953 a = document.querySelectorAll(".bvi-speech-resume"), 8954 r = document.querySelectorAll(".bvi-speech-stop"), 8955 c = function (e, t) { 8956 e.forEach(function (e) { 8957 e.addEventListener( 8958 "click", 8959 function (n) { 8960 if ((n.preventDefault(), "function" == typeof t)) return t(e, n); 8961 }, 8962 !1 8963 ); 8964 }); 8965 }; 8966 c(s, function (t, n) { 8967 var i = n.target, 8968 s = i.parentNode.nextElementSibling, 8969 o = n.target.closest(".bvi-speech-link"),
8970 a = document.querySelectorAll(".bvi-speech-play"), 8971 r = document.querySelectorAll(".bvi-speech-pause"), 8972 c = document.querySelectorAll(".bvi-speech-resume"), 8973 l = document.querySelectorAll(".bvi-speech-stop"); 8974 e._speech(s.textContent, s, !0), 8975 a.forEach(function (e) { 8976 return e.classList.remove("disabled"); 8977 }), 8978 r.forEach(function (e) { 8979 return e.classList.add("disabled"); 8980 }), 8981 c.forEach(function (e) { 8982 return e.classList.add("disabled"); 8983 }), 8984 l.forEach(function (e) { 8985 return e.classList.add("disabled"); 8986 }), 8987 i.classList.add("disabled"), 8988 o.querySelector(".bvi-speech-pause").classList.remove("disabled"), 8989 o.querySelector(".bvi-speech-stop").classList.remove("disabled"); 8990 }), 8991 c(o, function (e, t) { 8992 var n = t.target, 8993 i = t.target.closest(".bvi-speech-link"); 8994 n.classList.add("disabled"), i.querySelector(".bvi-speech-resume").classList.remove("disabled"), f().pause(); 8995 }), 8996 c(a, function (e, t) { 8997 var n = t.target, 8998 i = t.target.closest(".bvi-speech-link"); 8999 n.classList.add("disabled"), i.querySelector(".bvi-speech-pause").classList.remove("disabled"), f().resume(); 9000 }), 9001 c(r, function (e, t) { 9002 var n = t.target, 9003 i = t.target.closest(".bvi-speech-link"); 9004 n.classList.add("disabled"), i.querySelector(".bvi-speech-pause").classList.add("disabled"), i.querySelector(".bvi-speech-play").classList.remove("disabled"), f().cancel(); 9005 }); 9006 } 9007 } else 9008 t && 9009 t.forEach(function (e) { 9010 return h(e); 9011 }), 9012 n && 9013 n.forEach(function (e) { 9014 return e.remove(); 9015 }); 9016 }, 9017 }, 9018 { 9019 key: "_speech", 9020 value: function (e, t) { 9021 var n = this, 9022 i = arguments.length > 2 && void 0 !== arguments[2] && arguments[2]; 9023 if ("speechSynthesis" in window && l(g("speech"))) { 9024 f().cancel(); 9025 for ( 9026 var s = function (e, t) { 9027 (e = String(e)), (t = Number(t) >>> 0); 9028 var n = e.slice(0, t + 1).search(/\S+$/), 9029 i = e.slice(t).search(/\s/); 9030 return i < 0 ? e.slice(n) : e.slice(n, i + t); 9031 }, 9032 o = 120, 9033 a = new RegExp("^[\\s\\S]{" + Math.floor(o / 2) + "," + o + "}[.!?,]{1}|^[\\s\\S]{1," + o + "}$|^[\\s\\S]{1," + o + "} "), 9034 r = [], 9035 c = e, 9036 d = f().getVoices(); 9037 c.length > 0; 9038 9039 ) 9040 r.push(c.match(a)[0]), (c = c.substring(r[r.length - 1].length)); 9041 r.forEach(function (e) { 9042 var o = new SpeechSynthesisUtterance(e.trim()); 9043 (o.volume = 1), (o.rate = 1), (o.pitch = 1), (o.lang = n._config.lang); 9044 for (var a = 0; a < d.length; a++) 9045 "ru-RU" === n._config.lang && "Microsoft Pavel - Russian (Russia)" === d[a].name && (o.voice = d[a]), 9046 "en-US" === n._config.lang && "Microsoft Pavel - English (English)" === d[a].name && (o.voice = d[a]); 9047 i && 9048 ((o.onboundary = function (e) { 9049 t.classList.add("bvi-highlighting"); 9050 var n = s(e.utterance.text, e.charIndex), 9051 i = t.textContent, 9052 o = n.replace(/(\s+)/, "((<[^>]+>)*$1(<[^>
9052]+>)*)"), 9053 a = new RegExp("(" + o + ")", "gi"); 9054 (i = (i = i.replace(a, "<mark>$1</mark>")).replace(/(<mark>[^<>]*)((<[^>]+>)+)([^<>]*<\/mark>)/, "$1</mark>$2<mark>$4")), (t.innerHTML = i); 9055 }), 9056 (o.onend = function (e) { 9057 t.classList.remove("bvi-highlighting"); 9058 var n = t.textContent; 9059 (n = n.replace(/(<mark>$1<\/mark>)/, "$1")), (t.innerHTML = n); 9060 })), 9061 f().speak(o); 9062 }); 9063 } 9064 }, 9065 }, 9066 ]), 9067 e 9068 ); 9069 })(), 9070 }; 9071 }); 9072 }, 9073
9073"./js/vendor/jquery.fancybox.js": 9074 /*!**************************************!*\ 9075!*** ./js/vendor/jquery.fancybox.js ***! 9076\**************************************/ 9077 /*! no static exports found */ function (e, t) { 9078 !(function (e, t, n, i) { 9079 "use strict"; 9080 if (((e.console = e.console || { info: function (e) {} }), n)) 9081 if (n.fn.fancybox) console.info("fancyBox already initialized"); 9082 else { 9083 var s, 9084 o, 9085 a = { 9086 closeExisting: !1, 9087 loop: !1, 9088 gutter: 50, 9089 keyboard: !0, 9090 preventCaptionOverlap: !0, 9091 arrows: !0, 9092 infobar: !0, 9093 smallBtn: "auto", 9094 toolbar: "auto", 9095 buttons: ["zoom", "slideShow", "thumbs", "close"], 9096 idleTime: 3, 9097 protect: !1, 9098 modal: !1, 9099 image: { preload: !1 }, 9100 ajax: { settings: { data: { fancybox: !0 } } }, 9101 iframe: { 9102 tpl: '<iframe id="fancybox-frame{rnd}" name="fancybox-frame{rnd}" class="fancybox-iframe" allowfullscreen="allowfullscreen" allow="autoplay; fullscreen" src=""></iframe>', 9103 preload: !0, 9104 css: {}, 9105 attr: { scrolling: "auto" }, 9106 }, 9107 video: { 9108 tpl: 9109 '<video class="fancybox-video" controls controlsList="nodownload" poster="{{poster}}"><source src="{{src}}" type="{{format}}" />Sorry, your browser doesn\'t support embedded videos, <a href="{{src}}">download</a> and watch with your favorite video player!</video>', 9110 format: "", 9111 autoStart: !0, 9112 }, 9113 defaultType: "image", 9114 animationEffect: "zoom", 9115 animationDuration: 366, 9116 zoomOpacity: "auto", 9117 transitionEffect: "fade", 9118 transitionDuration: 366, 9119 slideClass: "", 9120 baseClass: "", 9121 baseTpl: 9122 '<div class="fancybox-container" role="dialog" tabindex="-1"><div class="fancybox-bg"></div><div class="fancybox-inner"><div class="fancybox-infobar"><span data-fancybox-index></span> / <span data-fancybox-count></span></div><div class="fancybox-toolbar">{{buttons}}</div><div class="fancybox-navigation">{{arrows}}</div><div class="fancybox-stage"></div><div class="fancybox-caption"><div class="fancybox-caption__body"></div></div></div></div>', 9123 spinnerTpl: '<div class="fancybox-loading"></div>', 9124 errorTpl: '<div class="fancybox-error"><p>{{ERROR}}</p></div>', 9125 btnTpl: { 9126 download: 9127 '<a download data-fancybox-download class="fancybox-button fancybox-button--download" title="{{DOWNLOAD}}" href="javascript:;"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M18.62 17.09V19H5.38v-1.91zm-2.97-6.96L17 11.45l-5 4.87-5-4.87 1.36-1.32 2.68 2.64V5h1.92v7.77z"/></svg></a>', 9128 zoom: 9129 '<button data-fancybox-zoom class="fancybox-button fancybox-button--zoom" title="{{ZOOM}}"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M18.7 17.3l-3-3a5.9 5.9 0 0 0-.6-7.6 5.9 5.9 0 0 0-8.4 0 5.9 5.9 0 0 0 0 8.4 5.9 5.9 0 0 0 7.7.7l3 3a1 1 0 0 0 1.3 0c.4-.5.4-1 0-1.5zM8.1 13.8a4 4 0 0 1 0-5.7 4 4 0 0 1 5.7 0 4 4 0 0 1 0 5.7 4 4 0 0 1-5.7 0z"/></svg></button>', 9130 close: 9131 '<button data-fancybox-close class="fancybox-button fancybox-button--close" title="{{CLOSE}}"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
9131<path d="M12 10.6L6.6 5.2 5.2 6.6l5.4 5.4-5.4 5.4 1.4 1.4 5.4-5.4 5.4 5.4 1.4-1.4-5.4-5.4 5.4-5.4-1.4-1.4-5.4 5.4z"/></svg></button>', 9132 arrowLeft: 9133 '<button data-fancybox-prev class="fancybox-button fancybox-button--arrow_left" title="{{PREV}}"><div><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M11.28 15.7l-1.34 1.37L5 12l4.94-5.07 1.34 1.38-2.68 2.72H19v1.94H8.6z"/></svg></div></button>', 9134 arrowRight: 9135 '<button data-fancybox-next class="fancybox-button fancybox-button--arrow_right" title="{{NEXT}}"><div><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M15.4 12.97l-2.68 2.72 1.34 1.38L19 12l-4.94-5.07-1.34 1.38 2.68 2.72H5v1.94z"/></svg></div></button>', 9136 smallBtn: 9137 '<button type="button" data-fancybox-close class="fancybox-button fancybox-close-small" title="{{CLOSE}}"><svg xmlns="http://www.w3.org/2000/svg" version="1" viewBox="0 0 24 24"><path d="M13 12l5-5-1-1-5 5-5-5-1 1 5 5-5 5 1 1 5-5 5 5 1-1z"/></svg></button>', 9138 }, 9139 parentEl: "body", 9140 hideScrollbar: !0, 9141 autoFocus: !0, 9142 backFocus: !0, 9143 trapFocus: !0, 9144 fullScreen: { autoStart: !1 }, 9145 touch: { vertical: !0, momentum: !0 }, 9146 hash: null, 9147 media: {}, 9148 slideShow: { autoStart: !1, speed: 3e3 }, 9149 thumbs: { autoStart: !1, hideOnClose: !0, parentEl: ".fancybox-container", axis: "y" }, 9150 wheel: "auto", 9151 onInit: n.noop, 9152 beforeLoad: n.noop, 9153 afterLoad: n.noop, 9154 beforeShow: n.noop, 9155 afterShow: n.noop, 9156 beforeClose: n.noop, 9157 afterClose: n.noop, 9158 onActivate: n.noop, 9159 onDeactivate: n.noop, 9160 clickContent: function (e, t) { 9161 return "image" === e.type && "zoom"; 9162 }, 9163 clickSlide: "close", 9164 clickOutside: "close", 9165 dblclickContent: !1, 9166 dblclickSlide: !1, 9167 dblclickOutside: !1, 9168 mobile: { 9169 preventCaptionOverlap: !1, 9170 idleTime: !1, 9171 clickContent: function (e, t) { 9172 return "image" === e.type && "toggleControls"; 9173 }, 9174 clickSlide: function (e, t) { 9175 return "image" === e.type ? "toggleControls" : "close"; 9176 }, 9177 dblclickContent: function (e, t) { 9178 return "image" === e.type && "zoom"; 9179 }, 9180 dblclickSlide: function (e, t) { 9181 return "image" === e.type && "zoom"; 9182 }, 9183 }, 9184 lang: "en", 9185 i18n: { 9186 en: { 9187 CLOSE: "Close", 9188 NEXT: "Next", 9189 PREV: "Previous", 9190 ERROR: "The requested content cannot be loaded. <br/> Please try again later.", 9191 PLAY_START: "Start slideshow", 9192 PLAY_STOP: "Pause slideshow", 9193 FULL_SCREEN: "Full screen", 9194 THUMBS: "Thumbnails", 9195 DOWNLOAD: "Download", 9196 SHARE: "Share", 9197 ZOOM: "Zoom", 9198 }, 9199 de: { 9200 CLOSE: "Schließen", 9201 NEXT: "Weiter", 9202 PREV: "Zurück", 9203 ERROR: "Die angeforderten Daten konnten nicht geladen werden. <br/> Bitte versuchen Sie es später nochmal.", 9204 PLAY_START: "Diaschau starten", 9205 PLAY_STOP: "Diaschau beenden", 9206 FULL_SCREEN: "Vollbild",
9207 THUMBS: "Vorschaubilder", 9208 DOWNLOAD: "Herunterladen", 9209 SHARE: "Teilen", 9210 ZOOM: "Vergrößern", 9211 }, 9212 }, 9213 }, 9214 r = n(e), 9215 c = n(t), 9216 l = 0, 9217 d = 9218 e.requestAnimationFrame || 9219 e.webkitRequestAnimationFrame || 9220 e.mozRequestAnimationFrame || 9221 e.oRequestAnimationFrame || 9222 function (t) { 9223 return e.setTimeout(t, 1e3 / 60); 9224 }, 9225 h = 9226 e.cancelAnimationFrame || 9227 e.webkitCancelAnimationFrame || 9228 e.mozCancelAnimationFrame || 9229 e.oCancelAnimationFrame || 9230 function (t) { 9231 e.clearTimeout(t); 9232 }, 9233 u = (function () { 9234 var e, 9235 n = t.createElement("fakeelement"), 9236 i = { transition: "transitionend", OTransition: "oTransitionEnd", MozTransition: "transitionend", WebkitTransition: "webkitTransitionEnd" }; 9237 for (e in i) if (void 0 !== n.style[e]) return i[e]; 9238 return "transitionend"; 9239 })(), 9240 p = function (e) { 9241 return e && e.length && e[0].offsetHeight; 9242 }, 9243 f = function (e, t) { 9244 var i = n.extend(!0, {}, e, t); 9245 return ( 9246 n.each(t, function (e, t) { 9247 n.isArray(t) && (i[e] = t); 9248 }), 9249 i 9250 ); 9251 }, 9252 m = function (e, t, i) { 9253 (this.opts = f({ index: i }, n.fancybox.defaults)), 9254 n.isPlainObject(t) && (this.opts = f(this.opts, t)), 9255 n.fancybox.isMobile && (this.opts = f(this.opts, this.opts.mobile)), 9256 (this.id = this.opts.id || ++l), 9257 (this.currIndex = parseInt(this.opts.index, 10) || 0), 9258 (this.prevIndex = null), 9259 (this.prevPos = null), 9260 (this.currPos = 0), 9261 (this.firstRun = !0), 9262 (this.group = []), 9263 (this.slides = {}), 9264 this.addContent(e), 9265 this.group.length && this.init(); 9266 }; 9267 n.extend(m.prototype, { 9268 init: function () { 9269 var i, 9270 s, 9271 o = this, 9272 a = o.group[o.currIndex].opts; 9273 a.closeExisting && n.fancybox.close(!0), 9274 n("body").addClass("fancybox-active"), 9275 !n.fancybox.getInstance() && 9276 !1 !== a.hideScrollbar && 9277 !n.fancybox.isMobile && 9278 t.body.scrollHeight > e.innerHeight && 9279 (n("head").append('<style id="fancybox-style-noscroll" type="text/css">.compensate-for-scrollbar{margin-right:' + (e.innerWidth - t.documentElement.clientWidth) + "px;}</style>"), 9280 n("body").addClass("compensate-for-scrollbar")), 9281 (s = ""), 9282 n.each(a.buttons, function (e, t) { 9283 s += a.btnTpl[t] || ""; 9284 }), 9285 (i = n(o.translate(o, a.baseTpl.replace("{{buttons}}", s).replace("{{arrows}}", a.btnTpl.arrowLeft + a.btnTpl.arrowRight))) 9286 .attr("id", "fancybox-container-" + o.id) 9287 .addClass(a.baseClass) 9288 .data("FancyBox", o) 9289 .appendTo(a.parentEl)), 9290 (o.$refs = { container: i }), 9291 ["bg", "inner", "infobar", "toolbar", "stage", "caption", "navigation"].forEach(function (e) { 9292 o.$refs[e] = i.find(".fancybox-" + e); 9293 }), 9294 o.trigger("onInit"), 9295 o.activate(), 9296 o.jumpTo(o.currIndex); 9297 }, 9298 translate: function (e, t) { 9299 var n = e.opts.i18n[e.opts.lang] || e.opts.i18n.en; 9300 return t.replace(/\{\{(\w+)\}\}/g, function (e, t) { 9301 return void 0 === n[t] ? e : n[t]; 9302 }); 9303 }, 9304 addContent: function (e) { 9305 var t, 9306 i = this, 9307 s = n.makeArray(e); 9308 n.each(s, function (e, t) { 9309 var s, 9310 o, 9311 a, 9312 r, 9313 c, 9314 l = {}, 9315 d = {}; 9316 n.isPlainObject(t) 9317 ? ((l = t), (d = t.opts || t)) 9318 : "object" === n.type(t) && n(t).length 9319 ? ((d = (s = n(t)).data() || {}), ((d = n.extend(!0, {}, d, d.options)).$orig = s), (l.src = i.opts.src || d.src || s.attr("href")), l.type || l.src || ((l.type = "inline"), (l.src = t))) 9320 : (l = { type: "html", src: t + "" }), 9321 (l.opts = n.extend(!0, {}, i.opts, d)), 9322 n.isArray(d.buttons) && (l.opts.buttons = d.buttons), 9323 n.fancybox.isMobile && l.opts.mobile && (l.opts = f(l.opts, l.opts.mobile)),
9324 (o = l.type || l.opts.type), 9325 (r = l.src || ""), 9326 !o && 9327 r && 9328 ((a = r.match(/\.(mp4|mov|ogv|webm)((\?|#).*)?$/i)) 9329 ? ((o = "video"), l.opts.video.format || (l.opts.video.format = "video/" + ("ogv" === a[1] ? "ogg" : a[1]))) 9330 : r.match(/(^data:image\/[a-z0-9+\/=]*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg|ico)((\?|#).*)?$)/i) 9331 ? (o = "image") 9332 : r.match(/\.(pdf)((\?|#).*)?$/i) 9333 ? ((o = "iframe"), (l = n.extend(!0, l, { contentType: "pdf", opts: { iframe: { preload: !1 } } }))) 9334 : "#" === r.charAt(0) && (o = "inline")), 9335 o ? (l.type = o) : i.trigger("objectNeedsType", l), 9336 l.contentType || (l.contentType = n.inArray(l.type, ["html", "inline", "ajax"]) > -1 ? "html" : l.type), 9337 (l.index = i.group.length), 9338 "auto" == l.opts.smallBtn && (l.opts.smallBtn = n.inArray(l.type, ["html", "inline", "ajax"]) > -1), 9339 "auto" === l.opts.toolbar && (l.opts.toolbar = !l.opts.smallBtn), 9340 (l.$thumb = l.opts.$thumb || null), 9341 l.opts.$trigger && l.index === i.opts.index && ((l.$thumb = l.opts.$trigger.find("img:first")), l.$thumb.length && (l.opts.$orig = l.opts.$trigger)), 9342 (l.$thumb && l.$thumb.length) || !l.opts.$orig || (l.$thumb = l.opts.$orig.find("img:first")), 9343 l.$thumb && !l.$thumb.length && (l.$thumb = null), 9344 (l.thumb = l.opts.thumb || (l.$thumb ? l.$thumb[0].src : null)), 9345 "function" === n.type(l.opts.caption) && (l.opts.caption = l.opts.caption.apply(t, [i, l])), 9346 "function" === n.type(i.opts.caption) && (l.opts.caption = i.opts.caption.apply(t, [i, l])), 9347 l.opts.caption instanceof n || (l.opts.caption = void 0 === l.opts.caption ? "" : l.opts.caption + ""), 9348 "ajax" === l.type && (c = r.split(/\s+/, 2)).length > 1 && ((l.src = c.shift()), (l.opts.filter = c.shift())), 9349 l.opts.modal && 9350 (l.opts = n.extend(!0, l.opts, { 9351 trapFocus: !0, 9352 infobar: 0, 9353 toolbar: 0, 9354 smallBtn: 0, 9355 keyboard: 0, 9356 slideShow: 0, 9357 fullScreen: 0, 9358 thumbs: 0, 9359 touch: 0, 9360 clickContent: !1, 9361 clickSlide: !1, 9362 clickOutside: !1, 9363 dblclickContent: !1, 9364 dblclickSlide: !1, 9365 dblclickOutside: !1, 9366 })), 9367 i.group.push(l); 9368 }), 9369 Object.keys(i.slides).length && (i.updateControls(), (t = i.Thumbs) && t.isActive && (t.create(), t.focus())); 9370 }, 9371 addEvents: function () { 9372 var t = this; 9373 t.removeEvents(), 9374 t.$refs.container 9375 .on("click.fb-close", "[data-fancybox-close]", function (e) { 9376 e.stopPropagation(), e.preventDefault(), t.close(e); 9377 }) 9378 .on("touchstart.fb-prev click.fb-prev", "[data-fancybox-prev]", function (e) { 9379 e.stopPropagation(), e.preventDefault(), t.previous(); 9380 }) 9381 .on("touchstart.fb-next click.fb-next", "[data-fancybox-next]", function (e) { 9382 e.stopPropagation(), e.preventDefault(), t.next(); 9383 }) 9384 .on("click.fb", "[data-fancybox-zoom]", function (e) { 9385 t[t.isScaledDown() ? "scaleToActual" : "scaleToFit"](); 9386 }), 9387 r.on("orientationchange.fb resize.fb", function (e) { 9388 e && e.originalEvent && "resize" === e.originalEvent.type 9389 ? (t.requestId && h(t.requestId), 9390 (t.requestId = d(function () { 9391 t.update(e); 9392 }))) 9393 : (t.current && "iframe" === t.current.type && t.$refs.stage.hide(), 9394 setTimeout( 9395 function () { 9396 t.$refs.stage.show(), t.update(e); 9397 }, 9398 n.fancybox.isMobile ? 600 : 250 9399 )); 9400 }), 9401 c.on("keydown.fb", function (e) { 9402 var i = (n.fancybox ? n.fancybox.getInstance() : null).current, 9403 s = e.keyCode || e.which; 9404 if (9 != s) { 9405 if (!(!i.opts.keyboard || e.ctrlKey || e.altKey || e.shiftKey || n(e.target).is("input,textarea,video,audio,select"))) 9406 return 8 === s || 27 === s 9407 ? (e.preventDefault(), void t.close(e)) 9408 : 37 === s || 38 === s 9409 ? (e.preventDefault(), void t.previous()) 9410 : 39 === s || 40 === s 9411 ? (e.preventDefault(), void t.next()) 9412 : void t.trigger("afterKeydown", e, s); 9413 } else i.opts.trapFocus && t.focus(e); 9414 }), 9415 t.group[t.currIndex].opts.idleTime && 9416 ((t.idleSecondsCounter = 0), 9417 c.on("mousemove.fb-idle mouseleave.fb-idle mousedown.fb-idle touchstart.fb-idle touchmove.fb-idle scroll.fb-idle keydown.fb-idle", function (e) { 9418 (t.idleSecondsCounter = 0), t.isIdle && t.showControls(), (t.isIdle = !1); 9419 }), 9420 (t.idleInterval = e.setInterval(function () { 9421 t.idleSecondsCounter++, t.idleSecondsCounter >= t.group[t.currIndex].opts.idleTime && !t.isDragging && ((t.isIdle = !0), (t.idleSecondsCounter = 0), t.hideControls()); 9422 }, 1e3))); 9423 }, 9424 removeEvents: function () { 9425 r.off("orientationchange.fb resize.fb"), 9426 c.off("keydown.fb .fb-idle"), 9427 this.$refs.container.off(".fb-close .fb-prev .fb-next"), 9428 this.idleInterval && (e.clearInterval(this.idleInterval), (this.idleInterval = null)); 9429 }, 9430 previous: function (e) { 9431 return this.jumpTo(this.currPos - 1, e); 9432 }, 9433 next: function (e) { 9434 return this.jumpTo(this.currPos + 1, e); 9435 }, 9436 jumpTo: function (e, t) { 9437 var i, 9438 s, 9439 o, 9440 a, 9441 r, 9442 c, 9443 l, 9444 d, 9445 h, 9446 u = this, 9447 f = u.group.length; 9448 if (!(u.isDragging || u.isClosing || (u.isAnimating && u.firstRun))) { 9449 if (((e = parseInt(e, 10)), !(o = u.current ? u.current.opts.loop : u.opts.loop) && (e < 0 || e >= f))) return !1; 9450 if ( 9451 ((i = u.firstRun = !Object.keys(u.slides).length), 9452 (r = u.current), 9453 (u.prevIndex = u.currIndex), 9454 (u.prevPos = u.currPos), 9455 (a = u.createSlide(e)), 9456 f > 1 && ((o || a.index < f - 1) && u.createSlide(e + 1), (o || a.index > 0) && u.createSlide(e - 1)), 9457 (u.current = a), 9458 (u.currIndex = a.index), 9459 (u.currPos = a.pos), 9460 u.trigger("beforeShow", i), 9461 u.updateControls(), 9462 (a.forcedDuration = void 0), 9463 n.isNumeric(t) ? (a.forcedDuration = t) : (t = a.opts[i ? "animationDuration" : "transitionDuration"]), 9464 (t = parseInt(t, 10)), 9465 (s = u.isMoved(a)), 9466 a.$slide.addClass("fancybox-slide--current"), 9467 i) 9468 ) 9469 return a.opts.animationEffect && t && u.$refs.container.css("transition-duration", t + "ms"), u.$refs.container.addClass("fancybox-is-open").trigger("focus"), u.loadSlide(a), void u.preload("image"); 9470 (c = n.fancybox.getTranslate(r.$slide)), 9471 (l = n.fancybox.getTranslate(u.$refs.stage)), 9472 n.each(u.slides, function (e, t) { 9473 n.fancybox.stop(t.$slide, !0); 9474 }), 9475 r.pos !== a.pos && (r.isComplete = !1), 9476 r.$slide.removeClass("fancybox-slide--complete fancybox-slide--current"), 9477 s 9478 ? ((h = c.left - (r.pos * c.width + r.pos * r.opts.gutter)), 9479 n.each(u.slides, function (e, i) { 9480 i.$slide.removeClass("fancybox-animated").removeClass(function (e, t) { 9481 return (t.match(/(^|\s)fancybox-fx-\S+/g) || []).join(" "); 9482 }); 9483 var s = i.pos * c.width + i.pos * i.opts.gutter; 9484 n.fancybox.setTranslate(i.$slide, { top: 0, left: s - l.left + h }), 9485 i.pos !== a.pos && i.$slide.addClass("fancybox-slide--" + (i.pos > a.pos ? "next" : "previous")), 9486 p(i.$slide), 9487 n.fancybox.animate(i.$slide, { top: 0, left: (i.pos - a.pos) * c.width + (i.pos - a.pos) * i.opts.gutter }, t, function () { 9488 i.$slide.css({ transform: "", opacity: "" }).removeClass("fancybox-slide--next fancybox-slide--previous"), i.pos === u.currPos && u.complete(); 9489 }); 9490 })) 9491 : t && 9492 a.opts.transitionEffect && 9493 ((d = "fancybox-animated fancybox-fx-" + a.opts.transitionEffect), 9494 r.$slide.addClass("fancybox-slide--" + (r.pos > a.pos ? "next" : "previous")), 9495 n.fancybox.animate( 9496 r.$slide, 9497 d, 9498 t, 9499 function () { 9500 r.$slide.removeClass(d).removeClass("fancybox-slide--next fancybox-slide--previous"); 9501 }, 9502 !1 9503 )), 9504 a.isLoaded ? u.revealContent(a) : u.loadSlide(a), 9505 u.preload("image"); 9506 } 9507 }, 9508 createSlide: function (e) { 9509 var t, i; 9510 return ( 9511 (i = (i = e % this.group.length) < 0 ? this.group.length + i : i), 9512 !this.slides[e] && 9513 this.group[i] && 9514 ((t = n('<div class="fancybox-slide"></div>').appendTo(this.$refs.stage)), (this.slides[e] = n.extend(!0, {}, this.group[i], { pos: e, $slide: t, isLoaded: !1 })), this.updateSlide(this.slides[e])), 9515 this.slides[e] 9516 ); 9517 }, 9518 scaleToActual: function (e, t, i) { 9519 var s, 9520 o, 9521 a, 9522 r, 9523 c, 9524 l = this, 9525 d = l.current, 9526 h = d.$content, 9527 u = n.fancybox.getTranslate(d.$slide).width, 9528 p = n.fancybox.getTranslate(d.$slide).height, 9529 f = d.width, 9530 m = d.height; 9531 l.isAnimating || 9532 l.isMoved() || 9533 !h || 9534 "image" != d.type || 9535 !d.isLoaded || 9536 d.hasError || 9537 ((l.isAnimating = !0), 9538 n.fancybox.stop(h), 9539 (e = void 0 === e ? 0.5 * u : e), 9540 (t = void 0 === t ? 0.5 * p : t), 9541 ((s = n.fancybox.getTranslate(h)).top -= n.fancybox.getTranslate(d.$slide).top), 9542 (s.left -= n.fancybox.getTranslate(d.$slide).left), 9543 (r = f / s.width
9543), 9544 (c = m / s.height), 9545 (o = 0.5 * u - 0.5 * f), 9546 (a = 0.5 * p - 0.5 * m), 9547 f > u && ((o = s.left * r - (e * r - e)) > 0 && (o = 0), o < u - f && (o = u - f)), 9548 m > p && ((a = s.top * c - (t * c - t)) > 0 && (a = 0), a < p - m && (a = p - m)), 9549 l.updateCursor(f, m), 9550 n.fancybox.animate(h, { top: a, left: o, scaleX: r, scaleY: c }, i || 366, function () { 9551 l.isAnimating = !1; 9552 }), 9553 l.SlideShow && l.SlideShow.isActive && l.SlideShow.stop()); 9554 }, 9555 scaleToFit: function (e) { 9556 var t, 9557 i = this, 9558 s = i.current, 9559 o = s.$content; 9560 i.isAnimating || 9561 i.isMoved() || 9562 !o || 9563 "image" != s.type || 9564 !s.isLoaded || 9565 s.hasError || 9566 ((i.isAnimating = !0), 9567 n.fancybox.stop(o), 9568 (t = i.getFitPos(s)), 9569 i.updateCursor(t.width, t.height), 9570 n.fancybox.animate(o, { top: t.top, left: t.left, scaleX: t.width / o.width(), scaleY: t.height / o.height() }, e || 366, function () { 9571 i.isAnimating = !1; 9572 })); 9573 }, 9574 getFitPos: function (e) { 9575 var t, 9576 i, 9577 s, 9578 o, 9579 a = e.$content, 9580 r = e.$slide, 9581 c = e.width || e.opts.width, 9582 l = e.height || e.opts.height, 9583 d = {}; 9584 return ( 9585 !!(e.isLoaded && a && a.length) && 9586 ((t = n.fancybox.getTranslate(this.$refs.stage).width), 9587 (i = n.fancybox.getTranslate(this.$refs.stage).height), 9588 (t -= parseFloat(r.css("paddingLeft")) + parseFloat(r.css("paddingRight")) + parseFloat(a.css("marginLeft")) + parseFloat(a.css("marginRight"))), 9589 (i -= parseFloat(r.css("paddingTop")) + parseFloat(r.css("paddingBottom")) + parseFloat(a.css("marginTop")) + parseFloat(a.css("marginBottom"))), 9590 (c && l) || ((c = t), (l = i)), 9591 (c *= s = Math.min(1, t / c, i / l)) > t - 0.5 && (c = t), 9592 (l *= s) > i - 0.5 && (l = i), 9593 "image" === e.type 9594 ? ((d.top = Math.floor(0.5 * (i - l)) + parseFloat(r.css("paddingTop"))), (d.left = Math.floor(0.5 * (t - c)) + parseFloat(r.css("paddingLeft")))) 9595 : "video" === e.contentType && (l > c / (o = e.opts.width && e.opts.height ? c / l : e.opts.ratio || 16 / 9) ? (l = c / o) : c > l * o && (c = l * o)), 9596 (d.width = c), 9597 (d.height = l), 9598 d) 9599 ); 9600 }, 9601 update: function (e) { 9602 var t = this; 9603 n.each(t.slides, function (n, i) { 9604 t.updateSlide(i, e); 9605 }); 9606 }, 9607 updateSlide: function (e, t) { 9608 var i = e && e.$content, 9609 s = e.width || e.opts.width, 9610 o = e.height || e.opts.height, 9611 a = e.$slide; 9612 this.adjustCaption(e), 9613 i && (s || o || "video" === e.contentType) && !e.hasError && (n.fancybox.stop(i), n.fancybox.setTranslate(i, this.getFitPos(e)), e.pos === this.currPos && ((this.isAnimating = !1), this.updateCursor(
9613))), 9614 this.adjustLayout(e), 9615 a.length && 9616 (a.trigger("refresh"), 9617 e.pos === this.currPos && this.$refs.toolbar.add(this.$refs.navigation.find(".fancybox-button--arrow_right")).toggleClass("compensate-for-scrollbar", a.get(0).scrollHeight > a.get(0).clientHeight)), 9618 this.trigger("onUpdate", e, t); 9619 }, 9620 centerSlide: function (e) { 9621 var t = this, 9622 i = t.current, 9623 s = i.$slide; 9624 !t.isClosing && 9625 i && 9626 (s.siblings().css({ transform: "", opacity: "" }), 9627 s.parent().children().removeClass("fancybox-slide--previous fancybox-slide--next"), 9628 n.fancybox.animate( 9629 s, 9630 { top: 0, left: 0, opacity: 1 }, 9631 void 0 === e ? 0 : e, 9632 function () { 9633 s.css({ transform: "", opacity: "" }), i.isComplete || t.complete(); 9634 }, 9635 !1 9636 )); 9637 }, 9638 isMoved: function (e) { 9639 var t, 9640 i, 9641 s = e || this.current; 9642 return ( 9643 !!s && 9644 ((i = n.fancybox.getTranslate(this.$refs.stage)), (t = n.fancybox.getTranslate(s.$slide)), !s.$slide.hasClass("fancybox-animated") && (Math.abs(t.top - i.top) > 0.5 || Math.abs(t.left - i.left) > 0.5)) 9645 ); 9646 }, 9647 updateCursor: function (e, t) { 9648 var i, 9649 s, 9650 o = this.current, 9651 a = this.$refs.container; 9652 o && 9653 !this.isClosing && 9654 this.Guestures && 9655 (a.removeClass("fancybox-is-zoomable fancybox-can-zoomIn fancybox-can-zoomOut fancybox-can-swipe fancybox-can-pan"), 9656 (s = !!(i = this.canPan(e, t)) || this.isZoomable()), 9657 a.toggleClass("fancybox-is-zoomable", s), 9658 n("[data-fancybox-zoom]").prop("disabled", !s), 9659 i 9660 ? a.addClass("fancybox-can-pan") 9661 : s && ("zoom" === o.opts.clickContent || (n.isFunction(o.opts.clickContent) && "zoom" == o.opts.clickContent(o))) 9662 ? a.addClass("fancybox-can-zoomIn") 9663 : o.opts.touch && (o.opts.touch.vertical || this.group.length > 1) && "video" !== o.contentType && a.addClass("fancybox-can-swipe")); 9664 }, 9665 isZoomable: function () { 9666 var e, 9667 t = this.current; 9668 if (t && !this.isClosing && "image" === t.type && !t.hasError) { 9669 if (!t.isLoaded) return !0; 9670 if ((e = this.getFitPos(t)) && (t.width > e.width || t.height > e.height)) return !0; 9671 } 9672 return !1; 9673 }, 9674 isScaledDown: function (e, t) { 9675 var i = !1, 9676 s = this.current, 9677 o = s.$content; 9678 return void 0 !== e && void 0 !== t ? (i = e < s.width && t < s.height) : o && (i = (i = n.fancybox.getTranslate(o)).width < s.width && i.height < s.height), i; 9679 }, 9680 canPan: function (e, t) { 9681 var i = this.current, 9682 s = null, 9683 o = !1; 9684 return ( 9685 "image" === i.type && 9686 (i.isComplete || (e && t)) && 9687 !i.hasError && 9688 ((o = this.getFitPos(i)), 9689 void 0 !== e && void 0 !== t ? (s = { width: e, height: t }) : i.isComplete && (s = n.fancybox.getTranslate(i.$content)), 9690 s && o && (o = Math.abs(s.width - o.width) > 1.5 || Math.abs(s.height - o.height) > 1.5)), 9691 o 9692 ); 9693 }, 9694 loadSlide: function (e) { 9695 var t, 9696 i, 9697 s, 9698 o = this; 9699 if (!e.isLoading && !e.isLoaded) { 9700 if (((e.isLoading = !0), !1 === o.trigger("beforeLoad", e))) return (e.isLoading = !1), !1; 9701 switch (((t = e.type), (i = e.$slide).off("refresh").trigger("onReset").addClass(e.opts.slideClass), t)) { 9702 case "image": 9703 o.setImage(e); 9704 break; 9705 case "iframe": 9706 o.setIframe(e); 9707 break; 9708 case "html": 9709 o.setContent(e, e.src || e.content); 9710 break; 9711 case "video": 9712 o.setContent( 9713 e, 9714 e.opts.video.tpl 9715 .replace(/\{\{src\}\}/gi, e.src) 9716 .replace("{{format}}", e.opts.videoFormat || e.opts.video.format || "") 9717 .replace("{{poster}}", e.thumb || "") 9718 ); 9719 break; 9720 case "inline": 9721 n(e.src).length ? o.setContent(e, n(e.src)) : o.setError(e); 9722 break; 9723 case "ajax": 9724 o.showLoading(e), 9725 (s = n.ajax( 9726 n.extend({}, e.opts.ajax.settings, { 9727 url: e.src, 9728 success: function (t, n) { 9729 "success" === n && o.setContent(e, t); 9730 }, 9731 error: function (t, n) { 9732 t && "abort" !== n && o.setError(e); 9733 }, 9734 }) 9735 )), 9736 i.one("onReset", function () { 9737 s.abort(); 9738 }); 9739 break; 9740 default: 9741 o.setError(e); 9742 } 9743 return !0; 9744 } 9745 }, 9746 setImage: function (e) { 9747 var i, 9748 s = this; 9749 setTimeout(function () { 9750 var t = e.$image; 9751 s.isClosing || !e.isLoading || (t && t.length && t[0].complete) || e.hasError || s.showLoading(e); 9752 }, 50), 9753 s.checkSrcset(e), 9754 (e.$content = n('<div class="fancybox-content"></div>').addClass("fancybox-is-hidden").appendTo(e.$slide.addClass("fancybox-slide--image"))), 9755 !1 !== e.opts.preload && 9756 e.opts.width && 9757 e.opts.height && 9758 e.thumb && 9759 ((e.width = e.opts.width), 9760 (e.height = e.opts.height), 9761 ((i = t.createElement("img")).onerror = function () { 9762 n(this).remove(), (e.$ghost = null); 9763 }), 9764 (i.onload = function () { 9765 s.afterLoad(e); 9766 }), 9767 (e.$ghost = n(i).addClass("fancybox-image").appendTo(e.$content).attr("src", e.thumb))), 9768 s.setBigImage(e); 9769 }, 9770 checkSrcset: function (t) { 9771 var n, 9772 i, 9773 s, 9774 o, 9775 a = t.opts.srcset || t.opts.image.srcset; 9776 if (a) { 9777 (s = e.devicePixelRatio || 1), 9778 (o = e.innerWidth * s), 9779 (i = a.split(",").map(function (e) { 9780 var t = {}; 9781 return ( 9782 e 9783 .trim() 9784 .split(/\s+/) 9785 .forEach(function (e, n) { 9786 var i = parseInt(e.substring(0, e.length - 1), 10); 9787 if (0 === n) return (t.url = e); 9788 i && ((t.value = i), (t.postfix = e[e.length - 1])); 9789 }), 9790 t 9791 ); 9792 })).sort(function (e, t) { 9793 return e.value - t.value; 9794 }); 9795 for (var r = 0; r < i.length; r++) { 9796 var c = i[r]; 9797 if (("w" === c.postfix && c.value >= o) || ("x" === c.postfix && c.value >= s)) { 9798 n = c; 9799 break; 9800 } 9801 } 9802 !n && i.length && (n = i[i.length - 1]), n && ((t.src = n.url), t.width && t.height && "w" == n.postfix && ((t.height = (t.width / t.height) * n.value), (t.width = n.value)), (t.opts.srcset = a)); 9803 } 9804 }, 9805 setBigImage: function (e) { 9806 var i = this, 9807 s = t.createElement("img"), 9808 o = n(s); 9809 (e.$image = o 9810 .one("error", function () { 9811 i.setError(e); 9812 }) 9813 .one("load", function () { 9814 var t; 9815 e.$ghost || (i.resolveImageSlideSize(e, this.naturalWi
9815dth, this.naturalHeight), i.afterLoad(e)), 9816 i.isClosing || 9817 (e.opts.srcset && 9818 (((t = e.opts.sizes) && "auto" !== t) || (t = (e.width / e.height > 1 && r.width() / r.height() > 1 ? "100" : Math.round((e.width / e.height) * 100)) + "vw"), 9819 o.attr("sizes", t).attr("srcset", e.opts.srcset)), 9820 e.$ghost && 9821 setTimeout(function () { 9822 e.$ghost && !i.isClosing && e.$ghost.hide(); 9823 }, Math.min(300, Math.max(1e3, e.height / 1600))), 9824 i.hideLoading(e)); 9825 }) 9826 .addClass("fancybox-image") 9827 .attr("src", e.src) 9828 .appendTo(e.$content)), 9829 (s.complete || "complete" == s.readyState) && o.naturalWidth && o.naturalHeight ? o.trigger("load") : s.error && o.trigger("error"); 9830 }, 9831 resolveImageSlideSize: function (e, t, n) { 9832 var i = parseInt(e.opts.width, 10), 9833 s = parseInt(e.opts.height, 10); 9834 (e.width = t), (e.height = n), i > 0 && ((e.width = i), (e.height = Math.floor((i * n) / t))), s > 0 && ((e.width = Math.floor((s * t) / n)), (e.height = s)); 9835 }, 9836 setIframe: function (e) { 9837 var t, 9838 i = this, 9839 s = e.opts.iframe, 9840 o = e.$slide; 9841 (e.$content = n('<div class="fancybox-content' + (s.preload ? " fancybox-is-hidden" : "") + '"></div>') 9842 .css(s.css) 9843 .appendTo(o)), 9844 o.addClass("fancybox-slide--" + e.contentType), 9845 (e.$iframe = t = n(s.tpl.replace(/\{rnd\}/g, new Date().getTime())) 9846 .attr(s.attr) 9847 .appendTo(e.$content)), 9848 s.preload 9849 ? (i.showLoading(e), 9850 t.on("load.fb error.fb", function (t) { 9851 (this.isReady = 1), e.$slide.trigger("refresh"), i.afterLoad(e); 9852 }), 9853 o.on("refresh.fb", function () { 9854 var n, 9855 i = e.$content, 9856 a = s.css.width, 9857 r = s.css.height; 9858 if (1 === t[0].isReady) { 9859 try { 9860 n = t.contents().find("body"); 9861 } catch (e) {} 9862 n && 9863 n.length && 9864 n.children().length && 9865 (o.css("overflow", "visible"), 9866 i.css({ width: "100%", "max-width": "100%", height: "9999px" }), 9867 void 0 === a && (a = Math.ceil(Math.max(n[0].clientWidth, n.outerWidth(!0)))), 9868 i.css("width", a || "").css("max-width", ""), 9869 void 0 === r && (r = Math.ceil(Math.max(n[0].clientHeight, n.outerHeight(!0)))), 9870 i.css("height", r || ""), 9871 o.css("overflow", "auto")), 9872 i.removeClass("fancybox-is-hidden"); 9873 } 9874 })) 9875 : i.afterLoad(e), 9876 t.attr("src", e.src), 9877 o.one("onReset", function () { 9878 try { 9879 n(this).find("iframe").hide().unbind().attr("src", "//about:blank"); 9880 } catch (e) {} 9881 n(this).off("refresh.fb").empty(), (e.isLoaded = !1), (e.isRevealed = !1); 9882 }); 9883 }, 9884 setContent: function (e, t) { 9885 var i; 9886 this.isClosing || 9887 (this.hideLoading(e), 9888 e.$content && n.fancybox.stop(e.$content), 9889 e.$slide.empty(), 9890 (i = t) && i.hasOwnProperty && i instanceof n && t.parent().length 9891 ? ((t.hasClass("fancybox-content") || t.parent().hasClass("fancybox-content")) && t.parents(".fancybox-slide").trigger("onReset"), 9892 (e.$placeholder = n("<div>").hide().insertAfter(t)), 9893 t.css("display", "inline-block")) 9894 : e.hasError || ("string" === n.type(t) && (t = n("<div>
9894").append(n.trim(t)).contents()), e.opts.filter && (t = n("<div>").html(t).find(e.opts.filter))), 9895 e.$slide.one("onReset", function () { 9896 n(this).find("video,audio").trigger("pause"), 9897 e.$placeholder && (e.$placeholder.after(t.removeClass("fancybox-content").hide()).remove(), (e.$placeholder = null)), 9898 e.$smallBtn && (e.$smallBtn.remove(), (e.$smallBtn = null)), 9899 e.hasError || (n(this).empty(), (e.isLoaded = !1), (e.isRevealed = !1)); 9900 }), 9901 n(t).appendTo(e.$slide), 9902 n(t).is("video,audio") && 9903 (n(t).addClass("fancybox-video"), n(t).wrap("<div></div>"), (e.contentType = "video"), (e.opts.width = e.opts.width || n(t).attr("width")), (e.opts.height = e.opts.height || n(t).attr("height"))), 9904 (e.$content = e.$slide.children().filter("div,form,main,video,audio,article,.fancybox-content").first()), 9905 e.$content.siblings().hide(), 9906 e.$content.length || (e.$content = e.$slide.wrapInner("<div></div>").children().first()), 9907 e.$content.addClass("fancybox-content"), 9908 e.$slide.addClass("fancybox-slide--" + e.contentType), 9909 this.afterLoad(e)); 9910 }, 9911 setError: function (e) { 9912 (e.hasError = !0), 9913 e.$slide 9914 .trigger("onReset") 9915 .removeClass("fancybox-slide--" + e.contentType) 9916 .addClass("fancybox-slide--error"), 9917 (e.contentType = "html"), 9918 this.setContent(e, this.translate(e, e.opts.errorTpl)), 9919 e.pos === this.currPos && (this.isAnimating = !1); 9920 }, 9921 showLoading: function (e) { 9922 (e = e || this.current) && !e.$spinner && (e.$spinner = n(this.translate(this, this.opts.spinnerTpl)).appendTo(e.$slide).hide().fadeIn("fast")); 9923 }, 9924 hideLoading: function (e) { 9925 (e = e || this.current) && e.$spinner && (e.$spinner.stop().remove(), delete e.$spinner); 9926 }, 9927 afterLoad: function (e) { 9928 this.isClosing || 9929 ((e.isLoading = !1), 9930 (e.isLoaded = !0), 9931 this.trigger("afterLoad", e), 9932 this.hideLoading(e), 9933 !e.opts.smallBtn || (e.$smallBtn && e.$smallBtn.length) || (e.$smallBtn = n(this.translate(e, e.opts.btnTpl.smallBtn)).appendTo(e.$content)), 9934 e.opts.protect && 9935 e.$content && 9936 !e.hasError && 9937 (e.$content.on("contextmenu.fb", function (e) { 9938 return 2 == e.button && e.preventDefault(), !0; 9939 }), 9940 "image" === e.type && n('<div class="fancybox-spaceball"></div>').appendTo(e.$content)), 9941 this.adjustCaption(e), 9942 this.adjustLayout(e), 9943 e.pos === this.currPos && this.updateCursor(), 9944 this.revealContent(e)); 9945 }, 9946 adjustCaption: function (e) { 9947 var t, 9948 n = e || this.current, 9949 i = n.opts.caption, 9950 s = n.opts.preventCaptionOverlap, 9951 o = this.$refs.caption, 9952 a = !1; 9953 o.toggleClass("fancybox-caption--separate", s), 9954 s && 9955 i && 9956 i.length && 9957 (n.pos !== this.currPos ? ((t = o.clone().appendTo(o.parent())).children().eq(0).empty().html(i), (a = t.outerHeight(!0)), t.empty().remove()) : this.$caption && (a = this.$caption.outerHeight(!0)), 9958 n.$slide.css("padding-bottom", a || "")); 9959 }, 9960 adjustLayout: function (e) { 9961 var t, 9962 n, 9963 i, 9964 s, 9965 o = e || this.current; 9966 o.isLoaded && 9967 !0 !== o.opts.disableLayoutFix && 9968 (o.$content.css("margin-bottom", ""), 9969 o.$content.outerHeight() > o.$slide.height() + 0.5 && 9970 ((i = o.$slide[0].style["padding-bottom"]), 9971 (s = o.$slide.css("padding-bottom")), 9972 parseFloat(s) > 0 && ((t = o.$slide[0].scrollHeight), o.$slide.css("padding-bottom", 0), Math.abs(t - o.$slide[0].scrollHeight) < 1 && (n = s), o.$slide.css("padding-bottom", i))), 9973 o.$content.css("margin-bottom", n)); 9974 }, 9975 revealContent: function (e) { 9976 var t, 9977 i, 9978 s, 9979 o, 9980 a = this, 9981 r = e.$slide, 9982 c = !1, 9983 l = !1, 9984 d = a.isMoved(e), 9985 h = e.isRevealed; 9986 return ( 9987 (e.isRevealed = !0), 9988 (t = e.opts[a.firstRun ? "animationEffect" : "transitionEffect"]), 9989 (s = e.opts[a.firstRun ? "animationDuration" : "transitionDuration"]), 9990 (s = parseInt(void 0 === e.forcedDuration ? s : e.forcedDuration, 10)), 9991 (!d && e.pos === a.currPos && s) || (t = !1), 9992 "zoom" === t && (e.pos === a.currPos && s && "image" === e.type && !e.hasError && (l = a.getThumbPos(e)) ? (c = a.getFitPos(e)) : (t = "fade")), 9993 "zoom" === t 9994 ? ((a.isAnimating = !0), 9995 (c.scaleX = c.width / l.width), 9996 (c.scaleY = c.height / l.height), 9997 "auto" == (o = e.opts.zoomOpacity) && (o = Math.abs(e.width / e.height - l.width / l.height) > 0.1), 9998 o && ((l.opacity = 0.1), (c.opacity = 1)), 9999 n.fancybox.setTranslate(e.$content.removeClass("fancybox-is-hidden"), l), 10000 p(e.$content), 10001 void n.fancybox.animate(e.$content, c, s, function () { 10002 (a.isAnimating = !1), a.complete(); 10003 })) 10004 : (a.updateSlide(e), 10005 t 10006 ? (n.fancybox.stop(r), 10007 (i = "fancybox-slide--" + (e.pos >= a.prevPos ? "next" : "previous") + " fancybox-animated fancybox-fx-" + t), 10008 r.addClass(i).removeClass("fancybox-slide--current"), 10009 e.$content.removeClass("fancybox-is-hidden"), 10010 p(r), 10011 "image" !== e.type && e.$content.hide().show(0), 10012 void n.fancybox.animate( 10013 r, 10014 "fancybox-slide--current", 10015 s, 10016 function () { 10017 r.removeClass(i).css({ transform: "", opacity: "" }), e.pos === a.currPos && a.complete(); 10018 }, 10019 !0 10020 )) 10021 : (e.$content.removeClass("fancybox-is-hidden"), h || !d || "image" !== e.type || e.hasError || e.$content.hide().fadeIn("fast"), void (e.pos === a.currPos && a.complete()))) 10022 ); 10023 }, 10024 getThumbPos: function (e) { 10025 var i, 10026 s, 10027 o, 10028 a, 10029 r, 10030 c, 10031 l = e.$thumb; 10032 return ( 10033 !( 10034 !l || 10035 !(function (e) { 10036 var i, s; 10037 return ( 10038 !(!e || e.ownerDocument !== t) && 10039 (n(".fancybox-container").css("pointer-events", "none"), 10040 (i = { x: e.getBoundingClientRect().left + e.offsetWidth / 2, y: e.getBoundingClientRect().top + e.offsetHeight / 2 }), 10041 (s = t.elementFromPoint(i.x, i.y) === e), 10042 n(".fancybox-container").css("pointer-events", ""), 10043 s) 10044 ); 10045 })(l[0]) 10046 ) && 10047 ((s = n.fancybox.getTranslate(l)), 10048 (o = parseFloat(l.css("border-top-width") || 0)), 10049 (a = parseFloat(l.css("border-right-width") || 0)), 10050 (r = parseFloat(l.css("border-bottom-width") || 0)), 10051 (c = parseFloat(l.css("border-left-width") || 0)), 10052 (i = { top: s.top + o, left: s.left + c, width: s.width - a - c, height: s.height - o - r, scaleX: 1, scaleY: 1 }), 10053 s.width > 0 && s.height > 0 && i) 10054 ); 10055 }, 10056 complete: function () { 10057 var e, 10058 t = this, 10059 i = t.current, 10060 s = {}; 10061 !t.isMoved() && 10062 i.isLoaded && 10063 (i.isComplete || 10064 ((i.isComplete = !0), 10065 i.$slide.siblings().trigger("onReset"), 10066 t.preload("inline"), 10067 p(i.$slide), 10068 i.$slide.addClass("fancybox-slide--complete"), 10069 n.each(t.slides, function (e, i) { 10070 i.pos >= t.currPos - 1 && i.pos <= t.currPos + 1 ? (s[i.pos] = i) : i && (n.fancybox.stop(i.$slide), i.$slide.off().remove()); 10071 }), 10072 (t.slides = s)), 10073 (t.isAnimating = !1),
10074 t.updateCursor(), 10075 t.trigger("afterShow"), 10076 i.opts.video.autoStart && 10077 i.$slide 10078 .find("video,audio") 10079 .filter(":visible:first") 10080 .trigger("play") 10081 .one("ended", function () { 10082 Document.exitFullscreen ? Document.exitFullscreen() : this.webkitExitFullscreen && this.webkitExitFullscreen(), t.next(); 10083 }), 10084 i.opts.autoFocus && "html" === i.contentType && ((e = i.$content.find("input[autofocus]:enabled:visible:first")).length ? e.trigger("focus") : t.focus(null, !0)), 10085 i.$slide.scrollTop(0).scrollLeft(0)); 10086 }, 10087 preload: function (e) { 10088 var t, n; 10089 this.group.length < 2 || ((n = this.slides[this.currPos + 1]), (t = this.slides[this.currPos - 1]) && t.type === e && this.loadSlide(t), n && n.type === e && this.loadSlide(n)); 10090 }, 10091 focus: function (e, i) { 10092 var s, 10093 o, 10094 a = [ 10095 "a[href]", 10096 "area[href]", 10097 'input:not([disabled]):not([type="hidden"]):not([aria-hidden])', 10098 "select:not([disabled]):not([aria-hidden])", 10099 "textarea:not([disabled]):not([aria-hidden])", 10100 "button:not([disabled]):not([aria-hidden])", 10101 "iframe", 10102 "object", 10103 "embed", 10104 "video", 10105 "audio", 10106 "[contenteditable]", 10107 '[tabindex]:not([tabindex^="-"])', 10108 ].join(","); 10109 this.isClosing || 10110 ((s = (s = !e && this.current && this.current.isComplete ? this.current.$slide.find("*:visible" + (i ? ":not(.fancybox-close-small)" : "")) : this.$refs.container.find("*:visible")) 10111 .filter(a) 10112 .filter(function () { 10113 return "hidden" !== n(this).css("visibility") && !n(this).hasClass("disabled"); 10114 })).length 10115 ? ((o = s.index(t.activeElement)), 10116 e && e.shiftKey ? (o < 0 || 0 == o) && (e.preventDefault(), s.eq(s.length - 1).trigger("focus")) : (o < 0 || o == s.length - 1) && (e && e.preventDefault(), s.eq(0).trigger("focus"))) 10117 : this.$refs.container.trigger("focus")); 10118 }, 10119 activate: function () { 10120 var e = this; 10121 n(".fancybox-container").each(function () { 10122 var t = n(this).data("FancyBox"); 10123 t && t.id !== e.id && !t.isClosing && (t.trigger("onDeactivate"), t.removeEvents(), (t.isVisible = !1)); 10124 }), 10125 (e.isVisible = !0), 10126 (e.current || e.isIdle) && (e.update(), e.updateControls()), 10127 e.trigger("onActivate"), 10128 e.addEvents(); 10129 }, 10130 close: function (e, t) { 10131 var i, 10132 s, 10133 o, 10134 a, 10135 r, 10136 c, 10137 l, 10138 h = this, 10139 u = h.current, 10140 f = function () { 10141 h.cleanUp(e); 10142 }; 10143 return ( 10144 !h.isClosing && 10145 ((h.isClosing = !0), 10146 !1 === h.trigger("beforeClose", e) 10147 ? ((h.isClosing = !1), 10148 d(function () { 10149 h.update(); 10150 }), 10151 !1) 10152 : (h.removeEvents(), 10153 (o = u.$content), 10154 (i = u.opts.animationEffect), 10155 (s = n.isNumeric(t) ? t : i ? u.opts.animationDuration : 0), 10156 u.$slide.removeClass("fancybox-slide--complete fancybox-slide--next fancybox-slide--previous fancybox-animated"), 10157 !0 !== e ? n.fancybox.stop(u.$slide) : (i = !1), 10158 u.$slide.siblings().trigger("onReset").remove(), 10159 s && 10160 h.$refs.container 10161 .removeClass("fancybox-is-open") 10162 .addClass("fancybox-is-closing") 10163 .css("transition-duration", s + "ms"), 10164 h.hideLoading(u), 10165 h.hideControls(!0),
10166 h.updateCursor(), 10167 "zoom" !== i || (o && s && "image" === u.type && !h.isMoved() && !u.hasError && (l = h.getThumbPos(u))) || (i = "fade"), 10168 "zoom" === i 10169 ? (n.fancybox.stop(o), 10170 (c = { top: (a = n.fancybox.getTranslate(o)).top, left: a.left, scaleX: a.width / l.width, scaleY: a.height / l.height, width: l.width, height: l.height }), 10171 "auto" == (r = u.opts.zoomOpacity) && (r = Math.abs(u.width / u.height - l.width / l.height) > 0.1), 10172 r && (l.opacity = 0), 10173 n.fancybox.setTranslate(o, c), 10174 p(o), 10175 n.fancybox.animate(o, l, s, f), 10176 !0) 10177 : (i && s 10178 ? n.fancybox.animate(u.$slide.addClass("fancybox-slide--previous").removeClass("fancybox-slide--current"), "fancybox-animated fancybox-fx-" + i, s, f) 10179 : !0 === e 10180 ? setTimeout(f, s) 10181 : f(), 10182 !0))) 10183 ); 10184 }, 10185 cleanUp: function (t) { 10186 var i, 10187 s, 10188 o, 10189 a = this.current.opts.$orig; 10190 this.current.$slide.trigger("onReset"), 10191 this.$refs.container.empty().remove(), 10192 this.trigger("afterClose", t), 10193 this.current.opts.backFocus && 10194 ((a && a.length && a.is(":visible")) || (a = this.$trigger), a && a.length && ((s = e.scrollX), (o = e.scrollY), a.trigger("focus"), n("html, body").scrollTop(o).scrollLeft(s))), 10195 (this.current = null), 10196 (i = n.fancybox.getInstance()) ? i.activate() : (n("body").removeClass("fancybox-active compensate-for-scrollbar"), n("#fancybox-style-noscroll").remove()); 10197 }, 10198 trigger: function (e, t) { 10199 var i, 10200 s = Array.prototype.slice.call(arguments, 1), 10201 o = this, 10202 a = t && t.opts ? t : o.current; 10203 if ((a ? s.unshift(a) : (a = o), s.unshift(o), n.isFunction(a.opts[e]) && (i = a.opts[e].apply(a, s)), !1 === i)) return i; 10204 "afterClose" !== e && o.$refs ? o.$refs.container.trigger(e + ".fb", s) : c.trigger(e + ".fb", s); 10205 }, 10206 updateControls: function () { 10207 var e = this.current, 10208 i = e.index, 10209 s = this.$refs.container, 10210 o = this.$refs.caption, 10211 a = e.opts.caption; 10212 e.$slide.trigger("refresh"), 10213 a && a.length ? ((this.$caption = o), o.children().eq(0).html(a)) : (this.$caption = null), 10214 this.hasHiddenControls || this.isIdle || this.showControls(), 10215 s.find("[data-fancybox-count]").html(this.group.length), 10216 s.find("[data-fancybox-index]").html(i + 1), 10217 s.find("[data-fancybox-prev]").prop("disabled", !e.opts.loop && i <= 0), 10218 s.find("[data-fancybox-next]").prop("disabled", !e.opts.loop && i >= this.group.length - 1), 10219 "image" === e.type 10220 ? s 10221 .find("[data-fancybox-zoom]") 10222 .show() 10223 .end() 10224 .find("[data-fancybox-download]") 10225 .attr("href", e.opts.image.src || e.src) 10226 .show() 10227 : e.opts.toolbar && s.find("[data-fancybox-download],[data-fancybox-zoom]").hide(), 10228 n(t.activeElement).is(":hidden,[disabled]") && this.$refs.container.trigger("focus"); 10229 }, 10230 hideControls: function (e) { 10231 var t = ["infobar", "toolbar", "nav"]; 10232 (!e && this.current.opts.preventCaptionOverlap) || t.push("caption"), 10233 this.$refs.container.removeClass( 10234 t 10235 .map(function (e) { 10236 return "fancybox-show-" + e; 10237 }) 10238 .join(" ") 10239 ),
10240 (this.hasHiddenControls = !0); 10241 }, 10242 showControls: function () { 10243 var e = this.current ? this.current.opts : this.opts, 10244 t = this.$refs.container; 10245 (this.hasHiddenControls = !1), 10246 (this.idleSecondsCounter = 0), 10247 t 10248 .toggleClass("fancybox-show-toolbar", !(!e.toolbar || !e.buttons)) 10249 .toggleClass("fancybox-show-infobar", !!(e.infobar && this.group.length > 1)) 10250 .toggleClass("fancybox-show-caption", !!this.$caption) 10251 .toggleClass("fancybox-show-nav", !!(e.arrows && this.group.length > 1)) 10252 .toggleClass("fancybox-is-modal", !!e.modal); 10253 }, 10254 toggleControls: function () { 10255 this.hasHiddenControls ? this.showControls() : this.hideControls(); 10256 }, 10257 }), 10258 (n.fancybox = { 10259 version: "3.5.7", 10260 defaults: a, 10261 getInstance: function (e) { 10262 var t = n('.fancybox-container:not(".fancybox-is-closing"):last').data("FancyBox"), 10263 i = Array.prototype.slice.call(arguments, 1); 10264 return t instanceof m && ("string" === n.type(e) ? t[e].apply(t, i) : "function" === n.type(e) && e.apply(t, i), t); 10265 }, 10266 open: function (e, t, n) { 10267 return new m(e, t, n); 10268 }, 10269 close: function (e) { 10270 var t = this.getInstance(); 10271 t && (t.close(), !0 === e && this.close(e)); 10272 }, 10273 destroy: function () { 10274 this.close(!0), c.add("body").off("click.fb-start", "**"); 10275 }, 10276 isMobile: /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent), 10277 use3d: ((s = t.createElement("div")), e.getComputedStyle && e.getComputedStyle(s) && e.getComputedStyle(s).getPropertyValue("transform") && !(t.documentMode && t.documentMode < 11)), 10278 getTranslate: function (e) { 10279 var t; 10280 return !(!e || !e.length) && { top: (t = e[0].getBoundingClientRect()).top || 0, left: t.left || 0, width: t.width, height: t.height, opacity: parseFloat(e.css("opacity")) }; 10281 }, 10282 setTranslate: function (e, t) { 10283 var n = "", 10284 i = {}; 10285 if (e && t) 10286 return ( 10287 (void 0 === t.left && void 0 === t.top) || 10288 ((n = (void 0 === t.left ? e.position().left : t.left) + "px, " + (void 0 === t.top ? e.position().top : t.top) + "px"), 10289 (n = this.use3d ? "translate3d(" + n + ", 0px)" : "translate(" + n + ")")), 10290 void 0 !== t.scaleX && void 0 !== t.scaleY ? (n += " scale(" + t.scaleX + ", " + t.scaleY + ")") : void 0 !== t.scaleX && (n += " scaleX(" + t.scaleX + ")"), 10291 n.length && (i.transform = n), 10292 void 0 !== t.opacity && (i.opacity = t.opacity), 10293 void 0 !== t.width && (i.width = t.width), 10294 void 0 !== t.height && (i.height = t.height), 10295 e.css(i) 10296 ); 10297 }, 10298 animate: function (e, t, i, s, o) { 10299 var a, 10300 r = this; 10301 n.isFunction(i) && ((s = i), (i = null)), 10302 r.stop(e), 10303 (a = r.getTranslate(e)), 10304 e.on(u, function (c) { 10305 (!c || !c.originalEvent || (e.is(c.originalEvent.target) && "z-index" != c.originalEvent.propertyName)) && 10306 (r.stop(e), 10307 n.isNumeric(i) && e.css("transition-duration", ""), 10308 n.isPlainObject(t) 10309 ? void 0 !== t.scaleX && void 0 !== t.scaleY && r.setTranslate(e, { top: t.top, left: t.left, width: a.width * t.scaleX, height: a.height * t.scaleY, scaleX: 1, scaleY: 1 }) 10310 : !0 !== o && e.removeClass(t), 10311 n.isFunction(s) && s(c)); 10312 }), 10313 n.isNumeric(i) && e.css("transition-duration", i + "ms"), 10314 n.isPlainObject(t) 10315 ? (void 0 !== t.scaleX && void 0 !== t.scaleY && (delete t.width, delete t.height, e.parent().hasClass("fancybox-slide--image") && e.parent().addClass("fancybox-is-scaling")), 10316 n.fancybox.setTranslate(e, t)) 10317 : e.addClass(t), 10318 e.data( 10319 "timer", 10320 setTimeout(function () { 10321 e.trigger(u); 10322 }, i + 33) 10323 ); 10324 }, 10325 stop: function (e, t) { 10326 e && e.length && (clearTimeout(e.data("timer")), t && e.trigger(u), e.off(u).css("transition-duration", ""), e.parent().removeClass("fancybox-is-scaling")); 10327 }, 10328 }), 10329 (n.fn.fancybox = function (e) { 10330 var t; 10331 return ( 10332 (t = (e = e || {}
10332).selector || !1) ? n("body").off("click.fb-start", t).on("click.fb-start", t, { options: e }, g) : this.off("click.fb-start").on("click.fb-start", { items: this, options: e }, g), this 10333 ); 10334 }), 10335 c.on("click.fb-start", "[data-fancybox]", g), 10336 c.on("click.fb-start", "[data-fancybox-trigger]", function (e) { 10337 n('[data-fancybox="' + n(this).attr("data-fancybox-trigger") + '"]') 10338 .eq(n(this).attr("data-fancybox-index") || 0) 10339 .trigger("click.fb-start", { $trigger: n(this) }); 10340 }), 10341 (o = null), 10342 c.on("mousedown mouseup focus blur", ".fancybox-button", function (e) { 10343 switch (e.type) { 10344 case "mousedown": 10345 o = n(this); 10346 break; 10347 case "mouseup": 10348 o = null; 10349 break; 10350 case "focusin": 10351 n(".fancybox-button").removeClass("fancybox-focus"), n(this).is(o) || n(this).is("[disabled]") || n(this).addClass("fancybox-focus"); 10352 break; 10353 case "focusout": 10354 n(".fancybox-button").removeClass("fancybox-focus"); 10355 } 10356 }); 10357 } 10358 function g(e, t) { 10359 var i, 10360 s, 10361 o, 10362 a = [], 10363 r = 0; 10364 (e && e.isDefaultPrevented()) || 10365 (e.preventDefault(), 10366 (t = t || {}), 10367 e && e.data && (t = f(e.data.options, t)), 10368 (i = t.$target || n(e.currentTarget).trigger("blur")), 10369 ((o = n.fancybox.getInstance()) && o.$trigger && o.$trigger.is(i)) || 10370 ((a = t.selector ? n(t.selector) : (s = i.attr("data-fancybox") || "") ? ((a = e.data ? e.data.items : []).length ? a.filter('[data-fancybox="' + s + '"]') : n('[data-fancybox="' + s + '"]')) : [i]), 10371 (r = n(a).index(i)) < 0 && (r = 0), 10372 ((o = n.fancybox.open(a, t, r)).$trigger = i))); 10373 } 10374 })(window, document, jQuery), 10375 (function (e) { 10376 "use strict"; 10377 var t = { 10378 youtube: { 10379 matcher: /(youtube\.com|youtu\.be|youtube\-nocookie\.com)\/(watch\?(.*&)?v=|v\/|u\/|embed\/?)?(videoseries\?list=(.*)|[\w-]{11}|\?listType=(.*)&list=(.*))(.*)/i, 10380 params: { autoplay: 1, autohide: 1, fs: 1, rel: 0, hd: 1, wmode: "transparent", enablejsapi: 1, html5: 1 }, 10381 paramPlace: 8, 10382 type: "iframe", 10383 url: "https://www.youtube-nocookie.com/embed/$4", 10384 thumb: "https://img.youtube.com/vi/$4/hqdefault.jpg", 10385 }, 10386 vimeo: { 10387 matcher: /^.+vimeo.com\/(.*\/)?([\d]+)(.*)?/, 10388 params: { autoplay: 1, hd: 1, show_title: 1, show_byline: 1, show_portrait: 0, fullscreen: 1 }, 10389 paramPlace: 3, 10390 type: "iframe", 10391 url: "//player.vimeo.com/video/$2", 10392 }, 10393 instagram: { matcher: /(instagr\.am|instagram\.com)\/p\/([a-zA-Z0-9_\-]+)\/?/i, type: "image", url: "//$1/p/$2/media/?size=l" }, 10394 gmap_place: { 10395 matcher: /(maps\.)?google\.([a-z]{2,3}(\.[a-z]{2})?)\/(((maps\/(place\/(.*)\/)?\@(.*),(\d+.?\d+?)z))|(\?ll=))(.*)?/i, 10396 type: "iframe", 10397 url: function (e) { 10398 return ( 10399 "//maps.google." + 10400 e[2] + 10401 "/?ll=" + 10402 (e[9] ? e[9] + "&z=" + Math.floor(e[10]) + (e[12] ? e[12].replace(/^\//, "&") : "") : e[12] + "").replace(/\?/, "&") + 10403 "&output=" + 10404 (e[12] && e[12].indexOf("layer=c") > 0 ? "svembed" : "embed") 10405 ); 10406 }, 10407 }, 10408 gmap_search: { 10409 matcher: /(maps\.)?google\.([a-z]{2,3}(\.[a-z]{2})?)\/(maps\/search\/)(.*)/i, 10410 type: "iframe", 10411 url: function (e) { 10412 return "//maps.google." + e[2] + "/maps?q=" + e[5].replace("query=", "q=").replace("api=1", "") + "&output=embed"; 10413 }, 10414 }, 10415 }, 10416 n = function (t, n, i) { 10417 if (t) 10418 return ( 10419 (i = i || ""), 10420 "object" === e.type(i) && (i = e.param(i, !0)), 10421 e.each(n, function (e, n) { 10422 t = t.replace("$" + e, n || ""); 10423 }), 10424 i.length && (t += (t.indexOf("?") > 0 ? "&" : "?") + i), 10425 t 10426 ); 10427 }; 10428 e(document).on("objectNeedsType.fb", function (i, s, o) { 10429 var a, 10430 r, 10431 c, 10432 l, 10433 d, 10434 h, 10435 u, 10436 p = o.src || "", 10437 f = !1; 10438 (a = e.extend(!0, {}, t, o.opts.media)), 10439 e.each(a, function (t, i) { 10440 if ((c = p.match(i.matcher))) { 10441 if (((f = i.type), (u = t), (h = {}), i.paramPlace && c[i.paramPlace])) { 10442 "?" == (d = c[i.paramPlace])[0] && (d = d.substring(1)), (d = d.split("&")); 10443 for (var s = 0; s < d.length; ++s) { 10444 var a = d[s].split("=", 2); 10445 2 == a.length && (h[a[0]] = decodeURIComponent(a[1].replace(/\+/g, " "))); 10446 } 10447 } 10448 return ( 10449 (l = e.extend(!0, {}, i.params, o.opts[t], h)), 10450 (p = "function" === e.type(i.url) ? i.url.call(this, c, l, o) : n(i.url, c, l)), 10451 (r = "function" === e.type(i.thumb) ? i.thumb.call(this, c, l, o) : n(i.thumb, c)), 10452 "youtube" === t 10453 ? (p = p.replace(/&t=((\d+)m)?(\d+)s/, function (e, t, n, i) { 10454 return "&start=" + ((n ? 60 * parseInt(n, 10) : 0) + parseInt(i, 10)); 10455 })) 10456 : "vimeo" === t && (p = p.replace("&%23", "#")), 10457 !1 10458 ); 10459 } 10460 }), 10461 f 10462 ? (o.opts.thumb || (o.opts.$thumb && o.opts.$thumb.length) || (o.opts.thumb = r), 10463 "iframe" === f && (o.opts = e.extend(!0, o.opts, { iframe: { preload: !1, attr: { scrolling: "no" } } })), 10464 e.extend(o, { type: f, src: p, origSrc: o.src, contentSource: u, contentType: "image" === f ? "image" : "gmap_place" == u || "gmap_search" == u ? "map" : "video" })) 10465 : p && (o.type = o.opts.defaultType); 10466 }); 10467 var i = { 10468 youtube: { src: "https://www.youtube.com/iframe_api", class: "YT", loading: !1, loaded: !1 }, 10469 vimeo: { src: "https://player.vimeo.com/api/player.js", class: "Vimeo", loading: !1, loaded: !1 }, 10470 load: function (e) { 10471 var t, 10472 n = this; 10473 this[e].loaded 10474 ? setTimeout(function () { 10475 n.done(e); 10476 }) 10477 : this[e].loading || 10478 ((this[e].loading = !0), 10479 ((t = document.createElement("script")).type = "text/javascript"),
10480 (t.src = this[e].src), 10481 "youtube" === e 10482 ? (window.onYouTubeIframeAPIReady = function () { 10483 (n[e].loaded = !0), n.done(e); 10484 }) 10485 : (t.onload = function () { 10486 (n[e].loaded = !0), n.done(e); 10487 }), 10488 document.body.appendChild(t)); 10489 }, 10490 done: function (t) { 10491 var n, i; 10492 "youtube" === t && delete window.onYouTubeIframeAPIReady, 10493 (n = e.fancybox.getInstance()) && 10494 ((i = n.current.$content.find("iframe")), 10495 "youtube" === t && void 0 !== YT && YT 10496 ? new YT.Player(i.attr("id"), { 10497 events: { 10498 onStateChange: function (e) { 10499 0 == e.data && n.next(); 10500 }, 10501 }, 10502 }) 10503 : "vimeo" === t && 10504 void 0 !== Vimeo && 10505 Vimeo && 10506 new Vimeo.Player(i).on("ended", function () { 10507 n.next(); 10508 })); 10509 }, 10510 }; 10511 e(document).on({ 10512 "afterShow.fb": function (e, t, n) { 10513 t.group.length > 1 && ("youtube" === n.contentSource || "vimeo" === n.contentSource) && i.load(n.contentSource); 10514 }, 10515 }); 10516 })(jQuery), 10517 (function (e, t, n) { 10518 "use strict"; 10519 var i = 10520 e.requestAnimationFrame || 10521 e.webkitRequestAnimationFrame || 10522 e.mozRequestAnimationFrame || 10523 e.oRequestAnimationFrame || 10524 function (t) { 10525 return e.setTimeout(t, 1e3 / 60); 10526 }, 10527 s = 10528 e.cancelAnimationFrame || 10529 e.webkitCancelAnimationFrame || 10530 e.mozCancelAnimationFrame || 10531 e.oCancelAnimationFrame || 10532 function (t) { 10533 e.clearTimeout(t); 10534 }, 10535 o = function (t) { 10536 var n = []; 10537 for (var i in (t = (t = t.originalEvent || t || e.e).touches && t.touches.length ? t.touches : t.changedTouches && t.changedTouches.length ? t.changedTouches : [t])) 10538 t[i].pageX ? n.push({ x: t[i].pageX, y: t[i].pageY }) : t[i].clientX && n.push({ x: t[i].clientX, y: t[i].clientY }); 10539 return n; 10540 }, 10541 a = function (e, t, n) { 10542 return t && e ? ("x" === n ? e.x - t.x : "y" === n ? e.y - t.y : Math.sqrt(Math.pow(e.x - t.x, 2) + Math.pow(e.y - t.y, 2))) : 0; 10543 }, 10544 r = function (e) { 10545 if (e.is('a,area,button,[role="button"],input,label,select,summary,textarea,video,audio,iframe') || n.isFunction(e.get(0).onclick) || e.data("selectable")) return !0; 10546 for (var t = 0, i = e[0].attributes, s = i.length; t < s; t++) if ("data-fancybox-" === i[t].nodeName.substr(0, 14)) return !0; 10547 return !1; 10548 }, 10549 c = function (t) { 10550 for ( 10551 var n, i, s, o, a, r = !1; 10552 (n = t.get(0)), 10553 (i = void 0), 10554 (s = void 0), 10555 (o = void 0), 10556 (a = void 0), 10557 (i = e.getComputedStyle(n)["overflow-y"]), 10558 (s = e.getComputedStyle(n)["overflow-x"]), 10559 (o = ("scroll" === i || "auto" === i) && n.scrollHeight > n.clientHeight), 10560 (a = ("scroll" === s || "auto" === s) && n.scrollWidth > n.clientWidth), 10561 !(r = o || a) && (t = t.parent()).length && !t.hasClass("fancybox-stage") && !t.is("body"); 10562 10563 ); 10564 return r; 10565 }, 10566 l = function (e) { 10567 (this.instance = e), 10568 (this.$bg = e.$refs.bg), 10569 (this.$stage = e.$refs.stage), 10570 (this.$container = e.$refs.container), 10571 this.destroy(), 10572 this.$container.on("touchstart.fb.touch mousedown.fb.touch", n.proxy(this, "ontouchstart")); 10573 }; 10574 (l.prototype.destroy = function () { 10575 this.$container.off(".fb.touch"), n(t).off(".fb.touch"), this.requestId && (s(this.requestId), (this.requestId = null)), this.tapped && (clearTimeout(this.tapped), (this.tapped = null)); 10576 }), 10577 (l.prototype.ontouchstart = function (i) { 10578 var s = n(i.target), 10579 l = this.instance, 10580 d = l.current, 10581 h = d.$slide, 10582 u = d.$content, 10583 p = "touchstart" == i.type; 10584 if ( 10585 (p && this.$container.off("mousedown.fb.touch"), 10586 (!i.originalEvent || 2 != i.originalEvent.button) && h.length && s.length && !r(s) && !r(s.parent()) && (s.is("img") || !(i.originalEvent.clientX > s[0].clientWidth + s.offset().left))) 10587 ) { 10588 if (!d || l.isAnimating || d.$slide.hasClass("fancybox-animated")) return i.stopPropagation(), void i.preventDefault(); 10589 (this.realPoints = this.startPoints = o(i)), 10590 this.startPoints.length && 10591 (d.touch && i.stopPropagation(), 10592 (this.startEvent = i), 10593 (this.canTap = !0), 10594 (this.$target = s), 10595 (this.$content = u), 10596 (this.opts = d.opts.touch), 10597 (this.isPanning = !1), 10598 (this.isSwiping = !1), 10599 (this.isZooming = !1), 10600 (this.isScrolling = !1), 10601 (this.canPan = l.canPan()), 10602 (this.startTime = new Date().getTime()), 10603 (this.distanceX = this.distanceY = this.distance = 0), 10604 (this.canvasWidth = Math.round(h[0].clientWidth)), 10605 (this.canvasHeight = Math.round(h[0].clientHeight)), 10606 (this.contentLastPos = null),
10607 (this.contentStartPos = n.fancybox.getTranslate(this.$content) || { top: 0, left: 0 }), 10608 (this.sliderStartPos = n.fancybox.getTranslate(h)), 10609 (this.stagePos = n.fancybox.getTranslate(l.$refs.stage)), 10610 (this.sliderStartPos.top -= this.stagePos.top), 10611 (this.sliderStartPos.left -= this.stagePos.left), 10612 (this.contentStartPos.top -= this.stagePos.top), 10613 (this.contentStartPos.left -= this.stagePos.left), 10614 n(t) 10615 .off(".fb.touch") 10616 .on(p ? "touchend.fb.touch touchcancel.fb.touch" : "mouseup.fb.touch mouseleave.fb.touch", n.proxy(this, "ontouchend")) 10617 .on(p ? "touchmove.fb.touch" : "mousemove.fb.touch", n.proxy(this, "ontouchmove")), 10618 n.fancybox.isMobile && t.addEventListener("scroll", this.onscroll, !0), 10619 (((this.opts || this.canPan) && (s.is(this.$stage) || this.$stage.find(s).length)) || (s.is(".fancybox-image") && i.preventDefault(), n.fancybox.isMobile && s.parents(".fancybox-caption").length)) && 10620 ((this.isScrollable = c(s) || c(s.parent())), 10621 (n.fancybox.isMobile && this.isScrollable) || i.preventDefault(), 10622 (1 === this.startPoints.length || d.hasError) && (this.canPan ? (n.fancybox.stop(this.$content), (this.isPanning = !0)) : (this.isSwiping = !0), this.$container.addClass("fancybox-is-grabbing")), 10623 2 === this.startPoints.length && 10624 "image" === d.type && 10625 (d.isLoaded || d.$ghost) && 10626 ((this.canTap = !1), 10627 (this.isSwiping = !1), 10628 (this.isPanning = !1), 10629 (this.isZooming = !0), 10630 n.fancybox.stop(this.$content), 10631 (this.centerPointStartX = 0.5 * (this.startPoints[0].x + this.startPoints[1].x) - n(e).scrollLeft()), 10632 (this.centerPointStartY = 0.5 * (this.startPoints[0].y + this.startPoints[1].y) - n(e).scrollTop()), 10633 (this.percentageOfImageAtPinchPointX = (this.centerPointStartX - this.contentStartPos.left) / this.contentStartPos.width), 10634 (this.percentageOfImageAtPinchPointY = (this.centerPointStartY - this.contentStartPos.top) / this.contentStartPos.height), 10635 (this.startDistanceBetweenFingers = a(this.startPoints[0], this.startPoints[1]))))); 10636 } 10637 }), 10638 (l.prototype.onscroll = function (e) { 10639 (this.isScrolling = !0), t.removeEventListener("scroll", this.onscroll, !0); 10640 }), 10641 (l.prototype.ontouchmove = function (e) { 10642 void 0 === e.originalEvent.buttons || 0 !== e.originalEvent.buttons 10643 ? this.isScrolling 10644 ? (this.canTap = !1) 10645 : ((this.newPoints = o(e)), 10646 (this.opts || this.canPan) && 10647 this.newPoints.length && 10648 this.newPoints.length && 10649 ((this.isSwiping && !0 === this.isSwiping) || e.preventDefault(), 10650 (this.distanceX = a(this.newPoints[0], this.startPoints[0], "x")), 10651 (this.distanceY = a(this.newPoints[0], this.startPoints[0], "y")), 10652 (this.distance = a(this.newPoints[0], this.startPoints[0])), 10653 this.distance > 0 && (this.isSwiping ? this.onSwipe(e) : this.isPanning ? this.onPan() : this.isZooming && this.onZoom()))) 10654 : this.ontouchend(e); 10655 }), 10656 (l.prototype.onSwipe = function (t) { 10657 var o, 10658 a = this, 10659 r = a.instance, 10660 c = a.isSwiping, 10661 l = a.sliderStartPos.left || 0; 10662 if (!0 !== c) 10663 "x" == c && 10664 (a.distanceX > 0 && (a.instance.group.length < 2 || (0 === a.instance.current.index && !a.instance.current.opts.loop)) 10665 ? (l += Math.pow(a.distanceX, 0.8)) 10666 : a.distanceX < 0 && (a.instance.group.length < 2 || (a.instance.current.index === a.instance.group.length - 1 && !a.instance.current.opts.loop)) 10667 ? (l -= Math.pow(-a.distanceX, 0.8)) 10668 : (l += a.distanceX)), 10669 (a.sliderLastPos = { top: "x" == c ? 0 : a.sliderStartPos.top + a.distanceY, left: l }), 10670 a.requestId && (s(a.requestId), (a.requestId = null)), 10671 (a.requestId = i(function () { 10672 a.sliderLastPos && 10673 (n.each(a.instance.slides, function (e, t) { 10674 var i = t.pos - a.instance.currPos; 10675 n.fancybox.setTranslate(t.$slide, { top: a.sliderLastPos.top, left: a.sliderLastPos.left + i * a.canvasWidth + i * t.opts.gutter }); 10676 }), 10677 a.$container.addClass("fancybox-is-sliding")); 10678 })); 10679 else if (Math.abs(a.distance) > 10) { 10680 if ( 10681 ((a.canTap = !1), 10682 r.group.length < 2 && a.opts.vertical 10683 ? (a.isSwiping = "y") 10684 : r.isDragging || !1 === a.opts.vertical || ("auto" === a.opts.vertical && n(e).width() > 800) 10685 ? (a.isSwiping = "x") 10686 : ((o = Math.abs((180 * Math.atan2(a.distanceY, a.distanceX)) / Math.PI)), (a.isSwiping = o > 45 && o < 135 ? "y" : "x")), 10687 "y" === a.isSwiping && n.fancybox.isMobile && a.isScrollable) 10688 ) 10689 return void (a.isScrolling = !0); 10690 (r.isDragging = a.isSwiping), 10691 (a.startPoints = a.newPoints), 10692 n.each(r.slides, function (e, t) { 10693 var i, s; 10694 n.fancybox.stop(t.$slide), 10695 (i = n.fancybox.getTranslate(t.$slide)), 10696 (s = n.fancybox.getTranslate(r.$refs.stage)), 10697 t.$slide 10698 .css({ transform: "", opacity: "", "transition-duration": "" }) 10699 .removeClass("fancybox-animated") 10700 .removeClass(function (e, t) { 10701 return (t.match(/(^|\s)fancybox-fx-\S+/g) || []).join(" "); 10702 }), 10703 t.pos === r.current.pos && ((a.sliderStartPos.top = i.top - s.top), (a.sliderStartPos.left = i.left - s.left)), 10704 n.fancybox.setTranslate(t.$slide, { top: i.top - s.top, left: i.left - s.left }); 10705 }), 10706 r.SlideShow && r.SlideShow.isActive && r.SlideShow.stop(); 10707 } 10708 }), 10709 (l.prototype.onPan = function () { 10710 var e = this; 10711 a(e.newPoints[0], e.realPoints[0]) < (n.fancybox.isMobile ? 10 : 5) 10712 ? (e.startPoints = e.newPoints) 10713 : ((e.canTap = !1), 10714 (e.contentLastPos = e.limitMovement()), 10715 e.requestId && s(e.requestId), 10716 (e.requestId = i(function () { 10717 n.fancybox.setTranslate(e.$content, e.contentLastPos); 10718 }))); 10719 }), 10720 (l.prototype.limitMovement = function () { 10721 var e, 10722 t, 10723 n, 10724 i, 10725 s, 10726 o, 10727 a = this.canvasWidth, 10728 r = this.canvasHeight, 10729 c = this.distanceX, 10730 l = this.distanceY, 10731 d = this.contentStartPos, 10732 h = d.left, 10733 u = d.top, 10734 p = d.width, 10735 f = d.height; 10736 return ( 10737 (s = p > a ? h + c : h), 10738 (o = u + l), 10739 (e = Math.max(0, 0.5 * a - 0.5 * p)), 10740 (t = Math.max(0, 0.5 * r - 0.5 * f)), 10741 (n = Math.min(a - p, 0.5 * a - 0.5 * p)), 10742 (i = Math.min(r - f, 0.5 * r - 0.5 * f)), 10743 c > 0 && s > e && (s = e - 1 + Math.pow(-e + h + c, 0.8) || 0), 10744 c < 0 && s < n && (s = n + 1 - Math.pow(n - h - c, 0.8) || 0), 10745 l > 0 && o > t && (o = t - 1 + Math.pow(-t + u + l, 0.8) || 0), 10746 l < 0 && o < i && (o = i + 1 - Math.pow(i - u - l, 0.8) || 0), 10747 { top: o, left: s } 10748 ); 10749 }), 10750 (l.prototype.limitPosition = function (e, t, n, i) { 10751 var s = this.canvasWidth, 10752 o = this.canvasHeight; 10753 return (e = n > s ? ((e = e > 0 ? 0 : e) < s - n ? s - n : e) : Math.max(0, s / 2 - n / 2)), { top: (t = i > o ? ((t = t > 0 ? 0 : t) < o - i ? o - i : t) : Math.max(0, o / 2 - i / 2)), left: e }; 10754 }), 10755 (l.prototype.onZoom = function () { 10756 var t = this, 10757 o = t.contentStartPos, 10758 r = o.width, 10759 c = o.height, 10760 l = o.left, 10761 d = o.top, 10762 h = a(t.newPoints[0], t.newPoints[1]) / t.startDistanceBetweenFingers, 10763 u = Math.floor(r * h), 10764 p = Math.floor(c * h), 10765 f = (r - u) * t.percentageOfImageAtPinchPointX, 10766 m = (c - p) * t.percentageOfImageAtPinchPointY, 10767 g = (t.newPoints[0].x + t.newPoints[1].x) / 2 - n(e).scrollLeft(), 10768 v = (t.newPoints[0].y + t.newPoints[1].y) / 2 - n(e).scrollTop(), 10769 b = g - t.centerPointStartX, 10770 y = { top: d + (m + (v - t.centerPointStartY)), left: l + (f + b), scaleX: h, scaleY: h }; 10771 (t.canTap = !1), 10772 (t.newWidth = u), 10773 (t.newHeight = p), 10774 (t.contentLastPos = y), 10775 t.requestId && s(t.requestId), 10776 (t.requestId = i(function () { 10777 n.fancybox.setTranslate(t.$content, t.contentLastPos); 10778 })); 10779 }), 10780 (l.prototype.ontouchend = function (e) { 10781 var i = this.isSwiping, 10782 a = this.isPanning, 10783 r = this.isZooming, 10784 c = this.isScrolling; 10785 if ( 10786 ((this.endPoints = o(e)), 10787 (this.dMs = Math.max(new Date().getTime() - this.startTime, 1)), 10788 this.$container.removeClass("fancybox-is-grabbing"), 10789 n(t).off(".fb.touch"), 10790 t.removeEventListener("scroll", this.onscroll, !0), 10791 this.requestId && (s(this.requestId), (this.requestId = null)), 10792 (this.isSwiping = !1), 10793 (this.isPanning = !1), 10794 (this.isZooming = !1), 10795 (this.isScrolling = !1), 10796 (this.instance.isDragging = !1), 10797 this.canTap) 10798 ) 10799 return this.onTap(e); 10800 (this.speed = 100), (this.velocityX = (this.distanceX / this.dMs) * 0.5), (this.velocityY = (this.distanceY / this.dMs) * 0.5), a ? this.endPanning() : r ? this.endZooming() : this.endSwiping(i, c); 10801 }), 10802 (l.prototype.endSwiping = function (e, t) { 10803 var i = !1, 10804 s = this.instance.group.length, 10805 o = Math.abs(this.distanceX), 10806 a = "x" == e && s > 1 && ((this.dMs > 130 && o > 10) || o > 50); 10807 (this.sliderLastPos = null),
10808 "y" == e && !t && Math.abs(this.distanceY) > 50 10809 ? (n.fancybox.animate(this.instance.current.$slide, { top: this.sliderStartPos.top + this.distanceY + 150 * this.velocityY, opacity: 0 }, 200), (i = this.instance.close(!0, 250))) 10810 : a && this.distanceX > 0 10811 ? (i = this.instance.previous(300)) 10812 : a && this.distanceX < 0 && (i = this.instance.next(300)), 10813 !1 !== i || ("x" != e && "y" != e) || this.instance.centerSlide(200), 10814 this.$container.removeClass("fancybox-is-sliding"); 10815 }), 10816 (l.prototype.endPanning = function () { 10817 var e, t, i; 10818 this.contentLastPos && 10819 (!1 === this.opts.momentum || this.dMs > 350 10820 ? ((e = this.contentLastPos.left), (t = this.contentLastPos.top)) 10821 : ((e = this.contentLastPos.left + 500 * this.velocityX), (t = this.contentLastPos.top + 500 * this.velocityY)), 10822 ((i = this.limitPosition(e, t, this.contentStartPos.width, this.contentStartPos.height)).width = this.contentStartPos.width), 10823 (i.height = this.contentStartPos.height), 10824 n.fancybox.animate(this.$content, i, 366)); 10825 }), 10826 (l.prototype.endZooming = function () { 10827 var e, 10828 t, 10829 i, 10830 s, 10831 o = this.instance.current, 10832 a = this.newWidth, 10833 r = this.newHeight; 10834 this.contentLastPos && 10835 ((e = this.contentLastPos.left), 10836 (s = { top: (t = this.contentLastPos.top), left: e, width: a, height: r, scaleX: 1, scaleY: 1 }), 10837 n.fancybox.setTranslate(this.$content, s), 10838 a < this.canvasWidth && r < this.canvasHeight 10839 ? this.instance.scaleToFit(150) 10840 : a > o.width || r > o.height 10841 ? this.instance.scaleToActual(this.centerPointStartX, this.centerPointStartY, 150) 10842 : ((i = this.limitPosition(e, t, a, r)), n.fancybox.animate(this.$content, i, 150))); 10843 }), 10844 (l.prototype.onTap = function (t) { 10845 var i, 10846 s = this, 10847 a = n(t.target), 10848 r = s.instance, 10849 c = r.current, 10850 l = (t && o(t)) || s.startPoints, 10851 d = l[0] ? l[0].x - n(e).scrollLeft() - s.stagePos.left : 0, 10852 h = l[0] ? l[0].y - n(e).scrollTop() - s.stagePos.top : 0, 10853 u = function (e) { 10854 var i = c.opts[e]; 10855 if ((n.isFunction(i) && (i = i.apply(r, [c, t])), i)) 10856 switch (i) { 10857 case "close": 10858 r.close(s.startEvent); 10859 break; 10860 case "toggleControls": 10861 r.toggleControls(); 10862 break; 10863 case "next": 10864 r.next(); 10865 break; 10866 case "nextOrClose": 10867 r.group.length > 1 ? r.next() : r.close(s.startEvent); 10868 break; 10869 case "zoom": 10870 "image" == c.type && (c.isLoaded || c.$ghost) && (r.canPan() ? r.scaleToFit() : r.isScaledDown() ? r.scaleToActual(d, h) : r.group.length < 2 && r.close(s.startEvent)); 10871 } 10872 }; 10873 if ((!t.originalEvent || 2 != t.originalEvent.button) && (a.is("img") || !(d > a[0].clientWidth + a.offset().left))) { 10874 if (a.is(".fancybox-bg,.fancybox-inner,.fancybox-outer,.fancybox-container")) i = "Outside"; 10875 else if (a.is(".fancybox-slide")) i = "Slide"; 10876 else { 10877 if (!r.current.$content || !r.current.$content.find(a).addBack().filter(a).length) return; 10878 i = "Content"; 10879 } 10880 if (s.tapped) { 10881 if ((clearTimeout(s.tapped), (s.tapped = null), Math.abs(d - s.tapX) > 50 || Math.abs(h - s.tapY) > 50)) return this; 10882 u("dblclick" + i); 10883 } else 10884 (s.tapX = d), 10885 (s.tapY = h), 10886 c.opts["dblclick" + i] && c.opts["dblclick" + i] !== c.opts["click" + i] 10887 ? (s.tapped = setTimeout(function () { 10888 (s.tapped = null), r.isAnimating || u("click" + i); 10889 }, 500)) 10890 : u("click" + i); 10891 return this; 10892 } 10893 }), 10894 n(t) 10895 .on("onActivate.fb", function (e, t) { 10896 t && !t.Guestures && (t.Guestures = new l(t)); 10897 }) 10898 .on("beforeClose.fb", function (e, t) { 10899 t && t.Guestures && t.Guestures.destroy(); 10900 }); 10901 })(window, document, jQuery), 10902 (function (e, t) { 10903 "use strict"; 10904 t.extend(!0, t.fancybox.defaults, { 10905 btnTpl: { 10906 slideShow: 10907 '<button data-fancybox-play class="fancybox-button fancybox-button--play" title="{{PLAY_START}}"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
10907<path d="M6.5 5.4v13.2l11-6.6z"/></svg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M8.33 5.75h2.2v12.5h-2.2V5.75zm5.15 0h2.2v12.5h-2.2V5.75z"/></svg></button>', 10908 }, 10909 slideShow: { autoStart: !1, speed: 3e3, progress: !0 }, 10910 }); 10911 var n = function (e) { 10912 (this.instance = e), this.init(); 10913 }; 10914 t.extend(n.prototype, { 10915 timer: null, 10916 isActive: !1, 10917 $button: null, 10918 init: function () { 10919 var e = this, 10920 n = e.instance, 10921 i = n.group[n.currIndex].opts.slideShow; 10922 (e.$button = n.$refs.toolbar.find("[data-fancybox-play]").on("click", function () { 10923 e.toggle(); 10924 })), 10925 n.group.length < 2 || !i ? e.$button.hide() : i.progress && (e.$progress = t('<div class="fancybox-progress"></div>').appendTo(n.$refs.inner)); 10926 }, 10927 set: function (e) { 10928 var n = this.instance, 10929 i = n.current; 10930 i && (!0 === e || i.opts.loop || n.currIndex < n.group.length - 1) 10931 ? this.isActive && 10932 "video" !== i.contentType && 10933 (this.$progress && t.fancybox.animate(this.$progress.show(), { scaleX: 1 }, i.opts.slideShow.speed), 10934 (this.timer = setTimeout(function () { 10935 n.current.opts.loop || n.current.index != n.group.length - 1 ? n.next() : n.jumpTo(0); 10936 }, i.opts.slideShow.speed))) 10937 : (this.stop(), (n.idleSecondsCounter = 0), n.showControls()); 10938 }, 10939 clear: function () { 10940 clearTimeout(this.timer), (this.timer = null), this.$progress && this.$progress.removeAttr("style").hide(); 10941 }, 10942 start: function () { 10943 var e = this.instance.current; 10944 e && 10945 (this.$button 10946 .attr("title", (e.opts.i18n[e.opts.lang] || e.opts.i18n.en).PLAY_STOP) 10947 .removeClass("fancybox-button--play") 10948 .addClass("fancybox-button--pause"), 10949 (this.isActive = !0), 10950 e.isComplete && this.set(!0), 10951 this.instance.trigger("onSlideShowChange", !0)); 10952 }, 10953 stop: function () { 10954 var e = this.instance.current; 10955 this.clear(), 10956 this.$button 10957 .attr("title", (e.opts.i18n[e.opts.lang] || e.opts.i18n.en).PLAY_START) 10958 .removeClass("fancybox-button--pause") 10959 .addClass("fancybox-button--play"), 10960 (this.isActive = !1), 10961 this.instance.trigger("onSlideShowChange", !1), 10962 this.$progress && this.$progress.removeAttr("style").hide(); 10963 }, 10964 toggle: function () { 10965 this.isActive ? this.stop() : this.start(); 10966 }, 10967 }), 10968 t(e).on({ 10969 "onInit.fb": function (e, t) { 10970 t && !t.SlideShow && (t.SlideShow = new n(t)); 10971 }, 10972 "beforeShow.fb": function (e, t, n, i) { 10973 var s = t && t.SlideShow; 10974 i ? s && n.opts.slideShow.autoStart && s.start() : s && s.isActive && s.clear(); 10975 }, 10976 "afterShow.fb": function (e, t, n) { 10977 var i = t && t.SlideShow; 10978 i && i.isActive && i.set(); 10979 }, 10980 "afterKeydown.fb": function (n, i, s, o, a) { 10981 var r = i && i.SlideShow; 10982 !r || !s.opts.slideShow || (80 !== a && 32 !== a) || t(e.activeElement).is("button,a,input") || (o.preventDefault(), r.toggle(
10982)); 10983 }, 10984 "beforeClose.fb onDeactivate.fb": function (e, t) { 10985 var n = t && t.SlideShow; 10986 n && n.stop(); 10987 }, 10988 }), 10989 t(e).on("visibilitychange", function () { 10990 var n = t.fancybox.getInstance(), 10991 i = n && n.SlideShow; 10992 i && i.isActive && (e.hidden ? i.clear() : i.set()); 10993 }); 10994 })(document, jQuery), 10995 (function (e, t) { 10996 "use strict"; 10997 var n = (function () { 10998 for ( 10999 var t = [ 11000 ["requestFullscreen", "exitFullscreen", "fullscreenElement", "fullscreenEnabled", "fullscreenchange", "fullscreenerror"], 11001 ["webkitRequestFullscreen", "webkitExitFullscreen", "webkitFullscreenElement", "webkitFullscreenEnabled", "webkitfullscreenchange", "webkitfullscreenerror"], 11002 ["webkitRequestFullScreen", "webkitCancelFullScreen", "webkitCurrentFullScreenElement", "webkitCancelFullScreen", "webkitfullscreenchange", "webkitfullscreenerror"], 11003 ["mozRequestFullScreen", "mozCancelFullScreen", "mozFullScreenElement", "mozFullScreenEnabled", "mozfullscreenchange", "mozfullscreenerror"], 11004 ["msRequestFullscreen", "msExitFullscreen", "msFullscreenElement", "msFullscreenEnabled", "MSFullscreenChange", "MSFullscreenError"], 11005 ], 11006 n = {}, 11007 i = 0; 11008 i < t.length; 11009 i++ 11010 ) { 11011 var s = t[i]; 11012 if (s && s[1] in e) { 11013 for (var o = 0; o < s.length; o++) n[t[0][o]] = s[o]; 11014 return n; 11015 } 11016 } 11017 return !1; 11018 })(); 11019 if (n) { 11020 var i = { 11021 request: function (t) { 11022 (t = t || e.documentElement)[n.requestFullscreen](t.ALLOW_KEYBOARD_INPUT); 11023 }, 11024 exit: function () { 11025 e[n.exitFullscreen](); 11026 }, 11027 toggle: function (t) { 11028 (t = t || e.documentElement), this.isFullscreen() ? this.exit() : this.request(t); 11029 }, 11030 isFullscreen: function () { 11031 return Boolean(e[n.fullscreenElement]); 11032 }, 11033 enabled: function () { 11034 return Boolean(e[n.fullscreenEnabled]); 11035 }, 11036 }; 11037 t.extend(!0, t.fancybox.defaults, { 11038 btnTpl: { 11039 fullScreen: 11040 '<button data-fancybox-fullscreen class="fancybox-button fancybox-button--fsenter" title="{{FULL_SCREEN}}"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z"/></svg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M5 16h3v3h2v-5H5zm3-8H5v2h5V5H8zm6 11h2v-3h3v-2h-5zm2-11V5h-2v5h5V8z"/></svg></button>', 11041 }, 11042 fullScreen: { autoStart: !1 }, 11043 }), 11044 t(e).on(n.fullscreenchange, function () { 11045 var e = i.isFullscreen(), 11046 n = t.fancybox.getInstance(); 11047 n && 11048 (n.current && "image" === n.current.type && n.isAnimating && ((n.isAnimating = !1), n.update(!0, !0, 0), n.isComplete || n.complete()), 11049 n.trigger("onFullscreenChange", e), 11050 n.$refs.container.toggleClass("fancybox-is-fullscreen", e), 11051 n.$refs.toolbar.find("[data-fancybox-fullscreen]").toggleClass("fancybox-button--fsenter", !e).toggleClass("fancybox-button--fsexit", e)); 11052 }); 11053 } 11054 t(e).on({ 11055 "onInit.fb": function (e, t) { 11056 n 11057 ? t && t.group[t.currIndex].opts.fullScreen 11058 ? (t.$refs.container.on("click.fb-fullscreen", "[data-fancybox-fullscreen]", function (e) { 11059 e.stopPropagation(), e.preventDefault(), i.toggle(); 11060 }), 11061 t.opts.fullScreen && !0 === t.opts.fullScreen.autoStart && i.request(), 11062 (t.FullScreen = i)) 11063 : t && t.$refs.toolbar.find("[data-fancybox-fullscreen]").hide() 11064 : t.$refs.toolbar.find("[data-fancybox-fullscreen]").remove(); 11065 }, 11066 "afterKeydown.fb": function (e, t, n, i, s) { 11067 t && t.FullScreen && 70 === s && (i.preventDefault(), t.FullScreen.toggle()); 11068 }, 11069 "beforeClose.fb": function (e, t) { 11070 t && t.FullScreen && t.$refs.container.hasClass("fancybox-is-fullscreen") && i.exit(); 11071 }, 11072 }); 11073 })(document, jQuery), 11074 (function (e, t) { 11075 "use strict"; 11076 var n = "fancybox-thumbs"; 11077 t.fancybox.defaults = t.extend( 11078 !0, 11079 { 11080 btnTpl: { 11081 thumbs: 11082 '<button data-fancybox-thumbs class="fancybox-button fancybox-button--thumbs" title="{{THUMBS}}"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
11082<path d="M14.59 14.59h3.76v3.76h-3.76v-3.76zm-4.47 0h3.76v3.76h-3.76v-3.76zm-4.47 0h3.76v3.76H5.65v-3.76zm8.94-4.47h3.76v3.76h-3.76v-3.76zm-4.47 0h3.76v3.76h-3.76v-3.76zm-4.47 0h3.76v3.76H5.65v-3.76zm8.94-4.47h3.76v3.76h-3.76V5.65zm-4.47 0h3.76v3.76h-3.76V5.65zm-4.47 0h3.76v3.76H5.65V5.65z"/></svg></button>', 11083 }, 11084 thumbs: { autoStart: !1, hideOnClose: !0, parentEl: ".fancybox-container", axis: "y" }, 11085 }, 11086 t.fancybox.defaults 11087 ); 11088 var i = function (e) { 11089 this.init(e); 11090 }; 11091 t.extend(i.prototype, { 11092 $button: null, 11093 $grid: null, 11094 $list: null, 11095 isVisible: !1, 11096 isActive: !1, 11097 init: function (e) { 11098 var t = this, 11099 n = e.group, 11100 i = 0; 11101 (t.instance = e), (t.opts = n[e.currIndex].opts.thumbs), (e.Thumbs = t), (t.$button = e.$refs.toolbar.find("[data-fancybox-thumbs]")); 11102 for (var s = 0, o = n.length; s < o && (n[s].thumb && i++, !(i > 1)); s++); 11103 i > 1 && t.opts 11104 ? (t.$button.removeAttr("style").on("click", function () { 11105 t.toggle(); 11106 }), 11107 (t.isActive = !0)) 11108 : t.$button.hide(); 11109 }, 11110 create: function () { 11111 var e, 11112 i = this.instance, 11113 s = this.opts.parentEl, 11114 o = []; 11115 this.$grid || 11116 ((this.$grid = t('<div class="' + n + " " + n + "-" + this.opts.axis + '"></div>').appendTo(i.$refs.container.find(s).addBack().filter(s))), 11117 this.$grid.on("click", "a", function () { 11118 i.jumpTo(t(this).attr("data-index")); 11119 })), 11120 this.$list || (this.$list = t('<div class="' + n + '__list">').appendTo(this.$grid)), 11121 t.each(i.group, function (t, n) { 11122 (e = n.thumb) || "image" !== n.type || (e = n.src), 11123 o.push('<a href="javascript:;" tabindex="0" data-index="' + t + '"' + (e && e.length ? ' style="background-image:url(' + e + ')"' : 'class="fancybox-thumbs-missing"') + "></a>"); 11124 }), 11125 (this.$list[0].innerHTML = o.join("")), 11126 "x" === this.opts.axis && this.$list.width(parseInt(this.$grid.css("padding-right"), 10) + i.group.length * this.$list.children().eq(0).outerWidth(!0)); 11127 }, 11128 focus: function (e) { 11129 var t, 11130 n, 11131 i = this.$list, 11132 s = this.$grid; 11133 this.instance.current && 11134 ((n = (t = i 11135 .children() 11136 .removeClass("fancybox-thumbs-active") 11137 .filter('[data-index="' + this.instance.current.index + '"]') 11138 .addClass("fancybox-thumbs-active")).position()), 11139 "y" === this.opts.axis && (n.top < 0 || n.top > i.height() - t.outerHeight()) 11140 ? i.stop().animate({ scrollTop: i.scrollTop() + n.top }, e) 11141 : "x" === this.opts.axis && (n.left < s.scrollLeft() || n.left > s.scrollLeft() + (s.width() - t.outerWidth())) && i.parent().stop().animate({ scrollLeft: n.left }, e)); 11142 }, 11143 update: function () { 11144 this.instance.$refs.container.toggleClass("fancybox-show-thumbs", this.isVisible), 11145 this.isVisible ? (this.$grid || this.create(), this.instance.trigger("onThumbsShow"), this.focus(0)) : this.$grid && this.instance.trigger("onThumbsHide"),
11146 this.instance.update(); 11147 }, 11148 hide: function () { 11149 (this.isVisible = !1), this.update(); 11150 }, 11151 show: function () { 11152 (this.isVisible = !0), this.update(); 11153 }, 11154 toggle: function () { 11155 (this.isVisible = !this.isVisible), this.update(); 11156 }, 11157 }), 11158 t(e).on({ 11159 "onInit.fb": function (e, t) { 11160 var n; 11161 t && !t.Thumbs && (n = new i(t)).isActive && !0 === n.opts.autoStart && n.show(); 11162 }, 11163 "beforeShow.fb": function (e, t, n, i) { 11164 var s = t && t.Thumbs; 11165 s && s.isVisible && s.focus(i ? 0 : 250); 11166 }, 11167 "afterKeydown.fb": function (e, t, n, i, s) { 11168 var o = t && t.Thumbs; 11169 o && o.isActive && 71 === s && (i.preventDefault(), o.toggle()); 11170 }, 11171 "beforeClose.fb": function (e, t) { 11172 var n = t && t.Thumbs; 11173 n && n.isVisible && !1 !== n.opts.hideOnClose && n.$grid.hide(); 11174 }, 11175 }); 11176 })(document, jQuery), 11177 (function (e, t) { 11178 "use strict"; 11179 t.extend(!0, t.fancybox.defaults, { 11180 btnTpl: { 11181 share: 11182 '<button data-fancybox-share class="fancybox-button fancybox-button--share" title="{{SHARE}}"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M2.55 19c1.4-8.4 9.1-9.8 11.9-9.8V5l7 7-7 6.3v-3.5c-2.8 0-10.5 2.1-11.9 4.2z"/></svg></button>', 11183 }, 11184 share: { 11185 url: function (e, t) { 11186 return (!e.currentHash && "inline" !== t.type && "html" !== t.type && (t.origSrc || t.src)) || window.location; 11187 }, 11188 tpl: 11189 '<div class="fancybox-share"><h1>{{SHARE}}</h1><p><a class="fancybox-share__button fancybox-share__button--fb" href="https://www.facebook.com/sharer/sharer.php?u={{url}}"><svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="m287 456v-299c0-21 6-35 35-35h38v-63c-7-1-29-3-55-3-54 0-91 33-91 94v306m143-254h-205v72h196" /></svg><span>Facebook</span></a><a class="fancybox-share__button fancybox-share__button--tw" href="https://twitter.com/intent/tweet?url={{url}}&text={{descr}}"><svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="m456 133c-14 7-31 11-47 13 17-10 30-27 37-46-15 10-34 16-52 20-61-62-157-7-141 75-68-3-129-35-169-85-22 37-11 86 26 109-13 0-26-4-37-9 0 39 28 72 65 80-12 3-25 4-37 2 10 33 41 57 77 57-42 30-77 38-122 34 170 111 378-32 359-208 16-11 30-25 41-42z" /></svg><span>Twitter</span></a><a class="fancybox-share__button fancybox-share__button--pt" href="https://www.pinterest.com/pin/create/button/?url={{url}}&description={{descr}}&media={{media}}"><svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="m265 56c-109 0-164 78-164 144 0 39 15 74 47 87 5 2 10 0 12-5l4-19c2-6 1-8-3-13-9-11-15-25-15-45 0-58 43-110 113-110 62 0 96 38 96 88 0 67-30 122-73 122-24 0-42-19-36-44 6-29 20-60 20-81 0-19-10-35-31-35-25 0-44 26-44 60 0 21 7 36 7 36l-30 125c-8 37-1 83 0 87 0 3 4 4 5 2 2-3 32-39 42-75l16-64c8 16 31 29 56 29 74 0 124-67 124-157 0-69-58-132-146-132z" fill="#fff"/></svg><span>Pinterest</span></a></p><p><input class="fancybox-share__input" type="text" value="{{url_raw}}" onclick="select()" /></p></div>', 11190 }, 11191 }), 11192 t(e).on("click", "[data-fancybox-share]", function () { 11193 var e, 11194 n, 11195 i, 11196 s, 11197 o = t.fancybox.getInstance(), 11198 a = o.current || null; 11199 a && 11200 ("function" === t.type(a.opts.share.url) && (e = a.opts.share.url.apply(a, [o, a])), 11201 (n = a.opts.share.tpl 11202 .replace(/\{\{media\}\}/g, "image" === a.type ? encodeURIComponent(a.src) : "") 11203 .replace(/\{\{url\}\}/g, encodeURIComponent(e)) 11204 .replace( 11205 /\{\{url_raw\}\}/g, 11206 ((i = e), 11207 (s = { "&": "&", "<": "<", ">": ">", '"': """, "'": "'", "/": "/", "`": "`", "=": "=" }), 11208 String(i).replace(/[&<>"'`=\/]/g, function (e) { 11209 return s[e]; 11210 })) 11211 ) 11212 .replace(/\{\{descr\}\}/g, o.$caption ? encodeURIComponent(o.$caption.text()) : "")), 11213 t.fancybox.open({ 11214 src: o.translate(o, n), 11215 type: "html", 11216 opts: { 11217 touch: !1, 11218 animationEffect: !1, 11219 afterLoad: function (e, t) { 11220 o.$refs.container.one("beforeClose.fb", function () { 11221 e.close(null, 0); 11222 }), 11223 t.$content.find(".fancybox-share__button").click(function () { 11224 return window.open(this.href, "Share", "width=550, height=450"), !1; 11225 }); 11226 }, 11227 mobile: { autoFocus: !1 }, 11228 }, 11229 })); 11230 }); 11231 })(document, jQuery), 11232 (function (e, t, n) { 11233 "use strict"; 11234 function i() { 11235 var t = e.location.hash.substr(1), 11236 n = t.split("-"), 11237 i = (n.length > 1 && /^\+?\d+$/.test(n[n.length - 1]) && parseInt(n.pop(-1), 10)) || 1; 11238 return { hash: t, index: i < 1 ? 1 : i, gallery: n.join("-") }; 11239 } 11240 function s(e) { 11241 "" !== e.gallery && 11242 n("[data-fancybox='" + n.escapeSelector(e.gallery) + "']") 11243 .eq(e.index - 1) 11244 .focus() 11245 .trigger("click.fb-start"); 11246 } 11247 function o(e) { 11248 var t, n; 11249 return !!e && "" !== (n = (t = e.current ? e.current.opts : e.opts).hash || (t.$orig ? t.$orig.data("fancybox") || t.$orig.data("fancybox-trigger") : "")) && n; 11250 } 11251 n.escapeSelector || 11252 (n.escapeSelector = function (e) { 11253 return (e + "").replace(/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g, function (e, t) { 11254 return t ? ("\0" === e ? "?" : e.slice(0, -1) + "\\" + e.charCodeAt(e.length - 1).toString(16) + " ") : "\\" + e; 11255 }); 11256 }), 11257 n(function () { 11258 !1 !== n.fancybox.defaults.hash && 11259 (n(t).on({ 11260 "onInit.fb": function (e, t) { 11261 var n, s; 11262 !1 !== t.group[t.currIndex].opts.hash && ((n = i()), (s = o(t)) && n.gallery && s == n.gallery && (t.currIndex = n.index - 1)); 11263 }, 11264 "beforeShow.fb": function (n, i, s, a) { 11265 var r; 11266 s && 11267 !1 !== s.opts.hash && 11268 (r = o(i)) && 11269 ((i.currentHash = r + (i.group.length > 1 ? "-" + (s.index + 1) : "")), 11270 e.location.hash !== "#" + i.currentHash && 11271 (a && !i.origHash && (i.origHash = e.location.hash), 11272 i.hashTimer && clearTimeout(i.hashTimer), 11273 (i.hashTimer = setTimeout(function () { 11274 "replaceState" in e.history 11275 ? (e.history[a ? "pushState" : "replaceState"]({}, t.title, e.location.pathname + e.location.search + "#" + i.currentHash), a && (i.hasCreatedHistory = !0)) 11276 : (e.location.hash = i.currentHash), 11277 (i.hashTimer = null); 11278 }, 300)))); 11279 }, 11280 "beforeClose.fb": function (n, i, s) { 11281 s && 11282 !1 !== s.opts.hash && 11283 (clearTimeout(i.hashTimer), 11284 i.currentHash && i.hasCreatedHistory 11285 ? e.history.back() 11286 : i.currentHash && ("replaceState" in e.history ? e.history.replaceState({}, t.title, e.location.pathname + e.location.search + (i.origHash || "")) : (e.location.hash = i.origHash)), 11287 (i.currentHash = null)); 11288 }, 11289 }), 11290 n(e).on("hashchange.fb", function () { 11291 var e = i(), 11292 t = null; 11293 n.each(n(".fancybox-container").get().reverse(), function (e, i) { 11294 var s = n(i).data("FancyBox"); 11295 if (s && s.currentHash) return (t = s), !1; 11296 }), 11297 t ? t.currentHash === e.gallery + "-" + e.index || (1 === e.index && t.currentHash == e.gallery) || ((t.currentHash = null), t.close()) : "" !== e.gallery && s(e); 11298 }), 11299 setTimeout(function () { 11300 n.fancybox.getInstance() || s(i()); 11301 }, 50)); 11302 }); 11303 })(window, document, jQuery), 11304 (function (e, t) { 11305 "use strict"; 11306 var n = new Date().getTime(); 11307 t(e).on({ 11308 "onInit.fb": function (e, t, i) { 11309 t.$refs.stage.on("mousewheel DOMMouseScroll wheel MozMousePixelScroll", function (e) { 11310 var i = t.current, 11311 s = new Date().getTime(); 11312 t.group.length < 2 || 11313 !1 === i.opts.wheel || 11314 ("auto" === i.opts.wheel && "image" !== i.type) || 11315 (e.preventDefault(), 11316 e.stopPropagation(), 11317 i.$slide.hasClass("fancybox-animated") || ((e = e.originalEvent || e), s - n < 250 || ((n = s), t[(-e.deltaY || -e.deltaX || e.wheelDelta || -e.detail) < 0 ? "next" : "previous"]()))); 11318 }); 11319 }, 11320 }); 11321 })(document, jQuery); 11322 }, 11323
11323"./js/vendor/testInstruments.js": 11324 /*!**************************************!*\ 11325!*** ./js/vendor/testInstruments.js ***! 11326\**************************************/ 11327 /*! exports provided: testInstruments */ function (e, t, n) { 11328 "use strict"; 11329 function i(e) { 11330 return ( 11331 (function (e) { 11332 if (Array.isArray(e)) return s(e); 11333 })(e) || 11334 (function (e) { 11335 if (("undefined" != typeof Symbol && null != e[Symbol.iterator]) || null != e["@@iterator"]) return Array.from(e); 11336 })(e) || 11337 (function (e, t) { 11338 if (!e) return; 11339 if ("string" == typeof e) return s(e, t); 11340 var n = Object.prototype.toString.call(e).slice(8, -1); 11341 "Object" === n && e.constructor && (n = e.constructor.name); 11342 if ("Map" === n || "Set" === n) return Array.from(e); 11343 if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return s(e, t); 11344 })(e) || 11345 (function () { 11346 throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); 11347 })() 11348 ); 11349 } 11350 function s(e, t) { 11351 (null == t || t > e.length) && (t = e.length); 11352 for (var n = 0, i = new Array(t); n < t; n++) i[n] = e[n]; 11353 return i; 11354 } 11355 n.r(t), 11356 n.d(t, "testInstruments", function () { 11357 return o; 11358 }); 11359 var o = function () { 11360 var e = document.createElement("div"); 11361 e.classList = "ts-panel"; 11362 var t = document.createElement("button"); 11363 (t.type = "button"), (t.textContent = "пÑовеÑиÑÑ Ð¿ÐµÑеполнение"), (t.classList = "ts-btn ts-btn--more"), e.appendChild(t); 11364 var n = document.createElement("button"); 11365 (n.type = "button"), (n.textContent = "вклÑÑиÑÑ ÑедакÑиÑование"), (n.classList = "ts-btn ts-btn--edit"), e.appendChild(n); 11366 var s = document.createElement("button"); 11367 (s.type = "button"), (s.textContent = "пÑовеÑиÑÑ ÐºÐ°ÑÑинки"), (s.classList = "ts-btn ts-btn--image"), e.appendChild(s); 11368 var o = document.createElement("button"); 11369 (o.type = "button"), (o.textContent = "обвеÑÑи ÑлеменÑÑ"), (o.classList = "ts-btn ts-btn--outline"), e.appendChild(o); 11370 var a = document.createElement("button"); 11371 (a.type = "button"), (a.textContent = "ÑкÑÑÑÑ"), (a.classList = "ts-btn ts-btn--hide"), e.appendChild(a); 11372 var r = document.createElement("button"); 11373 (r.type = "button"), (r.textContent = "ÑÑÑлки и кнопки"), (r.classList = "ts-btn ts-btn--href"), e.appendChild(r); 11374 var c = document.createElement("div"); 11375 function l(e) { 11376 return ( 11377 "SCRIPT" !== e.nodeName && 11378 "svg" !== e.nodeName && 11379 "defs" !== e.nodeName && 11380 "rect" !== e.nodeName && 11381 "pattern" !== e.nodeName && 11382 "use" !== e.nodeName && 11383 "symbol" !== e.nodeName && 11384 "path" !== e.nodeName && 11385 "circle" !== e.nodeName && 11386 "IMG" !== e.nodeName && 11387 "image" !== e.nodeName && 11388 "video" !== e.nodeName && 11389 "IFRAME" !== e.nodeName && 11390 "PICTURE" !== e.nodeName && 11391 "SOURCE" !== e.nodeName 11392 ); 11393 } 11394 function d(e) { 11395 return "" !== e.textContent && 0 == (e.textContent.match(/\n/g) || []).length; 11396 } 11397 function h(e) { 11398 return "SOURCE" == e.nodeName; 11399 } 11400 (c.classList = "ts-console"), 11401 e.appendChild(c), 11402 document.body.appendChild(e), 11403 (t.onclick = function () { 11404 var e = document.body.querySelectorAll("*"); 11405 0 !== (e = (e = (e = i(e)).filter(l)).filter(d)).length && 11406 e.forEach(function (e) { 11407 e.classList.contains("ts-panel") || e.classList.contains("ts-btn") || (e.textContent = e.textContent + " " + e.textContent); 11408 }), 11409 t.dataset.count ? (t.textContent = "пÑовеÑиÑÑ Ð¿ÐµÑеполнение(" + ++t.dataset.count + ")") : ((t.dataset.count = 1), (t.textContent = "пÑовеÑиÑÑ Ð¿ÐµÑеполнение(1)")); 11410 }), 11411 (n.onclick = function () { 11412 var e = document.body; 11413 e.isContentEditable ? ((e.contentEditable = "false"), (n.textContent = "вклÑÑиÑÑ ÑедакÑиÑование")) : ((e.contentEditable = "true"), (n.textContent = "вÑклÑÑиÑÑ ÑедакÑиÑование")); 11414 }), 11415 (s.onclick = function () { 11416 var e = document.querySelectorAll("img"); 11417 if (0 !== e.length) { 11418 var t = 0, 11419 n = 0, 11420 s = 0, 11421 o = 0, 11422 a = 0; 11423 e.forEach(function (e) { 11424 a++; 11425 var r = e.parentNode; 11426 if ("PICTURE" == r.nodeName) { 11427 t++; 11428 var c = i(r.childNodes).filter(h);
11429 c.forEach(function (e) { 11430 "" !== e.media && n++; 11431 }), 11432 c.forEach(function (e) { 11433 "image/webp" == e.type && s++; 11434 }), 11435 c.forEach(function (e) { 11436 "" !== e.srcset && o++; 11437 }), 11438 c.forEach(function (e) { 11439 e.remove(); 11440 }), 11441 (e.src = ""), 11442 (e.srcset = ""); 11443 } else "" !== e.srcset && o++, (e.src = ""), (e.srcset = ""); 11444 }), 11445 (c.textContent = c.textContent + "ÐолиÑеÑÑво каÑÑинок: " + a + "\r\n"), 11446 (c.textContent = c.textContent + "ÐолиÑеÑÑво picture: " + t + "\r\n"), 11447 (c.textContent = c.textContent + "ÐÑÑÑеÑаеÑÑÑ ÐºÐ°Ð´ÑиÑование: " + n + "\r\n"), 11448 (c.textContent = c.textContent + "ÐолиÑеÑÑво webp: " + s + "\r\n"), 11449 (c.textContent = c.textContent + "ÐолиÑеÑÑво ÑеÑинизаÑии: " + o + "\r\n"); 11450 } 11451 }), 11452 (o.onclick = function () { 11453 var e = document.body.querySelectorAll("*"); 11454 0 !== (e = i(e)).length && 11455 e.forEach(function (e) { 11456 e.classList.contains("ts-panel") || e.classList.contains("ts-btn") || e.classList.contains("ts-console") || (e.style.outline = "1px solid rgba(231, 46, 139, 1)"); 11457 }); 11458 }); 11459 var u = document.querySelector(".ts-panel"); 11460 (a.onclick = function () { 11461 u && u.classList.add("ts-panel--close"); 11462 }), 11463 (u.onclick = function (e) { 11464 u.classList.contains("ts-panel--close") && e.target == u && u.classList.remove("ts-panel--close"); 11465 }), 11466 (r.onclick = function () { 11467 var e = document.querySelectorAll("a"), 11468 t = document.querySelectorAll("button"), 11469 n = 0, 11470 i = 0, 11471 s = 0, 11472 o = 0; 11473 e.forEach(function (e) { 11474 n++, "" == e.textContent && i++; 11475 }), 11476 t.forEach(function (e) { 11477 e.classList.contains("ts-btn") || 11478 (s++, 11479 console.log(e.innerText), 11480 "" == e.innerText ? (c.textContent = c.textContent + "ÐонÑÐµÐ½Ñ ÐºÐ½Ð¾Ð¿ÐºÐ¸: пÑÑÑаÑ." + e.classList + "\r\n") : (c.textContent = c.textContent + "ÐонÑÐµÐ½Ñ ÐºÐ½Ð¾Ð¿ÐºÐ¸: " + e.innerText + "\r\n"), 11481 e.type || o++); 11482 }), 11483 (c.textContent = c.textContent + "ÐолиÑеÑÑво ÑÑÑлок " + n + "\r\n"), 11484 (c.textContent = c.textContent + "ÐолиÑеÑÑво пÑÑÑÑÑ ÑÑÑлок " + i + "\r\n"), 11485 (c.textContent = c.textContent + "ÐолиÑеÑÑво кнопок " + s + "\r\n"), 11486 (c.textContent = c.textContent + "ÐолиÑеÑÑво кнопок без Ñипа " + o + "\r\n"); 11487 }); 11488 }; 11489 }
11489, 11490});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.