text: /*!
   * Bootstrap v3.0.3
   *
   * Copyright 2013 Twitter, Inc
   * Licensed under the Apache License v2.0
   * http://www.apache.org/licenses/LICENSE-2.0
   *
   * Designed and built with all the love in the world @twitter by @mdo and @fat.
   */
  
  +function (a) {
      "use strict";
      var b = '[data-dismiss="alert"]', c = function (c) {
          a(c).on("click", b, this.close)
      };
      c.prototype.close = function (b) {
          function f() {
              e.trigger("closed.bs.alert").remove()
          }
  
          var c = a(this), d = c.attr("data-target");
          d || (d = c.attr("href"), d = d && d.replace(/.*(?=#[^\s]*$)/, ""));
          var e = a(d);
          b && b.preventDefault(), e.length || (e = c.hasClass("alert") ? c : c.parent()), e.trigger(b = a.Event("close.bs.alert"));
          if (b.isDefaultPrevented())return;
          e.removeClass("in"), a.support.transition && e.hasClass("fade") ? e.one(a.support.transition.end, f).emulateTransitionEnd(150) : f()
      };
      var d = a.fn.alert;
      a.fn.alert = function (b) {
          return this.each(function () {
              var d = a(this), e = d.data("bs.alert");
              e || d.data("bs.alert", e = new c(this)), typeof b == "string" && e[b].call(d)
          })
      }, a.fn.alert.Constructor = c, a.fn.alert.noConflict = function () {
          return a.fn.alert = d, this
      }, a(document).on("click.bs.alert.data-api", b, c.prototype.close)
  }(jQuery), +function (a) {
      "use strict";
      var b = function (c, d) {
          this.$element = a(c), this.options = a.extend({}, b.DEFAULTS, d)
      };
      b.DEFAULTS = {loadingText: "loading..."}, b.prototype.setState = function (a) {
          var b = "disabled", c = this.$element, d = c.is("input") ? "val" : "html", e = c.data();
          a += "Text", e.resetText || c.data("resetText", c[d]()), c[d](e[a] || this.options[a]), setTimeout(function () {
              a == "loadingText" ? c.addClass(b).attr(b, b) : c.removeClass(b).removeAttr(b)
          }, 0)
      }, b.prototype.toggle = function () {
          var a = this.$element.closest('[data-toggle="buttons"]'), b = !0;
          if (a.length) {
              var c = this.$element.find("input");
              c.prop("type") === "radio" && (c.prop("checked") && this.$element.hasClass("active") ? b = !1 : a.find(".active").removeClass("active")), b && c.prop("checked", !this.$element.hasClass("active")).trigger("change")
          }
          b && this.$element.toggleClass("active")
      };
      var c = a.fn.button;
      a.fn.button = function (c) {
          return this.each(function () {
              var d = a(this), e = d.data("bs.button"), f = typeof c == "object" && c;
              e || d.data("bs.button", e = new b(this, f)), c == "toggle" ? e.toggle() : c && e.setState(c)
          })
      }, a.fn.button.Constructor = b, a.fn.button.noConflict = function () {
          return a.fn.button = c, this
      }, a(document).on("click.bs.button.data-api", "[data-toggle^=button]", function (b) {
          var c = a(b.target);
          c.hasClass("btn") || (c = c.closest(".btn")), c.button("toggle"), b.preventDefault()
      })
  }(jQuery), +function (a) {
      "use strict";
      var b = function (b, c) {
          this.$element = a(b), this.$indicators = this.$element.find(".carousel-indicators"), this.options = c, this.paused = this.sliding = this.interval = this.$active = this.$items = null, this.options.pause == "hover" && this.$element.on("mouseenter", a.proxy(this.pause, this)).on("mouseleave", a.proxy(this.cycle, this))
      };
      b.DEFAULTS = {interval: 5e3, pause: "hover", wrap: !0}, b.prototype.cycle = function (b) {
          return b || (this.paused = !1), this.interval && clearInterval(this.interval), this.options.interval && !this.paused && (this.interval = setInterval(a.proxy(this.next, this), this.options.interval)), this
      }, b.prototype.getActiveIndex = function () {
          return this.$active = this.$element.find(".item.active"), this.$items = this.$active.parent().children(), this.$items.index(this.$active)
      }, b.prototype.to = function (b) {
          var c = this, d = this.getActiveIndex();
          if (b > this.$items.length - 1 || b < 0)return;
          return this.sliding ? this.$element.one("slid.bs.carousel", function () {
              c.to(b)
          }) : d == b ? this.pause().cycle() : this.slide(b > d ? "next" : "prev", a(this.$items[b]))
      }, b.prototype.pause = function (b) {
          return b || (this.paused = !0), this.$element.find(".next, .prev").length && a.support.transition.end && (this.$element.trigger(a.support.transition.end), this.cycle(!0)), this.interval = clearInterval(this.interval), this
      }, b.prototype.next = function () {
          if (this.sliding)return;
          return this.slide("next")
      }, b.prototype.prev = function () {
          if (this.sliding)return;
          return this.slide("prev")
      }, b.prototype.slide = function (b, c) {
          var d = this.$element.find(".item.active"), e = c || d[b](), f = this.interval, g = b == "next" ? "left" : "right", h = b == "next" ? "first" : "last", i = this;
          if (!e.length) {
              if (!this.options.wrap)return;
              e = this.$element.find(".item")[h]()
          }
          this.sliding = !0, f && this.pause();
          var j = a.Event("slide.bs.carousel", {relatedTarget: e[0], direction: g});
          if (e.hasClass("active"))return;
          this.$indicators.length && (this.$indicators.find(".active").removeClass("active"), this.$element.one("slid.bs.carousel", function () {
              var b = a(i.$indicators.children()[i.getActiveIndex()]);
              b && b.addClass("active")
          }));
          if (a.support.transition && this.$element.hasClass("slide")) {
              this.$element.trigger(j);
              if (j.isDefaultPrevented())return;
              e.addClass(b), e[0].offsetWidth, d.addClass(g), e.addClass(g), d.one(a.support.transition.end,function () {
                  e.removeClass([b, g].join(" ")).addClass("active"), d.removeClass(["active", g].join(" ")), i.sliding = !1, setTimeout(function () {
                      i.$element.trigger("slid.bs.carousel")
                  }, 0)
              }).emulateTransitionEnd(600)
          } else {
              this.$element.trigger(j);
              if (j.isDefaultPrevented())return;
              d.removeClass("active"), e.addClass("active"), this.sliding = !1, this.$element.trigger("slid.bs.carousel")
          }
          return f && this.cycle(), this
      };
      var c = a.fn.carousel;
      a.fn.carousel = function (c) {
          return this.each(function () {
              var d = a(this), e = d.data("bs.carousel"), f = a.extend({}, b.DEFAULTS, d.data(), typeof c == "object" && c), g = typeof c == "string" ? c : f.slide;
              e || d.data("bs.carousel", e = new b(this, f)), typeof c == "number" ? e.to(c) : g ? e[g]() : f.interval && e.pause().cycle()
          })
      }, a.fn.carousel.Constructor = b, a.fn.carousel.noConflict = function () {
          return a.fn.carousel = c, this
      }, a(document).on("click.bs.carousel.data-api", "[data-slide], [data-slide-to]", function (b) {
          var c = a(this), d, e = a(c.attr("data-target") || (d = c.attr("href")) && d.replace(/.*(?=#[^\s]+$)/, "")), f = a.extend({}, e.data(), c.data()), g = c.attr("data-slide-to");
          g && (f.interval = !1), e.carousel(f), (g = c.attr("data-slide-to")) && e.data("bs.carousel").to(g), b.preventDefault()
      }), a(window).on("load", function () {
          a('[data-ride="carousel"]').each(function () {
              var b = a(this);
              b.carousel(b.data())
          })
      })
  }(jQuery), +function (a) {
      function e() {
          a(b).remove(), a(c).each(function (b) {
              var c = f(a(this));
              if (!c.hasClass("open"))return;
              c.trigger(b = a.Event("hide.bs.dropdown"));
              if (b.isDefaultPrevented())return;
              c.removeClass("open").trigger("hidden.bs.dropdown")
          })
      }
  
      function f(b) {
          var c = b.attr("data-target");
          c || (c = b.attr("href"), c = c && /#/.test(c) && c.replace(/.*(?=#[^\s]*$)/, ""));
          var d = c && a(c);
          return d && d.length ? d : b.parent()
      }
  
      "use strict";
      var b = ".dropdown-backdrop", c = "[data-toggle=dropdown]", d = function (b) {
          a(b).on("click.bs.dropdown", this.toggle)
      };
      d.prototype.toggle = function (b) {
          var c = a(this);
          if (c.is(".disabled, :disabled"))return;
          var d = f(c), g = d.hasClass("open");
          e();
          if (!g) {
              "ontouchstart"in document.documentElement && !d.closest(".navbar-nav").length && a('<div class="dropdown-backdrop"/>').insertAfter(a(this)).on("click", e), d.trigger(b = a.Event("show.bs.dropdown"));
              if (b.isDefaultPrevented())return;
              d.toggleClass("open").trigger("shown.bs.dropdown"), c.focus()
          }
          return!1
      }, d.prototype.keydown = function (b) {
          if (!/(38|40|27)/.test(b.keyCode))return;
          var d = a(this);
          b.preventDefault(), b.stopPropagation();
          if (d.is(".disabled, :disabled"))return;
          var e = f(d), g = e.hasClass("open");
          if (!g || g && b.keyCode == 27)return b.which == 27 && e.find(c).focus(), d.click();
          var h = a("[role=menu] li:not(.divider):visible a", e);
          if (!h.length)return;
          var i = h.index(h.filter(":focus"));
          b.keyCode == 38 && i > 0 && i--, b.keyCode == 40 && i < h.length - 1 && i++, ~i || (i = 0), h.eq(i).focus()
      };
      var g = a.fn.dropdown;
      a.fn.dropdown = function (b) {
          return this.each(function () {
              var c = a(this), e = c.data("bs.dropdown");
              e || c.data("bs.dropdown", e = new d(this)), typeof b == "string" && e[b].call(c)
          })
      }, a.fn.dropdown.Constructor = d, a.fn.dropdown.noConflict = function () {
          return a.fn.dropdown = g, this
      }, a(document).on("click.bs.dropdown.data-api", e).on("click.bs.dropdown.data-api", ".dropdown form",function (a) {
          a.stopPropagation()
      }).on("click.bs.dropdown.data-api", c, d.prototype.toggle).on("keydown.bs.dropdown.data-api", c + ", [role=menu]", d.prototype.keydown)
  }(jQuery), +function (a) {
      "use strict";
      var b = function (b, c) {
          this.options = c, this.$element = a(b), this.$backdrop = this.isShown = null, this.options.remote && this.$element.load(this.options.remote)
      };
      b.DEFAULTS = {backdrop: !0, keyboard: !0, show: !0}, b.prototype.toggle = function (a) {
          return this[this.isShown ? "hide" : "show"](a)
      }, b.prototype.show = function (b) {
          var c = this, d = a.Event("show.bs.modal", {relatedTarget: b});
          this.$element.trigger(d);
          if (this.isShown || d.isDefaultPrevented())return;
          this.isShown = !0, this.escape(), this.$element.on("click.dismiss.modal", '[data-dismiss="modal"]', a.proxy(this.hide, this)), this.backdrop(function () {
              var d = a.support.transition && c.$element.hasClass("fade");
              c.$element.parent().length || c.$element.appendTo(document.body), c.$element.show(), d && c.$element[0].offsetWidth, c.$element.addClass("in").attr("aria-hidden", !1), c.enforceFocus();
              var e = a.Event("shown.bs.modal", {relatedTarget: b});
              d ? c.$element.find(".modal-dialog").one(a.support.transition.end,function () {
                  c.$element.focus().trigger(e)
              }).emulateTransitionEnd(300) : c.$element.focus().trigger(e)
          })
      }, b.prototype.hide = function (b) {
          b && b.preventDefault(), b = a.Event("hide.bs.modal"), this.$element.trigger(b);
          if (!this.isShown || b.isDefaultPrevented())return;
          this.isShown = !1, this.escape(), a(document).off("focusin.bs.modal"), this.$element.removeClass("in").attr("aria-hidden", !0).off("click.dismiss.modal"), a.support.transition && this.$element.hasClass("fade") ? this.$element.one(a.support.transition.end, a.proxy(this.hideModal, this)).emulateTransitionEnd(300) : this.hideModal()
      }, b.prototype.enforceFocus = function () {
          a(document).off("focusin.bs.modal").on("focusin.bs.modal", a.proxy(function (a) {
              this.$element[0] !== a.target && !this.$element.has(a.target).length && this.$element.focus()
          }, this))
      }, b.prototype.escape = function () {
          this.isShown && this.options.keyboard ? this.$element.on("keyup.dismiss.bs.modal", a.proxy(function (a) {
              a.which == 27 && this.hide()
          }, this)) : this.isShown || this.$element.off("keyup.dismiss.bs.modal")
      }, b.prototype.hideModal = function () {
          var a = this;
          this.$element.hide(), this.backdrop(function () {
              a.removeBackdrop(), a.$element.trigger("hidden.bs.modal")
          })
      }, b.prototype.removeBackdrop = function () {
          this.$backdrop && this.$backdrop.remove(), this.$backdrop = null
      }, b.prototype.backdrop = function (b) {
          var c = this, d = this.$element.hasClass("fade") ? "fade" : "";
          if (this.isShown && this.options.backdrop) {
              var e = a.support.transition && d;
              this.$backdrop = a('<div class="modal-backdrop ' + d + '" />').appendTo(document.body), this.$element.on("click.dismiss.modal", a.proxy(function (a) {
                  if (a.target !== a.currentTarget)return;
                  this.options.backdrop == "static" ? this.$element[0].focus.call(this.$element[0]) : this.hide.call(this)
              }, this)), e && this.$backdrop[0].offsetWidth, this.$backdrop.addClass("in");
              if (!b)return;
              e ? this.$backdrop.one(a.support.transition.end, b).emulateTransitionEnd(150) : b()
          } else!this.isShown && this.$backdrop ? (this.$backdrop.removeClass("in"), a.support.transition && this.$element.hasClass("fade") ? this.$backdrop.one(a.support.transition.end, b).emulateTransitionEnd(150) : b()) : b && b()
      };
      var c = a.fn.modal;
      a.fn.modal = function (c, d) {
          return this.each(function () {
              var e = a(this), f = e.data("bs.modal"), g = a.extend({}, b.DEFAULTS, e.data(), typeof c == "object" && c);
              f || e.data("bs.modal", f = new b(this, g)), typeof c == "string" ? f[c](d) : g.show && f.show(d)
          })
      }, a.fn.modal.Constructor = b, a.fn.modal.noConflict = function () {
          return a.fn.modal = c, this
      }, a(document).on("click.bs.modal.data-api", '[data-toggle="modal"]', function (b) {
          var c = a(this), d = c.attr("href"), e = a(c.attr("data-target") || d && d.replace(/.*(?=#[^\s]+$)/, "")), f = e.data("modal") ? "toggle" : a.extend({remote: !/#/.test(d) && d}, e.data(), c.data());
          b.preventDefault(), e.modal(f, this).one("hide", function () {
              c.is(":visible") && c.focus()
          })
      }), a(document).on("show.bs.modal", ".modal",function () {
          a(document.body).addClass("modal-open")
      }).on("hidden.bs.modal", ".modal", function () {
          a(document.body).removeClass("modal-open")
      })
  }(jQuery), +function (a) {
      "use strict";
      var b = function (a, b) {
          this.type = this.options = this.enabled = this.timeout = this.hoverState = this.$element = null, this.init("tooltip", a, b)
      };
      b.DEFAULTS = {animation: !0, placement: "top", selector: !1, template: '<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>', trigger: "hover focus", title: "", delay: 0, html: !1, container: !1}, b.prototype.init = function (b, c, d) {
          this.enabled = !0, this.type = b, this.$element = a(c), this.options = this.getOptions(d);
          var e = this.options.trigger.split(" ");
          for (var f = e.length; f--;) {
              var g = e[f];
              if (g == "click")this.$element.on("click." + this.type, this.options.selector, a.proxy(this.toggle, this)); else if (g != "manual") {
                  var h = g == "hover" ? "mouseenter" : "focus", i = g == "hover" ? "mouseleave" : "blur";
                  this.$element.on(h + "." + this.type, this.options.selector, a.proxy(this.enter, this)), this.$element.on(i + "." + this.type, this.options.selector, a.proxy(this.leave, this))
              }
          }
          this.options.selector ? this._options = a.extend({}, this.options, {trigger: "manual", selector: ""}) : this.fixTitle()
      }, b.prototype.getDefaults = function () {
          return b.DEFAULTS
      }, b.prototype.getOptions = function (b) {
          return b = a.extend({}, this.getDefaults(), this.$element.data(), b), b.delay && typeof b.delay == "number" && (b.delay = {show: b.delay, hide: b.delay}), b
      }, b.prototype.getDelegateOptions = function () {
          var b = {}, c = this.getDefaults();
          return this._options && a.each(this._options, function (a, d) {
              c[a] != d && (b[a] = d)
          }), b
      }, b.prototype.enter = function (b) {
          var c = b instanceof this.constructor ? b : a(b.currentTarget)[this.type](this.getDelegateOptions()).data("bs." + this.type);
          clearTimeout(c.timeout), c.hoverState = "in";
          if (!c.options.delay || !c.options.delay.show)return c.show();
          c.timeout = setTimeout(function () {
              c.hoverState == "in" && c.show()
          }, c.options.delay.show)
      }, b.prototype.leave = function (b) {
          var c = b instanceof this.constructor ? b : a(b.currentTarget)[this.type](this.getDelegateOptions()).data("bs." + this.type);
          clearTimeout(c.timeout), c.hoverState = "out";
          if (!c.options.delay || !c.options.delay.hide)return c.hide();
          c.timeout = setTimeout(function () {
              c.hoverState == "out" && c.hide()
          }, c.options.delay.hide)
      }, b.prototype.show = function () {
          var b = a.Event("show.bs." + this.type);
          if (this.hasContent() && this.enabled) {
              this.$element.trigger(b);
              if (b.isDefaultPrevented())return;
              var c = this.tip();
              this.setContent(), this.options.animation && c.addClass("fade");
              var d = typeof this.options.placement == "function" ? this.options.placement.call(this, c[0], this.$element[0]) : this.options.placement, e = /\s?auto?\s?/i, f = e.test(d);
              f && (d = d.replace(e, "") || "top"), c.detach().css({top: 0, left: 0, display: "block"}).addClass(d), this.options.container ? c.appendTo(this.options.container) : c.insertAfter(this.$element);
              var g = this.getPosition(), h = c[0].offsetWidth, i = c[0].offsetHeight;
              if (f) {
                  var j = this.$element.parent(), k = d, l = document.documentElement.scrollTop || document.body.scrollTop, m = this.options.container == "body" ? window.innerWidth : j.outerWidth(), n = this.options.container == "body" ? window.innerHeight : j.outerHeight(), o = this.options.container == "body" ? 0 : j.offset().left;
                  d = d == "bottom" && g.top + g.height + i - l > n ? "top" : d == "top" && g.top - l - i < 0 ? "bottom" : d == "right" && g.right + h > m ? "left" : d == "left" && g.left - h < o ? "right" : d, c.removeClass(k).addClass(d)
              }
              var p = this.getCalculatedOffset(d, g, h, i);
              this.applyPlacement(p, d), this.$element.trigger("shown.bs." + this.type)
          }
      }, b.prototype.applyPlacement = function (a, b) {
          var c, d = this.tip(), e = d[0].offsetWidth, f = d[0].offsetHeight, g = parseInt(d.css("margin-top"), 10), h = parseInt(d.css("margin-left"), 10);
          isNaN(g) && (g = 0), isNaN(h) && (h = 0), a.top = a.top + g, a.left = a.left + h, d.offset(a).addClass("in");
          var i = d[0].offsetWidth, j = d[0].offsetHeight;
          b == "top" && j != f && (c = !0, a.top = a.top + f - j);
          if (/bottom|top/.test(b)) {
              var k = 0;
              a.left < 0 && (k = a.left * -2, a.left = 0, d.offset(a), i = d[0].offsetWidth, j = d[0].offsetHeight), this.replaceArrow(k - e + i, i, "left")
          } else this.replaceArrow(j - f, j, "top");
          c && d.offset(a)
      }, b.prototype.replaceArrow = function (a, b, c) {
          this.arrow().css(c, a ? 50 * (1 - a / b) + "%" : "")
      }, b.prototype.setContent = function () {
          var a = this.tip(), b = this.getTitle();
          a.find(".tooltip-inner")[this.options.html ? "html" : "text"](b), a.removeClass("fade in top bottom left right")
      }, b.prototype.hide = function () {
          function e() {
              b.hoverState != "in" && c.detach()
          }
  
          var b = this, c = this.tip(), d = a.Event("hide.bs." + this.type);
          this.$element.trigger(d);
          if (d.isDefaultPrevented())return;
          return c.removeClass("in"), a.support.transition && this.$tip.hasClass("fade") ? c.one(a.support.transition.end, e).emulateTransitionEnd(150) : e(), this.$element.trigger("hidden.bs." + this.type), this
      }, b.prototype.fixTitle = function () {
          var a = this.$element;
          (a.attr("title") || typeof a.attr("data-original-title") != "string") && a.attr("data-original-title", a.attr("title") || "").attr("title", "")
      }, b.prototype.hasContent = function () {
          return this.getTitle()
      }, b.prototype.getPosition = function () {
          var b = this.$element[0];
          return a.extend({}, typeof b.getBoundingClientRect == "function" ? b.getBoundingClientRect() : {width: b.offsetWidth, height: b.offsetHeight}, this.$element.offset())
      }, b.prototype.getCalculatedOffset = function (a, b, c, d) {
          return a == "bottom" ? {top: b.top + b.height, left: b.left + b.width / 2 - c / 2} : a == "top" ? {top: b.top - d, left: b.left + b.width / 2 - c / 2} : a == "left" ? {top: b.top + b.height / 2 - d / 2, left: b.left - c} : {top: b.top + b.height / 2 - d / 2, left: b.left + b.width}
      }, b.prototype.getTitle = function () {
          var a, b = this.$element, c = this.options;
          return a = b.attr("data-original-title") || (typeof c.title == "function" ? c.title.call(b[0]) : c.title), a
      }, b.prototype.tip = function () {
          return this.$tip = this.$tip || a(this.options.template)
      }, b.prototype.arrow = function () {
          return this.$arrow = this.$arrow || this.tip().find(".tooltip-arrow")
      }, b.prototype.validate = function () {
          this.$element[0].parentNode || (this.hide(), this.$element = null, this.options = null)
      }, b.prototype.enable = function () {
          this.enabled = !0
      }, b.prototype.disable = function () {
          this.enabled = !1
      }, b.prototype.toggleEnabled = function () {
          this.enabled = !this.enabled
      }, b.prototype.toggle = function (b) {
          var c = b ? a(b.currentTarget)[this.type](this.getDelegateOptions()).data("bs." + this.type) : this;
          c.tip().hasClass("in") ? c.leave(c) : c.enter(c)
      }, b.prototype.destroy = function () {
          this.hide().$element.off("." + this.type).removeData("bs." + this.type)
      };
      var c = a.fn.tooltip;
      a.fn.tooltip = function (c) {
          return this.each(function () {
              var d = a(this), e = d.data("bs.tooltip"), f = typeof c == "object" && c;
              e || d.data("bs.tooltip", e = new b(this, f)), typeof c == "string" && e[c]()
          })
      }, a.fn.tooltip.Constructor = b, a.fn.tooltip.noConflict = function () {
          return a.fn.tooltip = c, this
      }
  }(jQuery), +function (a) {
      "use strict";
      var b = function (a, b) {
          this.init("popover", a, b)
      };
      if (!a.fn.tooltip)throw new Error("Popover requires tooltip.js");
      b.DEFAULTS = a.extend({}, a.fn.tooltip.Constructor.DEFAULTS, {placement: "right", trigger: "click", content: "", template: '<div class="popover"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}), b.prototype = a.extend({}, a.fn.tooltip.Constructor.prototype), b.prototype.constructor = b, b.prototype.getDefaults = function () {
          return b.DEFAULTS
      }, b.prototype.setContent = function () {
          var a = this.tip(), b = this.getTitle(), c = this.getContent();
          a.find(".popover-title")[this.options.html ? "html" : "text"](b), a.find(".popover-content")[this.options.html ? "html" : "text"](c), a.removeClass("fade top bottom left right in"), a.find(".popover-title").html() || a.find(".popover-title").hide()
      }, b.prototype.hasContent = function () {
          return this.getTitle() || this.getContent()
      }, b.prototype.getContent = function () {
          var a = this.$element, b = this.options;
          return a.attr("data-content") || (typeof b.content == "function" ? b.content.call(a[0]) : b.content)
      }, b.prototype.arrow = function () {
          return this.$arrow = this.$arrow || this.tip().find(".arrow")
      }, b.prototype.tip = function () {
          return this.$tip || (this.$tip = a(this.options.template)), this.$tip
      };
      var c = a.fn.popover;
      a.fn.popover = function (c) {
          return this.each(function () {
              var d = a(this), e = d.data("bs.popover"), f = typeof c == "object" && c;
              e || d.data("bs.popover", e = new b(this, f)), typeof c == "string" && e[c]()
          })
      }, a.fn.popover.Constructor = b, a.fn.popover.noConflict = function () {
          return a.fn.popover = c, this
      }
  }(jQuery), +function (a) {
      "use strict";
      var b = function (b) {
          this.element = a(b)
      };
      b.prototype.show = function () {
          var b = this.element, c = b.closest("ul:not(.dropdown-menu)"), d = b.data("target");
          d || (d = b.attr("href"), d = d && d.replace(/.*(?=#[^\s]*$)/, ""));
          if (b.parent("li").hasClass("active"))return;
          var e = c.find(".active:last a")[0], f = a.Event("show.bs.tab", {relatedTarget: e});
          b.trigger(f);
          if (f.isDefaultPrevented())return;
          var g = a(d);
          this.activate(b.parent("li"), c), this.activate(g, g.parent(), function () {
              b.trigger({type: "shown.bs.tab", relatedTarget: e})
          })
      }, b.prototype.activate = function (b, c, d) {
          function g() {
              e.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"), b.addClass("active"), f ? (b[0].offsetWidth, b.addClass("in")) : b.removeClass("fade"), b.parent(".dropdown-menu") && b.closest("li.dropdown").addClass("active"), d && d()
          }
  
          var e = c.find("> .active"), f = d && a.support.transition && e.hasClass("fade");
          f ? e.one(a.support.transition.end, g).emulateTransitionEnd(150) : g(), e.removeClass("in")
      };
      var c = a.fn.tab;
      a.fn.tab = function (c) {
          return this.each(function () {
              var d = a(this), e = d.data("bs.tab");
              e || d.data("bs.tab", e = new b(this)), typeof c == "string" && e[c]()
          })
      }, a.fn.tab.Constructor = b, a.fn.tab.noConflict = function () {
          return a.fn.tab = c, this
      }, a(document).on("click.bs.tab.data-api", '[data-toggle="tab"], [data-toggle="pill"]', function (b) {
          b.preventDefault(), a(this).tab("show")
      })
  }(jQuery), +function (a) {
      "use strict";
      var b = function (c, d) {
          this.options = a.extend({}, b.DEFAULTS, d), this.$window = a(window).on("scroll.bs.affix.data-api", a.proxy(this.checkPosition, this)).on("click.bs.affix.data-api", a.proxy(this.checkPositionWithEventLoop, this)), this.$element = a(c), this.affixed = this.unpin = null, this.checkPosition()
      };
      b.RESET = "affix affix-top affix-bottom", b.DEFAULTS = {offset: 0}, b.prototype.checkPositionWithEventLoop = function () {
          setTimeout(a.proxy(this.checkPosition, this), 1)
      }, b.prototype.checkPosition = function () {
          if (!this.$element.is(":visible"))return;
          var c = a(document).height(), d = this.$window.scrollTop(), e = this.$element.offset(), f = this.options.offset, g = f.top, h = f.bottom;
          typeof f != "object" && (h = g = f), typeof g == "function" && (g = f.top()), typeof h == "function" && (h = f.bottom());
          var i = this.unpin != null && d + this.unpin <= e.top ? !1 : h != null && e.top + this.$element.height() >= c - h ? "bottom" : g != null && d <= g ? "top" : !1;
          if (this.affixed === i)return;
          this.unpin && this.$element.css("top", ""), this.affixed = i, this.unpin = i == "bottom" ? e.top - d : null, this.$element.removeClass(b.RESET).addClass("affix" + (i ? "-" + i : "")), i == "bottom" && this.$element.offset({top: document.body.offsetHeight - h - this.$element.height()})
      };
      var c = a.fn.affix;
      a.fn.affix = function (c) {
          return this.each(function () {
              var d = a(this), e = d.data("bs.affix"), f = typeof c == "object" && c;
              e || d.data("bs.affix", e = new b(this, f)), typeof c == "string" && e[c]()
          })
      }, a.fn.affix.Constructor = b, a.fn.affix.noConflict = function () {
          return a.fn.affix = c, this
      }, a(window).on("load", function () {
          a('[data-spy="affix"]').each(function () {
              var b = a(this), c = b.data();
              c.offset = c.offset || {}, c.offsetBottom && (c.offset.bottom = c.offsetBottom), c.offsetTop && (c.offset.top = c.offsetTop), b.affix(c)
          })
      })
  }(jQuery), +function (a) {
      "use strict";
      var b = function (c, d) {
          this.$element = a(c), this.options = a.extend({}, b.DEFAULTS, d), this.transitioning = null, this.options.parent && (this.$parent = a(this.options.parent)), this.options.toggle && this.toggle()
      };
      b.DEFAULTS = {toggle: !0}, b.prototype.dimension = function () {
          var a = this.$element.hasClass("width");
          return a ? "width" : "height"
      }, b.prototype.show = function () {
          if (this.transitioning || this.$element.hasClass("in"))return;
          var b = a.Event("show.bs.collapse");
          this.$element.trigger(b);
          if (b.isDefaultPrevented())return;
          var c = this.$parent && this.$parent.find("> .panel > .in");
          if (c && c.length) {
              var d = c.data("bs.collapse");
              if (d && d.transitioning)return;
              c.collapse("hide"), d || c.data("bs.collapse", null)
          }
          var e = this.dimension();
          this.$element.removeClass("collapse").addClass("collapsing")[e](0), this.transitioning = 1;
          var f = function () {
              this.$element.removeClass("collapsing").addClass("in")[e]("auto"), this.transitioning = 0, this.$element.trigger("shown.bs.collapse")
          };
          if (!a.support.transition)return f.call(this);
          var g = a.camelCase(["scroll", e].join("-"));
          this.$element.one(a.support.transition.end, a.proxy(f, this)).emulateTransitionEnd(350)[e](this.$element[0][g])
      }, b.prototype.hide = function () {
          if (this.transitioning || !this.$element.hasClass("in"))return;
          var b = a.Event("hide.bs.collapse");
          this.$element.trigger(b);
          if (b.isDefaultPrevented())return;
          var c = this.dimension();
          this.$element[c](this.$element[c]())[0].offsetHeight, this.$element.addClass("collapsing").removeClass("collapse").removeClass("in"), this.transitioning = 1;
          var d = function () {
              this.transitioning = 0, this.$element.trigger("hidden.bs.collapse").removeClass("collapsing").addClass("collapse")
          };
          if (!a.support.transition)return d.call(this);
          this.$element[c](0).one(a.support.transition.end, a.proxy(d, this)).emulateTransitionEnd(350)
      }, b.prototype.toggle = function () {
          this[this.$element.hasClass("in") ? "hide" : "show"]()
      };
      var c = a.fn.collapse;
      a.fn.collapse = function (c) {
          return this.each(function () {
              var d = a(this), e = d.data("bs.collapse"), f = a.extend({}, b.DEFAULTS, d.data(), typeof c == "object" && c);
              e || d.data("bs.collapse", e = new b(this, f)), typeof c == "string" && e[c]()
          })
      }, a.fn.collapse.Constructor = b, a.fn.collapse.noConflict = function () {
          return a.fn.collapse = c, this
      }, a(document).on("click.bs.collapse.data-api", "[data-toggle=collapse]", function (b) {
          var c = a(this), d, e = c.attr("data-target") || b.preventDefault() || (d = c.attr("href")) && d.replace(/.*(?=#[^\s]+$)/, ""), f = a(e), g = f.data("bs.collapse"), h = g ? "toggle" : c.data(), i = c.attr("data-parent"), j = i && a(i);
          if (!g || !g.transitioning)j && j.find('[data-toggle=collapse][data-parent="' + i + '"]').not(c).addClass("collapsed"), c[f.hasClass("in") ? "addClass" : "removeClass"]("collapsed");
          f.collapse(h)
      })
  }(jQuery), +function (a) {
      function b(c, d) {
          var e, f = a.proxy(this.process, this);
          this.$element = a(c).is("body") ? a(window) : a(c), this.$body = a("body"), this.$scrollElement = this.$element.on("scroll.bs.scroll-spy.data-api", f), this.options = a.extend({}, b.DEFAULTS, d), this.selector = (this.options.target || (e = a(c).attr("href")) && e.replace(/.*(?=#[^\s]+$)/, "") || "") + " .nav li > a", this.offsets = a([]), this.targets = a([]), this.activeTarget = null, this.refresh(), this.process()
      }
  
      "use strict", b.DEFAULTS = {offset: 10}, b.prototype.refresh = function () {
          var b = this.$element[0] == window ? "offset" : "position";
          this.offsets = a([]), this.targets = a([]);
          var c = this, d = this.$body.find(this.selector).map(function () {
              var d = a(this), e = d.data("target") || d.attr("href"), f = /^#\w/.test(e) && a(e);
              return f && f.length && [
                  [f[b]().top + (!a.isWindow(c.$scrollElement.get(0)) && c.$scrollElement.scrollTop()), e]
              ] || null
          }).sort(function (a, b) {
              return a[0] - b[0]
          }).each(function () {
              c.offsets.push(this[0]), c.targets.push(this[1])
          })
      }, b.prototype.process = function () {
          var a = this.$scrollElement.scrollTop() + this.options.offset, b = this.$scrollElement[0].scrollHeight || this.$body[0].scrollHeight, c = b - this.$scrollElement.height(), d = this.offsets, e = this.targets, f = this.activeTarget, g;
          if (a >= c)return f != (g = e.last()[0]) && this.activate(g);
          for (g = d.length; g--;)f != e[g] && a >= d[g] && (!d[g + 1] || a <= d[g + 1]) && this.activate(e[g])
      }, b.prototype.activate = function (b) {
          this.activeTarget = b, a(this.selector).parents(".active").removeClass("active");
          var c = this.selector + '[data-target="' + b + '"],' + this.selector + '[href="' + b + '"]', d = a(c).parents("li").addClass("active");
          d.parent(".dropdown-menu").length && (d = d.closest("li.dropdown").addClass("active")), d.trigger("activate.bs.scrollspy")
      };
      var c = a.fn.scrollspy;
      a.fn.scrollspy = function (c) {
          return this.each(function () {
              var d = a(this), e = d.data("bs.scrollspy"), f = typeof c == "object" && c;
              e || d.data("bs.scrollspy", e = new b(this, f)), typeof c == "string" && e[c]()
          })
      }, a.fn.scrollspy.Constructor = b, a.fn.scrollspy.noConflict = function () {
          return a.fn.scrollspy = c, this
      }, a(window).on("load", function () {
          a('[data-spy="scroll"]').each(function () {
              var b = a(this);
              b.scrollspy(b.data())
          })
      })
  }(jQuery), +function (a) {
      function b() {
          var a = document.createElement("bootstrap"), b = {WebkitTransition: "webkitTransitionEnd", MozTransition: "transitionend", OTransition: "oTransitionEnd otransitionend", transition: "transitionend"};
          for (var c in b)if (a.style[c] !== undefined)return{end: b[c]}
      }
  
      "use strict", a.fn.emulateTransitionEnd = function (b) {
          var c = !1, d = this;
          a(this).one(a.support.transition.end, function () {
              c = !0
          });
          var e = function () {
              c || a(d).trigger(a.support.transition.end)
          };
          return setTimeout(e, b), this
      }, a(function () {
          a.support.transition = b()
      })
  }(jQuery)