{"version":3,"sources":["bootstrap.js","modernizr.js","jquery.formatCurrency-1.4.0.js","modernizr.custom.87667.js","jquery.cookies.2.2.0.js"],"names":["jQuery","Error","version","fn","jquery","split","$","emulateTransitionEnd","duration","called","$el","this","one","setTimeout","trigger","support","transition","end","el","document","createElement","transEndEventNames","WebkitTransition","MozTransition","OTransition","name","undefined","style","transitionEnd","event","special","bsTransitionEnd","bindType","delegateType","handle","e","target","is","handleObj","handler","apply","arguments","Alert","on","dismiss","close","VERSION","TRANSITION_DURATION","prototype","$this","selector","attr","replace","$parent","removeElement","detach","remove","preventDefault","length","closest","Event","isDefaultPrevented","removeClass","hasClass","old","alert","option","each","data","call","Constructor","noConflict","Button","element","options","$element","extend","DEFAULTS","isLoading","Plugin","toggle","setState","loadingText","state","d","val","resetText","proxy","addClass","prop","removeAttr","changed","$input","find","toggleClass","button","$btn","first","test","type","Carousel","$indicators","paused","sliding","interval","$active","$items","keyboard","keydown","pause","documentElement","cycle","action","slide","to","wrap","tagName","which","prev","next","clearInterval","setInterval","getItemIndex","item","parent","children","index","getItemForDirection","direction","active","activeIndex","itemIndex","eq","pos","that","$next","isCycling","relatedTarget","slideEvent","$nextIndicator","slidEvent","offsetWidth","join","carousel","clickHandler","href","$target","slideIndex","window","$carousel","Collapse","$trigger","id","transitioning","getParent","addAriaAndCollapsedClass","getTargetFromTrigger","dimension","show","activesData","actives","startEvent","complete","scrollSize","camelCase","hide","offsetHeight","i","isOpen","collapse","Dropdown","clearMenus","contains","isActive","insertAfter","stopPropagation","dropdown","Modal","$body","body","$dialog","$backdrop","isShown","originalBodyPad","scrollbarWidth","ignoreBackdropClick","remote","load","_relatedTarget","BACKDROP_TRANSITION_DURATION","backdrop","checkScrollbar","setScrollbar","escape","resize","appendTo","scrollTop","adjustDialog","enforceFocus","off","hideModal","has","handleUpdate","resetAdjustments","resetScrollbar","removeBackdrop","callback","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","delta","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","getPinnedOffset","affix","affixType","Modernizr","injectElementWithStyles","rule","nodes","testnames","ret","node","docOverflow","div","fakeBody","mod","appendChild","innerHTML","background","overflow","docElement","parentNode","featureName","hasOwnProp","TAGNAMES","modElem","mStyle","inputElem","smile","toString","prefixes","omPrefixes","cssomPrefixes","domPrefixes","toLowerCase","ns","tests","inputs","attrs","classes","slice","isEventSupported","select","change","submit","reset","error","abort","eventName","isSupported","setAttribute","removeAttribute","_hasOwnProperty","hasOwnProperty","setCss","str","cssText","substr","indexOf","testProps","prefixed","testPropsAll","elem","ucProp","charAt","toUpperCase","bind","testDOMProps","feature","object","property","Function","TypeError","args","bound","F","result","concat","Object","getContext","fillText","WebGLRenderingContext","bool","DocumentTouch","navigator","postMessage","openDatabase","documentMode","history","pushState","backgroundColor","textShadow","str1","str2","setCssAll","opacity","backgroundImage","offsetLeft","sheet","styleSheet","cssRules","canPlayType","Boolean","ogg","h264","webm","mp3","wav","m4a","localStorage","setItem","removeItem","sessionStorage","Worker","applicationCache","createElementNS","createSVGRect","firstChild","namespaceURI","input","len","list","HTMLDataListElement","inputElemType","defaultView","WebkitAppearance","getComputedStyle","checkValidity","addTest","supportsHtml5Styles","supportsUnknownElements","html5","reSkip","saveClones","expando","expanID","expandoData","getElements","elements","getExpandoData","nodeName","cache","cloneNode","createElem","canHaveChildren","tagUrn","frag","shivDocument","shivCSS","hasCSS","p","getElementsByTagName","insertBefore","lastChild","addStyleSheet","createFrag","createDocumentFragment","shivMethods","childNodes","clone","elems","l","_version","_prefixes","_domPrefixes","_cssomPrefixes","mq","matchMedia","msMatchMedia","matches","currentStyle","hasEvent","testProp","testAllProps","testStyles","getRegionOrCulture","region","regionInfo","formatCurrency","regions","culture","generateRegex","settings","symbol","RegExp","decimalSymbol","positiveFormat","negativeFormat","digitGroupSymbol","groupDigits","destination","colorize","global","roundToDecimalPlace","eventOnDecimalsEntered","regex","num","search","numParts","String","isPositive","hasDecimals","decimals","originalDecimals","parseFloat","toFixed","substring","Number","floor","money","$destination","toNumber","method","asNumber","parse","parseType","validateParseType","c","B","j","D","x","f","k","m","n","h","g","w","A","q","r","u","v","y","z","I","webgl","touch","geolocation","svg","inlinesvg","smil","svgclippaths","s","G","shift","t","injectCss","injectJs","readyState","onload","onreadystatechange","errorTimeout","src","onerror","splice","loader","createRange","compareNode","opera","attachEvent","Array","isArray","pop","url","origUrl","autoCallback","bypass","instead","noexec","forceCSS","forceJS","both","yep","nope","yepnope","addPrefix","addFilter","addEventListener","removeEventListener","executeStack","rel","jaaulde","utils","cookies","resolveOptions","assembleOptionsString","parseCookies","defaultOptions","expiresAt","path","domain","secure","returnValue","expireDate","Date","hoursToLive","setTime","getTime","toGMTString","pair","unparsedValue","separated","cookie","decodeURIComponent","e1","JSON","e2","get","cookieName","filter","cookieNameRegExp","match","set","stringify","optionsString","encodeURIComponent","del","allCookies","setOptions","extensions","cookify","nameAttrs","cookieFill","getN","cookieBind"],"mappings":"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","file":"third-party-d4987fc664.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 * Modernizr v2.8.3\n * www.modernizr.com\n *\n * Copyright (c) Faruk Ates, Paul Irish, Alex Sexton\n * Available under the BSD and MIT licenses: www.modernizr.com/license/\n */\n\n/*\n * Modernizr tests which native CSS3 and HTML5 features are available in\n * the current UA and makes the results available to you in two ways:\n * as properties on a global Modernizr object, and as classes on the\n * element. This information allows you to progressively enhance\n * your pages with a granular level of control over the experience.\n *\n * Modernizr has an optional (not included) conditional resource loader\n * called Modernizr.load(), based on Yepnope.js (yepnopejs.com).\n * To get a build that includes Modernizr.load(), as well as choosing\n * which tests to include, go to www.modernizr.com/download/\n *\n * Authors Faruk Ates, Paul Irish, Alex Sexton\n * Contributors Ryan Seddon, Ben Alman\n */\n\nwindow.Modernizr = (function( window, document, undefined ) {\n\n var version = '2.8.3',\n\n Modernizr = {},\n\n /*>>cssclasses*/\n // option for enabling the HTML classes to be added\n enableClasses = true,\n /*>>cssclasses*/\n\n docElement = document.documentElement,\n\n /**\n * Create our \"modernizr\" element that we do most feature tests on.\n */\n mod = 'modernizr',\n modElem = document.createElement(mod),\n mStyle = modElem.style,\n\n /**\n * Create the input element for various Web Forms feature tests.\n */\n inputElem /*>>inputelem*/ = document.createElement('input') /*>>inputelem*/ ,\n\n /*>>smile*/\n smile = ':)',\n /*>>smile*/\n\n toString = {}.toString,\n\n // TODO :: make the prefixes more granular\n /*>>prefixes*/\n // List of property values to set for css tests. See ticket #21\n prefixes = ' -webkit- -moz- -o- -ms- '.split(' '),\n /*>>prefixes*/\n\n /*>>domprefixes*/\n // Following spec is to expose vendor-specific style properties as:\n // elem.style.WebkitBorderRadius\n // and the following would be incorrect:\n // elem.style.webkitBorderRadius\n\n // Webkit ghosts their properties in lowercase but Opera & Moz do not.\n // Microsoft uses a lowercase `ms` instead of the correct `Ms` in IE8+\n // erik.eae.net/archives/2008/03/10/21.48.10/\n\n // More here: github.com/Modernizr/Modernizr/issues/issue/21\n omPrefixes = 'Webkit Moz O ms',\n\n cssomPrefixes = omPrefixes.split(' '),\n\n domPrefixes = omPrefixes.toLowerCase().split(' '),\n /*>>domprefixes*/\n\n /*>>ns*/\n ns = {'svg': 'http://www.w3.org/2000/svg'},\n /*>>ns*/\n\n tests = {},\n inputs = {},\n attrs = {},\n\n classes = [],\n\n slice = classes.slice,\n\n featureName, // used in testing loop\n\n\n /*>>teststyles*/\n // Inject element with style element and some CSS rules\n injectElementWithStyles = function( rule, callback, nodes, testnames ) {\n\n var style, ret, node, docOverflow,\n div = document.createElement('div'),\n // After page load injecting a fake body doesn't work so check if body exists\n body = document.body,\n // IE6 and 7 won't return offsetWidth or offsetHeight unless it's in the body element, so we fake it.\n fakeBody = body || document.createElement('body');\n\n if ( parseInt(nodes, 10) ) {\n // In order not to give false positives we create a node for each test\n // This also allows the method to scale for unspecified uses\n while ( nodes-- ) {\n node = document.createElement('div');\n node.id = testnames ? testnames[nodes] : mod + (nodes + 1);\n div.appendChild(node);\n }\n }\n\n // '].join('');\n div.id = mod;\n // IE6 will false positive on some tests due to the style element inside the test div somehow interfering offsetHeight, so insert it into body or fakebody.\n // Opera will act all quirky when injecting elements in documentElement when page is served as xml, needs fakebody too. #270\n (body ? div : fakeBody).innerHTML += style;\n fakeBody.appendChild(div);\n if ( !body ) {\n //avoid crashing IE8, if background image is used\n fakeBody.style.background = '';\n //Safari 5.13/5.1.4 OSX stops loading if ::-webkit-scrollbar is used and scrollbars are visible\n fakeBody.style.overflow = 'hidden';\n docOverflow = docElement.style.overflow;\n docElement.style.overflow = 'hidden';\n docElement.appendChild(fakeBody);\n }\n\n ret = callback(div, rule);\n // If this is done after page load we don't want to remove the body so check if body exists\n if ( !body ) {\n fakeBody.parentNode.removeChild(fakeBody);\n docElement.style.overflow = docOverflow;\n } else {\n div.parentNode.removeChild(div);\n }\n\n return !!ret;\n\n },\n /*>>teststyles*/\n\n /*>>mq*/\n // adapted from matchMedia polyfill\n // by Scott Jehl and Paul Irish\n // gist.github.com/786768\n testMediaQuery = function( mq ) {\n\n var matchMedia = window.matchMedia || window.msMatchMedia;\n if ( matchMedia ) {\n return matchMedia(mq) && matchMedia(mq).matches || false;\n }\n\n var bool;\n\n injectElementWithStyles('@media ' + mq + ' { #' + mod + ' { position: absolute; } }', function( node ) {\n bool = (window.getComputedStyle ?\n getComputedStyle(node, null) :\n node.currentStyle)['position'] == 'absolute';\n });\n\n return bool;\n\n },\n /*>>mq*/\n\n\n /*>>hasevent*/\n //\n // isEventSupported determines if a given element supports the given event\n // kangax.github.com/iseventsupported/\n //\n // The following results are known incorrects:\n // Modernizr.hasEvent(\"webkitTransitionEnd\", elem) // false negative\n // Modernizr.hasEvent(\"textInput\") // in Webkit. github.com/Modernizr/Modernizr/issues/333\n // ...\n isEventSupported = (function() {\n\n var TAGNAMES = {\n 'select': 'input', 'change': 'input',\n 'submit': 'form', 'reset': 'form',\n 'error': 'img', 'load': 'img', 'abort': 'img'\n };\n\n function isEventSupported( eventName, element ) {\n\n element = element || document.createElement(TAGNAMES[eventName] || 'div');\n eventName = 'on' + eventName;\n\n // When using `setAttribute`, IE skips \"unload\", WebKit skips \"unload\" and \"resize\", whereas `in` \"catches\" those\n var isSupported = eventName in element;\n\n if ( !isSupported ) {\n // If it has no `setAttribute` (i.e. doesn't implement Node interface), try generic element\n if ( !element.setAttribute ) {\n element = document.createElement('div');\n }\n if ( element.setAttribute && element.removeAttribute ) {\n element.setAttribute(eventName, '');\n isSupported = is(element[eventName], 'function');\n\n // If property was created, \"remove it\" (by setting value to `undefined`)\n if ( !is(element[eventName], 'undefined') ) {\n element[eventName] = undefined;\n }\n element.removeAttribute(eventName);\n }\n }\n\n element = null;\n return isSupported;\n }\n return isEventSupported;\n })(),\n /*>>hasevent*/\n\n // TODO :: Add flag for hasownprop ? didn't last time\n\n // hasOwnProperty shim by kangax needed for Safari 2.0 support\n _hasOwnProperty = ({}).hasOwnProperty, hasOwnProp;\n\n if ( !is(_hasOwnProperty, 'undefined') && !is(_hasOwnProperty.call, 'undefined') ) {\n hasOwnProp = function (object, property) {\n return _hasOwnProperty.call(object, property);\n };\n }\n else {\n hasOwnProp = function (object, property) { /* yes, this can give false positives/negatives, but most of the time we don't care about those */\n return ((property in object) && is(object.constructor.prototype[property], 'undefined'));\n };\n }\n\n // Adapted from ES5-shim https://github.com/kriskowal/es5-shim/blob/master/es5-shim.js\n // es5.github.com/#x15.3.4.5\n\n if (!Function.prototype.bind) {\n Function.prototype.bind = function bind(that) {\n\n var target = this;\n\n if (typeof target != \"function\") {\n throw new TypeError();\n }\n\n var args = slice.call(arguments, 1),\n bound = function () {\n\n if (this instanceof bound) {\n\n var F = function(){};\n F.prototype = target.prototype;\n var self = new F();\n\n var result = target.apply(\n self,\n args.concat(slice.call(arguments))\n );\n if (Object(result) === result) {\n return result;\n }\n return self;\n\n } else {\n\n return target.apply(\n that,\n args.concat(slice.call(arguments))\n );\n\n }\n\n };\n\n return bound;\n };\n }\n\n /**\n * setCss applies given styles to the Modernizr DOM node.\n */\n function setCss( str ) {\n mStyle.cssText = str;\n }\n\n /**\n * setCssAll extrapolates all vendor-specific css strings.\n */\n function setCssAll( str1, str2 ) {\n return setCss(prefixes.join(str1 + ';') + ( str2 || '' ));\n }\n\n /**\n * is returns a boolean for if typeof obj is exactly type.\n */\n function is( obj, type ) {\n return typeof obj === type;\n }\n\n /**\n * contains returns a boolean for if substr is found within str.\n */\n function contains( str, substr ) {\n return !!~('' + str).indexOf(substr);\n }\n\n /*>>testprop*/\n\n // testProps is a generic CSS / DOM property test.\n\n // In testing support for a given CSS property, it's legit to test:\n // `elem.style[styleName] !== undefined`\n // If the property is supported it will return an empty string,\n // if unsupported it will return undefined.\n\n // We'll take advantage of this quick test and skip setting a style\n // on our modernizr element, but instead just testing undefined vs\n // empty string.\n\n // Because the testing of the CSS property names (with \"-\", as\n // opposed to the camelCase DOM properties) is non-portable and\n // non-standard but works in WebKit and IE (but not Gecko or Opera),\n // we explicitly reject properties with dashes so that authors\n // developing in WebKit or IE first don't end up with\n // browser-specific content by accident.\n\n function testProps( props, prefixed ) {\n for ( var i in props ) {\n var prop = props[i];\n if ( !contains(prop, \"-\") && mStyle[prop] !== undefined ) {\n return prefixed == 'pfx' ? prop : true;\n }\n }\n return false;\n }\n /*>>testprop*/\n\n // TODO :: add testDOMProps\n /**\n * testDOMProps is a generic DOM property test; if a browser supports\n * a certain property, it won't return undefined for it.\n */\n function testDOMProps( props, obj, elem ) {\n for ( var i in props ) {\n var item = obj[props[i]];\n if ( item !== undefined) {\n\n // return the property name as a string\n if (elem === false) return props[i];\n\n // let's bind a function\n if (is(item, 'function')){\n // default to autobind unless override\n return item.bind(elem || obj);\n }\n\n // return the unbound function or obj or value\n return item;\n }\n }\n return false;\n }\n\n /*>>testallprops*/\n /**\n * testPropsAll tests a list of DOM properties we want to check against.\n * We specify literally ALL possible (known and/or likely) properties on\n * the element including the non-vendor prefixed one, for forward-\n * compatibility.\n */\n function testPropsAll( prop, prefixed, elem ) {\n\n var ucProp = prop.charAt(0).toUpperCase() + prop.slice(1),\n props = (prop + ' ' + cssomPrefixes.join(ucProp + ' ') + ucProp).split(' ');\n\n // did they call .prefixed('boxSizing') or are we just testing a prop?\n if(is(prefixed, \"string\") || is(prefixed, \"undefined\")) {\n return testProps(props, prefixed);\n\n // otherwise, they called .prefixed('requestAnimationFrame', window[, elem])\n } else {\n props = (prop + ' ' + (domPrefixes).join(ucProp + ' ') + ucProp).split(' ');\n return testDOMProps(props, prefixed, elem);\n }\n }\n /*>>testallprops*/\n\n\n /**\n * Tests\n * -----\n */\n\n // The *new* flexbox\n // dev.w3.org/csswg/css3-flexbox\n\n tests['flexbox'] = function() {\n return testPropsAll('flexWrap');\n };\n\n // The *old* flexbox\n // www.w3.org/TR/2009/WD-css3-flexbox-20090723/\n\n tests['flexboxlegacy'] = function() {\n return testPropsAll('boxDirection');\n };\n\n // On the S60 and BB Storm, getContext exists, but always returns undefined\n // so we actually have to call getContext() to verify\n // github.com/Modernizr/Modernizr/issues/issue/97/\n\n tests['canvas'] = function() {\n var elem = document.createElement('canvas');\n return !!(elem.getContext && elem.getContext('2d'));\n };\n\n tests['canvastext'] = function() {\n return !!(Modernizr['canvas'] && is(document.createElement('canvas').getContext('2d').fillText, 'function'));\n };\n\n // webk.it/70117 is tracking a legit WebGL feature detect proposal\n\n // We do a soft detect which may false positive in order to avoid\n // an expensive context creation: bugzil.la/732441\n\n tests['webgl'] = function() {\n return !!window.WebGLRenderingContext;\n };\n\n /*\n * The Modernizr.touch test only indicates if the browser supports\n * touch events, which does not necessarily reflect a touchscreen\n * device, as evidenced by tablets running Windows 7 or, alas,\n * the Palm Pre / WebOS (touch) phones.\n *\n * Additionally, Chrome (desktop) used to lie about its support on this,\n * but that has since been rectified: crbug.com/36415\n *\n * We also test for Firefox 4 Multitouch Support.\n *\n * For more info, see: modernizr.github.com/Modernizr/touch.html\n */\n\n tests['touch'] = function() {\n var bool;\n\n if(('ontouchstart' in window) || window.DocumentTouch && document instanceof DocumentTouch) {\n bool = true;\n } else {\n injectElementWithStyles(['@media (',prefixes.join('touch-enabled),('),mod,')','{#modernizr{top:9px;position:absolute}}'].join(''), function( node ) {\n bool = node.offsetTop === 9;\n });\n }\n\n return bool;\n };\n\n\n // geolocation is often considered a trivial feature detect...\n // Turns out, it's quite tricky to get right:\n //\n // Using !!navigator.geolocation does two things we don't want. It:\n // 1. Leaks memory in IE9: github.com/Modernizr/Modernizr/issues/513\n // 2. Disables page caching in WebKit: webk.it/43956\n //\n // Meanwhile, in Firefox < 8, an about:config setting could expose\n // a false positive that would throw an exception: bugzil.la/688158\n\n tests['geolocation'] = function() {\n return 'geolocation' in navigator;\n };\n\n\n tests['postmessage'] = function() {\n return !!window.postMessage;\n };\n\n\n // Chrome incognito mode used to throw an exception when using openDatabase\n // It doesn't anymore.\n tests['websqldatabase'] = function() {\n return !!window.openDatabase;\n };\n\n // Vendors had inconsistent prefixing with the experimental Indexed DB:\n // - Webkit's implementation is accessible through webkitIndexedDB\n // - Firefox shipped moz_indexedDB before FF4b9, but since then has been mozIndexedDB\n // For speed, we don't test the legacy (and beta-only) indexedDB\n tests['indexedDB'] = function() {\n return !!testPropsAll(\"indexedDB\", window);\n };\n\n // documentMode logic from YUI to filter out IE8 Compat Mode\n // which false positives.\n tests['hashchange'] = function() {\n return isEventSupported('hashchange', window) && (document.documentMode === undefined || document.documentMode > 7);\n };\n\n // Per 1.6:\n // This used to be Modernizr.historymanagement but the longer\n // name has been deprecated in favor of a shorter and property-matching one.\n // The old API is still available in 1.6, but as of 2.0 will throw a warning,\n // and in the first release thereafter disappear entirely.\n tests['history'] = function() {\n return !!(window.history && history.pushState);\n };\n\n tests['draganddrop'] = function() {\n var div = document.createElement('div');\n return ('draggable' in div) || ('ondragstart' in div && 'ondrop' in div);\n };\n\n // FF3.6 was EOL'ed on 4/24/12, but the ESR version of FF10\n // will be supported until FF19 (2/12/13), at which time, ESR becomes FF17.\n // FF10 still uses prefixes, so check for it until then.\n // for more ESR info, see: mozilla.org/en-US/firefox/organizations/faq/\n tests['websockets'] = function() {\n return 'WebSocket' in window || 'MozWebSocket' in window;\n };\n\n\n // css-tricks.com/rgba-browser-support/\n tests['rgba'] = function() {\n // Set an rgba() color and check the returned value\n\n setCss('background-color:rgba(150,255,150,.5)');\n\n return contains(mStyle.backgroundColor, 'rgba');\n };\n\n tests['hsla'] = function() {\n // Same as rgba(), in fact, browsers re-map hsla() to rgba() internally,\n // except IE9 who retains it as hsla\n\n setCss('background-color:hsla(120,40%,100%,.5)');\n\n return contains(mStyle.backgroundColor, 'rgba') || contains(mStyle.backgroundColor, 'hsla');\n };\n\n tests['multiplebgs'] = function() {\n // Setting multiple images AND a color on the background shorthand property\n // and then querying the style.background property value for the number of\n // occurrences of \"url(\" is a reliable method for detecting ACTUAL support for this!\n\n setCss('background:url(https://),url(https://),red url(https://)');\n\n // If the UA supports multiple backgrounds, there should be three occurrences\n // of the string \"url(\" in the return value for elemStyle.background\n\n return (/(url\\s*\\(.*?){3}/).test(mStyle.background);\n };\n\n\n\n // this will false positive in Opera Mini\n // github.com/Modernizr/Modernizr/issues/396\n\n tests['backgroundsize'] = function() {\n return testPropsAll('backgroundSize');\n };\n\n tests['borderimage'] = function() {\n return testPropsAll('borderImage');\n };\n\n\n // Super comprehensive table about all the unique implementations of\n // border-radius: muddledramblings.com/table-of-css3-border-radius-compliance\n\n tests['borderradius'] = function() {\n return testPropsAll('borderRadius');\n };\n\n // WebOS unfortunately false positives on this test.\n tests['boxshadow'] = function() {\n return testPropsAll('boxShadow');\n };\n\n // FF3.0 will false positive on this test\n tests['textshadow'] = function() {\n return document.createElement('div').style.textShadow === '';\n };\n\n\n tests['opacity'] = function() {\n // Browsers that actually have CSS Opacity implemented have done so\n // according to spec, which means their return values are within the\n // range of [0.0,1.0] - including the leading zero.\n\n setCssAll('opacity:.55');\n\n // The non-literal . in this regex is intentional:\n // German Chrome returns this value as 0,55\n // github.com/Modernizr/Modernizr/issues/#issue/59/comment/516632\n return (/^0.55$/).test(mStyle.opacity);\n };\n\n\n // Note, Android < 4 will pass this test, but can only animate\n // a single property at a time\n // goo.gl/v3V4Gp\n tests['cssanimations'] = function() {\n return testPropsAll('animationName');\n };\n\n\n tests['csscolumns'] = function() {\n return testPropsAll('columnCount');\n };\n\n\n tests['cssgradients'] = function() {\n /**\n * For CSS Gradients syntax, please see:\n * webkit.org/blog/175/introducing-css-gradients/\n * developer.mozilla.org/en/CSS/-moz-linear-gradient\n * developer.mozilla.org/en/CSS/-moz-radial-gradient\n * dev.w3.org/csswg/css3-images/#gradients-\n */\n\n var str1 = 'background-image:',\n str2 = 'gradient(linear,left top,right bottom,from(#9f9),to(white));',\n str3 = 'linear-gradient(left top,#9f9, white);';\n\n setCss(\n // legacy webkit syntax (FIXME: remove when syntax not in use anymore)\n (str1 + '-webkit- '.split(' ').join(str2 + str1) +\n // standard syntax // trailing 'background-image:'\n prefixes.join(str3 + str1)).slice(0, -str1.length)\n );\n\n return contains(mStyle.backgroundImage, 'gradient');\n };\n\n\n tests['cssreflections'] = function() {\n return testPropsAll('boxReflect');\n };\n\n\n tests['csstransforms'] = function() {\n return !!testPropsAll('transform');\n };\n\n\n tests['csstransforms3d'] = function() {\n\n var ret = !!testPropsAll('perspective');\n\n // Webkit's 3D transforms are passed off to the browser's own graphics renderer.\n // It works fine in Safari on Leopard and Snow Leopard, but not in Chrome in\n // some conditions. As a result, Webkit typically recognizes the syntax but\n // will sometimes throw a false positive, thus we must do a more thorough check:\n if ( ret && 'webkitPerspective' in docElement.style ) {\n\n // Webkit allows this media query to succeed only if the feature is enabled.\n // `@media (transform-3d),(-webkit-transform-3d){ ... }`\n injectElementWithStyles('@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}', function( node, rule ) {\n ret = node.offsetLeft === 9 && node.offsetHeight === 3;\n });\n }\n return ret;\n };\n\n\n tests['csstransitions'] = function() {\n return testPropsAll('transition');\n };\n\n\n /*>>fontface*/\n // @font-face detection routine by Diego Perini\n // javascript.nwbox.com/CSSSupport/\n\n // false positives:\n // WebOS github.com/Modernizr/Modernizr/issues/342\n // WP7 github.com/Modernizr/Modernizr/issues/538\n tests['fontface'] = function() {\n var bool;\n\n injectElementWithStyles('@font-face {font-family:\"font\";src:url(\"https://\")}', function( node, rule ) {\n var style = document.getElementById('smodernizr'),\n sheet = style.sheet || style.styleSheet,\n cssText = sheet ? (sheet.cssRules && sheet.cssRules[0] ? sheet.cssRules[0].cssText : sheet.cssText || '') : '';\n\n bool = /src/i.test(cssText) && cssText.indexOf(rule.split(' ')[0]) === 0;\n });\n\n return bool;\n };\n /*>>fontface*/\n\n // CSS generated content detection\n tests['generatedcontent'] = function() {\n var bool;\n\n injectElementWithStyles(['#',mod,'{font:0/0 a}#',mod,':after{content:\"',smile,'\";visibility:hidden;font:3px/1 a}'].join(''), function( node ) {\n bool = node.offsetHeight >= 3;\n });\n\n return bool;\n };\n\n\n\n // These tests evaluate support of the video/audio elements, as well as\n // testing what types of content they support.\n //\n // We're using the Boolean constructor here, so that we can extend the value\n // e.g. Modernizr.video // true\n // Modernizr.video.ogg // 'probably'\n //\n // Codec values from : github.com/NielsLeenheer/html5test/blob/9106a8/index.html#L845\n // thx to NielsLeenheer and zcorpan\n\n // Note: in some older browsers, \"no\" was a return value instead of empty string.\n // It was live in FF3.5.0 and 3.5.1, but fixed in 3.5.2\n // It was also live in Safari 4.0.0 - 4.0.4, but fixed in 4.0.5\n\n tests['video'] = function() {\n var elem = document.createElement('video'),\n bool = false;\n\n // IE9 Running on Windows Server SKU can cause an exception to be thrown, bug #224\n try {\n if ( bool = !!elem.canPlayType ) {\n bool = new Boolean(bool);\n bool.ogg = elem.canPlayType('video/ogg; codecs=\"theora\"') .replace(/^no$/,'');\n\n // Without QuickTime, this value will be `undefined`. github.com/Modernizr/Modernizr/issues/546\n bool.h264 = elem.canPlayType('video/mp4; codecs=\"avc1.42E01E\"') .replace(/^no$/,'');\n\n bool.webm = elem.canPlayType('video/webm; codecs=\"vp8, vorbis\"').replace(/^no$/,'');\n }\n\n } catch(e) { }\n\n return bool;\n };\n\n tests['audio'] = function() {\n var elem = document.createElement('audio'),\n bool = false;\n\n try {\n if ( bool = !!elem.canPlayType ) {\n bool = new Boolean(bool);\n bool.ogg = elem.canPlayType('audio/ogg; codecs=\"vorbis\"').replace(/^no$/,'');\n bool.mp3 = elem.canPlayType('audio/mpeg;') .replace(/^no$/,'');\n\n // Mimetypes accepted:\n // developer.mozilla.org/En/Media_formats_supported_by_the_audio_and_video_elements\n // bit.ly/iphoneoscodecs\n bool.wav = elem.canPlayType('audio/wav; codecs=\"1\"') .replace(/^no$/,'');\n bool.m4a = ( elem.canPlayType('audio/x-m4a;') ||\n elem.canPlayType('audio/aac;')) .replace(/^no$/,'');\n }\n } catch(e) { }\n\n return bool;\n };\n\n\n // In FF4, if disabled, window.localStorage should === null.\n\n // Normally, we could not test that directly and need to do a\n // `('localStorage' in window) && ` test first because otherwise Firefox will\n // throw bugzil.la/365772 if cookies are disabled\n\n // Also in iOS5 Private Browsing mode, attempting to use localStorage.setItem\n // will throw the exception:\n // QUOTA_EXCEEDED_ERRROR DOM Exception 22.\n // Peculiarly, getItem and removeItem calls do not throw.\n\n // Because we are forced to try/catch this, we'll go aggressive.\n\n // Just FWIW: IE8 Compat mode supports these features completely:\n // www.quirksmode.org/dom/html5.html\n // But IE8 doesn't support either with local files\n\n tests['localstorage'] = function() {\n try {\n localStorage.setItem(mod, mod);\n localStorage.removeItem(mod);\n return true;\n } catch(e) {\n return false;\n }\n };\n\n tests['sessionstorage'] = function() {\n try {\n sessionStorage.setItem(mod, mod);\n sessionStorage.removeItem(mod);\n return true;\n } catch(e) {\n return false;\n }\n };\n\n\n tests['webworkers'] = function() {\n return !!window.Worker;\n };\n\n\n tests['applicationcache'] = function() {\n return !!window.applicationCache;\n };\n\n\n // Thanks to Erik Dahlstrom\n tests['svg'] = function() {\n return !!document.createElementNS && !!document.createElementNS(ns.svg, 'svg').createSVGRect;\n };\n\n // specifically for SVG inline in HTML, not within XHTML\n // test page: paulirish.com/demo/inline-svg\n tests['inlinesvg'] = function() {\n var div = document.createElement('div');\n div.innerHTML = '';\n return (div.firstChild && div.firstChild.namespaceURI) == ns.svg;\n };\n\n // SVG SMIL animation\n tests['smil'] = function() {\n return !!document.createElementNS && /SVGAnimate/.test(toString.call(document.createElementNS(ns.svg, 'animate')));\n };\n\n // This test is only for clip paths in SVG proper, not clip paths on HTML content\n // demo: srufaculty.sru.edu/david.dailey/svg/newstuff/clipPath4.svg\n\n // However read the comments to dig into applying SVG clippaths to HTML content here:\n // github.com/Modernizr/Modernizr/issues/213#issuecomment-1149491\n tests['svgclippaths'] = function() {\n return !!document.createElementNS && /SVGClipPath/.test(toString.call(document.createElementNS(ns.svg, 'clipPath')));\n };\n\n /*>>webforms*/\n // input features and input types go directly onto the ret object, bypassing the tests loop.\n // Hold this guy to execute in a moment.\n function webforms() {\n /*>>input*/\n // Run through HTML5's new input attributes to see if the UA understands any.\n // We're using f which is the element created early on\n // Mike Taylr has created a comprehensive resource for testing these attributes\n // when applied to all input types:\n // miketaylr.com/code/input-type-attr.html\n // spec: www.whatwg.org/specs/web-apps/current-work/multipage/the-input-element.html#input-type-attr-summary\n\n // Only input placeholder is tested while textarea's placeholder is not.\n // Currently Safari 4 and Opera 11 have support only for the input placeholder\n // Both tests are available in feature-detects/forms-placeholder.js\n Modernizr['input'] = (function( props ) {\n for ( var i = 0, len = props.length; i < len; i++ ) {\n attrs[ props[i] ] = !!(props[i] in inputElem);\n }\n if (attrs.list){\n // safari false positive's on datalist: webk.it/74252\n // see also github.com/Modernizr/Modernizr/issues/146\n attrs.list = !!(document.createElement('datalist') && window.HTMLDataListElement);\n }\n return attrs;\n })('autocomplete autofocus list placeholder max min multiple pattern required step'.split(' '));\n /*>>input*/\n\n /*>>inputtypes*/\n // Run through HTML5's new input types to see if the UA understands any.\n // This is put behind the tests runloop because it doesn't return a\n // true/false like all the other tests; instead, it returns an object\n // containing each input type with its corresponding true/false value\n\n // Big thanks to @miketaylr for the html5 forms expertise. miketaylr.com/\n Modernizr['inputtypes'] = (function(props) {\n\n for ( var i = 0, bool, inputElemType, defaultView, len = props.length; i < len; i++ ) {\n\n inputElem.setAttribute('type', inputElemType = props[i]);\n bool = inputElem.type !== 'text';\n\n // We first check to see if the type we give it sticks..\n // If the type does, we feed it a textual value, which shouldn't be valid.\n // If the value doesn't stick, we know there's input sanitization which infers a custom UI\n if ( bool ) {\n\n inputElem.value = smile;\n inputElem.style.cssText = 'position:absolute;visibility:hidden;';\n\n if ( /^range$/.test(inputElemType) && inputElem.style.WebkitAppearance !== undefined ) {\n\n docElement.appendChild(inputElem);\n defaultView = document.defaultView;\n\n // Safari 2-4 allows the smiley as a value, despite making a slider\n bool = defaultView.getComputedStyle &&\n defaultView.getComputedStyle(inputElem, null).WebkitAppearance !== 'textfield' &&\n // Mobile android web browser has false positive, so must\n // check the height to see if the widget is actually there.\n (inputElem.offsetHeight !== 0);\n\n docElement.removeChild(inputElem);\n\n } else if ( /^(search|tel)$/.test(inputElemType) ){\n // Spec doesn't define any special parsing or detectable UI\n // behaviors so we pass these through as true\n\n // Interestingly, opera fails the earlier test, so it doesn't\n // even make it here.\n\n } else if ( /^(url|email)$/.test(inputElemType) ) {\n // Real url and email support comes with prebaked validation.\n bool = inputElem.checkValidity && inputElem.checkValidity() === false;\n\n } else {\n // If the upgraded input compontent rejects the :) text, we got a winner\n bool = inputElem.value != smile;\n }\n }\n\n inputs[ props[i] ] = !!bool;\n }\n return inputs;\n })('search tel url email datetime date month week time datetime-local number range color'.split(' '));\n /*>>inputtypes*/\n }\n /*>>webforms*/\n\n\n // End of test definitions\n // -----------------------\n\n\n\n // Run through all tests and detect their support in the current UA.\n // todo: hypothetically we could be doing an array of tests and use a basic loop here.\n for ( var feature in tests ) {\n if ( hasOwnProp(tests, feature) ) {\n // run the test, throw the return value into the Modernizr,\n // then based on that boolean, define an appropriate className\n // and push it into an array of classes we'll join later.\n featureName = feature.toLowerCase();\n Modernizr[featureName] = tests[feature]();\n\n classes.push((Modernizr[featureName] ? '' : 'no-') + featureName);\n }\n }\n\n /*>>webforms*/\n // input tests need to run.\n Modernizr.input || webforms();\n /*>>webforms*/\n\n\n /**\n * addTest allows the user to define their own feature tests\n * the result will be added onto the Modernizr object,\n * as well as an appropriate className set on the html element\n *\n * @param feature - String naming the feature\n * @param test - Function returning true if feature is supported, false if not\n */\n Modernizr.addTest = function ( feature, test ) {\n if ( typeof feature == 'object' ) {\n for ( var key in feature ) {\n if ( hasOwnProp( feature, key ) ) {\n Modernizr.addTest( key, feature[ key ] );\n }\n }\n } else {\n\n feature = feature.toLowerCase();\n\n if ( Modernizr[feature] !== undefined ) {\n // we're going to quit if you're trying to overwrite an existing test\n // if we were to allow it, we'd do this:\n // var re = new RegExp(\"\\\\b(no-)?\" + feature + \"\\\\b\");\n // docElement.className = docElement.className.replace( re, '' );\n // but, no rly, stuff 'em.\n return Modernizr;\n }\n\n test = typeof test == 'function' ? test() : test;\n\n if (typeof enableClasses !== \"undefined\" && enableClasses) {\n docElement.className += ' ' + (test ? '' : 'no-') + feature;\n }\n Modernizr[feature] = test;\n\n }\n\n return Modernizr; // allow chaining.\n };\n\n\n // Reset modElem.cssText to nothing to reduce memory footprint.\n setCss('');\n modElem = inputElem = null;\n\n /*>>shiv*/\n /**\n * @preserve HTML5 Shiv prev3.7.1 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed\n */\n ;(function(window, document) {\n /*jshint evil:true */\n /** version */\n var version = '3.7.0';\n\n /** Preset options */\n var options = window.html5 || {};\n\n /** Used to skip problem elements */\n var reSkip = /^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i;\n\n /** Not all elements can be cloned in IE **/\n var saveClones = /^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i;\n\n /** Detect whether the browser supports default html5 styles */\n var supportsHtml5Styles;\n\n /** Name of the expando, to work with multiple documents or to re-shiv one document */\n var expando = '_html5shiv';\n\n /** The id for the the documents expando */\n var expanID = 0;\n\n /** Cached data for each document */\n var expandoData = {};\n\n /** Detect whether the browser supports unknown elements */\n var supportsUnknownElements;\n\n (function() {\n try {\n var a = document.createElement('a');\n a.innerHTML = '';\n //if the hidden property is implemented we can assume, that the browser supports basic HTML5 Styles\n supportsHtml5Styles = ('hidden' in a);\n\n supportsUnknownElements = a.childNodes.length == 1 || (function() {\n // assign a false positive if unable to shiv\n (document.createElement)('a');\n var frag = document.createDocumentFragment();\n return (\n typeof frag.cloneNode == 'undefined' ||\n typeof frag.createDocumentFragment == 'undefined' ||\n typeof frag.createElement == 'undefined'\n );\n }());\n } catch(e) {\n // assign a false positive if detection fails => unable to shiv\n supportsHtml5Styles = true;\n supportsUnknownElements = true;\n }\n\n }());\n\n /*--------------------------------------------------------------------------*/\n\n /**\n * Creates a style sheet with the given CSS text and adds it to the document.\n * @private\n * @param {Document} ownerDocument The document.\n * @param {String} cssText The CSS text.\n * @returns {StyleSheet} The style element.\n */\n function addStyleSheet(ownerDocument, cssText) {\n var p = ownerDocument.createElement('p'),\n parent = ownerDocument.getElementsByTagName('head')[0] || ownerDocument.documentElement;\n\n p.innerHTML = 'x';\n return parent.insertBefore(p.lastChild, parent.firstChild);\n }\n\n /**\n * Returns the value of `html5.elements` as an array.\n * @private\n * @returns {Array} An array of shived element node names.\n */\n function getElements() {\n var elements = html5.elements;\n return typeof elements == 'string' ? elements.split(' ') : elements;\n }\n\n /**\n * Returns the data associated to the given document\n * @private\n * @param {Document} ownerDocument The document.\n * @returns {Object} An object of data.\n */\n function getExpandoData(ownerDocument) {\n var data = expandoData[ownerDocument[expando]];\n if (!data) {\n data = {};\n expanID++;\n ownerDocument[expando] = expanID;\n expandoData[expanID] = data;\n }\n return data;\n }\n\n /**\n * returns a shived element for the given nodeName and document\n * @memberOf html5\n * @param {String} nodeName name of the element\n * @param {Document} ownerDocument The context document.\n * @returns {Object} The shived element.\n */\n function createElement(nodeName, ownerDocument, data){\n if (!ownerDocument) {\n ownerDocument = document;\n }\n if(supportsUnknownElements){\n return ownerDocument.createElement(nodeName);\n }\n if (!data) {\n data = getExpandoData(ownerDocument);\n }\n var node;\n\n if (data.cache[nodeName]) {\n node = data.cache[nodeName].cloneNode();\n } else if (saveClones.test(nodeName)) {\n node = (data.cache[nodeName] = data.createElem(nodeName)).cloneNode();\n } else {\n node = data.createElem(nodeName);\n }\n\n // Avoid adding some elements to fragments in IE < 9 because\n // * Attributes like `name` or `type` cannot be set/changed once an element\n // is inserted into a document/fragment\n // * Link elements with `src` attributes that are inaccessible, as with\n // a 403 response, will cause the tab/window to crash\n // * Script elements appended to fragments will execute when their `src`\n // or `text` property is set\n return node.canHaveChildren && !reSkip.test(nodeName) && !node.tagUrn ? data.frag.appendChild(node) : node;\n }\n\n /**\n * returns a shived DocumentFragment for the given document\n * @memberOf html5\n * @param {Document} ownerDocument The context document.\n * @returns {Object} The shived DocumentFragment.\n */\n function createDocumentFragment(ownerDocument, data){\n if (!ownerDocument) {\n ownerDocument = document;\n }\n if(supportsUnknownElements){\n return ownerDocument.createDocumentFragment();\n }\n data = data || getExpandoData(ownerDocument);\n var clone = data.frag.cloneNode(),\n i = 0,\n elems = getElements(),\n l = elems.length;\n for(;i>shiv*/\n\n // Assign private properties to the return object with prefix\n Modernizr._version = version;\n\n // expose these for the plugin API. Look in the source for how to join() them against your input\n /*>>prefixes*/\n Modernizr._prefixes = prefixes;\n /*>>prefixes*/\n /*>>domprefixes*/\n Modernizr._domPrefixes = domPrefixes;\n Modernizr._cssomPrefixes = cssomPrefixes;\n /*>>domprefixes*/\n\n /*>>mq*/\n // Modernizr.mq tests a given media query, live against the current state of the window\n // A few important notes:\n // * If a browser does not support media queries at all (eg. oldIE) the mq() will always return false\n // * A max-width or orientation query will be evaluated against the current state, which may change later.\n // * You must specify values. Eg. If you are testing support for the min-width media query use:\n // Modernizr.mq('(min-width:0)')\n // usage:\n // Modernizr.mq('only screen and (max-width:768)')\n Modernizr.mq = testMediaQuery;\n /*>>mq*/\n\n /*>>hasevent*/\n // Modernizr.hasEvent() detects support for a given event, with an optional element to test on\n // Modernizr.hasEvent('gesturestart', elem)\n Modernizr.hasEvent = isEventSupported;\n /*>>hasevent*/\n\n /*>>testprop*/\n // Modernizr.testProp() investigates whether a given style property is recognized\n // Note that the property names must be provided in the camelCase variant.\n // Modernizr.testProp('pointerEvents')\n Modernizr.testProp = function(prop){\n return testProps([prop]);\n };\n /*>>testprop*/\n\n /*>>testallprops*/\n // Modernizr.testAllProps() investigates whether a given style property,\n // or any of its vendor-prefixed variants, is recognized\n // Note that the property names must be provided in the camelCase variant.\n // Modernizr.testAllProps('boxSizing')\n Modernizr.testAllProps = testPropsAll;\n /*>>testallprops*/\n\n\n /*>>teststyles*/\n // Modernizr.testStyles() allows you to add custom styles to the document and test an element afterwards\n // Modernizr.testStyles('#modernizr { position:absolute }', function(elem, rule){ ... })\n Modernizr.testStyles = injectElementWithStyles;\n /*>>teststyles*/\n\n\n /*>>prefixed*/\n // Modernizr.prefixed() returns the prefixed or nonprefixed property name variant of your input\n // Modernizr.prefixed('boxSizing') // 'MozBoxSizing'\n\n // Properties must be passed as dom-style camelcase, rather than `box-sizing` hypentated style.\n // Return values will also be the camelCase variant, if you need to translate that to hypenated style use:\n //\n // str.replace(/([A-Z])/g, function(str,m1){ return '-' + m1.toLowerCase(); }).replace(/^ms-/,'-ms-');\n\n // If you're trying to ascertain which transition end event to bind to, you might do something like...\n //\n // var transEndEventNames = {\n // 'WebkitTransition' : 'webkitTransitionEnd',\n // 'MozTransition' : 'transitionend',\n // 'OTransition' : 'oTransitionEnd',\n // 'msTransition' : 'MSTransitionEnd',\n // 'transition' : 'transitionend'\n // },\n // transEndEventName = transEndEventNames[ Modernizr.prefixed('transition') ];\n\n Modernizr.prefixed = function(prop, obj, elem){\n if(!obj) {\n return testPropsAll(prop, 'pfx');\n } else {\n // Testing DOM property e.g. Modernizr.prefixed('requestAnimationFrame', window) // 'mozRequestAnimationFrame'\n return testPropsAll(prop, obj, elem);\n }\n };\n /*>>prefixed*/\n\n\n /*>>cssclasses*/\n // Remove \"no-js\" class from element, if it exists:\n docElement.className = docElement.className.replace(/(^|\\s)no-js(\\s|$)/, '$1$2') +\n\n // Add the new classes to the element.\n (enableClasses ? ' js ' + classes.join(' ') : '');\n /*>>cssclasses*/\n\n return Modernizr;\n\n})(this, this.document);\n","(function($){$.formatCurrency={};$.formatCurrency.regions=[];$.formatCurrency.regions[\"\"]={symbol:\"$\",positiveFormat:\"%s%n\",negativeFormat:\"(%s%n)\",decimalSymbol:\".\",digitGroupSymbol:\",\",groupDigits:true};\n$.fn.formatCurrency=function(destination,settings){if(arguments.length==1&&typeof destination!==\"string\"){settings=destination;destination=false\n}var defaults={name:\"formatCurrency\",colorize:false,region:\"\",global:true,roundToDecimalPlace:2,eventOnDecimalsEntered:false};defaults=$.extend(defaults,$.formatCurrency.regions[\"\"]);\nsettings=$.extend(defaults,settings);if(settings.region.length>0){settings=$.extend(settings,getRegionOrCulture(settings.region))}settings.regex=generateRegex(settings);\nreturn this.each(function(){$this=$(this);var num=\"0\";num=$this[$this.is(\"input, select, textarea\")?\"val\":\"html\"]();if(num.search(\"\\\\(\")>=0){num=\"-\"+num\n}if(num===\"\"||(num===\"-\"&&settings.roundToDecimalPlace===-1)){return}if(isNaN(num)){num=num.replace(settings.regex,\"\");if(num===\"\"||(num===\"-\"&&settings.roundToDecimalPlace===-1)){return\n}if(settings.decimalSymbol!=\".\"){num=num.replace(settings.decimalSymbol,\".\")}if(isNaN(num)){num=\"0\"}}var numParts=String(num).split(\".\");var isPositive=(num==Math.abs(num));\nvar hasDecimals=(numParts.length>1);var decimals=(hasDecimals?numParts[1].toString():\"0\");var originalDecimals=decimals;num=Math.abs(numParts[0]);\nnum=isNaN(num)?0:num;if(settings.roundToDecimalPlace>=0){decimals=parseFloat(\"1.\"+decimals);decimals=decimals.toFixed(settings.roundToDecimalPlace);\nif(decimals.substring(0,1)==\"2\"){num=Number(num)+1}decimals=decimals.substring(2)}num=String(num);if(settings.groupDigits){for(var i=0;i0){num+=settings.decimalSymbol+decimals\n}var format=isPositive?settings.positiveFormat:settings.negativeFormat;var money=format.replace(/%s/g,settings.symbol);money=money.replace(/%n/g,num);\nvar $destination=$([]);if(!destination){$destination=$this}else{$destination=$(destination)}$destination[$destination.is(\"input, select, textarea\")?\"val\":\"html\"](money);\nif(hasDecimals&&settings.eventOnDecimalsEntered&&originalDecimals.length>settings.roundToDecimalPlace){$destination.trigger(\"decimalsEntered\",originalDecimals)\n}if(settings.colorize){$destination.css(\"color\",isPositive?\"black\":\"red\")}})};$.fn.toNumber=function(settings){var defaults=$.extend({name:\"toNumber\",region:\"\",global:true},$.formatCurrency.regions[\"\"]);\nsettings=jQuery.extend(defaults,settings);if(settings.region.length>0){settings=$.extend(settings,getRegionOrCulture(settings.region))}settings.regex=generateRegex(settings);\nreturn this.each(function(){var method=$(this).is(\"input, select, textarea\")?\"val\":\"html\";$(this)[method]($(this)[method]().replace(\"(\",\"(-\").replace(settings.regex,\"\"))\n})};$.fn.asNumber=function(settings){var defaults=$.extend({name:\"asNumber\",region:\"\",parse:true,parseType:\"Float\",global:true},$.formatCurrency.regions[\"\"]);\nsettings=jQuery.extend(defaults,settings);if(settings.region.length>0){settings=$.extend(settings,getRegionOrCulture(settings.region))}settings.regex=generateRegex(settings);\nsettings.parseType=validateParseType(settings.parseType);var method=$(this).is(\"input, select, textarea\")?\"val\":\"html\";var num=$(this)[method]();\nnum=num?num:\"\";num=num.replace(\"(\",\"(-\");num=num.replace(settings.regex,\"\");if(!settings.parse){return num}if(num.length==0){num=\"0\"}if(settings.decimalSymbol!=\".\"){num=num.replace(settings.decimalSymbol,\".\")\n}return window[\"parse\"+settings.parseType](num)};function getRegionOrCulture(region){var regionInfo=$.formatCurrency.regions[region];if(regionInfo){return regionInfo\n}else{if(/(\\w+)-(\\w+)/g.test(region)){var culture=region.replace(/(\\w+)-(\\w+)/g,\"$1\");return $.formatCurrency.regions[culture]}}return null}function validateParseType(parseType){switch(parseType.toLowerCase()){case\"int\":return\"Int\";\ncase\"float\":return\"Float\";default:throw\"invalid parseType\"}}function generateRegex(settings){if(settings.symbol===\"\"){return new RegExp(\"[^\\\\d\"+settings.decimalSymbol+\"-]\",\"g\")\n}else{var symbol=settings.symbol.replace(\"$\",\"\\\\$\").replace(\".\",\"\\\\.\");return new RegExp(symbol+\"|[^\\\\d\"+settings.decimalSymbol+\"-]\",\"g\")}}})(jQuery);","/* Modernizr 2.8.3 (Custom Build) | MIT & BSD\n * Build: http://modernizr.com/download/#-geolocation-inlinesvg-smil-svg-svgclippaths-touch-webgl-shiv-cssclasses-teststyles-testprop-testallprops-hasevent-prefixes-domprefixes-load\n */\n;window.Modernizr=function(a,b,c){function B(a){j.cssText=a}function C(a,b){return B(m.join(a+\";\")+(b||\"\"))}function D(a,b){return typeof a===b}function E(a,b){return!!~(\"\"+a).indexOf(b)}function F(a,b){for(var d in a){var e=a[d];if(!E(e,\"-\")&&j[e]!==c)return b==\"pfx\"?e:!0}return!1}function G(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:D(f,\"function\")?f.bind(d||b):f}return!1}function H(a,b,c){var d=a.charAt(0).toUpperCase()+a.slice(1),e=(a+\" \"+o.join(d+\" \")+d).split(\" \");return D(b,\"string\")||D(b,\"undefined\")?F(e,b):(e=(a+\" \"+p.join(d+\" \")+d).split(\" \"),G(e,b,c))}var d=\"2.8.3\",e={},f=!0,g=b.documentElement,h=\"modernizr\",i=b.createElement(h),j=i.style,k,l={}.toString,m=\" -webkit- -moz- -o- -ms- \".split(\" \"),n=\"Webkit Moz O ms\",o=n.split(\" \"),p=n.toLowerCase().split(\" \"),q={svg:\"http://www.w3.org/2000/svg\"},r={},s={},t={},u=[],v=u.slice,w,x=function(a,c,d,e){var f,i,j,k,l=b.createElement(\"div\"),m=b.body,n=m||b.createElement(\"body\");if(parseInt(d,10))while(d--)j=b.createElement(\"div\"),j.id=e?e[d]:h+(d+1),l.appendChild(j);return f=[\"­\",'\"].join(\"\"),l.id=h,(m?l:n).innerHTML+=f,n.appendChild(l),m||(n.style.background=\"\",n.style.overflow=\"hidden\",k=g.style.overflow,g.style.overflow=\"hidden\",g.appendChild(n)),i=c(l,a),m?l.parentNode.removeChild(l):(n.parentNode.removeChild(n),g.style.overflow=k),!!i},y=function(){function d(d,e){e=e||b.createElement(a[d]||\"div\"),d=\"on\"+d;var f=d in e;return f||(e.setAttribute||(e=b.createElement(\"div\")),e.setAttribute&&e.removeAttribute&&(e.setAttribute(d,\"\"),f=D(e[d],\"function\"),D(e[d],\"undefined\")||(e[d]=c),e.removeAttribute(d))),e=null,f}var a={select:\"input\",change:\"input\",submit:\"form\",reset:\"form\",error:\"img\",load:\"img\",abort:\"img\"};return d}(),z={}.hasOwnProperty,A;!D(z,\"undefined\")&&!D(z.call,\"undefined\")?A=function(a,b){return z.call(a,b)}:A=function(a,b){return b in a&&D(a.constructor.prototype[b],\"undefined\")},Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if(typeof c!=\"function\")throw new TypeError;var d=v.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,g=c.apply(f,d.concat(v.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(v.call(arguments)))};return e}),r.webgl=function(){return!!a.WebGLRenderingContext},r.touch=function(){var c;return\"ontouchstart\"in a||a.DocumentTouch&&b instanceof DocumentTouch?c=!0:x([\"@media (\",m.join(\"touch-enabled),(\"),h,\")\",\"{#modernizr{top:9px;position:absolute}}\"].join(\"\"),function(a){c=a.offsetTop===9}),c},r.geolocation=function(){return\"geolocation\"in navigator},r.svg=function(){return!!b.createElementNS&&!!b.createElementNS(q.svg,\"svg\").createSVGRect},r.inlinesvg=function(){var a=b.createElement(\"div\");return a.innerHTML=\"\",(a.firstChild&&a.firstChild.namespaceURI)==q.svg},r.smil=function(){return!!b.createElementNS&&/SVGAnimate/.test(l.call(b.createElementNS(q.svg,\"animate\")))},r.svgclippaths=function(){return!!b.createElementNS&&/SVGClipPath/.test(l.call(b.createElementNS(q.svg,\"clipPath\")))};for(var I in r)A(r,I)&&(w=I.toLowerCase(),e[w]=r[I](),u.push((e[w]?\"\":\"no-\")+w));return e.addTest=function(a,b){if(typeof a==\"object\")for(var d in a)A(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return e;b=typeof b==\"function\"?b():b,typeof f!=\"undefined\"&&f&&(g.className+=\" \"+(b?\"\":\"no-\")+a),e[a]=b}return e},B(\"\"),i=k=null,function(a,b){function l(a,b){var c=a.createElement(\"p\"),d=a.getElementsByTagName(\"head\")[0]||a.documentElement;return c.innerHTML=\"x\",d.insertBefore(c.lastChild,d.firstChild)}function m(){var a=s.elements;return typeof a==\"string\"?a.split(\" \"):a}function n(a){var b=j[a[h]];return b||(b={},i++,a[h]=i,j[i]=b),b}function o(a,c,d){c||(c=b);if(k)return c.createElement(a);d||(d=n(c));var g;return d.cache[a]?g=d.cache[a].cloneNode():f.test(a)?g=(d.cache[a]=d.createElem(a)).cloneNode():g=d.createElem(a),g.canHaveChildren&&!e.test(a)&&!g.tagUrn?d.frag.appendChild(g):g}function p(a,c){a||(a=b);if(k)return a.createDocumentFragment();c=c||n(a);var d=c.frag.cloneNode(),e=0,f=m(),g=f.length;for(;e\",g=\"hidden\"in a,k=a.childNodes.length==1||function(){b.createElement(\"a\");var a=b.createDocumentFragment();return typeof a.cloneNode==\"undefined\"||typeof a.createDocumentFragment==\"undefined\"||typeof a.createElement==\"undefined\"}()}catch(c){g=!0,k=!0}})();var s={elements:d.elements||\"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output progress section summary template time video\",version:c,shivCSS:d.shivCSS!==!1,supportsUnknownElements:k,shivMethods:d.shivMethods!==!1,type:\"default\",shivDocument:r,createElement:o,createDocumentFragment:p};a.html5=s,r(b)}(this,b),e._version=d,e._prefixes=m,e._domPrefixes=p,e._cssomPrefixes=o,e.hasEvent=y,e.testProp=function(a){return F([a])},e.testAllProps=H,e.testStyles=x,g.className=g.className.replace(/(^|\\s)no-js(\\s|$)/,\"$1$2\")+(f?\" js \"+u.join(\" \"):\"\"),e}(this,this.document),function(a,b,c){function d(a){return\"[object Function]\"==o.call(a)}function e(a){return\"string\"==typeof a}function f(){}function g(a){return!a||\"loaded\"==a||\"complete\"==a||\"uninitialized\"==a}function h(){var a=p.shift();q=1,a?a.t?m(function(){(\"c\"==a.t?B.injectCss:B.injectJs)(a.s,0,a.a,a.x,a.e,1)},0):(a(),h()):q=0}function i(a,c,d,e,f,i,j){function k(b){if(!o&&g(l.readyState)&&(u.r=o=1,!q&&h(),l.onload=l.onreadystatechange=null,b)){\"img\"!=a&&m(function(){t.removeChild(l)},50);for(var d in y[c])y[c].hasOwnProperty(d)&&y[c][d].onload()}}var j=j||B.errorTimeout,l=b.createElement(a),o=0,r=0,u={t:d,s:c,e:f,a:i,x:j};1===y[c]&&(r=1,y[c]=[]),\"object\"==a?l.data=c:(l.src=c,l.type=a),l.width=l.height=\"0\",l.onerror=l.onload=l.onreadystatechange=function(){k.call(this,r)},p.splice(e,0,u),\"img\"!=a&&(r||2===y[c]?(t.insertBefore(l,s?null:n),m(k,j)):y[c].push(l))}function j(a,b,c,d,f){return q=0,b=b||\"j\",e(a)?i(\"c\"==b?v:u,a,b,this.i++,c,d,f):(p.splice(this.i++,0,a),1==p.length&&h()),this}function k(){var a=B;return a.loader={load:j,i:0},a}var l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName(\"script\")[0],o={}.toString,p=[],q=0,r=\"MozAppearance\"in l.style,s=r&&!!b.createRange().compareNode,t=s?l:n.parentNode,l=a.opera&&\"[object Opera]\"==o.call(a.opera),l=!!b.attachEvent&&!l,u=r?\"object\":l?\"script\":\"img\",v=l?\"script\":u,w=Array.isArray||function(a){return\"[object Array]\"==o.call(a)},x=[],y={},z={timeout:function(a,b){return b.length&&(a.timeout=b[0]),a}},A,B;B=function(a){function b(a){var a=a.split(\"!\"),b=x.length,c=a.pop(),d=a.length,c={url:c,origUrl:c,prefixes:a},e,f,g;for(f=0;f