{"version":3,"sources":["../bower_components/bootstrap-sass/assets/javascripts/bootstrap.js","../assets/scripts/main.js"],"names":["jQuery","Error","$","version","fn","jquery","split","transitionEnd","el","document","createElement","transEndEventNames","WebkitTransition","MozTransition","OTransition","transition","name","undefined","style","end","emulateTransitionEnd","duration","called","$el","this","one","callback","trigger","support","setTimeout","event","special","bsTransitionEnd","bindType","delegateType","handle","e","target","is","handleObj","handler","apply","arguments","Plugin","option","each","$this","data","Alert","call","dismiss","on","close","VERSION","TRANSITION_DURATION","prototype","removeElement","$parent","detach","remove","selector","attr","replace","preventDefault","length","closest","Event","isDefaultPrevented","removeClass","hasClass","old","alert","Constructor","noConflict","options","Button","toggle","setState","element","$element","extend","DEFAULTS","isLoading","loadingText","state","d","val","resetText","proxy","addClass","prop","removeAttr","changed","$input","find","toggleClass","button","$btn","first","test","type","Carousel","action","slide","to","interval","pause","cycle","$indicators","paused","sliding","$active","$items","keyboard","keydown","documentElement","wrap","tagName","which","prev","next","clearInterval","setInterval","getItemIndex","item","parent","children","index","getItemForDirection","direction","active","activeIndex","delta","itemIndex","eq","pos","that","$next","isCycling","relatedTarget","slideEvent","$nextIndicator","slidEvent","offsetWidth","join","carousel","clickHandler","href","$target","slideIndex","window","$carousel","getTargetFromTrigger","$trigger","Collapse","id","transitioning","getParent","addAriaAndCollapsedClass","dimension","show","activesData","actives","startEvent","complete","scrollSize","camelCase","hide","offsetHeight","i","isOpen","collapse","clearMenus","backdrop","contains","Dropdown","isActive","insertAfter","stopPropagation","dropdown","_relatedTarget","Modal","$body","body","$dialog","$backdrop","isShown","originalBodyPad","scrollbarWidth","ignoreBackdropClick","remote","load","BACKDROP_TRANSITION_DURATION","checkScrollbar","setScrollbar","escape","resize","appendTo","scrollTop","adjustDialog","enforceFocus","off","hideModal","has","handleUpdate","resetAdjustments","resetScrollbar","removeBackdrop","animate","doAnimate","currentTarget","focus","callbackRemove","modalIsOverflowing","scrollHeight","clientHeight","css","paddingLeft","bodyIsOverflowing","paddingRight","fullWindowWidth","innerWidth","documentElementRect","getBoundingClientRect","right","Math","abs","left","clientWidth","measureScrollbar","bodyPad","parseInt","scrollDiv","className","append","removeChild","modal","showEvent","Tooltip","enabled","timeout","hoverState","inState","init","animation","placement","template","title","delay","html","container","viewport","padding","getOptions","$viewport","isFunction","click","hover","constructor","triggers","eventIn","eventOut","enter","leave","_options","fixTitle","getDefaults","getDelegateOptions","defaults","key","value","obj","self","tip","clearTimeout","isInStateTrue","hasContent","inDom","ownerDocument","$tip","tipId","getUID","setContent","autoToken","autoPlace","top","display","getPosition","actualWidth","actualHeight","orgPlacement","viewportDim","bottom","width","calculatedOffset","getCalculatedOffset","applyPlacement","prevHoverState","offset","height","marginTop","marginLeft","isNaN","setOffset","using","props","round","getViewportAdjustedDelta","isVertical","arrowDelta","arrowOffsetPosition","replaceArrow","arrow","getTitle","$e","isBody","elRect","isSvg","SVGElement","elOffset","scroll","outerDims","viewportPadding","viewportDimensions","topEdgeOffset","bottomEdgeOffset","leftEdgeOffset","rightEdgeOffset","o","prefix","random","getElementById","$arrow","enable","disable","toggleEnabled","destroy","removeData","tooltip","Popover","content","getContent","popover","ScrollSpy","$scrollElement","offsets","targets","activeTarget","process","refresh","getScrollHeight","max","offsetMethod","offsetBase","isWindow","map","$href","sort","a","b","push","maxScroll","activate","clear","parents","parentsUntil","scrollspy","$spy","Tab","$ul","$previous","hideEvent","tab","Affix","checkPosition","checkPositionWithEventLoop","affixed","unpin","pinnedOffset","RESET","getState","offsetTop","offsetBottom","position","targetHeight","initializing","colliderTop","colliderHeight","getPinnedOffset","affix","affixType","Sage","common","finalize","home","about_us","UTIL","fire","func","funcname","args","namespace","loadEvents","classnm","ready"],"mappings":"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","file":"main.js","sourcesContent":["/*!\n * Bootstrap v3.3.7 (http://getbootstrap.com)\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under the MIT license\n */\n\nif (typeof jQuery === 'undefined') {\n throw new Error('Bootstrap\\'s JavaScript requires jQuery')\n}\n\n+function ($) {\n 'use strict';\n var version = $.fn.jquery.split(' ')[0].split('.')\n if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1) || (version[0] > 3)) {\n throw new Error('Bootstrap\\'s JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4')\n }\n}(jQuery);\n\n/* ========================================================================\n * Bootstrap: transition.js v3.3.7\n * http://getbootstrap.com/javascript/#transitions\n * ========================================================================\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ======================================================================== */\n\n\n+function ($) {\n 'use strict';\n\n // CSS TRANSITION SUPPORT (Shoutout: http://www.modernizr.com/)\n // ============================================================\n\n function transitionEnd() {\n var el = document.createElement('bootstrap')\n\n var transEndEventNames = {\n WebkitTransition : 'webkitTransitionEnd',\n MozTransition : 'transitionend',\n OTransition : 'oTransitionEnd otransitionend',\n transition : 'transitionend'\n }\n\n for (var name in transEndEventNames) {\n if (el.style[name] !== undefined) {\n return { end: transEndEventNames[name] }\n }\n }\n\n return false // explicit for ie8 ( ._.)\n }\n\n // http://blog.alexmaccaw.com/css-transitions\n $.fn.emulateTransitionEnd = function (duration) {\n var called = false\n var $el = this\n $(this).one('bsTransitionEnd', function () { called = true })\n var callback = function () { if (!called) $($el).trigger($.support.transition.end) }\n setTimeout(callback, duration)\n return this\n }\n\n $(function () {\n $.support.transition = transitionEnd()\n\n if (!$.support.transition) return\n\n $.event.special.bsTransitionEnd = {\n bindType: $.support.transition.end,\n delegateType: $.support.transition.end,\n handle: function (e) {\n if ($(e.target).is(this)) return e.handleObj.handler.apply(this, arguments)\n }\n }\n })\n\n}(jQuery);\n\n/* ========================================================================\n * Bootstrap: alert.js v3.3.7\n * http://getbootstrap.com/javascript/#alerts\n * ========================================================================\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ======================================================================== */\n\n\n+function ($) {\n 'use strict';\n\n // ALERT CLASS DEFINITION\n // ======================\n\n var dismiss = '[data-dismiss=\"alert\"]'\n var Alert = function (el) {\n $(el).on('click', dismiss, this.close)\n }\n\n Alert.VERSION = '3.3.7'\n\n Alert.TRANSITION_DURATION = 150\n\n Alert.prototype.close = function (e) {\n var $this = $(this)\n var selector = $this.attr('data-target')\n\n if (!selector) {\n selector = $this.attr('href')\n selector = selector && selector.replace(/.*(?=#[^\\s]*$)/, '') // strip for ie7\n }\n\n var $parent = $(selector === '#' ? [] : selector)\n\n if (e) e.preventDefault()\n\n if (!$parent.length) {\n $parent = $this.closest('.alert')\n }\n\n $parent.trigger(e = $.Event('close.bs.alert'))\n\n if (e.isDefaultPrevented()) return\n\n $parent.removeClass('in')\n\n function removeElement() {\n // detach from parent, fire event then clean up data\n $parent.detach().trigger('closed.bs.alert').remove()\n }\n\n $.support.transition && $parent.hasClass('fade') ?\n $parent\n .one('bsTransitionEnd', removeElement)\n .emulateTransitionEnd(Alert.TRANSITION_DURATION) :\n removeElement()\n }\n\n\n // ALERT PLUGIN DEFINITION\n // =======================\n\n function Plugin(option) {\n return this.each(function () {\n var $this = $(this)\n var data = $this.data('bs.alert')\n\n if (!data) $this.data('bs.alert', (data = new Alert(this)))\n if (typeof option == 'string') data[option].call($this)\n })\n }\n\n var old = $.fn.alert\n\n $.fn.alert = Plugin\n $.fn.alert.Constructor = Alert\n\n\n // ALERT NO CONFLICT\n // =================\n\n $.fn.alert.noConflict = function () {\n $.fn.alert = old\n return this\n }\n\n\n // ALERT DATA-API\n // ==============\n\n $(document).on('click.bs.alert.data-api', dismiss, Alert.prototype.close)\n\n}(jQuery);\n\n/* ========================================================================\n * Bootstrap: button.js v3.3.7\n * http://getbootstrap.com/javascript/#buttons\n * ========================================================================\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ======================================================================== */\n\n\n+function ($) {\n 'use strict';\n\n // BUTTON PUBLIC CLASS DEFINITION\n // ==============================\n\n var Button = function (element, options) {\n this.$element = $(element)\n this.options = $.extend({}, Button.DEFAULTS, options)\n this.isLoading = false\n }\n\n Button.VERSION = '3.3.7'\n\n Button.DEFAULTS = {\n loadingText: 'loading...'\n }\n\n Button.prototype.setState = function (state) {\n var d = 'disabled'\n var $el = this.$element\n var val = $el.is('input') ? 'val' : 'html'\n var data = $el.data()\n\n state += 'Text'\n\n if (data.resetText == null) $el.data('resetText', $el[val]())\n\n // push to event loop to allow forms to submit\n setTimeout($.proxy(function () {\n $el[val](data[state] == null ? this.options[state] : data[state])\n\n if (state == 'loadingText') {\n this.isLoading = true\n $el.addClass(d).attr(d, d).prop(d, true)\n } else if (this.isLoading) {\n this.isLoading = false\n $el.removeClass(d).removeAttr(d).prop(d, false)\n }\n }, this), 0)\n }\n\n Button.prototype.toggle = function () {\n var changed = true\n var $parent = this.$element.closest('[data-toggle=\"buttons\"]')\n\n if ($parent.length) {\n var $input = this.$element.find('input')\n if ($input.prop('type') == 'radio') {\n if ($input.prop('checked')) changed = false\n $parent.find('.active').removeClass('active')\n this.$element.addClass('active')\n } else if ($input.prop('type') == 'checkbox') {\n if (($input.prop('checked')) !== this.$element.hasClass('active')) changed = false\n this.$element.toggleClass('active')\n }\n $input.prop('checked', this.$element.hasClass('active'))\n if (changed) $input.trigger('change')\n } else {\n this.$element.attr('aria-pressed', !this.$element.hasClass('active'))\n this.$element.toggleClass('active')\n }\n }\n\n\n // BUTTON PLUGIN DEFINITION\n // ========================\n\n function Plugin(option) {\n return this.each(function () {\n var $this = $(this)\n var data = $this.data('bs.button')\n var options = typeof option == 'object' && option\n\n if (!data) $this.data('bs.button', (data = new Button(this, options)))\n\n if (option == 'toggle') data.toggle()\n else if (option) data.setState(option)\n })\n }\n\n var old = $.fn.button\n\n $.fn.button = Plugin\n $.fn.button.Constructor = Button\n\n\n // BUTTON NO CONFLICT\n // ==================\n\n $.fn.button.noConflict = function () {\n $.fn.button = old\n return this\n }\n\n\n // BUTTON DATA-API\n // ===============\n\n $(document)\n .on('click.bs.button.data-api', '[data-toggle^=\"button\"]', function (e) {\n var $btn = $(e.target).closest('.btn')\n Plugin.call($btn, 'toggle')\n if (!($(e.target).is('input[type=\"radio\"], input[type=\"checkbox\"]'))) {\n // Prevent double click on radios, and the double selections (so cancellation) on checkboxes\n e.preventDefault()\n // The target component still receive the focus\n if ($btn.is('input,button')) $btn.trigger('focus')\n else $btn.find('input:visible,button:visible').first().trigger('focus')\n }\n })\n .on('focus.bs.button.data-api blur.bs.button.data-api', '[data-toggle^=\"button\"]', function (e) {\n $(e.target).closest('.btn').toggleClass('focus', /^focus(in)?$/.test(e.type))\n })\n\n}(jQuery);\n\n/* ========================================================================\n * Bootstrap: carousel.js v3.3.7\n * http://getbootstrap.com/javascript/#carousel\n * ========================================================================\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ======================================================================== */\n\n\n+function ($) {\n 'use strict';\n\n // CAROUSEL CLASS DEFINITION\n // =========================\n\n var Carousel = function (element, options) {\n this.$element = $(element)\n this.$indicators = this.$element.find('.carousel-indicators')\n this.options = options\n this.paused = null\n this.sliding = null\n this.interval = null\n this.$active = null\n this.$items = null\n\n this.options.keyboard && this.$element.on('keydown.bs.carousel', $.proxy(this.keydown, this))\n\n this.options.pause == 'hover' && !('ontouchstart' in document.documentElement) && this.$element\n .on('mouseenter.bs.carousel', $.proxy(this.pause, this))\n .on('mouseleave.bs.carousel', $.proxy(this.cycle, this))\n }\n\n Carousel.VERSION = '3.3.7'\n\n Carousel.TRANSITION_DURATION = 600\n\n Carousel.DEFAULTS = {\n interval: 5000,\n pause: 'hover',\n wrap: true,\n keyboard: true\n }\n\n Carousel.prototype.keydown = function (e) {\n if (/input|textarea/i.test(e.target.tagName)) return\n switch (e.which) {\n case 37: this.prev(); break\n case 39: this.next(); break\n default: return\n }\n\n e.preventDefault()\n }\n\n Carousel.prototype.cycle = function (e) {\n e || (this.paused = false)\n\n this.interval && clearInterval(this.interval)\n\n this.options.interval\n && !this.paused\n && (this.interval = setInterval($.proxy(this.next, this), this.options.interval))\n\n return this\n }\n\n Carousel.prototype.getItemIndex = function (item) {\n this.$items = item.parent().children('.item')\n return this.$items.index(item || this.$active)\n }\n\n Carousel.prototype.getItemForDirection = function (direction, active) {\n var activeIndex = this.getItemIndex(active)\n var willWrap = (direction == 'prev' && activeIndex === 0)\n || (direction == 'next' && activeIndex == (this.$items.length - 1))\n if (willWrap && !this.options.wrap) return active\n var delta = direction == 'prev' ? -1 : 1\n var itemIndex = (activeIndex + delta) % this.$items.length\n return this.$items.eq(itemIndex)\n }\n\n Carousel.prototype.to = function (pos) {\n var that = this\n var activeIndex = this.getItemIndex(this.$active = this.$element.find('.item.active'))\n\n if (pos > (this.$items.length - 1) || pos < 0) return\n\n if (this.sliding) return this.$element.one('slid.bs.carousel', function () { that.to(pos) }) // yes, \"slid\"\n if (activeIndex == pos) return this.pause().cycle()\n\n return this.slide(pos > activeIndex ? 'next' : 'prev', this.$items.eq(pos))\n }\n\n Carousel.prototype.pause = function (e) {\n e || (this.paused = true)\n\n if (this.$element.find('.next, .prev').length && $.support.transition) {\n this.$element.trigger($.support.transition.end)\n this.cycle(true)\n }\n\n this.interval = clearInterval(this.interval)\n\n return this\n }\n\n Carousel.prototype.next = function () {\n if (this.sliding) return\n return this.slide('next')\n }\n\n Carousel.prototype.prev = function () {\n if (this.sliding) return\n return this.slide('prev')\n }\n\n Carousel.prototype.slide = function (type, next) {\n var $active = this.$element.find('.item.active')\n var $next = next || this.getItemForDirection(type, $active)\n var isCycling = this.interval\n var direction = type == 'next' ? 'left' : 'right'\n var that = this\n\n if ($next.hasClass('active')) return (this.sliding = false)\n\n var relatedTarget = $next[0]\n var slideEvent = $.Event('slide.bs.carousel', {\n relatedTarget: relatedTarget,\n direction: direction\n })\n this.$element.trigger(slideEvent)\n if (slideEvent.isDefaultPrevented()) return\n\n this.sliding = true\n\n isCycling && this.pause()\n\n if (this.$indicators.length) {\n this.$indicators.find('.active').removeClass('active')\n var $nextIndicator = $(this.$indicators.children()[this.getItemIndex($next)])\n $nextIndicator && $nextIndicator.addClass('active')\n }\n\n var slidEvent = $.Event('slid.bs.carousel', { relatedTarget: relatedTarget, direction: direction }) // yes, \"slid\"\n if ($.support.transition && this.$element.hasClass('slide')) {\n $next.addClass(type)\n $next[0].offsetWidth // force reflow\n $active.addClass(direction)\n $next.addClass(direction)\n $active\n .one('bsTransitionEnd', function () {\n $next.removeClass([type, direction].join(' ')).addClass('active')\n $active.removeClass(['active', direction].join(' '))\n that.sliding = false\n setTimeout(function () {\n that.$element.trigger(slidEvent)\n }, 0)\n })\n .emulateTransitionEnd(Carousel.TRANSITION_DURATION)\n } else {\n $active.removeClass('active')\n $next.addClass('active')\n this.sliding = false\n this.$element.trigger(slidEvent)\n }\n\n isCycling && this.cycle()\n\n return this\n }\n\n\n // CAROUSEL PLUGIN DEFINITION\n // ==========================\n\n function Plugin(option) {\n return this.each(function () {\n var $this = $(this)\n var data = $this.data('bs.carousel')\n var options = $.extend({}, Carousel.DEFAULTS, $this.data(), typeof option == 'object' && option)\n var action = typeof option == 'string' ? option : options.slide\n\n if (!data) $this.data('bs.carousel', (data = new Carousel(this, options)))\n if (typeof option == 'number') data.to(option)\n else if (action) data[action]()\n else if (options.interval) data.pause().cycle()\n })\n }\n\n var old = $.fn.carousel\n\n $.fn.carousel = Plugin\n $.fn.carousel.Constructor = Carousel\n\n\n // CAROUSEL NO CONFLICT\n // ====================\n\n $.fn.carousel.noConflict = function () {\n $.fn.carousel = old\n return this\n }\n\n\n // CAROUSEL DATA-API\n // =================\n\n var clickHandler = function (e) {\n var href\n var $this = $(this)\n var $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\\s]+$)/, '')) // strip for ie7\n if (!$target.hasClass('carousel')) return\n var options = $.extend({}, $target.data(), $this.data())\n var slideIndex = $this.attr('data-slide-to')\n if (slideIndex) options.interval = false\n\n Plugin.call($target, options)\n\n if (slideIndex) {\n $target.data('bs.carousel').to(slideIndex)\n }\n\n e.preventDefault()\n }\n\n $(document)\n .on('click.bs.carousel.data-api', '[data-slide]', clickHandler)\n .on('click.bs.carousel.data-api', '[data-slide-to]', clickHandler)\n\n $(window).on('load', function () {\n $('[data-ride=\"carousel\"]').each(function () {\n var $carousel = $(this)\n Plugin.call($carousel, $carousel.data())\n })\n })\n\n}(jQuery);\n\n/* ========================================================================\n * Bootstrap: collapse.js v3.3.7\n * http://getbootstrap.com/javascript/#collapse\n * ========================================================================\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ======================================================================== */\n\n/* jshint latedef: false */\n\n+function ($) {\n 'use strict';\n\n // COLLAPSE PUBLIC CLASS DEFINITION\n // ================================\n\n var Collapse = function (element, options) {\n this.$element = $(element)\n this.options = $.extend({}, Collapse.DEFAULTS, options)\n this.$trigger = $('[data-toggle=\"collapse\"][href=\"#' + element.id + '\"],' +\n '[data-toggle=\"collapse\"][data-target=\"#' + element.id + '\"]')\n this.transitioning = null\n\n if (this.options.parent) {\n this.$parent = this.getParent()\n } else {\n this.addAriaAndCollapsedClass(this.$element, this.$trigger)\n }\n\n if (this.options.toggle) this.toggle()\n }\n\n Collapse.VERSION = '3.3.7'\n\n Collapse.TRANSITION_DURATION = 350\n\n Collapse.DEFAULTS = {\n toggle: true\n }\n\n Collapse.prototype.dimension = function () {\n var hasWidth = this.$element.hasClass('width')\n return hasWidth ? 'width' : 'height'\n }\n\n Collapse.prototype.show = function () {\n if (this.transitioning || this.$element.hasClass('in')) return\n\n var activesData\n var actives = this.$parent && this.$parent.children('.panel').children('.in, .collapsing')\n\n if (actives && actives.length) {\n activesData = actives.data('bs.collapse')\n if (activesData && activesData.transitioning) return\n }\n\n var startEvent = $.Event('show.bs.collapse')\n this.$element.trigger(startEvent)\n if (startEvent.isDefaultPrevented()) return\n\n if (actives && actives.length) {\n Plugin.call(actives, 'hide')\n activesData || actives.data('bs.collapse', null)\n }\n\n var dimension = this.dimension()\n\n this.$element\n .removeClass('collapse')\n .addClass('collapsing')[dimension](0)\n .attr('aria-expanded', true)\n\n this.$trigger\n .removeClass('collapsed')\n .attr('aria-expanded', true)\n\n this.transitioning = 1\n\n var complete = function () {\n this.$element\n .removeClass('collapsing')\n .addClass('collapse in')[dimension]('')\n this.transitioning = 0\n this.$element\n .trigger('shown.bs.collapse')\n }\n\n if (!$.support.transition) return complete.call(this)\n\n var scrollSize = $.camelCase(['scroll', dimension].join('-'))\n\n this.$element\n .one('bsTransitionEnd', $.proxy(complete, this))\n .emulateTransitionEnd(Collapse.TRANSITION_DURATION)[dimension](this.$element[0][scrollSize])\n }\n\n Collapse.prototype.hide = function () {\n if (this.transitioning || !this.$element.hasClass('in')) return\n\n var startEvent = $.Event('hide.bs.collapse')\n this.$element.trigger(startEvent)\n if (startEvent.isDefaultPrevented()) return\n\n var dimension = this.dimension()\n\n this.$element[dimension](this.$element[dimension]())[0].offsetHeight\n\n this.$element\n .addClass('collapsing')\n .removeClass('collapse in')\n .attr('aria-expanded', false)\n\n this.$trigger\n .addClass('collapsed')\n .attr('aria-expanded', false)\n\n this.transitioning = 1\n\n var complete = function () {\n this.transitioning = 0\n this.$element\n .removeClass('collapsing')\n .addClass('collapse')\n .trigger('hidden.bs.collapse')\n }\n\n if (!$.support.transition) return complete.call(this)\n\n this.$element\n [dimension](0)\n .one('bsTransitionEnd', $.proxy(complete, this))\n .emulateTransitionEnd(Collapse.TRANSITION_DURATION)\n }\n\n Collapse.prototype.toggle = function () {\n this[this.$element.hasClass('in') ? 'hide' : 'show']()\n }\n\n Collapse.prototype.getParent = function () {\n return $(this.options.parent)\n .find('[data-toggle=\"collapse\"][data-parent=\"' + this.options.parent + '\"]')\n .each($.proxy(function (i, element) {\n var $element = $(element)\n this.addAriaAndCollapsedClass(getTargetFromTrigger($element), $element)\n }, this))\n .end()\n }\n\n Collapse.prototype.addAriaAndCollapsedClass = function ($element, $trigger) {\n var isOpen = $element.hasClass('in')\n\n $element.attr('aria-expanded', isOpen)\n $trigger\n .toggleClass('collapsed', !isOpen)\n .attr('aria-expanded', isOpen)\n }\n\n function getTargetFromTrigger($trigger) {\n var href\n var target = $trigger.attr('data-target')\n || (href = $trigger.attr('href')) && href.replace(/.*(?=#[^\\s]+$)/, '') // strip for ie7\n\n return $(target)\n }\n\n\n // COLLAPSE PLUGIN DEFINITION\n // ==========================\n\n function Plugin(option) {\n return this.each(function () {\n var $this = $(this)\n var data = $this.data('bs.collapse')\n var options = $.extend({}, Collapse.DEFAULTS, $this.data(), typeof option == 'object' && option)\n\n if (!data && options.toggle && /show|hide/.test(option)) options.toggle = false\n if (!data) $this.data('bs.collapse', (data = new Collapse(this, options)))\n if (typeof option == 'string') data[option]()\n })\n }\n\n var old = $.fn.collapse\n\n $.fn.collapse = Plugin\n $.fn.collapse.Constructor = Collapse\n\n\n // COLLAPSE NO CONFLICT\n // ====================\n\n $.fn.collapse.noConflict = function () {\n $.fn.collapse = old\n return this\n }\n\n\n // COLLAPSE DATA-API\n // =================\n\n $(document).on('click.bs.collapse.data-api', '[data-toggle=\"collapse\"]', function (e) {\n var $this = $(this)\n\n if (!$this.attr('data-target')) e.preventDefault()\n\n var $target = getTargetFromTrigger($this)\n var data = $target.data('bs.collapse')\n var option = data ? 'toggle' : $this.data()\n\n Plugin.call($target, option)\n })\n\n}(jQuery);\n\n/* ========================================================================\n * Bootstrap: dropdown.js v3.3.7\n * http://getbootstrap.com/javascript/#dropdowns\n * ========================================================================\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ======================================================================== */\n\n\n+function ($) {\n 'use strict';\n\n // DROPDOWN CLASS DEFINITION\n // =========================\n\n var backdrop = '.dropdown-backdrop'\n var toggle = '[data-toggle=\"dropdown\"]'\n var Dropdown = function (element) {\n $(element).on('click.bs.dropdown', this.toggle)\n }\n\n Dropdown.VERSION = '3.3.7'\n\n function getParent($this) {\n var selector = $this.attr('data-target')\n\n if (!selector) {\n selector = $this.attr('href')\n selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\\s]*$)/, '') // strip for ie7\n }\n\n var $parent = selector && $(selector)\n\n return $parent && $parent.length ? $parent : $this.parent()\n }\n\n function clearMenus(e) {\n if (e && e.which === 3) return\n $(backdrop).remove()\n $(toggle).each(function () {\n var $this = $(this)\n var $parent = getParent($this)\n var relatedTarget = { relatedTarget: this }\n\n if (!$parent.hasClass('open')) return\n\n if (e && e.type == 'click' && /input|textarea/i.test(e.target.tagName) && $.contains($parent[0], e.target)) return\n\n $parent.trigger(e = $.Event('hide.bs.dropdown', relatedTarget))\n\n if (e.isDefaultPrevented()) return\n\n $this.attr('aria-expanded', 'false')\n $parent.removeClass('open').trigger($.Event('hidden.bs.dropdown', relatedTarget))\n })\n }\n\n Dropdown.prototype.toggle = function (e) {\n var $this = $(this)\n\n if ($this.is('.disabled, :disabled')) return\n\n var $parent = getParent($this)\n var isActive = $parent.hasClass('open')\n\n clearMenus()\n\n if (!isActive) {\n if ('ontouchstart' in document.documentElement && !$parent.closest('.navbar-nav').length) {\n // if mobile we use a backdrop because click events don't delegate\n $(document.createElement('div'))\n .addClass('dropdown-backdrop')\n .insertAfter($(this))\n .on('click', clearMenus)\n }\n\n var relatedTarget = { relatedTarget: this }\n $parent.trigger(e = $.Event('show.bs.dropdown', relatedTarget))\n\n if (e.isDefaultPrevented()) return\n\n $this\n .trigger('focus')\n .attr('aria-expanded', 'true')\n\n $parent\n .toggleClass('open')\n .trigger($.Event('shown.bs.dropdown', relatedTarget))\n }\n\n return false\n }\n\n Dropdown.prototype.keydown = function (e) {\n if (!/(38|40|27|32)/.test(e.which) || /input|textarea/i.test(e.target.tagName)) return\n\n var $this = $(this)\n\n e.preventDefault()\n e.stopPropagation()\n\n if ($this.is('.disabled, :disabled')) return\n\n var $parent = getParent($this)\n var isActive = $parent.hasClass('open')\n\n if (!isActive && e.which != 27 || isActive && e.which == 27) {\n if (e.which == 27) $parent.find(toggle).trigger('focus')\n return $this.trigger('click')\n }\n\n var desc = ' li:not(.disabled):visible a'\n var $items = $parent.find('.dropdown-menu' + desc)\n\n if (!$items.length) return\n\n var index = $items.index(e.target)\n\n if (e.which == 38 && index > 0) index-- // up\n if (e.which == 40 && index < $items.length - 1) index++ // down\n if (!~index) index = 0\n\n $items.eq(index).trigger('focus')\n }\n\n\n // DROPDOWN PLUGIN DEFINITION\n // ==========================\n\n function Plugin(option) {\n return this.each(function () {\n var $this = $(this)\n var data = $this.data('bs.dropdown')\n\n if (!data) $this.data('bs.dropdown', (data = new Dropdown(this)))\n if (typeof option == 'string') data[option].call($this)\n })\n }\n\n var old = $.fn.dropdown\n\n $.fn.dropdown = Plugin\n $.fn.dropdown.Constructor = Dropdown\n\n\n // DROPDOWN NO CONFLICT\n // ====================\n\n $.fn.dropdown.noConflict = function () {\n $.fn.dropdown = old\n return this\n }\n\n\n // APPLY TO STANDARD DROPDOWN ELEMENTS\n // ===================================\n\n $(document)\n .on('click.bs.dropdown.data-api', clearMenus)\n .on('click.bs.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })\n .on('click.bs.dropdown.data-api', toggle, Dropdown.prototype.toggle)\n .on('keydown.bs.dropdown.data-api', toggle, Dropdown.prototype.keydown)\n .on('keydown.bs.dropdown.data-api', '.dropdown-menu', Dropdown.prototype.keydown)\n\n}(jQuery);\n\n/* ========================================================================\n * Bootstrap: modal.js v3.3.7\n * http://getbootstrap.com/javascript/#modals\n * ========================================================================\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ======================================================================== */\n\n\n+function ($) {\n 'use strict';\n\n // MODAL CLASS DEFINITION\n // ======================\n\n var Modal = function (element, options) {\n this.options = options\n this.$body = $(document.body)\n this.$element = $(element)\n this.$dialog = this.$element.find('.modal-dialog')\n this.$backdrop = null\n this.isShown = null\n this.originalBodyPad = null\n this.scrollbarWidth = 0\n this.ignoreBackdropClick = false\n\n if (this.options.remote) {\n this.$element\n .find('.modal-content')\n .load(this.options.remote, $.proxy(function () {\n this.$element.trigger('loaded.bs.modal')\n }, this))\n }\n }\n\n Modal.VERSION = '3.3.7'\n\n Modal.TRANSITION_DURATION = 300\n Modal.BACKDROP_TRANSITION_DURATION = 150\n\n Modal.DEFAULTS = {\n backdrop: true,\n keyboard: true,\n show: true\n }\n\n Modal.prototype.toggle = function (_relatedTarget) {\n return this.isShown ? this.hide() : this.show(_relatedTarget)\n }\n\n Modal.prototype.show = function (_relatedTarget) {\n var that = this\n var e = $.Event('show.bs.modal', { relatedTarget: _relatedTarget })\n\n this.$element.trigger(e)\n\n if (this.isShown || e.isDefaultPrevented()) return\n\n this.isShown = true\n\n this.checkScrollbar()\n this.setScrollbar()\n this.$body.addClass('modal-open')\n\n this.escape()\n this.resize()\n\n this.$element.on('click.dismiss.bs.modal', '[data-dismiss=\"modal\"]', $.proxy(this.hide, this))\n\n this.$dialog.on('mousedown.dismiss.bs.modal', function () {\n that.$element.one('mouseup.dismiss.bs.modal', function (e) {\n if ($(e.target).is(that.$element)) that.ignoreBackdropClick = true\n })\n })\n\n this.backdrop(function () {\n var transition = $.support.transition && that.$element.hasClass('fade')\n\n if (!that.$element.parent().length) {\n that.$element.appendTo(that.$body) // don't move modals dom position\n }\n\n that.$element\n .show()\n .scrollTop(0)\n\n that.adjustDialog()\n\n if (transition) {\n that.$element[0].offsetWidth // force reflow\n }\n\n that.$element.addClass('in')\n\n that.enforceFocus()\n\n var e = $.Event('shown.bs.modal', { relatedTarget: _relatedTarget })\n\n transition ?\n that.$dialog // wait for modal to slide in\n .one('bsTransitionEnd', function () {\n that.$element.trigger('focus').trigger(e)\n })\n .emulateTransitionEnd(Modal.TRANSITION_DURATION) :\n that.$element.trigger('focus').trigger(e)\n })\n }\n\n Modal.prototype.hide = function (e) {\n if (e) e.preventDefault()\n\n e = $.Event('hide.bs.modal')\n\n this.$element.trigger(e)\n\n if (!this.isShown || e.isDefaultPrevented()) return\n\n this.isShown = false\n\n this.escape()\n this.resize()\n\n $(document).off('focusin.bs.modal')\n\n this.$element\n .removeClass('in')\n .off('click.dismiss.bs.modal')\n .off('mouseup.dismiss.bs.modal')\n\n this.$dialog.off('mousedown.dismiss.bs.modal')\n\n $.support.transition && this.$element.hasClass('fade') ?\n this.$element\n .one('bsTransitionEnd', $.proxy(this.hideModal, this))\n .emulateTransitionEnd(Modal.TRANSITION_DURATION) :\n this.hideModal()\n }\n\n Modal.prototype.enforceFocus = function () {\n $(document)\n .off('focusin.bs.modal') // guard against infinite focus loop\n .on('focusin.bs.modal', $.proxy(function (e) {\n if (document !== e.target &&\n this.$element[0] !== e.target &&\n !this.$element.has(e.target).length) {\n this.$element.trigger('focus')\n }\n }, this))\n }\n\n Modal.prototype.escape = function () {\n if (this.isShown && this.options.keyboard) {\n this.$element.on('keydown.dismiss.bs.modal', $.proxy(function (e) {\n e.which == 27 && this.hide()\n }, this))\n } else if (!this.isShown) {\n this.$element.off('keydown.dismiss.bs.modal')\n }\n }\n\n Modal.prototype.resize = function () {\n if (this.isShown) {\n $(window).on('resize.bs.modal', $.proxy(this.handleUpdate, this))\n } else {\n $(window).off('resize.bs.modal')\n }\n }\n\n Modal.prototype.hideModal = function () {\n var that = this\n this.$element.hide()\n this.backdrop(function () {\n that.$body.removeClass('modal-open')\n that.resetAdjustments()\n that.resetScrollbar()\n that.$element.trigger('hidden.bs.modal')\n })\n }\n\n Modal.prototype.removeBackdrop = function () {\n this.$backdrop && this.$backdrop.remove()\n this.$backdrop = null\n }\n\n Modal.prototype.backdrop = function (callback) {\n var that = this\n var animate = this.$element.hasClass('fade') ? 'fade' : ''\n\n if (this.isShown && this.options.backdrop) {\n var doAnimate = $.support.transition && animate\n\n this.$backdrop = $(document.createElement('div'))\n .addClass('modal-backdrop ' + animate)\n .appendTo(this.$body)\n\n this.$element.on('click.dismiss.bs.modal', $.proxy(function (e) {\n if (this.ignoreBackdropClick) {\n this.ignoreBackdropClick = false\n return\n }\n if (e.target !== e.currentTarget) return\n this.options.backdrop == 'static'\n ? this.$element[0].focus()\n : this.hide()\n }, this))\n\n if (doAnimate) this.$backdrop[0].offsetWidth // force reflow\n\n this.$backdrop.addClass('in')\n\n if (!callback) return\n\n doAnimate ?\n this.$backdrop\n .one('bsTransitionEnd', callback)\n .emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) :\n callback()\n\n } else if (!this.isShown && this.$backdrop) {\n this.$backdrop.removeClass('in')\n\n var callbackRemove = function () {\n that.removeBackdrop()\n callback && callback()\n }\n $.support.transition && this.$element.hasClass('fade') ?\n this.$backdrop\n .one('bsTransitionEnd', callbackRemove)\n .emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) :\n callbackRemove()\n\n } else if (callback) {\n callback()\n }\n }\n\n // these following methods are used to handle overflowing modals\n\n Modal.prototype.handleUpdate = function () {\n this.adjustDialog()\n }\n\n Modal.prototype.adjustDialog = function () {\n var modalIsOverflowing = this.$element[0].scrollHeight > document.documentElement.clientHeight\n\n this.$element.css({\n paddingLeft: !this.bodyIsOverflowing && modalIsOverflowing ? this.scrollbarWidth : '',\n paddingRight: this.bodyIsOverflowing && !modalIsOverflowing ? this.scrollbarWidth : ''\n })\n }\n\n Modal.prototype.resetAdjustments = function () {\n this.$element.css({\n paddingLeft: '',\n paddingRight: ''\n })\n }\n\n Modal.prototype.checkScrollbar = function () {\n var fullWindowWidth = window.innerWidth\n if (!fullWindowWidth) { // workaround for missing window.innerWidth in IE8\n var documentElementRect = document.documentElement.getBoundingClientRect()\n fullWindowWidth = documentElementRect.right - Math.abs(documentElementRect.left)\n }\n this.bodyIsOverflowing = document.body.clientWidth < fullWindowWidth\n this.scrollbarWidth = this.measureScrollbar()\n }\n\n Modal.prototype.setScrollbar = function () {\n var bodyPad = parseInt((this.$body.css('padding-right') || 0), 10)\n this.originalBodyPad = document.body.style.paddingRight || ''\n if (this.bodyIsOverflowing) this.$body.css('padding-right', bodyPad + this.scrollbarWidth)\n }\n\n Modal.prototype.resetScrollbar = function () {\n this.$body.css('padding-right', this.originalBodyPad)\n }\n\n Modal.prototype.measureScrollbar = function () { // thx walsh\n var scrollDiv = document.createElement('div')\n scrollDiv.className = 'modal-scrollbar-measure'\n this.$body.append(scrollDiv)\n var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth\n this.$body[0].removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n\n // MODAL PLUGIN DEFINITION\n // =======================\n\n function Plugin(option, _relatedTarget) {\n return this.each(function () {\n var $this = $(this)\n var data = $this.data('bs.modal')\n var options = $.extend({}, Modal.DEFAULTS, $this.data(), typeof option == 'object' && option)\n\n if (!data) $this.data('bs.modal', (data = new Modal(this, options)))\n if (typeof option == 'string') data[option](_relatedTarget)\n else if (options.show) data.show(_relatedTarget)\n })\n }\n\n var old = $.fn.modal\n\n $.fn.modal = Plugin\n $.fn.modal.Constructor = Modal\n\n\n // MODAL NO CONFLICT\n // =================\n\n $.fn.modal.noConflict = function () {\n $.fn.modal = old\n return this\n }\n\n\n // MODAL DATA-API\n // ==============\n\n $(document).on('click.bs.modal.data-api', '[data-toggle=\"modal\"]', function (e) {\n var $this = $(this)\n var href = $this.attr('href')\n var $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\\s]+$)/, ''))) // strip for ie7\n var option = $target.data('bs.modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data())\n\n if ($this.is('a')) e.preventDefault()\n\n $target.one('show.bs.modal', function (showEvent) {\n if (showEvent.isDefaultPrevented()) return // only register focus restorer if modal will actually get shown\n $target.one('hidden.bs.modal', function () {\n $this.is(':visible') && $this.trigger('focus')\n })\n })\n Plugin.call($target, option, this)\n })\n\n}(jQuery);\n\n/* ========================================================================\n * Bootstrap: tooltip.js v3.3.7\n * http://getbootstrap.com/javascript/#tooltip\n * Inspired by the original jQuery.tipsy by Jason Frame\n * ========================================================================\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ======================================================================== */\n\n\n+function ($) {\n 'use strict';\n\n // TOOLTIP PUBLIC CLASS DEFINITION\n // ===============================\n\n var Tooltip = function (element, options) {\n this.type = null\n this.options = null\n this.enabled = null\n this.timeout = null\n this.hoverState = null\n this.$element = null\n this.inState = null\n\n this.init('tooltip', element, options)\n }\n\n Tooltip.VERSION = '3.3.7'\n\n Tooltip.TRANSITION_DURATION = 150\n\n Tooltip.DEFAULTS = {\n animation: true,\n placement: 'top',\n selector: false,\n template: '
',\n trigger: 'hover focus',\n title: '',\n delay: 0,\n html: false,\n container: false,\n viewport: {\n selector: 'body',\n padding: 0\n }\n }\n\n Tooltip.prototype.init = function (type, element, options) {\n this.enabled = true\n this.type = type\n this.$element = $(element)\n this.options = this.getOptions(options)\n this.$viewport = this.options.viewport && $($.isFunction(this.options.viewport) ? this.options.viewport.call(this, this.$element) : (this.options.viewport.selector || this.options.viewport))\n this.inState = { click: false, hover: false, focus: false }\n\n if (this.$element[0] instanceof document.constructor && !this.options.selector) {\n throw new Error('`selector` option must be specified when initializing ' + this.type + ' on the window.document object!')\n }\n\n var triggers = this.options.trigger.split(' ')\n\n for (var i = triggers.length; i--;) {\n var trigger = triggers[i]\n\n if (trigger == 'click') {\n this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this))\n } else if (trigger != 'manual') {\n var eventIn = trigger == 'hover' ? 'mouseenter' : 'focusin'\n var eventOut = trigger == 'hover' ? 'mouseleave' : 'focusout'\n\n this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this))\n this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this))\n }\n }\n\n this.options.selector ?\n (this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) :\n this.fixTitle()\n }\n\n Tooltip.prototype.getDefaults = function () {\n return Tooltip.DEFAULTS\n }\n\n Tooltip.prototype.getOptions = function (options) {\n options = $.extend({}, this.getDefaults(), this.$element.data(), options)\n\n if (options.delay && typeof options.delay == 'number') {\n options.delay = {\n show: options.delay,\n hide: options.delay\n }\n }\n\n return options\n }\n\n Tooltip.prototype.getDelegateOptions = function () {\n var options = {}\n var defaults = this.getDefaults()\n\n this._options && $.each(this._options, function (key, value) {\n if (defaults[key] != value) options[key] = value\n })\n\n return options\n }\n\n Tooltip.prototype.enter = function (obj) {\n var self = obj instanceof this.constructor ?\n obj : $(obj.currentTarget).data('bs.' + this.type)\n\n if (!self) {\n self = new this.constructor(obj.currentTarget, this.getDelegateOptions())\n $(obj.currentTarget).data('bs.' + this.type, self)\n }\n\n if (obj instanceof $.Event) {\n self.inState[obj.type == 'focusin' ? 'focus' : 'hover'] = true\n }\n\n if (self.tip().hasClass('in') || self.hoverState == 'in') {\n self.hoverState = 'in'\n return\n }\n\n clearTimeout(self.timeout)\n\n self.hoverState = 'in'\n\n if (!self.options.delay || !self.options.delay.show) return self.show()\n\n self.timeout = setTimeout(function () {\n if (self.hoverState == 'in') self.show()\n }, self.options.delay.show)\n }\n\n Tooltip.prototype.isInStateTrue = function () {\n for (var key in this.inState) {\n if (this.inState[key]) return true\n }\n\n return false\n }\n\n Tooltip.prototype.leave = function (obj) {\n var self = obj instanceof this.constructor ?\n obj : $(obj.currentTarget).data('bs.' + this.type)\n\n if (!self) {\n self = new this.constructor(obj.currentTarget, this.getDelegateOptions())\n $(obj.currentTarget).data('bs.' + this.type, self)\n }\n\n if (obj instanceof $.Event) {\n self.inState[obj.type == 'focusout' ? 'focus' : 'hover'] = false\n }\n\n if (self.isInStateTrue()) return\n\n clearTimeout(self.timeout)\n\n self.hoverState = 'out'\n\n if (!self.options.delay || !self.options.delay.hide) return self.hide()\n\n self.timeout = setTimeout(function () {\n if (self.hoverState == 'out') self.hide()\n }, self.options.delay.hide)\n }\n\n Tooltip.prototype.show = function () {\n var e = $.Event('show.bs.' + this.type)\n\n if (this.hasContent() && this.enabled) {\n this.$element.trigger(e)\n\n var inDom = $.contains(this.$element[0].ownerDocument.documentElement, this.$element[0])\n if (e.isDefaultPrevented() || !inDom) return\n var that = this\n\n var $tip = this.tip()\n\n var tipId = this.getUID(this.type)\n\n this.setContent()\n $tip.attr('id', tipId)\n this.$element.attr('aria-describedby', tipId)\n\n if (this.options.animation) $tip.addClass('fade')\n\n var placement = typeof this.options.placement == 'function' ?\n this.options.placement.call(this, $tip[0], this.$element[0]) :\n this.options.placement\n\n var autoToken = /\\s?auto?\\s?/i\n var autoPlace = autoToken.test(placement)\n if (autoPlace) placement = placement.replace(autoToken, '') || 'top'\n\n $tip\n .detach()\n .css({ top: 0, left: 0, display: 'block' })\n .addClass(placement)\n .data('bs.' + this.type, this)\n\n this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element)\n this.$element.trigger('inserted.bs.' + this.type)\n\n var pos = this.getPosition()\n var actualWidth = $tip[0].offsetWidth\n var actualHeight = $tip[0].offsetHeight\n\n if (autoPlace) {\n var orgPlacement = placement\n var viewportDim = this.getPosition(this.$viewport)\n\n placement = placement == 'bottom' && pos.bottom + actualHeight > viewportDim.bottom ? 'top' :\n placement == 'top' && pos.top - actualHeight < viewportDim.top ? 'bottom' :\n placement == 'right' && pos.right + actualWidth > viewportDim.width ? 'left' :\n placement == 'left' && pos.left - actualWidth < viewportDim.left ? 'right' :\n placement\n\n $tip\n .removeClass(orgPlacement)\n .addClass(placement)\n }\n\n var calculatedOffset = this.getCalculatedOffset(placement, pos, actualWidth, actualHeight)\n\n this.applyPlacement(calculatedOffset, placement)\n\n var complete = function () {\n var prevHoverState = that.hoverState\n that.$element.trigger('shown.bs.' + that.type)\n that.hoverState = null\n\n if (prevHoverState == 'out') that.leave(that)\n }\n\n $.support.transition && this.$tip.hasClass('fade') ?\n $tip\n .one('bsTransitionEnd', complete)\n .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) :\n complete()\n }\n }\n\n Tooltip.prototype.applyPlacement = function (offset, placement) {\n var $tip = this.tip()\n var width = $tip[0].offsetWidth\n var height = $tip[0].offsetHeight\n\n // manually read margins because getBoundingClientRect includes difference\n var marginTop = parseInt($tip.css('margin-top'), 10)\n var marginLeft = parseInt($tip.css('margin-left'), 10)\n\n // we must check for NaN for ie 8/9\n if (isNaN(marginTop)) marginTop = 0\n if (isNaN(marginLeft)) marginLeft = 0\n\n offset.top += marginTop\n offset.left += marginLeft\n\n // $.fn.offset doesn't round pixel values\n // so we use setOffset directly with our own function B-0\n $.offset.setOffset($tip[0], $.extend({\n using: function (props) {\n $tip.css({\n top: Math.round(props.top),\n left: Math.round(props.left)\n })\n }\n }, offset), 0)\n\n $tip.addClass('in')\n\n // check to see if placing tip in new offset caused the tip to resize itself\n var actualWidth = $tip[0].offsetWidth\n var actualHeight = $tip[0].offsetHeight\n\n if (placement == 'top' && actualHeight != height) {\n offset.top = offset.top + height - actualHeight\n }\n\n var delta = this.getViewportAdjustedDelta(placement, offset, actualWidth, actualHeight)\n\n if (delta.left) offset.left += delta.left\n else offset.top += delta.top\n\n var isVertical = /top|bottom/.test(placement)\n var arrowDelta = isVertical ? delta.left * 2 - width + actualWidth : delta.top * 2 - height + actualHeight\n var arrowOffsetPosition = isVertical ? 'offsetWidth' : 'offsetHeight'\n\n $tip.offset(offset)\n this.replaceArrow(arrowDelta, $tip[0][arrowOffsetPosition], isVertical)\n }\n\n Tooltip.prototype.replaceArrow = function (delta, dimension, isVertical) {\n this.arrow()\n .css(isVertical ? 'left' : 'top', 50 * (1 - delta / dimension) + '%')\n .css(isVertical ? 'top' : 'left', '')\n }\n\n Tooltip.prototype.setContent = function () {\n var $tip = this.tip()\n var title = this.getTitle()\n\n $tip.find('.tooltip-inner')[this.options.html ? 'html' : 'text'](title)\n $tip.removeClass('fade in top bottom left right')\n }\n\n Tooltip.prototype.hide = function (callback) {\n var that = this\n var $tip = $(this.$tip)\n var e = $.Event('hide.bs.' + this.type)\n\n function complete() {\n if (that.hoverState != 'in') $tip.detach()\n if (that.$element) { // TODO: Check whether guarding this code with this `if` is really necessary.\n that.$element\n .removeAttr('aria-describedby')\n .trigger('hidden.bs.' + that.type)\n }\n callback && callback()\n }\n\n this.$element.trigger(e)\n\n if (e.isDefaultPrevented()) return\n\n $tip.removeClass('in')\n\n $.support.transition && $tip.hasClass('fade') ?\n $tip\n .one('bsTransitionEnd', complete)\n .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) :\n complete()\n\n this.hoverState = null\n\n return this\n }\n\n Tooltip.prototype.fixTitle = function () {\n var $e = this.$element\n if ($e.attr('title') || typeof $e.attr('data-original-title') != 'string') {\n $e.attr('data-original-title', $e.attr('title') || '').attr('title', '')\n }\n }\n\n Tooltip.prototype.hasContent = function () {\n return this.getTitle()\n }\n\n Tooltip.prototype.getPosition = function ($element) {\n $element = $element || this.$element\n\n var el = $element[0]\n var isBody = el.tagName == 'BODY'\n\n var elRect = el.getBoundingClientRect()\n if (elRect.width == null) {\n // width and height are missing in IE8, so compute them manually; see https://github.com/twbs/bootstrap/issues/14093\n elRect = $.extend({}, elRect, { width: elRect.right - elRect.left, height: elRect.bottom - elRect.top })\n }\n var isSvg = window.SVGElement && el instanceof window.SVGElement\n // Avoid using $.offset() on SVGs since it gives incorrect results in jQuery 3.\n // See https://github.com/twbs/bootstrap/issues/20280\n var elOffset = isBody ? { top: 0, left: 0 } : (isSvg ? null : $element.offset())\n var scroll = { scroll: isBody ? document.documentElement.scrollTop || document.body.scrollTop : $element.scrollTop() }\n var outerDims = isBody ? { width: $(window).width(), height: $(window).height() } : null\n\n return $.extend({}, elRect, scroll, outerDims, elOffset)\n }\n\n Tooltip.prototype.getCalculatedOffset = function (placement, pos, actualWidth, actualHeight) {\n return placement == 'bottom' ? { top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2 } :\n placement == 'top' ? { top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2 } :\n placement == 'left' ? { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth } :\n /* placement == 'right' */ { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width }\n\n }\n\n Tooltip.prototype.getViewportAdjustedDelta = function (placement, pos, actualWidth, actualHeight) {\n var delta = { top: 0, left: 0 }\n if (!this.$viewport) return delta\n\n var viewportPadding = this.options.viewport && this.options.viewport.padding || 0\n var viewportDimensions = this.getPosition(this.$viewport)\n\n if (/right|left/.test(placement)) {\n var topEdgeOffset = pos.top - viewportPadding - viewportDimensions.scroll\n var bottomEdgeOffset = pos.top + viewportPadding - viewportDimensions.scroll + actualHeight\n if (topEdgeOffset < viewportDimensions.top) { // top overflow\n delta.top = viewportDimensions.top - topEdgeOffset\n } else if (bottomEdgeOffset > viewportDimensions.top + viewportDimensions.height) { // bottom overflow\n delta.top = viewportDimensions.top + viewportDimensions.height - bottomEdgeOffset\n }\n } else {\n var leftEdgeOffset = pos.left - viewportPadding\n var rightEdgeOffset = pos.left + viewportPadding + actualWidth\n if (leftEdgeOffset < viewportDimensions.left) { // left overflow\n delta.left = viewportDimensions.left - leftEdgeOffset\n } else if (rightEdgeOffset > viewportDimensions.right) { // right overflow\n delta.left = viewportDimensions.left + viewportDimensions.width - rightEdgeOffset\n }\n }\n\n return delta\n }\n\n Tooltip.prototype.getTitle = function () {\n var title\n var $e = this.$element\n var o = this.options\n\n title = $e.attr('data-original-title')\n || (typeof o.title == 'function' ? o.title.call($e[0]) : o.title)\n\n return title\n }\n\n Tooltip.prototype.getUID = function (prefix) {\n do prefix += ~~(Math.random() * 1000000)\n while (document.getElementById(prefix))\n return prefix\n }\n\n Tooltip.prototype.tip = function () {\n if (!this.$tip) {\n this.$tip = $(this.options.template)\n if (this.$tip.length != 1) {\n throw new Error(this.type + ' `template` option must consist of exactly 1 top-level element!')\n }\n }\n return this.$tip\n }\n\n Tooltip.prototype.arrow = function () {\n return (this.$arrow = this.$arrow || this.tip().find('.tooltip-arrow'))\n }\n\n Tooltip.prototype.enable = function () {\n this.enabled = true\n }\n\n Tooltip.prototype.disable = function () {\n this.enabled = false\n }\n\n Tooltip.prototype.toggleEnabled = function () {\n this.enabled = !this.enabled\n }\n\n Tooltip.prototype.toggle = function (e) {\n var self = this\n if (e) {\n self = $(e.currentTarget).data('bs.' + this.type)\n if (!self) {\n self = new this.constructor(e.currentTarget, this.getDelegateOptions())\n $(e.currentTarget).data('bs.' + this.type, self)\n }\n }\n\n if (e) {\n self.inState.click = !self.inState.click\n if (self.isInStateTrue()) self.enter(self)\n else self.leave(self)\n } else {\n self.tip().hasClass('in') ? self.leave(self) : self.enter(self)\n }\n }\n\n Tooltip.prototype.destroy = function () {\n var that = this\n clearTimeout(this.timeout)\n this.hide(function () {\n that.$element.off('.' + that.type).removeData('bs.' + that.type)\n if (that.$tip) {\n that.$tip.detach()\n }\n that.$tip = null\n that.$arrow = null\n that.$viewport = null\n that.$element = null\n })\n }\n\n\n // TOOLTIP PLUGIN DEFINITION\n // =========================\n\n function Plugin(option) {\n return this.each(function () {\n var $this = $(this)\n var data = $this.data('bs.tooltip')\n var options = typeof option == 'object' && option\n\n if (!data && /destroy|hide/.test(option)) return\n if (!data) $this.data('bs.tooltip', (data = new Tooltip(this, options)))\n if (typeof option == 'string') data[option]()\n })\n }\n\n var old = $.fn.tooltip\n\n $.fn.tooltip = Plugin\n $.fn.tooltip.Constructor = Tooltip\n\n\n // TOOLTIP NO CONFLICT\n // ===================\n\n $.fn.tooltip.noConflict = function () {\n $.fn.tooltip = old\n return this\n }\n\n}(jQuery);\n\n/* ========================================================================\n * Bootstrap: popover.js v3.3.7\n * http://getbootstrap.com/javascript/#popovers\n * ========================================================================\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ======================================================================== */\n\n\n+function ($) {\n 'use strict';\n\n // POPOVER PUBLIC CLASS DEFINITION\n // ===============================\n\n var Popover = function (element, options) {\n this.init('popover', element, options)\n }\n\n if (!$.fn.tooltip) throw new Error('Popover requires tooltip.js')\n\n Popover.VERSION = '3.3.7'\n\n Popover.DEFAULTS = $.extend({}, $.fn.tooltip.Constructor.DEFAULTS, {\n placement: 'right',\n trigger: 'click',\n content: '',\n template: '

'\n })\n\n\n // NOTE: POPOVER EXTENDS tooltip.js\n // ================================\n\n Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype)\n\n Popover.prototype.constructor = Popover\n\n Popover.prototype.getDefaults = function () {\n return Popover.DEFAULTS\n }\n\n Popover.prototype.setContent = function () {\n var $tip = this.tip()\n var title = this.getTitle()\n var content = this.getContent()\n\n $tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title)\n $tip.find('.popover-content').children().detach().end()[ // we use append for html objects to maintain js events\n this.options.html ? (typeof content == 'string' ? 'html' : 'append') : 'text'\n ](content)\n\n $tip.removeClass('fade top bottom left right in')\n\n // IE8 doesn't accept hiding via the `:empty` pseudo selector, we have to do\n // this manually by checking the contents.\n if (!$tip.find('.popover-title').html()) $tip.find('.popover-title').hide()\n }\n\n Popover.prototype.hasContent = function () {\n return this.getTitle() || this.getContent()\n }\n\n Popover.prototype.getContent = function () {\n var $e = this.$element\n var o = this.options\n\n return $e.attr('data-content')\n || (typeof o.content == 'function' ?\n o.content.call($e[0]) :\n o.content)\n }\n\n Popover.prototype.arrow = function () {\n return (this.$arrow = this.$arrow || this.tip().find('.arrow'))\n }\n\n\n // POPOVER PLUGIN DEFINITION\n // =========================\n\n function Plugin(option) {\n return this.each(function () {\n var $this = $(this)\n var data = $this.data('bs.popover')\n var options = typeof option == 'object' && option\n\n if (!data && /destroy|hide/.test(option)) return\n if (!data) $this.data('bs.popover', (data = new Popover(this, options)))\n if (typeof option == 'string') data[option]()\n })\n }\n\n var old = $.fn.popover\n\n $.fn.popover = Plugin\n $.fn.popover.Constructor = Popover\n\n\n // POPOVER NO CONFLICT\n // ===================\n\n $.fn.popover.noConflict = function () {\n $.fn.popover = old\n return this\n }\n\n}(jQuery);\n\n/* ========================================================================\n * Bootstrap: scrollspy.js v3.3.7\n * http://getbootstrap.com/javascript/#scrollspy\n * ========================================================================\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ======================================================================== */\n\n\n+function ($) {\n 'use strict';\n\n // SCROLLSPY CLASS DEFINITION\n // ==========================\n\n function ScrollSpy(element, options) {\n this.$body = $(document.body)\n this.$scrollElement = $(element).is(document.body) ? $(window) : $(element)\n this.options = $.extend({}, ScrollSpy.DEFAULTS, options)\n this.selector = (this.options.target || '') + ' .nav li > a'\n this.offsets = []\n this.targets = []\n this.activeTarget = null\n this.scrollHeight = 0\n\n this.$scrollElement.on('scroll.bs.scrollspy', $.proxy(this.process, this))\n this.refresh()\n this.process()\n }\n\n ScrollSpy.VERSION = '3.3.7'\n\n ScrollSpy.DEFAULTS = {\n offset: 10\n }\n\n ScrollSpy.prototype.getScrollHeight = function () {\n return this.$scrollElement[0].scrollHeight || Math.max(this.$body[0].scrollHeight, document.documentElement.scrollHeight)\n }\n\n ScrollSpy.prototype.refresh = function () {\n var that = this\n var offsetMethod = 'offset'\n var offsetBase = 0\n\n this.offsets = []\n this.targets = []\n this.scrollHeight = this.getScrollHeight()\n\n if (!$.isWindow(this.$scrollElement[0])) {\n offsetMethod = 'position'\n offsetBase = this.$scrollElement.scrollTop()\n }\n\n this.$body\n .find(this.selector)\n .map(function () {\n var $el = $(this)\n var href = $el.data('target') || $el.attr('href')\n var $href = /^#./.test(href) && $(href)\n\n return ($href\n && $href.length\n && $href.is(':visible')\n && [[$href[offsetMethod]().top + offsetBase, href]]) || null\n })\n .sort(function (a, b) { return a[0] - b[0] })\n .each(function () {\n that.offsets.push(this[0])\n that.targets.push(this[1])\n })\n }\n\n ScrollSpy.prototype.process = function () {\n var scrollTop = this.$scrollElement.scrollTop() + this.options.offset\n var scrollHeight = this.getScrollHeight()\n var maxScroll = this.options.offset + scrollHeight - this.$scrollElement.height()\n var offsets = this.offsets\n var targets = this.targets\n var activeTarget = this.activeTarget\n var i\n\n if (this.scrollHeight != scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n return activeTarget != (i = targets[targets.length - 1]) && this.activate(i)\n }\n\n if (activeTarget && scrollTop < offsets[0]) {\n this.activeTarget = null\n return this.clear()\n }\n\n for (i = offsets.length; i--;) {\n activeTarget != targets[i]\n && scrollTop >= offsets[i]\n && (offsets[i + 1] === undefined || scrollTop < offsets[i + 1])\n && this.activate(targets[i])\n }\n }\n\n ScrollSpy.prototype.activate = function (target) {\n this.activeTarget = target\n\n this.clear()\n\n var selector = this.selector +\n '[data-target=\"' + target + '\"],' +\n this.selector + '[href=\"' + target + '\"]'\n\n var active = $(selector)\n .parents('li')\n .addClass('active')\n\n if (active.parent('.dropdown-menu').length) {\n active = active\n .closest('li.dropdown')\n .addClass('active')\n }\n\n active.trigger('activate.bs.scrollspy')\n }\n\n ScrollSpy.prototype.clear = function () {\n $(this.selector)\n .parentsUntil(this.options.target, '.active')\n .removeClass('active')\n }\n\n\n // SCROLLSPY PLUGIN DEFINITION\n // ===========================\n\n function Plugin(option) {\n return this.each(function () {\n var $this = $(this)\n var data = $this.data('bs.scrollspy')\n var options = typeof option == 'object' && option\n\n if (!data) $this.data('bs.scrollspy', (data = new ScrollSpy(this, options)))\n if (typeof option == 'string') data[option]()\n })\n }\n\n var old = $.fn.scrollspy\n\n $.fn.scrollspy = Plugin\n $.fn.scrollspy.Constructor = ScrollSpy\n\n\n // SCROLLSPY NO CONFLICT\n // =====================\n\n $.fn.scrollspy.noConflict = function () {\n $.fn.scrollspy = old\n return this\n }\n\n\n // SCROLLSPY DATA-API\n // ==================\n\n $(window).on('load.bs.scrollspy.data-api', function () {\n $('[data-spy=\"scroll\"]').each(function () {\n var $spy = $(this)\n Plugin.call($spy, $spy.data())\n })\n })\n\n}(jQuery);\n\n/* ========================================================================\n * Bootstrap: tab.js v3.3.7\n * http://getbootstrap.com/javascript/#tabs\n * ========================================================================\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ======================================================================== */\n\n\n+function ($) {\n 'use strict';\n\n // TAB CLASS DEFINITION\n // ====================\n\n var Tab = function (element) {\n // jscs:disable requireDollarBeforejQueryAssignment\n this.element = $(element)\n // jscs:enable requireDollarBeforejQueryAssignment\n }\n\n Tab.VERSION = '3.3.7'\n\n Tab.TRANSITION_DURATION = 150\n\n Tab.prototype.show = function () {\n var $this = this.element\n var $ul = $this.closest('ul:not(.dropdown-menu)')\n var selector = $this.data('target')\n\n if (!selector) {\n selector = $this.attr('href')\n selector = selector && selector.replace(/.*(?=#[^\\s]*$)/, '') // strip for ie7\n }\n\n if ($this.parent('li').hasClass('active')) return\n\n var $previous = $ul.find('.active:last a')\n var hideEvent = $.Event('hide.bs.tab', {\n relatedTarget: $this[0]\n })\n var showEvent = $.Event('show.bs.tab', {\n relatedTarget: $previous[0]\n })\n\n $previous.trigger(hideEvent)\n $this.trigger(showEvent)\n\n if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) return\n\n var $target = $(selector)\n\n this.activate($this.closest('li'), $ul)\n this.activate($target, $target.parent(), function () {\n $previous.trigger({\n type: 'hidden.bs.tab',\n relatedTarget: $this[0]\n })\n $this.trigger({\n type: 'shown.bs.tab',\n relatedTarget: $previous[0]\n })\n })\n }\n\n Tab.prototype.activate = function (element, container, callback) {\n var $active = container.find('> .active')\n var transition = callback\n && $.support.transition\n && ($active.length && $active.hasClass('fade') || !!container.find('> .fade').length)\n\n function next() {\n $active\n .removeClass('active')\n .find('> .dropdown-menu > .active')\n .removeClass('active')\n .end()\n .find('[data-toggle=\"tab\"]')\n .attr('aria-expanded', false)\n\n element\n .addClass('active')\n .find('[data-toggle=\"tab\"]')\n .attr('aria-expanded', true)\n\n if (transition) {\n element[0].offsetWidth // reflow for transition\n element.addClass('in')\n } else {\n element.removeClass('fade')\n }\n\n if (element.parent('.dropdown-menu').length) {\n element\n .closest('li.dropdown')\n .addClass('active')\n .end()\n .find('[data-toggle=\"tab\"]')\n .attr('aria-expanded', true)\n }\n\n callback && callback()\n }\n\n $active.length && transition ?\n $active\n .one('bsTransitionEnd', next)\n .emulateTransitionEnd(Tab.TRANSITION_DURATION) :\n next()\n\n $active.removeClass('in')\n }\n\n\n // TAB PLUGIN DEFINITION\n // =====================\n\n function Plugin(option) {\n return this.each(function () {\n var $this = $(this)\n var data = $this.data('bs.tab')\n\n if (!data) $this.data('bs.tab', (data = new Tab(this)))\n if (typeof option == 'string') data[option]()\n })\n }\n\n var old = $.fn.tab\n\n $.fn.tab = Plugin\n $.fn.tab.Constructor = Tab\n\n\n // TAB NO CONFLICT\n // ===============\n\n $.fn.tab.noConflict = function () {\n $.fn.tab = old\n return this\n }\n\n\n // TAB DATA-API\n // ============\n\n var clickHandler = function (e) {\n e.preventDefault()\n Plugin.call($(this), 'show')\n }\n\n $(document)\n .on('click.bs.tab.data-api', '[data-toggle=\"tab\"]', clickHandler)\n .on('click.bs.tab.data-api', '[data-toggle=\"pill\"]', clickHandler)\n\n}(jQuery);\n\n/* ========================================================================\n * Bootstrap: affix.js v3.3.7\n * http://getbootstrap.com/javascript/#affix\n * ========================================================================\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ======================================================================== */\n\n\n+function ($) {\n 'use strict';\n\n // AFFIX CLASS DEFINITION\n // ======================\n\n var Affix = function (element, options) {\n this.options = $.extend({}, Affix.DEFAULTS, options)\n\n this.$target = $(this.options.target)\n .on('scroll.bs.affix.data-api', $.proxy(this.checkPosition, this))\n .on('click.bs.affix.data-api', $.proxy(this.checkPositionWithEventLoop, this))\n\n this.$element = $(element)\n this.affixed = null\n this.unpin = null\n this.pinnedOffset = null\n\n this.checkPosition()\n }\n\n Affix.VERSION = '3.3.7'\n\n Affix.RESET = 'affix affix-top affix-bottom'\n\n Affix.DEFAULTS = {\n offset: 0,\n target: window\n }\n\n Affix.prototype.getState = function (scrollHeight, height, offsetTop, offsetBottom) {\n var scrollTop = this.$target.scrollTop()\n var position = this.$element.offset()\n var targetHeight = this.$target.height()\n\n if (offsetTop != null && this.affixed == 'top') return scrollTop < offsetTop ? 'top' : false\n\n if (this.affixed == 'bottom') {\n if (offsetTop != null) return (scrollTop + this.unpin <= position.top) ? false : 'bottom'\n return (scrollTop + targetHeight <= scrollHeight - offsetBottom) ? false : 'bottom'\n }\n\n var initializing = this.affixed == null\n var colliderTop = initializing ? scrollTop : position.top\n var colliderHeight = initializing ? targetHeight : height\n\n if (offsetTop != null && scrollTop <= offsetTop) return 'top'\n if (offsetBottom != null && (colliderTop + colliderHeight >= scrollHeight - offsetBottom)) return 'bottom'\n\n return false\n }\n\n Affix.prototype.getPinnedOffset = function () {\n if (this.pinnedOffset) return this.pinnedOffset\n this.$element.removeClass(Affix.RESET).addClass('affix')\n var scrollTop = this.$target.scrollTop()\n var position = this.$element.offset()\n return (this.pinnedOffset = position.top - scrollTop)\n }\n\n Affix.prototype.checkPositionWithEventLoop = function () {\n setTimeout($.proxy(this.checkPosition, this), 1)\n }\n\n Affix.prototype.checkPosition = function () {\n if (!this.$element.is(':visible')) return\n\n var height = this.$element.height()\n var offset = this.options.offset\n var offsetTop = offset.top\n var offsetBottom = offset.bottom\n var scrollHeight = Math.max($(document).height(), $(document.body).height())\n\n if (typeof offset != 'object') offsetBottom = offsetTop = offset\n if (typeof offsetTop == 'function') offsetTop = offset.top(this.$element)\n if (typeof offsetBottom == 'function') offsetBottom = offset.bottom(this.$element)\n\n var affix = this.getState(scrollHeight, height, offsetTop, offsetBottom)\n\n if (this.affixed != affix) {\n if (this.unpin != null) this.$element.css('top', '')\n\n var affixType = 'affix' + (affix ? '-' + affix : '')\n var e = $.Event(affixType + '.bs.affix')\n\n this.$element.trigger(e)\n\n if (e.isDefaultPrevented()) return\n\n this.affixed = affix\n this.unpin = affix == 'bottom' ? this.getPinnedOffset() : null\n\n this.$element\n .removeClass(Affix.RESET)\n .addClass(affixType)\n .trigger(affixType.replace('affix', 'affixed') + '.bs.affix')\n }\n\n if (affix == 'bottom') {\n this.$element.offset({\n top: scrollHeight - height - offsetBottom\n })\n }\n }\n\n\n // AFFIX PLUGIN DEFINITION\n // =======================\n\n function Plugin(option) {\n return this.each(function () {\n var $this = $(this)\n var data = $this.data('bs.affix')\n var options = typeof option == 'object' && option\n\n if (!data) $this.data('bs.affix', (data = new Affix(this, options)))\n if (typeof option == 'string') data[option]()\n })\n }\n\n var old = $.fn.affix\n\n $.fn.affix = Plugin\n $.fn.affix.Constructor = Affix\n\n\n // AFFIX NO CONFLICT\n // =================\n\n $.fn.affix.noConflict = function () {\n $.fn.affix = old\n return this\n }\n\n\n // AFFIX DATA-API\n // ==============\n\n $(window).on('load', function () {\n $('[data-spy=\"affix\"]').each(function () {\n var $spy = $(this)\n var data = $spy.data()\n\n data.offset = data.offset || {}\n\n if (data.offsetBottom != null) data.offset.bottom = data.offsetBottom\n if (data.offsetTop != null) data.offset.top = data.offsetTop\n\n Plugin.call($spy, data)\n })\n })\n\n}(jQuery);\n","/* ========================================================================\n * DOM-based Routing\n * Based on http://goo.gl/EUTi53 by Paul Irish\n *\n * Only fires on body classes that match. If a body class contains a dash,\n * replace the dash with an underscore when adding it to the object below.\n *\n * .noConflict()\n * The routing is enclosed within an anonymous function so that you can\n * always reference jQuery with $, even when in .noConflict() mode.\n * ======================================================================== */\n\n(function($) {\n\n // Use this variable to set up the common and page specific functions. If you\n // rename this variable, you will also need to rename the namespace below.\n var Sage = {\n // All pages\n 'common': {\n init: function() {\n // JavaScript to be fired on all pages\n },\n finalize: function() {\n // JavaScript to be fired on all pages, after page specific JS is fired\n }\n },\n // Home page\n 'home': {\n init: function() {\n // JavaScript to be fired on the home page\n },\n finalize: function() {\n // JavaScript to be fired on the home page, after the init JS\n }\n },\n // About us page, note the change from about-us to about_us.\n 'about_us': {\n init: function() {\n // JavaScript to be fired on the about us page\n }\n }\n };\n\n // The routing fires all common scripts, followed by the page specific scripts.\n // Add additional events for more control over timing e.g. a finalize event\n var UTIL = {\n fire: function(func, funcname, args) {\n var fire;\n var namespace = Sage;\n funcname = (funcname === undefined) ? 'init' : funcname;\n fire = func !== '';\n fire = fire && namespace[func];\n fire = fire && typeof namespace[func][funcname] === 'function';\n\n if (fire) {\n namespace[func][funcname](args);\n }\n },\n loadEvents: function() {\n // Fire common init JS\n UTIL.fire('common');\n\n // Fire page-specific init JS, and then finalize JS\n $.each(document.body.className.replace(/-/g, '_').split(/\\s+/), function(i, classnm) {\n UTIL.fire(classnm);\n UTIL.fire(classnm, 'finalize');\n });\n\n // Fire common finalize JS\n UTIL.fire('common', 'finalize');\n }\n };\n\n // Load Events\n $(document).ready(UTIL.loadEvents);\n\n})(jQuery); // Fully reference jQuery after this point.\n"],"sourceRoot":"assets/scripts/"}