1// 2// jwlib-rwflexnav 3// 4 5;(function($){"use strict";var version='20140730.1100',debug=function(msg,obj){if(window.debug===true&&window.console&&console.log){console.log('[rwflexnav] '+msg);if(obj)console.log(obj);}};$.fn.divideNav=function(options){var opts=$.extend(true,{},$.fn.rwflexnav.defaults,options||{});var container=$(this);$('> li.'+opts.className.divider,container).remove();var items=$('> li',container);$('<li>').addClass(opts.className.divider).insertBefore(items);$('<li>').addClass(opts.className.divider).insertAfter(items.last());return $(container);};$.fn.hackRWFlexNav=function(options){var opts=$.extend(true,{},$.fn.rwflexnav.defaults,options||{});var container=$(this);$('> ul.'+opts.className.menu,container).first().removeClass(opts.className.dropdown).find('ul').removeClass(opts.className.menu);$('> ul.'+opts.className.menu,container).find('li').each(function(){if($(this).find('ul').length===0)$(this).removeClass(opts.className.hasDropdown);});return $(container);};$.fn.processRWFlexNav=function(options){var opts=$.extend(true,{},$.fn.rwflexnav.defaults,options||{});var container=$(this);$('li a header',container).parent().attr('href','javascript:void(0)').parent().addClass(opts.className.heading);$('li a label',container).unwrap();$('li a button',container).each(function(){var classes=$(this).attr('class');var text=$(this).text();$(this).parent().addClass(opts.className.button).addClass(classe
5s).html(text).parent().addClass(opts.className.hasButton);});$('li a hr',container).unwrap().parent().addClass(opts.className.divider).html('');return $(container);};$.fn.rwflexnav=function(options){var opts=$.extend(true,{},$.fn.rwflexnav.defaults,options||{});return this.each(function(){if($('> ul.'+opts.className.menu,this).length===0){console.error('RWFlexNav Aborting! Unable to locate menu with class "'+opts.className.menu+'"');return false;} 6var method=$.fn.rwflexnav[opts.scope],container=typeof method==='function'?method(opts,this):false;if(opts.hackNav)container.hackRWFlexNav(opts);container.processRWFlexNav(opts);if(opts.divide)$('> ul.'+opts.className.menu,container).divideNav(opts);debug('Processing Complete',container);return $(container);});};$.fn.rwflexnav.all=function(opts,container){return $(container);};$.fn.rwflexnav.top=function(opts,container){$('> ul.'+opts.className.menu,container).find('ul').remove();return $(container);};$.fn.rwflexnav.subnav=function(opts,container){var menu=$('> ul.'+opts.className.menu,container).first(),submenu=$('> ul.'+opts.className.menu+'> li:nth-child('+opts.subNavIndex+') > ul',container),classes=menu.attr('class');debug('Scope SubNav',submenu);if(submenu.length===0){console.error('RWFlexNav Error! No subnav found at index '+opts.subNavIndex);}
vendor: 5,890 bytes, lines 7-14
7else{submenu.addClass(opts.className.menu).addClass(classes).insertAfter(menu);submenu.find('>li.js-generated').remove();menu.remove();} 8return $(container);};$.fn.rwflexnav.active=function(opts,container){var menu=$('> ul.'+opts.className.menu,container).first(),submenu=$('> ul.'+opts.className.menu+' > li.'+opts.className.active+' > ul',container),classes=menu.attr('class');debug('Scope Active',submenu);if(submenu.length===0){console.error('RWFlexNav Error! No active subnav found with class "'+opts.className.active+'"');} 9else{submenu.addClass(opts.className.menu).addClass(classes).insertAfter(menu);submenu.find('>li.js-generated').remove();menu.remove();} 10return $(container);};$.fn.rwflexnav.defaults={scope:'all',hackNav:true,divide:false,subNavIndex:0,className:{menu:'menu',heading:'heading',divider:'divider',active:'active',dropdown:'dropdown',button:'button',hasButton:'has-form',hasDropdown:'has-dropdown'}};})(jQuery); 11 12 13/*! jQuery Migrate v1.2.1 | (c) 2005, 2013 jQuery Foundation, Inc. and other contributors | jquery.org/license */ 14jQuery.migrateMute===void 0&&(jQuery.migrateMute=!0),function(e,t,n){function r(n){var r=t.console;i[n]||(i[n]=!0,e.migrateWarnings.push(n),r&&r.warn&&!e.migrateMute&&(r.warn("JQMIGRATE: "+n),e.migrateTrace&&r.trace&&r.trace()))}function a(t,a,i,o){if(Object.defineProperty)try{return Object.defineProperty(t,a,{configurable:!0,enumerable:!0,get:function(){return r(o),i},set:function(e){r(o),i=e}}),n}catch(s){}e._definePropertyBroken=!0,t[a]=i}var i={};e.migrateWarnings=[],!e.migrateMute&&t.console&&t.console.log&&t.console.log("JQMIGRATE: Logging is active"),e.migrateTrace===n&&(e.migrateTrace=!0),e.migrateReset=function(){i={},e.migrateWarnings.length=0},"BackCompat"===document.compatMode&&r("jQuery is not compatible with Quirks Mode");var o=e("<input/>",{size:1}).attr("size")&&e.attrFn,s=e.attr,u=e.attrHooks.value&&e.attrHooks.value.get||function(){return null},c=e.attrHooks.value&&e.attrHooks.value.set||function(){return n},l=/^(?:input|button)$/i,d=/^[238]$/,p=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,f=/^(?:checked|selected)$/i;a(e,"attrFn",o||{},"jQuery.attrFn is deprecated"),e.attr=function(t,a,i,u){var c=a.toLowerCase(),g=t&&t.nodeType;return u&&(4>s.length&&r("jQuery.fn.attr( props, pass ) is deprecated"),t&&!d.test(g)&&(o?a in o:e.isFunction(e.fn[a])))?e(t)[a](i):("type"===a&&i!==n&&l.test(t.nodeName)&&t.parentNode&&r("Can't change the 'type' of an input or button in IE 6/7/8"),!e.attrHooks[c]&&p.test(c)&&(e.attrHooks[c]={get:function(t,r){var a,i=e.prop(t,r);return i===!0||"boolean"!=typeof i&&(a=t.getAttributeNode(r))&&a.nodeValue!==!1?r.toLowerCase():n},set:function(t,n,r){var a;return n===!1?e.removeAttr(t,r):(a=e.propFix[r]||r,a in t&&(t[a]=!0),t.setAttribute(r,r.toLowerCase())),r}},f.test(c)&&r("jQuery.fn.attr('"+c+"') may use property instead of attribute")),s.call(e,t,a,i))},e.attrHooks.value={get:function(e,t){var n=(e.nodeName||"").toLowerCase();return"button"===n?u.apply(this,arguments):("input"!==n&&"option"!==n&&r("jQuery.fn.attr('value') no longer gets properties"),t in e?e.value:null)},set:function(e,t){var a=(e.nodeName||"").toLowerCase();return"button"===a?c.apply(this,arguments):("input"!==a&&"option"!==a&&r("jQuery.fn.attr('value', val) no longer sets properties"),e.value=t,n)}};var g,h,v=e.fn.init,m=e.parseJSON,y=/^([^<]*)(<[\w\W]+>)([^>]*)$/;e.fn.init=function(t,n,a){var i;return t&&"string"==typeof t&&!e.isPlainObject(n)&&(i=y.exec(e.trim(t)))&&i[0]&&("<"!==t.charAt(0)&&r("$(html) HTML strings must start with '<' character"),i[3]&&r("$(html) HTML text after last tag is ignored"),"#"===i[0].charAt(0)&&(r("HTML string cannot start with a '#' character"),e.error("JQMIGRATE: Invalid selector string (XSS)")),n&&n.context&&(n=n.context),e.parseHTML)?v.call(this,e.parseHTML(i[2],n,!0),n,a):v.apply(this,arguments)},e.fn.init.prototype=e.fn,e.parseJSON=function(e){return e||null===e?m.apply(this,arguments):(r("jQuery.parseJSON requires a valid JSON string"),null)},e.uaMatch=function(e){e=e.toLowerCase();var t=/(chrome)[ \/]([\w.]+)/.exec(e)||/(webkit)[ \/]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(e)||/(msie) ([\w.]+)/.exec(e)||0>e.indexOf("compatible")&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(e)||[];return{browser:t[1]||"",version:t[2]||"0"}},e.browser||(g=e.uaMatch(navigator.userAgent),h={},g.browser&&(h[g.browser]=!0,h.version=g.version),h.chrome?h.webkit=!0:h.webkit&&(h.safari=!0),e.browser=h),a(e,"browser",e.browser,"jQuery.browser is deprecated"),e.sub=function(){function t(e,n){return new t.fn.init(e,n)}e.extend(!0,t,this),t.superclass=this,t.fn=t.prototype=this(),t.fn.constructor=t,t.sub=this.sub,t.fn.init=function(r,a){return a&&a instanceof e&&!(a instanceof t)&&(a=t(a)),e.fn.init.call(this,r,a,n)},t.fn.init.prototype=t.fn;var n=t(document);return r("jQuery.sub() is deprecated"),t},e.ajaxSetup({converters:{"text json":e.parseJSON}});var b=e.fn.data;e.fn.data=function(t){var a,i,o=this[0];return!o||"events"!==t||1!==arguments.length||(a=e.data(o,t),i=e._data(o,t),a!==n&&a!==i||i===n)?b.apply(this,arguments):(r("Use of jQuery.fn.data('events') is deprecated"),i)};var j=/\/(java|ecma)script/i,w=e.fn.andSelf||e.fn.addBack;e.fn.andSelf=function(){return r("jQuery.fn.andSelf() replaced by jQuery.fn.addBack()"),w.apply(this,arguments)},e.clean||(e.clean=function(t,a,i,o){a=a||document,a=!a.nodeType&&a[0]||a,a=a.ownerDocument||a,r("jQuery.clean() is deprecated");var s,u,c,l,d=[];if(e.merge(d,e.buildFragment(t,a).childNodes),i)for(c=function(e){return!e.type||j.test(e.type)?o?o.push(e.parentNode?e.parentNode.removeChild(e):e):i.appendChild(e):n},s=0;null!=(u=d[s]);s++)e.nodeName(u,"script")&&c(u)||(i.appendChild(u),u.getElementsByTagName!==n&&(l=e.grep(e.merge([],u.getElementsByTagName("script")),c),d.splice.apply(d,[s+1,0].c
14oncat(l)),s+=l.length));return d});var Q=e.event.add,x=e.event.remove,k=e.event.trigger,N=e.fn.toggle,T=e.fn.live,M=e.fn.die,S="ajaxStart|ajaxStop|ajaxSend|ajaxComplete|ajaxError|ajaxSuccess",C=RegExp("\\b(?:"+S+")\\b"),H=/(?:^|\s)hover(\.\S+|)\b/,A=function(t){return"string"!=typeof t||e.event.special.hover?t:(H.test(t)&&r("'hover' pseudo-event is deprecated, use 'mouseenter mouseleave'"),t&&t.replace(H,"mouseenter$1 mouseleave$1"))};e.event.props&&"attrChange"!==e.event.props[0]&&e.event.props.unshift("attrChange","attrName","relatedNode","srcElement"),e.event.dispatch&&a(e.event,"handle",e.event.dispatch,"jQuery.event.handle is undocumented and deprecated"),e.event.add=function(e,t,n,a,i){e!==document&&C.test(t)&&r("AJAX events should be attached to document: "+t),Q.call(this,e,A(t||""),n,a,i)},e.event.remove=function(e,t,n,r,a){x.call(this,e,A(t)||"",n,r,a)},e.fn.error=function(){var e=Array.prototype.slice.call(arguments,0);return r("jQuery.fn.error() is deprecated"),e.splice(0,0,"error"),arguments.length?this.bind.apply(this,e):(this.triggerHandler.apply(this,e),this)},e.fn.toggle=function(t,n){if(!e.isFunction(t)||!e.isFunction(n))return N.apply(this,arguments);r("jQuery.fn.toggle(handler, handler...) is deprecated");var a=arguments,i=t.guid||e.guid++,o=0,s=function(n){var r=(e._data(this,"lastToggle"+t.guid)||0)%o;return e._data(this,"lastToggle"+t.guid,r+1),n.preventDefault(),a[r].apply(this,arguments)||!1};for(s.guid=i;a.length>o;)a[o++].guid=i;return this.click(s)},e.fn.live=function(t,n,a){return r("jQuery.fn.live() is deprecated"),T?T.apply(this,arguments):(e(this.context).on(t,this.selector,n,a),this)},e.fn.die=function(t,n){return r("jQuery.fn.die() is deprecated"),M?M.apply(this,arguments):(e(this.context).off(t,this.selector||"**",n),this)},e.event.trigger=function(e,t,n,a){return n||C.test(e)||r("Global events are undocumented and deprecated"),k.call(this,e,t,n||document,a)},e.each(S.split("|"),function(t,n){e.event.special[n]={setup:function(){var t=this;return t!==document&&(e.event.add(document,n+"."+e.guid,function(){e.event.trigger(n,null,t,!0)}),e._data(this,n,e.guid++)),!1},teardown:function(){return this!==document&&e.event.remove(document,n+"."+e._data(this,n)),!1}}})}(jQuery,window); 15var stacks = {}; 16stacks.jQuery = jQuery.noConflict(true); 17stacks.com_joeworkman_stacks_foundation_styles = {}; 18stacks.com_joeworkman_stacks_foundation_styles = (function(stack) { 19var jQuery = stacks.jQuery;var $ = jQuery;(function($){"use strict";jQuery.fn.exists=function(){return jQuery(this).length>0;};jQuery.getParameterByName=function(name,url){if(!url)url=window.location.href;name=name.replace(/[[\]]/g,"\\$&");var regex=new RegExp("[?&]"+name+"(=([^&#]*)|&|#|$)"),results=regex.exec(url);if(!results)return null;if(!results[2])return"";return decodeURIComponent(results[2].replace(/\+/g," "));};jQuery.debug=function(){if(window.debug===true)window.debug=1;var maxlevel=parseInt($.getParameterByName("debug")||window.debug)||0;if(maxlevel===0)return;var args=Array.prototype.slice.call(arguments),group="debug",loglevel=1;if(args.length>1&&typeof(args[args.length-1])==="number"){loglevel=args.pop();} 20if(loglevel>maxlevel)return;if(args.length>1&&typeof(args[0])==="string"){group=args.shift();} 21var debugGroup=$.getParameterByName("debugGroup")||window.debugGroup;if(debugGroup&&!group.match(debugGroup))return;console.group(group);args.forEach(function(arg){if(Array.isArray(arg)&&typeof arg[0]!=="object"){console.table(arg);} 22else{console.log(arg);}});console.groupEnd();};jQuery.isMobile=jQuery.isTouch=function(){return"ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch||false;};if(jQuery.isTouch())document.documentElement.classList.add("touch");jQuery.clearBrowserCache=function(){$(window).on("pageshow",function(event){if(event.originalEvent.persisted){window.location.reload();}});};jQuery.preloadImages=function(){for(var i=0;i<arguments.length;i++){$("<img />").attr("src",arguments[i]);}};var triggerWindowResize=function(){$(window).trigger("resize");};if(typeof(orientationEvent)==undefined){var orientationEvent=0;} 23$(window).on(orientationEvent,triggerWindowResize).on("load",triggerWindowResize);})(jQuery); 24!function(t,o){var s=function(t){for(var o=[];t&&void 0!==t.tagName;t=t.parentNode){if(t.className){var s=t.className.split(" ");for(var r in s)s.hasOwnProperty(r)&&s[r]&&(o.unshift(s[r]),o.unshift("."))}
24t.id&&!/\s/.test(t.id)&&(o.unshift(t.id),o.unshift("#")),o.unshift(t.tagName),o.unshift(" > ")}return o.slice(1).join("")};t.fn.getSelector=function(o){return!0===o?s(this[0]):t.map(this,function(t){return s(t)})}}(jQuery),function(t){"use strict";var o=function(t){var o=t.replace(/\s/g,"").match(/^rgb\((\d+)\,(\d+)\,(\d+)\)/);if(o)return{r:parseInt(o[1]),g:parseInt(o[2]),b:parseInt(o[3])};t=t.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i,function(t,o,s,r){return o+o+s+s+r+r});var s=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);return s?{r:parseInt(s[1],16),g:parseInt(s[2],16),b:parseInt(s[3],16)}:null},s=function(t,o,s){return s=void 0!==s?s:0,o=(o=void 0!==o?o:1)>1?o/100:o,"rgba("+(t.r+s)+","+(t.g+s)+","+(t.b+s)+","+o+")"},r=function(t,o,s,r){var e=t.selector,n={};return n[s]=r,e||(e=o.getSelector(),t.hover&&(e+=":hover")),vein.inject(e,n)},e=function(t,o){var e,n,a,i=[],l=0;if(0===t.stops.length)for(l=0;l<t.colors.length;l++)e=t.offsets[l]||0,n=t.opacity[l]||t.opacity[t.opacity.length-1],i.push(s(a[l],n,e));else for(l=0;l<t.stops.length;l++)e=t.offsets[l]||0,n=t.opacity[l]||t.opacity[t.opacity.length-1],a=t.colors[l]||t.colors[t.colors.length-1],i.push(s(a,n,e));var c=function(t,o){for(var s=[],r=0;r<t.length;r++){var e=o[r]===parseInt(o[r],10)?t[r]+" "+o[r]+"%":t[r];s.push(e)}return s.join(",")}(i,t.stops),f="linear-gradient(to "+t.linear+","+c+")";"radial-circle"===t.gradient?f="radial-gradient(circle at "+t.radial.x+"% "+t.radial.y+"%,"+c+")":"radial-ellipse"===t.gradient&&(f="radial-gradient(ellipse at "+t.radial.x+"% "+t.radial.y+"%,"+c+")"),r(t,o,"background",f)};t.glass=function(s){for(var r=t.extend(!0,{},t.fn.glass.defaults,s||{}),e=0;e<r.colors.length;e++)r.colors[e]=o(r.colors[e]);if(r.selector){var n=t.fn.glass[r.preset];if("function"==typeof n)return n(r,t(r.selector))}return!1},t.fn.glass=function(s){for(var r=t.extend(!0,{},t.fn.glass.defaults,s||{}),e=0;e<r.colors.length;e++)r.colors[e]=o(r.colors[e]);return this.each(function(){var o=t(this),s=t.fn.glass[r.preset];"function"==typeof s&&s(r,o)})},t.fn.glass.border=function(t,o){var e=s(t.colors[0],t.opacity[0]);r(t,o,"border-color",e)},t.fn.glass.solid=function(t,o){var e=s(t.colors[0],t.opacity[0]);r(t,o,"background",e)},t.fn.glass.custom=function(t,o){return e(t,o)},t.fn.glass.faded=function(t,o){return 0===t.stops.length&&(t.stops=[0,95]),2!==t.opacity.length&&(t.opacity=[100,80]),t.colors=t.colors.slice(0,1),e(t,o)},t.fn.glass.twocolor=function(t,o){return 0===t.stops.length&&(t.stops=[20,100]),t.colors=t.colors.slice(0,2),t.opacity=t.opacity.slice(0,1),e(t,o)},t.fn.glass.twotone=function(t,o){return 0===t.stops.length&&(t.stops=[0,45,50,50,100]),0===t.offsets.length&&(t.offsets=[20,10,5,0,-10]),t.offsets[3]=0,t.colors=t.colors.slice(0,1),t.opacity=t.opacity.slice(0,1),e(t,o)},t.fn.glass.onecolor=function(t,o){return 0===t.stops.length&&(t.stops=[0,85]),0===t.offsets.length&&(t.offsets=[40,0]),t.colors=t.colors.slice(0,1),t.opacity=t.opacity.slice(0,1),e(t,o)},t.fn.glass.defaults={preset:"solid",gradient:"linear",linear:"bottom",radial:{x:50,y:50},colors:["#ffffff","#777777"],offsets:[],stops:[],opacity:[100,80],selector:!1,hover:!1}}(jQuery); 25 26return stack;})(stacks.com_joeworkman_stacks_foundation_styles); 27stacks.com_joeworkman_stacks_elevator = {}; 28stacks.com_joeworkman_stacks_elevator = (function(stack) { 29var jQuery = stacks.jQuery;var $ = jQuery; jQuery.fn.exists=function(){return jQuery(this).length>0;} 30jQuery.debug=function(msg,obj){if(window.debug===true&&window.console&&console.log){console.log('[jwstacks] '+msg);if(obj)console.log(obj);}};jQuery.isMobile=function(){return"ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch;};var triggerWindowResize=function(){$(window).trigger('resize')};if(typeof(orientationEvent)==undefined){var orientationEvent=0;} 31$(window).bind(orientationEvent,triggerWindowResize).load(triggerWindowResize);jQuery.clearBrowserCache=function(){$(window).bind("pageshow",function(event){if(event.originalEvent.persisted){window.location.reload()}});};jQuery.preloadImages=function(){for(var i=0;i<arguments.length;i++){$("<img />").attr("src",arguments[i]);}}; 32 33return stack;})(stacks.com_joeworkman_stacks_elevator); 34stacks.stacks_in_7099 = {}; 35stacks.stacks_in_7099 = (function(stack) { 36var jQuery = stacks.jQuery;var $ = jQuery;
36 var subNavIndex=1,divide=1,zoneDivider=0,fullWidthMenu='full-width',scope='top',style='solid',menuAlign='left',styleActive=''==='styleActive'?true:false,rwmenu='rw'==='rw'?true:false,magellan='rw'==='magellan'?true:false,dropdowns='#stacks_in_7099 ul:not(.title-area) li.has-dropdown';$(document).ready(function(){var stack=$('#stacks_in_7099');stack.parent().css({overflow:'visible'});$('.top-bar-section:not(.menu-magellan):not(.menu-none)',stack).rwflexnav({scope:scope,subNavIndex:subNavIndex,divide:divide});if(magellan){if(divide)$('ul.magellanList',stack).divideNav();$('.magellanList li',stack).each(function(){var id=$(this).data('magellan-arrival');$('a',this).attr('href','#'+id);});} 37if($('ul.zone',stack).exists()){if(zoneDivider)$('ul.zone',stack).divideNav();} 38if($('.zone-align-left ul.zone',stack).exists()||!$('ul.zone',stack).exists()){$('ul.menu',stack).addClass(menuAlign);} 39if(fullWidthMenu==='full-width'&&menuAlign==='centered'){var calcMenuItemWidth=function(){var items=$('.menu-align-centered ul.menu > li:not(.divider)',stack),dividers=$('.menu-align-centered ul.menu > li.divider',stack);if($('.top-bar .toggle-topbar',stack).is(':visible')){items.removeAttr('style');} 40else{var count=items.length;if(count>0){var width=dividers.length>0?100/count-0.2:100/count;items.width(width+"%");}}};calcMenuItemWidth();$(window).on('resize',calcMenuItemWidth);} 41$(dropdowns).attr('aria-haspopup','true');$(dropdowns).hover(function(){$('> a:not(.button)',this).addClass('hovered');},function(){$('> a:not(.button)',this).removeClass('hovered');});});$(window).load(function(){var stack=$('#stacks_in_7099');if('40.063em'==='62.563em'){$('.parent-link.hide-for-medium-up',stack).removeClass('hide-for-medium-up').addClass('hide-for-large-up');} 42else if('40.063em'==='9999px'){$('.parent-link.hide-for-medium-up',stack).removeClass('hide-for-medium-up');}}); 43 44return stack;})(stacks.stacks_in_7099); 45stacks.stacks_in_7100 = {}; 46stacks.stacks_in_7100 = (function(stack) { 47var jQuery = stacks.jQuery;var $ = jQuery; 48$(document).ready(function(){var nav=$('#stacks_in_7100').first();$('>ul > li.active > ul',nav).appendTo(nav);$('>ul',nav).first().remove();$('ul li ul',nav).remove();$('li',nav).removeClass('has-dropdown');$('ul',nav).first().addClass('sub-nav text-left').removeClass('dropdown');$('li a header',nav).parent().attr('href','javascript:void(0)').parent().addClass('heading');$('li a label',nav).unwrap();$('li a button',nav).each(function(){var classes=$(this).attr('class');var text=$(this).text();$(this).parent().addClass('button '+classes).html(text).parent().addClass('has-form');}) 49$('li a hr',nav).unwrap().parent().addClass('divider').html('');}); 50 51return stack;})(stacks.stacks_in_7100); 52stacks.stacks_in_5840 = {}; 53stacks.stacks_in_5840 = (function(stack) { 54var jQuery = stacks.jQuery;var $ = jQuery; 55document.documentElement.lang='en';window.wowjsmobile=true;window.revealAnimation='fadeAndPop';$(document).ready(function(){if($.isMobile()) 56$('.show-for-touch').fadeIn('fast');});function loadCSS(href,before,media,callback){"use strict";var ss=window.document.createElement("link");var ref=before||window.document.getElementsByTagName("script")[0];var sheets=window.document.styleSheets;ss.rel="stylesheet";ss.href=href;ss.media="only x";if(callback){ss.onload=callback}ref.parentNode.insertBefore(ss,ref);function toggleMedia(){var defined;for(var i=0;i<sheets.length;i++){if(sheets[i].href&&sheets[i].href.indexOf(ss.href)>-1){defined=true}}if(defined){ss.media=media||"all"}else{setTimeout(toggleMedia)}}toggleMedia();return ss} 57var useCustomSelector='False',stacksTrue='True',headerFamily='\'Times New Roman\', Times, serif'==='custom'?'':"\'Times New Roman\', Times, serif",headerFamilyFallback='sans-serif',headerSelector='h1'+',.font-family-h1',headerStyle='normal',headerGoogle=headerFamily==='Open Sans'?stacksTrue:'\'Times New Roman\', Times, serif'==='custom'?'False':'false',headerWeight=headerStyle==='italic'?'300italic':'300',headerWeight=headerWeight+','.replace(/\s/g,''),header2Family='\'Times New Roman\', Times, serif'==='custom'?'':'\'Times New Roman\', Times, serif',header2FamilyFallback='sans-serif',header2Selector='h2, h3, h4, h5, h6'+',.font-family-h2',header2Style='normal',header2Google=header2Family==='Open Sans'?stacksTrue:'\'Times New Roman\', Times, serif'==='custom'?'False':'false',header2Weight=header2Style==='italic'?'600italic':'600',header2Weight=header2Weight+','.replace(/\s/g,''),fontFamily='\'Times New Roman\', Times, serif'==='custom'?'':'\'Times New Roman\', Times, serif',fontFamilyFallback='sans-serif',fontSelector='p,a'+',.font-family-text',fontGoogle=fontFamily==='Open Sans'?stacksTrue:'\'Times New Roman\', Times, serif'==='custom'?'False':'false',fontWeight='400,'.replace(/\s/g,''),getGoogleUrls=function(fontStore){var googleFonts=[];for(var family in fontStore){var weights=fontStore[family].join().replace(/,,/g,',').replace(/,$/,'');googleFonts.push('https://fonts.googleapis.com/css?family='+family+':'+weights);} 58return googleFonts;},isGFont=function(family,google){if(google===stacksTrue)return family;return false;},getGoogleFonts=function(data){var fonts=data.fonts,weights=data.weights,google=data.google,fontStore=new Object();for(var i=0;i<fonts.length;i++){if(isGFont(fonts[i],google[i])===false)continue;(fontStore[fonts[i]]=fontStore[fonts[i]]||[]).push(weights[i]);} 59return getGoogleUrls(fontStore);};var cssFontFiles=getGoogleFonts({fonts:[headerFamily,header2Family,fontFamily],weights:[headerWeight,header2Weight,fontWeight],google:[headerGoogle,header2Google,fontGoogle]});for(var i=0;i<cssFontFiles.length;
59i++){loadCSS(decodeURIComponent(cssFontFiles[i]));} 60if(useCustomSelector===stacksTrue){var customFontStyles={'font-family':[fontFamily,fontFamilyFallback].join()+'!important','font-weight':fontWeight.split(',')[0]+'!important'},customHeaderSyles={'font-family':[headerFamily,headerFamilyFallback].join()+'!important','font-weight':headerWeight.split(',')[0]+'!important','font-style':headerStyle+'!important'},customHeader2Syles={'font-family':[header2Family,header2FamilyFallback].join()+'!important','font-weight':header2Weight.split(',')[0]+'!important','font-style':header2Style+'!important'};$.debug('Custom Font Selectors:'+fontSelector,customFontStyles);vein.inject(fontSelector,customFontStyles);$.debug('Custom Header Selectors:'+headerSelector,customHeaderSyles);vein.inject(headerSelector,customHeaderSyles);$.debug('Custom Header2 Selectors:'+header2Selector,customHeader2Syles);vein.inject(header2Selector,customHeader2Syles);} 61 62return stack;})(stacks.stacks_in_5840); 63stacks.stacks_in_5836 = {}; 64stacks.stacks_in_5836 = (function(stack) { 65var jQuery = stacks.jQuery;var $ = jQuery; 66jQuery.easing['jswing']=jQuery.easing['swing'];jQuery.extend(jQuery.easing,{def:'easeOutQuad',easeOutQuart:function(x,t,b,c,d){return-c*((t=t/d-1)*t*t*t-1)+b;}});(function($){$.fn.scrollToTop=function(options){var defaults={text:'To Top',min:200,inDelay:600,outDelay:400,containerID:'toTop',scrollSpeed:1200,easingType:'linear'},settings=$.extend(defaults,options),containerIDhash='#'+settings.containerID;$('body').append('<a href="#" id="'+settings.containerID+'">'+settings.text+'</a>');$(containerIDhash).hide().on('click.UItoTop',function(){$('html, body').animate({scrollTop:0},settings.scrollSpeed,settings.easingType);return false;});$(window).scroll(function(){var sd=$(window).scrollTop();if(typeof document.body.style.maxHeight==="undefined"){$(containerIDhash).css({'position':'absolute','top':sd+$(window).height()-50});} 67if(sd>settings.min) 68$(containerIDhash).fadeIn(settings.inDelay);else 69$(containerIDhash).fadeOut(settings.Outdelay);});};})(jQuery);$(document).ready(function(){$().scrollToTop({easingType:'easeOutQuart',scrollSpeed:1200,min:200});}); 70 71return stack;})(stacks.stacks_in_5836); 72stacks.stacks_in_7060 = {}; 73stacks.stacks_in_7060 = (function(stack) { 74var jQuery = stacks.jQuery;var $ = jQuery;(function($){ 75 function floatLabel(inputType){ 76 $(inputType).each(function(){ 77 var $this = $(this); 78 // on focus add cladd active to label 79 $this.focus(function(){ 80 $this.next().addClass("active"); 81 }); 82 //on blur check field and remove class if needed 83 $this.blur(function(){ 84 if($this.val() === '' || $this.val() === 'blank'){ 85 $this.next().removeClass(); 86 } 87 }); 88 $this.bind("change keyup",function(){ 89 $this.next().addClass("active"); 90 }); 91 }); 92 } 93 //! moment.js 94 //! version : 2.20.1 95 //! authors : Tim Wood, Iskren Chernev, Moment.js contributors 96 //! license : MIT 97 //! momentjs.com 98!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.moment=t()}(this,function(){"use strict";var e,t;function n(){return e.apply(null,arguments)}function s(e){return e instanceof Array||"[object Array]"===Object.prototype.toString.call(e)}function i(e){return null!=e&&"[object Object]"===Object.prototype.toString.call(e)}function r(e){return void 0===e}function a(e){return"number"==typeof e||"[object Number]"===Object.prototype.toString.call(e)}function o(e){return e instanceof Date||"[object Date]"===Object.prototype.toString.call(e)}function u(e,t){var n,s=[];for(n=0;n<e.length;++n)s.push(t(e[n],n));return s}function d(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function l(e,t){for(var n in t)d(t,n)&&(e[n]=t[n]);return d(t,"toString")&&(e.toString=t.toString),d(t,"valueOf")&&(e.valueOf=t.valueOf),e}function h(e,t,n,s){return Ot(e,t,n,s,!0).utc()}function c(e){return null==e._pf&&(e._pf={empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invali
vendor: 10,985 bytes, line 98
98dFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],meridiem:null,rfc2822:!1,weekdayMismatch:!1}),e._pf}function f(e){if(null==e._isValid){var n=c(e),s=t.call(n.parsedDateParts,function(e){return null!=e}),i=!isNaN(e._d.getTime())&&n.overflow<0&&!n.empty&&!n.invalidMonth&&!n.invalidWeekday&&!n.weekdayMismatch&&!n.nullInput&&!n.invalidFormat&&!n.userInvalidated&&(!n.meridiem||n.meridiem&&s);if(e._strict&&(i=i&&0===n.charsLeftOver&&0===n.unusedTokens.length&&void 0===n.bigHour),null!=Object.isFrozen&&Object.isFrozen(e))return i;e._isValid=i}return e._isValid}function m(e){var t=h(NaN);return null!=e?l(c(t),e):c(t).userInvalidated=!0,t}t=Array.prototype.some?Array.prototype.some:function(e){for(var t=Object(this),n=t.length>>>0,s=0;s<n;s++)if(s in t&&e.call(this,t[s],s,t))return!0;return!1};var _=n.momentProperties=[];function y(e,t){var n,s,i;if(r(t._isAMomentObject)||(e._isAMomentObject=t._isAMomentObject),r(t._i)||(e._i=t._i),r(t._f)||(e._f=t._f),r(t._l)||(e._l=t._l),r(t._strict)||(e._strict=t._strict),r(t._tzm)||(e._tzm=t._tzm),r(t._isUTC)||(e._isUTC=t._isUTC),r(t._offset)||(e._offset=t._offset),r(t._pf)||(e._pf=c(t)),r(t._locale)||(e._locale=t._locale),_.length>0)for(n=0;n<_.length;n++)r(i=t[s=_[n]])||(e[s]=i);return e}var g=!1;function M(e){y(this,e),this._d=new Date(null!=e._d?e._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),!1===g&&(g=!0,n.updateOffset(this),g=!1)}function p(e){return e instanceof M||null!=e&&null!=e._isAMomentObject}function v(e){return e<0?Math.ceil(e)||0:Math.floor(e)}function w(e){var t=+e,n=0;return 0!==t&&isFinite(t)&&(n=v(t)),n}function S(e,t,n){var s,i=Math.min(e.length,t.length),r=Math.abs(e.length-t.length),a=0;for(s=0;s<i;s++)(n&&e[s]!==t[s]||!n&&w(e[s])!==w(t[s]))&&a++;return a+r}function D(e){!1===n.suppressDeprecationWarnings&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+e)}function Y(e,t){var s=!0;return l(function(){if(null!=n.deprecationHandler&&n.deprecationHandler(null,e),s){for(var i,r=[],a=0;a<arguments.length;a++){if(i="","object"==typeof arguments[a]){for(var o in i+="\n["+a+"] ",arguments[0])i+=o+": "+arguments[0][o]+", ";i=i.slice(0,-2)}else i=arguments[a];r.push(i)}D(e+"\nArguments: "+Array.prototype.slice.call(r).join("")+"\n"+(new Error).stack),s=!1}return t.apply(this,arguments)},t)}var k,O={};function T(e,t){null!=n.deprecationHandler&&n.deprecationHandler(e,t),O[e]||(D(t),O[e]=!0)}function x(e){return e instanceof Function||"[object Function]"===Object.prototype.toString.call(e)}function b(e,t){var n,s=l({},e);for(n in t)d(t,n)&&(i(e[n])&&i(t[n])?(s[n]={},l(s[n],e[n]),l(s[n],t[n])):null!=t[n]?s[n]=t[n]:delete s[n]);for(n in e)d(e,n)&&!d(t,n)&&i(e[n])&&(s[n]=l({},s[n]));return s}function P(e){null!=e&&this.set(e)}n.suppressDeprecationWarnings=!1,n.deprecationHandler=null,k=Object.keys?Object.keys:function(e){var t,n=[];for(t in e)d(e,t)&&n.push(t);return n};var W={};function H(e,t){var n=e.toLowerCase();W[n]=W[n+"s"]=W[t]=e}function L(e){return"string"==typeof e?W[e]||W[e.toLowerCase()]:void 0}function F(e){var t,n,s={};for(n in e)d(e,n)&&(t=L(n))&&(s[t]=e[n]);return s}var R={};function C(e,t){R[e]=t}function U(e,t,n){var s=""+Math.abs(e),i=t-s.length;return(e>=0?n?"+":"":"-")+Math.pow(10,Math.max(0,i)).toString().substr(1)+s}var N=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,G=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,V={},E={};function A(e,t,n,s){var i=s;"string"==typeof s&&(i=function(){return this[s]()}),e&&(E[e]=i),t&&(E[t[0]]=function(){return U(i.apply(this,arguments),t[1],t[2])}),n&&(E[n]=function(){return this.localeData().ordinal(i.apply(this,arguments),e)})}function I(e,t){return e.isValid()?(t=j(t,e.localeData()),V[t]=V[t]||function(e){var t,n,s,i=e.match(N);for(t=0,n=i.length;t<n;t++)E[i[t]]?i[t]=E[i[t]]:i[t]=(s=i[t]).match(/\[[\s\S]/)?s.replace(/^\[|\]$/g,""):s.replace(/\\/g,"");return function(t){var s,r="";for(s=0;s<n;s++)r+=x(i[s])?i[s].call(t,e):i[s];return r}}(t),V[t](e)):e.localeData().invalidDate()}function j(e,t){var n=5;function s(e){return t.longDateFormat(e)||e}for(G.lastIndex=0;n>=0&&G.test(e);)e=e.replace(G,s),G.lastIndex=0,n-=1;return e}var z=/\d/,Z=/\d\d/,J=/\d{3}/,$=/\d{4}/,q=/[+-]?\d{6}/,B=/\d\d?/,Q=/\d\d\d\d?/,X=/\d\d\d\d\d\d?/,K=/\d{1,3}/,ee=/\d{1,4}/,te=/[+-]?\d{1,6}/,ne=/\d+/,se=/[+-]?\d+/,ie=/Z|[+-]\d\d:?\d\d/gi,re=/Z|[+-]\d\d(?::?\d\d)?/gi,ae=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,oe={};function ue(e,t,n){oe[e]=x(t)?t:function(e,s){return e&&n?n:t}}function de(e,t){return d(oe,e)?oe[e](t._strict,t._locale):new RegExp(le(e.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(e,t,n,s,i){return t||n||s||i})))}function le(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}var he={};function ce(e,t){var n,s=t;for("string"==typeof e&&(e=[e]),a(t)&&(s=function(e,n){n[t]=w(e)}),n=0;n<e.length;n++)he[e[n]]=s}function fe(e,t){ce(e,function(e,n,s,i){s._w=s._w||{},t(e,s._w,s,i)})}var me=0,_e=1,ye=2,ge=3,Me=4,pe=5,ve=6,we=7,Se=8;function De(e){return Ye(e)?366:365}function Ye(e){return e%4==0&&e%100!=0||e%400==0}A("Y",0,0,function(){var e=this.year();return e<=9999?""+e:"+"+e}),A(0,["YY",2],0,function(){return this.year()%100}),A(0,["YYYY",4],0,"year"),A(0,["YYYYY",5],0,"year"),A(0,["YYYYYY",6,!0],0,"year"),H("year","y"),C("year",1),ue("Y",se),ue("YY",B,Z),ue("YYYY",ee,$),ue("YYYYY",te,q),ue("YYYYYY",te,q),ce(["YYYYY","YYYYYY"],me),ce("YYYY",function(e,t){t[me]=2===e.length?n.parseTwoDigitYear(e):w(e)}),ce("YY",function(e,t){t[me]=n.parseTwoDigitYear(e)}),ce("Y",function(e,t){t[me]=parseInt(e,10)}),n.parseTwoDigitYear=function(e){return w(e)+(w(e)>68?1900:2e3)};var ke,Oe=Te("FullYear",!0);function Te(e,t){return function(s){return null!=s?(be(this,e,s),n.updateOffset(this,t),this):xe(this,e)}}function xe(e,t){return e.isValid()?e._d["get"+(e._isUTC?"UTC":"")+t]():NaN}function be(e,t,n){e.isValid()&&!isNaN(n)&&("FullYear"===t&&Ye(e.year())&&1===e.month()&&29===e.date()?e._d["set"+(e._isUTC?"UTC":"")+t](n,e.month(),Pe(n,e.month())):e._d["set"+(e._isUTC?"UTC":"")+t](n))}function Pe(e,t){if(isNaN(e)||isNaN(t))return NaN;var n,s=(t%(n=12)+n)%n;return e+=(t-s)/12,1===s?Ye(e)?29:28:31-s%7%2}ke=Array.prototype.indexOf?Array.prototype.indexOf:function(e){var t;for(t=0;t<this.length;++t)if(this[t]===e)return t;return-1},A("M",["MM",2],"Mo",function(){return this.month()+1}),A("MMM",0,0,function(e){return this.localeData().monthsShort(this,e)}),A("MMMM",0,0,function(e){return this.localeData().months(this,e)}),H("month","M"),C("month",8),ue("M",B),ue("MM",B,Z),ue("MMM",function(e,t){return t.monthsShortRegex(e)}),ue("MMMM",function(e,t){return t.monthsRegex(e)}),ce(["M","MM"],function(e,t){t[_e]=w(e)-1}),ce(["MMM","MMMM"],function(e,t,n,s){var i=n._locale.monthsParse(e,s,n._strict);null!=i?t[_e]=i:c(n).invalidMonth=e});var We=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,He="January_February_March_April_May_June_July_August_September_October_November_December".split("_");var Le="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_");function Fe(e,t){var n;if(!e.isValid())return e;if("string"==typeof t)if(/^\d+$/.test(t))t=w(t);else if(!a(t=e.localeData().monthsParse(t)))return e;return n=Math.min(e.date(),Pe(e.year(),t)),e._d["set"+(e._isUTC?"UTC":"")+"Month"](t,n),e}function Re(e){return null!=e?(Fe(this,e),n.updateOffset(this,!0),this):xe(this,"Month")}var Ce=ae;var Ue=ae;function Ne(){function e(e,t){return t.length-e.length}var t,n,s=[],i=[],r=[];for(t=0;t<12;t++)n=h([2e3,t]),s.push(this.monthsShort(n,"")),i.push(this.months(n,"")),r.push(this.months(n,"")),r.push(this.monthsShort(n,""));for(s.sort(e),i.sort(e),r.sort(e),t=0;t<12;t++)s[t]=le(s[t]),i[t]=le(i[t]);for(t=0;t<24;t++)r[t]=le(r[t]);this._monthsRegex=new RegExp("^("+r.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+i.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+s.join("|")+")","i")}function Ge(e){var t=new Date(Date.UTC.apply(null,arguments));return e<100&&e>=0&&isFinite(t.getUTCFullYear())&&t.setUTCFullYear(e),t}function Ve(e,t,n){var s=7+t-n;return-((7+Ge(e,0,s).getUTCDay()-t)%7)+s-1}function Ee(e,t,n,s,i){var r,a,o=1+7*(t-1)+(7+n-s)%7+Ve(e,s,i);return o<=0?a=De(r=e-1)+o:o>De(e)?(r=e+1,a=o-De(e)):(r=e,a=o),{year:r,dayOfYear:a}}function Ae(e,t,n){var s,i,r=Ve(e.year(),t,n),a=Math.floor((e.dayOfYear()-r-1)/7)+1;return a<1?s=a+Ie(i=e.year()-1,t,n):a>Ie(e.year(),t,n)?(s=a-Ie(e.year(),t,n),i=e.year()+1):(i=e.year(),s=a),{week:s,year:i}}function Ie(e,t,n){var s=Ve(e,t,n),i=Ve(e+1,t,n);return(De(e)-s+i)/7}A("w",["ww",2],"wo","week"),A("W",["WW",2],"Wo","isoWeek"),H("week","w"),H("isoWeek","W"),C("week",5),C("isoWeek",5),ue("w",B),ue("ww",B,Z),ue("W",B),ue("WW",B,Z),fe(["w","ww","W","WW"],function(e,t,n,s){t[s.substr(0,1)]=w(e)});A("d",0,"do","day"),A("dd",0,0,function(e){return this.localeData().weekdaysMin(this,e)}),A("ddd",0,0,function(e){return this.localeData().weekdaysShort(this,e)}),A("dddd",0,0,function(e){return this.localeData().weekdays(this,e)}),A("e",0,0,"weekday"),A("E",0,0,"isoWeekday"),H("day","d"),H("weekday","e"),H("isoWeekday","E"),C("day",11),C("weekday",11),C("isoWeekday",11),ue("d",B),ue("e",B),ue("E",B),ue("dd",function(e,t){return t.weekdaysMinRegex(e)}),ue("ddd",function(e,t){return t.weekdaysShortRegex(e)}),ue("dddd",function(e,t){return t.weekdaysRegex(e)}),fe(["dd","ddd","dddd"],function(e,t,n,s){var i=n._locale.weekdaysParse(e,s,n._strict);null!=i?t.d=i:c(n).invalidWeekday=e}),fe(["d","e","E"],function(e,t,n,s){t[s]=w(e)});var je="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_");var ze="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_");var Ze="Su_Mo_Tu_We_Th_Fr_Sa".split("_");var Je=ae;var $e=ae;var qe=ae;function Be(){function e(e,t){return t.length-e.length}var t,n,s,i,r,a=[],o=[],u=[],d=[];for(t=0;t<7;t++)n=h([2e3,1]).day(t),s=this.weekdaysMin(n,""),i=this.weekdaysShort(n,""),r=this.weekdays(n,""),a.push(s),o.push(i),u.push(r),d.push(s),d.push(i),d.push(r);for(a.sort(e),o.sort(e),u.sort(e),d.sort(e),t=0;t<7;t++)o[t]=le(o[t]),u[t]=le(u[t]),d[t]=le(d[t]);this._weekdaysRegex=new RegExp("^("+d.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+u.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+o.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+a.join("|")+")","i")}function Qe(){return this.hours()%12||12}function Xe(e,t){A(e,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)})}function Ke(e,t){return t._meridiemParse}A("H",["HH",2],0,"hour"),A("h",["hh",2],0,Qe),A("k",["kk",2],0,function(){return this.hours()||24}),A("hmm",0,0,function(){return""+Qe.apply(this)+U(this.minutes(),2)}
vendor: 5,011 bytes, line 98
98),A("hmmss",0,0,function(){return""+Qe.apply(this)+U(this.minutes(),2)+U(this.seconds(),2)}),A("Hmm",0,0,function(){return""+this.hours()+U(this.minutes(),2)}),A("Hmmss",0,0,function(){return""+this.hours()+U(this.minutes(),2)+U(this.seconds(),2)}),Xe("a",!0),Xe("A",!1),H("hour","h"),C("hour",13),ue("a",Ke),ue("A",Ke),ue("H",B),ue("h",B),ue("k",B),ue("HH",B,Z),ue("hh",B,Z),ue("kk",B,Z),ue("hmm",Q),ue("hmmss",X),ue("Hmm",Q),ue("Hmmss",X),ce(["H","HH"],ge),ce(["k","kk"],function(e,t,n){var s=w(e);t[ge]=24===s?0:s}),ce(["a","A"],function(e,t,n){n._isPm=n._locale.isPM(e),n._meridiem=e}),ce(["h","hh"],function(e,t,n){t[ge]=w(e),c(n).bigHour=!0}),ce("hmm",function(e,t,n){var s=e.length-2;t[ge]=w(e.substr(0,s)),t[Me]=w(e.substr(s)),c(n).bigHour=!0}),ce("hmmss",function(e,t,n){var s=e.length-4,i=e.length-2;t[ge]=w(e.substr(0,s)),t[Me]=w(e.substr(s,2)),t[pe]=w(e.substr(i)),c(n).bigHour=!0}),ce("Hmm",function(e,t,n){var s=e.length-2;t[ge]=w(e.substr(0,s)),t[Me]=w(e.substr(s))}),ce("Hmmss",function(e,t,n){var s=e.length-4,i=e.length-2;t[ge]=w(e.substr(0,s)),t[Me]=w(e.substr(s,2)),t[pe]=w(e.substr(i))});var et,tt=Te("Hours",!0),nt={calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},months:He,monthsShort:Le,week:{dow:0,doy:6},weekdays:je,weekdaysMin:Ze,weekdaysShort:ze,meridiemParse:/[ap]\.?m?\.?/i},st={},it={};function rt(e){return e?e.toLowerCase().replace("_","-"):e}function at(e){var t=null;if(!st[e]&&"undefined"!=typeof module&&module&&module.exports)try{t=et._abbr,require("./locale/"+e),ot(t)}catch(e){}return st[e]}function ot(e,t){var n;return e&&(n=r(t)?dt(e):ut(e,t))&&(et=n),et._abbr}function ut(e,t){if(null!==t){var n=nt;if(t.abbr=e,null!=st[e])T("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),n=st[e]._config;else if(null!=t.parentLocale){if(null==st[t.parentLocale])return it[t.parentLocale]||(it[t.parentLocale]=[]),it[t.parentLocale].push({name:e,config:t}),null;n=st[t.parentLocale]._config}return st[e]=new P(b(n,t)),it[e]&&it[e].forEach(function(e){ut(e.name,e.config)}),ot(e),st[e]}return delete st[e],null}function dt(e){var t;if(e&&e._locale&&e._locale._abbr&&(e=e._locale._abbr),!e)return et;if(!s(e)){if(t=at(e))return t;e=[e]}return function(e){for(var t,n,s,i,r=0;r<e.length;){for(t=(i=rt(e[r]).split("-")).length,n=(n=rt(e[r+1]))?n.split("-"):null;t>0;){if(s=at(i.slice(0,t).join("-")))return s;if(n&&n.length>=t&&S(i,n,!0)>=t-1)break;t--}r++}return null}(e)}function lt(e){var t,n=e._a;return n&&-2===c(e).overflow&&(t=n[_e]<0||n[_e]>11?_e:n[ye]<1||n[ye]>Pe(n[me],n[_e])?ye:n[ge]<0||n[ge]>24||24===n[ge]&&(0!==n[Me]||0!==n[pe]||0!==n[ve])?ge:n[Me]<0||n[Me]>59?Me:n[pe]<0||n[pe]>59?pe:n[ve]<0||n[ve]>999?ve:-1,c(e)._overflowDayOfYear&&(t<me||t>ye)&&(t=ye),c(e)._overflowWeeks&&-1===t&&(t=we),c(e)._overflowWeekday&&-1===t&&(t=Se),c(e).overflow=t),e}function ht(e,t,n){return null!=e?e:null!=t?t:n}function ct(e){var t,s,i,r,a,o=[];if(!e._d){var u,d;for(u=e,d=new Date(n.now()),i=u._useUTC?[d.getUTCFullYear(),d.getUTCMonth(),d.getUTCDate()]:[d.getFullYear(),d.getMonth(),d.getDate()],e._w&&null==e._a[ye]&&null==e._a[_e]&&function(e){var t,n,s,i,r,a,o,u;if(null!=(t=e._w).GG||null!=t.W||null!=t.E)r=1,a=4,n=ht(t.GG,e._a[me],Ae(Tt(),1,4).year),s=ht(t.W,1),((i=ht(t.E,1))<1||i>7)&&(u=!0);else{r=e._locale._week.dow,a=e._locale._week.doy;var d=Ae(Tt(),r,a);n=ht(t.gg,e._a[me],d.year),s=ht(t.w,d.week),null!=t.d?((i=t.d)<0||i>6)&&(u=!0):null!=t.e?(i=t.e+r,(t.e<0||t.e>6)&&(u=!0)):i=r}s<1||s>Ie(n,r,a)?c(e)._overflowWeeks=!0:null!=u?c(e)._overflowWeekday=!0:(o=Ee(n,s,i,r,a),e._a[me]=o.year,e._dayOfYear=o.dayOfYear)}(e),null!=e._dayOfYear&&(a=ht(e._a[me],i[me]),(e._dayOfYear>De(a)||0===e._dayOfYear)&&(c(e)._overflowDayOfYear=!0),s=Ge(a,0,e._dayOfYear),e._a[_e]=s.getUTCMonth(),e._a[ye]=s.getUTCDate()),t=0;t<3&&null==e._a[t];++t)e._a[t]=o[t]=i[t];for(;t<7;t++)e._a[t]=o[t]=null==e._a[t]?2===t?1:0:e._a[t];24===e._a[ge]&&0===e._a[Me]&&0===e._a[pe]&&0===e._a[ve]&&(e._nextDay=!0,e._a[ge]=0),e._d=(e._useUTC?Ge:function(e,t,n,s,i,r,a){var o=new Date(e,t,n,s,i,r,a);return e<100&&e>=0&&isFinite(o.getFullYear())&&o.setFullYear(e),o}).apply(null,o),r=e._useUTC?e._d.getUTCDay():e._d.getDay(),null!=e._tzm&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[ge]=24),e._w&&void 0!==e._w.d&&e._w.d!==r&&(c(e).weekdayMismatch=!0)}}
vendor: 4,003 bytes, line 98
98var ft=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,mt=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,_t=/Z|[+-]\d\d(?::?\d\d)?/,yt=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],gt=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],Mt=/^\/?Date\((\-?\d+)/i;function pt(e){var t,n,s,i,r,a,o=e._i,u=ft.exec(o)||mt.exec(o);if(u){for(c(e).iso=!0,t=0,n=yt.length;t<n;t++)if(yt[t][1].exec(u[1])){i=yt[t][0],s=!1!==yt[t][2];break}if(null==i)return void(e._isValid=!1);if(u[3]){for(t=0,n=gt.length;t<n;t++)if(gt[t][1].exec(u[3])){r=(u[2]||" ")+gt[t][0];break}if(null==r)return void(e._isValid=!1)}if(!s&&null!=r)return void(e._isValid=!1);if(u[4]){if(!_t.exec(u[4]))return void(e._isValid=!1);a="Z"}e._f=i+(r||"")+(a||""),Yt(e)}else e._isValid=!1}var vt=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/;function wt(e,t,n,s,i,r){var a=[function(e){var t=parseInt(e,10);{if(t<=49)return 2e3+t;if(t<=999)return 1900+t}return t}(e),Le.indexOf(t),parseInt(n,10),parseInt(s,10),parseInt(i,10)];return r&&a.push(parseInt(r,10)),a}var St={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function Dt(e){var t,n,s,i=vt.exec(e._i.replace(/\([^)]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").trim());if(i){var r=wt(i[4],i[3],i[2],i[5],i[6],i[7]);if(t=i[1],n=r,s=e,t&&ze.indexOf(t)!==new Date(n[0],n[1],n[2]).getDay()&&(c(s).weekdayMismatch=!0,s._isValid=!1,1))return;e._a=r,e._tzm=function(e,t,n){if(e)return St[e];if(t)return 0;var s=parseInt(n,10),i=s%100;return(s-i)/100*60+i}(i[8],i[9],i[10]),e._d=Ge.apply(null,e._a),e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),c(e).rfc2822=!0}else e._isValid=!1}function Yt(e){if(e._f!==n.ISO_8601)if(e._f!==n.RFC_2822){e._a=[],c(e).empty=!0;var t,s,i,r,a,o,u,l,h=""+e._i,f=h.length,m=0;for(i=j(e._f,e._locale).match(N)||[],t=0;t<i.length;t++)r=i[t],(s=(h.match(de(r,e))||[])[0])&&((a=h.substr(0,h.indexOf(s))).length>0&&c(e).unusedInput.push(a),h=h.slice(h.indexOf(s)+s.length),m+=s.length),E[r]?(s?c(e).empty=!1:c(e).unusedTokens.push(r),o=r,l=e,null!=(u=s)&&d(he,o)&&he[o](u,l._a,l,o)):e._strict&&!s&&c(e).unusedTokens.push(r);c(e).charsLeftOver=f-m,h.length>0&&c(e).unusedInput.push(h),e._a[ge]<=12&&!0===c(e).bigHour&&e._a[ge]>0&&(c(e).bigHour=void 0),c(e).parsedDateParts=e._a.slice(0),c(e).meridiem=e._meridiem,e._a[ge]=function(e,t,n){var s;if(null==n)return t;return null!=e.meridiemHour?e.meridiemHour(t,n):null!=e.isPM?((s=e.isPM(n))&&t<12&&(t+=12),s||12!==t||(t=0),t):t}(e._locale,e._a[ge],e._meridiem),ct(e),lt(e)}else Dt(e);else pt(e)}function kt(e){var t,d,h,_,g=e._i,v=e._f;return e._locale=e._locale||dt(e._l),null===g||void 0===v&&""===g?m({nullInput:!0}):("string"==typeof g&&(e._i=g=e._locale.preparse(g)),p(g)?new M(lt(g)):(o(g)?e._d=g:s(v)?function(e){var t,n,s,i,r;if(0===e._f.length)return c(e).invalidFormat=!0,void(e._d=new Date(NaN));for(i=0;i<e._f.length;i++)r=0,t=y({},e),null!=e._useUTC&&(t._useUTC=e._useUTC),t._f=e._f[i],Yt(t),f(t)&&(r+=c(t).charsLeftOver,r+=10*c(t).unusedTokens.length,c(t).score=r,(null==s||r<s)&&(s=r,n=t));l(e,n||t)}(e):v?Yt(e):r(d=(t=e)._i)?t._d=new Date(n.now()):o(d)?t._d=new Date(d.valueOf()):"string"==typeof d?(h=t,null===(_=Mt.exec(h._i))?(pt(h),!1===h._isValid&&
vendor: 5,161 bytes, line 98
98(delete h._isValid,Dt(h),!1===h._isValid&&(delete h._isValid,n.createFromInputFallback(h)))):h._d=new Date(+_[1])):s(d)?(t._a=u(d.slice(0),function(e){return parseInt(e,10)}),ct(t)):i(d)?function(e){if(!e._d){var t=F(e._i);e._a=u([t.year,t.month,t.day||t.date,t.hour,t.minute,t.second,t.millisecond],function(e){return e&&parseInt(e,10)}),ct(e)}}(t):a(d)?t._d=new Date(d):n.createFromInputFallback(t),f(e)||(e._d=null),e))}function Ot(e,t,n,r,a){var o,u={};return!0!==n&&!1!==n||(r=n,n=void 0),(i(e)&&function(e){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(e).length;var t;for(t in e)if(e.hasOwnProperty(t))return!1;return!0}(e)||s(e)&&0===e.length)&&(e=void 0),u._isAMomentObject=!0,u._useUTC=u._isUTC=a,u._l=n,u._i=e,u._f=t,u._strict=r,(o=new M(lt(kt(u))))._nextDay&&(o.add(1,"d"),o._nextDay=void 0),o}function Tt(e,t,n,s){return Ot(e,t,n,s,!1)}n.createFromInputFallback=Y("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(e){e._d=new Date(e._i+(e._useUTC?" UTC":""))}),n.ISO_8601=function(){},n.RFC_2822=function(){};var xt=Y("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var e=Tt.apply(null,arguments);return this.isValid()&&e.isValid()?e<this?this:e:m()}),bt=Y("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var e=Tt.apply(null,arguments);return this.isValid()&&e.isValid()?e>this?this:e:m()});function Pt(e,t){var n,i;if(1===t.length&&s(t[0])&&(t=t[0]),!t.length)return Tt();for(n=t[0],i=1;i<t.length;++i)t[i].isValid()&&!t[i][e](n)||(n=t[i]);return n}var Wt=["year","quarter","month","week","day","hour","minute","second","millisecond"];function Ht(e){var t=F(e),n=t.year||0,s=t.quarter||0,i=t.month||0,r=t.week||0,a=t.day||0,o=t.hour||0,u=t.minute||0,d=t.second||0,l=t.millisecond||0;this._isValid=function(e){for(var t in e)if(-1===ke.call(Wt,t)||null!=e[t]&&isNaN(e[t]))return!1;for(var n=!1,s=0;s<Wt.length;++s)if(e[Wt[s]]){if(n)return!1;parseFloat(e[Wt[s]])!==w(e[Wt[s]])&&(n=!0)}return!0}(t),this._milliseconds=+l+1e3*d+6e4*u+1e3*o*60*60,this._days=+a+7*r,this._months=+i+3*s+12*n,this._data={},this._locale=dt(),this._bubble()}function Lt(e){return e instanceof Ht}function Ft(e){return e<0?-1*Math.round(-1*e):Math.round(e)}function Rt(e,t){A(e,0,0,function(){var e=this.utcOffset(),n="+";return e<0&&(e=-e,n="-"),n+U(~~(e/60),2)+t+U(~~e%60,2)})}Rt("Z",":"),Rt("ZZ",""),ue("Z",re),ue("ZZ",re),ce(["Z","ZZ"],function(e,t,n){n._useUTC=!0,n._tzm=Ut(re,e)});var Ct=/([\+\-]|\d\d)/gi;function Ut(e,t){var n=(t||"").match(e);if(null===n)return null;var s=((n[n.length-1]||[])+"").match(Ct)||["-",0,0],i=60*s[1]+w(s[2]);return 0===i?0:"+"===s[0]?i:-i}function Nt(e,t){var s,i;return t._isUTC?(s=t.clone(),i=(p(e)||o(e)?e.valueOf():Tt(e).valueOf())-s.valueOf(),s._d.setTime(s._d.valueOf()+i),n.updateOffset(s,!1),s):Tt(e).local()}function Gt(e){return 15*-Math.round(e._d.getTimezoneOffset()/15)}function Vt(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}n.updateOffset=function(){};var Et=/^(\-|\+)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,At=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function It(e,t){var n,s,i,r=e,o=null;return Lt(e)?r={ms:e._milliseconds,d:e._days,M:e._months}:a(e)?(r={},t?r[t]=e:r.milliseconds=e):(o=Et.exec(e))?(n="-"===o[1]?-1:1,r={y:0,d:w(o[ye])*n,h:w(o[ge])*n,m:w(o[Me])*n,s:w(o[pe])*n,ms:w(Ft(1e3*o[ve]))*n}):(o=At.exec(e))?(n="-"===o[1]?-1:(o[1],1),r={y:jt(o[2],n),M:jt(o[3],n),w:jt(o[4],n),d:jt(o[5],n),h:jt(o[6],n),m:jt(o[7],n),s:jt(o[8],n)}):null==r?r={}:"object"==typeof r&&("from"in r||"to"in r)&&(i=function(e,t){var n;if(!e.isValid()||!t.isValid())return{milliseconds:0,months:0};t=Nt(t,e),e.isBefore(t)?n=zt(e,t):((n=zt(t,e)).milliseconds=-n.milliseconds,n.months=-n.months);return n}(Tt(r.from),Tt(r.to)),(r={}).ms=i.milliseconds,r.M=i.months),s=new Ht(r),Lt(e)&&d(e,"_locale")&&(s._locale=e._locale),s}function jt(e,t){var n=e&&parseFloat(e.replace(",","."));return(isNaN(n)?0:n)*t}function zt(e,t){var n={milliseconds:0,months:0};return n.months=t.month()-e.month()+12*(t.year()-e.year()),e.clone().add(n.months,"M").isAfter(t)&&--n.months,n.milliseconds=+t-+e.clone().add(n.months,"M"),n}function Zt(e,t){return function(n,s){var i;return null===s||isNaN(+s)||(T(t,"moment()."+t+"(period, number) is deprecated. Please use moment()."+t+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),i=n,n=s,s=i),Jt(this,It(n="string"==typeof n?+n:n,s),e),this}}function Jt(e,t,s,i){var r=t._milliseconds,a=Ft(t._days),o=Ft(t._months);e.isValid()&&(i=null==i||i,o&&Fe(e,xe(e,"Month")+o*s),a&&be(e,"Date",xe(e,"Date")+a*s),r&&e._d.setTime(e._d.valueOf()+r*s),i&&n.updateOffset(e,a||o))}
vendor: 28,586 bytes, lines 98-100
98It.fn=Ht.prototype,It.invalid=function(){return It(NaN)};var $t=Zt(1,"add"),qt=Zt(-1,"subtract");function Bt(e,t){var n=12*(t.year()-e.year())+(t.month()-e.month()),s=e.clone().add(n,"months");return-(n+(t-s<0?(t-s)/(s-e.clone().add(n-1,"months")):(t-s)/(e.clone().add(n+1,"months")-s)))||0}function Qt(e){var t;return void 0===e?this._locale._abbr:(null!=(t=dt(e))&&(this._locale=t),this)}n.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",n.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var Xt=Y("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(e){return void 0===e?this.localeData():this.locale(e)});function Kt(){return this._locale}function en(e,t){A(0,[e,e.length],0,t)}function tn(e,t,n,s,i){var r;return null==e?Ae(this,s,i).year:(t>(r=Ie(e,s,i))&&(t=r),function(e,t,n,s,i){var r=Ee(e,t,n,s,i),a=Ge(r.year,0,r.dayOfYear);return this.year(a.getUTCFullYear()),this.month(a.getUTCMonth()),this.date(a.getUTCDate()),this}.call(this,e,t,n,s,i))}A(0,["gg",2],0,function(){return this.weekYear()%100}),A(0,["GG",2],0,function(){return this.isoWeekYear()%100}),en("gggg","weekYear"),en("ggggg","weekYear"),en("GGGG","isoWeekYear"),en("GGGGG","isoWeekYear"),H("weekYear","gg"),H("isoWeekYear","GG"),C("weekYear",1),C("isoWeekYear",1),ue("G",se),ue("g",se),ue("GG",B,Z),ue("gg",B,Z),ue("GGGG",ee,$),ue("gggg",ee,$),ue("GGGGG",te,q),ue("ggggg",te,q),fe(["gggg","ggggg","GGGG","GGGGG"],function(e,t,n,s){t[s.substr(0,2)]=w(e)}),fe(["gg","GG"],function(e,t,s,i){t[i]=n.parseTwoDigitYear(e)}),A("Q",0,"Qo","quarter"),H("quarter","Q"),C("quarter",7),ue("Q",z),ce("Q",function(e,t){t[_e]=3*(w(e)-1)}),A("D",["DD",2],"Do","date"),H("date","D"),C("date",9),ue("D",B),ue("DD",B,Z),ue("Do",function(e,t){return e?t._dayOfMonthOrdinalParse||t._ordinalParse:t._dayOfMonthOrdinalParseLenient}),ce(["D","DD"],ye),ce("Do",function(e,t){t[ye]=w(e.match(B)[0])});var nn=Te("Date",!0);A("DDD",["DDDD",3],"DDDo","dayOfYear"),H("dayOfYear","DDD"),C("dayOfYear",4),ue("DDD",K),ue("DDDD",J),ce(["DDD","DDDD"],function(e,t,n){n._dayOfYear=w(e)}),A("m",["mm",2],0,"minute"),H("minute","m"),C("minute",14),ue("m",B),ue("mm",B,Z),ce(["m","mm"],Me);var sn=Te("Minutes",!1);A("s",["ss",2],0,"second"),H("second","s"),C("second",15),ue("s",B),ue("ss",B,Z),ce(["s","ss"],pe);var rn,an=Te("Seconds",!1);for(A("S",0,0,function(){return~~(this.millisecond()/100)}),A(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),A(0,["SSS",3],0,"millisecond"),A(0,["SSSS",4],0,function(){return 10*this.millisecond()}),A(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),A(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),A(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),A(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),A(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),H("millisecond","ms"),C("millisecond",16),ue("S",K,z),ue("SS",K,Z),ue("SSS",K,J),rn="SSSS";rn.length<=9;rn+="S")ue(rn,ne);function on(e,t){t[ve]=w(1e3*("0."+e))}for(rn="S";rn.length<=9;rn+="S")ce(rn,on);var un=Te("Milliseconds",!1);A("z",0,0,"zoneAbbr"),A("zz",0,0,"zoneName");var dn=M.prototype;function ln(e){return e}dn.add=$t,dn.calendar=function(e,t){var s=e||Tt(),i=Nt(s,this).startOf("day"),r=n.calendarFormat(this,i)||"sameElse",a=t&&(x(t[r])?t[r].call(this,s):t[r]);return this.format(a||this.localeData().calendar(r,this,Tt(s)))},dn.clone=function(){return new M(this)},dn.diff=function(e,t,n){var s,i,r;if(!this.isValid())return NaN;if(!(s=Nt(e,this)).isValid())return NaN;switch(i=6e4*(s.utcOffset()-this.utcOffset()),t=L(t)){case"year":r=Bt(this,s)/12;break;case"month":r=Bt(this,s);break;case"quarter":r=Bt(this,s)/3;break;case"second":r=(this-s)/1e3;break;case"minute":r=(this-s)/6e4;break;case"hour":r=(this-s)/36e5;break;case"day":r=(this-s-i)/864e5;break;case"week":r=(this-s-i)/6048e5;break;default:r=this-s}return n?r:v(r)},dn.endOf=function(e){return void 0===(e=L(e))||"millisecond"===e?this:("date"===e&&(e="day"),this.startOf(e).add(1,"isoWeek"===e?"week":e).subtract(1,"ms"))},dn.format=function(e){e||(e=this.isUtc()?n.defaultFormatUtc:n.defaultFormat);var t=I(this,e);return this.localeData().postformat(t)},dn.from=function(e,t){return this.isValid()&&(p(e)&&e.isValid()||Tt(e).isValid())?It({to:this,from:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()},dn.fromNow=function(e){return this.from(Tt(),e)},dn.to=function(e,t){return this.isValid()&&(p(e)&&e.isValid()||Tt(e).isValid())?It({from:this,to:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()},dn.toNow=function(e){return this.to(Tt(),e)},dn.get=function(e){return x(this[e=L(e)])?this[e]():this},dn.invalidAt=function(){return c(this).overflow},dn.isAfter=function(e,t){var n=p(e)?e:Tt(e);return!(!this.isValid()||!n.isValid())&&("millisecond"===(t=L(r(t)?"millisecond":t))?this.valueOf()>n.valueOf():n.valueOf()<this.clone().startOf(t).valueOf())},dn.isBefore=function(e,t){var n=p(e)?e:Tt(e);return!(!this.isValid()||!n.isValid())&&("millisecond"===(t=L(r(t)?"millisecond":t))?this.valueOf()<n.valueOf():this.clone().endOf(t).valueOf()<n.valueOf())},dn.isBetween=function(e,t,n,s){return("("===(s=s||"()")[0]?this.isAfter(e,n):!this.isBefore(e,n))&&(")"===s[1]?this.isBefore(t,n):!this.isAfter(t,n))},dn.isSame=function(e,t){var n,s=p(e)?e:Tt(e);return!(!this.isValid()||!s.isValid())&&("millisecond"===(t=L(t||"millisecond"))?this.valueOf()===s.valueOf():(n=s.valueOf(),this.clone().startOf(t).valueOf()<=n&&n<=this.clone().endOf(t).valueOf()))},dn.isSameOrAfter=function(e,t){return this.isSame(e,t)||this.isAfter(e,t)},dn.isSameOrBefore=function(e,t){return this.isSame(e,t)||this.isBefore(e,t)},dn.isValid=function(){return f(this)},dn.lang=Xt,dn.locale=Qt,dn.localeData=Kt,dn.max=bt,dn.min=xt,dn.parsingFlags=function(){return l({},c(this))},dn.set=function(e,t){if("object"==typeof e)for(var n=function(e){var t=[];for(var n in e)t.push({unit:n,priority:R[n]});return t.sort(function(e,t){return e.priority-t.priority}),t}(e=F(e)),s=0;s<n.length;s++)this[n[s].unit](e[n[s].unit]);else if(x(this[e=L(e)]))return this[e](t);return this},dn.startOf=function(e){switch(e=L(e)){case"year":this.month(0);case"quarter":case"month":this.date(1);case"week":case"isoWeek":case"day":case"date":this.hours(0);case"hour":this.minutes(0);case"minute":this.seconds(0);case"second":this.milliseconds(0)}return"week"===e&&this.weekday(0),"isoWeek"===e&&this.isoWeekday(1),"quarter"===e&&this.month(3*Math.floor(this.month()/3)),this},dn.subtract=qt,dn.toArray=function(){var e=this;return[e.year(),e.month(),e.date(),e.hour(),e.minute(),e.second(),e.millisecond()]},dn.toObject=function(){var e=this;return{years:e.year(),months:e.month(),date:e.date(),hours:e.hours(),minutes:e.minutes(),seconds:e.seconds(),milliseconds:e.milliseconds()}},dn.toDate=function(){return new Date(this.valueOf())},dn.toISOString=function(e){if(!this.isValid())return null;var t=!0!==e,n=t?this.clone().utc():this;return n.year()<0||n.year()>9999?I(n,t?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):x(Date.prototype.toISOString)?t?this.toDate().toISOString():new Date(this._d.valueOf()).toISOString().replace("Z",I(n,"Z")):I(n,t?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")},dn.inspect=function(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var e="moment",t="";this.isLocal()||(e=0===this.utcOffset()?"moment.utc":"moment.parseZone",t="Z");var n="["+e+'("]',s=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",i=t+'[")]';return this.format(n+s+"-MM-DD[T]HH:mm:ss.SSS"+i)},dn.toJSON=function(){return this.isValid()?this.toISOString():null},dn.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},dn.unix=function(){return Math.floor(this.valueOf()/1e3)},dn.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},dn.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},dn.year=Oe,dn.isLeapYear=function(){return Ye(this.year())},dn.weekYear=function(e){return tn.call(this,e,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)},dn.isoWeekYear=function(e){return tn.call(this,e,this.isoWeek(),this.isoWeekday(),1,4)},dn.quarter=dn.quarters=function(e){return null==e?Math.ceil((this.month()+1)/3):this.month(3*(e-1)+this.month()%3)},dn.month=Re,dn.daysInMonth=function(){return Pe(this.year(),this.month())},dn.week=dn.weeks=function(e){var t=this.localeData().week(this);return null==e?t:this.add(7*(e-t),"d")},dn.isoWeek=dn.isoWeeks=function(e){var t=Ae(this,1,4).week;return null==e?t:this.add(7*(e-t),"d")},dn.weeksInYear=function(){var e=this.localeData()._week;return Ie(this.year(),e.dow,e.doy)},dn.isoWeeksInYear=function(){return Ie(this.year(),1,4)},dn.date=nn,dn.day=dn.days=function(e){if(!this.isValid())return null!=e?this:NaN;var t,n,s=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=e?(t=e,n=this.localeData(),e="string"!=typeof t?t:isNaN(t)?"number"==typeof(t=n.weekdaysParse(t))?t:null:parseInt(t,10),this.add(e-s,"d")):s},dn.weekday=function(e){if(!this.isValid())return null!=e?this:NaN;var t=(this.day()+7-this.localeData()._week.dow)%7;return null==e?t:this.add(e-t,"d")},dn.isoWeekday=function(e){if(!this.isValid())return null!=e?this:NaN;if(null!=e){var t=(n=e,s=this.localeData(),"string"==typeof n?s.weekdaysParse(n)%7||7:isNaN(n)?null:n);return this.day(this.day()%7?t:t-7)}return this.day()||7;var n,s},dn.dayOfYear=function(e){var t=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==e?t:this.add(e-t,"d")},dn.hour=dn.hours=tt,dn.minute=dn.minutes=sn,dn.second=dn.seconds=an,dn.millisecond=dn.milliseconds=un,dn.utcOffset=function(e,t,s){var i,r=this._offset||0;if(!this.isValid())return null!=e?this:NaN;if(null!=e){if("string"==typeof e){if(null===(e=Ut(re,e)))return this}else Math.abs(e)<16&&!s&&(e*=60);return!this._isUTC&&t&&(i=Gt(this)),this._offset=e,this._isUTC=!0,null!=i&&this.add(i,"m"),r!==e&&(!t||this._changeInProgress?Jt(this,It(e-r,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,n.updateOffset(this,!0),this._changeInProgress=null)),this}return this._isUTC?r:Gt(this)},dn.utc=function(e){return this.utcOffset(0,e)},dn.local=function(e){return this._isUTC&&(this.utcOffset(0,e),this._isUTC=!1,e&&this.subtract(Gt(this),"m")),this},dn.parseZone=function(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if("string"==typeof this._i){var e=Ut(ie,this._i);null!=e?this.utcOffset(e):this.utcOffset(0,!0)}return this},dn.hasAlignedHourOffset=function(e){return!!this.isValid()&&(e=e?Tt(e).utcOffset():0,(this.utcOffset()-e)%60==0)},dn.isDST=function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},dn.isLocal=function(){return!!this.isValid()&&!this._isUTC},dn.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},dn.isUtc=Vt,dn.isUTC=Vt,dn.zoneAbbr=function(){return this._isUTC?"UTC":""},dn.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},dn.dates=Y("dates accessor is deprecated. Use date instead.",nn),dn.months=Y("months accessor is deprecated. Use month instead",Re),dn.years=Y("years accessor is deprecated. Use year instead",Oe),dn.zone=Y("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",function(e,t){return null!=e?("string"!=typeof e&&(e=-e),this.utcOffset(e,t),this):-this.utcOffset()}),dn.isDSTShifted=Y("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",function(){if(!r(this._isDSTShifted))return this._isDSTShifted;var e={};if(y(e,this),(e=kt(e))._a){var t=e._isUTC?h(e._a):Tt(e._a);this._isDSTShifted=this.isValid()&&S(e._a,t.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted});var hn=P.prototype;function cn(e,t,n,s){var i=dt(),r=h().set(s,t);return i[n](r,e)}function fn(e,t,n){if(a(e)&&(t=e,e=void 0),e=e||"",null!=t)return cn(e,t,n,"month");var s,i=[];for(s=0;s<12;s++)i[s]=cn(e,s,n,"month");return i}function mn(e,t,n,s){"boolean"==typeof e?(a(t)&&(n=t,t=void 0),t=t||""):(n=t=e,e=!1,a(t)&&(n=t,t=void 0),t=t||"");var i,r=dt(),o=e?r._week.dow:0;if(null!=n)return cn(t,(n+o)%7,s,"day");var u=[];for(i=0;i<7;i++)u[i]=cn(t,(i+o)%7,s,"day");return u}hn.calendar=function(e,t,n){var s=this._calendar[e]||this._calendar.sameElse;return x(s)?s.call(t,n):s},hn.longDateFormat=function(e){var t=this._longDateFormat[e],n=this._longDateFormat[e.toUpperCase()];return t||!n?t:(this._longDateFormat[e]=n.replace(/MMMM|MM|DD|dddd/g,function(e){return e.slice(1)}),this._longDateFormat[e])},hn.invalidDate=function(){return this._invalidDate},hn.ordinal=function(e){return this._ordinal.replace("%d",e)},hn.preparse=ln,hn.postformat=ln,hn.relativeTime=function(e,t,n,s){var i=this._relativeTime[n];return x(i)?i(e,t,n,s):i.replace(/%d/i,e)},hn.pastFuture=function(e,t){var n=this._relativeTime[e>0?"future":"past"];return x(n)?n(t):n.replace(/%s/i,t)},hn.set=function(e){var t,n;for(n in e)x(t=e[n])?this[n]=t:this["_"+n]=t;this._config=e,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)},hn.months=function(e,t){return e?s(this._months)?this._months[e.month()]:this._months[(this._months.isFormat||We).test(t)?"format":"standalone"][e.month()]:s(this._months)?this._months:this._months.standalone},hn.monthsShort=function(e,t){return e?s(this._monthsShort)?this._monthsShort[e.month()]:this._monthsShort[We.test(t)?"format":"standalone"][e.month()]:s(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},hn.monthsParse=function(e,t,n){var s,i,r;if(this._monthsParseExact)return function(e,t,n){var s,i,r,a=e.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],s=0;s<12;++s)r=h([2e3,s]),this._shortMonthsParse[s]=this.monthsShort(r,"").toLocaleLowerCase(),this._longMonthsParse[s]=this.months(r,"").toLocaleLowerCase();return n?"MMM"===t?-1!==(i=ke.call(this._shortMonthsParse,a))?i:null:-1!==(i=ke.call(this._longMonthsParse,a))?i:null:"MMM"===t?-1!==(i=ke.call(this._shortMonthsParse,a))?i:-1!==(i=ke.call(this._longMonthsParse,a))?i:null:-1!==(i=ke.call(this._longMonthsParse,a))?i:-1!==(i=ke.call(this._shortMonthsParse,a))?i:null}.call(this,e,t,n);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),s=0;s<12;s++){if(i=h([2e3,s]),n&&!this._longMonthsParse[s]&&(this._longMonthsParse[s]=new RegExp("^"+this.months(i,"").replace(".","")+"$","i"),this._shortMonthsParse[s]=new RegExp("^"+this.monthsShort(i,"").replace(".","")+"$","i")),n||this._monthsParse[s]||(r="^"+this.months(i,"")+"|^"+this.monthsShort(i,""),this._monthsParse[s]=new RegExp(r.replace(".",""),"i")),n&&"MMMM"===t&&this._longMonthsParse[s].test(e))return s;if(n&&"MMM"===t&&this._shortMonthsParse[s].test(e))return s;if(!n&&this._monthsParse[s].test(e))return s}},hn.monthsRegex=function(e){return this._monthsParseExact?(d(this,"_monthsRegex")||Ne.call(this),e?this._monthsStrictRegex:this._monthsRegex):(d(this,"_monthsRegex")||(this._monthsRegex=Ue),this._monthsStrictRegex&&e?this._monthsStrictRegex:this._monthsRegex)},hn.monthsShortRegex=function(e){return this._monthsParseExact?(d(this,"_monthsRegex")||Ne.call(this),e?this._monthsShortStrictRegex:this._monthsShortRegex):(d(this,"_monthsShortRegex")||(this._monthsShortRegex=Ce),this._monthsShortStrictRegex&&e?this._monthsShortStrictRegex:this._monthsShortRegex)},hn.week=function(e){return Ae(e,this._week.dow,this._week.doy).week},hn.firstDayOfYear=function(){return this._week.doy},hn.firstDayOfWeek=function(){return this._week.dow},hn.weekdays=function(e,t){return e?s(this._weekdays)?this._weekdays[e.day()]:this._weekdays[this._weekdays.isFormat.test(t)?"format":"standalone"][e.day()]:s(this._weekdays)?this._weekdays:this._weekdays.standalone},hn.weekdaysMin=function(e){return e?this._weekdaysMin[e.day()]:this._weekdaysMin},hn.weekdaysShort=function(e){return e?this._weekdaysShort[e.day()]:this._weekdaysShort},hn.weekdaysParse=function(e,t,n){var s,i,r;if(this._weekdaysParseExact)return function(e,t,n){var s,i,r,a=e.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],s=0;s<7;++s)r=h([2e3,1]).day(s),this._minWeekdaysParse[s]=this.weekdaysMin(r,"").toLocaleLowerCase(),this._shortWeekdaysParse[s]=this.weekdaysShort(r,"").toLocaleLowerCase(),this._weekdaysParse[s]=this.weekdays(r,"").toLocaleLowerCase();return n?"dddd"===t?-1!==(i=ke.call(this._weekdaysParse,a))?i:null:"ddd"===t?-1!==(i=ke.call(this._shortWeekdaysParse,a))?i:null:-1!==(i=ke.call(this._minWeekdaysParse,a))?i:null:"dddd"===t?-1!==(i=ke.call(this._weekdaysParse,a))?i:-1!==(i=ke.call(this._shortWeekdaysParse,a))?i:-1!==(i=ke.call(this._minWeekdaysParse,a))?i:null:"ddd"===t?-1!==(i=ke.call(this._shortWeekdaysParse,a))?i:-1!==(i=ke.call(this._weekdaysParse,a))?i:-1!==(i=ke.call(this._minWeekdaysParse,a))?i:null:-1!==(i=ke.call(this._minWeekdaysParse,a))?i:-1!==(i=ke.call(this._weekdaysParse,a))?i:-1!==(i=ke.call(this._shortWeekdaysParse,a))?i:null}.call(this,e,t,n);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),s=0;s<7;s++){if(i=h([2e3,1]).day(s),n&&!this._fullWeekdaysParse[s]&&(this._fullWeekdaysParse[s]=new RegExp("^"+this.weekdays(i,"").replace(".",".?")+"$","i"),this._shortWeekdaysParse[s]=new RegExp("^"+this.weekdaysShort(i,"").replace(".",".?")+"$","i"),this._minWeekdaysParse[s]=new RegExp("^"+this.weekdaysMin(i,"").replace(".",".?")+"$","i")),this._weekdaysParse[s]||(r="^"+this.weekdays(i,"")+"|^"+this.weekdaysShort(i,"")+"|^"+this.weekdaysMin(i,""),this._weekdaysParse[s]=new RegExp(r.replace(".",""),"i")),n&&"dddd"===t&&this._fullWeekdaysParse[s].test(e))return s;if(n&&"ddd"===t&&this._shortWeekdaysParse[s].test(e))return s;if(n&&"dd"===t&&this._minWeekdaysParse[s].test(e))return s;if(!n&&this._weekdaysParse[s].test(e))return s}},hn.weekdaysRegex=function(e){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||Be.call(this),e?this._weekdaysStrictRegex:this._weekdaysRegex):(d(this,"_weekdaysRegex")||(this._weekdaysRegex=Je),this._weekdaysStrictRegex&&e?this._weekdaysStrictRegex:this._weekdaysRegex)},hn.weekdaysShortRegex=function(e){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||Be.call(this),e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(d(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=$e),this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},hn.weekdaysMinRegex=function(e){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||Be.call(this),e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(d(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=qe),this._weekdaysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},hn.isPM=function(e){return"p"===(e+"").toLowerCase().charAt(0)},hn.meridiem=function(e,t,n){return e>11?n?"pm":"PM":n?"am":"AM"},ot("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10;return e+(1===w(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th")}}),n.lang=Y("moment.lang is deprecated. Use moment.locale instead.",ot),n.langData=Y("moment.langData is deprecated. Use moment.localeData instead.",dt);var _n=Math.abs;function yn(e,t,n,s){var i=It(t,n);return e._milliseconds+=s*i._milliseconds,e._days+=s*i._days,e._months+=s*i._months,e._bubble()}function gn(e){return e<0?Math.floor(e):Math.ceil(e)}function Mn(e){return 4800*e/146097}function pn(e){return 146097*e/4800}function vn(e){return function(){return this.as(e)}}var wn=vn("ms"),Sn=vn("s"),Dn=vn("m"),Yn=vn("h"),kn=vn("d"),On=vn("w"),Tn=vn("M"),xn=vn("y");function bn(e){return function(){return this.isValid()?this._data[e]:NaN}}var Pn=bn("milliseconds"),Wn=bn("seconds"),Hn=bn("minutes"),Ln=bn("hours"),Fn=bn("days"),Rn=bn("months"),Cn=bn("years");var Un=Math.round,Nn={ss:44,s:45,m:45,h:22,d:26,M:11};var Gn=Math.abs;function Vn(e){return(e>0)-(e<0)||+e}function En(){if(!this.isValid())return this.localeData().invalidDate();var e,t,n=Gn(this._milliseconds)/1e3,s=Gn(this._days),i=Gn(this._months);t=v((e=v(n/60))/60),n%=60,e%=60;var r=v(i/12),a=i%=12,o=s,u=t,d=e,l=n?n.toFixed(3).replace(/\.?0+$/,""):"",h=this.asSeconds();if(!h)return"P0D";var c=h<0?"-":"",f=Vn(this._months)!==Vn(h)?"-":"",m=Vn(this._days)!==Vn(h)?"-":"",_=Vn(this._milliseconds)!==Vn(h)?"-":"";return c+"P"+(r?f+r+"Y":"")+(a?f+a+"M":"")+(o?m+o+"D":"")+(u||d||l?"T":"")+(u?_+u+"H":"")+(d?_+d+"M":"")+(l?_+l+"S":"")}var An=Ht.prototype;function In(e,t,n,s){var i={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[e+" Tage",e+" Tagen"],M:["ein Monat","einem Monat"],MM:[e+" Monate",e+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[e+" Jahre",e+" Jahren"]};return t?i[n][0]:i[n][1]}return An.isValid=function(){return this._isValid},An.abs=function(){var e=this._data;return this._milliseconds=_n(this._milliseconds),this._days=_n(this._days),this._months=_n(this._months),e.milliseconds=_n(e.milliseconds),e.seconds=_n(e.seconds),e.minutes=_n(e.minutes),e.hours=_n(e.hours),e.months=_n(e.months),e.years=_n(e.years),this},An.add=function(e,t){return yn(this,e,t,1)},An.subtract=function(e,t){return yn(this,e,t,-1)},An.as=function(e){if(!this.isValid())return NaN;var t,n,s=this._milliseconds;if("month"===(e=L(e))||"year"===e)return t=this._days+s/864e5,n=this._months+Mn(t),"month"===e?n:n/12;switch(t=this._days+Math.round(pn(this._months)),e){case"week":return t/7+s/6048e5;case"day":return t+s/864e5;case"hour":return 24*t+s/36e5;case"minute":return 1440*t+s/6e4;case"second":return 86400*t+s/1e3;case"millisecond":return Math.floor(864e5*t)+s;default:throw new Error("Unknown unit "+e)}},An.asMilliseconds=wn,An.asSeconds=Sn,An.asMinutes=Dn,An.asHours=Yn,An.asDays=kn,An.asWeeks=On,An.asMonths=Tn,An.asYears=xn,An.valueOf=function(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*w(this._months/12):NaN},An._bubble=function(){var e,t,n,s,i,r=this._milliseconds,a=this._days,o=this._months,u=this._data;return r>=0&&a>=0&&o>=0||r<=0&&a<=0&&o<=0||(r+=864e5*gn(pn(o)+a),a=0,o=0),u.milliseconds=r%1e3,e=v(r/1e3),u.seconds=e%60,t=v(e/60),u.minutes=t%60,n=v(t/60),u.hours=n%24,o+=i=v(Mn(a+=v(n/24))),a-=gn(pn(i)),s=v(o/12),o%=12,u.days=a,u.months=o,u.years=s,this},An.clone=function(){return It(this)},An.get=function(e){return e=L(e),this.isValid()?this[e+"s"]():NaN},An.milliseconds=Pn,An.seconds=Wn,An.minutes=Hn,An.hours=Ln,An.days=Fn,An.weeks=function(){return v(this.days()/7)},An.months=Rn,An.years=Cn,An.humanize=function(e){if(!this.isValid())return this.localeData().invalidDate();var t,n,s,i,r,a,o,u,d,l,h,c=this.localeData(),f=(n=!e,s=c,i=It(t=this).abs(),r=Un(i.as("s")),a=Un(i.as("m")),o=Un(i.as("h")),u=Un(i.as("d")),d=Un(i.as("M")),l=Un(i.as("y")),(h=r<=Nn.ss&&["s",r]||r<Nn.s&&["ss",r]||a<=1&&["m"]||a<Nn.m&&["mm",a]||o<=1&&["h"]||o<Nn.h&&["hh",o]||u<=1&&["d"]||u<Nn.d&&["dd",u]||d<=1&&["M"]||d<Nn.M&&["MM",d]||l<=1&&["y"]||["yy",l])[2]=n,h[3]=+t>0,h[4]=s,function(e,t,n,s,i){return i.relativeTime(t||1,!!n,e,s)}.apply(null,h));return e&&(f=c.pastFuture(+this,f)),c.postformat(f)},An.toISOString=En,An.toString=En,An.toJSON=En,An.locale=Qt,An.localeData=Kt,An.toIsoString=Y("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",En),An.lang=Xt,A("X",0,0,"unix"),A("x",0,0,"valueOf"),ue("x",se),ue("X",/[+-]?\d+(\.\d{1,3})?/),ce("X",function(e,t,n){n._d=new Date(1e3*parseFloat(e,10))}),ce("x",function(e,t,n){n._d=new Date(w(e))}),n.version="2.20.1",e=Tt,n.fn=dn,n.min=function(){return Pt("isBefore",[].slice.call(arguments,0))},n.max=function(){return Pt("isAfter",[].slice.call(arguments,0))},n.now=function(){return Date.now?Date.now():+new Date},n.utc=h,n.unix=function(e){return Tt(1e3*e)},n.months=function(e,t){return fn(e,t,"months")},n.isDate=o,n.locale=ot,n.invalid=m,n.duration=It,n.isMoment=p,n.weekdays=function(e,t,n){return mn(e,t,n,"weekdays")},n.parseZone=function(){return Tt.apply(null,arguments).parseZone()},n.localeData=dt,n.isDuration=Lt,n.monthsShort=function(e,t){return fn(e,t,"monthsShort")},n.weekdaysMin=function(e,t,n){return mn(e,t,n,"weekdaysMin")},n.defineLocale=ut,n.updateLocale=function(e,t){if(null!=t){var n,s,i=nt;null!=(s=at(e))&&(i=s._config),(n=new P(t=b(i,t))).parentLocale=st[e],st[e]=n,ot(e)}else null!=st[e]&&(null!=st[e].parentLocale?st[e]=st[e].parentLocale:null!=st[e]&&delete st[e]);return st[e]},n.locales=function(){return k(st)},n.weekdaysShort=function(e,t,n){return mn(e,t,n,"weekdaysShort")},n.normalizeUnits=L,n.relativeTimeRounding=function(e){return void 0===e?Un:"function"==typeof e&&(Un=e,!0)},n.relativeTimeThreshold=function(e,t){return void 0!==Nn[e]&&(void 0===t?Nn[e]:(Nn[e]=t,"s"===e&&(Nn.ss=t-1),!0))},n.calendarFormat=function(e,t){var n=e.diff(t,"days",!0);return n<-6?"sameElse":n<-1?"lastWeek":n<0?"lastDay":n<1?"sameDay":n<2?"nextDay":n<7?"nextWeek":"sameElse"},n.prototype=dn,n.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"YYYY-[W]WW",MONTH:"YYYY-MM"},n.defineLocale("de",{months:"Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:In,mm:"%d Minuten",h:In,hh:"%d Stunden",d:In,dd:In,M:In,MM:In,y:In,yy:In},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),n.locale("en"),n}); 99//Locale Spanish 100!function(e,o){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?o(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],o):o(e.moment)}(this,function(e){"use strict";var o="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),n="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),a=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],i=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;return e.defineLocale("es",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(e,a){return e?/-MMM-/.test(a)?n[e.month()]:o[e.month()]:o},monthsRegex:i,monthsShortRegex:i,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:a,longMonthsParse:a,shortMonthsParse:a,weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[mañana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%
100d horas",d:"un dÃÂa",dd:"%d dÃÂas",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4},invalidDate:"Fecha invalida"})}); 101 102 103 $(document).ready(function() { 104 /*! 105 * Bootstrap v3.2.0 (http://getbootstrap.com) 106 * Copyright 2011-2014 Twitter, Inc. 107 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) 108 */ 109 if(!$(".com_elixir_stacks_foundry_stack").length) { 110
vendor: 31,650 bytes, line 110
110if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.2.0",d.prototype.close=function(b){function c(){f.detach().trigger("closed.bs.alert").remove()}var d=a(this),e=d.attr("data-target");e||(e=d.attr("href"),e=e&&e.replace(/.*(?=#[^\s]*$)/,""));var f=a(e);b&&b.preventDefault(),f.length||(f=d.hasClass("alert")?d:d.parent()),f.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one("bsTransitionEnd",c).emulateTransitionEnd(150):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.2.0",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),d[e](null==f[b]?this.options[b]:f[b]),setTimeout(a.proxy(function(){"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")&&(c.prop("checked")&&this.$element.hasClass("active")?a=!1:b.find(".active").removeClass("active")),a&&c.prop("checked",!this.$element.hasClass("active")).trigger("change")}a&&this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),c.preventDefault()})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b).on("keydown.bs.carousel",a.proxy(this.keydown,this)),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=this.sliding=this.interval=this.$active=this.$items=null,"hover"==this.options.pause&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.2.0",c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0},c.prototype.keydown=function(a){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.to=function(b){var c=this,d=this.getItemIndex(this.$active=this.$element.find(".item.active"));return b>this.$items.length-1||0>b?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){c.to(b)}):d==b?this.pause().cycle():this.slide(b>d?"next":"prev",a(this.$items[b]))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,c){var d=this.$element.find(".item.active"),e=c||d[b](),f=this.interval,g="next"==b?"left":"right",h="next"==b?"first":"last",i=this;if(!e.length){if(!this.options.wrap)return;e=this.$element.find(".item")[h]()}if(e.hasClass("active"))return this.sliding=!1;var j=e[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:g});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,f&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(e)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:g});return a.support.transition&&this.$element.hasClass("slide")?(e.addClass(b),e[0].offsetWidth,d.addClass(g),e.addClass(g),d.one("bsTransitionEnd",function(){e.removeClass([b,g].join(" ")).addClass("active"),d.removeClass(["active",g].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(1e3*d.css("transition-duration").slice(0,-1))):(d.removeClass("active"),e.addClass("active"),this.sliding=!1,this.$element.trigger(m)),f&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this},a(document).on("click.bs.carousel.data-api","[data-slide], [data-slide-to]",function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}}),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.collapse"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b);!e&&f.toggle&&"show"==b&&(b=!b),e||d.data("bs.collapse",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.transitioning=null,this.options.parent&&(this.$parent=a(this.options.parent)),this.options.toggle&&this.toggle()};c.VERSION="3.2.0",c.DEFAULTS={toggle:!0},c.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},c.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var c=a.Event("show.bs.collapse");if(this.$element.trigger(c),!c.isDefaultPrevented()){var d=this.$parent&&this.$parent.find("> .panel > .in");if(d&&d.length){var e=d.data("bs.collapse");if(e&&e.transitioning)return;b.call(d,"hide"),e||d.data("bs.collapse",null)}var f=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[f](0),this.transitioning=1;var g=function(){this.$element.removeClass("collapsing").addClass("collapse in")[f](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return g.call(this);var h=a.camelCase(["scroll",f].join("-"));this.$element.one("bsTransitionEnd",a.proxy(g,this)).emulateTransitionEnd(350)[f](this.$element[0][h])}}},c.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse").removeClass("in"),this.transitioning=1;var d=function(){this.transitioning=0,this.$element.trigger("hidden.bs.collapse").removeClass("collapsing").addClass("collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(d,this)).emulateTransitionEnd(350):d.call(this)}}},c.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()};var d=a.fn.collapse;a.fn.collapse=b,a.fn.collapse.Constructor=c,a.fn.collapse.noConflict=function(){return a.fn.collapse=d,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(c){var d,e=a(this),f=e.attr("data-target")||c.preventDefault()||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""),g=a(f),h=g.data("bs.collapse"),i=h?"toggle":e.data(),j=e.attr("data-parent"),k=j&&a(j);h&&h.transitioning||(k&&k.find('[data-toggle="collapse"][data-parent="'+j+'"]').not(e).addClass("collapsed"),e[g.hasClass("in")?"addClass":"removeClass"]("collapsed")),b.call(g,i)})}(jQuery),+function(a){"use strict";function b(b){b&&3===b.which||(a(e).remove(),a(f).each(function(){var d=c(a(this)),e={relatedTarget:this};d.hasClass("open")&&(d.trigger(b=a.Event("hide.bs.dropdown",e)),b.isDefaultPrevented()||d.removeClass("open").trigger("hidden.bs.dropdown",e))}))}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.2.0",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a('<div class="dropdown-backdrop"/>').insertAfter(a(this)).on("click",b);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus"),f.toggleClass("open").trigger("shown.bs.dropdown",h)}return!1}},g.prototype.keydown=function(b){if(/(38|40|27)/.test(b.keyCode)){var d=a(this);if(b.preventDefault(),b.stopPropagation(),!d.is(".disabled, :disabled")){var e=c(d),g=e.hasClass("open");if(!g||g&&27==b.keyCode)return 27==b.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.divider):visible a",i=e.find('[role="menu"]'+h+', [role="listbox"]'+h);if(i.length){var j=i.index(i.filter(":focus"));38==b.keyCode&&j>0&&j--,40==b.keyCode&&j<i.length-1&&j++,~j||(j=0),i.eq(j).trigger("focus")}}}};var h=a.fn.dropdown;a.fn.dropdown=d,a.fn.dropdown.Constructor=g,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=h,this},a(document).on("click.bs.dropdown.data-api",b).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",f,g.prototype.toggle).on("keydown.bs.dropdown.data-api",f+', [role="menu"], [role="listbox"]',g.prototype.keydown)}(jQuery),+function(a){"use strict";function b(b,d){return this.each(function(){var e=a(this),f=e.data("bs.modal"),g=a.extend({},c.DEFAULTS,e.data(),"object"==typeof b&&b);f||e.data("bs.modal",f=new c(this,g)),"string"==typeof b?f[b](d):g.show&&f.show(d)})}var c=function(b,c){this.options=c,this.$body=a(document.body),this.$element=a(b),this.$backdrop=this.isShown=null,this.scrollbarWidth=0,this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,a.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};c.VERSION="3.2.0",c.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},c.prototype.toggle=function(a){return this.isShown?this.hide():this.show(a)},c.prototype.show=function(b){var c=this,d=a.Event("show.bs.modal",{relatedTarget:b});this.$element.trigger(d),this.isShown||d.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.$body.addClass("modal-open"),this.setScrollbar(),this.escape(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.backdrop(function(){var d=a.support.transition&&c.$element.hasClass("fade");c.$element.parent().length||c.$element.appendTo(c.$body),c.$element.show().scrollTop(0),d&&c.$element[0].offsetWidth,c.$element.addClass("in").attr("aria-hidden",!1),c.enforceFocus();var e=a.Event("shown.bs.modal",{relatedTarget:b});d?c.$element.find(".modal-dialog").one("bsTransitionEnd",function(){c.$element.trigger("focus").trigger(e)}).emulateTransitionEnd(300):c.$element.trigger("focus").trigger(e)}))},c.prototype.hide=function(b){b&&b.preventDefault(),b=a.Event("hide.bs.modal"),this.$element.trigger(b),this.isShown&&!b.isDefaultPrevented()&&(this.isShown=!1,this.$body.removeClass("modal-open"),this.resetScrollbar(),this.escape(),a(document).off("focusin.bs.modal"),this.$element.removeClass("in").attr("aria-hidden",!0).off("click.dismiss.bs.modal"),a.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",a.proxy(this.hideModal,this)).emulateTransitionEnd(300):this.hideModal())},c.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(a){this.$element[0]===a.target||this.$element.has(a.target).length||this.$element.trigger("focus")},this))},c.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keyup.dismiss.bs.modal",a.proxy(function(a){27==a.which&&this.hide()},this)):this.isShown||this.$element.off("keyup.dismiss.bs.modal")},c.prototype.hideModal=function(){var a=this;this.$element.hide(),this.backdrop(function(){a.$element.trigger("hidden.bs.modal")})},c.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},c.prototype.backdrop=function(b){var c=this,d=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var e=a.support.transition&&d;if(this.$backdrop=a('<div class="modal-backdrop '+d+'" />').appendTo(this.$body),this.$element.on("click.dismiss.bs.modal",a.proxy(function(a){a.target===a.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus.call(this.$element[0]):this.hide.call(this))},this)),e&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!b)return;e?this.$backdrop.one("bsTransitionEnd",b).emulateTransitionEnd(150):b()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var f=function(){c.removeBackdrop(),b&&b()};a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",f).emulateTransitionEnd(150):f()}else b&&b()},c.prototype.checkScrollbar=function(){document.body.clientWidth>=window.innerWidth||(this.scrollbarWidth=this.scrollbarWidth||this.measureScrollbar())},c.prototype.setScrollbar=function(){var a=parseInt(this.$body.css("padding-right")||0,10);this.scrollbarWidth&&this.$body.css("padding-right",a+this.scrollbarWidth)},c.prototype.resetScrollbar=function(){this.$body.css("padding-right","")},c.prototype.measureScrollbar=function(){var a=document.createElement("div");a.className="modal-scrollbar-measure",this.$body.append(a);var b=a.offsetWidth-a.clientWidth;return this.$body[0].removeChild(a),b};var d=a.fn.modal;a.fn.modal=b,a.fn.modal.Constructor=c,a.fn.modal.noConflict=function(){return a.fn.modal=d,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(c){var d=a(this),e=d.attr("href"),f=a(d.attr("data-target")||e&&e.replace(/.*(?=#[^\s]+$)/,"")),g=f.data("bs.modal")?"toggle":a.extend({remote:!/#/.test(e)&&e},f.data(),d.data());d.is("a")&&c.preventDefault(),f.one("show.bs.modal",function(a){a.isDefaultPrevented()||f.one("hidden.bs.modal",function(){d.is(":visible")&&d.trigger("focus")})}),b.call(f,g,this)})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tooltip"),f="object"==typeof b&&b;(e||"destroy"!=b)&&(e||d.data("bs.tooltip",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.type=this.options=this.enabled=this.timeout=this.hoverState=this.$element=null,this.init("tooltip",a,b)};c.VERSION="3.2.0",c.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(this.options.viewport.selector||this.options.viewport);for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show()},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide()},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var c=a.contains(document.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!c)return;var d=this,e=this.tip(),f=this.getUID(this.type);this.setContent(),e.attr("id",f),this.$element.attr("aria-describedby",f),this.options.animation&&e.addClass("fade");var g="function"==typeof this.options.placement?this.options.placement.call(this,e[0],this.$element[0]):this.options.placement,h=/\s?auto?\s?/i,i=h.test(g);i&&(g=g.replace(h,"")||"top"),e.detach().css({top:0,left:0,display:"block"}).addClass(g).data("bs."+this.type,this),this.options.container?e.appendTo(this.options.container):e.insertAfter(this.$element);var j=this.getPosition(),k=e[0].offsetWidth,l=e[0].offsetHeight;if(i){var m=g,n=this.$element.parent(),o=this.getPosition(n);g="bottom"==g&&j.top+j.height+l-o.scroll>o.height?"top":"top"==g&&j.top-o.scroll-l<0?"bottom":"right"==g&&j.right+k>o.width?"left":"left"==g&&j.left-k<o.left?"right":g,e.removeClass(m).addClass(g)}var p=this.getCalculatedOffset(g,j,k,l);this.applyPlacement(p,g);var q=function(){d.$element.trigger("shown.bs."+d.type),d.hoverState=null};a.support.transition&&this.$tip.hasClass("fade")?e.one("bsTransitionEnd",q).emulateTransitionEnd(150):q()}},c.prototype.applyPlacement=function(b,c){var d=this.tip(),e=d[0].offsetWidth,f=d[0].offsetHeight,g=parseInt(d.css("margin-top"),10),h=parseInt(d.css("margin-left"),10);isNaN(g)&&(g=0),isNaN(h)&&(h=0),b.top=b.top+g,b.left=b.left+h,a.offset.setOffset(d[0],a.extend({using:function(a){d.css({top:Math.round(a.top),left:Math.round(a.left)})}},b),0),d.addClass("in");var i=d[0].offsetWidth,j=d[0].offsetHeight;"top"==c&&j!=f&&(b.top=b.top+f-j);var k=this.getViewportAdjustedDelta(c,b,i,j);k.left?b.left+=k.left:b.top+=k.top;var l=k.left?2*k.left-e+i:2*k.top-f+j,m=k.left?"left":"top",n=k.left?"offsetWidth":"offsetHeight";d.offset(b),this.replaceArrow(l,d[0][n],m)},c.prototype.replaceArrow=function(a,b,c){this.arrow().css(c,a?50*(1-a/b)+"%":"")},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},c.prototype.hide=function(){function b(){"in"!=c.hoverState&&d.detach(),c.$element.trigger("hidden.bs."+c.type)}var c=this,d=this.tip(),e=a.Event("hide.bs."+this.type);return this.$element.removeAttr("aria-describedby"),this.$element.trigger(e),e.isDefaultPrevented()?void 0:(d.removeClass("in"),a.support.transition&&this.$tip.hasClass("fade")?d.one("bsTransitionEnd",b).emulateTransitionEnd(150):b(),this.hoverState=null,this)},c.prototype.fixTitle=function(){var a=this.$element;(a.attr("title")||"string"!=typeof a.attr("data-original-title"))&&a.attr("data-original-title",a.attr("title")||"").attr("title","")},c.prototype.hasContent=function(){return this.getTitle()},c.prototype.getPosition=function(b){b=b||this.$element;var c=b[0],d="BODY"==c.tagName;return a.extend({},"function"==typeof c.getBoundingClientRect?c.getBoundingClientRect():null,{scroll:d?document.documentElement.scrollTop||document.body.scrollTop:b.scrollTop(),width:d?a(window).width():b.outerWidth(),height:d?a(window).height():b.outerHeight()},d?{top:0,left:0}:b.offset())},c.prototype.getCalculatedOffset=function(a,b,c,d){return"bottom"==a?{top:b.top+b.height,left:b.left+b.width/2-c/2}:"top"==a?{top:b.top-d,left:b.left+b.width/2-c/2}:"left"==a?{top:b.top+b.height/2-d/2,left:b.left-c}:{top:b.top+b.height/2-d/2,left:b.left+b.width}},c.prototype.getViewportAdjustedDelta=function(a,b,c,d){var e={top:0,left:0};if(!this.$viewport)return e;var f=this.options.viewport&&this.options.viewport.padding||0,g=this.getPosition(this.$viewport);if(/right|left/.test(a)){var h=b.top-f-g.scroll,i=b.top+f-g.scroll+d;h<g.top?e.top=g.top-h:i>g.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;j<g.left?e.left=g.left-j:k>g.width&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){return this.$tip=this.$tip||a(this.options.template)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.validate=function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){clearTimeout(this.timeout),this.hide().$element.off("."+this.type).removeData("bs."+this.type)};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;(e||"destroy"!=b)&&(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.2.0",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").empty()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")},c.prototype.tip=function(){return this.$tip||(this.$tip=a(this.options.template)),this.$tip};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){var e=a.proxy(this.process,this);this.$body=a("body"),this.$scrollElement=a(a(c).is("body")?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",e),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.2.0",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b="offset",c=0;a.isWindow(this.$scrollElement[0])||(b="position",c=this.$scrollElement.scrollTop()),this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight();var d=this;this.$body.find(this.selector).map(function(){var d=a(this),e=d.data("target")||d.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[b]().top+c,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){d.offsets.push(this[0]),d.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b<=e[0])return g!=(a=f[0])&&this.activate(a);for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(!e[a+1]||b<=e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){this.activeTarget=b,a(this.selector).parentsUntil(this.options.target,".active").removeClass("active");var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),d.trigger("activate.bs.scrollspy")};var d=a.fn.scrollspy;a.fn.scrollspy=c,a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=d,this},a(window).on("load.bs.scrollspy.data-api",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);c.call(b,b.data())})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new c(this)),"string"==typeof b&&e[b]()})}var c=function(b){this.element=a(b)};c.VERSION="3.2.0",c.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var e=c.find(".active:last a")[0],f=a.Event("show.bs.tab",{relatedTarget:e});if(b.trigger(f),!f.isDefaultPrevented()){var g=a(d);this.activate(b.closest("li"),c),this.activate(g,g.parent(),function(){b.trigger({type:"shown.bs.tab",relatedTarget:e})})}}},c.prototype.activate=function(b,c,d){function e(){f.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"),b.addClass("active"),g?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu")&&b.closest("li.dropdown").addClass("active"),d&&d()}var f=c.find("> .active"),g=d&&a.support.transition&&f.hasClass("fade");g?f.one("bsTransitionEnd",e).emulateTransitionEnd(150):e(),f.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this},a(document).on("click.bs.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(c){c.preventDefault(),b.call(a(this),"show")})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=this.unpin=this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.2.0",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=a(document).height(),d=this.$target.scrollTop(),e=this.$element.offset(),f=this.options.offset,g=f.top,h=f.bottom;"object"!=typeof f&&(h=g=f),"function"==typeof g&&(g=f.top(this.$element)),"function"==typeof h&&(h=f.bottom(this.$element));var i=null!=this.unpin&&d+this.unpin<=e.top?!1:null!=h&&e.top+this.$element.height()>=b-h?"bottom":null!=g&&g>=d?"top":!1;if(this.affixed!==i){null!=this.unpin&&this.$element.css("top","");var j="affix"+(i?"-"+i:""),k=a.Event(j+".bs.affix");this.$element.trigger(k),k.isDefaultPrevented()||(this.affixed=i,this.unpin="bottom"==i?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(j).trigger(a.Event(j.replace("affix","affixed"))),"bottom"==i&&this.$element.offset({top:b-this.$element.height()-h}))}}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},d.offsetBottom&&(d.offset.bottom=d.offsetBottom),d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery);
110 111 } 112 113/*! version : 4.7.14 114 ========================================================= 115 bootstrap-datetimejs 116 https://github.com/Eonasdan/bootstrap-datetimepicker 117 Copyright (c) 2015 Jonathan Peterson 118 ========================================================= 119 */ 120/* 121 The MIT License (MIT) 122 123 Copyright (c) 2015 Jonathan Peterson 124 125 Permission is hereby granted, free of charge, to any person obtaining a copy 126 of this software and associated documentation files (the "Software"), to deal 127 in the Software without restriction, including without limitation the rights 128 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 129 copies of the Software, and to permit persons to whom the Software is 130 furnished to do so, subject to the following conditions: 131 132 The above copyright notice and this permission notice shall be included in 133 all copies or substantial portions of the Software. 134 135 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 136 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 137 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 138 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 139 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 140 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 141 THE SOFTWARE. 142 */ 143/*global define:false */ 144/*global exports:false */ 145/*global require:false */ 146/*global jQuery:false */ 147/*global moment:false */ 148(function (factory) { 149 'use strict'; 150 if (typeof define === 'function' && define.amd) { 151 // AMD is used - Register as an anonymous module. 152 define(['jquery', 'moment'], factory); 153 } else if (typeof exports === 'object') { 154 factory(require('jquery'), require('moment')); 155 } else { 156 // Neither AMD nor CommonJS used. Use global variables. 157 if (typeof jQuery === 'undefined') { 158 throw 'bootstrap-datetimepicker requires jQuery to be loaded first'; 159 } 160 if (typeof moment === 'undefined') { 161 throw 'bootstrap-datetimepicker requires Moment.js to be loaded first'; 162 } 163 factory(jQuery, moment); 164 } 165}(function ($, moment) { 166 'use strict'; 167 if (!moment) { 168 throw new Error('bootstrap-datetimepicker requires Moment.js to be loaded first'); 169 } 170 171 var dateTimePicker = function (element, options) { 172 var picker = {}, 173 date = moment().startOf('d'), 174 viewDate = date.clone(), 175 unset = true, 176 input, 177 component = false, 178 widget = false, 179 use24Hours, 180 minViewModeNumber = 0, 181 actualFormat, 182 parseFormats, 183 currentViewMode, 184 datePickerModes = [ 185 { 186 clsName: 'days', 187 navFnc: 'M', 188 navStep: 1 189 }, 190 { 191 clsName: 'months', 192 navFnc: 'y', 193 navStep: 1 194 }, 195 { 196 clsName: 'years', 197 navFnc: 'y', 198 navStep: 10 199 } 200 ], 201 viewModes = ['days', 'months', 'years'], 202 verticalModes = ['top', 'bottom', 'auto'], 203 horizontalModes = ['left', 'right', 'auto'], 204 toolbarPlacements = ['default', 'top', 'bottom'], 205 keyMap = { 206 'up': 38, 207 38: 'up', 208 'down': 40, 209 40: 'down', 210 'left': 37, 211 37: 'left', 212 'right': 39, 213 39: 'right', 214 'tab': 9, 215 9: 'tab', 216 'escape': 27, 217 27: 'escape', 218 'enter': 13, 219 13: 'enter', 220 'pageUp': 33, 221 33: 'pageUp', 222 'pageDown': 34, 223 34: 'pageDown', 224 'shift': 16, 225 16: 'shift', 226 'control': 17, 227 17: 'control', 228 'space': 32, 229 32: 'space', 230 't': 84, 231 84: 't', 232 'delete': 46, 233 46: 'delete' 234 }, 235 keyState = {}, 236 237 /******************************************************************************** 238 * 239 * Private functions 240 * 241 ********************************************************************************/ 242 isEnabled = function (granularity) { 243 if (typeof granularity !== 'string' || granularity.length > 1) { 244 throw new TypeError('isEnabled expects a single character string parameter'); 245 } 246 switch (granularity) { 247 case 'y': 248 return actualFormat.indexOf('Y') !== -1; 249 case 'M': 250 return actualFormat.indexOf('M') !== -1; 251 case 'd': 252 return actualFormat.toLowerCase().indexOf('d') !== -1; 253 case 'h': 254 case 'H': 255 return actualFormat.toLowerCase().indexOf('h') !== -1; 256 case 'm': 257 return actualFormat.indexOf('m') !== -1; 258 case 's': 259 return actualFormat.indexOf('s') !== -1; 260 default: 261 return false;
262 } 263 }, 264 265 hasTime = function () { 266 return (isEnabled('h') || isEnabled('m') || isEnabled('s')); 267 }, 268 269 hasDate = function () { 270 return (isEnabled('y') || isEnabled('M') || isEnabled('d')); 271 }, 272 273 getDatePickerTemplate = function () { 274 var headTemplate = $('<thead>') 275 .append($('<tr>') 276 .append($('<th>').addClass('prev').attr('data-action', 'previous') 277 .html('<')//.addClass(options.icons.previous)) 278 ) 279 .append($('<th>').addClass('picker-switch').attr('data-action', 'pickerSwitch').attr('colspan', (options.calendarWeeks ? '6' : '5'))) 280 .append($('<th>').addClass('next').attr('data-action', 'next') 281 .html('>')//.addClass(options.icons.next)) 282 ) 283 ), 284 contTemplate = $('<tbody>') 285 .append($('<tr>') 286 .append($('<td>').attr('colspan', (options.calendarWeeks ? '8' : '7'))) 287 ); 288 289 return [ 290 $('<div>').addClass('datepicker-days') 291 .append($('<table>').addClass('table-condensed') 292 .append(headTemplate) 293 .append($('<tbody>')) 294 ), 295 $('<div>').addClass('datepicker-months') 296 .append($('<table>').addClass('table-condensed') 297 .append(headTemplate.clone()) 298 .append(contTemplate.clone()) 299 ), 300 $('<div>').addClass('datepicker-years') 301 .append($('<table>').addClass('table-condensed') 302 .append(headTemplate.clone()) 303 .append(contTemplate.clone()) 304 ) 305 ]; 306 }, 307 308 getTimePickerMainTemplate = function () { 309 var topRow = $('<tr>'), 310 middleRow = $('<tr>'), 311 bottomRow = $('<tr>'); 312 313 if (isEnabled('h')) { 314 topRow.append($('<td>') 315 .append($('<a>').attr({href: '#', tabindex: '-1'}).addClass('btn').attr('data-action', 'incrementHours') 316 .html('+')));//.addClass(options.icons.up)))); 317 middleRow.append($('<td>') 318 .append($('<span>').addClass('timepicker-hour').attr('data-time-component', 'hours').attr('data-action', 'showHours'))); 319 bottomRow.append($('<td>') 320 .append($('<a>').attr({href: '#', tabindex: '-1'}).addClass('btn').attr('data-action', 'decrementHours') 321 .html('-')));//.addClass(options.icons.down)))); 322 } 323 if (isEnabled('m')) { 324 if (isEnabled('h')) { 325 topRow.append($('<td>').addClass('separator')); 326 middleRow.append($('<td>').addClass('separator').html(':')); 327 bottomRow.append($('<td>').addClass('separator')); 328 } 329 topRow.append($('<td>') 330 .append($('<a>').attr({href: '#', tabindex: '-1'}).addClass('btn').attr('data-action', 'incrementMinutes') 331 .html('+')));//.addClass(options.icons.up)))); 332 middleRow.append($('<td>') 333 .append($('<span>').addClass('timepicker-minute').attr('data-time-component', 'minutes').attr('data-action', 'showMinutes'))); 334 bottomRow.append($('<td>') 335 .append($('<a>').attr({href: '#', tabindex: '-1'}).addClass('btn').attr('data-action', 'decrementMinutes') 336 .html('-')));//.addClass(options.icons.down)))) 337 } 338 if (isEnabled('s')) { 339 if (isEnabled('m')) { 340 topRow.append($('<td>').addClass('separator')); 341 middleRow.append($('<td>').addClass('separator').html(':')); 342 bottomRow.append($('<td>').addClass('separator')); 343 } 344 topRow.append($('<td>') 345 .append($('<a>').attr({href: '#', tabindex: '-1'}).addClass('btn').attr('data-action', 'incrementSeconds') 346 .html('+')));//.addClass(options.icons.up)))); 347 middleRow.append($('<td>') 348 .append($('<span>').addClass('timepicker-second').attr('data-time-component', 'seconds').attr('data-action', 'showSeconds'))); 349 bottomRow.append($('<td>') 350 .append($('<a>').attr({href: '#', tabindex: '-1'}).addClass('btn').attr('data-action', 'decrementSeconds') 351 .html('-')));//.addClass(options.icons.down)))) 352 } 353 354 if (!use24Hours) { 355 topRow.append($('<td>').addClass('separator')); 356 middleRow.append($('<td>') 357 .append($('<button>').addClass('btn btn-primary').attr('data-action', 'togglePeriod'))); 358 bottomRow.append($('<td>').addClass('separator')); 359 } 360 361 return $('<div>').addClass('timepicker-picker') 362 .append($('<table>').addClass('table-condensed')
363 .append([topRow, middleRow, bottomRow])); 364 }, 365 366 getTimePickerTemplate = function () { 367 var hoursView = $('<div>').addClass('timepicker-hours') 368 .append($('<table>').addClass('table-condensed')), 369 minutesView = $('<div>').addClass('timepicker-minutes') 370 .append($('<table>').addClass('table-condensed')), 371 secondsView = $('<div>').addClass('timepicker-seconds') 372 .append($('<table>').addClass('table-condensed')), 373 ret = [getTimePickerMainTemplate()]; 374 375 if (isEnabled('h')) { 376 ret.push(hoursView); 377 } 378 if (isEnabled('m')) { 379 ret.push(minutesView); 380 } 381 if (isEnabled('s')) { 382 ret.push(secondsView); 383 } 384 385 return ret; 386 }, 387 388 getToolbar = function () { 389 var row = []; 390 if (options.showTodayButton) { 391 row.push($('<td>').append($('<a>').attr('data-action', 'today').html('<span>today</span>')))//.addClass(options.icons.today)))); 392 } 393 if (!options.sideBySide && hasDate() && hasTime()) { 394 row.push($('<td>').append($('<a>').attr('data-action', 'togglePicker').html('<span>Time</span>')))//.addClass(options.icons.time)))); 395 } 396 if (options.showClear) { 397 row.push($('<td>').append($('<a>').attr('data-action', 'clear').html('<span>Clear</span>')))//.addClass(options.icons.clear)))); 398 } 399 if (options.showClose) { 400 row.push($('<td>').append($('<a>').attr('data-action', 'close').html('<span>X</span>')))//.addClass(options.icons.close)))); 401 } 402 return $('<table>').addClass('table-condensed').append($('<tbody>').append($('<tr>').append(row))); 403 }, 404 405 getTemplate = function () { 406 var template = $('<div>').addClass('bootstrap-datetimepicker-widget dropdown-menu'), 407 dateView = $('<div>').addClass('datepicker').append(getDatePickerTemplate()), 408 timeView = $('<div>').addClass('timepicker').append(getTimePickerTemplate()), 409 content = $('<ul>').addClass('list-unstyled'), 410 toolbar = $('<li>').addClass('picker-switch' + (options.collapse ? ' accordion-toggle' : '')).append(getToolbar()); 411 412 if (options.inline) { 413 template.removeClass('dropdown-menu'); 414 } 415 416 if (use24Hours) { 417 template.addClass('usetwentyfour'); 418 } 419 if (options.sideBySide && hasDate() && hasTime()) { 420 template.addClass('timepicker-sbs'); 421 template.append( 422 $('<div>').addClass('row') 423 .append(dateView.addClass('col-sm-6')) 424 .append(timeView.addClass('col-sm-6')) 425 ); 426 template.append(toolbar); 427 return template; 428 } 429 430 if (options.toolbarPlacement === 'top') { 431 content.append(toolbar); 432 } 433 if (hasDate()) { 434 content.append($('<li>').addClass((options.collapse && hasTime() ? 'collapse in' : '')).append(dateView)); 435 } 436 if (options.toolbarPlacement === 'default') { 437 content.append(toolbar); 438 } 439 if (hasTime()) { 440 content.append($('<li>').addClass((options.collapse && hasDate() ? 'collapse' : '')).append(timeView)); 441 } 442 if (options.toolbarPlacement === 'bottom') { 443 content.append(toolbar); 444 } 445 return template.append(content); 446 }, 447 448 dataToOptions = function () { 449 var eData, 450 dataOptions = {}; 451 452 if (element.is('input') || options.inline) { 453 eData = element.data(); 454 } else { 455 eData = element.find('input').data(); 456 } 457 458 if (eData.dateOptions && eData.dateOptions instanceof Object) { 459 dataOptions = $.extend(true, dataOptions, eData.dateOptions); 460 } 461 462 $.each(options, function (key) { 463 var attributeName = 'date' + key.charAt(0).toUpperCase() + key.slice(1); 464 if (eData[attributeName] !== undefined) { 465 dataOptions[key] = eData[attributeName]; 466 } 467 }); 468 return dataOptions; 469 }, 470 471 place = function () { 472 var position = (component || element).position(), 473 offset = (component || element).offset(), 474 vertical = options.widgetPositioning.vertical, 475 horizontal = options.widgetPositioning.horizontal, 476 parent; 477 478 if (options.widgetParent) { 479 parent = options.widgetParent.append(widget); 480 } else if (element.is('input')) { 481 parent = element.parent().append(widget); 482 } else if (options.inline) { 483 parent = element.append(widget); 484 return; 485 } else { 486 parent = element; 487 element.children().first().after(widget); 488 } 489 490 // Top and bottom logic 491 if (vertical === 'auto') { 492 if (offset.top + widget.height() * 1.5 >= $(window).height() + $(window).scrollTop() && 493 widget.height() + element.outerHeight() < offset.top) { 494 vertical = 'top'; 495 } else { 496 vertical = 'bottom'; 497 } 498 } 499 500 // Left and right logic 501 if (horizontal === 'auto') { 502 if (parent.width() < offset.left + widget.outerWidth() / 2 && 503 offset.left + widget.outerWidth() > $(window).width()) { 504 horizontal = 'right'; 505 } else { 506 horizontal = 'left'; 507 } 508 } 509 510 if (vertical === 'top') { 511 widget.addClass('top').removeClass('bottom'); 512 } else { 513 widget.addClass('bottom').removeClass('top'); 514 } 515 516 if (horizontal === 'right') { 517 widget.addClass('pull-right'); 518 } else { 519 widget.removeClass('pull-right'); 520 } 521 522 // find the first parent element that has a relative css positioning 523 if (parent.css('position') !== 'relative') { 524 parent = parent.parents().filter(function () { 525 return $(this).css('position') === 'relative'; 526 }).first(); 527 } 528 529 if (parent.length === 0) { 530 throw new Error('datetimepicker component should be placed within a relative positioned container'); 531 } 532 533 widget.css({ 534 top: vertical === 'top' ? 'auto' : position.top + element.outerHeight(), 535 bottom: vertical === 'top' ? position.top + element.outerHeight() : 'auto', 536 left: horizontal === 'left' ? parent.css('padding-left') : 'auto', 537 right: horizontal === 'left' ? 'auto' : parent.width() - element.outerWidth() 538 }); 539 }, 540 541 notifyEvent = function (e) { 542 if (e.type === 'dp.change' && ((e.date && e.date.isSame(e.oldDate)) || (!e.date && !e.oldDate))) { 543 return; 544 } 545 element.trigger(e); 546 }, 547 548 showMode = function (dir) { 549 if (!widget) { 550 return; 551 } 552 if (dir) { 553 currentViewMode = Math.max(minViewModeNumber, Math.min(2, currentViewMode + dir)); 554 } 555 widget.find('.datepicker > div').hide().filter('.datepicker-' + datePickerModes[currentViewMode].clsName).show(); 556 }, 557 558 fillDow = function () { 559 var row = $('<tr>'),
560 currentDate = viewDate.clone().startOf('w'); 561 562 if (options.calendarWeeks === true) { 563 row.append($('<th>').addClass('cw').text('#')); 564 } 565 566 while (currentDate.isBefore(viewDate.clone().endOf('w'))) { 567 row.append($('<th>').addClass('dow').text(currentDate.format('dd'))); 568 currentDate.add(1, 'd'); 569 } 570 widget.find('.datepicker-days thead').append(row); 571 }, 572 573 isInDisabledDates = function (testDate) { 574 return options.disabledDates[testDate.format('YYYY-MM-DD')] === true; 575 }, 576 577 isInEnabledDates = function (testDate) { 578 return options.enabledDates[testDate.format('YYYY-MM-DD')] === true; 579 }, 580 581 isValid = function (targetMoment, granularity) { 582 if (!targetMoment.isValid()) { 583 return false; 584 } 585 if (options.disabledDates && isInDisabledDates(targetMoment) && granularity !== 'M') { 586 return false; 587 } 588 if (options.enabledDates && !isInEnabledDates(targetMoment) && granularity !== 'M') { 589 return false; 590 } 591 if (options.minDate && targetMoment.isBefore(options.minDate, granularity)) { 592 return false; 593 } 594 if (options.maxDate && targetMoment.isAfter(options.maxDate, granularity)) { 595 return false; 596 } 597 if (granularity === 'd' && options.daysOfWeekDisabled.indexOf(targetMoment.day()) !== -1) { //widget && widget.find('.datepicker-days').length > 0 598 return false; 599 } 600 return true; 601 }, 602 603 fillMonths = function () { 604 var spans = [], 605 monthsShort = viewDate.clone().startOf('y').hour(12); // hour is changed to avoid DST issues in some browsers 606 while (monthsShort.isSame(viewDate, 'y')) { 607 spans.push($('<span>').attr('data-action', 'selectMonth').addClass('month').text(monthsShort.format('MMM'))); 608 monthsShort.add(1, 'M'); 609 } 610 widget.find('.datepicker-months td').empty().append(spans); 611 }, 612 613 updateMonths = function () { 614 var monthsView = widget.find('.datepicker-months'), 615 monthsViewHeader = monthsView.find('th'), 616 months = monthsView.find('tbody').find('span'); 617 618 monthsView.find('.disabled').removeClass('disabled'); 619 620 if (!isValid(viewDate.clone().subtract(1, 'y'), 'y')) { 621 monthsViewHeader.eq(0).addClass('disabled'); 622 } 623 624 monthsViewHeader.eq(1).text(viewDate.year()); 625 626 if (!isValid(viewDate.clone().add(1, 'y'), 'y')) { 627 monthsViewHeader.eq(2).addClass('disabled'); 628 } 629 630 months.removeClass('active'); 631 if (date.isSame(viewDate, 'y')) { 632 months.eq(date.month()).addClass('active'); 633 } 634 635 months.each(function (index) { 636 if (!isValid(viewDate.clone().month(index), 'M')) { 637 $(this).addClass('disabled'); 638 } 639 }); 640 }, 641 642 updateYears = function () { 643 var yearsView = widget.find('.datepicker-years'), 644 yearsViewHeader = yearsView.find('th'), 645 startYear = viewDate.clone().subtract(5, 'y'), 646 endYear = viewDate.clone().add(6, 'y'), 647 html = ''; 648 649 yearsView.find('.disabled').removeClass('disabled'); 650 651 if (options.minDate && options.minDate.isAfter(startYear, 'y')) { 652 yearsViewHeader.eq(0).addClass('disabled'); 653 } 654 655 yearsViewHeader.eq(1).text(startYear.year() + '-' + endYear.year()); 656 657 if (options.maxDate && options.maxDate.isBefore(endYear, 'y')) { 658 yearsViewHeader.eq(2).addClass('disabled'); 659 } 660 661 while (!startYear.isAfter(endYear, 'y')) { 662 html += '<span data-action="selectYear" class="year' + (startYear.isSame(date, 'y') ? ' active' : '') + (!isValid(startYear, 'y') ? ' disabled' : '') + '">' + startYear.year() + '</span>'; 663 startYear.add(1, 'y'); 664 } 665 666 yearsView.find('td').html(html); 667 }, 668 669 fillDate = function () { 670 var daysView = widget.find('.datepicker-days'), 671 daysViewHeader = daysView.find('th'), 672 currentDate, 673 html = [], 674 row, 675 clsName; 676 677 if (!hasDate()) { 678 return; 679 } 680 681 daysView.find('.disabled').removeClass('disabled'); 682 daysViewHeader.eq(1).text(viewDate.format(options.dayViewHeaderFormat)); 683 684 if (!isValid(viewDate.clone().subtract(1, 'M'), 'M')) { 685 daysViewHeader.eq(0).addClass('disabled'); 686 } 687 if (!isValid(viewDate.clone().add(1, 'M'), 'M')) { 688 daysViewHeader.eq(2).addClass('disabled'); 689 } 690
691 currentDate = viewDate.clone().startOf('M').startOf('week'); 692 693 while (!viewDate.clone().endOf('M').endOf('w').isBefore(currentDate, 'd')) { 694 if (currentDate.weekday() === 0) { 695 row = $('<tr>'); 696 if (options.calendarWeeks) { 697 row.append('<td class="cw">' + currentDate.week() + '</td>'); 698 } 699 html.push(row); 700 } 701 clsName = ''; 702 if (currentDate.isBefore(viewDate, 'M')) { 703 clsName += ' old'; 704 } 705 if (currentDate.isAfter(viewDate, 'M')) { 706 clsName += ' new'; 707 } 708 if (currentDate.isSame(date, 'd') && !unset) { 709 clsName += ' active'; 710 } 711 if (!isValid(currentDate, 'd')) { 712 clsName += ' disabled'; 713 } 714 if (currentDate.isSame(moment(), 'd')) { 715 clsName += ' today'; 716 } 717 if (currentDate.day() === 0 || currentDate.day() === 6) { 718 clsName += ' weekend'; 719 } 720 row.append('<td data-action="selectDay" class="day' + clsName + '">' + currentDate.date() + '</td>'); 721 currentDate.add(1, 'd'); 722 } 723 724 daysView.find('tbody').empty().append(html); 725 726 updateMonths(); 727 728 updateYears(); 729 }, 730 731 fillHours = function () { 732 var table = widget.find('.timepicker-hours table'), 733 currentHour = viewDate.clone().startOf('d'), 734 html = [], 735 row = $('<tr>'); 736 737 if (viewDate.hour() > 11 && !use24Hours) { 738 currentHour.hour(12); 739 } 740 while (currentHour.isSame(viewDate, 'd') && (use24Hours || (viewDate.hour() < 12 && currentHour.hour() < 12) || viewDate.hour() > 11)) { 741 if (currentHour.hour() % 4 === 0) { 742 row = $('<tr>'); 743 html.push(row); 744 } 745 row.append('<td data-action="selectHour" class="hour' + (!isValid(currentHour, 'h') ? ' disabled' : '') + '">' + currentHour.format(use24Hours ? 'HH' : 'hh') + '</td>'); 746 currentHour.add(1, 'h'); 747 } 748 table.empty().append(html); 749 }, 750 751 fillMinutes = function () { 752 var table = widget.find('.timepicker-minutes table'), 753 currentMinute = viewDate.clone().startOf('h'), 754 html = [], 755 row = $('<tr>'), 756 step = options.stepping === 1 ? 5 : options.stepping; 757 758 while (viewDate.isSame(currentMinute, 'h')) { 759 if (currentMinute.minute() % (step * 4) === 0) { 760 row = $('<tr>'); 761 html.push(row); 762 } 763 row.append('<td data-action="selectMinute" class="minute' + (!isValid(currentMinute, 'm') ? ' disabled' : '') + '">' + currentMinute.format('mm') + '</td>'); 764 currentMinute.add(step, 'm'); 765 } 766 table.empty().append(html); 767 }, 768 769 fillSeconds = function () { 770 var table = widget.find('.timepicker-seconds table'), 771 currentSecond = viewDate.clone().startOf('m'), 772 html = [], 773 row = $('<tr>'); 774 775 while (viewDate.isSame(currentSecond, 'm')) { 776 if (currentSecond.second() % 20 === 0) { 777 row = $('<tr>'); 778 html.push(row); 779 } 780 row.append('<td data-action="selectSecond" class="second' + (!isValid(currentSecond, 's') ? ' disabled' : '') + '">' + currentSecond.format('ss') + '</td>'); 781 currentSecond.add(5, 's'); 782 } 783 784 table.empty().append(html); 785 }, 786 787 fillTime = function () { 788 var timeComponents = widget.find('.timepicker span[data-time-component]'); 789 if (!use24Hours) { 790 widget.find('.timepicker [data-action=togglePeriod]').text(date.format('A')); 791 } 792 timeComponents.filter('[data-time-component=hours]').text(date.format(use24Hours ? 'HH' : 'hh')); 793 timeComponents.filter('[data-time-component=minutes]').text(date.format('mm')); 794 timeComponents.filter('[data-time-component=seconds]').text(date.format('ss')); 795 796 fillHours(); 797 fillMinutes(); 798 fillSeconds(); 799 }, 800 801 update = function () { 802 if (!widget) { 803 return; 804 } 805 fillDate(); 806 fillTime(); 807 }, 808 809 setValue = function (targetMoment) { 810 var oldDate = unset ? null : date; 811 812 // case of calling setValue(null or false) 813 if (!targetMoment) { 814 unset = true; 815 input.val(''); 816 element.data('date', ''); 817 notifyEvent({ 818 type: 'dp.change', 819 date: null, 820 oldDate: oldDate 821 }); 822 update(); 823 return; 824 } 825 826 targetMoment = targetMoment.clone().locale(options.locale); 827 828 if (options.stepping !== 1) { 829 targetMoment.minutes((Math.round(targetMoment.minutes() / options.stepping) * options.stepping) % 60).seconds(0); 830 } 831 832 if (isValid(targetMoment)) { 833 date = targetMoment; 834 viewDate = date.clone(); 835 input.val(date.format(actualFormat)); 836 element.data('date', date.format(actualFormat)); 837 update(); 838 unset = false;
839 notifyEvent({ 840 type: 'dp.change', 841 date: date.clone(), 842 oldDate: oldDate 843 }); 844 } else { 845 if (!options.keepInvalid) { 846 input.val(unset ? '' : date.format(actualFormat)); 847 } 848 notifyEvent({ 849 type: 'dp.error', 850 date: targetMoment 851 }); 852 } 853 }, 854 855 hide = function () { 856 var transitioning = false; 857 if (!widget) { 858 return picker; 859 } 860 // Ignore event if in the middle of a picker transition 861 widget.find('.collapse').each(function () { 862 var collapseData = $(this).data('collapse'); 863 if (collapseData && collapseData.transitioning) { 864 transitioning = true; 865 return false; 866 } 867 return true; 868 }); 869 if (transitioning) { 870 return picker; 871 } 872 if (component && component.hasClass('btn')) { 873 component.toggleClass('active'); 874 } 875 widget.hide(); 876 877 $(window).off('resize', place); 878 widget.off('click', '[data-action]'); 879 widget.off('mousedown', false); 880 881 widget.remove(); 882 widget = false; 883 884 notifyEvent({ 885 type: 'dp.hide', 886 date: date.clone() 887 }); 888 return picker; 889 }, 890 891 clear = function () { 892 setValue(null); 893 }, 894 895 /******************************************************************************** 896 * 897 * Widget UI interaction functions 898 * 899 ********************************************************************************/ 900 actions = { 901 next: function () { 902 viewDate.add(datePickerModes[currentViewMode].navStep, datePickerModes[currentViewMode].navFnc); 903 fillDate(); 904 }, 905 906 previous: function () { 907 viewDate.subtract(datePickerModes[currentViewMode].navStep, datePickerModes[currentViewMode].navFnc); 908 fillDate(); 909 }, 910 911 pickerSwitch: function () { 912 showMode(1); 913 }, 914 915 selectMonth: function (e) { 916 var month = $(e.target).closest('tbody').find('span').index($(e.target)); 917 viewDate.month(month); 918 if (currentViewMode === minViewModeNumber) { 919 setValue(date.clone().year(viewDate.year()).month(viewDate.month())); 920 if (!options.inline) { 921 hide(); 922 } 923 } else { 924 showMode(-1); 925 fillDate(); 926 } 927 }, 928 929 selectYear: function (e) { 930 var year = parseInt($(e.target).text(), 10) || 0; 931 viewDate.year(year); 932 if (currentViewMode === minViewModeNumber) { 933 setValue(date.clone().year(viewDate.year())); 934 if (!options.inline) { 935 hide(); 936 } 937 } else { 938 showMode(-1); 939 fillDate(); 940 } 941 }, 942 943 selectDay: function (e) { 944 var day = viewDate.clone(); 945 if ($(e.target).is('.old')) { 946 day.subtract(1, 'M'); 947 } 948 if ($(e.target).is('.new')) { 949 day.add(1, 'M'); 950 } 951 setValue(day.date(parseInt($(e.target).text(), 10))); 952 if (!hasTime() && !options.keepOpen && !options.inline) { 953 hide(); 954 } 955 }, 956 957 incrementHours: function () { 958 setValue(date.clone().add(1, 'h')); 959 }, 960 961 incrementMinutes: function () { 962 setValue(date.clone().add(options.stepping, 'm')); 963 }, 964 965 incrementSeconds: function () { 966 setValue(date.clone().add(1, 's')); 967 }, 968 969 decrementHours: function () { 970 setValue(date.clone().subtract(1, 'h')); 971 }, 972 973 decrementMinutes: function () { 974 setValue(date.clone().subtract(options.stepping, 'm')); 975 }, 976 977 decrementSeconds: function () { 978 setValue(date.clone().subtract(1, 's')); 979 }, 980 981 togglePeriod: function () { 982 setValue(date.clone().add((date.hours() >= 12) ? -12 : 12, 'h')); 983 }, 984 985 togglePicker: function (e) { 986 var $this = $(e.target), 987 $parent = $this.closest('ul'), 988 expanded = $parent.find('.in'), 989 closed = $parent.find('.collapse:not(.in)'), 990 collapseData; 991 992 if (expanded && expanded.length) { 993 collapseData = expanded.data('collapse'); 994 if (collapseData && collapseData.transitioning) { 995 return; 996 } 997 if (expanded.collapse) { // if collapse plugin is available through bootstrap.js then use it 998 expanded.collapse('hide'); 999 closed.collapse('show'); 1000 } else { // otherwise just toggle in class on the two views 1001 expanded.removeClass('in'); 1002 closed.addClass('in'); 1003 } 1004 if ($this.is('span')) { 1005 if($this.html() == options.timeText) { 1006 $this.html(options.dateText); 1007 } else { 1008 $this.html(options.timeText); 1009 } 1010 //.toggleClass(options.icons.time + ' ' + options.icons.date); 1011 } else { 1012 if($this.find('span').html() == options.timeText) { 1013 $this.find('span').html(options.dateText); 1014 } else { 1015 $this.find('span').html(options.timeText); 1016 } 1017 //$this.find('span').html(options.timeText);//.toggleClass(options.icons.time + ' ' + options.icons.date); 1018 } 1019 1020 // NOTE: uncomment if toggled state will be restored in show() 1021 //if (component) { 1022 // component.find('span').toggleClass(options.icons.time + ' ' + options.icons.date); 1023 //} 1024 } 1025 }, 1026 1027 showPicker: function () { 1028 widget.find('.timepicker > div:not(.timepicker-picker)').hide(); 1029 widget.find('.timepicker .timepicker-picker').show(); 1030 }, 1031 1032 showHours: function () { 1033 widget.find('.timepicker .timepicker-picker').hide(); 1034 widget.find('.timepicker .timepicker-hours').show(); 1035 }, 1036 1037 showMinutes: function () { 1038 widget.find('.timepicker .timepicker-picker').hide(); 1039 widget.find('.timepicker .timepicker-minutes').show(); 1040 }, 1041 1042 showSeconds: function () { 1043 widget.find('.timepicker .timepicker-picker').hide(); 1044 widget.find('.timepicker .timepicker-seconds').show(); 1045 }, 1046 1047 selectHour: function (e) { 1048 var hour = parseInt($(e.target).text(), 10); 1049 1050 if (!use24Hours) { 1051 if (date.hours() >= 12) { 1052 if (hour !== 12) { 1053 hour += 12; 1054 } 1055 } else { 1056 if (hour === 12) { 1057 hour = 0; 1058 } 1059 } 1060 } 1061 setValue(date.clone().hours(hour)); 1062 actions.showPicker.call(picker); 1063 }, 1064 1065 selectMinute: function (e) { 1066 setValue(date.clone().minutes(parseInt($(e.target).text(), 10))); 1067 actions.showPicker.call(picker); 1068 }, 1069 1070 selectSecond: function (e) { 1071 setValue(date.clone().seconds(parseInt($(e.target).text(), 10))); 1072 actions.showPicker.call(picker); 1073 }, 1074 1075 clear: clear, 1076 1077 today: function () { 1078 setValue(moment()); 1079 }, 1080 1081 close: hide 1082 }, 1083 1084 doAction = function (e) { 1085 if ($(e.currentTarget).is('.disabled')) { 1086 return false;
1087 } 1088 actions[$(e.currentTarget).data('action')].apply(picker, arguments); 1089 return false; 1090 }, 1091 1092 show = function () { 1093 var currentMoment, 1094 useCurrentGranularity = { 1095 'year': function (m) { 1096 return m.month(0).date(1).hours(0).seconds(0).minutes(0); 1097 }, 1098 'month': function (m) { 1099 return m.date(1).hours(0).seconds(0).minutes(0); 1100 }, 1101 'day': function (m) { 1102 return m.hours(0).seconds(0).minutes(0); 1103 }, 1104 'hour': function (m) { 1105 return m.seconds(0).minutes(0); 1106 }, 1107 'minute': function (m) { 1108 return m.seconds(0); 1109 } 1110 }; 1111 1112 if (input.prop('disabled') || (!options.ignoreReadonly && input.prop('readonly')) || widget) { 1113 return picker; 1114 } 1115 if (options.useCurrent && unset && ((input.is('input') && input.val().trim().length === 0) || options.inline)) { 1116 currentMoment = moment(); 1117 if (typeof options.useCurrent === 'string') { 1118 currentMoment = useCurrentGranularity[options.useCurrent](currentMoment); 1119 } 1120 setValue(currentMoment); 1121 } 1122 1123 widget = getTemplate(); 1124 1125 fillDow(); 1126 fillMonths(); 1127 1128 widget.find('.timepicker-hours').hide(); 1129 widget.find('.timepicker-minutes').hide(); 1130 widget.find('.timepicker-seconds').hide(); 1131 1132 update(); 1133 showMode(); 1134 1135 $(window).on('resize', place); 1136 widget.on('click', '[data-action]', doAction); // this handles clicks on the widget 1137 widget.on('mousedown', false); 1138 1139 if (component && component.hasClass('btn')) { 1140 component.toggleClass('active'); 1141 } 1142 widget.show(); 1143 place(); 1144 1145 if (!input.is(':focus')) { 1146 input.focus(); 1147 } 1148 1149 notifyEvent({ 1150 type: 'dp.show' 1151 }); 1152 return picker; 1153 }, 1154 1155 toggle = function () { 1156 return (widget ? hide() : show()); 1157 }, 1158 1159 parseInputDate = function (inputDate) { 1160 if (moment.isMoment(inputDate) || inputDate instanceof Date) { 1161 inputDate = moment(inputDate); 1162 } else { 1163 inputDate = moment(inputDate, parseFormats, options.useStrict); 1164 } 1165 inputDate.locale(options.locale); 1166 return inputDate; 1167 }, 1168 1169 keydown = function (e) { 1170 //if (e.keyCode === 27 && widget) { // allow escape to hide picker 1171 // hide(); 1172 // return false; 1173 //} 1174 //if (e.keyCode === 40 && !widget) { // allow down to show picker 1175 // show(); 1176 // e.preventDefault(); 1177 //} 1178 //return true; 1179 1180 var handler = null, 1181 index, 1182 index2, 1183 pressedKeys = [], 1184 pressedModifiers = {}, 1185 currentKey = e.which, 1186 keyBindKeys, 1187 allModifiersPressed, 1188 pressed = 'p'; 1189 1190 keyState[currentKey] = pressed; 1191 1192 for (index in keyState) { 1193 if (keyState.hasOwnProperty(index) && keyState[index] === pressed) { 1194 pressedKeys.push(index); 1195 if (parseInt(index, 10) !== currentKey) { 1196 pressedModifiers[index] = true; 1197 } 1198 } 1199 } 1200 1201 for (index in options.keyBinds) { 1202 if (options.keyBinds.hasOwnProperty(index) && typeof (options.keyBinds[index]) === 'function') { 1203 keyBindKeys = index.split(' '); 1204 if (keyBindKeys.length === pressedKeys.length && keyMap[currentKey] === keyBindKeys[keyBindKeys.length - 1]) { 1205 allModifiersPressed = true; 1206 for (index2 = keyBindKeys.length - 2; index2 >= 0; index2--) { 1207 if (!(keyMap[keyBindKeys[index2]] in pressedModifiers)) { 1208 allModifiersPressed = false;
1209 break; 1210 } 1211 } 1212 if (allModifiersPressed) { 1213 handler = options.keyBinds[index]; 1214 break; 1215 } 1216 } 1217 } 1218 } 1219 1220 if (handler) { 1221 handler.call(picker, widget); 1222 e.stopPropagation(); 1223 e.preventDefault(); 1224 } 1225 }, 1226 1227 keyup = function (e) { 1228 keyState[e.which] = 'r'; 1229 e.stopPropagation(); 1230 e.preventDefault(); 1231 }, 1232 1233 change = function (e) { 1234 var val = $(e.target).val().trim(), 1235 parsedDate = val ? parseInputDate(val) : null; 1236 setValue(parsedDate); 1237 e.stopImmediatePropagation(); 1238 return false; 1239 }, 1240 1241 attachDatePickerElementEvents = function () { 1242 input.on({ 1243 'change': change, 1244 'blur': options.debug ? '' : hide, 1245 'keydown': keydown, 1246 'keyup': keyup 1247 }); 1248 1249 if (element.is('input')) { 1250 input.on({ 1251 'focus': show 1252 }); 1253 } else if (component) { 1254 component.on('click', toggle); 1255 component.on('mousedown', false); 1256 } 1257 }, 1258 1259 detachDatePickerElementEvents = function () { 1260 input.off({ 1261 'change': change, 1262 'blur': hide, 1263 'keydown': keydown, 1264 'keyup': keyup 1265 }); 1266 1267 if (element.is('input')) { 1268 input.off({ 1269 'focus': show 1270 }); 1271 } else if (component) { 1272 component.off('click', toggle); 1273 component.off('mousedown', false); 1274 } 1275 }, 1276 1277 indexGivenDates = function (givenDatesArray) { 1278 // Store given enabledDates and disabledDates as keys. 1279 // This way we can check their existence in O(1) time instead of looping through whole array. 1280 // (for example: options.enabledDates['2014-02-27'] === true) 1281 var givenDatesIndexed = {}; 1282 $.each(givenDatesArray, function () { 1283 var dDate = parseInputDate(this); 1284 if (dDate.isValid()) { 1285 givenDatesIndexed[dDate.format('YYYY-MM-DD')] = true; 1286 } 1287 }); 1288 return (Object.keys(givenDatesIndexed).length) ? givenDatesIndexed : false; 1289 }, 1290 1291 initFormatting = function () { 1292 var format = options.format || 'L LT'; 1293 1294 actualFormat = format.replace(/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g, function (formatInput) { 1295 var newinput = date.localeData().longDateFormat(formatInput) || formatInput; 1296 return newinput.replace(/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g, function (formatInput2) { //temp fix for #740 1297 return date.localeData().longDateFormat(formatInput2) || formatInput2; 1298 }); 1299 }); 1300 1301 1302 parseFormats = options.extraFormats ? options.extraFormats.slice() : []; 1303 if (parseFormats.indexOf(format) < 0 && parseFormats.indexOf(actualFormat) < 0) { 1304 parseFormats.push(actualFormat); 1305 } 1306 1307 use24Hours = (actualFormat.toLowerCase().indexOf('a') < 1 && actualFormat.indexOf('h') < 1); 1308 1309 if (isEnabled('y')) { 1310 minViewModeNumber = 2; 1311 } 1312 if (isEnabled('M')) { 1313 minViewModeNumber = 1; 1314 } 1315 if (isEnabled('d')) { 1316 minViewModeNumber = 0; 1317 } 1318 1319 currentViewMode = Math.max(minViewModeNumber, currentViewMode); 1320 1321 if (!unset) { 1322 setValue(date); 1323 } 1324 }; 1325 1326 /******************************************************************************** 1327 * 1328 * Public API functions 1329 * ===================== 1330 * 1331 * Important: Do not expose direct references to private objects or the options 1332 * object to the outer world. Always return a clone when returning values or make 1333 * a clone when setting a private variable. 1334 * 1335 ********************************************************************************/ 1336 picker.destroy = function () { 1337 hide(); 1338 detachDatePickerElementEvents(); 1339 element.removeData('DateTimePicker'); 1340 element.removeData('date'); 1341 }; 1342 1343 picker.toggle = toggle; 1344 1345 picker.show = show; 1346 1347 picker.hide = hide; 1348 1349 picker.disable = function () { 1350 hide(); 1351 if (component && component.hasClass('btn')) { 1352 component.addClass('disabled'); 1353 } 1354 input.prop('disabled', true); 1355 return picker; 1356 }; 1357 1358 picker.enable = function () { 1359 if (component && component.hasClass('btn')) { 1360 component.removeClass('disabled'); 1361 } 1362 input.prop('disabled', false); 1363 return picker; 1364 }; 1365 1366 picker.ignoreReadonly = function (ignoreReadonly) { 1367 if (arguments.length === 0) { 1368 return options.ignoreReadonly; 1369 } 1370 if (typeof ignoreReadonly !== 'boolean') { 1371 throw new TypeError('ignoreReadonly () expects a boolean parameter'); 1372 } 1373 options.ignoreReadonly = ignoreReadonly; 1374 return picker; 1375 }; 1376 1377 picker.options = function (newOptions) { 1378 if (arguments.length === 0) { 1379 return $.extend(true, {}, options); 1380 } 1381 1382 if (!(newOptions instanceof Object)) { 1383 throw new TypeError('options() options parameter should be an object'); 1384 } 1385 $.extend(true, options, newOptions); 1386 $.each(options, function (key, value) { 1387 if (picker[key] !== undefined) { 1388 picker[key](value); 1389 } else { 1390 throw new TypeError('option ' + key + ' is not recognized!'); 1391 } 1392 }); 1393 return picker; 1394 }; 1395 1396 picker.date = function (newDate) { 1397 if (arguments.length === 0) { 1398 if (unset) { 1399 return null; 1400 } 1401 return date.clone(); 1402 } 1403 1404 if (newDate !== null && typeof newDate !== 'string' && !moment.isMoment(newDate) && !(newDate instanceof Date)) { 1405 throw new TypeError('date() parameter must be one of [null, string, moment or Date]'); 1406 } 1407 1408 setValue(newDate === null ? null : parseInputDate(newDate)); 1409 return picker; 1410 }; 1411 1412 picker.format = function (newFormat) { 1413 if (arguments.length === 0) { 1414 return options.format; 1415 } 1416 1417 if ((typeof newFormat !== 'string') && ((typeof newFormat !== 'boolean') || (newFormat !== false))) { 1418 throw new TypeError('format() expects a sting or boolean:false parameter ' + newFormat); 1419 } 1420 1421 options.format = newFormat; 1422 if (actualFormat) { 1423 initFormatting(); // reinit formatting 1424 } 1425 return picker; 1426 }; 1427 1428 picker.dayViewHeaderFormat = function (newFormat) { 1429 if (arguments.length === 0) { 1430 return options.dayViewHeaderFormat; 1431 } 1432 1433 if (typeof newFormat !== 'string') { 1434 throw new TypeError('dayViewHeaderFormat() expects a string parameter'); 1435 } 1436 1437 options.dayViewHeaderFormat = newFormat; 1438 return picker; 1439 }; 1440 1441 picker.extraFormats = function (formats) { 1442 if (arguments.length === 0) { 1443 return options.extraFormats; 1444 } 1445 1446 if (formats !== false && !(formats instanceof Array)) { 1447 throw new TypeError('extraFormats() expects an array or false parameter'); 1448 } 1449 1450 options.extraFormats = formats; 1451 if (parseFormats) { 1452 initFormatting(); // reinit formatting 1453 } 1454 return picker; 1455 }; 1456 1457 picker.disabledDates = function (dates) { 1458 if (arguments.length === 0) { 1459 return (options.disabledDates ? $.extend({}, options.disabledDates) : options.disabledDates); 1460 } 1461 1462 if (!dates) { 1463 options.disabledDates = false;
1464 update(); 1465 return picker; 1466 } 1467 if (!(dates instanceof Array)) { 1468 throw new TypeError('disabledDates() expects an array parameter'); 1469 } 1470 options.disabledDates = indexGivenDates(dates); 1471 options.enabledDates = false; 1472 update(); 1473 return picker; 1474 }; 1475 1476 picker.enabledDates = function (dates) { 1477 if (arguments.length === 0) { 1478 return (options.enabledDates ? $.extend({}, options.enabledDates) : options.enabledDates); 1479 } 1480 1481 if (!dates) { 1482 options.enabledDates = false; 1483 update(); 1484 return picker; 1485 } 1486 if (!(dates instanceof Array)) { 1487 throw new TypeError('enabledDates() expects an array parameter'); 1488 } 1489 options.enabledDates = indexGivenDates(dates); 1490 options.disabledDates = false; 1491 update(); 1492 return picker; 1493 }; 1494 1495 picker.daysOfWeekDisabled = function (daysOfWeekDisabled) { 1496 if (arguments.length === 0) { 1497 return options.daysOfWeekDisabled.splice(0); 1498 } 1499 1500 if (!(daysOfWeekDisabled instanceof Array)) { 1501 throw new TypeError('daysOfWeekDisabled() expects an array parameter'); 1502 } 1503 options.daysOfWeekDisabled = daysOfWeekDisabled.reduce(function (previousValue, currentValue) { 1504 currentValue = parseInt(currentValue, 10); 1505 if (currentValue > 6 || currentValue < 0 || isNaN(currentValue)) { 1506 return previousValue; 1507 } 1508 if (previousValue.indexOf(currentValue) === -1) { 1509 previousValue.push(currentValue); 1510 } 1511 return previousValue; 1512 }, []).sort(); 1513 update(); 1514 return picker; 1515 }; 1516 1517 picker.maxDate = function (maxDate) { 1518 if (arguments.length === 0) { 1519 return options.maxDate ? options.maxDate.clone() : options.maxDate; 1520 } 1521 1522 if ((typeof maxDate === 'boolean') && maxDate === false) { 1523 options.maxDate = false; 1524 update(); 1525 return picker; 1526 } 1527 1528 if (typeof maxDate === 'string') { 1529 if (maxDate === 'now' || maxDate === 'moment') { 1530 maxDate = moment(); 1531 } 1532 } 1533 1534 var parsedDate = parseInputDate(maxDate); 1535 1536 if (!parsedDate.isValid()) { 1537 throw new TypeError('maxDate() Could not parse date parameter: ' + maxDate); 1538 } 1539 if (options.minDate && parsedDate.isBefore(options.minDate)) { 1540 throw new TypeError('maxDate() date parameter is before options.minDate: ' + parsedDate.format(actualFormat)); 1541 } 1542 options.maxDate = parsedDate; 1543 if (options.maxDate.isBefore(maxDate)) { 1544 setValue(options.maxDate); 1545 } 1546 if (viewDate.isAfter(parsedDate)) { 1547 viewDate = parsedDate.clone(); 1548 } 1549 update(); 1550 return picker; 1551 }; 1552 1553 picker.minDate = function (minDate) { 1554 if (arguments.length === 0) { 1555 return options.minDate ? options.minDate.clone() : options.minDate; 1556 } 1557 1558 if ((typeof minDate === 'boolean') && minDate === false) { 1559 options.minDate = false; 1560 update(); 1561 return picker; 1562 } 1563 1564 if (typeof minDate === 'string') { 1565 if (minDate === 'now' || minDate === 'moment') { 1566 minDate = moment(); 1567 } 1568 } 1569 1570 var parsedDate = parseInputDate(minDate); 1571 1572 if (!parsedDate.isValid()) { 1573 throw new TypeError('minDate() Could not parse date parameter: ' + minDate); 1574 } 1575 if (options.maxDate && parsedDate.isAfter(options.maxDate)) { 1576 throw new TypeError('minDate() date parameter is after options.maxDate: ' + parsedDate.format(actualFormat)); 1577 } 1578 options.minDate = parsedDate; 1579 if (options.minDate.isAfter(minDate)) { 1580 setValue(options.minDate); 1581 } 1582 if (viewDate.isBefore(parsedDate)) { 1583 viewDate = parsedDate.clone(); 1584 } 1585 update(); 1586 return picker; 1587 }; 1588 1589 picker.defaultDate = function (defaultDate) { 1590 if (arguments.length === 0) { 1591 return options.defaultDate ? options.defaultDate.clone() : options.defaultDate; 1592 } 1593 if (!defaultDate) { 1594 options.defaultDate = false; 1595 return picker; 1596 } 1597 1598 if (typeof defaultDate === 'string') { 1599 if (defaultDate === 'now' || defaultDate === 'moment') { 1600 defaultDate = moment(); 1601 } 1602 } 1603 1604 var parsedDate = parseInputDate(defaultDate); 1605 if (!parsedDate.isValid()) { 1606 throw new TypeError('defaultDate() Could not parse date parameter: ' + defaultDate); 1607 } 1608 if (!isValid(parsedDate)) { 1609 throw new TypeError('defaultDate() date passed is invali
1609d according to component setup validations'); 1610 } 1611 1612 options.defaultDate = parsedDate; 1613 1614 if (options.defaultDate && input.val().trim() === '' && input.attr('placeholder') === undefined) { 1615 setValue(options.defaultDate); 1616 } 1617 return picker; 1618 }; 1619 1620 picker.locale = function (locale) { 1621 if (arguments.length === 0) { 1622 return options.locale; 1623 } 1624 1625 if (!moment.localeData(locale)) { 1626 throw new TypeError('locale() locale ' + locale + ' is not loaded from moment locales!'); 1627 } 1628 1629 options.locale = locale; 1630 date.locale(options.locale); 1631 viewDate.locale(options.locale); 1632 1633 if (actualFormat) { 1634 initFormatting(); // reinit formatting 1635 } 1636 if (widget) { 1637 hide(); 1638 show(); 1639 } 1640 return picker; 1641 }; 1642 1643 picker.stepping = function (stepping) { 1644 if (arguments.length === 0) { 1645 return options.stepping; 1646 } 1647 1648 stepping = parseInt(stepping, 10); 1649 if (isNaN(stepping) || stepping < 1) { 1650 stepping = 1; 1651 } 1652 options.stepping = stepping; 1653 return picker; 1654 }; 1655 1656 picker.useCurrent = function (useCurrent) { 1657 var useCurrentOptions = ['year', 'month', 'day', 'hour', 'minute']; 1658 if (arguments.length === 0) { 1659 return options.useCurrent; 1660 } 1661 1662 if ((typeof useCurrent !== 'boolean') && (typeof useCurrent !== 'string')) { 1663 throw new TypeError('useCurrent() expects a boolean or string parameter'); 1664 } 1665 if (typeof useCurrent === 'string' && useCurrentOptions.indexOf(useCurrent.toLowerCase()) === -1) { 1666 throw new TypeError('useCurrent() expects a string parameter of ' + useCurrentOptions.join(', ')); 1667 } 1668 options.useCurrent = useCurrent; 1669 return picker; 1670 }; 1671 1672 picker.collapse = function (collapse) { 1673 if (arguments.length === 0) { 1674 return options.collapse; 1675 } 1676 1677 if (typeof collapse !== 'boolean') { 1678 throw new TypeError('collapse() expects a boolean parameter'); 1679 } 1680 if (options.collapse === collapse) { 1681 return picker; 1682 } 1683 options.collapse = collapse; 1684 if (widget) { 1685 hide(); 1686 show(); 1687 } 1688 return picker; 1689 }; 1690 1691 picker.icons = function (icons) { 1692 if (arguments.length === 0) { 1693 return $.extend({}, options.icons); 1694 } 1695 1696 if (!(icons instanceof Object)) { 1697 throw new TypeError('icons() expects parameter to be an Object'); 1698 } 1699 $.extend(options.icons, icons); 1700 if (widget) { 1701 hide(); 1702 show(); 1703 } 1704 return picker; 1705 }; 1706 1707 picker.useStrict = function (useStrict) { 1708 if (arguments.length === 0) { 1709 return options.useStrict; 1710 } 1711 1712 if (typeof useStrict !== 'boolean') { 1713 throw new TypeError('useStrict() expects a boolean parameter'); 1714 } 1715 options.useStrict = useStrict; 1716 return picker; 1717 }; 1718 1719 picker.sideBySide = function (sideBySide) { 1720 if (arguments.length === 0) { 1721 return options.sideBySide; 1722 } 1723 1724 if (typeof sideBySide !== 'boolean') { 1725 throw new TypeError('sideBySide() expects a boolean parameter'); 1726 } 1727 options.sideBySide = sideBySide; 1728 if (widget) { 1729 hide(); 1730 show(); 1731 } 1732 return picker; 1733 }; 1734 1735 picker.viewMode = function (viewMode) { 1736 if (arguments.length === 0) { 1737 return options.viewMode; 1738 } 1739 1740 if (typeof viewMode !== 'string') { 1741 throw new TypeError('viewMode() expects a string parameter'); 1742 } 1743 1744 if (viewModes.indexOf(viewMode) === -1) { 1745 throw new TypeError('viewMode() parameter must be one of (' + viewModes.join(', ') + ') value'); 1746 } 1747 1748 options.viewMode = viewMode; 1749 currentViewMode = Math.max(viewModes.indexOf(viewMode), minViewModeNumber); 1750 1751 showMode(); 1752 return picker; 1753 }; 1754 1755 picker.toolbarPlacement = function (toolbarPlacement) { 1756 if (arguments.length === 0) { 1757 return options.toolbarPlacement; 1758 } 1759 1760 if (typeof toolbarPlacement !== 'string') { 1761 throw new TypeError('toolbarPlacement() expects a string parameter'); 1762 } 1763 if (toolbarPlacements.indexOf(toolbarPlacement) === -1) { 1764 throw new TypeError('toolbarPlacement() parameter must be one of (' + toolbarPlacements.join(', ') + ') value'); 1765 } 1766 options.toolbarPlacement = toolbarPlacement; 1767 1768 if (widget) { 1769 hide(); 1770 show(); 1771 } 1772 return picker; 1773 }; 1774 1775 picker.widgetPositioning = function (widgetPositioning) { 1776 if (arguments.length === 0) { 1777 return $.extend({}, options.widgetPositioning); 1778 } 1779 1780 if (({}).toString.call(widgetPositioning) !== '[object Object]') { 1781 throw new TypeError('widgetPositioning() expects an object variable'); 1782 } 1783 if (widgetPositioning.horizontal) {
1784 if (typeof widgetPositioning.horizontal !== 'string') { 1785 throw new TypeError('widgetPositioning() horizontal variable must be a string'); 1786 } 1787 widgetPositioning.horizontal = widgetPositioning.horizontal.toLowerCase(); 1788 if (horizontalModes.indexOf(widgetPositioning.horizontal) === -1) { 1789 throw new TypeError('widgetPositioning() expects horizontal parameter to be one of (' + horizontalModes.join(', ') + ')'); 1790 } 1791 options.widgetPositioning.horizontal = widgetPositioning.horizontal; 1792 } 1793 if (widgetPositioning.vertical) { 1794 if (typeof widgetPositioning.vertical !== 'string') { 1795 throw new TypeError('widgetPositioning() vertical variable must be a string'); 1796 } 1797 widgetPositioning.vertical = widgetPositioning.vertical.toLowerCase(); 1798 if (verticalModes.indexOf(widgetPositioning.vertical) === -1) { 1799 throw new TypeError('widgetPositioning() expects vertical parameter to be one of (' + verticalModes.join(', ') + ')'); 1800 } 1801 options.widgetPositioning.vertical = widgetPositioning.vertical; 1802 } 1803 update(); 1804 return picker; 1805 }; 1806 1807 picker.calendarWeeks = function (calendarWeeks) { 1808 if (arguments.length === 0) { 1809 return options.calendarWeeks; 1810 } 1811 1812 if (typeof calendarWeeks !== 'boolean') { 1813 throw new TypeError('calendarWeeks() expects parameter to be a boolean value'); 1814 } 1815 1816 options.calendarWeeks = calendarWeeks; 1817 update(); 1818 return picker; 1819 }; 1820 1821 picker.showTodayButton = function (showTodayButton) { 1822 if (arguments.length === 0) { 1823 return options.showTodayButton; 1824 } 1825 1826 if (typeof showTodayButton !== 'boolean') { 1827 throw new TypeError('showTodayButton() expects a boolean parameter'); 1828 } 1829 1830 options.showTodayButton = showTodayButton; 1831 if (widget) { 1832 hide(); 1833 show(); 1834 } 1835 return picker; 1836 }; 1837 1838 picker.showClear = function (showClear) { 1839 if (arguments.length === 0) { 1840 return options.showClear; 1841 } 1842 1843 if (typeof showClear !== 'boolean') { 1844 throw new TypeError('showClear() expects a boolean parameter'); 1845 } 1846 1847 options.showClear = showClear; 1848 if (widget) { 1849 hide(); 1850 show(); 1851 } 1852 return picker; 1853 }; 1854 1855 picker.widgetParent = function (widgetParent) { 1856 if (arguments.length === 0) { 1857 return options.widgetParent; 1858 } 1859 1860 if (typeof widgetParent === 'string') { 1861 widgetParent = $(widgetParent); 1862 } 1863 1864 if (widgetParent !== null && (typeof widgetParent !== 'string' && !(widgetParent instanceof $))) { 1865 throw new TypeError('widgetParent() expects a string or a jQuery object parameter'); 1866 } 1867 1868 options.widgetParent = widgetParent; 1869 if (widget) { 1870 hide(); 1871 show(); 1872 } 1873 return picker; 1874 }; 1875 1876 picker.keepOpen = function (keepOpen) { 1877 if (arguments.length === 0) { 1878 return options.keepOpen; 1879 } 1880 1881 if (typeof keepOpen !== 'boolean') { 1882 throw new TypeError('keepOpen() expects a boolean parameter'); 1883 } 1884 1885 options.keepOpen = keepOpen; 1886 return picker; 1887 }; 1888 1889 picker.inline = function (inline) { 1890 if (arguments.length === 0) { 1891 return options.inline; 1892 } 1893 1894 if (typeof inline !== 'boolean') { 1895 throw new TypeError('inline() expects a boolean parameter'); 1896 } 1897 1898 options.inline = inline; 1899 return picker; 1900 }; 1901 1902 picker.clear = function () { 1903 clear(); 1904 return picker; 1905 }; 1906 1907 picker.keyBinds = function (keyBinds) { 1908 options.keyBinds = keyBinds; 1909 return picker; 1910 }; 1911 1912 picker.dateText = function (dateText) { 1913 options.dateText = dateText; 1914 return picker; 1915 }; 1916 1917 picker.timeText = function (timeText) { 1918 options.timeText = timeText; 1919 return picker; 1920 }; 1921 1922 picker.debug = function (debug) { 1923 if (typeof debug !== 'boolean') { 1924 throw new TypeError('debug() expects a boolean parameter'); 1925 } 1926 1927 options.debug = debug; 1928 return picker; 1929 }; 1930 1931 picker.showClose = function (showClose) { 1932 if (arguments.length === 0) { 1933 return options.showClose; 1934 } 1935 1936 if (typeof showClose !== 'boolean') { 1937 throw new TypeError('showClose() expects a boolean parameter'); 1938 } 1939 1940 options.showClose = showClose; 1941 return picker; 1942 }; 1943 1944 picker.keepInvalid = function (keepInvalid) { 1945 if (arguments.length === 0) { 1946 return options.keepInvalid; 1947 } 1948 1949 if (typeof keepInvalid !== 'boolean') { 1950 throw new TypeError('keepInvalid() expects a boolean parameter'); 1951 } 1952 options.keepInvalid = keepInvalid; 1953 return picker; 1954 }; 1955 1956 picker.datepickerInput = function (datepickerInput) { 1957 if (arguments.length === 0) { 1958 return options.datepickerInput; 1959 } 1960 1961 if (typeof datepickerInput !== 'string') { 1962 throw new TypeError('datepickerInput() expects a string parameter'); 1963 } 1964 1965 options.datepickerInput = datepickerInput; 1966 return picker; 1967 }; 1968 1969 // initializing element and component attributes 1970 if (element.is('input')) { 1971 input = element; 1972 } else { 1973 input = element.find(options.datepickerInput); 1974 if (input.size() === 0) { 1975 input = element.find('input'); 1976 } else if (!input.is('input')) { 1977 throw new Error('CSS class "' + options.datepickerInput + '" cannot be applied to non input element'); 1978 } 1979 } 1980 1981 if (element.hasClass('input-group')) { 1982 // in case there is more then one 'input-group-addon' Issue #48 1983 if (element.find('.datepickerbutton').size() === 0) { 1984 component = element.find('[class^="input-group-"]'); 1985 } else { 1986 component = element.find('.datepickerbutton'); 1987 } 1988 } 1989 1990 if (!options.inline && !input.is('input')) { 1991 throw new Error('Could not initialize DateTimePicker without an input element'); 1992 } 1993 1994 $.extend(true, options, dataToOptions()); 1995 1996 picker.options(options); 1997 1998 initFormatting(); 1999 2000 attachDatePickerElementEvents(); 2001 2002 if (input.prop('disabled')) { 2003 picker.disable(); 2004 } 2005 if (input.is('input') && input.val().trim().length !== 0) { 2006 setValue(parseInputDate(input.val().trim())); 2007 }
2008 else if (options.defaultDate && input.attr('placeholder') === undefined) { 2009 setValue(options.defaultDate); 2010 } 2011 if (options.inline) { 2012 show(); 2013 } 2014 return picker; 2015 }; 2016 2017 /******************************************************************************** 2018 * 2019 * jQuery plugin constructor and defaults object 2020 * 2021 ********************************************************************************/ 2022 2023 $.fn.datetimepicker = function (options) { 2024 return this.each(function () { 2025 var $this = $(this); 2026 if (!$this.data('DateTimePicker')) { 2027 // create a private copy of the defaults object 2028 options = $.extend(true, {}, $.fn.datetimepicker.defaults, options); 2029 $this.data('DateTimePicker', dateTimePicker($this, options)); 2030 } 2031 }); 2032 }; 2033 2034 $.fn.datetimepicker.defaults = { 2035 format: false, 2036 dayViewHeaderFormat: 'MMMM YYYY', 2037 extraFormats: false, 2038 stepping: 1, 2039 minDate: false, 2040 maxDate: false, 2041 useCurrent: true, 2042 collapse: true, 2043 locale: moment.locale(), 2044 defaultDate: false, 2045 disabledDates: false, 2046 enabledDates: false, 2047 icons: { 2048 time: 'glyphicon glyphicon-time', 2049 date: 'glyphicon glyphicon-calendar', 2050 up: 'glyphicon glyphicon-chevron-up', 2051 down: 'glyphicon glyphicon-chevron-down', 2052 previous: 'glyphicon glyphicon-chevron-left', 2053 next: 'glyphicon glyphicon-chevron-right', 2054 today: 'glyphicon glyphicon-screenshot', 2055 clear: 'glyphicon glyphicon-trash', 2056 close: 'glyphicon glyphicon-remove' 2057 }, 2058 useStrict: false, 2059 sideBySide: false, 2060 daysOfWeekDisabled: [], 2061 calendarWeeks: false, 2062 viewMode: 'days', 2063 toolbarPlacement: 'default', 2064 showTodayButton: false, 2065 showClear: false, 2066 showClose: false, 2067 widgetPositioning: { 2068 horizontal: 'auto', 2069 vertical: 'auto' 2070 }, 2071 widgetParent: null, 2072 ignoreReadonly: false, 2073 keepOpen: false, 2074 inline: false, 2075 keepInvalid: false, 2076 datepickerInput: '.datepickerinput', 2077 keyBinds: { 2078 up: function (widget) { 2079 if (!widget) { 2080 return; 2081 } 2082 var d = this.date() || moment(); 2083 if (widget.find('.datepicker').is(':visible')) { 2084 this.date(d.clone().subtract(7, 'd')); 2085 } else { 2086 this.date(d.clone().add(1, 'm')); 2087 } 2088 }, 2089 down: function (widget) { 2090 if (!widget) { 2091 this.show(); 2092 return; 2093 } 2094 var d = this.date() || moment(); 2095 if (widget.find('.datepicker').is(':visible')) { 2096 this.date(d.clone().add(7, 'd')); 2097 } else { 2098 this.date(d.clone().subtract(1, 'm')); 2099 } 2100 }, 2101 'control up': function (widget) { 2102 if (!widget) { 2103 return; 2104 } 2105 var d = this.date() || moment(); 2106 if (widget.find('.datepicker').is(':visible')) { 2107 this.date(d.clone().subtract(1, 'y')); 2108 } else { 2109 this.date(d.clone().add(1, 'h')); 2110 } 2111 }, 2112 'control down': function (widget) { 2113 if (!widget) { 2114 return; 2115 } 2116 var d = this.date() || moment(); 2117 if (widget.find('.datepicker').is(':visible')) { 2118 this.date(d.clone().add(1, 'y')); 2119 } else { 2120 this.date(d.clone().subtract(1, 'h')); 2121 } 2122 }, 2123 left: function (widget) { 2124 if (!widget) { 2125 return; 2126 } 2127 var d = this.date() || moment(); 2128 if (widget.find('.datepicker').is(':visible')) { 2129 this.date(d.clone().subtract(1, 'd')); 2130 } 2131 }, 2132 right: function (widget) { 2133 if (!widget) { 2134 return; 2135 } 2136 var d = this.date() || moment(); 2137 if (widget.find('.datepicker').is(':visible')) { 2138 this.date(d.clone().add(1, 'd')); 2139 } 2140 }, 2141 pageUp: function (widget) { 2142 if (!widget) { 2143 return; 2144 } 2145 var d = this.date() || moment(); 2146 if (widget.find('.datepicker').is(':visible')) { 2147 this.date(d.clone().subtract(1, 'M')); 2148 } 2149 }, 2150 pageDown: function (widget) { 2151 if (!widget) { 2152 return; 2153 } 2154 var d = this.date() || moment(); 2155 if (widget.find('.datepicker').is(':visible')) { 2156 this.date(d.clone().add(1, 'M')); 2157 } 2158 }, 2159 enter: function () { 2160 this.hide(); 2161 }, 2162 escape: function () { 2163 this.hide(); 2164 }, 2165 //tab: function (widget) { //this break the flow of the form. disabling for now 2166 // var toggle = widget.find('.picker-switch a[data-action="togglePicker"]'); 2167 // if(toggle.length > 0) toggle.click(); 2168 //}, 2169 'control space': function (widget) { 2170 if (widget.find('.timepicker').is(':visible')) { 2171 widget.find('.btn[data-action="togglePeriod"]').click(); 2172 } 2173 }, 2174 t: function () { 2175 this.date(moment()); 2176 }, 2177 'delete': function () { 2178 this.clear(); 2179 } 2180 }, 2181 debug: false 2182 }; 2183})); 2184 $("#stacks_in_7060 button").prop("type", "submit"); 2185 floatLabel(".floatLabel"); 2186 setTimeout(function(){ 2187 $(".submitMessage").remove(); 2188 }, 5000); 2189 //fix for checkbox validation 2190 $(".com_onelittledesigner_stacks_Super_Forms_Checkbox_stack").click(function() { 2191 $("input:checkbox",this).removeClass("hasError"); 2192 }); 2193 $(".upload").click(function() { 2194 $(this).removeClass("hasError"); 2195 }); 2196 // 2197 // 2198 // 2199 // 2200 }); 2201})(jQuery); 2202 2203return stack;})(stacks.stacks_in_7060); 2204stacks.stacks_in_7068 = {}; 2205stacks.stacks_in_7068 = (function(stack) { 2206var jQuery = stacks.jQuery;var $ = jQuery;$(document).ready(function() { 2207 $("#stacks_in_7068").parent().css({ 2208 "overflow" : "visible" 2209 }); 2210 // 2211 $("#input-stacks_in_7068").blur(function() { 2212 if(!$("#input-stacks_in_7068").val()) { 2213 $("#input-stacks_in_7068").addClass("hasError"); 2214 } else { 2215 $("#input-stacks_in_7068").removeClass("hasError"); 2216 } 2217 }); 2218 // 2219 // 2220}); 2221 2222return stack;})(stacks.stacks_in_7068); 2223stacks.stacks_in_7069 = {}; 2224stacks.stacks_in_7069 = (function(stack) { 2225var jQuery = stacks.jQuery;var $ = jQuery;$(document).ready(function() { 2226 $("#stacks_in_7069").parent().css({ 2227 "overflow" : "visible" 2228 }); 2229 2230 $("#email-stacks_in_7069").blur(function() { 2231 if(($("#email-stacks_in_7069").val().indexOf("@") == -1) || ($("#email-stacks_in_7069").val().indexOf(".") == -1)) { 2232 $("#email-stacks_in_7069").addClass("hasError"); 2233 } else { 2234 $("#email-stacks_in_7069").removeClass("hasError"); 2235 } 2236 }); 2237 2238}); 2239 2240return stack;})(stacks.stacks_in_7069); 2241stacks.stacks_in_7070 = {}; 2242stacks.stacks_in_7070 = (function(stack) { 2243var jQuery = stacks.jQuery;var $ = jQuery;$(document).ready(function() { 2244 $("#stacks_in_7070").parent().css({ 2245 "overflow" : "visible" 2246 }); 2247 // 2248 $("#input-stacks_in_7070").blur(function() { 2249 if(!$("#input-stacks_in_7070").val()) { 2250 $("#input-stacks_in_7070").addClass("hasError"); 2251 } else { 2252 $("#input-stacks_in_7070").removeClass("hasError"); 2253 } 2254 }); 2255 // 2256 // 2257}); 2258 2259return stack;})(stacks.stacks_in_7070); 2260stacks.stacks_in_7071 = {}; 2261stacks.stacks_in_7071 = (function(stack) { 2262var jQuery = stacks.jQuery;var $ = jQuery;$(document).ready(function() { 2263 $("#stacks_in_7071").parent().css({ 2264 "overflow" : "visible" 2265 }); 2266 2267 $("#textarea-stacks_in_7071").blur(function() { 2268 if(!$("#textarea-stacks_in_7071").val()) { 2269 $("#textarea-stacks_in_7071").addClass("hasError"); 2270 } else { 2271 $("#textarea-stacks_in_7071").removeClass("hasError"); 2272 } 2273 }); 2274 2275}); 2276 2277return stack;})(stacks.stacks_in_7071); 2278stacks.stacks_in_7072 = {}; 2279stacks.stacks_in_7072 = (function(stack) { 2280var jQuery = stacks.jQuery;var $ = jQuery;$(document).ready(function() { 2281 $("#stacks_in_7072").parent().css({ 2282 "overflow" : "visible" 2283 }); 2284}); 2285 2286return stack;})(stacks.stacks_in_7072); 2287stacks.stacks_in_7094 = {}; 2288stacks.stacks_in_7094 = (function(stack) { 2289var jQuery = stacks.jQuery;var $ = jQuery; 2290 2291return stack;})(stacks.stacks_in_7094); 2292stacks.stacks_in_5868 = {}; 2293stacks.stacks_in_5868 = (function(stack) { 2294var jQuery = stacks.jQuery;var $ = jQuery; 2295 2296return stack;})(stacks.stacks_in_5868); 2297stacks.stacks_in_6994 = {}; 2298stacks.stacks_in_6994 = (function(stack) { 2299var jQuery = stacks.jQuery;var $ = jQuery;;(function(){'use strict';var ScrollScope=function(options){var self=this;self.mainContainer=null;self.selector=null;self.settings=$.extend({elements:'[data-scroll-scope]',forcedElements:'[data-scroll-scope="force"]',events:'DOMMouseScroll mousewheel scroll touchstart touchmove'},(options&&(options.elements||options.forcedElements||options.events)?options:{}));self.getTargetedElements=function(){return self.mainContainer.find(self.selector)};self.getSelector=function(selectors){var legits=[];for(var i=0;i<selectors.length;i++){if(selectors[i]&&selectors[i].length){legits.push(selectors[i])}}return legits.length?legits.join(', '):null};self.normalizeJqueryObject=function(container){if(container){return(container instanceof jQuery)?container:$(container)}return null};self.killScrolling=function(event,force){if(force||(event.type!=='touchmove'&&event.type!=='touchstart')){event.preventDefault();event.stopPropagation();event.returnValue=false;return false}};self.onScroll=function(event){if(event.isLegitScroll){return true}var element=$(this);var force=(self.settings.forcedElements&&element.is(self.settings.forcedElements));var scrollHeight=this.scrollHeight;var apparentHeight=element.outerHeight();var scrollingLeft=scrollHeight-apparentHeight-this.scrollTop;if(scrollHeight<=apparentHeight){if(force&&event.type!=='touchstart'){return self.killScrolling(event,force)}return true}var delta=event.originalEvent.wheelDelta;if(force&&typeof delta==='undefined'&&(event.type==='touchstart')){if(this.scrollTop<=0){element.scrollTop(1)}else if(scrollingLeft<=0){element.scrollTop(scrollHeight-apparentHeight-1)}}var goingUp=delta>0;if(!goingUp&&-delta>scrollingLeft){element.scrollTop(this.scrollHeight);return self.killScrolling(event,force)}else if(goingUp&&delta>this.scrollTop){element.scrollTop(0);return self.killScrolling(event,force)}event.isLegitScroll=true;return true};self.unbind=function(){if(self.mainContainer){self.mainContainer.off(self.settings.events,self.selector,self.onScroll)}return self};self.bind=function(container){container=self.normalizeJqueryObject(container);if(container){self.unbind()}self.mainContainer=container;self.mainContainer.on(self.settings.events,self.selector,self.onScroll);return self};self.settings.elements=self.getSelector([self.settings.elements]);self.settings.forcedElements=self.getSelector([self.settings.forcedElements]);self.selector=self.getSelector([self.settings.elements,self.settings.forcedElements])};if(typeof define==='function'&&typeof define.amd==='object'&&define.amd){define(function(){return ScrollScope})}else if(typeof module!=='undefined'&&module.exports){module.exports=ScrollScope}else{window.ScrollScope=ScrollScope;if(jQuery){(function($){$.fn.scrollScope=function(options){var obj=new ScrollScope(options);obj.bind(this);return obj.mainContainer}}
2299(jQuery))}}}());$(document).scrollScope({elements:'[data-scroll-scope]',forcedElements:'[data-scroll-scope="force"]',events:'DOMMouseScroll mousewheel scroll touchstart touchmove'}); 2300return stack;})(stacks.stacks_in_6994); 2301stacks.stacks_in_5877 = {}; 2302stacks.stacks_in_5877 = (function(stack) { 2303var jQuery = stacks.jQuery;var $ = jQuery; 2304 2305return stack;})(stacks.stacks_in_5877); 2306stacks.stacks_in_7040 = {}; 2307stacks.stacks_in_7040 = (function(stack) { 2308var jQuery = stacks.jQuery;var $ = jQuery;;(function(){'use strict';var ScrollScope=function(options){var self=this;self.mainContainer=null;self.selector=null;self.settings=$.extend({elements:'[data-scroll-scope]',forcedElements:'[data-scroll-scope="force"]',events:'DOMMouseScroll mousewheel scroll touchstart touchmove'},(options&&(options.elements||options.forcedElements||options.events)?options:{}));self.getTargetedElements=function(){return self.mainContainer.find(self.selector)};self.getSelector=function(selectors){var legits=[];for(var i=0;i<selectors.length;i++){if(selectors[i]&&selectors[i].length){legits.push(selectors[i])}}return legits.length?legits.join(', '):null};self.normalizeJqueryObject=function(container){if(container){return(container instanceof jQuery)?container:$(container)}return null};self.killScrolling=function(event,force){if(force||(event.type!=='touchmove'&&event.type!=='touchstart')){event.preventDefault();event.stopPropagation();event.returnValue=false;return false}};self.onScroll=function(event){if(event.isLegitScroll){return true}var element=$(this);var force=(self.settings.forcedElements&&element.is(self.settings.forcedElements));var scrollHeight=this.scrollHeight;var apparentHeight=element.outerHeight();var scrollingLeft=scrollHeight-apparentHeight-this.scrollTop;if(scrollHeight<=apparentHeight){if(force&&event.type!=='touchstart'){return self.killScrolling(event,force)}return true}var delta=event.originalEvent.wheelDelta;if(force&&typeof delta==='undefined'&&(event.type==='touchstart')){if(this.scrollTop<=0){element.scrollTop(1)}else if(scrollingLeft<=0){element.scrollTop(scrollHeight-apparentHeight-1)}}var goingUp=delta>0;if(!goingUp&&-delta>scrollingLeft){element.scrollTop(this.scrollHeight);return self.killScrolling(event,force)}else if(goingUp&&delta>this.scrollTop){element.scrollTop(0);return self.killScrolling(event,force)}event.isLegitScroll=true;return true};self.unbind=function(){if(self.mainContainer){self.mainContainer.off(self.settings.events,self.selector,self.onScroll)}return self};self.bind=function(container){container=self.normalizeJqueryObject(container);if(container){self.unbind()}self.mainContainer=container;self.mainContainer.on(self.settings.events,self.selector,self.onScroll);return self};self.settings.elements=self.getSelector([self.settings.elements]);self.settings.forcedElements=self.getSelector([self.settings.forcedElements]);self.selector=self.getSelector([self.settings.elements,self.settings.forcedElements])};if(typeof define==='function'&&typeof define.amd==='object'&&define.amd){define(function(){return ScrollScope})}else if(typeof module!=='undefined'&&module.exports){module.exports=ScrollScope}else{window.ScrollScope=ScrollScope;if(jQuery){(function($){$.fn.scrollScope=function(options){var obj=new ScrollScope(options);obj.bind(this);return obj.mainContainer}}(jQuery))}}}());$(document).scrollScope({elements:'[data-scroll-scope]',forcedElements:'[data-scroll-scope="force"]',events:'DOMMouseScroll mousewheel scroll touchstart touchmove'}); 2309return stack;})(stacks.stacks_in_7040); 2310stacks.stacks_in_5887 = {}; 2311stacks.stacks_in_5887 = (function(stack) { 2312var jQuery = stacks.jQuery;var $ = jQuery; $(document).ready(function(){var stack=$('#stacks_in_5887');$('.breadcrumbs li',stack).last().addClass('current');$('.breadcrumbs a header',stack).unwrap().parent().addClass('unavailable');}); 2313 2314return stack;})(stacks.stacks_in_5887);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.