vendor: 91,713 bytes, lines 1-1566
1/*! 2 * Bootstrap v4.0.0-beta.2 (https://getbootstrap.com) 3 * Copyright 2011-2017 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) 4 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) 5 */ 6var bootstrap = function(t, e, n) { 7 "use strict"; 8 9 function i(t, e) { 10 for (var n = 0; n < e.length; n++) { 11 var i = e[n]; 12 i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(t, i.key, i) 13 } 14 } 15 e = e && e.hasOwnProperty("default") ? e.default : e, n = n && n.hasOwnProperty("default") ? n.default : n; 16 var s = function() { 17 function t(t) { 18 return {}.toString.call(t).match(/\s([a-zA-Z]+)/)[1].toLowerCase() 19 } 20 21 function n() { 22 return { 23 bindType: r.end, 24 delegateType: r.end, 25 handle: function(t) { 26 if (e(t.target).is(this)) return t.handleObj.handler.apply(this, arguments) 27 } 28 } 29 } 30 31 function i() { 32 if (window.QUnit) return !1; 33 var t = document.createElement("bootstrap"); 34 for (var e in o) 35 if ("undefined" != typeof t.style[e]) return { 36 end: o[e] 37 }; 38 return !1 39 } 40 41 function s(t) { 42 var n = this, 43 i = !1; 44 return e(this).one(a.TRANSITION_END, function() { 45 i = !0 46 }), setTimeout(function() { 47 i || a.triggerTransitionEnd(n) 48 }, t), this 49 } 50 var r = !1, 51 o = { 52 WebkitTransition: "webkitTransitionEnd", 53 MozTransition: "transitionend", 54 OTransition: "oTransitionEnd otransitionend", 55 transition: "transitionend" 56 }, 57 a = { 58 TRANSITION_END: "bsTransitionEnd", 59 getUID: function(t) { 60 do { 61 t += ~~(1e6 * Math.random()) 62 } while (document.getElementById(t)); 63 return t 64 }, 65 getSelectorFromElement: function(t) { 66 var n = t.getAttribute("data-target"); 67 n && "#" !== n || (n = t.getAttribute("href") || ""); 68 try { 69 return e(document).find(n).length > 0 ? n : null 70 } catch (t) { 71 return null 72 } 73 }, 74 reflow: function(t) { 75 return t.offsetHeight 76 }, 77 triggerTransitionEnd: function(t) { 78 e(t).trigger(r.end) 79 }, 80 supportsTransitionEnd: function() { 81 return Boolean(r) 82 }, 83 isElement: function(t) { 84 return (t[0] || t).nodeType 85 }, 86 typeCheckConfig: function(e, n, i) { 87 for (var s in i) 88 if (Object.prototype.hasOwnProperty.call(i, s)) { 89 var r = i[s], 90 o = n[s], 91 l = o && a.isElement(o) ? "element" : t(o); 92 if (!new RegExp(r).test(l)) throw new Error(e.toUpperCase() + ': Option "' + s + '" provided type "' + l + '" but expected type "' + r + '".') 93 } 94 } 95 }; 96 return r = i(), e.fn.emulateTransitionEnd = s, a.supportsTransitionEnd() && (e.event.special[a.TRANSITION_END] = n()), a 97 }(), 98 r = function(t, e, n) { 99 return e && i(t.prototype, e), n && i(t, n), t 100 }, 101 o = function(t, e) { 102 t.prototype = Object.create(e.prototype), t.prototype.constructor = t, t.__proto__ = e 103 }, 104 a = function() { 105 var t = "alert", 106 n = e.fn[t], 107 i = { 108 CLOSE: "close.bs.alert", 109 CLOSED: "closed.bs.alert", 110 CLICK_DATA_API: "click.bs.alert.data-api" 111 }, 112 o = { 113 ALERT: "alert", 114 FADE: "fade", 115 SHOW: "show" 116 }, 117 a = function() { 118 function t(t) { 119 this._element = t 120 } 121 var n = t.prototype; 122 return n.close = function(t) { 123 t = t || this._element; 124 var e = this._getRootElement(t); 125 this._triggerCloseEvent(e).isDefaultPrevented() || this._removeElement(e) 126 }, n.dispose = function() { 127 e.removeData(this._element, "bs.alert"), this._element = null 128 }, n._getRootElement = function(t) { 129 var n = s.getSelectorFromElement(t), 130 i = !1; 131 return n && (i = e(n)[0]), i || (i = e(t).closest("." + o.ALERT)[0]), i 132 }, n._triggerCloseEvent = function(t) { 133 var n = e.Event(i.CLOSE); 134 return e(t).trigger(n), n 135 }, n._removeElement = function(t) { 136 var n = this; 137 e(t).removeClass(o.SHOW), s.supportsTransitionEnd() && e(t).hasClass(o.FADE) ? e(t).one(s.TRANSITION_END, function(e) { 138 return n._destroyElement(t, e) 139 }).emulateTransitionEnd(150) : this._destroyElement(t) 140 }, n._destroyElement = function(t) { 141 e(t).detach().trigger(i.CLOSED).remove() 142 }, t._jQueryInterface = function(n) { 143 return this.each(function() { 144 var i = e(this), 145 s = i.data("bs.alert"); 146 s || (s = new t(this), i.data("bs.alert", s)), "close" === n && s[n](this) 147 }) 148 }, t._handleDismiss = function(t) { 149 return function(e) { 150 e && e.preventDefault(), t.close(this) 151 } 152 }, r(t, null, [{ 153 key: "VERSION", 154 get: function() { 155 return "4.0.0-beta.2" 156 } 157 }]), t 158 }(); 159 return e(document).on(i.CLICK_DATA_API, { 160 DISMISS: '[data-dismiss="alert"]' 161 }.DISMISS, a._handleDismiss(new a)), e.fn[t] = a._jQueryInterface, e.fn[t].Constructor = a, e.fn[t].noConflict = function() { 162 return e.fn[t] = n, a._jQueryInterface 163 }, a 164 }(), 165 l = function() { 166 var t = "button", 167 n = e.fn[t], 168 i = { 169 ACTIVE: "active", 170 BUTTON: "btn", 171 FOCUS: "focus" 172 }, 173 s = { 174 DATA_TOGGLE_CARROT: '[data-toggle^="button"]', 175 DATA_TOGGLE: '[data-toggle="buttons"]', 176 INPUT: "input", 177 ACTIVE: ".active", 178 BUTTON: ".btn" 179 }, 180 o = { 181 CLICK_DATA_API: "click.bs.button.data-api", 182 FOCUS_BLUR_DATA_API: "focus.bs.button.data-api blur.bs.button.data-api" 183 }, 184 a = function() { 185 function t(t) { 186 this._element = t 187 } 188 var n = t.prototype; 189 return n.toggle = function() { 190 var t = !0, 191 n = !0, 192 r = e(this._element).closest(s.DATA_TOGGLE)[0]; 193 if (r) { 194 var o = e(this._element).find(s.INPUT)[0]; 195 if (o) { 196 if ("radio" === o.type) 197 if (o.checked && e(this._element).hasClass(i.ACTIVE)) t = !1; 198 else { 199 var a = e(r).find(s.ACTIVE)[0]; 200 a && e(a).removeClass(i.ACTIVE) 201 } 202 if (t) { 203 if (o.hasAttribute("disabled") || r.hasAttribute("disabled") || o.classList.contains("disabled") || r.classList.contains("disabled")) return; 204 o.checked = !e(this._element).hasClass(i.ACTIVE), e(o).trigger("change") 205 } 206 o.focus(), n = !1 207 } 208 } 209 n && this._element.setAttribute("aria-pressed", !e(this._element).hasClass(i.ACTIVE)), t && e(this._element).toggleClass(i.ACTIVE) 210 }, n.dispose = function() { 211 e.removeData(this._element, "bs.button"), this._element = null 212 }, t._jQueryInterface = function(n) { 213 return this.each(function() { 214 var i = e(this).data("bs.button"); 215 i || (i = new t(this), e(this).data("bs.button", i)), "toggle" === n && i[n]() 216 }) 217 }, r(t, null, [{ 218 key: "VERSION", 219 get: function() { 220 return "4.0.0-beta.2" 221 } 222 }]), t 223 }(); 224 return e(document).on(o.CLICK_DATA_API, s.DATA_TOGGLE_CARROT, function(t) { 225 t.preventDefault(); 226 var n = t.target; 227 e(n).hasClass(i.BUTTON) || (n = e(n).closest(s.BUTTON)), a._jQueryInterface.call(e(n), "toggle") 228 }).on(o.FOCUS_BLUR_DATA_API, s.DATA_TOGGLE_CARROT, function(t) { 229 var n = e(t.target).closest(s.BUTTON)[0]; 230 e(n).toggleClass(i.FOCUS, /^focus(in)?$/.test(t.type)) 231 }), e.fn[t] = a._jQueryInterface, e.fn[t].Constructor = a, e.fn[t].noConflict = function() { 232 return e.fn[t] = n, a._jQueryInterface 233 }, a 234 }(), 235 h = function() { 236 var t = "carousel", 237 n = "bs.carousel", 238 i = "." + n, 239 o = e.fn[t], 240 a = { 241 interval: 5e3, 242 keyboard: !0, 243 slide: !1, 244 pause: "hover", 245 wrap: !0 246 }, 247 l = { 248 interval: "(number|boolean)", 249 keyboard: "boolean", 250 slide: "(boolean|string)", 251 pause: "(string|boolean)", 252 wrap: "boolean" 253 }, 254 h = { 255 NEXT: "next", 256 PREV: "prev", 257 LEFT: "left", 258 RIGHT: "right" 259 }, 260 c = { 261 SLIDE: "slide" + i, 262 SLID: "slid" + i, 263 KEYDOWN: "keydown" + i, 264 MOUSEENTER: "mouseenter" + i, 265 MOUSELEAVE: "mouseleave" + i, 266 TOUCHEND: "touchend" + i, 267 LOAD_DATA_API: "load.bs.carousel.data-api", 268 CLICK_DATA_API: "click.bs.carousel.data-api" 269 }, 270 u = { 271 CAROUSEL: "carousel", 272 ACTIVE: "active", 273 SLIDE: "slide", 274 RIGHT: "carousel-item-right", 275 LEFT: "carousel-item-left", 276 NEXT: "carousel-item-next", 277 PREV: "carousel-item-prev", 278 ITEM: "carousel-item" 279 }, 280 d = { 281 ACTIVE: ".active", 282 ACTIVE_ITEM: ".active.carousel-item", 283 ITEM: ".carousel-item", 284 NEXT_PREV: ".carousel-item-next, .carousel-item-prev", 285 INDICATORS: ".carousel-indicators", 286 DATA_SLIDE: "[data-slide], [data-slide-to]", 287 DATA_RIDE: '[data-ride="carousel"]' 288 }, 289 f = function() { 290 function o(t, n) { 291 this._items = null, this._interval = null, this._activeElement = null, this._isPaused = !1, this._isSliding = !1, this.touchTimeout = null, this._config = this._getConfig(n), this._element = e(t)[0], this._indicatorsElement = e(this._element).find(d.INDICATORS)[0], this._addEventListeners() 292 } 293 var f = o.prototype; 294 return f.next = function() { 295 this._isSliding || this._slide(h.NEXT) 296 }, f.nextWhenVisible = function() { 297 !document.hidden && e(this._element).is(":visible") && "hidden" !== e(this._element).css("visibility") && this.next() 298 }, f.prev = function() { 299 this._isSliding || this._slide(h.PREV) 300 }, f.pause = function(t) { 301 t || (this._isPaused = !0), e(this._element).find(d.NEXT_PREV)[0] && s.supportsTransitionEnd() && (s.triggerTransitionEnd(this._element), this.cycle(!0)), clearInterval(this._interval), this._interval = null 302 }, f.cycle = function(t) { 303 t || (this._isPaused = !1), this._interval && (clearInterval(this._interval), this._interval = null), this._config.interval && !this._isPaused && (this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval)) 304 }, f.to = function(t) { 305 var n = this; 306 this._activeElement = e(this._element).find(d.ACTIVE_ITEM)[0]; 307 var i = this._getItemIndex(this._activeElement); 308 if (!(t > this._items.length - 1 || t < 0)) 309 if (this._isSliding) e(this._element).one(c.SLID, function() { 310 return n.to(t) 311 }); 312 else { 313 if (i === t) return this.pause(), void this.cycle(); 314 var s = t > i ? h.NEXT : h.PREV; 315 this._slide(s, this._items[t]) 316 } 317 }, f.dispose = function() { 318 e(this._element).off(i), e.removeData(this._element, n), this._items = null, this._config = null, this._element = null, this._interval = null, this._isPaused = null, this._isSliding = null, this._activeElement = null, this._indicatorsElement = null 319 }, f._getConfig = function(n) { 320 return n = e.extend({}, a, n), s.typeCheckConfig(t, n, l), n 321 }, f._addEventListeners = function() { 322 var t = this; 323 this._config.keyboard && e(this._element).on(c.KEYDOWN, function(e) { 324 return t._keydown(e) 325 }), "hover" === this._config.pause && (e(this._element).on(c.MOUSEENTER, function(e) { 326 return t.pause(e) 327 }).on(c.MOUSELEAVE, function(e) { 328 return t.cycle(e) 329 }), "ontouchstart" in document.documentElement && e(this._element).on(c.TOUCHEND, function() { 330 t.pause(), t.touchTimeout && clearTimeout(t.touchTimeout), t.touchTimeout = setTimeout(function(e) { 331 return t.cycle(e) 332 }, 500 + t._config.interval) 333 })) 334 }, f._keydown = function(t) { 335 if (!/input|textarea/i.test(t.target.tagName)) switch (t.which) { 336 case 37: 337 t.preventDefault(), this.prev(); 338 break; 339 case 39: 340 t.preventDefault(), this.next(); 341 break; 342 default: 343 return 344 } 345 }, f._getItemIndex = function(t) { 346 return this._items = e.makeArray(e(t).parent().find(d.ITEM)), this._items.indexOf(t) 347 }, f._getItemByDirection = function(t, e) { 348 var n = t === h.NEXT, 349 i = t === h.PREV, 350 s = this._getItemIndex(e), 351 r = this._items.length - 1; 352 if ((i && 0 === s || n && s === r) && !this._config.wrap) return e; 353 var o = (s + (t === h.PREV ? -1 : 1)) % this._items.length; 354 return -1 === o ? this._items[this._items.length - 1] : this._items[o] 355 }, f._triggerSlideEvent = function(t, n) { 356 var i = this._getItemIndex(t), 357 s = this._getItemIndex(e(this._element).find(d.ACTIVE_ITEM)[0]), 358 r = e.Event(c.SLIDE, { 359 relatedTarget: t, 360 direction: n, 361 from: s, 362 to: i 363 }); 364 return e(this._element).trigger(r), r 365 }, f._setActiveIndicatorElement = function(t) { 366 if (this._indicatorsElement) { 367 e(this._indicatorsElement).find(d.ACTIVE).removeClass(u.ACTIVE); 368 var n = this._indicatorsElement.children[this._getItemIndex(t)]; 369 n && e(n).addClass(u.ACTIVE) 370 } 371 }, f._slide = function(t, n) { 372 var i, r, o, a = this, 373 l = e(this._element).find(d.ACTIVE_ITEM)[0], 374 f = this._getItemIndex(l), 375 _ = n || l && this._getItemByDirection(t, l), 376 g = this._getItemIndex(_), 377 m = Boolean(this._interval); 378 if (t === h.NEXT ? (i = u.LEFT, r = u.NEXT, o = h.LEFT) : (i = u.RIGHT, r = u.PREV, o = h.RIGHT), _ && e(_).hasClass(u.ACTIVE)) this._isSliding = !1; 379 else if (!this._triggerSlideEvent(_, o).isDefaultPrevented() && l && _) { 380 this._isSliding = !0, m && this.pause(), this._setActiveIndicatorElement(_); 381 var p = e.Event(c.SLID, { 382 relatedTarget: _, 383 direction: o, 384 from: f, 385 to: g 386 }); 387 s.supportsTransitionEnd() && e(this._element).hasClass(u.SLIDE) ? (e(_).addClass(r), s.reflow(_), e(l).addClass(i), e(_).addClass(i), e(l).one(s.TRANSITION_END, function() { 388 e(_).removeClass(i + " " + r).addClass(u.ACTIVE), e(l).removeClass(u.ACTIVE + " " + r + " " + i), a._isSliding = !1, setTimeout(function() { 389 return e(a._element).trigger(p) 390 }, 0) 391 }).emulateTransitionEnd(600)) : (e(l).removeClass(u.ACTIVE), e(_).addClass(u.ACTIVE), this._isSliding = !1, e(this._element).trigger(p)), m && this.cycle() 392 } 393 }, o._jQueryInterface = function(t) { 394 return this.each(function() { 395 var i = e(this).data(n), 396 s = e.extend({}, a, e(this).data()); 397 "object" == typeof t && e.extend(s, t); 398 var r = "string" == typeof t ? t : s.slide; 399 if (i || (i = new o(this, s), e(this).data(n, i)), "number" == typeof t) i.to(t); 400 else if ("string" == typeof r) { 401 if ("undefined" == typeof i[r]) throw new Error('No method named "' + r + '"'); 402 i[r]() 403 } else s.interval && (i.pause(), i.cycle()) 404 }) 405 }, o._dataApiClickHandler = function(t) { 406 var i = s.getSelectorFromElement(this); 407 if (i) { 408 var r = e(i)[0]; 409 if (r && e(r).hasClass(u.CAROUSEL)) { 410 var a = e.extend({}, e(r).data(), e(this).data()), 411 l = this.getAttribute("data-slide-to"); 412 l && (a.interval = !1), o._jQueryInterface.call(e(r), a), l && e(r).data(n).to(l), t.preventDefault() 413 } 414 } 415 }, r(o, null, [{ 416 key: "VERSION", 417 get: function() { 418 return "4.0.0-beta.2" 419 } 420 }, { 421 key: "Default", 422 get: function() { 423 return a 424 } 425 }]), o 426 }(); 427 return e(document).on(c.CLICK_DATA_API, d.DATA_SLIDE, f._dataApiClickHandler), e(window).on(c.LOAD_DATA_API, function() { 428 e(d.DATA_RIDE).each(function() { 429 var t = e(this); 430 f._jQueryInterface.call(t, t.data()) 431 }) 432 }), e.fn[t] = f._jQueryInterface, e.fn[t].Constructor = f, e.fn[t].noConflict = function() { 433 return e.fn[t] = o, f._jQueryInterface 434 }, f 435 }(), 436 c = function() { 437 var t = "collapse", 438 n = "bs.collapse", 439 i = e.fn[t], 440 o = { 441 toggle: !0, 442 parent: "" 443 }, 444 a = { 445 toggle: "boolean", 446 parent: "(string|element)" 447 }, 448 l = { 449 SHOW: "show.bs.collapse", 450 SHOWN: "shown.bs.collapse", 451 HIDE: "hide.bs.collapse", 452 HIDDEN: "hidden.bs.collapse", 453 CLICK_DATA_API: "click.bs.collapse.data-api" 454 }, 455 h = { 456 SHOW: "show", 457 COLLAPSE: "collapse", 458 COLLAPSING: "collapsing", 459 COLLAPSED: "collapsed" 460 }, 461 c = { 462 WIDTH: "width", 463 HEIGHT: "height" 464 }, 465 u = { 466 ACTIVES: ".show, .collapsing", 467 DATA_TOGGLE: '[data-toggle="collapse"]' 468 }, 469 d = function() { 470 function i(t, n) { 471 this._isTransitioning = !1, this._element = t, this._config = this._getConfig(n), this._triggerArray = e.makeArray(e('[data-toggle="collapse"][href="#' + t.id + '"],[data-toggle="collapse"][data-target="#' + t.id + '"]')); 472 for (var i = e(u.DATA_TOGGLE), r = 0; r < i.length; r++) { 473 var o = i[r], 474 a = s.getSelectorFromElement(o); 475 null !== a && e(a).filter(t).length > 0 && this._triggerArray.push(o) 476 } 477 this._parent = this._config.parent ? this._getParent() : null, this._config.parent || this._addAriaAndCollapsedClass(this._element, this._triggerArray), this._config.toggle && this.toggle() 478 } 479 var d = i.prototype; 480 return d.toggle = function() { 481 e(this._element).hasClass(h.SHOW) ? this.hide() : this.show() 482 }, d.show = function() { 483 var t = this; 484 if (!this._isTransitioning && !e(this._element).hasClass(h.SHOW)) { 485 var r, o; 486 if (this._parent && ((r = e.makeArray(e(this._parent).children().children(u.ACTIVES))).length || (r = null)), !(r && (o = e(r).data(n)) && o._isTransitioning)) { 487 var a = e.Event(l.SHOW); 488 if (e(this._element).trigger(a), !a.isDefaultPrevented()) { 489 r && (i._jQueryInterface.call(e(r), "hide"), o || e(r).data(n, null)); 490 var c = this._getDimension(); 491 e(this._element).removeClass(h.COLLAPSE).addClass(h.COLLAPSING), this._element.style[c] = 0, this._triggerArray.length && e(this._triggerArray).removeClass(h.COLLAPSED).attr("aria-expanded", !0), this.setTransitioning(!0); 492 var d = function() { 493 e(t._element).removeClass(h.COLLAPSING).addClass(h.COLLAPSE).addClass(h.SHOW), t._element.style[c] = "", t.setTransitioning(!1), e(t._element).trigger(l.SHOWN) 494 }; 495 if (s.supportsTransitionEnd()) { 496 var f = "scroll" + (c[0].toUpperCase() + c.slice(1)); 497 e(this._element).one(s.TRANSITION_END, d).emulateTransitionEnd(600), this._element.style[c] = this._element[f] + "px" 498 } else d() 499 } 500 } 501 } 502 }, d.hide = function() { 503 var t = this; 504 if (!this._isTransitioning && e(this._element).hasClass(h.SHOW)) { 505 var n = e.Event(l.HIDE); 506 if (e(this._element).trigger(n), !n.isDefaultPrevented()) { 507 var i = this._getDimension(); 508 if (this._element.style[i] = this._element.getBoundingClientRect()[i] + "px", s.reflow(this._element), e(this._element).addClass(h.COLLAPSING).removeClass(h.COLLAPSE).removeClass(h.SHOW), this._triggerArray.length) 509 for (var r = 0; r < this._triggerArray.length; r++) { 510 var o = this._triggerArray[r], 511 a = s.getSelectorFromElement(o); 512 null !== a && (e(a).hasClass(h.SHOW) || e(o).addClass(h.COLLAPSED).attr("aria-expanded", !1)) 513 } 514 this.setTransitioning(!0); 515 var c = function() { 516 t.setTransitioning(!1), e(t._element).removeClass(h.COLLAPSING).addClass(h.COLLAPSE).trigger(l.HIDDEN) 517 }; 518 this._element.style[i] = "", s.supportsTransitionEnd() ? e(this._element).one(s.TRANSITION_END, c).emulateTransitionEnd(600) : c() 519 } 520 } 521 }, d.setTransitioning = function(t) { 522 this._isTransitioning = t 523 }, d.dispose = function() { 524 e.removeData(this._element, n), this._config = null, this._parent = null, this._element = null, this._triggerArray = null, this._isTransitioning = null 525 }, d._getConfig = function(n) { 526 return n = e.extend({}, o, n), n.toggle = Boolean(n.toggle), s.typeCheckConfig(t, n, a), n 527 }, d._getDimension = function() { 528 return e(this._element).hasClass(c.WIDTH) ? c.WIDTH : c.HEIGHT 529 }, d._getParent = function() { 530 var t = this, 531 n = null; 532 s.isElement(this._config.parent) ? (n = this._config.parent, "undefined" != typeof this._config.parent.jquery && (n = this._config.parent[0])) : n = e(this._config.parent)[0]; 533 var r = '[data-toggle="collapse"][data-parent="' + this._config.parent + '"]'; 534 return e(n).find(r).each(function(e, n) { 535 t._addAriaAndCollapsedClass(i._getTargetFromElement(n), [n]) 536 }), n 537 }, d._addAriaAndCollapsedClass = function(t, n) { 538 if (t) { 539 var i = e(t).hasClass(h.SHOW); 540 n.length && e(n).toggleClass(h.COLLAPSED, !i).attr("aria-expanded", i) 541 } 542 }, i._getTargetFromElement = function(t) { 543 var n = s.getSelectorFromElement(t); 544 return n ? e(n)[0] : null 545 }, i._jQueryInterface = function(t) { 546 return this.each(function() { 547 var s = e(this), 548 r = s.data(n), 549 a = e.extend({}, o, s.data(), "object" == typeof t && t); 550 if (!r && a.toggle && /show|hide/.test(t) && (a.toggle = !1), r || (r = new i(this, a), s.data(n, r)), "string" == typeof t) { 551 if ("undefined" == typeof r[t]) throw new Error('No method named "' + t + '"'); 552 r[t]() 553 } 554 }) 555 }, r(i, null, [{ 556 key: "VERSION", 557 get: function() { 558 return "4.0.0-beta.2" 559 } 560 }, { 561 key: "Default", 562 get: function() { 563 return o 564 } 565 }]), i 566 }(); 567 return e(document).on(l.CLICK_DATA_API, u.DATA_TOGGLE, function(t) { 568 "A" === t.currentTarget.tagName && t.preventDefault(); 569 var i = e(this), 570 r = s.getSelectorFromElement(this); 571 e(r).each(function() { 572 var t = e(this), 573 s = t.data(n) ? "toggle" : i.data(); 574 d._jQueryInterface.call(t, s) 575 }) 576 }), e.fn[t] = d._jQueryInterface, e.fn[t].Constructor = d, e.fn[t].noConflict = function() { 577 return e.fn[t] = i, d._jQueryInterface 578 }, d 579 }(), 580 u = function() { 581 if ("undefined" == typeof n) throw new Error("Bootstrap dropdown require Popper.js (https://popper.js.org)"); 582 var t = "dropdown", 583 i = "bs.dropdown", 584 o = "." + i, 585 a = e.fn[t], 586 l = new RegExp("38|40|27"), 587 h = { 588 HIDE: "hide" + o, 589 HIDDEN: "hidden" + o, 590 SHOW: "show" + o, 591 SHOWN: "shown" + o, 592 CLICK: "click" + o, 593 CLICK_DATA_API: "click.bs.dropdown.data-api", 594 KEYDOWN_DATA_API: "keydown.bs.dropdown.data-api", 595 KEYUP_DATA_API: "keyup.bs.dropdown.data-api" 596 }, 597 c = { 598 DISABLED: "disabled", 599 SHOW: "show", 600 DROPUP: "dropup", 601 MENURIGHT: "dropdown-menu-right", 602 MENULEFT: "dropdown-menu-left" 603 }, 604 u = { 605 DATA_TOGGLE: '[data-toggle="dropdown"]', 606 FORM_CHILD: ".dropdown form", 607 MENU: ".dropdown-menu", 608 NAVBAR_NAV: ".navbar-nav", 609 VISIBLE_ITEMS: ".dropdown-menu .dropdown-item:not(.disabled)" 610 }, 611 d = { 612 TOP: "top-start", 613 TOPEND: "top-end", 614 BOTTOM: "bottom-start", 615 BOTTOMEND: "bottom-end" 616 }, 617 f = { 618 offset: 0, 619 flip: !0 620 }, 621 _ = { 622 offset: "(number|string|function)", 623 flip: "boolean" 624 }, 625 g = function() { 626 function a(t, e) { 627 this._element = t, this._popper = null, this._config = this._getConfig(e), this._menu = this._getMenuElement(), this._inNavbar = this._detectNavbar(), this._addEventListeners() 628 } 629 var g = a.prototype; 630 return g.toggle = function() { 631 if (!this._element.disabled && !e(this._element).hasClass(c.DISABLED)) { 632 var t = a._getParentFromElement(this._element), 633 i = e(this._menu).hasClass(c.SHOW); 634 if (a._clearMenus(), !i) { 635 var s = { 636 relatedTarget: this._element 637 }, 638 r = e.Event(h.SHOW, s); 639 if (e(t).trigger(r), !r.isDefaultPrevented()) { 640 var o = this._element; 641 e(t).hasClass(c.DROPUP) && (e(this._menu).hasClass(c.MENULEFT) || e(this._menu).hasClass(c.MENURIGHT)) && (o = t), this._popper = new n(o, this._menu, this._getPopperConfig()), "ontouchstart" in document.documentElement && !e(t).closest(u.NAVBAR_NAV).length && e("body").children().on("mouseover", null, e.noop), this._element.focus(), this._element.setAttribute("aria-expanded", !0), e(this._menu).toggleClass(c.SHOW), e(t).toggleClass(c.SHOW).trigger(e.Event(h.SHOWN, s)) 642 } 643 } 644 } 645 }, g.dispose = function() { 646 e.removeData(this._element, i), e(this._element).off(o), this._element = null, this._menu = null, null !== this._popper && this._popper.destroy(), this._popper = null 647 }, g.update = function() { 648 this._inNavbar = this._detectNavbar(), null !== this._popper && this._popper.scheduleUpdate() 649 }, g._addEventListeners = function() { 650 var t = this; 651 e(this._element).on(h.CLICK, function(e) { 652 e.preventDefault(), e.stopPropagation(), t.toggle() 653 }) 654 }, g._getConfig = function(n) { 655 return n = e.extend({}, this.constructor.Default, e(this._element).data(), n), s.typeCheckConfig(t, n, this.constructor.DefaultType), n 656 }, g._getMenuElement = function() { 657 if (!this._menu) { 658 var t = a._getParentFromElement(this._element); 659 this._menu = e(t).find(u.MENU)[0] 660 } 661 return this._menu 662 }, g._getPlacement = function() { 663 var t = e(this._element).parent(), 664 n = d.BOTTOM; 665 return t.hasClass(c.DROPUP) ? (n = d.TOP, e(this._menu).hasClass(c.MENURIGHT) && (n = d.TOPEND)) : e(this._menu).hasClass(c.MENURIGHT) && (n = d.BOTTOMEND), n 666 }, g._detectNavbar = function() { 667 return e(this._element).closest(".navbar").length > 0 668 }, g._getPopperConfig = function() { 669 var t = this, 670 n = {}; 671 "function" == typeof this._config.offset ? n.fn = function(n) { 672 return n.offsets = e.extend({}, n.offsets, t._config.offset(n.offsets) || {}), n 673 } : n.offset = this._config.offset; 674 var i = { 675 placement: this._getPlacement(), 676 modifiers: { 677 offset: n, 678 flip: { 679 enabled: this._config.flip 680 } 681 } 682 }; 683 return this._inNavbar && (i.modifiers.applyStyle = { 684 enabled: !this._inNavbar 685 }), i 686 }, a._jQueryInterface = function(t) { 687 return this.each(function() { 688 var n = e(this).data(i), 689 s = "object" == typeof t ? t : null; 690 if (n || (n = new a(this, s), e(this).data(i, n)), "string" == typeof t) { 691 if ("undefined" == typeof n[t]) throw new Error('No method named "' + t + '"'); 692 n[t]() 693 } 694 }) 695 }, a._clearMenus = function(t) { 696 if (!t || 3 !== t.which && ("keyup" !== t.type || 9 === t.which)) 697 for (var n = e.makeArray(e(u.DATA_TOGGLE)), s = 0; s < n.length; s++) { 698 var r = a._getParentFromElement(n[s]), 699 o = e(n[s]).data(i), 700 l = { 701 relatedTarget: n[s] 702 }; 703 if (o) { 704 var d = o._menu; 705 if (e(r).hasClass(c.SHOW) && !(t && ("click" === t.type && /input|textarea/i.test(t.target.tagName) || "keyup" === t.type && 9 === t.which) && e.contains(r, t.target))) { 706 var f = e.Event(h.HIDE, l); 707 e(r).trigger(f), f.isDefaultPrevented() || ("ontouchstart" in document.documentElement && e("body").children().off("mouseover", null, e.noop), n[s].setAttribute("aria-expanded", "false"), e(d).removeClass(c.SHOW), e(r).removeClass(c.SHOW).trigger(e.Event(h.HIDDEN, l))) 708 } 709 } 710 } 711 }, a._getParentFromElement = function(t) { 712 var n, i = s.getSelectorFromElement(t); 713 return i && (n = e(i)[0]), n || t.parentNode 714 }, a._dataApiKeydownHandler = function(t) { 715 if (!(!l.test(t.which) || /button/i.test(t.target.tagName) && 32 === t.which || /input|textarea/i.test(t.target.tagName) || (t.preventDefault(), t.stopPropagation(), this.disabled || e(this).hasClass(c.DISABLED)))) { 716 var n = a._getParentFromElement(this), 717 i = e(n).hasClass(c.SHOW); 718 if ((i || 27 === t.which && 32 === t.which) && (!i || 27 !== t.which && 32 !== t.which)) { 719 var s = e(n).find(u.VISIBLE_ITEMS).get(); 720 if (s.length) { 721 var r = s.indexOf(t.target); 722 38 === t.which && r > 0 && r--, 40 === t.which && r < s.length - 1 && r++, r < 0 && (r = 0), s[r].focus() 723 } 724 } else { 725 if (27 === t.which) { 726 var o = e(n).find(u.DATA_TOGGLE)[0]; 727 e(o).trigger("focus") 728 } 729 e(this).trigger("click") 730 } 731 } 732 }, r(a, null, [{ 733 key: "VERSION", 734 get: function() { 735 return "4.0.0-beta.2" 736 } 737 }, { 738 key: "Default", 739 get: function() { 740 return f 741 } 742 }, { 743 key: "DefaultType", 744 get: function() { 745 return _ 746 } 747 }]), a 748 }(); 749 return e(document).on(h.KEYDOWN_DATA_API, u.DATA_TOGGLE, g._dataApiKeydownHandler).on(h.KEYDOWN_DATA_API, u.MENU, g._dataApiKeydownHandler).on(h.CLICK_DATA_API + " " + h.KEYUP_DATA_API, g._clearMenus).on(h.CLICK_DATA_API, u.DATA_TOGGLE, function(t) { 750 t.preventDefault(), t.stopPropagation(), g._jQueryInterface.call(e(this), "toggle") 751 }).on(h.CLICK_DATA_API, u.FORM_CHILD, function(t) { 752 t.stopPropagation() 753 }), e.fn[t] = g._jQueryInterface, e.fn[t].Constructor = g, e.fn[t].noConflict = function() { 754 return e.fn[t] = a, g._jQueryInterface 755 }, g 756 }(), 757 d = function() { 758 var t = "modal", 759 n = ".bs.modal", 760 i = e.fn[t], 761 o = { 762 backdrop: !0, 763 keyboard: !0, 764 focus: !0, 765 show: !0 766 }, 767 a = { 768 backdrop: "(boolean|string)", 769 keyboard: "boolean", 770 focus: "boolean", 771 show: "boolean" 772 }, 773 l = { 774 HIDE: "hide.bs.modal", 775 HIDDEN: "hidden.bs.modal", 776 SHOW: "show.bs.modal", 777 SHOWN: "shown.bs.modal", 778 FOCUSIN: "focusin.bs.modal", 779 RESIZE: "resize.bs.modal", 780 CLICK_DISMISS: "click.dismiss.bs.modal", 781 KEYDOWN_DISMISS: "keydown.dismiss.bs.modal", 782 MOUSEUP_DISMISS: "mouseup.dismiss.bs.modal", 783 MOUSEDOWN_DISMISS: "mousedown.dismiss.bs.modal", 784 CLICK_DATA_API: "click.bs.modal.data-api" 785 }, 786 h = { 787 SCROLLBAR_MEASURER: "modal-scrollbar-measure", 788 BACKDROP: "modal-backdrop", 789 OPEN: "modal-open", 790 FADE: "fade", 791 SHOW: "show" 792 }, 793 c = { 794 DIALOG: ".modal-dialog", 795 DATA_TOGGLE: '[data-toggle="modal"]', 796 DATA_DISMISS: '[data-dismiss="modal"]', 797 FIXED_CONTENT: ".fixed-top, .fixed-bottom, .is-fixed, .sticky-top", 798 STICKY_CONTENT: ".sticky-top", 799 NAVBAR_TOGGLER: ".navbar-toggler" 800 }, 801 u = function() { 802 function i(t, n) { 803 this._config = this._getConfig(n), this._element = t, this._dialog = e(t).find(c.DIALOG)[0], this._backdrop = null, this._isShown = !1, this._isBodyOverflowing = !1, this._ignoreBackdropClick = !1, this._originalBodyPadding = 0, this._scrollbarWidth = 0 804 } 805 var u = i.prototype; 806 return u.toggle = function(t) { 807 return this._isShown ? this.hide() : this.show(t) 808 }, u.show = function(t) { 809 var n = this; 810 if (!this._isTransitioning && !this._isShown) { 811 s.supportsTransitionEnd() && e(this._element).hasClass(h.FADE) && (this._isTransitioning = !0); 812 var i = e.Event(l.SHOW, { 813 relatedTarget: t 814 }); 815 e(this._element).trigger(i), this._isShown || i.isDefaultPrevented() || (this._isShown = !0, this._checkScrollbar(), this._setScrollbar(), this._adjustDialog(), e(document.body).addClass(h.OPEN), this._setEscapeEvent(), this._setResizeEvent(), e(this._element).on(l.CLICK_DISMISS, c.DATA_DISMISS, function(t) { 816 return n.hide(t) 817 }), e(this._dialog).on(l.MOUSEDOWN_DISMISS, function() { 818 e(n._element).one(l.MOUSEUP_DISMISS, function(t) { 819 e(t.target).is(n._element) && (n._ignoreBackdropClick = !0) 820 }) 821 }), this._showBackdrop(function() { 822 return n._showElement(t) 823 })) 824 } 825 }, u.hide = function(t) { 826 var n = this; 827 if (t && t.preventDefault(), !this._isTransitioning && this._isShown) { 828 var i = e.Event(l.HIDE); 829 if (e(this._element).trigger(i), this._isShown && !i.isDefaultPrevented()) { 830 this._isShown = !1; 831 var r = s.supportsTransitionEnd() && e(this._element).hasClass(h.FADE); 832 r && (this._isTransitioning = !0), this._setEscapeEvent(), this._setResizeEvent(), e(document).off(l.FOCUSIN), e(this._element).removeClass(h.SHOW), e(this._element).off(l.CLICK_DISMISS), e(this._dialog).off(l.MOUSEDOWN_DISMISS), r ? e(this._element).one(s.TRANSITION_END, function(t) { 833 return n._hideModal(t) 834 }).emulateTransitionEnd(300) : this._hideModal() 835 } 836 } 837 }, u.dispose = function() { 838 e.removeData(this._element, "bs.modal"), e(window, document, this._element, this._backdrop).off(n), this._config = null, this._element = null, this._dialog = null, this._backdrop = null, this._isShown = null, this._isBodyOverflowing = null, this._ignoreBackdropClick = null, this._scrollbarWidth = null 839 }, u.handleUpdate = function() { 840 this._adjustDialog() 841 }, u._getConfig = function(n) { 842 return n = e.extend({}, o, n), s.typeCheckConfig(t, n, a), n 843 }, u._showElement = function(t) { 844 var n = this, 845 i = s.supportsTransitionEnd() && e(this._element).hasClass(h.FADE); 846 this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE || document.body.appendChild(this._element), this._element.style.display = "block", this._element.removeAttribute("aria-hidden"), this._element.scrollTop = 0, i && s.reflow(this._element), e(this._element).addClass(h.SHOW), this._config.focus && this._enforceFocus(); 847 var r = e.Event(l.SHOWN, { 848 relatedTarget: t 849 }), 850 o = function() { 851 n._config.focus && n._element.focus(), n._isTransitioning = !1, e(n._element).trigger(r) 852 }; 853 i ? e(this._dialog).one(s.TRANSITION_END, o).emulateTransitionEnd(300) : o() 854 }, u._enforceFocus = function() { 855 var t = this; 856 e(document).off(l.FOCUSIN).on(l.FOCUSIN, function(n) { 857 document === n.target || t._element === n.target || e(t._element).has(n.target).length || t._element.focus() 858 }) 859 }, u._setEscapeEvent = function() { 860 var t = this; 861 this._isShown && this._config.keyboard ? e(this._element).on(l.KEYDOWN_DISMISS, function(e) { 862 27 === e.which && (e.preventDefault(), t.hide()) 863 }) : this._isShown || e(this._element).off(l.KEYDOWN_DISMISS) 864 }, u._setResizeEvent = function() { 865 var t = this; 866 this._isShown ? e(window).on(l.RESIZE, function(e) { 867 return t.handleUpdate(e) 868 }) : e(window).off(l.RESIZE) 869 }, u._hideModal = function() { 870 var t = this; 871 this._element.style.display = "none", this._element.setAttribute("aria-hidden", !0), this._isTransitioning = !1, this._showBackdrop(function() { 872 e(document.body).removeClass(h.OPEN), t._resetAdjustments(), t._resetScrollbar(), e(t._element).trigger(l.HIDDEN) 873 }) 874 }, u._removeBackdrop = function() { 875 this._backdrop && (e(this._backdrop).remove(), this._backdrop = null) 876 }, u._showBackdrop = function(t) { 877 var n = this, 878 i = e(this._element).hasClass(h.FADE) ? h.FADE : ""; 879 if (this._isShown && this._config.backdrop) { 880 var r = s.supportsTransitionEnd() && i; 881 if (this._backdrop = document.createElement("div"), this._backdrop.className = h.BACKDROP, i && e(this._backdrop).addClass(i), e(this._backdrop).appendTo(document.body), e(this._element).on(l.CLICK_DISMISS, function(t) { 882 n._ignoreBackdropClick ? n._ignoreBackdropClick = !1 : t.target === t.currentTarget && ("static" === n._config.backdrop ? n._element.focus() : n.hide()) 883 }), r && s.reflow(this._backdrop), e(this._backdrop).addClass(h.SHOW), !t) return; 884 if (!r) return void t(); 885 e(this._backdrop).one(s.TRANSITION_END, t).emulateTransitionEnd(150) 886 } else if (!this._isShown && this._backdrop) { 887 e(this._backdrop).removeClass(h.SHOW); 888 var o = function() { 889 n._removeBackdrop(), t && t() 890 }; 891 s.supportsTransitionEnd() && e(this._element).hasClass(h.FADE) ? e(this._backdrop).one(s.TRANSITION_END, o).emulateTransitionEnd(150) : o() 892 } else t && t() 893 }, u._adjustDialog = function() { 894 var t = this._element.scrollHeight > document.documentElement.clientHeight; 895 !this._isBodyOverflowing && t && (this._element.style.paddingLeft = this._scrollbarWidth + "px"), this._isBodyOverflowing && !t && (this._element.style.paddingRight = this._scrollbarWidth + "px") 896 }, u._resetAdjustments = function() { 897 this._element.style.paddingLeft = "", this._element.style.paddingRight = "" 898 }, u._checkScrollbar = function() { 899 var t = document.body.getBoundingClientRect(); 900 this._isBodyOverflowing = t.left + t.right < window.innerWidth, this._scrollbarWidth = this._getScrollbarWidth() 901 }, u._setScrollbar = function() { 902 var t = this; 903 if (this._isBodyOverflowing) { 904 e(c.FIXED_CONTENT).each(function(n, i) { 905 var s = e(i)[0].style.paddingRight, 906 r = e(i).css("padding-right"); 907 e(i).data("padding-right", s).css("padding-right", parseFloat(r) + t._scrollbarWidth + "px") 908 }), e(c.STICKY_CONTENT).each(function(n, i) { 909 var s = e(i)[0].style.marginRight, 910 r = e(i).css("margin-right"); 911 e(i).data("margin-right", s).css("margin-right", parseFloat(r) - t._scrollbarWidth + "px") 912 }), e(c.NAVBAR_TOGGLER).each(function(n, i) { 913 var s = e(i)[0].style.marginRight, 914 r = e(i).css("margin-right"); 915 e(i).data("margin-right", s).css("margin-right", parseFloat(r) + t._scrollbarWidth + "px") 916 }); 917 var n = document.body.style.paddingRight, 918 i = e("body").css("padding-right"); 919 e("body").data("padding-right", n).css("padding-right", parseFloat(i) + this._scrollbarWidth + "px") 920 } 921 }, u._resetScrollbar = function() { 922 e(c.FIXED_CONTENT).each(function(t, n) { 923 var i = e(n).data("padding-right"); 924 "undefined" != typeof i && e(n).css("padding-right", i).removeData("padding-right") 925 }), e(c.STICKY_CONTENT + ", " + c.NAVBAR_TOGGLER).each(function(t, n) { 926 var i = e(n).data("margin-right"); 927 "undefined" != typeof i && e(n).css("margin-right", i).removeData("margin-right") 928 }); 929 var t = e("body").data("padding-right"); 930 "undefined" != typeof t && e("body").css("padding-right", t).removeData("padding-right") 931 }, u._getScrollbarWidth = function() { 932 var t = document.createElement("div"); 933 t.className = h.SCROLLBAR_MEASURER, document.body.appendChild(t); 934 var e = t.getBoundingClientRect().width - t.clientWidth; 935 return document.body.removeChild(t), e 936 }, i._jQueryInterface = function(t, n) { 937 return this.each(function() { 938 var s = e(this).data("bs.modal"), 939 r = e.extend({}, i.Default, e(this).data(), "object" == typeof t && t); 940 if (s || (s = new i(this, r), e(this).data("bs.modal", s)), "string" == typeof t) { 941 if ("undefined" == typeof s[t]) throw new Error('No method named "' + t + '"'); 942 s[t](n) 943 } else r.show && s.show(n) 944 }) 945 }, r(i, null, [{ 946 key: "VERSION", 947 get: function() { 948 return "4.0.0-beta.2" 949 } 950 }, { 951 key: "Default", 952 get: function() { 953 return o 954 } 955 }]), i 956 }(); 957 return e(document).on(l.CLICK_DATA_API, c.DATA_TOGGLE, function(t) { 958 var n, i = this, 959 r = s.getSelectorFromElement(this); 960 r && (n = e(r)[0]); 961 var o = e(n).data("bs.modal") ? "toggle" : e.extend({}, e(n).data(), e(this).data()); 962 "A" !== this.tagName && "AREA" !== this.tagName || t.preventDefault(); 963 var a = e(n).one(l.SHOW, function(t) { 964 t.isDefaultPrevented() || a.one(l.HIDDEN, function() { 965 e(i).is(":visible") && i.focus() 966 }) 967 }); 968 u._jQueryInterface.call(e(n), o, this) 969 }), e.fn[t] = u._jQueryInterface, e.fn[t].Constructor = u, e.fn[t].noConflict = function() { 970 return e.fn[t] = i, u._jQueryInterface 971 }, u 972 }(), 973 f = function() { 974 if ("undefined" == typeof n) throw new Error("Bootstrap tooltips require Popper.js (https://popper.js.org)"); 975 var t = "tooltip", 976 i = ".bs.tooltip", 977 o = e.fn[t], 978 a = new RegExp("(^|\\s)bs-tooltip\\S+", "g"), 979 l = { 980 animation: "boolean", 981 template: "string", 982 title: "(string|element|function)", 983 trigger: "string", 984 delay: "(number|object)", 985 html: "boolean", 986 selector: "(string|boolean)", 987 placement: "(string|function)", 988 offset: "(number|string)", 989 container: "(string|element|boolean)", 990 fallbackPlacement: "(string|array)" 991 }, 992 h = { 993 AUTO: "auto", 994 TOP: "top", 995 RIGHT: "right", 996 BOTTOM: "bottom", 997 LEFT: "left" 998 }, 999 c = { 1000 animation: !0, 1001 template: '<div class="tooltip" role="tooltip"><div class="arrow"></div><div class="tooltip-inner"></div></div>', 1002 trigger: "hover focus", 1003 title: "", 1004 delay: 0, 1005 html: !1, 1006 selector: !1, 1007 placement: "top", 1008 offset: 0, 1009 container: !1, 1010 fallbackPlacement: "flip" 1011 }, 1012 u = { 1013 SHOW: "show", 1014 OUT: "out" 1015 }, 1016 d = { 1017 HIDE: "hide" + i, 1018 HIDDEN: "hidden" + i, 1019 SHOW: "show" + i, 1020 SHOWN: "shown" + i, 1021 INSERTED: "inserted" + i, 1022 CLICK: "click" + i, 1023 FOCUSIN: "focusin" + i, 1024 FOCUSOUT: "focusout" + i, 1025 MOUSEENTER: "mouseenter" + i, 1026 MOUSELEAVE: "mouseleave" + i 1027 }, 1028 f = { 1029 FADE: "fade", 1030 SHOW: "show" 1031 }, 1032 _ = { 1033 TOOLTIP: ".tooltip", 1034 TOOLTIP_INNER: ".tooltip-inner", 1035 ARROW: ".arrow" 1036 }, 1037 g = { 1038 HOVER: "hover", 1039 FOCUS: "focus", 1040 CLICK: "click", 1041 MANUAL: "manual" 1042 }, 1043 m = function() { 1044 function o(t, e) { 1045 this._isEnabled = !0, this._timeout = 0, this._hoverState = "", this._activeTrigger = {}, this._popper = null, this.element = t, this.config = this._getConfig(e), this.tip = null, this._setListeners() 1046 } 1047 var m = o.prototype; 1048 return m.enable = function() { 1049 this._isEnabled = !0 1050 }, m.disable = function() { 1051 this._isEnabled = !1 1052 }, m.toggleEnabled = function() { 1053 this._isEnabled = !this._isEnabled 1054 }, m.toggle = function(t) { 1055 if (this._isEnabled) 1056 if (t) { 1057 var n = this.constructor.DATA_KEY, 1058 i = e(t.currentTarget).data(n); 1059 i || (i = new this.constructor(t.currentTarget, this._getDelegateConfig()), e(t.currentTarget).data(n, i)), i._activeTrigger.click = !i._activeTrigger.click, i._isWithActiveTrigger() ? i._enter(null, i) : i._leave(null, i) 1060 } else { 1061 if (e(this.getTipElement()).hasClass(f.SHOW)) return void this._leave(null, this); 1062 this._enter(null, this) 1063 } 1064 }, m.dispose = function() { 1065 clearTimeout(this._timeout), e.removeData(this.element, this.constructor.DATA_KEY), e(this.element).off(this.constructor.EVENT_KEY), e(this.element).closest(".modal").off("hide.bs.modal"), this.tip && e(this.tip).remove(), this._isEnabled = null, this._timeout = null, this._hoverState = null, this._activeTrigger = null, null !== this._popper && this._popper.destroy(), this._popper = null, this.element = null, this.config = null, this.tip = null 1066 }, m.show = function() { 1067 var t = this; 1068 if ("none" === e(this.element).css("display")) throw new Error("Please use show on visible elements"); 1069 var i = e.Event(this.constructor.Event.SHOW); 1070 if (this.isWithContent() && this._isEnabled) { 1071 e(this.element).trigger(i); 1072 var r = e.contains(this.element.ownerDocument.documentElement, this.element); 1073 if (i.isDefaultPrevented() || !r) return; 1074 var a = this.getTipElement(), 1075 l = s.getUID(this.constructor.NAME); 1076 a.setAttribute("id", l), this.element.setAttribute("aria-describedby", l), this.setContent(), this.config.animation && e(a).addClass(f.FADE); 1077 var h = "function" == typeof this.config.placement ? this.config.placement.call(this, a, this.element) : this.config.placement, 1078 c = this._getAttachment(h); 1079 this.addAttachmentClass(c); 1080 var d = !1 === this.config.container ? document.body : e(this.config.container); 1081 e(a).data(this.constructor.DATA_KEY, this), e.contains(this.element.ownerDocument.documentElement, this.tip) || e(a).appendTo(d), e(this.element).trigger(this.constructor.Event.INSERTED), this._popper = new n(this.element, a, { 1082 placement: c, 1083 modifiers: { 1084 offset: { 1085 offset: this.config.offset 1086 }, 1087 flip: { 1088 behavior: this.config.fallbackPlacement 1089 }, 1090 arrow: { 1091 element: _.ARROW 1092 } 1093 }, 1094 onCreate: function(e) { 1095 e.originalPlacement !== e.placement && t._handlePopperPlacementChange(e) 1096 }, 1097 onUpdate: function(e) { 1098 t._handlePopperPlacementChange(e) 1099 } 1100 }), e(a).addClass(f.SHOW), "ontouchstart" in document.documentElement && e("body").children().on("mouseover", null, e.noop); 1101 var g = function() { 1102 t.config.animation && t._fixTransition(); 1103 var n = t._hoverState; 1104 t._hoverState = null, e(t.element).trigger(t.constructor.Event.SHOWN), n === u.OUT && t._leave(null, t) 1105 }; 1106 s.supportsTransitionEnd() && e(this.tip).hasClass(f.FADE) ? e(this.tip).one(s.TRANSITION_END, g).emulateTransitionEnd(o._TRANSITION_DURATION) : g() 1107 } 1108 }, m.hide = function(t) { 1109 var n = this, 1110 i = this.getTipElement(), 1111 r = e.Event(this.constructor.Event.HIDE), 1112 o = function() { 1113 n._hoverState !== u.SHOW && i.parentNode && i.parentNode.removeChild(i), n._cleanTipClass(), n.element.removeAttribute("aria-describedby"), e(n.element).trigger(n.constructor.Event.HIDDEN), null !== n._popper && n._popper.destroy(), t && t() 1114 }; 1115 e(this.element).trigger(r), r.isDefaultPrevented() || (e(i).removeClass(f.SHOW), "ontouchstart" in document.documentElement && e("body").children().off("mouseover", null, e.noop), this._activeTrigger[g.CLICK] = !1, this._activeTrigger[g.FOCUS] = !1, this._activeTrigger[g.HOVER] = !1, s.supportsTransitionEnd() && e(this.tip).hasClass(f.FADE) ? e(i).one(s.TRANSITION_END, o).emulateTransitionEnd(150) : o(), this._hoverState = "") 1116 }, m.update = function() { 1117 null !== this._popper && this._popper.scheduleUpdate() 1118 }, m.isWithContent = function() { 1119 return Boolean(this.getTitle()) 1120 }, m.addAttachmentClass = function(t) { 1121 e(this.getTipElement()).addClass("bs-tooltip-" + t) 1122 }, m.getTipElement = function() { 1123 return this.tip = this.tip || e(this.config.template)[0], this.tip 1124 }, m.setContent = function() { 1125 var t = e(this.getTipElement()); 1126 this.setElementContent(t.find(_.TOOLTIP_INNER), this.getTitle()), t.removeClass(f.FADE + " " + f.SHOW) 1127 }, m.setElementContent = function(t, n) { 1128 var i = this.config.html; 1129 "object" == typeof n && (n.nodeType || n.jquery) ? i ? e(n).parent().is(t) || t.empty().append(n) : t.text(e(n).text()) : t[i ? "html" : "text"](n) 1130 }, m.getTitle = function() { 1131 var t = this.element.getAttribute("data-original-title"); 1132 return t || (t = "function" == typeof this.config.title ? this.config.title.call(this.element) : this.config.title), t 1133 }, m._getAttachment = function(t) { 1134 return h[t.toUpperCase()] 1135 }, m._setListeners = function() { 1136 var t = this; 1137 this.config.trigger.split(" ").forEach(function(n) { 1138 if ("click" === n) e(t.element).on(t.constructor.Event.CLICK, t.config.selector, function(e) { 1139 return t.toggle(e) 1140 }); 1141 else if (n !== g.MANUAL) { 1142 var i = n === g.HOVER ? t.constructor.Event.MOUSEENTER : t.constructor.Event.FOCUSIN, 1143 s = n === g.HOVER ? t.constructor.Event.MOUSELEAVE : t.constructor.Event.FOCUSOUT; 1144 e(t.element).on(i, t.config.selector, function(e) { 1145 return t._enter(e) 1146 }).on(s, t.config.selector, function(e) { 1147 return t._leave(e) 1148 }) 1149 } 1150 e(t.element).closest(".modal").on("hide.bs.modal", function() { 1151 return t.hide() 1152 }) 1153 }), this.config.selector ? this.config = e.extend({}, this.config, { 1154 trigger: "manual", 1155 selector: "" 1156 }) : this._fixTitle() 1157 }, m._fixTitle = function() { 1158 var t = typeof this.element.getAttribute("data-original-title"); 1159 (this.element.getAttribute("title") || "string" !== t) && (this.element.setAttribute("data-original-title", this.element.getAttribute("title") || ""), this.element.setAttribute("title", "")) 1160 }, m._enter = function(t, n) { 1161 var i = this.constructor.DATA_KEY; 1162 (n = n || e(t.currentTarget).data(i)) || (n = new this.constructor(t.currentTarget, this._getDelegateConfig()), e(t.currentTarget).data(i, n)), t && (n._activeTrigger["focusin" === t.type ? g.FOCUS : g.HOVER] = !0), e(n.getTipElement()).hasClass(f.SHOW) || n._hoverState === u.SHOW ? n._hoverState = u.SHOW : (clearTimeout(n._timeout), n._hoverState = u.SHOW, n.config.delay && n.config.delay.show ? n._timeout = setTimeout(function() { 1163 n._hoverState === u.SHOW && n.show() 1164 }, n.config.delay.show) : n.show()) 1165 }, m._leave = function(t, n) { 1166 var i = this.constructor.DATA_KEY; 1167 (n = n || e(t.currentTarget).data(i)) || (n = new this.constructor(t.currentTarget, this._getDelegateConfig()), e(t.currentTarget).data(i, n)), t && (n._activeTrigger["focusout" === t.type ? g.FOCUS : g.HOVER] = !1), n._isWithActiveTrigger() || (clearTimeout(n._timeout), n._hoverState = u.OUT, n.config.delay && n.config.delay.hide ? n._timeout = setTimeout(function() { 1168 n._hoverState === u.OUT && n.hide() 1169 }, n.config.delay.hide) : n.hide()) 1170 }, m._isWithActiveTrigger = function() { 1171 for (var t in this._activeTrigger) 1172 if (this._activeTrigger[t]) return !0; 1173 return !1 1174 }, m._getConfig = function(n) { 1175 return "number" == typeof(n = e.extend({}, this.constructor.Default, e(this.element).data(), n)).delay && (n.delay = { 1176 show: n.delay, 1177 hide: n.delay 1178 }), "number" == typeof n.title && (n.title = n.title.toString()), "number" == typeof n.content && (n.content = n.content.toString()), s.typeCheckConfig(t, n, this.constructor.DefaultType), n 1179 }, m._getDelegateConfig = function() { 1180 var t = {}; 1181 if (this.config) 1182 for (var e in this.config) this.constructor.Default[e] !== this.config[e] && (t[e] = this.config[e]); 1183 return t 1184 }, m._cleanTipClass = function() { 1185 var t = e(this.getTipElement()), 1186 n = t.attr("class").match(a); 1187 null !== n && n.length > 0 && t.removeClass(n.join("")) 1188 }, m._handlePopperPlacementChange = function(t) { 1189 this._cleanTipClass(), this.addAttachmentClass(this._getAttachment(t.placement)) 1190 }, m._fixTransition = function() { 1191 var t = this.getTipElement(), 1192 n = this.config.animation; 1193 null === t.getAttribute("x-placement") && (e(t).removeClass(f.FADE), this.config.animation = !1, this.hide(), this.show(), this.config.animation = n) 1194 }, o._jQueryInterface = function(t) { 1195 return this.each(function() { 1196 var n = e(this).data("bs.tooltip"), 1197 i = "object" == typeof t && t; 1198 if ((n || !/dispose|hide/.test(t)) && (n || (n = new o(this, i), e(this).data("bs.tooltip", n)), "string" == typeof t)) { 1199 if ("undefined" == typeof n[t]) throw new Error('No method named "' + t + '"'); 1200 n[t]() 1201 } 1202 }) 1203 }, r(o, null, [{ 1204 key: "VERSION", 1205 get: function() { 1206 return "4.0.0-beta.2" 1207 } 1208 }, { 1209 key: "Default", 1210 get: function() { 1211 return c 1212 } 1213 }, { 1214 key: "NAME", 1215 get: function() { 1216 return t 1217 } 1218 }, { 1219 key: "DATA_KEY", 1220 get: function() { 1221 return "bs.tooltip" 1222 } 1223 }, { 1224 key: "Event", 1225 get: function() { 1226 return d 1227 } 1228 }, { 1229 key: "EVENT_KEY", 1230 get: function() { 1231 return i 1232 } 1233 }, { 1234 key: "DefaultType", 1235 get: function() { 1236 return l 1237 } 1238 }]), o 1239 }(); 1240 return e.fn[t] = m._jQueryInterface, e.fn[t].Constructor = m, e.fn[t].noConflict = function() { 1241 return e.fn[t] = o, m._jQueryInterface 1242 }, m 1243 }(), 1244 _ = function() { 1245 var t = "popover", 1246 n = ".bs.popover", 1247 i = e.fn[t], 1248 s = new RegExp("(^|\\s)bs-popover\\S+", "g"), 1249 a = e.extend({}, f.Default, { 1250 placement: "right", 1251 trigger: "click", 1252 content: "", 1253 template: '<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>' 1254 }), 1255 l = e.extend({}, f.DefaultType, { 1256 content: "(string|element|function)" 1257 }), 1258 h = { 1259 FADE: "fade", 1260 SHOW: "show" 1261 }, 1262 c = { 1263 TITLE: ".popover-header", 1264 CONTENT: ".popover-body" 1265 }, 1266 u = { 1267 HIDE: "hide" + n, 1268 HIDDEN: "hidden" + n, 1269 SHOW: "show" + n, 1270 SHOWN: "shown" + n, 1271 INSERTED: "inserted" + n, 1272 CLICK: "click" + n, 1273 FOCUSIN: "focusin" + n, 1274 FOCUSOUT: "focusout" + n, 1275 MOUSEENTER: "mouseenter" + n, 1276 MOUSELEAVE: "mouseleave" + n 1277 }, 1278 d = function(i) { 1279 function d() { 1280 return i.apply(this, arguments) || this 1281 } 1282 o(d, i); 1283 var f = d.prototype; 1284 return f.isWithContent = function() { 1285 return this.getTitle() || this._getContent() 1286 }, f.addAttachmentClass = function(t) { 1287 e(this.getTipElement()).addClass("bs-popover-" + t) 1288 }, f.getTipElement = function() { 1289 return this.tip = this.tip || e(this.config.template)[0], this.tip 1290 }, f.setContent = function() { 1291 var t = e(this.getTipElement()); 1292 this.setElementContent(t.find(c.TITLE), this.getTitle()), this.setElementContent(t.find(c.CONTENT), this._getContent()), t.removeClass(h.FADE + " " + h.SHOW) 1293 }, f._getContent = function() { 1294 return this.element.getAttribute("data-content") || ("function" == typeof this.config.content ? this.config.content.call(this.element) : this.config.content) 1295 }, f._cleanTipClass = function() { 1296 var t = e(this.getTipElement()), 1297 n = t.attr("class").match(s); 1298 null !== n && n.length > 0 && t.removeClass(n.join("")) 1299 }, d._jQueryInterface = function(t) { 1300 return this.each(function() { 1301 var n = e(this).data("bs.popover"), 1302 i = "object" == typeof t ? t : null; 1303 if ((n || !/destroy|hide/.test(t)) && (n || (n = new d(this, i), e(this).data("bs.popover", n)), "string" == typeof t)) { 1304 if ("undefined" == typeof n[t]) throw new Error('No method named "' + t + '"'); 1305 n[t]() 1306 } 1307 }) 1308 }, r(d, null, [{ 1309 key: "VERSION", 1310 get: function() { 1311 return "4.0.0-beta.2" 1312 } 1313 }, { 1314 key: "Default", 1315 get: function() { 1316 return a 1317 } 1318 }, { 1319 key: "NAME", 1320 get: function() { 1321 return t 1322 } 1323 }, { 1324 key: "DATA_KEY", 1325 get: function() { 1326 return "bs.popover" 1327 } 1328 }, { 1329 key: "Event", 1330 get: function() { 1331 return u 1332 } 1333 }, { 1334 key: "EVENT_KEY", 1335 get: function() { 1336 return n 1337 } 1338 }, { 1339 key: "DefaultType", 1340 get: function() { 1341 return l 1342 } 1343 }]), d 1344 }(f); 1345 return e.fn[t] = d._jQueryInterface, e.fn[t].Constructor = d, e.fn[t].noConflict = function() { 1346 return e.fn[t] = i, d._jQueryInterface 1347 }, d 1348 }(), 1349 g = function() { 1350 var t = "scrollspy", 1351 n = e.fn[t], 1352 i = { 1353 offset: 10, 1354 method: "auto", 1355 target: "" 1356 }, 1357 o = { 1358 offset: "number", 1359 method: "string", 1360 target: "(string|element)" 1361 }, 1362 a = { 1363 ACTIVATE: "activate.bs.scrollspy", 1364 SCROLL: "scroll.bs.scrollspy", 1365 LOAD_DATA_API: "load.bs.scrollspy.data-api" 1366 }, 1367 l = { 1368 DROPDOWN_ITEM: "dropdown-item", 1369 DROPDOWN_MENU: "dropdown-menu", 1370 ACTIVE: "active" 1371 }, 1372 h = { 1373 DATA_SPY: '[data-spy="scroll"]', 1374 ACTIVE: ".active", 1375 NAV_LIST_GROUP: ".nav, .list-group", 1376 NAV_LINKS: ".nav-link", 1377 NAV_ITEMS: ".nav-item", 1378 LIST_ITEMS: ".list-group-item", 1379 DROPDOWN: ".dropdown", 1380 DROPDOWN_ITEMS: ".dropdown-item", 1381 DROPDOWN_TOGGLE: ".dropdown-toggle" 1382 }, 1383 c = { 1384 OFFSET: "offset", 1385 POSITION: "position" 1386 }, 1387 u = function() { 1388 function n(t, n) { 1389 var i = this; 1390 this._element = t, this._scrollElement = "BODY" === t.tagName ? window : t, this._config = this._getConfig(n), this._selector = this._config.target + " " + h.NAV_LINKS + "," + this._config.target + " " + h.LIST_ITEMS + "," + this._config.target + " " + h.DROPDOWN_ITEMS, this._offsets = [], this._targets = [], this._activeTarget = null, this._scrollHeight = 0, e(this._scrollElement).on(a.SCROLL, function(t) { 1391 return i._process(t) 1392 }), this.refresh(), this._process() 1393 } 1394 var u = n.prototype; 1395 return u.refresh = function() { 1396 var t = this, 1397 n = this._scrollElement !== this._scrollElement.window ? c.POSITION : c.OFFSET, 1398 i = "auto" === this._config.method ? n : this._config.method, 1399 r = i === c.POSITION ? this._getScrollTop() : 0; 1400 this._offsets = [], this._targets = [], this._scrollHeight = this._getScrollHeight(), e.makeArray(e(this._selector)).map(function(t) { 1401 var n, o = s.getSelectorFromElement(t); 1402 if (o && (n = e(o)[0]), n) { 1403 var a = n.getBoundingClientRect(); 1404 if (a.width || a.height) return [e(n)[i]().top + r, o] 1405 } 1406 return null 1407 }).filter(function(t) { 1408 return t 1409 }).sort(function(t, e) { 1410 return t[0] - e[0] 1411 }).forEach(function(e) { 1412 t._offsets.push(e[0]), t._targets.push(e[1]) 1413 }) 1414 }, u.dispose = function() { 1415 e.removeData(this._element, "bs.scrollspy"), e(this._scrollElement).off(".bs.scrollspy"), this._element = null, this._scrollElement = null, this._config = null, this._selector = null, this._offsets = null, this._targets = null, this._activeTarget = null, this._scrollHeight = null 1416 }, u._getConfig = function(n) { 1417 if ("string" != typeof(n = e.extend({}, i, n)).target) { 1418 var r = e(n.target).attr("id"); 1419 r || (r = s.getUID(t), e(n.target).attr("id", r)), n.target = "#" + r 1420 } 1421 return s.typeCheckConfig(t, n, o), n 1422 }, u._getScrollTop = function() { 1423 return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop 1424 }, u._getScrollHeight = function() { 1425 return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight) 1426 }, u._getOffsetHeight = function() { 1427 return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height 1428 }, u._process = function() { 1429 var t = this._getScrollTop() + this._config.offset, 1430 e = this._getScrollHeight(), 1431 n = this._config.offset + e - this._getOffsetHeight(); 1432 if (this._scrollHeight !== e && this.refresh(), t >= n) { 1433 var i = this._targets[this._targets.length - 1]; 1434 this._activeTarget !== i && this._activate(i) 1435 } else { 1436 if (this._activeTarget && t < this._offsets[0] && this._offsets[0] > 0) return this._activeTarget = null, void this._clear(); 1437 for (var s = this._offsets.length; s--;) this._activeTarget !== this._targets[s] && t >= this._offsets[s] && ("undefined" == typeof this._offsets[s + 1] || t < this._offsets[s + 1]) && this._activate(this._targets[s]) 1438 } 1439 }, u._activate = function(t) { 1440 this._activeTarget = t, this._clear(); 1441 var n = this._selector.split(","); 1442 n = n.map(function(e) { 1443 return e + '[data-target="' + t + '"],' + e + '[href="' + t + '"]' 1444 }); 1445 var i = e(n.join(",")); 1446 i.hasClass(l.DROPDOWN_ITEM) ? (i.closest(h.DROPDOWN).find(h.DROPDOWN_TOGGLE).addClass(l.ACTIVE), i.addClass(l.ACTIVE)) : (i.addClass(l.ACTIVE), i.parents(h.NAV_LIST_GROUP).prev(h.NAV_LINKS + ", " + h.LIST_ITEMS).addClass(l.ACTIVE), i.parents(h.NAV_LIST_GROUP).prev(h.NAV_ITEMS).children(h.NAV_LINKS).addClass(l.ACTIVE)), e(this._scrollElement).trigger(a.ACTIVATE, { 1447 relatedTarget: t 1448 }) 1449 }, u._clear = function() { 1450 e(this._selector).filter(h.ACTIVE).removeClass(l.ACTIVE) 1451 }, n._jQueryInterface = function(t) { 1452 return this.each(function() { 1453 var i = e(this).data("bs.scrollspy"), 1454 s = "object" == typeof t && t; 1455 if (i || (i = new n(this, s), e(this).data("bs.scrollspy", i)), "string" == typeof t) { 1456 if ("undefined" == typeof i[t]) throw new Error('No method named "' + t + '"'); 1457 i[t]() 1458 } 1459 }) 1460 }, r(n, null, [{ 1461 key: "VERSION", 1462 get: function() { 1463 return "4.0.0-beta.2" 1464 } 1465 }, { 1466 key: "Default", 1467 get: function() { 1468 return i 1469 } 1470 }]), n 1471 }(); 1472 return e(window).on(a.LOAD_DATA_API, function() { 1473 for (var t = e.makeArray(e(h.DATA_SPY)), n = t.length; n--;) { 1474 var i = e(t[n]); 1475 u._jQueryInterface.call(i, i.data()) 1476 } 1477 }), e.fn[t] = u._jQueryInterface, e.fn[t].Constructor = u, e.fn[t].noConflict = function() { 1478 return e.fn[t] = n, u._jQueryInterface 1479 }, u 1480 }(), 1481 m = function() { 1482 var t = e.fn.tab, 1483 n = { 1484 HIDE: "hide.bs.tab", 1485 HIDDEN: "hidden.bs.tab", 1486 SHOW: "show.bs.tab", 1487 SHOWN: "shown.bs.tab", 1488 CLICK_DATA_API: "click.bs.tab.data-api" 1489 }, 1490 i = { 1491 DROPDOWN_MENU: "dropdown-menu", 1492 ACTIVE: "active", 1493 DISABLED: "disabled", 1494 FADE: "fade", 1495 SHOW: "show" 1496 }, 1497 o = { 1498 DROPDOWN: ".dropdown", 1499 NAV_LIST_GROUP: ".nav, .list-group", 1500 ACTIVE: ".active", 1501 ACTIVE_UL: "> li > .active", 1502 DATA_TOGGLE: '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]', 1503 DROPDOWN_TOGGLE: ".dropdown-toggle", 1504 DROPDOWN_ACTIVE_CHILD: "> .dropdown-menu .active" 1505 }, 1506 a = function() { 1507 function t(t) { 1508 this._element = t 1509 } 1510 var a = t.prototype; 1511 return a.show = function() { 1512 var t = this; 1513 if (!(this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && e(this._element).hasClass(i.ACTIVE) || e(this._element).hasClass(i.DISABLED))) { 1514 var r, a, l = e(this._element).closest(o.NAV_LIST_GROUP)[0], 1515 h = s.getSelectorFromElement(this._element); 1516 if (l) { 1517 var c = "UL" === l.nodeName ? o.ACTIVE_UL : o.ACTIVE; 1518 a = e.makeArray(e(l).find(c)), a = a[a.length - 1] 1519 } 1520 var u = e.Event(n.HIDE, { 1521 relatedTarget: this._element 1522 }), 1523 d = e.Event(n.SHOW, { 1524 relatedTarget: a 1525 }); 1526 if (a && e(a).trigger(u), e(this._element).trigger(d), !d.isDefaultPrevented() && !u.isDefaultPrevented()) { 1527 h && (r = e(h)[0]), this._activate(this._element, l); 1528 var f = function() { 1529 var i = e.Event(n.HIDDEN, { 1530 relatedTarget: t._element 1531 }), 1532 s = e.Event(n.SHOWN, { 1533 relatedTarget: a 1534 }); 1535 e(a).trigger(i), e(t._element).trigger(s) 1536 }; 1537 r ? this._activate(r, r.parentNode, f) : f() 1538 } 1539 } 1540 }, a.dispose = function() { 1541 e.removeData(this._element, "bs.tab"), this._element = null 1542 }, a._activate = function(t, n, r) { 1543 var a, l = this, 1544 h = (a = "UL" === n.nodeName ? e(n).find(o.ACTIVE_UL) : e(n).children(o.ACTIVE))[0], 1545 c = r && s.supportsTransitionEnd() && h && e(h).hasClass(i.FADE), 1546 u = function() { 1547 return l._transitionComplete(t, h, c, r) 1548 }; 1549 h && c ? e(h).one(s.TRANSITION_END, u).emulateTransitionEnd(150) : u(), h && e(h).removeClass(i.SHOW) 1550 }, a._transitionComplete = function(t, n, r, a) { 1551 if (n) { 1552 e(n).removeClass(i.ACTIVE); 1553 var l = e(n.parentNode).find(o.DROPDOWN_ACTIVE_CHILD)[0]; 1554 l && e(l).removeClass(i.ACTIVE), "tab" === n.getAttribute("role") && n.setAttribute("aria-selected", !1) 1555 } 1556 if (e(t).addClass(i.ACTIVE), "tab" === t.getAttribute("role") && t.setAttribute("aria-selected", !0), r ? (s.reflow(t), e(t).addClass(i.SHOW)) : e(t).removeClass(i.FADE), t.parentNode && e(t.parentNode).hasClass(i.DROPDOWN_MENU)) { 1557 var h = e(t).closest(o.DROPDOWN)[0]; 1558 h && e(h).find(o.DROPDOWN_TOGGLE).addClass(i.ACTIVE), t.setAttribute("aria-expanded", !0) 1559 } 1560 a && a() 1561 }, t._jQueryInterface = function(n) { 1562 return this.each(function() { 1563 var i = e(this), 1564 s = i.data("bs.tab"); 1565 if (s || (s = new t(this), i.data("bs.tab", s)), "string" == typeof n) { 1566 if ("undefined" == typeof s[n]) throw new Error('No method n
1566amed "' + n + '"'); 1567 s[n]() 1568 } 1569 }) 1570 }, r(t, null, [{ 1571 key: "VERSION", 1572 get: function() { 1573 return "4.0.0-beta.2" 1574 } 1575 }]), t 1576 }(); 1577 return e(document).on(n.CLICK_DATA_API, o.DATA_TOGGLE, function(t) { 1578 t.preventDefault(), a._jQueryInterface.call(e(this), "show") 1579 }), e.fn.tab = a._jQueryInterface, e.fn.tab.Constructor = a, e.fn.tab.noConflict = function() { 1580 return e.fn.tab = t, a._jQueryInterface 1581 }, a 1582 }(); 1583 return function() { 1584 if ("undefined" == typeof e) throw new Error("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript."); 1585 var t = e.fn.jquery.split(" ")[0].split("."); 1586 if (t[0] < 2 && t[1] < 9 || 1 === t[0] && 9 === t[1] && t[2] < 1 || t[0] >= 4) throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0") 1587 }(), t.Util = s, t.Alert = a, t.Button = l, t.Carousel = h, t.Collapse = c, t.Dropdown = u, t.Modal = d, t.Popover = _, t.Scrollspy = g, t.Tab = m, t.Tooltip = f, t 1588}({}, $, Popper); 1589//# sourceMappingURL=bootstrap.min.js.map
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.