/* Minification failed. Returning unminified contents.
(33116,76-77): run-time error JS1010: Expected identifier: .
(33116,76-77): run-time error JS1195: Expected expression: .
(33116,89-93): run-time error JS1034: Unmatched 'else'; no 'if' defined: else
 */
/*! jQuery v1.8.3 jquery.com | jquery.org/license */
(function(e,t){function _(e){var t=M[e]={};return v.each(e.split(y),function(e,n){t[n]=!0}),t}function H(e,n,r){if(r===t&&e.nodeType===1){var i="data-"+n.replace(P,"-$1").toLowerCase();r=e.getAttribute(i);if(typeof r=="string"){try{r=r==="true"?!0:r==="false"?!1:r==="null"?null:+r+""===r?+r:D.test(r)?v.parseJSON(r):r}catch(s){}v.data(e,n,r)}else r=t}return r}function B(e){var t;for(t in e){if(t==="data"&&v.isEmptyObject(e[t]))continue;if(t!=="toJSON")return!1}return!0}function et(){return!1}function tt(){return!0}function ut(e){return!e||!e.parentNode||e.parentNode.nodeType===11}function at(e,t){do e=e[t];while(e&&e.nodeType!==1);return e}function ft(e,t,n){t=t||0;if(v.isFunction(t))return v.grep(e,function(e,r){var i=!!t.call(e,r,e);return i===n});if(t.nodeType)return v.grep(e,function(e,r){return e===t===n});if(typeof t=="string"){var r=v.grep(e,function(e){return e.nodeType===1});if(it.test(t))return v.filter(t,r,!n);t=v.filter(t,r)}return v.grep(e,function(e,r){return v.inArray(e,t)>=0===n})}function lt(e){var t=ct.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}function Lt(e,t){return e.getElementsByTagName(t)[0]||e.appendChild(e.ownerDocument.createElement(t))}function At(e,t){if(t.nodeType!==1||!v.hasData(e))return;var n,r,i,s=v._data(e),o=v._data(t,s),u=s.events;if(u){delete o.handle,o.events={};for(n in u)for(r=0,i=u[n].length;r<i;r++)v.event.add(t,n,u[n][r])}o.data&&(o.data=v.extend({},o.data))}function Ot(e,t){var n;if(t.nodeType!==1)return;t.clearAttributes&&t.clearAttributes(),t.mergeAttributes&&t.mergeAttributes(e),n=t.nodeName.toLowerCase(),n==="object"?(t.parentNode&&(t.outerHTML=e.outerHTML),v.support.html5Clone&&e.innerHTML&&!v.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):n==="input"&&Et.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):n==="option"?t.selected=e.defaultSelected:n==="input"||n==="textarea"?t.defaultValue=e.defaultValue:n==="script"&&t.text!==e.text&&(t.text=e.text),t.removeAttribute(v.expando)}function Mt(e){return typeof e.getElementsByTagName!="undefined"?e.getElementsByTagName("*"):typeof e.querySelectorAll!="undefined"?e.querySelectorAll("*"):[]}function _t(e){Et.test(e.type)&&(e.defaultChecked=e.checked)}function Qt(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=Jt.length;while(i--){t=Jt[i]+n;if(t in e)return t}return r}function Gt(e,t){return e=t||e,v.css(e,"display")==="none"||!v.contains(e.ownerDocument,e)}function Yt(e,t){var n,r,i=[],s=0,o=e.length;for(;s<o;s++){n=e[s];if(!n.style)continue;i[s]=v._data(n,"olddisplay"),t?(!i[s]&&n.style.display==="none"&&(n.style.display=""),n.style.display===""&&Gt(n)&&(i[s]=v._data(n,"olddisplay",nn(n.nodeName)))):(r=Dt(n,"display"),!i[s]&&r!=="none"&&v._data(n,"olddisplay",r))}for(s=0;s<o;s++){n=e[s];if(!n.style)continue;if(!t||n.style.display==="none"||n.style.display==="")n.style.display=t?i[s]||"":"none"}return e}function Zt(e,t,n){var r=Rt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function en(e,t,n,r){var i=n===(r?"border":"content")?4:t==="width"?1:0,s=0;for(;i<4;i+=2)n==="margin"&&(s+=v.css(e,n+$t[i],!0)),r?(n==="content"&&(s-=parseFloat(Dt(e,"padding"+$t[i]))||0),n!=="margin"&&(s-=parseFloat(Dt(e,"border"+$t[i]+"Width"))||0)):(s+=parseFloat(Dt(e,"padding"+$t[i]))||0,n!=="padding"&&(s+=parseFloat(Dt(e,"border"+$t[i]+"Width"))||0));return s}function tn(e,t,n){var r=t==="width"?e.offsetWidth:e.offsetHeight,i=!0,s=v.support.boxSizing&&v.css(e,"boxSizing")==="border-box";if(r<=0||r==null){r=Dt(e,t);if(r<0||r==null)r=e.style[t];if(Ut.test(r))return r;i=s&&(v.support.boxSizingReliable||r===e.style[t]),r=parseFloat(r)||0}return r+en(e,t,n||(s?"border":"content"),i)+"px"}function nn(e){if(Wt[e])return Wt[e];var t=v("<"+e+">").appendTo(i.body),n=t.css("display");t.remove();if(n==="none"||n===""){Pt=i.body.appendChild(Pt||v.extend(i.createElement("iframe"),{frameBorder:0,width:0,height:0}));if(!Ht||!Pt.createElement)Ht=(Pt.contentWindow||Pt.contentDocument).document,Ht.write("<!doctype html><html><body>"),Ht.close();t=Ht.body.appendChild(Ht.createElement(e)),n=Dt(t,"display"),i.body.removeChild(Pt)}return Wt[e]=n,n}function fn(e,t,n,r){var i;if(v.isArray(t))v.each(t,function(t,i){n||sn.test(e)?r(e,i):fn(e+"["+(typeof i=="object"?t:"")+"]",i,n,r)});else if(!n&&v.type(t)==="object")for(i in t)fn(e+"["+i+"]",t[i],n,r);else r(e,t)}function Cn(e){return function(t,n){typeof t!="string"&&(n=t,t="*");var r,i,s,o=t.toLowerCase().split(y),u=0,a=o.length;if(v.isFunction(n))for(;u<a;u++)r=o[u],s=/^\+/.test(r),s&&(r=r.substr(1)||"*"),i=e[r]=e[r]||[],i[s?"unshift":"push"](n)}}function kn(e,n,r,i,s,o){s=s||n.dataTypes[0],o=o||{},o[s]=!0;var u,a=e[s],f=0,l=a?a.length:0,c=e===Sn;for(;f<l&&(c||!u);f++)u=a[f](n,r,i),typeof u=="string"&&(!c||o[u]?u=t:(n.dataTypes.unshift(u),u=kn(e,n,r,i,u,o)));return(c||!u)&&!o["*"]&&(u=kn(e,n,r,i,"*",o)),u}function Ln(e,n){var r,i,s=v.ajaxSettings.flatOptions||{};for(r in n)n[r]!==t&&((s[r]?e:i||(i={}))[r]=n[r]);i&&v.extend(!0,e,i)}function An(e,n,r){var i,s,o,u,a=e.contents,f=e.dataTypes,l=e.responseFields;for(s in l)s in r&&(n[l[s]]=r[s]);while(f[0]==="*")f.shift(),i===t&&(i=e.mimeType||n.getResponseHeader("content-type"));if(i)for(s in a)if(a[s]&&a[s].test(i)){f.unshift(s);break}if(f[0]in r)o=f[0];else{for(s in r){if(!f[0]||e.converters[s+" "+f[0]]){o=s;break}u||(u=s)}o=o||u}if(o)return o!==f[0]&&f.unshift(o),r[o]}function On(e,t){var n,r,i,s,o=e.dataTypes.slice(),u=o[0],a={},f=0;e.dataFilter&&(t=e.dataFilter(t,e.dataType));if(o[1])for(n in e.converters)a[n.toLowerCase()]=e.converters[n];for(;i=o[++f];)if(i!=="*"){if(u!=="*"&&u!==i){n=a[u+" "+i]||a["* "+i];if(!n)for(r in a){s=r.split(" ");if(s[1]===i){n=a[u+" "+s[0]]||a["* "+s[0]];if(n){n===!0?n=a[r]:a[r]!==!0&&(i=s[0],o.splice(f--,0,i));break}}}if(n!==!0)if(n&&e["throws"])t=n(t);else try{t=n(t)}catch(l){return{state:"parsererror",error:n?l:"No conversion from "+u+" to "+i}}}u=i}return{state:"success",data:t}}function Fn(){try{return new e.XMLHttpRequest}catch(t){}}function In(){try{return new e.ActiveXObject("Microsoft.XMLHTTP")}catch(t){}}function $n(){return setTimeout(function(){qn=t},0),qn=v.now()}function Jn(e,t){v.each(t,function(t,n){var r=(Vn[t]||[]).concat(Vn["*"]),i=0,s=r.length;for(;i<s;i++)if(r[i].call(e,t,n))return})}function Kn(e,t,n){var r,i=0,s=0,o=Xn.length,u=v.Deferred().always(function(){delete a.elem}),a=function(){var t=qn||$n(),n=Math.max(0,f.startTime+f.duration-t),r=n/f.duration||0,i=1-r,s=0,o=f.tweens.length;for(;s<o;s++)f.tweens[s].run(i);return u.notifyWith(e,[f,i,n]),i<1&&o?n:(u.resolveWith(e,[f]),!1)},f=u.promise({elem:e,props:v.extend({},t),opts:v.extend(!0,{specialEasing:{}},n),originalProperties:t,originalOptions:n,startTime:qn||$n(),duration:n.duration,tweens:[],createTween:function(t,n,r){var i=v.Tween(e,f.opts,t,n,f.opts.specialEasing[t]||f.opts.easing);return f.tweens.push(i),i},stop:function(t){var n=0,r=t?f.tweens.length:0;for(;n<r;n++)f.tweens[n].run(1);return t?u.resolveWith(e,[f,t]):u.rejectWith(e,[f,t]),this}}),l=f.props;Qn(l,f.opts.specialEasing);for(;i<o;i++){r=Xn[i].call(f,e,l,f.opts);if(r)return r}return Jn(f,l),v.isFunction(f.opts.start)&&f.opts.start.call(e,f),v.fx.timer(v.extend(a,{anim:f,queue:f.opts.queue,elem:e})),f.progress(f.opts.progress).done(f.opts.done,f.opts.complete).fail(f.opts.fail).always(f.opts.always)}function Qn(e,t){var n,r,i,s,o;for(n in e){r=v.camelCase(n),i=t[r],s=e[n],v.isArray(s)&&(i=s[1],s=e[n]=s[0]),n!==r&&(e[r]=s,delete e[n]),o=v.cssHooks[r];if(o&&"expand"in o){s=o.expand(s),delete e[r];for(n in s)n in e||(e[n]=s[n],t[n]=i)}else t[r]=i}}function Gn(e,t,n){var r,i,s,o,u,a,f,l,c,h=this,p=e.style,d={},m=[],g=e.nodeType&&Gt(e);n.queue||(l=v._queueHooks(e,"fx"),l.unqueued==null&&(l.unqueued=0,c=l.empty.fire,l.empty.fire=function(){l.unqueued||c()}),l.unqueued++,h.always(function(){h.always(function(){l.unqueued--,v.queue(e,"fx").length||l.empty.fire()})})),e.nodeType===1&&("height"in t||"width"in t)&&(n.overflow=[p.overflow,p.overflowX,p.overflowY],v.css(e,"display")==="inline"&&v.css(e,"float")==="none"&&(!v.support.inlineBlockNeedsLayout||nn(e.nodeName)==="inline"?p.display="inline-block":p.zoom=1)),n.overflow&&(p.overflow="hidden",v.support.shrinkWrapBlocks||h.done(function(){p.overflow=n.overflow[0],p.overflowX=n.overflow[1],p.overflowY=n.overflow[2]}));for(r in t){s=t[r];if(Un.exec(s)){delete t[r],a=a||s==="toggle";if(s===(g?"hide":"show"))continue;m.push(r)}}o=m.length;if(o){u=v._data(e,"fxshow")||v._data(e,"fxshow",{}),"hidden"in u&&(g=u.hidden),a&&(u.hidden=!g),g?v(e).show():h.done(function(){v(e).hide()}),h.done(function(){var t;v.removeData(e,"fxshow",!0);for(t in d)v.style(e,t,d[t])});for(r=0;r<o;r++)i=m[r],f=h.createTween(i,g?u[i]:0),d[i]=u[i]||v.style(e,i),i in u||(u[i]=f.start,g&&(f.end=f.start,f.start=i==="width"||i==="height"?1:0))}}function Yn(e,t,n,r,i){return new Yn.prototype.init(e,t,n,r,i)}function Zn(e,t){var n,r={height:e},i=0;t=t?1:0;for(;i<4;i+=2-t)n=$t[i],r["margin"+n]=r["padding"+n]=e;return t&&(r.opacity=r.width=e),r}function tr(e){return v.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:!1}var n,r,i=e.document,s=e.location,o=e.navigator,u=e.jQuery,a=e.$,f=Array.prototype.push,l=Array.prototype.slice,c=Array.prototype.indexOf,h=Object.prototype.toString,p=Object.prototype.hasOwnProperty,d=String.prototype.trim,v=function(e,t){return new v.fn.init(e,t,n)},m=/[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source,g=/\S/,y=/\s+/,b=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,w=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,E=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,S=/^[\],:{}\s]*$/,x=/(?:^|:|,)(?:\s*\[)+/g,T=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,N=/"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g,C=/^-ms-/,k=/-([\da-z])/gi,L=function(e,t){return(t+"").toUpperCase()},A=function(){i.addEventListener?(i.removeEventListener("DOMContentLoaded",A,!1),v.ready()):i.readyState==="complete"&&(i.detachEvent("onreadystatechange",A),v.ready())},O={};v.fn=v.prototype={constructor:v,init:function(e,n,r){var s,o,u,a;if(!e)return this;if(e.nodeType)return this.context=this[0]=e,this.length=1,this;if(typeof e=="string"){e.charAt(0)==="<"&&e.charAt(e.length-1)===">"&&e.length>=3?s=[null,e,null]:s=w.exec(e);if(s&&(s[1]||!n)){if(s[1])return n=n instanceof v?n[0]:n,a=n&&n.nodeType?n.ownerDocument||n:i,e=v.parseHTML(s[1],a,!0),E.test(s[1])&&v.isPlainObject(n)&&this.attr.call(e,n,!0),v.merge(this,e);o=i.getElementById(s[2]);if(o&&o.parentNode){if(o.id!==s[2])return r.find(e);this.length=1,this[0]=o}return this.context=i,this.selector=e,this}return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e)}return v.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),v.makeArray(e,this))},selector:"",jquery:"1.8.3",length:0,size:function(){return this.length},toArray:function(){return l.call(this)},get:function(e){return e==null?this.toArray():e<0?this[this.length+e]:this[e]},pushStack:function(e,t,n){var r=v.merge(this.constructor(),e);return r.prevObject=this,r.context=this.context,t==="find"?r.selector=this.selector+(this.selector?" ":"")+n:t&&(r.selector=this.selector+"."+t+"("+n+")"),r},each:function(e,t){return v.each(this,e,t)},ready:function(e){return v.ready.promise().done(e),this},eq:function(e){return e=+e,e===-1?this.slice(e):this.slice(e,e+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(l.apply(this,arguments),"slice",l.call(arguments).join(","))},map:function(e){return this.pushStack(v.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:[].sort,splice:[].splice},v.fn.init.prototype=v.fn,v.extend=v.fn.extend=function(){var e,n,r,i,s,o,u=arguments[0]||{},a=1,f=arguments.length,l=!1;typeof u=="boolean"&&(l=u,u=arguments[1]||{},a=2),typeof u!="object"&&!v.isFunction(u)&&(u={}),f===a&&(u=this,--a);for(;a<f;a++)if((e=arguments[a])!=null)for(n in e){r=u[n],i=e[n];if(u===i)continue;l&&i&&(v.isPlainObject(i)||(s=v.isArray(i)))?(s?(s=!1,o=r&&v.isArray(r)?r:[]):o=r&&v.isPlainObject(r)?r:{},u[n]=v.extend(l,o,i)):i!==t&&(u[n]=i)}return u},v.extend({noConflict:function(t){return e.$===v&&(e.$=a),t&&e.jQuery===v&&(e.jQuery=u),v},isReady:!1,readyWait:1,holdReady:function(e){e?v.readyWait++:v.ready(!0)},ready:function(e){if(e===!0?--v.readyWait:v.isReady)return;if(!i.body)return setTimeout(v.ready,1);v.isReady=!0;if(e!==!0&&--v.readyWait>0)return;r.resolveWith(i,[v]),v.fn.trigger&&v(i).trigger("ready").off("ready")},isFunction:function(e){return v.type(e)==="function"},isArray:Array.isArray||function(e){return v.type(e)==="array"},isWindow:function(e){return e!=null&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return e==null?String(e):O[h.call(e)]||"object"},isPlainObject:function(e){if(!e||v.type(e)!=="object"||e.nodeType||v.isWindow(e))return!1;try{if(e.constructor&&!p.call(e,"constructor")&&!p.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(n){return!1}var r;for(r in e);return r===t||p.call(e,r)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw new Error(e)},parseHTML:function(e,t,n){var r;return!e||typeof e!="string"?null:(typeof t=="boolean"&&(n=t,t=0),t=t||i,(r=E.exec(e))?[t.createElement(r[1])]:(r=v.buildFragment([e],t,n?null:[]),v.merge([],(r.cacheable?v.clone(r.fragment):r.fragment).childNodes)))},parseJSON:function(t){if(!t||typeof t!="string")return null;t=v.trim(t);if(e.JSON&&e.JSON.parse)return e.JSON.parse(t);if(S.test(t.replace(T,"@").replace(N,"]").replace(x,"")))return(new Function("return "+t))();v.error("Invalid JSON: "+t)},parseXML:function(n){var r,i;if(!n||typeof n!="string")return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(s){r=t}return(!r||!r.documentElement||r.getElementsByTagName("parsererror").length)&&v.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&g.test(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(C,"ms-").replace(k,L)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,n,r){var i,s=0,o=e.length,u=o===t||v.isFunction(e);if(r){if(u){for(i in e)if(n.apply(e[i],r)===!1)break}else for(;s<o;)if(n.apply(e[s++],r)===!1)break}else if(u){for(i in e)if(n.call(e[i],i,e[i])===!1)break}else for(;s<o;)if(n.call(e[s],s,e[s++])===!1)break;return e},trim:d&&!d.call("\ufeff\u00a0")?function(e){return e==null?"":d.call(e)}:function(e){return e==null?"":(e+"").replace(b,"")},makeArray:function(e,t){var n,r=t||[];return e!=null&&(n=v.type(e),e.length==null||n==="string"||n==="function"||n==="regexp"||v.isWindow(e)?f.call(r,e):v.merge(r,e)),r},inArray:function(e,t,n){var r;if(t){if(c)return c.call(t,e,n);r=t.length,n=n?n<0?Math.max(0,r+n):n:0;for(;n<r;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var r=n.length,i=e.length,s=0;if(typeof r=="number")for(;s<r;s++)e[i++]=n[s];else while(n[s]!==t)e[i++]=n[s++];return e.length=i,e},grep:function(e,t,n){var r,i=[],s=0,o=e.length;n=!!n;for(;s<o;s++)r=!!t(e[s],s),n!==r&&i.push(e[s]);return i},map:function(e,n,r){var i,s,o=[],u=0,a=e.length,f=e instanceof v||a!==t&&typeof a=="number"&&(a>0&&e[0]&&e[a-1]||a===0||v.isArray(e));if(f)for(;u<a;u++)i=n(e[u],u,r),i!=null&&(o[o.length]=i);else for(s in e)i=n(e[s],s,r),i!=null&&(o[o.length]=i);return o.concat.apply([],o)},guid:1,proxy:function(e,n){var r,i,s;return typeof n=="string"&&(r=e[n],n=e,e=r),v.isFunction(e)?(i=l.call(arguments,2),s=function(){return e.apply(n,i.concat(l.call(arguments)))},s.guid=e.guid=e.guid||v.guid++,s):t},access:function(e,n,r,i,s,o,u){var a,f=r==null,l=0,c=e.length;if(r&&typeof r=="object"){for(l in r)v.access(e,n,l,r[l],1,o,i);s=1}else if(i!==t){a=u===t&&v.isFunction(i),f&&(a?(a=n,n=function(e,t,n){return a.call(v(e),n)}):(n.call(e,i),n=null));if(n)for(;l<c;l++)n(e[l],r,a?i.call(e[l],l,n(e[l],r)):i,u);s=1}return s?e:f?n.call(e):c?n(e[0],r):o},now:function(){return(new Date).getTime()}}),v.ready.promise=function(t){if(!r){r=v.Deferred();if(i.readyState==="complete")setTimeout(v.ready,1);else if(i.addEventListener)i.addEventListener("DOMContentLoaded",A,!1),e.addEventListener("load",v.ready,!1);else{i.attachEvent("onreadystatechange",A),e.attachEvent("onload",v.ready);var n=!1;try{n=e.frameElement==null&&i.documentElement}catch(s){}n&&n.doScroll&&function o(){if(!v.isReady){try{n.doScroll("left")}catch(e){return setTimeout(o,50)}v.ready()}}()}}return r.promise(t)},v.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(e,t){O["[object "+t+"]"]=t.toLowerCase()}),n=v(i);var M={};v.Callbacks=function(e){e=typeof e=="string"?M[e]||_(e):v.extend({},e);var n,r,i,s,o,u,a=[],f=!e.once&&[],l=function(t){n=e.memory&&t,r=!0,u=s||0,s=0,o=a.length,i=!0;for(;a&&u<o;u++)if(a[u].apply(t[0],t[1])===!1&&e.stopOnFalse){n=!1;break}i=!1,a&&(f?f.length&&l(f.shift()):n?a=[]:c.disable())},c={add:function(){if(a){var t=a.length;(function r(t){v.each(t,function(t,n){var i=v.type(n);i==="function"?(!e.unique||!c.has(n))&&a.push(n):n&&n.length&&i!=="string"&&r(n)})})(arguments),i?o=a.length:n&&(s=t,l(n))}return this},remove:function(){return a&&v.each(arguments,function(e,t){var n;while((n=v.inArray(t,a,n))>-1)a.splice(n,1),i&&(n<=o&&o--,n<=u&&u--)}),this},has:function(e){return v.inArray(e,a)>-1},empty:function(){return a=[],this},disable:function(){return a=f=n=t,this},disabled:function(){return!a},lock:function(){return f=t,n||c.disable(),this},locked:function(){return!f},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],a&&(!r||f)&&(i?f.push(t):l(t)),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!r}};return c},v.extend({Deferred:function(e){var t=[["resolve","done",v.Callbacks("once memory"),"resolved"],["reject","fail",v.Callbacks("once memory"),"rejected"],["notify","progress",v.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return v.Deferred(function(n){v.each(t,function(t,r){var s=r[0],o=e[t];i[r[1]](v.isFunction(o)?function(){var e=o.apply(this,arguments);e&&v.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[s+"With"](this===i?n:this,[e])}:n[s])}),e=null}).promise()},promise:function(e){return e!=null?v.extend(e,r):r}},i={};return r.pipe=r.then,v.each(t,function(e,s){var o=s[2],u=s[3];r[s[1]]=o.add,u&&o.add(function(){n=u},t[e^1][2].disable,t[2][2].lock),i[s[0]]=o.fire,i[s[0]+"With"]=o.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=l.call(arguments),r=n.length,i=r!==1||e&&v.isFunction(e.promise)?r:0,s=i===1?e:v.Deferred(),o=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?l.call(arguments):r,n===u?s.notifyWith(t,n):--i||s.resolveWith(t,n)}},u,a,f;if(r>1){u=new Array(r),a=new Array(r),f=new Array(r);for(;t<r;t++)n[t]&&v.isFunction(n[t].promise)?n[t].promise().done(o(t,f,n)).fail(s.reject).progress(o(t,a,u)):--i}return i||s.resolveWith(f,n),s.promise()}}),v.support=function(){var t,n,r,s,o,u,a,f,l,c,h,p=i.createElement("div");p.setAttribute("className","t"),p.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",n=p.getElementsByTagName("*"),r=p.getElementsByTagName("a")[0];if(!n||!r||!n.length)return{};s=i.createElement("select"),o=s.appendChild(i.createElement("option")),u=p.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t={leadingWhitespace:p.firstChild.nodeType===3,tbody:!p.getElementsByTagName("tbody").length,htmlSerialize:!!p.getElementsByTagName("link").length,style:/top/.test(r.getAttribute("style")),hrefNormalized:r.getAttribute("href")==="/a",opacity:/^0.5/.test(r.style.opacity),cssFloat:!!r.style.cssFloat,checkOn:u.value==="on",optSelected:o.selected,getSetAttribute:p.className!=="t",enctype:!!i.createElement("form").enctype,html5Clone:i.createElement("nav").cloneNode(!0).outerHTML!=="<:nav></:nav>",boxModel:i.compatMode==="CSS1Compat",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},u.checked=!0,t.noCloneChecked=u.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!o.disabled;try{delete p.test}catch(d){t.deleteExpando=!1}!p.addEventListener&&p.attachEvent&&p.fireEvent&&(p.attachEvent("onclick",h=function(){t.noCloneEvent=!1}),p.cloneNode(!0).fireEvent("onclick"),p.detachEvent("onclick",h)),u=i.createElement("input"),u.value="t",u.setAttribute("type","radio"),t.radioValue=u.value==="t",u.setAttribute("checked","checked"),u.setAttribute("name","t"),p.appendChild(u),a=i.createDocumentFragment(),a.appendChild(p.lastChild),t.checkClone=a.cloneNode(!0).cloneNode(!0).lastChild.checked,t.appendChecked=u.checked,a.removeChild(u),a.appendChild(p);if(p.attachEvent)for(l in{submit:!0,change:!0,focusin:!0})f="on"+l,c=f in p,c||(p.setAttribute(f,"return;"),c=typeof p[f]=="function"),t[l+"Bubbles"]=c;return v(function(){var n,r,s,o,u="padding:0;margin:0;border:0;display:block;overflow:hidden;",a=i.getElementsByTagName("body")[0];if(!a)return;n=i.createElement("div"),n.style.cssText="visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px",a.insertBefore(n,a.firstChild),r=i.createElement("div"),n.appendChild(r),r.innerHTML="<table><tr><td></td><td>t</td></tr></table>",s=r.getElementsByTagName("td"),s[0].style.cssText="padding:0;margin:0;border:0;display:none",c=s[0].offsetHeight===0,s[0].style.display="",s[1].style.display="none",t.reliableHiddenOffsets=c&&s[0].offsetHeight===0,r.innerHTML="",r.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",t.boxSizing=r.offsetWidth===4,t.doesNotIncludeMarginInBodyOffset=a.offsetTop!==1,e.getComputedStyle&&(t.pixelPosition=(e.getComputedStyle(r,null)||{}).top!=="1%",t.boxSizingReliable=(e.getComputedStyle(r,null)||{width:"4px"}).width==="4px",o=i.createElement("div"),o.style.cssText=r.style.cssText=u,o.style.marginRight=o.style.width="0",r.style.width="1px",r.appendChild(o),t.reliableMarginRight=!parseFloat((e.getComputedStyle(o,null)||{}).marginRight)),typeof r.style.zoom!="undefined"&&(r.innerHTML="",r.style.cssText=u+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=r.offsetWidth===3,r.style.display="block",r.style.overflow="visible",r.innerHTML="<div></div>",r.firstChild.style.width="5px",t.shrinkWrapBlocks=r.offsetWidth!==3,n.style.zoom=1),a.removeChild(n),n=r=s=o=null}),a.removeChild(p),n=r=s=o=u=a=p=null,t}();var D=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,P=/([A-Z])/g;v.extend({cache:{},deletedIds:[],uuid:0,expando:"jQuery"+(v.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(e){return e=e.nodeType?v.cache[e[v.expando]]:e[v.expando],!!e&&!B(e)},data:function(e,n,r,i){if(!v.acceptData(e))return;var s,o,u=v.expando,a=typeof n=="string",f=e.nodeType,l=f?v.cache:e,c=f?e[u]:e[u]&&u;if((!c||!l[c]||!i&&!l[c].data)&&a&&r===t)return;c||(f?e[u]=c=v.deletedIds.pop()||v.guid++:c=u),l[c]||(l[c]={},f||(l[c].toJSON=v.noop));if(typeof n=="object"||typeof n=="function")i?l[c]=v.extend(l[c],n):l[c].data=v.extend(l[c].data,n);return s=l[c],i||(s.data||(s.data={}),s=s.data),r!==t&&(s[v.camelCase(n)]=r),a?(o=s[n],o==null&&(o=s[v.camelCase(n)])):o=s,o},removeData:function(e,t,n){if(!v.acceptData(e))return;var r,i,s,o=e.nodeType,u=o?v.cache:e,a=o?e[v.expando]:v.expando;if(!u[a])return;if(t){r=n?u[a]:u[a].data;if(r){v.isArray(t)||(t in r?t=[t]:(t=v.camelCase(t),t in r?t=[t]:t=t.split(" ")));for(i=0,s=t.length;i<s;i++)delete r[t[i]];if(!(n?B:v.isEmptyObject)(r))return}}if(!n){delete u[a].data;if(!B(u[a]))return}o?v.cleanData([e],!0):v.support.deleteExpando||u!=u.window?delete u[a]:u[a]=null},_data:function(e,t,n){return v.data(e,t,n,!0)},acceptData:function(e){var t=e.nodeName&&v.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),v.fn.extend({data:function(e,n){var r,i,s,o,u,a=this[0],f=0,l=null;if(e===t){if(this.length){l=v.data(a);if(a.nodeType===1&&!v._data(a,"parsedAttrs")){s=a.attributes;for(u=s.length;f<u;f++)o=s[f].name,o.indexOf("data-")||(o=v.camelCase(o.substring(5)),H(a,o,l[o]));v._data(a,"parsedAttrs",!0)}}return l}return typeof e=="object"?this.each(function(){v.data(this,e)}):(r=e.split(".",2),r[1]=r[1]?"."+r[1]:"",i=r[1]+"!",v.access(this,function(n){if(n===t)return l=this.triggerHandler("getData"+i,[r[0]]),l===t&&a&&(l=v.data(a,e),l=H(a,e,l)),l===t&&r[1]?this.data(r[0]):l;r[1]=n,this.each(function(){var t=v(this);t.triggerHandler("setData"+i,r),v.data(this,e,n),t.triggerHandler("changeData"+i,r)})},null,n,arguments.length>1,null,!1))},removeData:function(e){return this.each(function(){v.removeData(this,e)})}}),v.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=v._data(e,t),n&&(!r||v.isArray(n)?r=v._data(e,t,v.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=v.queue(e,t),r=n.length,i=n.shift(),s=v._queueHooks(e,t),o=function(){v.dequeue(e,t)};i==="inprogress"&&(i=n.shift(),r--),i&&(t==="fx"&&n.unshift("inprogress"),delete s.stop,i.call(e,o,s)),!r&&s&&s.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return v._data(e,n)||v._data(e,n,{empty:v.Callbacks("once memory").add(function(){v.removeData(e,t+"queue",!0),v.removeData(e,n,!0)})})}}),v.fn.extend({queue:function(e,n){var r=2;return typeof e!="string"&&(n=e,e="fx",r--),arguments.length<r?v.queue(this[0],e):n===t?this:this.each(function(){var t=v.queue(this,e,n);v._queueHooks(this,e),e==="fx"&&t[0]!=="inprogress"&&v.dequeue(this,e)})},dequeue:function(e){return this.each(function(){v.dequeue(this,e)})},delay:function(e,t){return e=v.fx?v.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var r,i=1,s=v.Deferred(),o=this,u=this.length,a=function(){--i||s.resolveWith(o,[o])};typeof e!="string"&&(n=e,e=t),e=e||"fx";while(u--)r=v._data(o[u],e+"queueHooks"),r&&r.empty&&(i++,r.empty.add(a));return a(),s.promise(n)}});var j,F,I,q=/[\t\r\n]/g,R=/\r/g,U=/^(?:button|input)$/i,z=/^(?:button|input|object|select|textarea)$/i,W=/^a(?:rea|)$/i,X=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,V=v.support.getSetAttribute;v.fn.extend({attr:function(e,t){return v.access(this,v.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){v.removeAttr(this,e)})},prop:function(e,t){return v.access(this,v.prop,e,t,arguments.length>1)},removeProp:function(e){return e=v.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,s,o,u;if(v.isFunction(e))return this.each(function(t){v(this).addClass(e.call(this,t,this.className))});if(e&&typeof e=="string"){t=e.split(y);for(n=0,r=this.length;n<r;n++){i=this[n];if(i.nodeType===1)if(!i.className&&t.length===1)i.className=e;else{s=" "+i.className+" ";for(o=0,u=t.length;o<u;o++)s.indexOf(" "+t[o]+" ")<0&&(s+=t[o]+" ");i.className=v.trim(s)}}}return this},removeClass:function(e){var n,r,i,s,o,u,a;if(v.isFunction(e))return this.each(function(t){v(this).removeClass(e.call(this,t,this.className))});if(e&&typeof e=="string"||e===t){n=(e||"").split(y);for(u=0,a=this.length;u<a;u++){i=this[u];if(i.nodeType===1&&i.className){r=(" "+i.className+" ").replace(q," ");for(s=0,o=n.length;s<o;s++)while(r.indexOf(" "+n[s]+" ")>=0)r=r.replace(" "+n[s]+" "," ");i.className=e?v.trim(r):""}}}return this},toggleClass:function(e,t){var n=typeof e,r=typeof t=="boolean";return v.isFunction(e)?this.each(function(n){v(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if(n==="string"){var i,s=0,o=v(this),u=t,a=e.split(y);while(i=a[s++])u=r?u:!o.hasClass(i),o[u?"addClass":"removeClass"](i)}else if(n==="undefined"||n==="boolean")this.className&&v._data(this,"__className__",this.className),this.className=this.className||e===!1?"":v._data(this,"__className__")||""})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;n<r;n++)if(this[n].nodeType===1&&(" "+this[n].className+" ").replace(q," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,s=this[0];if(!arguments.length){if(s)return n=v.valHooks[s.type]||v.valHooks[s.nodeName.toLowerCase()],n&&"get"in n&&(r=n.get(s,"value"))!==t?r:(r=s.value,typeof r=="string"?r.replace(R,""):r==null?"":r);return}return i=v.isFunction(e),this.each(function(r){var s,o=v(this);if(this.nodeType!==1)return;i?s=e.call(this,r,o.val()):s=e,s==null?s="":typeof s=="number"?s+="":v.isArray(s)&&(s=v.map(s,function(e){return e==null?"":e+""})),n=v.valHooks[this.type]||v.valHooks[this.nodeName.toLowerCase()];if(!n||!("set"in n)||n.set(this,s,"value")===t)this.value=s})}}),v.extend({valHooks:{option:{get:function(e){var t=e.attributes.value;return!t||t.specified?e.value:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,s=e.type==="select-one"||i<0,o=s?null:[],u=s?i+1:r.length,a=i<0?u:s?i:0;for(;a<u;a++){n=r[a];if((n.selected||a===i)&&(v.support.optDisabled?!n.disabled:n.getAttribute("disabled")===null)&&(!n.parentNode.disabled||!v.nodeName(n.parentNode,"optgroup"))){t=v(n).val();if(s)return t;o.push(t)}}return o},set:function(e,t){var n=v.makeArray(t);return v(e).find("option").each(function(){this.selected=v.inArray(v(this).val(),n)>=0}),n.length||(e.selectedIndex=-1),n}}},attrFn:{},attr:function(e,n,r,i){var s,o,u,a=e.nodeType;if(!e||a===3||a===8||a===2)return;if(i&&v.isFunction(v.fn[n]))return v(e)[n](r);if(typeof e.getAttribute=="undefined")return v.prop(e,n,r);u=a!==1||!v.isXMLDoc(e),u&&(n=n.toLowerCase(),o=v.attrHooks[n]||(X.test(n)?F:j));if(r!==t){if(r===null){v.removeAttr(e,n);return}return o&&"set"in o&&u&&(s=o.set(e,r,n))!==t?s:(e.setAttribute(n,r+""),r)}return o&&"get"in o&&u&&(s=o.get(e,n))!==null?s:(s=e.getAttribute(n),s===null?t:s)},removeAttr:function(e,t){var n,r,i,s,o=0;if(t&&e.nodeType===1){r=t.split(y);for(;o<r.length;o++)i=r[o],i&&(n=v.propFix[i]||i,s=X.test(i),s||v.attr(e,i,""),e.removeAttribute(V?i:n),s&&n in e&&(e[n]=!1))}},attrHooks:{type:{set:function(e,t){if(U.test(e.nodeName)&&e.parentNode)v.error("type property can't be changed");else if(!v.support.radioValue&&t==="radio"&&v.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}},value:{get:function(e,t){return j&&v.nodeName(e,"button")?j.get(e,t):t in e?e.value:null},set:function(e,t,n){if(j&&v.nodeName(e,"button"))return j.set(e,t,n);e.value=t}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(e,n,r){var i,s,o,u=e.nodeType;if(!e||u===3||u===8||u===2)return;return o=u!==1||!v.isXMLDoc(e),o&&(n=v.propFix[n]||n,s=v.propHooks[n]),r!==t?s&&"set"in s&&(i=s.set(e,r,n))!==t?i:e[n]=r:s&&"get"in s&&(i=s.get(e,n))!==null?i:e[n]},propHooks:{tabIndex:{get:function(e){var n=e.getAttributeNode("tabindex");return n&&n.specified?parseInt(n.value,10):z.test(e.nodeName)||W.test(e.nodeName)&&e.href?0:t}}}}),F={get:function(e,n){var r,i=v.prop(e,n);return i===!0||typeof i!="boolean"&&(r=e.getAttributeNode(n))&&r.nodeValue!==!1?n.toLowerCase():t},set:function(e,t,n){var r;return t===!1?v.removeAttr(e,n):(r=v.propFix[n]||n,r in e&&(e[r]=!0),e.setAttribute(n,n.toLowerCase())),n}},V||(I={name:!0,id:!0,coords:!0},j=v.valHooks.button={get:function(e,n){var r;return r=e.getAttributeNode(n),r&&(I[n]?r.value!=="":r.specified)?r.value:t},set:function(e,t,n){var r=e.getAttributeNode(n);return r||(r=i.createAttribute(n),e.setAttributeNode(r)),r.value=t+""}},v.each(["width","height"],function(e,t){v.attrHooks[t]=v.extend(v.attrHooks[t],{set:function(e,n){if(n==="")return e.setAttribute(t,"auto"),n}})}),v.attrHooks.contenteditable={get:j.get,set:function(e,t,n){t===""&&(t="false"),j.set(e,t,n)}}),v.support.hrefNormalized||v.each(["href","src","width","height"],function(e,n){v.attrHooks[n]=v.extend(v.attrHooks[n],{get:function(e){var r=e.getAttribute(n,2);return r===null?t:r}})}),v.support.style||(v.attrHooks.style={get:function(e){return e.style.cssText.toLowerCase()||t},set:function(e,t){return e.style.cssText=t+""}}),v.support.optSelected||(v.propHooks.selected=v.extend(v.propHooks.selected,{get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}})),v.support.enctype||(v.propFix.enctype="encoding"),v.support.checkOn||v.each(["radio","checkbox"],function(){v.valHooks[this]={get:function(e){return e.getAttribute("value")===null?"on":e.value}}}),v.each(["radio","checkbox"],function(){v.valHooks[this]=v.extend(v.valHooks[this],{set:function(e,t){if(v.isArray(t))return e.checked=v.inArray(v(e).val(),t)>=0}})});var $=/^(?:textarea|input|select)$/i,J=/^([^\.]*|)(?:\.(.+)|)$/,K=/(?:^|\s)hover(\.\S+|)\b/,Q=/^key/,G=/^(?:mouse|contextmenu)|click/,Y=/^(?:focusinfocus|focusoutblur)$/,Z=function(e){return v.event.special.hover?e:e.replace(K,"mouseenter$1 mouseleave$1")};v.event={add:function(e,n,r,i,s){var o,u,a,f,l,c,h,p,d,m,g;if(e.nodeType===3||e.nodeType===8||!n||!r||!(o=v._data(e)))return;r.handler&&(d=r,r=d.handler,s=d.selector),r.guid||(r.guid=v.guid++),a=o.events,a||(o.events=a={}),u=o.handle,u||(o.handle=u=function(e){return typeof v=="undefined"||!!e&&v.event.triggered===e.type?t:v.event.dispatch.apply(u.elem,arguments)},u.elem=e),n=v.trim(Z(n)).split(" ");for(f=0;f<n.length;f++){l=J.exec(n[f])||[],c=l[1],h=(l[2]||"").split(".").sort(),g=v.event.special[c]||{},c=(s?g.delegateType:g.bindType)||c,g=v.event.special[c]||{},p=v.extend({type:c,origType:l[1],data:i,handler:r,guid:r.guid,selector:s,needsContext:s&&v.expr.match.needsContext.test(s),namespace:h.join(".")},d),m=a[c];if(!m){m=a[c]=[],m.delegateCount=0;if(!g.setup||g.setup.call(e,i,h,u)===!1)e.addEventListener?e.addEventListener(c,u,!1):e.attachEvent&&e.attachEvent("on"+c,u)}g.add&&(g.add.call(e,p),p.handler.guid||(p.handler.guid=r.guid)),s?m.splice(m.delegateCount++,0,p):m.push(p),v.event.global[c]=!0}e=null},global:{},remove:function(e,t,n,r,i){var s,o,u,a,f,l,c,h,p,d,m,g=v.hasData(e)&&v._data(e);if(!g||!(h=g.events))return;t=v.trim(Z(t||"")).split(" ");for(s=0;s<t.length;s++){o=J.exec(t[s])||[],u=a=o[1],f=o[2];if(!u){for(u in h)v.event.remove(e,u+t[s],n,r,!0);continue}p=v.event.special[u]||{},u=(r?p.delegateType:p.bindType)||u,d=h[u]||[],l=d.length,f=f?new RegExp("(^|\\.)"+f.split(".").sort().join("\\.(?:.*\\.|)")+"(\\.|$)"):null;for(c=0;c<d.length;c++)m=d[c],(i||a===m.origType)&&(!n||n.guid===m.guid)&&(!f||f.test(m.namespace))&&(!r||r===m.selector||r==="**"&&m.selector)&&(d.splice(c--,1),m.selector&&d.delegateCount--,p.remove&&p.remove.call(e,m));d.length===0&&l!==d.length&&((!p.teardown||p.teardown.call(e,f,g.handle)===!1)&&v.removeEvent(e,u,g.handle),delete h[u])}v.isEmptyObject(h)&&(delete g.handle,v.removeData(e,"events",!0))},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(n,r,s,o){if(!s||s.nodeType!==3&&s.nodeType!==8){var u,a,f,l,c,h,p,d,m,g,y=n.type||n,b=[];if(Y.test(y+v.event.triggered))return;y.indexOf("!")>=0&&(y=y.slice(0,-1),a=!0),y.indexOf(".")>=0&&(b=y.split("."),y=b.shift(),b.sort());if((!s||v.event.customEvent[y])&&!v.event.global[y])return;n=typeof n=="object"?n[v.expando]?n:new v.Event(y,n):new v.Event(y),n.type=y,n.isTrigger=!0,n.exclusive=a,n.namespace=b.join("."),n.namespace_re=n.namespace?new RegExp("(^|\\.)"+b.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,h=y.indexOf(":")<0?"on"+y:"";if(!s){u=v.cache;for(f in u)u[f].events&&u[f].events[y]&&v.event.trigger(n,r,u[f].handle.elem,!0);return}n.result=t,n.target||(n.target=s),r=r!=null?v.makeArray(r):[],r.unshift(n),p=v.event.special[y]||{};if(p.trigger&&p.trigger.apply(s,r)===!1)return;m=[[s,p.bindType||y]];if(!o&&!p.noBubble&&!v.isWindow(s)){g=p.delegateType||y,l=Y.test(g+y)?s:s.parentNode;for(c=s;l;l=l.parentNode)m.push([l,g]),c=l;c===(s.ownerDocument||i)&&m.push([c.defaultView||c.parentWindow||e,g])}for(f=0;f<m.length&&!n.isPropagationStopped();f++)l=m[f][0],n.type=m[f][1],d=(v._data(l,"events")||{})[n.type]&&v._data(l,"handle"),d&&d.apply(l,r),d=h&&l[h],d&&v.acceptData(l)&&d.apply&&d.apply(l,r)===!1&&n.preventDefault();return n.type=y,!o&&!n.isDefaultPrevented()&&(!p._default||p._default.apply(s.ownerDocument,r)===!1)&&(y!=="click"||!v.nodeName(s,"a"))&&v.acceptData(s)&&h&&s[y]&&(y!=="focus"&&y!=="blur"||n.target.offsetWidth!==0)&&!v.isWindow(s)&&(c=s[h],c&&(s[h]=null),v.event.triggered=y,s[y](),v.event.triggered=t,c&&(s[h]=c)),n.result}return},dispatch:function(n){n=v.event.fix(n||e.event);var r,i,s,o,u,a,f,c,h,p,d=(v._data(this,"events")||{})[n.type]||[],m=d.delegateCount,g=l.call(arguments),y=!n.exclusive&&!n.namespace,b=v.event.special[n.type]||{},w=[];g[0]=n,n.delegateTarget=this;if(b.preDispatch&&b.preDispatch.call(this,n)===!1)return;if(m&&(!n.button||n.type!=="click"))for(s=n.target;s!=this;s=s.parentNode||this)if(s.disabled!==!0||n.type!=="click"){u={},f=[];for(r=0;r<m;r++)c=d[r],h=c.selector,u[h]===t&&(u[h]=c.needsContext?v(h,this).index(s)>=0:v.find(h,this,null,[s]).length),u[h]&&f.push(c);f.length&&w.push({elem:s,matches:f})}d.length>m&&w.push({elem:this,matches:d.slice(m)});for(r=0;r<w.length&&!n.isPropagationStopped();r++){a=w[r],n.currentTarget=a.elem;for(i=0;i<a.matches.length&&!n.isImmediatePropagationStopped();i++){c=a.matches[i];if(y||!n.namespace&&!c.namespace||n.namespace_re&&n.namespace_re.test(c.namespace))n.data=c.data,n.handleObj=c,o=((v.event.special[c.origType]||{}).handle||c.handler).apply(a.elem,g),o!==t&&(n.result=o,o===!1&&(n.preventDefault(),n.stopPropagation()))}}return b.postDispatch&&b.postDispatch.call(this,n),n.result},props:"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return e.which==null&&(e.which=t.charCode!=null?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,n){var r,s,o,u=n.button,a=n.fromElement;return e.pageX==null&&n.clientX!=null&&(r=e.target.ownerDocument||i,s=r.documentElement,o=r.body,e.pageX=n.clientX+(s&&s.scrollLeft||o&&o.scrollLeft||0)-(s&&s.clientLeft||o&&o.clientLeft||0),e.pageY=n.clientY+(s&&s.scrollTop||o&&o.scrollTop||0)-(s&&s.clientTop||o&&o.clientTop||0)),!e.relatedTarget&&a&&(e.relatedTarget=a===e.target?n.toElement:a),!e.which&&u!==t&&(e.which=u&1?1:u&2?3:u&4?2:0),e}},fix:function(e){if(e[v.expando])return e;var t,n,r=e,s=v.event.fixHooks[e.type]||{},o=s.props?this.props.concat(s.props):this.props;e=v.Event(r);for(t=o.length;t;)n=o[--t],e[n]=r[n];return e.target||(e.target=r.srcElement||i),e.target.nodeType===3&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,r):e},special:{load:{noBubble:!0},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(e,t,n){v.isWindow(this)&&(this.onbeforeunload=n)},teardown:function(e,t){this.onbeforeunload===t&&(this.onbeforeunload=null)}}},simulate:function(e,t,n,r){var i=v.extend(new v.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?v.event.trigger(i,null,t):v.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},v.event.handle=v.event.dispatch,v.removeEvent=i.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var r="on"+t;e.detachEvent&&(typeof e[r]=="undefined"&&(e[r]=null),e.detachEvent(r,n))},v.Event=function(e,t){if(!(this instanceof v.Event))return new v.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?tt:et):this.type=e,t&&v.extend(this,t),this.timeStamp=e&&e.timeStamp||v.now(),this[v.expando]=!0},v.Event.prototype={preventDefault:function(){this.isDefaultPrevented=tt;var e=this.originalEvent;if(!e)return;e.preventDefault?e.preventDefault():e.returnValue=!1},stopPropagation:function(){this.isPropagationStopped=tt;var e=this.originalEvent;if(!e)return;e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=tt,this.stopPropagation()},isDefaultPrevented:et,isPropagationStopped:et,isImmediatePropagationStopped:et},v.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){v.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,s=e.handleObj,o=s.selector;if(!i||i!==r&&!v.contains(r,i))e.type=s.origType,n=s.handler.apply(this,arguments),e.type=t;return n}}}),v.support.submitBubbles||(v.event.special.submit={setup:function(){if(v.nodeName(this,"form"))return!1;v.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=v.nodeName(n,"input")||v.nodeName(n,"button")?n.form:t;r&&!v._data(r,"_submit_attached")&&(v.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),v._data(r,"_submit_attached",!0))})},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&v.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){if(v.nodeName(this,"form"))return!1;v.event.remove(this,"._submit")}}),v.support.changeBubbles||(v.event.special.change={setup:function(){if($.test(this.nodeName)){if(this.type==="checkbox"||this.type==="radio")v.event.add(this,"propertychange._change",function(e){e.originalEvent.propertyName==="checked"&&(this._just_changed=!0)}),v.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),v.event.simulate("change",this,e,!0)});return!1}v.event.add(this,"beforeactivate._change",function(e){var t=e.target;$.test(t.nodeName)&&!v._data(t,"_change_attached")&&(v.event.add(t,"change._change",function(e){this.parentNode&&!e.isSimulated&&!e.isTrigger&&v.event.simulate("change",this.parentNode,e,!0)}),v._data(t,"_change_attached",!0))})},handle:function(e){var t=e.target;if(this!==t||e.isSimulated||e.isTrigger||t.type!=="radio"&&t.type!=="checkbox")return e.handleObj.handler.apply(this,arguments)},teardown:function(){return v.event.remove(this,"._change"),!$.test(this.nodeName)}}),v.support.focusinBubbles||v.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){v.event.simulate(t,e.target,v.event.fix(e),!0)};v.event.special[t]={setup:function(){n++===0&&i.addEventListener(e,r,!0)},teardown:function(){--n===0&&i.removeEventListener(e,r,!0)}}}),v.fn.extend({on:function(e,n,r,i,s){var o,u;if(typeof e=="object"){typeof n!="string"&&(r=r||n,n=t);for(u in e)this.on(u,n,r,e[u],s);return this}r==null&&i==null?(i=n,r=n=t):i==null&&(typeof n=="string"?(i=r,r=t):(i=r,r=n,n=t));if(i===!1)i=et;else if(!i)return this;return s===1&&(o=i,i=function(e){return v().off(e),o.apply(this,arguments)},i.guid=o.guid||(o.guid=v.guid++)),this.each(function(){v.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,s;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,v(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if(typeof e=="object"){for(s in e)this.off(s,n,e[s]);return this}if(n===!1||typeof n=="function")r=n,n=t;return r===!1&&(r=et),this.each(function(){v.event.remove(this,e,r,n)})},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},live:function(e,t,n){return v(this.context).on(e,this.selector,t,n),this},die:function(e,t){return v(this.context).off(e,this.selector||"**",t),this},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return arguments.length===1?this.off(e,"**"):this.off(t,e||"**",n)},trigger:function(e,t){return this.each(function(){v.event.trigger(e,t,this)})},triggerHandler:function(e,t){if(this[0])return v.event.trigger(e,t,this[0],!0)},toggle:function(e){var t=arguments,n=e.guid||v.guid++,r=0,i=function(n){var i=(v._data(this,"lastToggle"+e.guid)||0)%r;return v._data(this,"lastToggle"+e.guid,i+1),n.preventDefault(),t[i].apply(this,arguments)||!1};i.guid=n;while(r<t.length)t[r++].guid=n;return this.click(i)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),v.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){v.fn[t]=function(e,n){return n==null&&(n=e,e=null),arguments.length>0?this.on(t,null,e,n):this.trigger(t)},Q.test(t)&&(v.event.fixHooks[t]=v.event.keyHooks),G.test(t)&&(v.event.fixHooks[t]=v.event.mouseHooks)}),function(e,t){function nt(e,t,n,r){n=n||[],t=t||g;var i,s,a,f,l=t.nodeType;if(!e||typeof e!="string")return n;if(l!==1&&l!==9)return[];a=o(t);if(!a&&!r)if(i=R.exec(e))if(f=i[1]){if(l===9){s=t.getElementById(f);if(!s||!s.parentNode)return n;if(s.id===f)return n.push(s),n}else if(t.ownerDocument&&(s=t.ownerDocument.getElementById(f))&&u(t,s)&&s.id===f)return n.push(s),n}else{if(i[2])return S.apply(n,x.call(t.getElementsByTagName(e),0)),n;if((f=i[3])&&Z&&t.getElementsByClassName)return S.apply(n,x.call(t.getElementsByClassName(f),0)),n}return vt(e.replace(j,"$1"),t,n,r,a)}function rt(e){return function(t){var n=t.nodeName.toLowerCase();return n==="input"&&t.type===e}}function it(e){return function(t){var n=t.nodeName.toLowerCase();return(n==="input"||n==="button")&&t.type===e}}function st(e){return N(function(t){return t=+t,N(function(n,r){var i,s=e([],n.length,t),o=s.length;while(o--)n[i=s[o]]&&(n[i]=!(r[i]=n[i]))})})}function ot(e,t,n){if(e===t)return n;var r=e.nextSibling;while(r){if(r===t)return-1;r=r.nextSibling}return 1}function ut(e,t){var n,r,s,o,u,a,f,l=L[d][e+" "];if(l)return t?0:l.slice(0);u=e,a=[],f=i.preFilter;while(u){if(!n||(r=F.exec(u)))r&&(u=u.slice(r[0].length)||u),a.push(s=[]);n=!1;if(r=I.exec(u))s.push(n=new m(r.shift())),u=u.slice(n.length),n.type=r[0].replace(j," ");for(o in i.filter)(r=J[o].exec(u))&&(!f[o]||(r=f[o](r)))&&(s.push(n=new m(r.shift())),u=u.slice(n.length),n.type=o,n.matches=r);if(!n)break}return t?u.length:u?nt.error(e):L(e,a).slice(0)}function at(e,t,r){var i=t.dir,s=r&&t.dir==="parentNode",o=w++;return t.first?function(t,n,r){while(t=t[i])if(s||t.nodeType===1)return e(t,n,r)}:function(t,r,u){if(!u){var a,f=b+" "+o+" ",l=f+n;while(t=t[i])if(s||t.nodeType===1){if((a=t[d])===l)return t.sizset;if(typeof a=="string"&&a.indexOf(f)===0){if(t.sizset)return t}else{t[d]=l;if(e(t,r,u))return t.sizset=!0,t;t.sizset=!1}}}else while(t=t[i])if(s||t.nodeType===1)if(e(t,r,u))return t}}function ft(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function lt(e,t,n,r,i){var s,o=[],u=0,a=e.length,f=t!=null;for(;u<a;u++)if(s=e[u])if(!n||n(s,r,i))o.push(s),f&&t.push(u);return o}function ct(e,t,n,r,i,s){return r&&!r[d]&&(r=ct(r)),i&&!i[d]&&(i=ct(i,s)),N(function(s,o,u,a){var f,l,c,h=[],p=[],d=o.length,v=s||dt(t||"*",u.nodeType?[u]:u,[]),m=e&&(s||!t)?lt(v,h,e,u,a):v,g=n?i||(s?e:d||r)?[]:o:m;n&&n(m,g,u,a);if(r){f=lt(g,p),r(f,[],u,a),l=f.length;while(l--)if(c=f[l])g[p[l]]=!(m[p[l]]=c)}if(s){if(i||e){if(i){f=[],l=g.length;while(l--)(c=g[l])&&f.push(m[l]=c);i(null,g=[],f,a)}l=g.length;while(l--)(c=g[l])&&(f=i?T.call(s,c):h[l])>-1&&(s[f]=!(o[f]=c))}}else g=lt(g===o?g.splice(d,g.length):g),i?i(null,o,g,a):S.apply(o,g)})}function ht(e){var t,n,r,s=e.length,o=i.relative[e[0].type],u=o||i.relative[" "],a=o?1:0,f=at(function(e){return e===t},u,!0),l=at(function(e){return T.call(t,e)>-1},u,!0),h=[function(e,n,r){return!o&&(r||n!==c)||((t=n).nodeType?f(e,n,r):l(e,n,r))}];for(;a<s;a++)if(n=i.relative[e[a].type])h=[at(ft(h),n)];else{n=i.filter[e[a].type].apply(null,e[a].matches);if(n[d]){r=++a;for(;r<s;r++)if(i.relative[e[r].type])break;return ct(a>1&&ft(h),a>1&&e.slice(0,a-1).join("").replace(j,"$1"),n,a<r&&ht(e.slice(a,r)),r<s&&ht(e=e.slice(r)),r<s&&e.join(""))}h.push(n)}return ft(h)}function pt(e,t){var r=t.length>0,s=e.length>0,o=function(u,a,f,l,h){var p,d,v,m=[],y=0,w="0",x=u&&[],T=h!=null,N=c,C=u||s&&i.find.TAG("*",h&&a.parentNode||a),k=b+=N==null?1:Math.E;T&&(c=a!==g&&a,n=o.el);for(;(p=C[w])!=null;w++){if(s&&p){for(d=0;v=e[d];d++)if(v(p,a,f)){l.push(p);break}T&&(b=k,n=++o.el)}r&&((p=!v&&p)&&y--,u&&x.push(p))}y+=w;if(r&&w!==y){for(d=0;v=t[d];d++)v(x,m,a,f);if(u){if(y>0)while(w--)!x[w]&&!m[w]&&(m[w]=E.call(l));m=lt(m)}S.apply(l,m),T&&!u&&m.length>0&&y+t.length>1&&nt.uniqueSort(l)}return T&&(b=k,c=N),x};return o.el=0,r?N(o):o}function dt(e,t,n){var r=0,i=t.length;for(;r<i;r++)nt(e,t[r],n);return n}function vt(e,t,n,r,s){var o,u,f,l,c,h=ut(e),p=h.length;if(!r&&h.length===1){u=h[0]=h[0].slice(0);if(u.length>2&&(f=u[0]).type==="ID"&&t.nodeType===9&&!s&&i.relative[u[1].type]){t=i.find.ID(f.matches[0].replace($,""),t,s)[0];if(!t)return n;e=e.slice(u.shift().length)}for(o=J.POS.test(e)?-1:u.length-1;o>=0;o--){f=u[o];if(i.relative[l=f.type])break;if(c=i.find[l])if(r=c(f.matches[0].replace($,""),z.test(u[0].type)&&t.parentNode||t,s)){u.splice(o,1),e=r.length&&u.join("");if(!e)return S.apply(n,x.call(r,0)),n;break}}}return a(e,h)(r,t,s,n,z.test(e)),n}function mt(){}var n,r,i,s,o,u,a,f,l,c,h=!0,p="undefined",d=("sizcache"+Math.random()).replace(".",""),m=String,g=e.document,y=g.documentElement,b=0,w=0,E=[].pop,S=[].push,x=[].slice,T=[].indexOf||function(e){var t=0,n=this.length;for(;t<n;t++)if(this[t]===e)return t;return-1},N=function(e,t){return e[d]=t==null||t,e},C=function(){var e={},t=[];return N(function(n,r){return t.push(n)>i.cacheLength&&delete e[t.shift()],e[n+" "]=r},e)},k=C(),L=C(),A=C(),O="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+",_=M.replace("w","w#"),D="([*^$|!~]?=)",P="\\["+O+"*("+M+")"+O+"*(?:"+D+O+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+_+")|)|)"+O+"*\\]",H=":("+M+")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|([^()[\\]]*|(?:(?:"+P+")|[^:]|\\\\.)*|.*))\\)|)",B=":(even|odd|eq|gt|lt|nth|first|last)(?:\\("+O+"*((?:-\\d)?\\d*)"+O+"*\\)|)(?=[^-]|$)",j=new RegExp("^"+O+"+|((?:^|[^\\\\])(?:\\\\.)*)"+O+"+$","g"),F=new RegExp("^"+O+"*,"+O+"*"),I=new RegExp("^"+O+"*([\\x20\\t\\r\\n\\f>+~])"+O+"*"),q=new RegExp(H),R=/^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/,U=/^:not/,z=/[\x20\t\r\n\f]*[+~]/,W=/:not\($/,X=/h\d/i,V=/input|select|textarea|button/i,$=/\\(?!\\)/g,J={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),NAME:new RegExp("^\\[name=['\"]?("+M+")['\"]?\\]"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+P),PSEUDO:new RegExp("^"+H),POS:new RegExp(B,"i"),CHILD:new RegExp("^:(only|nth|first|last)-child(?:\\("+O+"*(even|odd|(([+-]|)(\\d*)n|)"+O+"*(?:([+-]|)"+O+"*(\\d+)|))"+O+"*\\)|)","i"),needsContext:new RegExp("^"+O+"*[>+~]|"+B,"i")},K=function(e){var t=g.createElement("div");try{return e(t)}catch(n){return!1}finally{t=null}},Q=K(function(e){return e.appendChild(g.createComment("")),!e.getElementsByTagName("*").length}),G=K(function(e){return e.innerHTML="<a href='#'></a>",e.firstChild&&typeof e.firstChild.getAttribute!==p&&e.firstChild.getAttribute("href")==="#"}),Y=K(function(e){e.innerHTML="<select></select>";var t=typeof e.lastChild.getAttribute("multiple");return t!=="boolean"&&t!=="string"}),Z=K(function(e){return e.innerHTML="<div class='hidden e'></div><div class='hidden'></div>",!e.getElementsByClassName||!e.getElementsByClassName("e").length?!1:(e.lastChild.className="e",e.getElementsByClassName("e").length===2)}),et=K(function(e){e.id=d+0,e.innerHTML="<a name='"+d+"'></a><div name='"+d+"'></div>",y.insertBefore(e,y.firstChild);var t=g.getElementsByName&&g.getElementsByName(d).length===2+g.getElementsByName(d+0).length;return r=!g.getElementById(d),y.removeChild(e),t});try{x.call(y.childNodes,0)[0].nodeType}catch(tt){x=function(e){var t,n=[];for(;t=this[e];e++)n.push(t);return n}}nt.matches=function(e,t){return nt(e,null,null,t)},nt.matchesSelector=function(e,t){return nt(t,null,null,[e]).length>0},s=nt.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(i===1||i===9||i===11){if(typeof e.textContent=="string")return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=s(e)}else if(i===3||i===4)return e.nodeValue}else for(;t=e[r];r++)n+=s(t);return n},o=nt.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?t.nodeName!=="HTML":!1},u=nt.contains=y.contains?function(e,t){var n=e.nodeType===9?e.documentElement:e,r=t&&t.parentNode;return e===r||!!(r&&r.nodeType===1&&n.contains&&n.contains(r))}:y.compareDocumentPosition?function(e,t){return t&&!!(e.compareDocumentPosition(t)&16)}:function(e,t){while(t=t.parentNode)if(t===e)return!0;return!1},nt.attr=function(e,t){var n,r=o(e);return r||(t=t.toLowerCase()),(n=i.attrHandle[t])?n(e):r||Y?e.getAttribute(t):(n=e.getAttributeNode(t),n?typeof e[t]=="boolean"?e[t]?t:null:n.specified?n.value:null:null)},i=nt.selectors={cacheLength:50,createPseudo:N,match:J,attrHandle:G?{}:{href:function(e){return e.getAttribute("href",2)},type:function(e){return e.getAttribute("type")}},find:{ID:r?function(e,t,n){if(typeof t.getElementById!==p&&!n){var r=t.getElementById(e);return r&&r.parentNode?[r]:[]}}:function(e,n,r){if(typeof n.getElementById!==p&&!r){var i=n.getElementById(e);return i?i.id===e||typeof i.getAttributeNode!==p&&i.getAttributeNode("id").value===e?[i]:t:[]}},TAG:Q?function(e,t){if(typeof t.getElementsByTagName!==p)return t.getElementsByTagName(e)}:function(e,t){var n=t.getElementsByTagName(e);if(e==="*"){var r,i=[],s=0;for(;r=n[s];s++)r.nodeType===1&&i.push(r);return i}return n},NAME:et&&function(e,t){if(typeof t.getElementsByName!==p)return t.getElementsByName(name)},CLASS:Z&&function(e,t,n){if(typeof t.getElementsByClassName!==p&&!n)return t.getElementsByClassName(e)}},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace($,""),e[3]=(e[4]||e[5]||"").replace($,""),e[2]==="~="&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),e[1]==="nth"?(e[2]||nt.error(e[0]),e[3]=+(e[3]?e[4]+(e[5]||1):2*(e[2]==="even"||e[2]==="odd")),e[4]=+(e[6]+e[7]||e[2]==="odd")):e[2]&&nt.error(e[0]),e},PSEUDO:function(e){var t,n;if(J.CHILD.test(e[0]))return null;if(e[3])e[2]=e[3];else if(t=e[4])q.test(t)&&(n=ut(t,!0))&&(n=t.indexOf(")",t.length-n)-t.length)&&(t=t.slice(0,n),e[0]=e[0].slice(0,n)),e[2]=t;return e.slice(0,3)}},filter:{ID:r?function(e){return e=e.replace($,""),function(t){return t.getAttribute("id")===e}}:function(e){return e=e.replace($,""),function(t){var n=typeof t.getAttributeNode!==p&&t.getAttributeNode("id");return n&&n.value===e}},TAG:function(e){return e==="*"?function(){return!0}:(e=e.replace($,"").toLowerCase(),function(t){return t.nodeName&&t.nodeName.toLowerCase()===e})},CLASS:function(e){var t=k[d][e+" "];return t||(t=new RegExp("(^|"+O+")"+e+"("+O+"|$)"))&&k(e,function(e){return t.test(e.className||typeof e.getAttribute!==p&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r,i){var s=nt.attr(r,e);return s==null?t==="!=":t?(s+="",t==="="?s===n:t==="!="?s!==n:t==="^="?n&&s.indexOf(n)===0:t==="*="?n&&s.indexOf(n)>-1:t==="$="?n&&s.substr(s.length-n.length)===n:t==="~="?(" "+s+" ").indexOf(n)>-1:t==="|="?s===n||s.substr(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r){return e==="nth"?function(e){var t,i,s=e.parentNode;if(n===1&&r===0)return!0;if(s){i=0;for(t=s.firstChild;t;t=t.nextSibling)if(t.nodeType===1){i++;if(e===t)break}}return i-=r,i===n||i%n===0&&i/n>=0}:function(t){var n=t;switch(e){case"only":case"first":while(n=n.previousSibling)if(n.nodeType===1)return!1;if(e==="first")return!0;n=t;case"last":while(n=n.nextSibling)if(n.nodeType===1)return!1;return!0}}},PSEUDO:function(e,t){var n,r=i.pseudos[e]||i.setFilters[e.toLowerCase()]||nt.error("unsupported pseudo: "+e);return r[d]?r(t):r.length>1?(n=[e,e,"",t],i.setFilters.hasOwnProperty(e.toLowerCase())?N(function(e,n){var i,s=r(e,t),o=s.length;while(o--)i=T.call(e,s[o]),e[i]=!(n[i]=s[o])}):function(e){return r(e,0,n)}):r}},pseudos:{not:N(function(e){var t=[],n=[],r=a(e.replace(j,"$1"));return r[d]?N(function(e,t,n,i){var s,o=r(e,null,i,[]),u=e.length;while(u--)if(s=o[u])e[u]=!(t[u]=s)}):function(e,i,s){return t[0]=e,r(t,null,s,n),!n.pop()}}),has:N(function(e){return function(t){return nt(e,t).length>0}}),contains:N(function(e){return function(t){return(t.textContent||t.innerText||s(t)).indexOf(e)>-1}}),enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return t==="input"&&!!e.checked||t==="option"&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},parent:function(e){return!i.pseudos.empty(e)},empty:function(e){var t;e=e.firstChild;while(e){if(e.nodeName>"@"||(t=e.nodeType)===3||t===4)return!1;e=e.nextSibling}return!0},header:function(e){return X.test(e.nodeName)},text:function(e){var t,n;return e.nodeName.toLowerCase()==="input"&&(t=e.type)==="text"&&((n=e.getAttribute("type"))==null||n.toLowerCase()===t)},radio:rt("radio"),checkbox:rt("checkbox"),file:rt("file"),password:rt("password"),image:rt("image"),submit:it("submit"),reset:it("reset"),button:function(e){var t=e.nodeName.toLowerCase();return t==="input"&&e.type==="button"||t==="button"},input:function(e){return V.test(e.nodeName)},focus:function(e){var t=e.ownerDocument;return e===t.activeElement&&(!t.hasFocus||t.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},active:function(e){return e===e.ownerDocument.activeElement},first:st(function(){return[0]}),last:st(function(e,t){return[t-1]}),eq:st(function(e,t,n){return[n<0?n+t:n]}),even:st(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:st(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:st(function(e,t,n){for(var r=n<0?n+t:n;--r>=0;)e.push(r);return e}),gt:st(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}},f=y.compareDocumentPosition?function(e,t){return e===t?(l=!0,0):(!e.compareDocumentPosition||!t.compareDocumentPosition?e.compareDocumentPosition:e.compareDocumentPosition(t)&4)?-1:1}:function(e,t){if(e===t)return l=!0,0;if(e.sourceIndex&&t.sourceIndex)return e.sourceIndex-t.sourceIndex;var n,r,i=[],s=[],o=e.parentNode,u=t.parentNode,a=o;if(o===u)return ot(e,t);if(!o)return-1;if(!u)return 1;while(a)i.unshift(a),a=a.parentNode;a=u;while(a)s.unshift(a),a=a.parentNode;n=i.length,r=s.length;for(var f=0;f<n&&f<r;f++)if(i[f]!==s[f])return ot(i[f],s[f]);return f===n?ot(e,s[f],-1):ot(i[f],t,1)},[0,0].sort(f),h=!l,nt.uniqueSort=function(e){var t,n=[],r=1,i=0;l=h,e.sort(f);if(l){for(;t=e[r];r++)t===e[r-1]&&(i=n.push(r));while(i--)e.splice(n[i],1)}return e},nt.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},a=nt.compile=function(e,t){var n,r=[],i=[],s=A[d][e+" "];if(!s){t||(t=ut(e)),n=t.length;while(n--)s=ht(t[n]),s[d]?r.push(s):i.push(s);s=A(e,pt(i,r))}return s},g.querySelectorAll&&function(){var e,t=vt,n=/'|\\/g,r=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,i=[":focus"],s=[":active"],u=y.matchesSelector||y.mozMatchesSelector||y.webkitMatchesSelector||y.oMatchesSelector||y.msMatchesSelector;K(function(e){e.innerHTML="<select><option selected=''></option></select>",e.querySelectorAll("[selected]").length||i.push("\\["+O+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),e.querySelectorAll(":checked").length||i.push(":checked")}),K(function(e){e.innerHTML="<p test=''></p>",e.querySelectorAll("[test^='']").length&&i.push("[*^$]="+O+"*(?:\"\"|'')"),e.innerHTML="<input type='hidden'/>",e.querySelectorAll(":enabled").length||i.push(":enabled",":disabled")}),i=new RegExp(i.join("|")),vt=function(e,r,s,o,u){if(!o&&!u&&!i.test(e)){var a,f,l=!0,c=d,h=r,p=r.nodeType===9&&e;if(r.nodeType===1&&r.nodeName.toLowerCase()!=="object"){a=ut(e),(l=r.getAttribute("id"))?c=l.replace(n,"\\$&"):r.setAttribute("id",c),c="[id='"+c+"'] ",f=a.length;while(f--)a[f]=c+a[f].join("");h=z.test(e)&&r.parentNode||r,p=a.join(",")}if(p)try{return S.apply(s,x.call(h.querySelectorAll(p),0)),s}catch(v){}finally{l||r.removeAttribute("id")}}return t(e,r,s,o,u)},u&&(K(function(t){e=u.call(t,"div");try{u.call(t,"[test!='']:sizzle"),s.push("!=",H)}catch(n){}}),s=new RegExp(s.join("|")),nt.matchesSelector=function(t,n){n=n.replace(r,"='$1']");if(!o(t)&&!s.test(n)&&!i.test(n))try{var a=u.call(t,n);if(a||e||t.document&&t.document.nodeType!==11)return a}catch(f){}return nt(n,null,null,[t]).length>0})}(),i.pseudos.nth=i.pseudos.eq,i.filters=mt.prototype=i.pseudos,i.setFilters=new mt,nt.attr=v.attr,v.find=nt,v.expr=nt.selectors,v.expr[":"]=v.expr.pseudos,v.unique=nt.uniqueSort,v.text=nt.getText,v.isXMLDoc=nt.isXML,v.contains=nt.contains}(e);var nt=/Until$/,rt=/^(?:parents|prev(?:Until|All))/,it=/^.[^:#\[\.,]*$/,st=v.expr.match.needsContext,ot={children:!0,contents:!0,next:!0,prev:!0};v.fn.extend({find:function(e){var t,n,r,i,s,o,u=this;if(typeof e!="string")return v(e).filter(function(){for(t=0,n=u.length;t<n;t++)if(v.contains(u[t],this))return!0});o=this.pushStack("","find",e);for(t=0,n=this.length;t<n;t++){r=o.length,v.find(e,this[t],o);if(t>0)for(i=r;i<o.length;i++)for(s=0;s<r;s++)if(o[s]===o[i]){o.splice(i--,1);break}}return o},has:function(e){var t,n=v(e,this),r=n.length;return this.filter(function(){for(t=0;t<r;t++)if(v.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(ft(this,e,!1),"not",e)},filter:function(e){return this.pushStack(ft(this,e,!0),"filter",e)},is:function(e){return!!e&&(typeof e=="string"?st.test(e)?v(e,this.context).index(this[0])>=0:v.filter(e,this).length>0:this.filter(e).length>0)},closest:function(e,t){var n,r=0,i=this.length,s=[],o=st.test(e)||typeof e!="string"?v(e,t||this.context):0;for(;r<i;r++){n=this[r];while(n&&n.ownerDocument&&n!==t&&n.nodeType!==11){if(o?o.index(n)>-1:v.find.matchesSelector(n,e)){s.push(n);break}n=n.parentNode}}return s=s.length>1?v.unique(s):s,this.pushStack(s,"closest",e)},index:function(e){return e?typeof e=="string"?v.inArray(this[0],v(e)):v.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.prevAll().length:-1},add:function(e,t){var n=typeof e=="string"?v(e,t):v.makeArray(e&&e.nodeType?[e]:e),r=v.merge(this.get(),n);return this.pushStack(ut(n[0])||ut(r[0])?r:v.unique(r))},addBack:function(e){return this.add(e==null?this.prevObject:this.prevObject.filter(e))}}),v.fn.andSelf=v.fn.addBack,v.each({parent:function(e){var t=e.parentNode;return t&&t.nodeType!==11?t:null},parents:function(e){return v.dir(e,"parentNode")},parentsUntil:function(e,t,n){return v.dir(e,"parentNode",n)},next:function(e){return at(e,"nextSibling")},prev:function(e){return at(e,"previousSibling")},nextAll:function(e){return v.dir(e,"nextSibling")},prevAll:function(e){return v.dir(e,"previousSibling")},nextUntil:function(e,t,n){return v.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return v.dir(e,"previousSibling",n)},siblings:function(e){return v.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return v.sibling(e.firstChild)},contents:function(e){return v.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:v.merge([],e.childNodes)}},function(e,t){v.fn[e]=function(n,r){var i=v.map(this,t,n);return nt.test(e)||(r=n),r&&typeof r=="string"&&(i=v.filter(r,i)),i=this.length>1&&!ot[e]?v.unique(i):i,this.length>1&&rt.test(e)&&(i=i.reverse()),this.pushStack(i,e,l.call(arguments).join(","))}}),v.extend({filter:function(e,t,n){return n&&(e=":not("+e+")"),t.length===1?v.find.matchesSelector(t[0],e)?[t[0]]:[]:v.find.matches(e,t)},dir:function(e,n,r){var i=[],s=e[n];while(s&&s.nodeType!==9&&(r===t||s.nodeType!==1||!v(s).is(r)))s.nodeType===1&&i.push(s),s=s[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)e.nodeType===1&&e!==t&&n.push(e);return n}});var ct="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ht=/ jQuery\d+="(?:null|\d+)"/g,pt=/^\s+/,dt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,vt=/<([\w:]+)/,mt=/<tbody/i,gt=/<|&#?\w+;/,yt=/<(?:script|style|link)/i,bt=/<(?:script|object|embed|option|style)/i,wt=new RegExp("<(?:"+ct+")[\\s/>]","i"),Et=/^(?:checkbox|radio)$/,St=/checked\s*(?:[^=]|=\s*.checked.)/i,xt=/\/(java|ecma)script/i,Tt=/^\s*<!(?:\[CDATA\[|\-\-)|[\]\-]{2}>\s*$/g,Nt={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]},Ct=lt(i),kt=Ct.appendChild(i.createElement("div"));Nt.optgroup=Nt.option,Nt.tbody=Nt.tfoot=Nt.colgroup=Nt.caption=Nt.thead,Nt.th=Nt.td,v.support.htmlSerialize||(Nt._default=[1,"X<div>","</div>"]),v.fn.extend({text:function(e){return v.access(this,function(e){return e===t?v.text(this):this.empty().append((this[0]&&this[0].ownerDocument||i).createTextNode(e))},null,e,arguments.length)},wrapAll:function(e){if(v.isFunction(e))return this.each(function(t){v(this).wrapAll(e.call(this,t))});if(this[0]){var t=v(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&e.firstChild.nodeType===1)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return v.isFunction(e)?this.each(function(t){v(this).wrapInner(e.call(this,t))}):this.each(function(){var t=v(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=v.isFunction(e);return this.each(function(n){v(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){v.nodeName(this,"body")||v(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(e){(this.nodeType===1||this.nodeType===11)&&this.appendChild(e)})},prepend:function(){return this.domManip(arguments,!0,function(e){(this.nodeType===1||this.nodeType===11)&&this.insertBefore(e,this.firstChild)})},before:function(){if(!ut(this[0]))return this.domManip(arguments,!1,function(e){this.parentNode.insertBefore(e,this)});if(arguments.length){var e=v.clean(arguments);return this.pushStack(v.merge(e,this),"before",this.selector)}},after:function(){if(!ut(this[0]))return this.domManip(arguments,!1,function(e){this.parentNode.insertBefore(e,this.nextSibling)});if(arguments.length){var e=v.clean(arguments);return this.pushStack(v.merge(this,e),"after",this.selector)}},remove:function(e,t){var n,r=0;for(;(n=this[r])!=null;r++)if(!e||v.filter(e,[n]).length)!t&&n.nodeType===1&&(v.cleanData(n.getElementsByTagName("*")),v.cleanData([n])),n.parentNode&&n.parentNode.removeChild(n);return this},empty:function(){var e,t=0;for(;(e=this[t])!=null;t++){e.nodeType===1&&v.cleanData(e.getElementsByTagName("*"));while(e.firstChild)e.removeChild(e.firstChild)}return this},clone:function(e,t){return e=e==null?!1:e,t=t==null?e:t,this.map(function(){return v.clone(this,e,t)})},html:function(e){return v.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return n.nodeType===1?n.innerHTML.replace(ht,""):t;if(typeof e=="string"&&!yt.test(e)&&(v.support.htmlSerialize||!wt.test(e))&&(v.support.leadingWhitespace||!pt.test(e))&&!Nt[(vt.exec(e)||["",""])[1].toLowerCase()]){e=e.replace(dt,"<$1></$2>");try{for(;r<i;r++)n=this[r]||{},n.nodeType===1&&(v.cleanData(n.getElementsByTagName("*")),n.innerHTML=e);n=0}catch(s){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(e){return ut(this[0])?this.length?this.pushStack(v(v.isFunction(e)?e():e),"replaceWith",e):this:v.isFunction(e)?this.each(function(t){var n=v(this),r=n.html();n.replaceWith(e.call(this,t,r))}):(typeof e!="string"&&(e=v(e).detach()),this.each(function(){var t=this.nextSibling,n=this.parentNode;v(this).remove(),t?v(t).before(e):v(n).append(e)}))},detach:function(e){return this.remove(e,!0)},domManip:function(e,n,r){e=[].concat.apply([],e);var i,s,o,u,a=0,f=e[0],l=[],c=this.length;if(!v.support.checkClone&&c>1&&typeof f=="string"&&St.test(f))return this.each(function(){v(this).domManip(e,n,r)});if(v.isFunction(f))return this.each(function(i){var s=v(this);e[0]=f.call(this,i,n?s.html():t),s.domManip(e,n,r)});if(this[0]){i=v.buildFragment(e,this,l),o=i.fragment,s=o.firstChild,o.childNodes.length===1&&(o=s);if(s){n=n&&v.nodeName(s,"tr");for(u=i.cacheable||c-1;a<c;a++)r.call(n&&v.nodeName(this[a],"table")?Lt(this[a],"tbody"):this[a],a===u?o:v.clone(o,!0,!0))}o=s=null,l.length&&v.each(l,function(e,t){t.src?v.ajax?v.ajax({url:t.src,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0}):v.error("no ajax"):v.globalEval((t.text||t.textContent||t.innerHTML||"").replace(Tt,"")),t.parentNode&&t.parentNode.removeChild(t)})}return this}}),v.buildFragment=function(e,n,r){var s,o,u,a=e[0];return n=n||i,n=!n.nodeType&&n[0]||n,n=n.ownerDocument||n,e.length===1&&typeof a=="string"&&a.length<512&&n===i&&a.charAt(0)==="<"&&!bt.test(a)&&(v.support.checkClone||!St.test(a))&&(v.support.html5Clone||!wt.test(a))&&(o=!0,s=v.fragments[a],u=s!==t),s||(s=n.createDocumentFragment(),v.clean(e,n,s,r),o&&(v.fragments[a]=u&&s)),{fragment:s,cacheable:o}},v.fragments={},v.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){v.fn[e]=function(n){var r,i=0,s=[],o=v(n),u=o.length,a=this.length===1&&this[0].parentNode;if((a==null||a&&a.nodeType===11&&a.childNodes.length===1)&&u===1)return o[t](this[0]),this;for(;i<u;i++)r=(i>0?this.clone(!0):this).get(),v(o[i])[t](r),s=s.concat(r);return this.pushStack(s,e,o.selector)}}),v.extend({clone:function(e,t,n){var r,i,s,o;v.support.html5Clone||v.isXMLDoc(e)||!wt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(kt.innerHTML=e.outerHTML,kt.removeChild(o=kt.firstChild));if((!v.support.noCloneEvent||!v.support.noCloneChecked)&&(e.nodeType===1||e.nodeType===11)&&!v.isXMLDoc(e)){Ot(e,o),r=Mt(e),i=Mt(o);for(s=0;r[s];++s)i[s]&&Ot(r[s],i[s])}if(t){At(e,o);if(n){r=Mt(e),i=Mt(o);for(s=0;r[s];++s)At(r[s],i[s])}}return r=i=null,o},clean:function(e,t,n,r){var s,o,u,a,f,l,c,h,p,d,m,g,y=t===i&&Ct,b=[];if(!t||typeof t.createDocumentFragment=="undefined")t=i;for(s=0;(u=e[s])!=null;s++){typeof u=="number"&&(u+="");if(!u)continue;if(typeof u=="string")if(!gt.test(u))u=t.createTextNode(u);else{y=y||lt(t),c=t.createElement("div"),y.appendChild(c),u=u.replace(dt,"<$1></$2>"),a=(vt.exec(u)||["",""])[1].toLowerCase(),f=Nt[a]||Nt._default,l=f[0],c.innerHTML=f[1]+u+f[2];while(l--)c=c.lastChild;if(!v.support.tbody){h=mt.test(u),p=a==="table"&&!h?c.firstChild&&c.firstChild.childNodes:f[1]==="<table>"&&!h?c.childNodes:[];for(o=p.length-1;o>=0;--o)v.nodeName(p[o],"tbody")&&!p[o].childNodes.length&&p[o].parentNode.removeChild(p[o])}!v.support.leadingWhitespace&&pt.test(u)&&c.insertBefore(t.createTextNode(pt.exec(u)[0]),c.firstChild),u=c.childNodes,c.parentNode.removeChild(c)}u.nodeType?b.push(u):v.merge(b,u)}c&&(u=c=y=null);if(!v.support.appendChecked)for(s=0;(u=b[s])!=null;s++)v.nodeName(u,"input")?_t(u):typeof u.getElementsByTagName!="undefined"&&v.grep(u.getElementsByTagName("input"),_t);if(n){m=function(e){if(!e.type||xt.test(e.type))return r?r.push(e.parentNode?e.parentNode.removeChild(e):e):n.appendChild(e)};for(s=0;(u=b[s])!=null;s++)if(!v.nodeName(u,"script")||!m(u))n.appendChild(u),typeof u.getElementsByTagName!="undefined"&&(g=v.grep(v.merge([],u.getElementsByTagName("script")),m),b.splice.apply(b,[s+1,0].concat(g)),s+=g.length)}return b},cleanData:function(e,t){var n,r,i,s,o=0,u=v.expando,a=v.cache,f=v.support.deleteExpando,l=v.event.special;for(;(i=e[o])!=null;o++)if(t||v.acceptData(i)){r=i[u],n=r&&a[r];if(n){if(n.events)for(s in n.events)l[s]?v.event.remove(i,s):v.removeEvent(i,s,n.handle);a[r]&&(delete a[r],f?delete i[u]:i.removeAttribute?i.removeAttribute(u):i[u]=null,v.deletedIds.push(r))}}}}),function(){var e,t;v.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)||e.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(e)||[];return{browser:t[1]||"",version:t[2]||"0"}},e=v.uaMatch(o.userAgent),t={},e.browser&&(t[e.browser]=!0,t.version=e.version),t.chrome?t.webkit=!0:t.webkit&&(t.safari=!0),v.browser=t,v.sub=function(){function e(t,n){return new e.fn.init(t,n)}v.extend(!0,e,this),e.superclass=this,e.fn=e.prototype=this(),e.fn.constructor=e,e.sub=this.sub,e.fn.init=function(r,i){return i&&i instanceof v&&!(i instanceof e)&&(i=e(i)),v.fn.init.call(this,r,i,t)},e.fn.init.prototype=e.fn;var t=e(i);return e}}();var Dt,Pt,Ht,Bt=/alpha\([^)]*\)/i,jt=/opacity=([^)]*)/,Ft=/^(top|right|bottom|left)$/,It=/^(none|table(?!-c[ea]).+)/,qt=/^margin/,Rt=new RegExp("^("+m+")(.*)$","i"),Ut=new RegExp("^("+m+")(?!px)[a-z%]+$","i"),zt=new RegExp("^([-+])=("+m+")","i"),Wt={BODY:"block"},Xt={position:"absolute",visibility:"hidden",display:"block"},Vt={letterSpacing:0,fontWeight:400},$t=["Top","Right","Bottom","Left"],Jt=["Webkit","O","Moz","ms"],Kt=v.fn.toggle;v.fn.extend({css:function(e,n){return v.access(this,function(e,n,r){return r!==t?v.style(e,n,r):v.css(e,n)},e,n,arguments.length>1)},show:function(){return Yt(this,!0)},hide:function(){return Yt(this)},toggle:function(e,t){var n=typeof e=="boolean";return v.isFunction(e)&&v.isFunction(t)?Kt.apply(this,arguments):this.each(function(){(n?e:Gt(this))?v(this).show():v(this).hide()})}}),v.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Dt(e,"opacity");return n===""?"1":n}}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":v.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(!e||e.nodeType===3||e.nodeType===8||!e.style)return;var s,o,u,a=v.camelCase(n),f=e.style;n=v.cssProps[a]||(v.cssProps[a]=Qt(f,a)),u=v.cssHooks[n]||v.cssHooks[a];if(r===t)return u&&"get"in u&&(s=u.get(e,!1,i))!==t?s:f[n];o=typeof r,o==="string"&&(s=zt.exec(r))&&(r=(s[1]+1)*s[2]+parseFloat(v.css(e,n)),o="number");if(r==null||o==="number"&&isNaN(r))return;o==="number"&&!v.cssNumber[a]&&(r+="px");if(!u||!("set"in u)||(r=u.set(e,r,i))!==t)try{f[n]=r}catch(l){}},css:function(e,n,r,i){var s,o,u,a=v.camelCase(n);return n=v.cssProps[a]||(v.cssProps[a]=Qt(e.style,a)),u=v.cssHooks[n]||v.cssHooks[a],u&&"get"in u&&(s=u.get(e,!0,i)),s===t&&(s=Dt(e,n)),s==="normal"&&n in Vt&&(s=Vt[n]),r||i!==t?(o=parseFloat(s),r||v.isNumeric(o)?o||0:s):s},swap:function(e,t,n){var r,i,s={};for(i in t)s[i]=e.style[i],e.style[i]=t[i];r=n.call(e);for(i in t)e.style[i]=s[i];return r}}),e.getComputedStyle?Dt=function(t,n){var r,i,s,o,u=e.getComputedStyle(t,null),a=t.style;return u&&(r=u.getPropertyValue(n)||u[n],r===""&&!v.contains(t.ownerDocument,t)&&(r=v.style(t,n)),Ut.test(r)&&qt.test(n)&&(i=a.width,s=a.minWidth,o=a.maxWidth,a.minWidth=a.maxWidth=a.width=r,r=u.width,a.width=i,a.minWidth=s,a.maxWidth=o)),r}:i.documentElement.currentStyle&&(Dt=function(e,t){var n,r,i=e.currentStyle&&e.currentStyle[t],s=e.style;return i==null&&s&&s[t]&&(i=s[t]),Ut.test(i)&&!Ft.test(t)&&(n=s.left,r=e.runtimeStyle&&e.runtimeStyle.left,r&&(e.runtimeStyle.left=e.currentStyle.left),s.left=t==="fontSize"?"1em":i,i=s.pixelLeft+"px",s.left=n,r&&(e.runtimeStyle.left=r)),i===""?"auto":i}),v.each(["height","width"],function(e,t){v.cssHooks[t]={get:function(e,n,r){if(n)return e.offsetWidth===0&&It.test(Dt(e,"display"))?v.swap(e,Xt,function(){return tn(e,t,r)}):tn(e,t,r)},set:function(e,n,r){return Zt(e,n,r?en(e,t,r,v.support.boxSizing&&v.css(e,"boxSizing")==="border-box"):0)}}}),v.support.opacity||(v.cssHooks.opacity={get:function(e,t){return jt.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,r=e.currentStyle,i=v.isNumeric(t)?"alpha(opacity="+t*100+")":"",s=r&&r.filter||n.filter||"";n.zoom=1;if(t>=1&&v.trim(s.replace(Bt,""))===""&&n.removeAttribute){n.removeAttribute("filter");if(r&&!r.filter)return}n.filter=Bt.test(s)?s.replace(Bt,i):s+" "+i}}),v(function(){v.support.reliableMarginRight||(v.cssHooks.marginRight={get:function(e,t){return v.swap(e,{display:"inline-block"},function(){if(t)return Dt(e,"marginRight")})}}),!v.support.pixelPosition&&v.fn.position&&v.each(["top","left"],function(e,t){v.cssHooks[t]={get:function(e,n){if(n){var r=Dt(e,t);return Ut.test(r)?v(e).position()[t]+"px":r}}}})}),v.expr&&v.expr.filters&&(v.expr.filters.hidden=function(e){return e.offsetWidth===0&&e.offsetHeight===0||!v.support.reliableHiddenOffsets&&(e.style&&e.style.display||Dt(e,"display"))==="none"},v.expr.filters.visible=function(e){return!v.expr.filters.hidden(e)}),v.each({margin:"",padding:"",border:"Width"},function(e,t){v.cssHooks[e+t]={expand:function(n){var r,i=typeof n=="string"?n.split(" "):[n],s={};for(r=0;r<4;r++)s[e+$t[r]+t]=i[r]||i[r-2]||i[0];return s}},qt.test(e)||(v.cssHooks[e+t].set=Zt)});var rn=/%20/g,sn=/\[\]$/,on=/\r?\n/g,un=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,an=/^(?:select|textarea)/i;v.fn.extend({serialize:function(){return v.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?v.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||an.test(this.nodeName)||un.test(this.type))}).map(function(e,t){var n=v(this).val();return n==null?null:v.isArray(n)?v.map(n,function(e,n){return{name:t.name,value:e.replace(on,"\r\n")}}):{name:t.name,value:n.replace(on,"\r\n")}}).get()}}),v.param=function(e,n){var r,i=[],s=function(e,t){t=v.isFunction(t)?t():t==null?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};n===t&&(n=v.ajaxSettings&&v.ajaxSettings.traditional);if(v.isArray(e)||e.jquery&&!v.isPlainObject(e))v.each(e,function(){s(this.name,this.value)});else for(r in e)fn(r,e[r],n,s);return i.join("&").replace(rn,"+")};var ln,cn,hn=/#.*$/,pn=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,dn=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,vn=/^(?:GET|HEAD)$/,mn=/^\/\//,gn=/\?/,yn=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,bn=/([?&])_=[^&]*/,wn=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,En=v.fn.load,Sn={},xn={},Tn=["*/"]+["*"];try{cn=s.href}catch(Nn){cn=i.createElement("a"),cn.href="",cn=cn.href}ln=wn.exec(cn.toLowerCase())||[],v.fn.load=function(e,n,r){if(typeof e!="string"&&En)return En.apply(this,arguments);if(!this.length)return this;var i,s,o,u=this,a=e.indexOf(" ");return a>=0&&(i=e.slice(a,e.length),e=e.slice(0,a)),v.isFunction(n)?(r=n,n=t):n&&typeof n=="object"&&(s="POST"),v.ajax({url:e,type:s,dataType:"html",data:n,complete:function(e,t){r&&u.each(r,o||[e.responseText,t,e])}}).done(function(e){o=arguments,u.html(i?v("<div>").append(e.replace(yn,"")).find(i):e)}),this},v.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,t){v.fn[t]=function(e){return this.on(t,e)}}),v.each(["get","post"],function(e,n){v[n]=function(e,r,i,s){return v.isFunction(r)&&(s=s||i,i=r,r=t),v.ajax({type:n,url:e,data:r,success:i,dataType:s})}}),v.extend({getScript:function(e,n){return v.get(e,t,n,"script")},getJSON:function(e,t,n){return v.get(e,t,n,"json")},ajaxSetup:function(e,t){return t?Ln(e,v.ajaxSettings):(t=e,e=v.ajaxSettings),Ln(e,t),e},ajaxSettings:{url:cn,isLocal:dn.test(ln[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":Tn},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":e.String,"text html":!0,"text json":v.parseJSON,"text xml":v.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:Cn(Sn),ajaxTransport:Cn(xn),ajax:function(e,n){function T(e,n,s,a){var l,y,b,w,S,T=n;if(E===2)return;E=2,u&&clearTimeout(u),o=t,i=a||"",x.readyState=e>0?4:0,s&&(w=An(c,x,s));if(e>=200&&e<300||e===304)c.ifModified&&(S=x.getResponseHeader("Last-Modified"),S&&(v.lastModified[r]=S),S=x.getResponseHeader("Etag"),S&&(v.etag[r]=S)),e===304?(T="notmodified",l=!0):(l=On(c,w),T=l.state,y=l.data,b=l.error,l=!b);else{b=T;if(!T||e)T="error",e<0&&(e=0)}x.status=e,x.statusText=(n||T)+"",l?d.resolveWith(h,[y,T,x]):d.rejectWith(h,[x,T,b]),x.statusCode(g),g=t,f&&p.trigger("ajax"+(l?"Success":"Error"),[x,c,l?y:b]),m.fireWith(h,[x,T]),f&&(p.trigger("ajaxComplete",[x,c]),--v.active||v.event.trigger("ajaxStop"))}typeof e=="object"&&(n=e,e=t),n=n||{};var r,i,s,o,u,a,f,l,c=v.ajaxSetup({},n),h=c.context||c,p=h!==c&&(h.nodeType||h instanceof v)?v(h):v.event,d=v.Deferred(),m=v.Callbacks("once memory"),g=c.statusCode||{},b={},w={},E=0,S="canceled",x={readyState:0,setRequestHeader:function(e,t){if(!E){var n=e.toLowerCase();e=w[n]=w[n]||e,b[e]=t}return this},getAllResponseHeaders:function(){return E===2?i:null},getResponseHeader:function(e){var n;if(E===2){if(!s){s={};while(n=pn.exec(i))s[n[1].toLowerCase()]=n[2]}n=s[e.toLowerCase()]}return n===t?null:n},overrideMimeType:function(e){return E||(c.mimeType=e),this},abort:function(e){return e=e||S,o&&o.abort(e),T(0,e),this}};d.promise(x),x.success=x.done,x.error=x.fail,x.complete=m.add,x.statusCode=function(e){if(e){var t;if(E<2)for(t in e)g[t]=[g[t],e[t]];else t=e[x.status],x.always(t)}return this},c.url=((e||c.url)+"").replace(hn,"").replace(mn,ln[1]+"//"),c.dataTypes=v.trim(c.dataType||"*").toLowerCase().split(y),c.crossDomain==null&&(a=wn.exec(c.url.toLowerCase()),c.crossDomain=!(!a||a[1]===ln[1]&&a[2]===ln[2]&&(a[3]||(a[1]==="http:"?80:443))==(ln[3]||(ln[1]==="http:"?80:443)))),c.data&&c.processData&&typeof c.data!="string"&&(c.data=v.param(c.data,c.traditional)),kn(Sn,c,n,x);if(E===2)return x;f=c.global,c.type=c.type.toUpperCase(),c.hasContent=!vn.test(c.type),f&&v.active++===0&&v.event.trigger("ajaxStart");if(!c.hasContent){c.data&&(c.url+=(gn.test(c.url)?"&":"?")+c.data,delete c.data),r=c.url;if(c.cache===!1){var N=v.now(),C=c.url.replace(bn,"$1_="+N);c.url=C+(C===c.url?(gn.test(c.url)?"&":"?")+"_="+N:"")}}(c.data&&c.hasContent&&c.contentType!==!1||n.contentType)&&x.setRequestHeader("Content-Type",c.contentType),c.ifModified&&(r=r||c.url,v.lastModified[r]&&x.setRequestHeader("If-Modified-Since",v.lastModified[r]),v.etag[r]&&x.setRequestHeader("If-None-Match",v.etag[r])),x.setRequestHeader("Accept",c.dataTypes[0]&&c.accepts[c.dataTypes[0]]?c.accepts[c.dataTypes[0]]+(c.dataTypes[0]!=="*"?", "+Tn+"; q=0.01":""):c.accepts["*"]);for(l in c.headers)x.setRequestHeader(l,c.headers[l]);if(!c.beforeSend||c.beforeSend.call(h,x,c)!==!1&&E!==2){S="abort";for(l in{success:1,error:1,complete:1})x[l](c[l]);o=kn(xn,c,n,x);if(!o)T(-1,"No Transport");else{x.readyState=1,f&&p.trigger("ajaxSend",[x,c]),c.async&&c.timeout>0&&(u=setTimeout(function(){x.abort("timeout")},c.timeout));try{E=1,o.send(b,T)}catch(k){if(!(E<2))throw k;T(-1,k)}}return x}return x.abort()},active:0,lastModified:{},etag:{}});var Mn=[],_n=/\?/,Dn=/(=)\?(?=&|$)|\?\?/,Pn=v.now();v.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Mn.pop()||v.expando+"_"+Pn++;return this[e]=!0,e}}),v.ajaxPrefilter("json jsonp",function(n,r,i){var s,o,u,a=n.data,f=n.url,l=n.jsonp!==!1,c=l&&Dn.test(f),h=l&&!c&&typeof a=="string"&&!(n.contentType||"").indexOf("application/x-www-form-urlencoded")&&Dn.test(a);if(n.dataTypes[0]==="jsonp"||c||h)return s=n.jsonpCallback=v.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,o=e[s],c?n.url=f.replace(Dn,"$1"+s):h?n.data=a.replace(Dn,"$1"+s):l&&(n.url+=(_n.test(f)?"&":"?")+n.jsonp+"="+s),n.converters["script json"]=function(){return u||v.error(s+" was not called"),u[0]},n.dataTypes[0]="json",e[s]=function(){u=arguments},i.always(function(){e[s]=o,n[s]&&(n.jsonpCallback=r.jsonpCallback,Mn.push(s)),u&&v.isFunction(o)&&o(u[0]),u=o=t}),"script"}),v.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(e){return v.globalEval(e),e}}}),v.ajaxPrefilter("script",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),v.ajaxTransport("script",function(e){if(e.crossDomain){var n,r=i.head||i.getElementsByTagName("head")[0]||i.documentElement;return{send:function(s,o){n=i.createElement("script"),n.async="async",e.scriptCharset&&(n.charset=e.scriptCharset),n.src=e.url,n.onload=n.onreadystatechange=function(e,i){if(i||!n.readyState||/loaded|complete/.test(n.readyState))n.onload=n.onreadystatechange=null,r&&n.parentNode&&r.removeChild(n),n=t,i||o(200,"success")},r.insertBefore(n,r.firstChild)},abort:function(){n&&n.onload(0,1)}}}});var Hn,Bn=e.ActiveXObject?function(){for(var e in Hn)Hn[e](0,1)}:!1,jn=0;v.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&Fn()||In()}:Fn,function(e){v.extend(v.support,{ajax:!!e,cors:!!e&&"withCredentials"in e})}(v.ajaxSettings.xhr()),v.support.ajax&&v.ajaxTransport(function(n){if(!n.crossDomain||v.support.cors){var r;return{send:function(i,s){var o,u,a=n.xhr();n.username?a.open(n.type,n.url,n.async,n.username,n.password):a.open(n.type,n.url,n.async);if(n.xhrFields)for(u in n.xhrFields)a[u]=n.xhrFields[u];n.mimeType&&a.overrideMimeType&&a.overrideMimeType(n.mimeType),!n.crossDomain&&!i["X-Requested-With"]&&(i["X-Requested-With"]="XMLHttpRequest");try{for(u in i)a.setRequestHeader(u,i[u])}catch(f){}a.send(n.hasContent&&n.data||null),r=function(e,i){var u,f,l,c,h;try{if(r&&(i||a.readyState===4)){r=t,o&&(a.onreadystatechange=v.noop,Bn&&delete Hn[o]);if(i)a.readyState!==4&&a.abort();else{u=a.status,l=a.getAllResponseHeaders(),c={},h=a.responseXML,h&&h.documentElement&&(c.xml=h);try{c.text=a.responseText}catch(p){}try{f=a.statusText}catch(p){f=""}!u&&n.isLocal&&!n.crossDomain?u=c.text?200:404:u===1223&&(u=204)}}}catch(d){i||s(-1,d)}c&&s(u,f,c,l)},n.async?a.readyState===4?setTimeout(r,0):(o=++jn,Bn&&(Hn||(Hn={},v(e).unload(Bn)),Hn[o]=r),a.onreadystatechange=r):r()},abort:function(){r&&r(0,1)}}}});var qn,Rn,Un=/^(?:toggle|show|hide)$/,zn=new RegExp("^(?:([-+])=|)("+m+")([a-z%]*)$","i"),Wn=/queueHooks$/,Xn=[Gn],Vn={"*":[function(e,t){var n,r,i=this.createTween(e,t),s=zn.exec(t),o=i.cur(),u=+o||0,a=1,f=20;if(s){n=+s[2],r=s[3]||(v.cssNumber[e]?"":"px");if(r!=="px"&&u){u=v.css(i.elem,e,!0)||n||1;do a=a||".5",u/=a,v.style(i.elem,e,u+r);while(a!==(a=i.cur()/o)&&a!==1&&--f)}i.unit=r,i.start=u,i.end=s[1]?u+(s[1]+1)*n:n}return i}]};v.Animation=v.extend(Kn,{tweener:function(e,t){v.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");var n,r=0,i=e.length;for(;r<i;r++)n=e[r],Vn[n]=Vn[n]||[],Vn[n].unshift(t)},prefilter:function(e,t){t?Xn.unshift(e):Xn.push(e)}}),v.Tween=Yn,Yn.prototype={constructor:Yn,init:function(e,t,n,r,i,s){this.elem=e,this.prop=n,this.easing=i||"swing",this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=s||(v.cssNumber[n]?"":"px")},cur:function(){var e=Yn.propHooks[this.prop];return e&&e.get?e.get(this):Yn.propHooks._default.get(this)},run:function(e){var t,n=Yn.propHooks[this.prop];return this.options.duration?this.pos=t=v.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):Yn.propHooks._default.set(this),this}},Yn.prototype.init.prototype=Yn.prototype,Yn.propHooks={_default:{get:function(e){var t;return e.elem[e.prop]==null||!!e.elem.style&&e.elem.style[e.prop]!=null?(t=v.css(e.elem,e.prop,!1,""),!t||t==="auto"?0:t):e.elem[e.prop]},set:function(e){v.fx.step[e.prop]?v.fx.step[e.prop](e):e.elem.style&&(e.elem.style[v.cssProps[e.prop]]!=null||v.cssHooks[e.prop])?v.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},Yn.propHooks.scrollTop=Yn.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},v.each(["toggle","show","hide"],function(e,t){var n=v.fn[t];v.fn[t]=function(r,i,s){return r==null||typeof r=="boolean"||!e&&v.isFunction(r)&&v.isFunction(i)?n.apply(this,arguments):this.animate(Zn(t,!0),r,i,s)}}),v.fn.extend({fadeTo:function(e,t,n,r){return this.filter(Gt).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=v.isEmptyObject(e),s=v.speed(t,n,r),o=function(){var t=Kn(this,v.extend({},e),s);i&&t.stop(!0)};return i||s.queue===!1?this.each(o):this.queue(s.queue,o)},stop:function(e,n,r){var i=function(e){var t=e.stop;delete e.stop,t(r)};return typeof e!="string"&&(r=n,n=e,e=t),n&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,n=e!=null&&e+"queueHooks",s=v.timers,o=v._data(this);if(n)o[n]&&o[n].stop&&i(o[n]);else for(n in o)o[n]&&o[n].stop&&Wn.test(n)&&i(o[n]);for(n=s.length;n--;)s[n].elem===this&&(e==null||s[n].queue===e)&&(s[n].anim.stop(r),t=!1,s.splice(n,1));(t||!r)&&v.dequeue(this,e)})}}),v.each({slideDown:Zn("show"),slideUp:Zn("hide"),slideToggle:Zn("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){v.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),v.speed=function(e,t,n){var r=e&&typeof e=="object"?v.extend({},e):{complete:n||!n&&t||v.isFunction(e)&&e,duration:e,easing:n&&t||t&&!v.isFunction(t)&&t};r.duration=v.fx.off?0:typeof r.duration=="number"?r.duration:r.duration in v.fx.speeds?v.fx.speeds[r.duration]:v.fx.speeds._default;if(r.queue==null||r.queue===!0)r.queue="fx";return r.old=r.complete,r.complete=function(){v.isFunction(r.old)&&r.old.call(this),r.queue&&v.dequeue(this,r.queue)},r},v.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},v.timers=[],v.fx=Yn.prototype.init,v.fx.tick=function(){var e,n=v.timers,r=0;qn=v.now();for(;r<n.length;r++)e=n[r],!e()&&n[r]===e&&n.splice(r--,1);n.length||v.fx.stop(),qn=t},v.fx.timer=function(e){e()&&v.timers.push(e)&&!Rn&&(Rn=setInterval(v.fx.tick,v.fx.interval))},v.fx.interval=13,v.fx.stop=function(){clearInterval(Rn),Rn=null},v.fx.speeds={slow:600,fast:200,_default:400},v.fx.step={},v.expr&&v.expr.filters&&(v.expr.filters.animated=function(e){return v.grep(v.timers,function(t){return e===t.elem}).length});var er=/^(?:body|html)$/i;v.fn.offset=function(e){if(arguments.length)return e===t?this:this.each(function(t){v.offset.setOffset(this,e,t)});var n,r,i,s,o,u,a,f={top:0,left:0},l=this[0],c=l&&l.ownerDocument;if(!c)return;return(r=c.body)===l?v.offset.bodyOffset(l):(n=c.documentElement,v.contains(n,l)?(typeof l.getBoundingClientRect!="undefined"&&(f=l.getBoundingClientRect()),i=tr(c),s=n.clientTop||r.clientTop||0,o=n.clientLeft||r.clientLeft||0,u=i.pageYOffset||n.scrollTop,a=i.pageXOffset||n.scrollLeft,{top:f.top+u-s,left:f.left+a-o}):f)},v.offset={bodyOffset:function(e){var t=e.offsetTop,n=e.offsetLeft;return v.support.doesNotIncludeMarginInBodyOffset&&(t+=parseFloat(v.css(e,"marginTop"))||0,n+=parseFloat(v.css(e,"marginLeft"))||0),{top:t,left:n}},setOffset:function(e,t,n){var r=v.css(e,"position");r==="static"&&(e.style.position="relative");var i=v(e),s=i.offset(),o=v.css(e,"top"),u=v.css(e,"left"),a=(r==="absolute"||r==="fixed")&&v.inArray("auto",[o,u])>-1,f={},l={},c,h;a?(l=i.position(),c=l.top,h=l.left):(c=parseFloat(o)||0,h=parseFloat(u)||0),v.isFunction(t)&&(t=t.call(e,n,s)),t.top!=null&&(f.top=t.top-s.top+c),t.left!=null&&(f.left=t.left-s.left+h),"using"in t?t.using.call(e,f):i.css(f)}},v.fn.extend({position:function(){if(!this[0])return;var e=this[0],t=this.offsetParent(),n=this.offset(),r=er.test(t[0].nodeName)?{top:0,left:0}:t.offset();return n.top-=parseFloat(v.css(e,"marginTop"))||0,n.left-=parseFloat(v.css(e,"marginLeft"))||0,r.top+=parseFloat(v.css(t[0],"borderTopWidth"))||0,r.left+=parseFloat(v.css(t[0],"borderLeftWidth"))||0,{top:n.top-r.top,left:n.left-r.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||i.body;while(e&&!er.test(e.nodeName)&&v.css(e,"position")==="static")e=e.offsetParent;return e||i.body})}}),v.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,n){var r=/Y/.test(n);v.fn[e]=function(i){return v.access(this,function(e,i,s){var o=tr(e);if(s===t)return o?n in o?o[n]:o.document.documentElement[i]:e[i];o?o.scrollTo(r?v(o).scrollLeft():s,r?s:v(o).scrollTop()):e[i]=s},e,i,arguments.length,null)}}),v.each({Height:"height",Width:"width"},function(e,n){v.each({padding:"inner"+e,content:n,"":"outer"+e},function(r,i){v.fn[i]=function(i,s){var o=arguments.length&&(r||typeof i!="boolean"),u=r||(i===!0||s===!0?"margin":"border");return v.access(this,function(n,r,i){var s;return v.isWindow(n)?n.document.documentElement["client"+e]:n.nodeType===9?(s=n.documentElement,Math.max(n.body["scroll"+e],s["scroll"+e],n.body["offset"+e],s["offset"+e],s["client"+e])):i===t?v.css(n,r,i,u):v.style(n,r,i,u)},n,o?i:t,o,null)}})}),e.jQuery=e.$=v,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return v})})(window);;
function FollowToggle() {
    this.searchContainer = '';
    this.searchObject = '';
    this.clickedObject;
    this.ModalTitle;
    this.UserId;
    var followerid;
    var followeeid;

    this.RevertButton = function () {
        if ($(this.clickedObject).attr('data-following') === 'false') {
            $(this.clickedObject).removeClass('btn-info').addClass('btn-success');
            $(this.clickedObject).children('i').first().removeClass('icon-user').addClass('icon-ok');
            $(this.clickedObject).children('span').first().text('Following');
            $(this.clickedObject).attr('data-following', 'true');
        }
        else {
            $(this.clickedObject).removeClass('btn-success').addClass('btn-info');
            $(this.clickedObject).children('i').first().removeClass('icon-ok').addClass('icon-user');
            $(this.clickedObject).children('span').first().text('Follow');
            $(this.clickedObject).attr('data-following', 'false');
        }
    }
    this.attachFunction = function () {
        var O = this;
        $(this.searchContainer).on('click', this.searchObject, function (event) {
            O.clickedObject = this;
            followerid = $(O.clickedObject).attr('data-Follower');
            followeeid = $(O.clickedObject).attr('data-Followee');
            $.ajax({
                type: "POST",
                datatype: 'json',
                url: "/Scripts/Controls/Interface/FollowToggle/FollowToggleAJAX.aspx/FollowUnFollow",
                data: JSON.stringify({ Follower: followerid, Followee: followeeid }),
                contentType: 'application/json; charset=utf-8',
                success: function (data) {
                    O.RevertButton();
                },
                error: function (data) {
                    log('Failed to Follow or unfollow');
                }
            });
        }); 
    }
    this.DisplayFollowers = function (pageStart, pageLimit) {
        var O = this;
        $.ajax({
            type: "POST",
            datatype: 'json',
            url: "/WebServices/GlobalWebService.asmx/LoadPersonFollowingOrFollowers",
            data: JSON.stringify({ personId: this.UserId, pageStart: pageStart, pageLimit: pageLimit, loadFollowers: true, loadFollowing: false }),
            contentType: 'application/json; charset=utf-8',
            success: function (data) {
                O.DisplayFollowSuccess(data, false, pageStart, true, false);
            },
            error: function (data) {
                log('Failed to get followers list');
            }
        });
    }
    this.DisplayFollowing = function (pageStart, pageLimit) {
        var O = this;
        $.ajax({
            type: "POST",
            datatype: 'json',
            url: "/WebServices/GlobalWebService.asmx/LoadPersonFollowingOrFollowers",
            data: JSON.stringify({ personId: this.UserId, pageStart: pageStart, pageLimit: pageLimit, loadFollowers: false, loadFollowing: true }),
            contentType: 'application/json; charset=utf-8',
            success: function (data) {
                O.DisplayFollowSuccess(data, false, pageStart, false, true);
            },
            error: function (data) {
                log('Failed to get following list');
            }
        });
    }
    this.DisplayFollowSuccess = function (data, hover, pageStart, loadFollowers, loadFollowing) {
        if (pageStart == 0) {
            $('#PeopleDetailsModal .modal-body ul.person').children().remove();
        }
        var searchResultsSource = Handlebars.templates['person_modallist'];
        $("#PeopleDetailsModal .modal-body ul.person").append(searchResultsSource(data.d));

        if (loadFollowers) {
            $("#PeopleDetailsModal").addClass('loadFollowers');
            $("#PeopleDetailsModal").removeClass('loadFollowing');
        }

        if (loadFollowing) {
            $("#PeopleDetailsModal").addClass('loadFollowing');
            $("#PeopleDetailsModal").removeClass('loadFollowers');
        }

        $("#PeopleDetailsModal").modal('show');
        $("#SupplyTitle").html(this.ModalTitle);
    }
};
//
//   Extra Array functions
//
if (!Array.prototype.indexOf) {
    Array.prototype.indexOf = function (elt /*, from*/) {
        var len = this.length >>> 0;

        var from = Number(arguments[1]) || 0;
        from = (from < 0)
             ? Math.ceil(from)
             : Math.floor(from);
        if (from < 0)
            from += len;

        for (; from < len; from++) {
            if (from in this &&
                this[from] === elt)
                return from;
        }
        return -1;
    };
}

//
//   Extra String functions
//
if (typeof String.prototype.reverse != 'function') {
    String.prototype.reverse = function () {
        return this.split("").reverse().join("");
    };
}

if (typeof String.prototype.startsWith != 'function') {
    // see below for better implementation!
    String.prototype.startsWith = function (str) {
        return this.indexOf(str) == 0;
    };
};
//-------------------------------------------------------------------------------
// Clear Form Fields
//-------------------------------------------------------------------------------
function clearForm() {
    $(".hasclear input").click(function () {
        var t = $(this);
        t.next('span').toggle(Boolean(t.val()));
    });
    $(".hasclear .clearer").hide($(this).prev('input').val());
    $(".hasclear .clearer").click(function () {
        $(this).prev('input').val('').focus();
        $(this).hide();
    });    
}
//-------------------------------------------------------------------------------
// Hide / show more text - widget descriptions
//-------------------------------------------------------------------------------

jQuery.fn.shorten = function (settings) {
    var config = {
        showChars: 120,
        ellipsesText: "...",
        moreText: "more",
        lessText: "less"
    };

    if (settings) {
        $.extend(config, settings);
    }
    $('.morelink').on('click', function () {
        var $this = $(this);
        if ($this.hasClass('less')) {
            $this.removeClass('less');
            $this.html(config.moreText);
        } else {
            $this.addClass('less');
            $this.html(config.lessText);
        }
        $this.parent().prev().toggle();
        $this.prev().toggle();
        return false;
    });

    return this.each(function () {
        var $this = $(this);

        var content = $this.html();
        if (content.length > config.showChars) {
            var c = content.substr(0, config.showChars);
            var h = content.substr(config.showChars, content.length - config.showChars);
            var html = c + '<span class="moreellipses">' + config.ellipsesText + '&nbsp;</span><span class="morecontent"><span>' + h + '</span>&nbsp;&nbsp;<a href="javascript://nop/" class="morelink">' + config.moreText + '</a></span>';
            $this.html(html);
            $(".morecontent span").hide();
        }
    });
};


/* ===================================================
 * bootstrap-transition.js v2.1.1
 * http://twitter.github.com/bootstrap/javascript.html#transitions
 * ===================================================
 * Copyright 2012 Twitter, Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * ========================================================== */


!function ($) {

  $(function () {

    "use strict"; // jshint ;_;


    /* CSS TRANSITION SUPPORT (http://www.modernizr.com/)
     * ======================================================= */

    $.support.transition = (function () {

      var transitionEnd = (function () {

        var el = document.createElement('bootstrap')
          , transEndEventNames = {
               'WebkitTransition' : 'webkitTransitionEnd'
            ,  'MozTransition'    : 'transitionend'
            ,  'OTransition'      : 'oTransitionEnd otransitionend'
            ,  'transition'       : 'transitionend'
            }
          , name

        for (name in transEndEventNames){
          if (el.style[name] !== undefined) {
            return transEndEventNames[name]
          }
        }

      }())

      return transitionEnd && {
        end: transitionEnd
      }

    })()

  })

}(window.jQuery);
/* =========================================================
 * bootstrap-modal.js v2.1.1
 * http://twitter.github.com/bootstrap/javascript.html#modals
 * =========================================================
 * Copyright 2012 Twitter, Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * ========================================================= */


!function ($) {

  "use strict"; // jshint ;_;


 /* MODAL CLASS DEFINITION
  * ====================== */

  var Modal = function (element, options) {
    this.options = options
    this.$element = $(element)
      .delegate('[data-dismiss="modal"]', 'click.dismiss.modal', $.proxy(this.hide, this))
    this.options.remote && this.$element.find('.modal-body').load(this.options.remote)
  }

  Modal.prototype = {

      constructor: Modal

    , toggle: function () {
        return this[!this.isShown ? 'show' : 'hide']()
      }

    , show: function () {
    	// Interact accessibility
    	this.$element
		  .prop('hidden', false)

        var that = this
          , e = $.Event('show')

        this.$element.trigger(e)

        if (this.isShown || e.isDefaultPrevented()) return

        $('body').addClass('modal-open')

        this.isShown = true

        this.escape()

        this.backdrop(function () {
          var transition = $.support.transition && that.$element.hasClass('fade')

          if (!that.$element.parent().length) {
            that.$element.appendTo(document.body) //don't move modals dom position
          }

          that.$element
            .show()

          if (transition) {
            that.$element[0].offsetWidth // force reflow
          }

          that.$element
            .addClass('in')
            .attr('aria-hidden', false)
            .focus()

          that.enforceFocus()

          transition ?
            that.$element.one($.support.transition.end, function () { that.$element.trigger('shown') }) :
            that.$element.trigger('shown')

        })
      }

    , hide: function (e) {
        e && e.preventDefault()

        var that = this

        e = $.Event('hide')

        this.$element.trigger(e)

        if (!this.isShown || e.isDefaultPrevented()) return

        this.isShown = false

        $('body').removeClass('modal-open')

        this.escape()

        // Need to close this dialog as it may have been opened as part of the free text widget
        $('#MentioningSearchBox').hide();

        $(document).off('focusin.modal')

        this.$element
          .removeClass('in')
          .attr('aria-hidden', true)

        $.support.transition && this.$element.hasClass('fade') ?
          this.hideWithTransition() :
          this.hideModal()
      }

    , enforceFocus: function () {
        var that = this
        $(document).on('focusin.modal', function (e) {
          if (that.$element[0] !== e.target && !that.$element.has(e.target).length) {
            that.$element.focus()
          }
        })
      }

    , escape: function () {
        var that = this
        if (this.isShown && this.options.keyboard) {
          this.$element.on('keyup.dismiss.modal', function ( e ) {
            e.which == 27 && that.hide()
          })
        } else if (!this.isShown) {
          this.$element.off('keyup.dismiss.modal')
        }
      }

    , hideWithTransition: function () {
        var that = this
          , timeout = setTimeout(function () {
              that.$element.off($.support.transition.end)
              that.hideModal()
            }, 500)

        this.$element.one($.support.transition.end, function () {
          clearTimeout(timeout)
          that.hideModal()
        })
      }

    , hideModal: function (that) {
        this.backdrop()

        this.$element
          .hide()
          .trigger('hidden')
          .prop('hidden', true) // Interact accessibility
      }

    , removeBackdrop: function () {
        this.$backdrop.remove()
        this.$backdrop = null
      }

    , backdrop: function (callback) {
        var that = this
          , animate = this.$element.hasClass('fade') ? 'fade' : ''

        if (this.isShown && this.options.backdrop) {
          var doAnimate = $.support.transition && animate

          this.$backdrop = $('<div class="modal-backdrop ' + animate + '" />')
              .insertAfter(this.$element)
            //.appendTo(document.body) TIMBO FIX to resolve the modals being behind the screen backdrop

          if (this.options.backdrop != 'static') {
            this.$backdrop.click($.proxy(this.hide, this))
          }

          if (doAnimate) this.$backdrop[0].offsetWidth // force reflow

          this.$backdrop.addClass('in')

          doAnimate ?
            this.$backdrop.one($.support.transition.end, callback) :
            callback()

        } else if (!this.isShown && this.$backdrop) {
          this.$backdrop.removeClass('in')

          $.support.transition && this.$element.hasClass('fade')?
            this.$backdrop.one($.support.transition.end, $.proxy(this.removeBackdrop, this)) :
            this.removeBackdrop()

        } else if (callback) {
          callback()
        }
      }
  }


 /* MODAL PLUGIN DEFINITION
  * ======================= */

  $.fn.modal = function (option) {
    return this.each(function () {
      var $this = $(this)
        , data = $this.data('modal')
        , options = $.extend({}, $.fn.modal.defaults, $this.data(), typeof option == 'object' && option)
      if (!data) $this.data('modal', (data = new Modal(this, options)))
      if (typeof option == 'string') data[option]()
      else if (options.show) data.show()
    })
  }

  $.fn.modal.defaults = {
      backdrop: true
    , keyboard: true
    , show: true
  }

  $.fn.modal.Constructor = Modal


 /* MODAL DATA-API
  * ============== */

  $(function () {
    $('body').on('click.modal.data-api', '[data-toggle="modal"]', function ( e ) {
      var $this = $(this)
        , href = $this.attr('href')
        , $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) //strip for ie7
        , option = $target.data('modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data())

      e.preventDefault()

      $target
        .modal(option)
        .one('hide', function () {
          $this.focus()
        })
    })

  	// Interact Accessibility
    $('.modal.hide')
		.prop('hidden', true)
  })

}(window.jQuery);
/* ============================================================
 * bootstrap-dropdown.js v2.1.1
 * http://twitter.github.com/bootstrap/javascript.html#dropdowns
 * ============================================================
 * Copyright 2012 Twitter, Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * ============================================================ */


!function ($) {

  "use strict"; // jshint ;_;


 /* DROPDOWN CLASS DEFINITION
  * ========================= */

  var toggle = '[data-toggle=dropdown]'
    , Dropdown = function (element) {
        var $el = $(element).on('click.dropdown.data-api', this.toggle)
        $('html').on('click.dropdown.data-api', function () {
          $el.parent().removeClass('open')
        })
      }

  Dropdown.prototype = {

    constructor: Dropdown

  , toggle: function (e) {
      var $this = $(this)
        , $parent
        , isActive

      if ($this.is('.disabled, :disabled')) return

      $parent = getParent($this)

      isActive = $parent.hasClass('open')

      clearMenus()

      if (!isActive) {
        $parent.toggleClass('open')
        $this.focus()
      }

      return false
    }

  , keydown: function (e) {
      var $this
        , $items
        , $active
        , $parent
        , isActive
        , index

      if (!/(38|40|27)/.test(e.keyCode)) return

      $this = $(this)

      e.preventDefault()
      e.stopPropagation()

      if ($this.is('.disabled, :disabled')) return

      $parent = getParent($this)

      isActive = $parent.hasClass('open')

      if (!isActive || (isActive && e.keyCode == 27)) return $this.click()

      $items = $('[role=menu] li:not(.divider) a', $parent)

      if (!$items.length) return

      index = $items.index($items.filter(':focus'))

      if (e.keyCode == 38 && index > 0) index--                                        // up
      if (e.keyCode == 40 && index < $items.length - 1) index++                        // down
      if (!~index) index = 0

      $items
        .eq(index)
        .focus()
    }

  }

  function clearMenus() {
    getParent($(toggle))
      .removeClass('open')
  }

  function getParent($this) {
    var selector = $this.attr('data-target')
      , $parent

    if (!selector) {
      selector = $this.attr('href')
      selector = selector && /#/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
    }

    $parent = $(selector)
    $parent.length || ($parent = $this.parent())

    return $parent
  }


  /* DROPDOWN PLUGIN DEFINITION
   * ========================== */

  $.fn.dropdown = function (option) {
    return this.each(function () {
      var $this = $(this)
        , data = $this.data('dropdown')
      if (!data) $this.data('dropdown', (data = new Dropdown(this)))
      if (typeof option == 'string') data[option].call($this)
    })
  }

  $.fn.dropdown.Constructor = Dropdown


  /* APPLY TO STANDARD DROPDOWN ELEMENTS
   * =================================== */

  $(document)
    .on('click.dropdown.data-api', clearMenus)
    .on('click.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
    .on('click.dropdown-menu', function (e) { e.stopPropagation() })
    .on('click.dropdown.data-api'  , toggle, Dropdown.prototype.toggle)
    .on('keydown.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown)

}(window.jQuery);
/* =============================================================
 * bootstrap-scrollspy.js v2.2.2
 * http://twitter.github.com/bootstrap/javascript.html#scrollspy
 * =============================================================
 * Copyright 2012 Twitter, Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * ============================================================== */


!function ($) {

    "use strict"; // jshint ;_;


    /* SCROLLSPY CLASS DEFINITION
     * ========================== */

    function ScrollSpy(element, options) {
        var process = $.proxy(this.process, this)
          , $element = $(element).is('body') ? $(window) : $(element)
          , href
        this.options = $.extend({}, $.fn.scrollspy.defaults, options)
        this.$scrollElement = $element.on('scroll.scroll-spy.data-api', process)
        this.selector = (this.options.target
          || ((href = $(element).attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
          || '') + ' .nav li > a'
        this.$body = $('body')
        this.refresh()
        this.process()
    }

    ScrollSpy.prototype = {

        constructor: ScrollSpy

      , refresh: function () {
          var self = this
            , $targets

          this.offsets = $([])
          this.targets = $([])

          $targets = this.$body
            .find(this.selector)
            .map(function () {
                var $el = $(this)
                  , href = $el.data('target') || $el.attr('href')
                  , $href = /^#\w/.test(href) && $(href)
                return ($href
                  && $href.length
                  && [[$href.position().top + self.$scrollElement.scrollTop(), href]]) || null
            })
            .sort(function (a, b) { return a[0] - b[0] })
            .each(function () {
                self.offsets.push(this[0])
                self.targets.push(this[1])
            })
      }

      , process: function () {
          var scrollTop = this.$scrollElement.scrollTop() + this.options.offset
            , scrollHeight = this.$scrollElement[0].scrollHeight || this.$body[0].scrollHeight
            , maxScroll = scrollHeight - this.$scrollElement.height()
            , offsets = this.offsets
            , targets = this.targets
            , activeTarget = this.activeTarget
            , i

          if (scrollTop >= maxScroll) {
              return activeTarget != (i = targets.last()[0])
                && this.activate(i)
          }

          for (i = offsets.length; i--;) {
              activeTarget != targets[i]
                && scrollTop >= offsets[i]
                && (!offsets[i + 1] || scrollTop <= offsets[i + 1])
                && this.activate(targets[i])
          }
      }

      , activate: function (target) {
          var active
            , selector

          this.activeTarget = target

          $(this.selector)
            .parent('.active')
            .removeClass('active')

          selector = this.selector
            + '[data-target="' + target + '"],'
            + this.selector + '[href="' + target + '"]'

          active = $(selector)
            .parent('li')
            .addClass('active')

          if (active.parent('.dropdown-menu').length) {
              active = active.closest('li.dropdown').addClass('active')
          }

          active.trigger('activate')
      }

    }


    /* SCROLLSPY PLUGIN DEFINITION
     * =========================== */

    var old = $.fn.scrollspy

    $.fn.scrollspy = function (option) {
        return this.each(function () {
            var $this = $(this)
              , data = $this.data('scrollspy')
              , options = typeof option == 'object' && option
            if (!data) $this.data('scrollspy', (data = new ScrollSpy(this, options)))
            if (typeof option == 'string') data[option]()
        })
    }

    $.fn.scrollspy.Constructor = ScrollSpy

    $.fn.scrollspy.defaults = {
        offset: 10
    }


    /* SCROLLSPY NO CONFLICT
     * ===================== */

    $.fn.scrollspy.noConflict = function () {
        $.fn.scrollspy = old
        return this
    }


    /* SCROLLSPY DATA-API
     * ================== */

    $(window).on('load', function () {
        $('[data-spy="scroll"]').each(function () {
            var $spy = $(this)
            $spy.scrollspy($spy.data())
        })
    })

}(window.jQuery);
/* ========================================================
 * bootstrap-tab.js v2.1.1
 * http://twitter.github.com/bootstrap/javascript.html#tabs
 * ========================================================
 * Copyright 2012 Twitter, Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * ======================================================== */


!function ($) {

  "use strict"; // jshint ;_;


 /* TAB CLASS DEFINITION
  * ==================== */

  var Tab = function (element) {
    this.element = $(element)
  }

  Tab.prototype = {

    constructor: Tab

  , show: function () {
      var $this = this.element
        , $ul = $this.closest('ul:not(.dropdown-menu)')
        , selector = $this.attr('data-target')
        , previous
        , $target
        , e

      if (!selector) {
        selector = $this.attr('href')
        selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
      }

      if ( $this.parent('li').hasClass('active') ) return

      previous = $ul.find('.active a').last()[0]

      e = $.Event('show', {
        relatedTarget: previous
      })

      $this.trigger(e)

      if (e.isDefaultPrevented()) return

      $target = $(selector)

      this.activate($this.parent('li'), $ul)
      this.activate($target, $target.parent(), function () {
        $this.trigger({
          type: 'shown'
        , relatedTarget: previous
        })
      })
    }

  , activate: function ( element, container, callback) {
      var $active = container.find('> .active')
        , transition = callback
            && $.support.transition
            && $active.hasClass('fade')

      function next() {
        $active
          .removeClass('active')
          .find('> .dropdown-menu > .active')
          .removeClass('active')

        element.addClass('active')

        if (transition) {
          element[0].offsetWidth // reflow for transition
          element.addClass('in')
        } else {
          element.removeClass('fade')
        }

        if ( element.parent('.dropdown-menu') ) {
          element.closest('li.dropdown').addClass('active')
        }

        callback && callback()
      }

      transition ?
        $active.one($.support.transition.end, next) :
        next()

      $active.removeClass('in')
    }
  }


 /* TAB PLUGIN DEFINITION
  * ===================== */

  $.fn.tab = function ( option ) {
    return this.each(function () {
      var $this = $(this)
        , data = $this.data('tab')
      if (!data) $this.data('tab', (data = new Tab(this)))
      if (typeof option == 'string') data[option]()
    })
  }

  $.fn.tab.Constructor = Tab


 /* TAB DATA-API
  * ============ */

  $(function () {
    $('body').on('click.tab.data-api', '[data-toggle="tab"], [data-toggle="pill"]', function (e) {
      e.preventDefault()
      $(this).tab('show')
    })
  })

}(window.jQuery);
/* ===========================================================
 * bootstrap-tooltip.js v2.1.1
 * http://twitter.github.com/bootstrap/javascript.html#tooltips
 * Inspired by the original jQuery.tipsy by Jason Frame
 * ===========================================================
 * Copyright 2012 Twitter, Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * ========================================================== */


!function ($) {

  "use strict"; // jshint ;_;


 /* TOOLTIP PUBLIC CLASS DEFINITION
  * =============================== */

  var Tooltip = function (element, options) {
    this.init('tooltip', element, options)
  }

  Tooltip.prototype = {

    constructor: Tooltip

  , init: function (type, element, options) {
      var eventIn
        , eventOut

      this.type = type
      this.$element = $(element)
      this.options = this.getOptions(options)
      this.enabled = true

	  // triggers - ADDED BY INTERACT
	  var triggers = this.options.trigger.split(' ')
	  if (triggers.indexOf('click') > -1) {
		  this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this))
	  }
	  if (triggers.indexOf('hover') > -1) {
		  this.$element.on('mouseenter.' + this.type, this.options.selector, $.proxy(this.enter, this))
		  this.$element.on('mouseleave.' + this.type, this.options.selector, $.proxy(this.leave, this))
	  }
	  if (triggers.indexOf('focus') > -1) {
		  this.$element.on('focus.' + this.type, this.options.selector, $.proxy(this.enter, this))
		  this.$element.on('blur.' + this.type, this.options.selector, $.proxy(this.leave, this))
	  }

      this.options.selector ?
        (this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) :
        this.fixTitle()
    }

  , getOptions: function (options) {
      options = $.extend({}, $.fn[this.type].defaults, options, this.$element.data())

      if (options.delay && typeof options.delay == 'number') {
        options.delay = {
          show: options.delay
        , hide: options.delay
        }
      }

      return options
    }

  , enter: function (e) {
      var self = $(e.currentTarget)[this.type](this._options).data(this.type)

      if (!self.options.delay || !self.options.delay.show) {
          return self.show();
      }

      clearTimeout(this.timeout)
      self.hoverState = 'in'
      this.timeout = setTimeout(function() {
        if (self.hoverState == 'in') self.show()
      }, self.options.delay.show)
    }

  , leave: function (e) {
      var self = $(e.currentTarget)[this.type](this._options).data(this.type)

      if (this.timeout) clearTimeout(this.timeout)
      if (!self.options.delay || !self.options.delay.hide) return self.hide()

      self.hoverState = 'out'
      this.timeout = setTimeout(function() {
        if (self.hoverState == 'out') self.hide()
      }, self.options.delay.hide)
    }

  , show: function () {
      var $tip
        , inside
        , pos
        , actualWidth
        , actualHeight
        , placement
        , tp
        , showInModal

      if (this.hasContent() && this.enabled) {
          $tip = this.tip()
          this.setContent()

          if (this.options.animation) {
              $tip.addClass('fade')
          }

          placement = typeof this.options.placement == 'function' ?
            this.options.placement.call(this, $tip[0], this.$element[0]) :
            this.options.placement

          showInModal = typeof this.options.showInModal == 'function' ?
            this.options.showInModal.call(this, $tip[0], this.$element[0]) :
            this.options.showInModal

          inside = /in/.test(placement)

          $tip
            .remove()
            .css({ top: 0, left: 0, display: 'block' })
            .appendTo(inside ? this.$element : document.body)

          if (showInModal == 'true') {
                $tip.attr('style', 'top: 0, left: 0; display: block !important');
          }

          pos = this.getPosition(inside)
          
          actualWidth = $tip[0].offsetWidth
          actualHeight = $tip[0].offsetHeight
         
          switch (inside ? placement.split(' ')[1] : placement) {
              case 'bottom':
                  tp = {top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2}
                  break
              case 'top':
                  tp = {top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2}
                  break
              case 'left':
                  tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth}
                  break
              case 'right':
                  tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width}
                  break
          }

          $tip
            .css(tp)
            .addClass(placement)
          .addClass('in')
      }
    }

  , setContent: function () {
      var $tip = this.tip()
        , title = this.getTitle()

      $tip.find('.tooltip-inner')[this.options.html ? 'html' : 'text'](title)
      $tip.removeClass('fade in top bottom left right')
    }

  , hide: function () {
      var that = this
        , $tip = this.tip()

      $tip.removeClass('in')

      function removeWithAnimation() {
        var timeout = setTimeout(function () {
          $tip.off($.support.transition.end).remove()
        }, 500)

        $tip.one($.support.transition.end, function () {
          clearTimeout(timeout)
          $tip.remove()
        })
      }

      $.support.transition && this.$tip.hasClass('fade') ?
        removeWithAnimation() :
        $tip.remove()

      return this
    }

  , fixTitle: function () {
      var $e = this.$element
      if ($e.attr('title') || typeof($e.attr('data-original-title')) != 'string') {
        $e.attr('data-original-title', $e.attr('title') || '').removeAttr('title')
      }
    }

  , hasContent: function () {
      return this.getTitle()
    }

  , getPosition: function (inside) {
      return $.extend({}, (inside ? {top: 0, left: 0} : this.$element.offset()), {
        width: this.$element[0].offsetWidth
      , height: this.$element[0].offsetHeight
      })
    }

  , getTitle: function () {
      var title
        , $e = this.$element
        , o = this.options

      title = $e.attr('data-original-title')
        || (typeof o.title == 'function' ? o.title.call($e[0]) :  o.title)

      return title
    }

  , tip: function () {
      return this.$tip = this.$tip || $(this.options.template)
    }

  , validate: function () {
      if (!this.$element[0].parentNode) {
        this.hide()
        this.$element = null
        this.options = null
      }
    }

  , enable: function () {
      this.enabled = true
    }

  , disable: function () {
      this.enabled = false
    }

  , toggleEnabled: function () {
      this.enabled = !this.enabled
    }

  , toggle: function () {
      this[this.tip().hasClass('in') ? 'hide' : 'show']()
    }

  , destroy: function () {
      this.hide().$element.off('.' + this.type).removeData(this.type)
    }

  }


 /* TOOLTIP PLUGIN DEFINITION
  * ========================= */

  $.fn.tooltip = function ( option ) {
    return this.each(function () {
      var $this = $(this)
        , data = $this.data('tooltip')
        , options = typeof option == 'object' && option
      if (!data) $this.data('tooltip', (data = new Tooltip(this, options)))
      if (typeof option == 'string') data[option]()
    })
  }

  $.fn.tooltip.Constructor = Tooltip

  $.fn.tooltip.defaults = {
    animation: true
  , placement: 'top'
  , selector: false
  , template: '<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>'
  , trigger: 'hover focus'
  , title: ''
  , delay: 0
  , html: true
  }

}(window.jQuery);

/* ===========================================================
 * bootstrap-popover.js v2.1.1
 * http://twitter.github.com/bootstrap/javascript.html#popovers
 * ===========================================================
 * Copyright 2012 Twitter, Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * =========================================================== */


!function ($) {

  "use strict"; // jshint ;_;


 /* POPOVER PUBLIC CLASS DEFINITION
  * =============================== */

  var Popover = function (element, options) {
    this.init('popover', element, options)
  }


  /* NOTE: POPOVER EXTENDS BOOTSTRAP-TOOLTIP.js
     ========================================== */

  Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype, {

    constructor: Popover

  , setContent: function () {
      var $tip = this.tip()
        , title = this.getTitle()
        , content = this.getContent()

      $tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title)
      $tip.find('.popover-content > *')[this.options.html ? 'html' : 'text'](content)

      $tip.removeClass('fade top bottom left right in')
    }

  , hasContent: function () {
      return this.getTitle() || this.getContent()
    }

  , getContent: function () {
      var content
        , $e = this.$element
        , o = this.options

      content = $e.attr('data-content')
        || (typeof o.content == 'function' ? o.content.call($e[0]) :  o.content)

      return content
    }

  , tip: function () {
      if (!this.$tip) {
        this.$tip = $(this.options.template)
      }
      return this.$tip
    }

  , destroy: function () {
      this.hide().$element.off('.' + this.type).removeData(this.type)
    }

  })


 /* POPOVER PLUGIN DEFINITION
  * ======================= */

  $.fn.popover = function (option) {
    return this.each(function () {
      var $this = $(this)
        , data = $this.data('popover')
        , options = typeof option == 'object' && option
      if (!data) {
          $this.data('popover', (data = new Popover(this, options)))
      }
      if (typeof option == 'string') {
          data[option]()
      }
    })
  }

  $.fn.popover.Constructor = Popover

  $.fn.popover.defaults = $.extend({} , $.fn.tooltip.defaults, {
    placement: 'right'
  , trigger: 'click'
  , content: ''
  , template: '<div class="popover"><div class="arrow"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"><p></p></div></div></div>'
  })

}(window.jQuery);
/* ==========================================================
 * bootstrap-affix.js v2.1.1
 * http://twitter.github.com/bootstrap/javascript.html#affix
 * ==========================================================
 * Copyright 2012 Twitter, Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * ========================================================== */


!function ($) {

  "use strict"; // jshint ;_;


 /* AFFIX CLASS DEFINITION
  * ====================== */

  var Affix = function (element, options) {
    this.options = $.extend({}, $.fn.affix.defaults, options)
    this.$window = $(window).on('scroll.affix.data-api', $.proxy(this.checkPosition, this))
    this.$element = $(element)
    this.checkPosition()
  }

  Affix.prototype.checkPosition = function () {
    if (!this.$element.is(':visible')) return

    var scrollHeight = $(document).height()
      , scrollTop = this.$window.scrollTop()
      , position = this.$element.offset()
      , offset = this.options.offset
      , offsetBottom = offset.bottom
      , offsetTop = offset.top
      , reset = 'affix affix-top affix-bottom'
      , affix

    if (typeof offset != 'object') offsetBottom = offsetTop = offset
    if (typeof offsetTop == 'function') offsetTop = offset.top()
    if (typeof offsetBottom == 'function') offsetBottom = offset.bottom()

    affix = this.unpin != null && (scrollTop + this.unpin <= position.top) ?
      false    : offsetBottom != null && (position.top + this.$element.height() >= scrollHeight - offsetBottom) ?
      'bottom' : offsetTop != null && scrollTop <= offsetTop ?
      'top'    : false

    if (this.affixed === affix) return

    this.affixed = affix
    this.unpin = affix == 'bottom' ? position.top - scrollTop : null

    this.$element.removeClass(reset).addClass('affix' + (affix ? '-' + affix : ''))
  }


 /* AFFIX PLUGIN DEFINITION
  * ======================= */

  $.fn.affix = function (option) {
    return this.each(function () {
      var $this = $(this)
        , data = $this.data('affix')
        , options = typeof option == 'object' && option
      if (!data) $this.data('affix', (data = new Affix(this, options)))
      if (typeof option == 'string') data[option]()
    })
  }

  $.fn.affix.Constructor = Affix

  $.fn.affix.defaults = {
    offset: 0
  }


 /* AFFIX DATA-API
  * ============== */

  $(window).on('load', function () {
    $('[data-spy="affix"]').each(function () {
      var $spy = $(this)
        , data = $spy.data()

      data.offset = data.offset || {}

      data.offsetBottom && (data.offset.bottom = data.offsetBottom)
      data.offsetTop && (data.offset.top = data.offsetTop)

      $spy.affix(data)
    })
  })


}(window.jQuery);
/* ==========================================================
 * bootstrap-alert.js v2.1.1
 * http://twitter.github.com/bootstrap/javascript.html#alerts
 * ==========================================================
 * Copyright 2012 Twitter, Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * ========================================================== */


!function ($) {

  "use strict"; // jshint ;_;


 /* ALERT CLASS DEFINITION
  * ====================== */

  var dismiss = '[data-dismiss="alert"]'
    , Alert = function (el) {
        $(el).on('click', dismiss, this.close)
      }

  Alert.prototype.close = function (e) {
    var $this = $(this)
      , selector = $this.attr('data-target')
      , $parent

    if (!selector) {
      selector = $this.attr('href')
      selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
    }

    $parent = $(selector)

    e && e.preventDefault()

    $parent.length || ($parent = $this.hasClass('alert') ? $this : $this.parent())

    $parent.trigger(e = $.Event('close'))

    if (e.isDefaultPrevented()) return

    $parent.removeClass('in')

    function removeElement() {
      $parent
        .trigger('closed')
        .remove()
    }

    $.support.transition && $parent.hasClass('fade') ?
      $parent.on($.support.transition.end, removeElement) :
      removeElement()
  }


 /* ALERT PLUGIN DEFINITION
  * ======================= */

  $.fn.alert = function (option) {
    return this.each(function () {
      var $this = $(this)
        , data = $this.data('alert')
      if (!data) $this.data('alert', (data = new Alert(this)))
      if (typeof option == 'string') data[option].call($this)
    })
  }

  $.fn.alert.Constructor = Alert


 /* ALERT DATA-API
  * ============== */

  $(function () {
    $('body').on('click.alert.data-api', dismiss, Alert.prototype.close)
  })

}(window.jQuery);
/* ============================================================
 * bootstrap-button.js v2.1.1
 * http://twitter.github.com/bootstrap/javascript.html#buttons
 * ============================================================
 * Copyright 2012 Twitter, Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * ============================================================ */


!function ($) {

  "use strict"; // jshint ;_;


 /* BUTTON PUBLIC CLASS DEFINITION
  * ============================== */

  var Button = function (element, options) {
    this.$element = $(element)
    this.options = $.extend({}, $.fn.button.defaults, options)
  }

  Button.prototype.setState = function (state) {
    var d = 'disabled'
      , $el = this.$element
      , data = $el.data()
      , val = $el.is('input') ? 'val' : 'html'

    state = state + 'Text'
    data.resetText || $el.data('resetText', $el[val]())

    $el[val](data[state] || this.options[state])

    // push to event loop to allow forms to submit
    setTimeout(function () {
      state == 'loadingText' ?
        $el.addClass(d).attr(d, d) :
        $el.removeClass(d).removeAttr(d)
    }, 0)
  }

  Button.prototype.toggle = function () {
    var $parent = this.$element.closest('[data-toggle="buttons-radio"]')

    $parent && $parent
      .find('.active')
      .removeClass('active')

    this.$element.toggleClass('active')
  }


 /* BUTTON PLUGIN DEFINITION
  * ======================== */

  $.fn.button = function (option) {
    return this.each(function () {
      var $this = $(this)
        , data = $this.data('button')
        , options = typeof option == 'object' && option
      if (!data) $this.data('button', (data = new Button(this, options)))
      if (option == 'toggle') data.toggle()
      else if (option) data.setState(option)
    })
  }

  $.fn.button.defaults = {
    loadingText: 'loading...'
  }

  $.fn.button.Constructor = Button


 /* BUTTON DATA-API
  * =============== */

  $(function () {
    $('body').on('click.button.data-api', '[data-toggle^=button]', function ( e ) {
      var $btn = $(e.target)
      if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')
      $btn.button('toggle')
    })
  })

}(window.jQuery);
/* =============================================================
 * bootstrap-collapse.js v2.1.1
 * http://twitter.github.com/bootstrap/javascript.html#collapse
 * =============================================================
 * Copyright 2012 Twitter, Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * ============================================================ */


!function ($) {

  "use strict"; // jshint ;_;


 /* COLLAPSE PUBLIC CLASS DEFINITION
  * ================================ */

  var Collapse = function (element, options) {
    this.$element = $(element)
    this.options = $.extend({}, $.fn.collapse.defaults, options)

    if (this.options.parent) {
      this.$parent = $(this.options.parent)
    }

    this.options.toggle && this.toggle()
  }

  Collapse.prototype = {

    constructor: Collapse

  , dimension: function () {
      var hasWidth = this.$element.hasClass('width')
      return hasWidth ? 'width' : 'height'
    }

  , show: function () {
      var dimension
        , scroll
        , actives
        , hasData

      if (this.transitioning) return

      dimension = this.dimension()
      scroll = $.camelCase(['scroll', dimension].join('-'))
      actives = this.$parent && this.$parent.find('> .accordion-group > .in')

      if (actives && actives.length) {
        hasData = actives.data('collapse')
        if (hasData && hasData.transitioning) return
        actives.collapse('hide')
        hasData || actives.data('collapse', null)
      }

      this.$element[dimension](0)
      this.transition('addClass', $.Event('show'), 'shown')

      $(this.$element).each(function(index, item) {
        $(item.parentNode).find('.accordion-toggle').removeClass('collapsed');
      });

      $.support.transition && this.$element[dimension](this.$element[0][scroll])
    }

  , hide: function () {
      var dimension
      if (this.transitioning) return
      dimension = this.dimension()
      this.reset(this.$element[dimension]())
      this.transition('removeClass', $.Event('hide'), 'hidden')
      $(this.$element).each(function(index, item) {
        $(item.parentNode).find('.accordion-toggle').addClass('collapsed');
      });
      this.$element[dimension](0)
    }

  , reset: function (size) {
      var dimension = this.dimension()

      this.$element
        .removeClass('collapse')
        [dimension](size || 'auto')
        [0].offsetWidth

      this.$element[size !== null ? 'addClass' : 'removeClass']('collapse')

      return this
    }

  , transition: function (method, startEvent, completeEvent) {
      var that = this
        , complete = function () {
            if (startEvent.type == 'show') that.reset()
            that.transitioning = 0
            that.$element.trigger(completeEvent)
          }

      this.$element.trigger(startEvent)

      if (startEvent.isDefaultPrevented()) return

      this.transitioning = 1

      this.$element[method]('in')

      $.support.transition && this.$element.hasClass('collapse') ?
        this.$element.one($.support.transition.end, complete) :
        complete()
    }

  , toggle: function () {
      this[this.$element.hasClass('in') ? 'hide' : 'show']()
    }

  }


 /* COLLAPSIBLE PLUGIN DEFINITION
  * ============================== */

  $.fn.collapse = function (option) {
    return this.each(function () {
      var $this = $(this)
        , data = $this.data('collapse')
        , options = typeof option == 'object' && option
      if (!data) $this.data('collapse', (data = new Collapse(this, options)))
      if (typeof option == 'string') data[option]()
    })
  }

  $.fn.collapse.defaults = {
    toggle: true
  }

  $.fn.collapse.Constructor = Collapse


 /* COLLAPSIBLE DATA-API
  * ==================== */

  $(function () {
    $('body').on('click.collapse.data-api', '[data-toggle=collapse]', function (e) {
      var $this = $(this), href
        , target = $this.attr('data-target')
          || e.preventDefault()
          || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7
        , option = $(target).data('collapse') ? 'toggle' : $this.data()
      $this[$(target).hasClass('in') ? 'addClass' : 'removeClass']('collapsed')
      $(target).collapse(option)
    })
  })

}(window.jQuery);
/* ==========================================================
 * bootstrap-carousel.js v2.1.1
 * http://twitter.github.com/bootstrap/javascript.html#carousel
 * ==========================================================
 * Copyright 2012 Twitter, Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * ========================================================== */


!function ($) {

  "use strict"; // jshint ;_;


 /* CAROUSEL CLASS DEFINITION
  * ========================= */

  var Carousel = function (element, options) {
    this.$element = $(element)
    this.options = options
    this.options.slide && this.slide(this.options.slide)
    this.options.pause == 'hover' && this.$element
      .on('mouseenter', $.proxy(this.pause, this))
      .on('mouseleave', $.proxy(this.cycle, this))
  }

  Carousel.prototype = {

    cycle: function (e) {
      if (!e) this.paused = false
      this.options.interval
        && !this.paused
        && (this.interval = setInterval($.proxy(this.next, this), this.options.interval))
      return this
    }

  , to: function (pos) {
      var $active = this.$element.find('.item.active')
        , children = $active.parent().children()
        , activePos = children.index($active)
        , that = this

      if (pos > (children.length - 1) || pos < 0) return

      if (this.sliding) {
        return this.$element.one('slid', function () {
          that.to(pos)
        })
      }

      if (activePos == pos) {
        return this.pause().cycle()
      }

      return this.slide(pos > activePos ? 'next' : 'prev', $(children[pos]))
    }

  , pause: function (e) {
	  if (!e) this.paused = true
	  // Modified in NEU-14401: https://github.com/twbs/bootstrap/issues/5747
	  // ref bootstrap PR: https://github.com/twbs/bootstrap/pull/6379
      if (this.$element.find('.next, .prev').length && $.support.transition.end) {
        this.$element.trigger($.support.transition.end)
      }
      clearInterval(this.interval)
      this.interval = null
      return this
    }

  , next: function () {
      if (this.sliding) return
      return this.slide('next')
    }

  , prev: function () {
      if (this.sliding) return
      return this.slide('prev')
    }

  , slide: function (type, next) {
      var $active = this.$element.find('.item.active')
        , $next = next || $active[type]()
        , isCycling = this.interval
        , direction = type == 'next' ? 'left' : 'right'
        , fallback  = type == 'next' ? 'first' : 'last'
        , that = this
        , e = $.Event('slide', {
            relatedTarget: $next[0]
          })

      this.sliding = true

      isCycling && this.pause()

      $next = $next.length ? $next : this.$element.find('.item')[fallback]()

      if ($next.hasClass('active')) return

      if ($.support.transition && this.$element.hasClass('slide')) {
        this.$element.trigger(e)
        if (e.isDefaultPrevented()) return
        $next.addClass(type)
        $next[0].offsetWidth // force reflow
        $active.addClass(direction)
        $next.addClass(direction)
        this.$element.one($.support.transition.end, function () {
          $next.removeClass([type, direction].join(' ')).addClass('active')
          $active.removeClass(['active', direction].join(' '))
          that.sliding = false
          setTimeout(function () { that.$element.trigger('slid') }, 0)
        })
      } else {
        this.$element.trigger(e)
        if (e.isDefaultPrevented()) return
        $active.removeClass('active')
        $next.addClass('active')
        this.sliding = false
        this.$element.trigger('slid')
      }

      isCycling && this.cycle()

      return this
    }

  }


 /* CAROUSEL PLUGIN DEFINITION
  * ========================== */

  $.fn.carousel = function (option) {
    return this.each(function () {
      var $this = $(this)
        , data = $this.data('carousel')
        , options = $.extend({}, $.fn.carousel.defaults, typeof option == 'object' && option)
        , action = typeof option == 'string' ? option : options.slide
      if (!data) $this.data('carousel', (data = new Carousel(this, options)))
      if (typeof option == 'number') data.to(option)
      else if (action) data[action]()
      else if (options.interval) data.cycle()
    })
  }

  $.fn.carousel.defaults = {
    interval: 5000
  , pause: 'hover'
  }

  $.fn.carousel.Constructor = Carousel


 /* CAROUSEL DATA-API
  * ================= */

  $(function () {
    $('body').on('click.carousel.data-api', '[data-slide]', function ( e ) {
      var $this = $(this), href
        , $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
        , options = !$target.data('modal') && $.extend({}, $target.data(), $this.data())
      $target.carousel(options)
      e.preventDefault()
    })
  })

}(window.jQuery);
/* =============================================================
 * bootstrap-typeahead.js v2.1.1
 * http://twitter.github.com/bootstrap/javascript.html#typeahead
 * =============================================================
 * Copyright 2012 Twitter, Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * ============================================================ */


!function($){

  "use strict"; // jshint ;_;


 /* TYPEAHEAD PUBLIC CLASS DEFINITION
  * ================================= */

  var Typeahead = function (element, options) {
    this.$element = $(element)
    this.options = $.extend({}, $.fn.typeahead.defaults, options)
    this.matcher = this.options.matcher || this.matcher
    this.sorter = this.options.sorter || this.sorter
    this.highlighter = this.options.highlighter || this.highlighter
    this.updater = this.options.updater || this.updater
    this.$menu = $(this.options.menu).appendTo('body')
    this.source = this.options.source
    this.shown = false
    this.listen()
  }

  Typeahead.prototype = {

    constructor: Typeahead

  , select: function () {
      var val = this.$menu.find('.active').attr('data-value')
      this.$element
        .val(this.updater(val))
        .change()
      return this.hide()
    }

  , updater: function (item) {
      return item
    }

  , show: function () {
      var pos = $.extend({}, this.$element.offset(), {
        height: this.$element[0].offsetHeight
      })

      this.$menu.css({
        top: pos.top + pos.height
      , left: pos.left
      })

      this.$menu.show()
      this.shown = true
      return this
    }

  , hide: function () {
      this.$menu.hide()
      this.shown = false
      return this
    }

  , lookup: function (event) {
      var items

      this.query = this.$element.val()

      if (!this.query || this.query.length < this.options.minLength) {
        return this.shown ? this.hide() : this
      }

      items = $.isFunction(this.source) ? this.source(this.query, $.proxy(this.process, this)) : this.source

      return items ? this.process(items) : this
    }

  , process: function (items) {
      var that = this

      items = $.grep(items, function (item) {
        return that.matcher(item)
      })

      items = this.sorter(items)

      if (!items.length) {
        return this.shown ? this.hide() : this
      }

      return this.render(items.slice(0, this.options.items)).show()
    }

  , matcher: function (item) {
      return ~item.toLowerCase().indexOf(this.query.toLowerCase())
    }

  , sorter: function (items) {
      var beginswith = []
        , caseSensitive = []
        , caseInsensitive = []
        , item

      while (item = items.shift()) {
        if (!item.toLowerCase().indexOf(this.query.toLowerCase())) beginswith.push(item)
        else if (~item.indexOf(this.query)) caseSensitive.push(item)
        else caseInsensitive.push(item)
      }

      return beginswith.concat(caseSensitive, caseInsensitive)
    }

  , highlighter: function (item) {
      var query = this.query.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, '\\$&')
      return item.replace(new RegExp('(' + query + ')', 'ig'), function ($1, match) {
        return '<strong>' + match + '</strong>'
      })
    }

  , render: function (items) {
      var that = this

      items = $(items).map(function (i, item) {
        i = $(that.options.item).attr('data-value', item)
        i.find('a').html(that.highlighter(item))
        return i[0]
      })

      items.first().addClass('active')
      this.$menu.html(items)
      return this
    }

  , next: function (event) {
      var active = this.$menu.find('.active').removeClass('active')
        , next = active.next()

      if (!next.length) {
        next = $(this.$menu.find('li')[0])
      }

      next.addClass('active')
    }

  , prev: function (event) {
      var active = this.$menu.find('.active').removeClass('active')
        , prev = active.prev()

      if (!prev.length) {
        prev = this.$menu.find('li').last()
      }

      prev.addClass('active')
    }

  , listen: function () {
      this.$element
        .on('blur',     $.proxy(this.blur, this))
        .on('keypress', $.proxy(this.keypress, this))
        .on('keyup',    $.proxy(this.keyup, this))

      if ($.browser.chrome || $.browser.webkit || $.browser.msie) {
        this.$element.on('keydown', $.proxy(this.keydown, this))
      }

      this.$menu
        .on('click', $.proxy(this.click, this))
        .on('mouseenter', 'li', $.proxy(this.mouseenter, this))
    }

  , move: function (e) {
      if (!this.shown) return

      switch(e.keyCode) {
        case 9: // tab
        case 13: // enter
        case 27: // escape
          e.preventDefault()
          break

        case 38: // up arrow
          e.preventDefault()
          this.prev()
          break

        case 40: // down arrow
          e.preventDefault()
          this.next()
          break
      }

      e.stopPropagation()
    }

  , keydown: function (e) {
      this.suppressKeyPressRepeat = !~$.inArray(e.keyCode, [40,38,9,13,27])
      this.move(e)
    }

  , keypress: function (e) {
      if (this.suppressKeyPressRepeat) return
      this.move(e)
    }

  , keyup: function (e) {
      switch(e.keyCode) {
        case 40: // down arrow
        case 38: // up arrow
          break

        case 9: // tab
        case 13: // enter
          if (!this.shown) return
          this.select()
          break

        case 27: // escape
          if (!this.shown) return
          this.hide()
          break

        default:
          this.lookup()
      }

      e.stopPropagation()
      e.preventDefault()
  }

  , blur: function (e) {
      var that = this
      setTimeout(function () { that.hide() }, 150)
    }

  , click: function (e) {
      e.stopPropagation()
      e.preventDefault()
      this.select()
    }

  , mouseenter: function (e) {
      this.$menu.find('.active').removeClass('active')
      $(e.currentTarget).addClass('active')
    }

  }


  /* TYPEAHEAD PLUGIN DEFINITION
   * =========================== */

  $.fn.typeahead = function (option) {
    return this.each(function () {
      var $this = $(this)
        , data = $this.data('typeahead')
        , options = typeof option == 'object' && option
      if (!data) $this.data('typeahead', (data = new Typeahead(this, options)))
      if (typeof option == 'string') data[option]()
    })
  }

  $.fn.typeahead.defaults = {
    source: []
  , items: 8
  , menu: '<ul class="typeahead dropdown-menu"></ul>'
  , item: '<li><a href="#"></a></li>'
  , minLength: 1
  }

  $.fn.typeahead.Constructor = Typeahead


 /*   TYPEAHEAD DATA-API
  * ================== */

  $(function () {
    $('body').on('focus.typeahead.data-api', '[data-provide="typeahead"]', function (e) {
      var $this = $(this)
      if ($this.data('typeahead')) return
      e.preventDefault()
      $this.typeahead($this.data())
    })
  })

}(window.jQuery);
;
/*
   Usage - just call log("your text") from your code don't use console.log
*/
if (!window.log) {
    window.log = function () {
        var args = arguments,
            isReallyIE8 = false,
            isReallyIE8Plus = false,
            ua, winRegexp, script, i;

        log.history = log.history || [];  // store logs to an array for reference
        log.history.push(arguments);

        // If the detailPrint plugin is loaded, check for IE10- pretending to be an older version,
        //   otherwise it won't pass the "Browser with a console" condition below. IE8-10 can use
        //   console.log normally, even though in IE7/8 modes it will claim the console is not defined.
        // TODO: Does IE11+ still have a primitive console, too? If so, how do I check for IE11+ running in old IE mode?
        // TODO: Can someone please test this on Windows Vista and Windows 8?
        if (log.detailPrint && log.needDetailPrint) {
            ua = navigator.userAgent;
            winRegexp = /Windows\sNT\s(\d+\.\d+)/;
            // Check for certain combinations of Windows and IE versions to test for IE running in an older mode
            if (console && console.log && /MSIE\s(\d+)/.test(ua) && winRegexp.test(ua)) {
                // Windows 7 or higher cannot possibly run IE7 or older
                if (parseFloat(winRegexp.exec(ua)[1]) >= 6.1) {
                    isReallyIE8Plus = true;
                }
                // Cannot test for IE8+ running in IE7 mode on XP (Win 5.1) or Vista (Win 6.0)...
            }
        }

        // Browser with a console
        if (isReallyIE8Plus || (typeof console !== 'undefined' && typeof console.log === 'function')) {
            // Get argument details for browsers with primitive consoles if this optional plugin is included
            if (log.detailPrint && log.needDetailPrint && log.needDetailPrint()) {
                console.log('-----------------'); // Separator
                args = log.detailPrint(args);
                i = 0;
                while (i < args.length) {
                    console.log(args[i]);
                    i++;
                }
            }
                // Single argument, which is a string
            else if ((Array.prototype.slice.call(args)).length === 1 && typeof Array.prototype.slice.call(args)[0] === 'string') {
                console.log((Array.prototype.slice.call(args)).toString());
            }
            else {
                console.log(Array.prototype.slice.call(args));
            }
        }

            // IE8
        else if (!Function.prototype.bind && typeof console !== 'undefined' && typeof console.log === 'object') {
            // Like with IE9, IE8 does have a built-in console that we can use if we jiggle the handle just the right way
            if (log.detailPrint) {
                // Detailed print, if the plugin was included
                Function.prototype.call.call(console.log, console, Array.prototype.slice.call(['-----------------'])); // Separator
                args = log.detailPrint(args);
                i = 0;
                while (i < args.length) {
                    Function.prototype.call.call(console.log, console, Array.prototype.slice.call([args[i]]));
                    i++;
                }
            }
            else {
                // No detailed print, just pass the arguments straight through
                Function.prototype.call.call(console.log, console, Array.prototype.slice.call(args));
            }
        }

    };
};
/*! Copyright (c) 2010 Brandon Aaron (http://brandonaaron.net)
 * Dual licensed under the MIT (MIT_LICENSE.txt)
 * and GPL Version 2 (GPL_LICENSE.txt) licenses.
 *
 * Version: 1.1.1
 * Requires jQuery 1.3+
 * Docs: http://docs.jquery.com/Plugins/livequery
 */

(function ($) {

    $.extend($.fn, {
        livequery: function (type, fn, fn2) {
            var self = this, q;

            // Handle different call patterns
            if ($.isFunction(type))
                fn2 = fn, fn = type, type = undefined;

            // See if Live Query already exists
            $.each($.livequery.queries, function (i, query) {
                if (self.selector == query.selector && self.context == query.context &&
                    type == query.type && (!fn || fn.$lqguid == query.fn.$lqguid) && (!fn2 || fn2.$lqguid == query.fn2.$lqguid))
                    // Found the query, exit the each loop
                    return (q = query) && false;
            });

            // Create new Live Query if it wasn't found
            q = q || new $.livequery(this.selector, this.context, type, fn, fn2);

            // Make sure it is running
            q.stopped = false;

            // Run it immediately for the first time
            q.run();

            // Contnue the chain
            return this;
        },

        expire: function (type, fn, fn2) {
            var self = this;

            // Handle different call patterns
            if ($.isFunction(type))
                fn2 = fn, fn = type, type = undefined;

            // Find the Live Query based on arguments and stop it
            $.each($.livequery.queries, function (i, query) {
                if (self.selector == query.selector && self.context == query.context &&
                    (!type || type == query.type) && (!fn || fn.$lqguid == query.fn.$lqguid) && (!fn2 || fn2.$lqguid == query.fn2.$lqguid) && !this.stopped)
                    $.livequery.stop(query.id);
            });

            // Continue the chain
            return this;
        }
    });

    $.livequery = function (selector, context, type, fn, fn2) {
        this.selector = selector;
        this.context = context;
        this.type = type;
        this.fn = fn;
        this.fn2 = fn2;
        this.elements = [];
        this.stopped = false;

        // The id is the index of the Live Query in $.livequery.queries
        this.id = $.livequery.queries.push(this) - 1;

        // Mark the functions for matching later on
        fn.$lqguid = fn.$lqguid || $.livequery.guid++;
        if (fn2) fn2.$lqguid = fn2.$lqguid || $.livequery.guid++;

        // Return the Live Query
        return this;
    };

    $.livequery.prototype = {
        stop: function () {
            var query = this;

            if (this.type)
                // Unbind all bound events
                this.elements.unbind(this.type, this.fn);
            else if (this.fn2)
                // Call the second function for all matched elements
                this.elements.each(function (i, el) {
                    query.fn2.apply(el);
                });

            // Clear out matched elements
            this.elements = [];

            // Stop the Live Query from running until restarted
            this.stopped = true;
        },

        run: function () {
            // Short-circuit if stopped
            if (this.stopped) return;
            var query = this;

            var oEls = this.elements,
                els = $(this.selector, this.context),
                nEls = els.not(oEls);

            // Set elements to the latest set of matched elements
            this.elements = els;

            if (this.type) {
                // Bind events to newly matched elements
                nEls.bind(this.type, this.fn);

                // Unbind events to elements no longer matched
                if (oEls.length > 0)
                    $.each(oEls, function (i, el) {
                        if ($.inArray(el, els) < 0)
                            $.event.remove(el, query.type, query.fn);
                    });
            }
            else {
                // Call the first function for newly matched elements
                nEls.each(function () {
                    query.fn.apply(this);
                });

                // Call the second function for elements no longer matched
                if (this.fn2 && oEls.length > 0)
                    $.each(oEls, function (i, el) {
                        if ($.inArray(el, els) < 0)
                            query.fn2.apply(el);
                    });
            }
        }
    };

    $.extend($.livequery, {
        guid: 0,
        queries: [],
        queue: [],
        running: false,
        timeout: null,

        checkQueue: function () {
            if ($.livequery.running && $.livequery.queue.length) {
                var length = $.livequery.queue.length;
                // Run each Live Query currently in the queue
                while (length--)
                    $.livequery.queries[$.livequery.queue.shift()].run();
            }
        },

        pause: function () {
            // Don't run anymore Live Queries until restarted
            $.livequery.running = false;
        },

        play: function () {
            // Restart Live Queries
            $.livequery.running = true;
            // Request a run of the Live Queries
            $.livequery.run();
        },

        registerPlugin: function () {
            $.each(arguments, function (i, n) {
                // Short-circuit if the method doesn't exist
                if (!$.fn[n]) return;

                // Save a reference to the original method
                var old = $.fn[n];

                // Create a new method
                $.fn[n] = function () {
                    // Call the original method
                    var r = old.apply(this, arguments);

                    // Request a run of the Live Queries
                    $.livequery.run();

                    // Return the original methods result
                    return r;
                }
            });
        },

        run: function (id) {
            if (id != undefined) {
                // Put the particular Live Query in the queue if it doesn't already exist
                if ($.inArray(id, $.livequery.queue) < 0)
                    $.livequery.queue.push(id);
            }
            else
                // Put each Live Query in the queue if it doesn't already exist
                $.each($.livequery.queries, function (id) {
                    if ($.inArray(id, $.livequery.queue) < 0)
                        $.livequery.queue.push(id);
                });

            // Clear timeout if it already exists
            if ($.livequery.timeout) clearTimeout($.livequery.timeout);
            // Create a timeout to check the queue and actually run the Live Queries
            $.livequery.timeout = setTimeout($.livequery.checkQueue, 20);
        },

        stop: function (id) {
            if (id != undefined)
                // Stop are particular Live Query
                $.livequery.queries[id].stop();
            else
                // Stop all Live Queries
                $.each($.livequery.queries, function (id) {
                    $.livequery.queries[id].stop();
                });
        }
    });

    // Register core DOM manipulation methods
    $.livequery.registerPlugin('append', 'prepend', 'after', 'before', 'wrap', 'attr', 'removeAttr', 'addClass', 'removeClass', 'toggleClass', 'empty', 'remove', 'html', 'prop', 'removeProp');

    // Run Live Queries when the Document is ready
    $(function () { $.livequery.play(); });

})(jQuery);;
!function(a){if("function"==typeof bootstrap)bootstrap("promise",a);else if("object"==typeof exports)module.exports=a();else if("function"==typeof define&&define.amd)define(a);else if("undefined"!=typeof ses){if(!ses.ok())return;ses.makeQ=a}else Q=a()}(function(){"use strict";function a(a){return function(){return X.apply(a,arguments)}}function b(a){return a===Object(a)}function c(a){return"[object StopIteration]"===db(a)||a instanceof T}function d(a,b){if(Q&&b.stack&&"object"==typeof a&&null!==a&&a.stack&&-1===a.stack.indexOf(fb)){for(var c=[],d=b;d;d=d.source)d.stack&&c.unshift(d.stack);c.unshift(a.stack);var f=c.join("\n"+fb+"\n");a.stack=e(f)}}function e(a){for(var b=a.split("\n"),c=[],d=0;d<b.length;++d){var e=b[d];h(e)||f(e)||!e||c.push(e)}return c.join("\n")}function f(a){return-1!==a.indexOf("(module.js:")||-1!==a.indexOf("(node.js:")}function g(a){var b=/at .+ \((.+):(\d+):(?:\d+)\)$/.exec(a);if(b)return[b[1],Number(b[2])];var c=/at ([^ ]+):(\d+):(?:\d+)$/.exec(a);if(c)return[c[1],Number(c[2])];var d=/.*@(.+):(\d+)$/.exec(a);return d?[d[1],Number(d[2])]:void 0}function h(a){var b=g(a);if(!b)return!1;var c=b[0],d=b[1];return c===S&&d>=U&&kb>=d}function i(){if(Q)try{throw new Error}catch(a){var b=a.stack.split("\n"),c=b[0].indexOf("@")>0?b[1]:b[2],d=g(c);if(!d)return;return S=d[0],d[1]}}function j(a,b,c){return function(){return"undefined"!=typeof console&&"function"==typeof console.warn&&console.warn(b+" is deprecated, use "+c+" instead.",new Error("").stack),a.apply(a,arguments)}}function k(a){return r(a)?a:s(a)?D(a):C(a)}function l(){function a(a){b=a,f.source=a,Z(c,function(b,c){W(function(){a.promiseDispatch.apply(a,c)})},void 0),c=void 0,d=void 0}var b,c=[],d=[],e=ab(l.prototype),f=ab(o.prototype);if(f.promiseDispatch=function(a,e,f){var g=Y(arguments);c?(c.push(g),"when"===e&&f[1]&&d.push(f[1])):W(function(){b.promiseDispatch.apply(b,g)})},f.valueOf=function(){if(c)return f;var a=q(b);return r(a)&&(b=a),a},f.inspect=function(){return b?b.inspect():{state:"pending"}},k.longStackSupport&&Q)try{throw new Error}catch(g){f.stack=g.stack.substring(g.stack.indexOf("\n")+1)}return e.promise=f,e.resolve=function(c){b||a(k(c))},e.fulfill=function(c){b||a(C(c))},e.reject=function(c){b||a(B(c))},e.notify=function(a){b||Z(d,function(b,c){W(function(){c(a)})},void 0)},e}function m(a){if("function"!=typeof a)throw new TypeError("resolver must be a function.");var b=l();try{a(b.resolve,b.reject,b.notify)}catch(c){b.reject(c)}return b.promise}function n(a){return m(function(b,c){for(var d=0,e=a.length;e>d;d++)k(a[d]).then(b,c)})}function o(a,b,c){void 0===b&&(b=function(a){return B(new Error("Promise does not support operation: "+a))}),void 0===c&&(c=function(){return{state:"unknown"}});var d=ab(o.prototype);if(d.promiseDispatch=function(c,e,f){var g;try{g=a[e]?a[e].apply(d,f):b.call(d,e,f)}catch(h){g=B(h)}c&&c(g)},d.inspect=c,c){var e=c();"rejected"===e.state&&(d.exception=e.reason),d.valueOf=function(){var a=c();return"pending"===a.state||"rejected"===a.state?d:a.value}}return d}function p(a,b,c,d){return k(a).then(b,c,d)}function q(a){if(r(a)){var b=a.inspect();if("fulfilled"===b.state)return b.value}return a}function r(a){return b(a)&&"function"==typeof a.promiseDispatch&&"function"==typeof a.inspect}function s(a){return b(a)&&"function"==typeof a.then}function t(a){return r(a)&&"pending"===a.inspect().state}function u(a){return!r(a)||"fulfilled"===a.inspect().state}function v(a){return r(a)&&"rejected"===a.inspect().state}function w(){!ib&&"undefined"!=typeof window&&window.console&&console.warn("[Q] Unhandled rejection reasons (should be empty):",gb),ib=!0}function x(){for(var a=0;a<gb.length;a++){var b=gb[a];console.warn("Unhandled rejection reason:",b)}}function y(){gb.length=0,hb.length=0,ib=!1,jb||(jb=!0,"undefined"!=typeof process&&process.on&&process.on("exit",x))}function z(a,b){jb&&(hb.push(a),b&&"undefined"!=typeof b.stack?gb.push(b.stack):gb.push("(no stack) "+b),w())}function A(a){if(jb){var b=$(hb,a);-1!==b&&(hb.splice(b,1),gb.splice(b,1))}}function B(a){var b=o({when:function(b){return b&&A(this),b?b(a):this}},function(){return this},function(){return{state:"rejected",reason:a}});return z(b,a),b}function C(a){return o({when:function(){return a},get:function(b){return a[b]},set:function(b,c){a[b]=c},"delete":function(b){delete a[b]},post:function(b,c){return null===b||void 0===b?a.apply(void 0,c):a[b].apply(a,c)},apply:function(b,c){return a.apply(b,c)},keys:function(){return cb(a)}},void 0,function(){return{state:"fulfilled",value:a}})}function D(a){var b=l();return W(function(){try{a.then(b.resolve,b.reject,b.notify)}catch(c){b.reject(c)}}),b.promise}function E(a){return o({isDef:function(){}},function(b,c){return K(a,b,c)},function(){return k(a).inspect()})}function F(a,b,c){return k(a).spread(b,c)}function G(a){return function(){function b(a,b){var g;if(eb){try{g=d[a](b)}catch(h){return B(h)}return g.done?g.value:p(g.value,e,f)}try{g=d[a](b)}catch(h){return c(h)?h.value:B(h)}return p(g,e,f)}var d=a.apply(this,arguments),e=b.bind(b,"next"),f=b.bind(b,"throw");return e()}}function H(a){k.done(k.async(a)())}function I(a){throw new T(a)}function J(a){return function(){return F([this,L(arguments)],function(b,c){return a.apply(b,c)})}}function K(a,b,c){return k(a).dispatch(b,c)}function L(a){return p(a,function(a){var b=0,c=l();return Z(a,function(d,e,f){var g;r(e)&&"fulfilled"===(g=e.inspect()).state?a[f]=g.value:(++b,p(e,function(d){a[f]=d,0===--b&&c.resolve(a)},c.reject,function(a){c.notify({index:f,value:a})}))},void 0),0===b&&c.resolve(a),c.promise})}function M(a){return p(a,function(a){return a=_(a,k),p(L(_(a,function(a){return p(a,V,V)})),function(){return a})})}function N(a){return k(a).allSettled()}function O(a,b){return k(a).then(void 0,void 0,b)}function P(a,b){return k(a).nodeify(b)}var Q=!1;try{throw new Error}catch(R){Q=!!R.stack}var S,T,U=i(),V=function(){},W=function(){function a(){for(;b.next;){b=b.next;var c=b.task;b.task=void 0;var e=b.domain;e&&(b.domain=void 0,e.enter());try{c()}catch(g){if(f)throw e&&e.exit(),setTimeout(a,0),e&&e.enter(),g;setTimeout(function(){throw g},0)}e&&e.exit()}d=!1}var b={task:void 0,next:null},c=b,d=!1,e=void 0,f=!1;if(W=function(a){c=c.next={task:a,domain:f&&process.domain,next:null},d||(d=!0,e())},"undefined"!=typeof process&&process.nextTick)f=!0,e=function(){process.nextTick(a)};else if("function"==typeof setImmediate)e="undefined"!=typeof window?setImmediate.bind(window,a):function(){setImmediate(a)};else if("undefined"!=typeof MessageChannel){var g=new MessageChannel;g.port1.onmessage=function(){e=h,g.port1.onmessage=a,a()};var h=function(){g.port2.postMessage(0)};e=function(){setTimeout(a,0),h()}}else e=function(){setTimeout(a,0)};return W}(),X=Function.call,Y=a(Array.prototype.slice),Z=a(Array.prototype.reduce||function(a,b){var c=0,d=this.length;if(1===arguments.length)for(;;){if(c in this){b=this[c++];break}if(++c>=d)throw new TypeError}for(;d>c;c++)c in this&&(b=a(b,this[c],c));return b}),$=a(Array.prototype.indexOf||function(a){for(var b=0;b<this.length;b++)if(this[b]===a)return b;return-1}),_=a(Array.prototype.map||function(a,b){var c=this,d=[];return Z(c,function(e,f,g){d.push(a.call(b,f,g,c))},void 0),d}),ab=Object.create||function(a){function b(){}return b.prototype=a,new b},bb=a(Object.prototype.hasOwnProperty),cb=Object.keys||function(a){var b=[];for(var c in a)bb(a,c)&&b.push(c);return b},db=a(Object.prototype.toString);T="undefined"!=typeof ReturnValue?ReturnValue:function(a){this.value=a};var eb;try{new Function("(function* (){ yield 1; })"),eb=!0}catch(R){eb=!1}var fb="From previous event:";k.resolve=k,k.nextTick=W,k.longStackSupport=!1,k.defer=l,l.prototype.makeNodeResolver=function(){var a=this;return function(b,c){b?a.reject(b):arguments.length>2?a.resolve(Y(arguments,1)):a.resolve(c)}},k.promise=m,k.passByCopy=function(a){return a},o.prototype.passByCopy=function(){return this},k.join=function(a,b){return k(a).join(b)},o.prototype.join=function(a){return k([this,a]).spread(function(a,b){if(a===b)return a;throw new Error("Can't join: not the same: "+a+" "+b)})},k.race=n,o.prototype.race=function(){return this.then(k.race)},k.makePromise=o,o.prototype.toString=function(){return"[object Promise]"},o.prototype.then=function(a,b,c){function e(b){try{return"function"==typeof a?a(b):b}catch(c){return B(c)}}function f(a){if("function"==typeof b){d(a,h);try{return b(a)}catch(c){return B(c)}}return B(a)}function g(a){return"function"==typeof c?c(a):a}var h=this,i=l(),j=!1;return W(function(){h.promiseDispatch(function(a){j||(j=!0,i.resolve(e(a)))},"when",[function(a){j||(j=!0,i.resolve(f(a)))}])}),h.promiseDispatch(void 0,"when",[void 0,function(a){var b,c=!1;try{b=g(a)}catch(d){if(c=!0,!k.onerror)throw d;k.onerror(d)}c||i.notify(b)}]),i.promise},k.when=p,o.prototype.thenResolve=function(a){return this.then(function(){return a})},k.thenResolve=function(a,b){return k(a).thenResolve(b)},o.prototype.thenReject=function(a){return this.then(function(){throw a})},k.thenReject=function(a,b){return k(a).thenReject(b)},k.nearer=q,k.isPromise=r,k.isPromiseAlike=s,k.isPending=t,o.prototype.isPending=function(){return"pending"===this.inspect().state},k.isFulfilled=u,o.prototype.isFulfilled=function(){return"fulfilled"===this.inspect().state},k.isRejected=v,o.prototype.isRejected=function(){return"rejected"===this.inspect().state};var gb=[],hb=[],ib=!1,jb=!0;k.resetUnhandledRejections=y,k.getUnhandledReasons=function(){return gb.slice()},k.stopUnhandledRejectionTracking=function(){y(),"undefined"!=typeof process&&process.on&&process.removeListener("exit",x),jb=!1},y(),k.reject=B,k.fulfill=C,k.master=E,k.spread=F,o.prototype.spread=function(a,b){return this.all().then(function(b){return a.apply(void 0,b)},b)},k.async=G,k.spawn=H,k["return"]=I,k.promised=J,k.dispatch=K,o.prototype.dispatch=function(a,b){var c=this,d=l();return W(function(){c.promiseDispatch(d.resolve,a,b)}),d.promise},k.get=function(a,b){return k(a).dispatch("get",[b])},o.prototype.get=function(a){return this.dispatch("get",[a])},k.set=function(a,b,c){return k(a).dispatch("set",[b,c])},o.prototype.set=function(a,b){return this.dispatch("set",[a,b])},k.del=k["delete"]=function(a,b){return k(a).dispatch("delete",[b])},o.prototype.del=o.prototype["delete"]=function(a){return this.dispatch("delete",[a])},k.mapply=k.post=function(a,b,c){return k(a).dispatch("post",[b,c])},o.prototype.mapply=o.prototype.post=function(a,b){return this.dispatch("post",[a,b])},k.send=k.mcall=k.invoke=function(a,b){return k(a).dispatch("post",[b,Y(arguments,2)])},o.prototype.send=o.prototype.mcall=o.prototype.invoke=function(a){return this.dispatch("post",[a,Y(arguments,1)])},k.fapply=function(a,b){return k(a).dispatch("apply",[void 0,b])},o.prototype.fapply=function(a){return this.dispatch("apply",[void 0,a])},k["try"]=k.fcall=function(a){return k(a).dispatch("apply",[void 0,Y(arguments,1)])},o.prototype.fcall=function(){return this.dispatch("apply",[void 0,Y(arguments)])},k.fbind=function(a){var b=k(a),c=Y(arguments,1);return function(){return b.dispatch("apply",[this,c.concat(Y(arguments))])}},o.prototype.fbind=function(){var a=this,b=Y(arguments);return function(){return a.dispatch("apply",[this,b.concat(Y(arguments))])}},k.keys=function(a){return k(a).dispatch("keys",[])},o.prototype.keys=function(){return this.dispatch("keys",[])},k.all=L,o.prototype.all=function(){return L(this)},k.allResolved=j(M,"allResolved","allSettled"),o.prototype.allResolved=function(){return M(this)},k.allSettled=N,o.prototype.allSettled=function(){return this.then(function(a){return L(_(a,function(a){function b(){return a.inspect()}return a=k(a),a.then(b,b)}))})},k.fail=k["catch"]=function(a,b){return k(a).then(void 0,b)},o.prototype.fail=o.prototype["catch"]=function(a){return this.then(void 0,a)},k.progress=O,o.prototype.progress=function(a){return this.then(void 0,void 0,a)},k.fin=k["finally"]=function(a,b){return k(a)["finally"](b)},o.prototype.fin=o.prototype["finally"]=function(a){return a=k(a),this.then(function(b){return a.fcall().then(function(){return b})},function(b){return a.fcall().then(function(){throw b})})},k.done=function(a,b,c,d){return k(a).done(b,c,d)},o.prototype.done=function(a,b,c){var e=function(a){W(function(){if(d(a,f),!k.onerror)throw a;k.onerror(a)})},f=a||b||c?this.then(a,b,c):this;"object"==typeof process&&process&&process.domain&&(e=process.domain.bind(e)),f.then(void 0,e)},k.timeout=function(a,b,c){return k(a).timeout(b,c)},o.prototype.timeout=function(a,b){var c=l(),d=setTimeout(function(){c.reject(new Error(b||"Timed out after "+a+" ms"))},a);return this.then(function(a){clearTimeout(d),c.resolve(a)},function(a){clearTimeout(d),c.reject(a)},c.notify),c.promise},k.delay=function(a,b){return void 0===b&&(b=a,a=void 0),k(a).delay(b)},o.prototype.delay=function(a){return this.then(function(b){var c=l();return setTimeout(function(){c.resolve(b)},a),c.promise})},k.nfapply=function(a,b){return k(a).nfapply(b)},o.prototype.nfapply=function(a){var b=l(),c=Y(a);return c.push(b.makeNodeResolver()),this.fapply(c).fail(b.reject),b.promise},k.nfcall=function(a){var b=Y(arguments,1);return k(a).nfapply(b)},o.prototype.nfcall=function(){var a=Y(arguments),b=l();return a.push(b.makeNodeResolver()),this.fapply(a).fail(b.reject),b.promise},k.nfbind=k.denodeify=function(a){var b=Y(arguments,1);return function(){var c=b.concat(Y(arguments)),d=l();return c.push(d.makeNodeResolver()),k(a).fapply(c).fail(d.reject),d.promise}},o.prototype.nfbind=o.prototype.denodeify=function(){var a=Y(arguments);return a.unshift(this),k.denodeify.apply(void 0,a)},k.nbind=function(a,b){var c=Y(arguments,2);return function(){function d(){return a.apply(b,arguments)}var e=c.concat(Y(arguments)),f=l();return e.push(f.makeNodeResolver()),k(d).fapply(e).fail(f.reject),f.promise}},o.prototype.nbind=function(){var a=Y(arguments,0);return a.unshift(this),k.nbind.apply(void 0,a)},k.nmapply=k.npost=function(a,b,c){return k(a).npost(b,c)},o.prototype.nmapply=o.prototype.npost=function(a,b){var c=Y(b||[]),d=l();return c.push(d.makeNodeResolver()),this.dispatch("post",[a,c]).fail(d.reject),d.promise},k.nsend=k.nmcall=k.ninvoke=function(a,b){var c=Y(arguments,2),d=l();return c.push(d.makeNodeResolver()),k(a).dispatch("post",[b,c]).fail(d.reject),d.promise},o.prototype.nsend=o.prototype.nmcall=o.prototype.ninvoke=function(a){var b=Y(arguments,1),c=l();return b.push(c.makeNodeResolver()),this.dispatch("post",[a,b]).fail(c.reject),c.promise},k.nodeify=P,o.prototype.nodeify=function(a){return a?(this.then(function(b){W(function(){a(null,b)})},function(b){W(function(){a(b)})}),void 0):this};var kb=i();return k});;
(function (Security) {

    Security.GetCurrentPermissionIDs = function () {
        var ids = [];

        $('#PermissionsItemsContainer #PermissionsAdministrators div.permission-admin-container div.permission-item').each(function () {
			var id = $(this).attr('data-id') + '-' + $(this).attr('data-type');
            ids.push(id);
        });

        $('#PermissionsItemsContainer #PermissionsOthers div.permission-item[data-deleted!="1"]').each(function () {
			var id = $(this).attr('data-id') + '-' + $(this).attr('data-type');
            ids.push(id);
        });

        return ids;
    }
}(window.Security = {}));
;
; (function (global, factory) {
    typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
        typeof define === 'function' && define.amd ? define(factory) :
            global.moment = factory()
}(this, (function () {
    'use strict';

    var hookCallback;

    function hooks() {
        return hookCallback.apply(null, arguments);
    }

    // This is done to register the method called with moment()
    // without creating circular dependencies.
    function setHookCallback(callback) {
        hookCallback = callback;
    }

    function isArray(input) {
        return input instanceof Array || Object.prototype.toString.call(input) === '[object Array]';
    }

    function isObject(input) {
        // IE8 will treat undefined and null as object if it wasn't for
        // input != null
        return input != null && Object.prototype.toString.call(input) === '[object Object]';
    }

    function isObjectEmpty(obj) {
        if (Object.getOwnPropertyNames) {
            return (Object.getOwnPropertyNames(obj).length === 0);
        } else {
            var k;
            for (k in obj) {
                if (obj.hasOwnProperty(k)) {
                    return false;
                }
            }
            return true;
        }
    }

    function isUndefined(input) {
        return input === void 0;
    }

    function isNumber(input) {
        return typeof input === 'number' || Object.prototype.toString.call(input) === '[object Number]';
    }

    function isDate(input) {
        return input instanceof Date || Object.prototype.toString.call(input) === '[object Date]';
    }

    function map(arr, fn) {
        var res = [], i;
        for (i = 0; i < arr.length; ++i) {
            res.push(fn(arr[i], i));
        }
        return res;
    }

    function hasOwnProp(a, b) {
        return Object.prototype.hasOwnProperty.call(a, b);
    }

    function extend(a, b) {
        for (var i in b) {
            if (hasOwnProp(b, i)) {
                a[i] = b[i];
            }
        }

        if (hasOwnProp(b, 'toString')) {
            a.toString = b.toString;
        }

        if (hasOwnProp(b, 'valueOf')) {
            a.valueOf = b.valueOf;
        }

        return a;
    }

    function createUTC(input, format, locale, strict) {
        return createLocalOrUTC(input, format, locale, strict, true).utc();
    }

    function defaultParsingFlags() {
        // We need to deep clone this object.
        return {
            empty: false,
            unusedTokens: [],
            unusedInput: [],
            overflow: -2,
            charsLeftOver: 0,
            nullInput: false,
            invalidMonth: null,
            invalidFormat: false,
            userInvalidated: false,
            iso: false,
            parsedDateParts: [],
            meridiem: null,
            rfc2822: false,
            weekdayMismatch: false
        };
    }

    function getParsingFlags(m) {
        if (m._pf == null) {
            m._pf = defaultParsingFlags();
        }
        return m._pf;
    }

    var some;
    if (Array.prototype.some) {
        some = Array.prototype.some;
    } else {
        some = function (fun) {
            var t = Object(this);
            var len = t.length >>> 0;

            for (var i = 0; i < len; i++) {
                if (i in t && fun.call(this, t[i], i, t)) {
                    return true;
                }
            }

            return false;
        };
    }

    function isValid(m) {
        if (m._isValid == null) {
            var flags = getParsingFlags(m);
            var parsedParts = some.call(flags.parsedDateParts, function (i) {
                return i != null;
            });
            var isNowValid = !isNaN(m._d.getTime()) &&
                flags.overflow < 0 &&
                !flags.empty &&
                !flags.invalidMonth &&
                !flags.invalidWeekday &&
                !flags.weekdayMismatch &&
                !flags.nullInput &&
                !flags.invalidFormat &&
                !flags.userInvalidated &&
                (!flags.meridiem || (flags.meridiem && parsedParts));

            if (m._strict) {
                isNowValid = isNowValid &&
                    flags.charsLeftOver === 0 &&
                    flags.unusedTokens.length === 0 &&
                    flags.bigHour === undefined;
            }

            if (Object.isFrozen == null || !Object.isFrozen(m)) {
                m._isValid = isNowValid;
            }
            else {
                return isNowValid;
            }
        }
        return m._isValid;
    }

    function createInvalid(flags) {
        var m = createUTC(NaN);
        if (flags != null) {
            extend(getParsingFlags(m), flags);
        }
        else {
            getParsingFlags(m).userInvalidated = true;
        }

        return m;
    }

    // Plugins that add properties should also add the key here (null value),
    // so we can properly clone ourselves.
    var momentProperties = hooks.momentProperties = [];

    function copyConfig(to, from) {
        var i, prop, val;

        if (!isUndefined(from._isAMomentObject)) {
            to._isAMomentObject = from._isAMomentObject;
        }
        if (!isUndefined(from._i)) {
            to._i = from._i;
        }
        if (!isUndefined(from._f)) {
            to._f = from._f;
        }
        if (!isUndefined(from._l)) {
            to._l = from._l;
        }
        if (!isUndefined(from._strict)) {
            to._strict = from._strict;
        }
        if (!isUndefined(from._tzm)) {
            to._tzm = from._tzm;
        }
        if (!isUndefined(from._isUTC)) {
            to._isUTC = from._isUTC;
        }
        if (!isUndefined(from._offset)) {
            to._offset = from._offset;
        }
        if (!isUndefined(from._pf)) {
            to._pf = getParsingFlags(from);
        }
        if (!isUndefined(from._locale)) {
            to._locale = from._locale;
        }

        if (momentProperties.length > 0) {
            for (i = 0; i < momentProperties.length; i++) {
                prop = momentProperties[i];
                val = from[prop];
                if (!isUndefined(val)) {
                    to[prop] = val;
                }
            }
        }

        return to;
    }

    var updateInProgress = false;

    // Moment prototype object
    function Moment(config) {
        copyConfig(this, config);
        this._d = new Date(config._d != null ? config._d.getTime() : NaN);
        if (!this.isValid()) {
            this._d = new Date(NaN);
        }
        // Prevent infinite loop in case updateOffset creates new moment
        // objects.
        if (updateInProgress === false) {
            updateInProgress = true;
            hooks.updateOffset(this);
            updateInProgress = false;
        }
    }

    function isMoment(obj) {
        return obj instanceof Moment || (obj != null && obj._isAMomentObject != null);
    }

    function absFloor(number) {
        if (number < 0) {
            // -0 -> 0
            return Math.ceil(number) || 0;
        } else {
            return Math.floor(number);
        }
    }

    function toInt(argumentForCoercion) {
        var coercedNumber = +argumentForCoercion,
            value = 0;

        if (coercedNumber !== 0 && isFinite(coercedNumber)) {
            value = absFloor(coercedNumber);
        }

        return value;
    }

    // compare two arrays, return the number of differences
    function compareArrays(array1, array2, dontConvert) {
        var len = Math.min(array1.length, array2.length),
            lengthDiff = Math.abs(array1.length - array2.length),
            diffs = 0,
            i;
        for (i = 0; i < len; i++) {
            if ((dontConvert && array1[i] !== array2[i]) ||
                (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))) {
                diffs++;
            }
        }
        return diffs + lengthDiff;
    }

    function warn(msg) {
        if (hooks.suppressDeprecationWarnings === false &&
            (typeof console !== 'undefined') && console.warn) {
            console.warn('Deprecation warning: ' + msg);
        }
    }

    function deprecate(msg, fn) {
        var firstTime = true;

        return extend(function () {
            if (hooks.deprecationHandler != null) {
                hooks.deprecationHandler(null, msg);
            }
            if (firstTime) {
                var args = [];
                var arg;
                for (var i = 0; i < arguments.length; i++) {
                    arg = '';
                    if (typeof arguments[i] === 'object') {
                        arg += '\n[' + i + '] ';
                        for (var key in arguments[0]) {
                            arg += key + ': ' + arguments[0][key] + ', ';
                        }
                        arg = arg.slice(0, -2); // Remove trailing comma and space
                    } else {
                        arg = arguments[i];
                    }
                    args.push(arg);
                }
                warn(msg + '\nArguments: ' + Array.prototype.slice.call(args).join('') + '\n' + (new Error()).stack);
                firstTime = false;
            }
            return fn.apply(this, arguments);
        }, fn);
    }

    var deprecations = {};

    function deprecateSimple(name, msg) {
        if (hooks.deprecationHandler != null) {
            hooks.deprecationHandler(name, msg);
        }
        if (!deprecations[name]) {
            warn(msg);
            deprecations[name] = true;
        }
    }

    hooks.suppressDeprecationWarnings = false;
    hooks.deprecationHandler = null;

    function isFunction(input) {
        return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';
    }

    function set(config) {
        var prop, i;
        for (i in config) {
            prop = config[i];
            if (isFunction(prop)) {
                this[i] = prop;
            } else {
                this['_' + i] = prop;
            }
        }
        this._config = config;
        // Lenient ordinal parsing accepts just a number in addition to
        // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.
        // TODO: Remove "ordinalParse" fallback in next major release.
        this._dayOfMonthOrdinalParseLenient = new RegExp(
            (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +
            '|' + (/\d{1,2}/).source);
    }

    function mergeConfigs(parentConfig, childConfig) {
        var res = extend({}, parentConfig), prop;
        for (prop in childConfig) {
            if (hasOwnProp(childConfig, prop)) {
                if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {
                    res[prop] = {};
                    extend(res[prop], parentConfig[prop]);
                    extend(res[prop], childConfig[prop]);
                } else if (childConfig[prop] != null) {
                    res[prop] = childConfig[prop];
                } else {
                    delete res[prop];
                }
            }
        }
        for (prop in parentConfig) {
            if (hasOwnProp(parentConfig, prop) &&
                !hasOwnProp(childConfig, prop) &&
                isObject(parentConfig[prop])) {
                // make sure changes to properties don't modify parent config
                res[prop] = extend({}, res[prop]);
            }
        }
        return res;
    }

    function Locale(config) {
        if (config != null) {
            this.set(config);
        }
    }

    var keys;

    if (Object.keys) {
        keys = Object.keys;
    } else {
        keys = function (obj) {
            var i, res = [];
            for (i in obj) {
                if (hasOwnProp(obj, i)) {
                    res.push(i);
                }
            }
            return res;
        };
    }

    var defaultCalendar = {
        sameDay: '[Today at] LT',
        nextDay: '[Tomorrow at] LT',
        nextWeek: 'dddd [at] LT',
        lastDay: '[Yesterday at] LT',
        lastWeek: '[Last] dddd [at] LT',
        sameElse: 'L'
    };

    function calendar(key, mom, now) {
        var output = this._calendar[key] || this._calendar['sameElse'];
        return isFunction(output) ? output.call(mom, now) : output;
    }

    var defaultLongDateFormat = {
        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'
    };

    function longDateFormat(key) {
        var format = this._longDateFormat[key],
            formatUpper = this._longDateFormat[key.toUpperCase()];

        if (format || !formatUpper) {
            return format;
        }

        this._longDateFormat[key] = formatUpper.replace(/MMMM|MM|DD|dddd/g, function (val) {
            return val.slice(1);
        });

        return this._longDateFormat[key];
    }

    var defaultInvalidDate = 'Invalid date';

    function invalidDate() {
        return this._invalidDate;
    }

    var defaultOrdinal = '%d';
    var defaultDayOfMonthOrdinalParse = /\d{1,2}/;

    function ordinal(number) {
        return this._ordinal.replace('%d', number);
    }

    var defaultRelativeTime = {
        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'
    };

    function relativeTime(number, withoutSuffix, string, isFuture) {
        var output = this._relativeTime[string];
        return (isFunction(output)) ?
            output(number, withoutSuffix, string, isFuture) :
            output.replace(/%d/i, number);
    }

    function pastFuture(diff, output) {
        var format = this._relativeTime[diff > 0 ? 'future' : 'past'];
        return isFunction(format) ? format(output) : format.replace(/%s/i, output);
    }

    var aliases = {};

    function addUnitAlias(unit, shorthand) {
        var lowerCase = unit.toLowerCase();
        aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;
    }

    function normalizeUnits(units) {
        return typeof units === 'string' ? aliases[units] || aliases[units.toLowerCase()] : undefined;
    }

    function normalizeObjectUnits(inputObject) {
        var normalizedInput = {},
            normalizedProp,
            prop;

        for (prop in inputObject) {
            if (hasOwnProp(inputObject, prop)) {
                normalizedProp = normalizeUnits(prop);
                if (normalizedProp) {
                    normalizedInput[normalizedProp] = inputObject[prop];
                }
            }
        }

        return normalizedInput;
    }

    var priorities = {};

    function addUnitPriority(unit, priority) {
        priorities[unit] = priority;
    }

    function getPrioritizedUnits(unitsObj) {
        var units = [];
        for (var u in unitsObj) {
            units.push({ unit: u, priority: priorities[u] });
        }
        units.sort(function (a, b) {
            return a.priority - b.priority;
        });
        return units;
    }

    function zeroFill(number, targetLength, forceSign) {
        var absNumber = '' + Math.abs(number),
            zerosToFill = targetLength - absNumber.length,
            sign = number >= 0;
        return (sign ? (forceSign ? '+' : '') : '-') +
            Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + absNumber;
    }

    var formattingTokens = /(\[[^\[]*\])|(\\)?([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;

    var localFormattingTokens = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g;

    var formatFunctions = {};

    var formatTokenFunctions = {};

    // token:    'M'
    // padded:   ['MM', 2]
    // ordinal:  'Mo'
    // callback: function () { this.month() + 1 }
    function addFormatToken(token, padded, ordinal, callback) {
        var func = callback;
        if (typeof callback === 'string') {
            func = function () {
                return this[callback]();
            };
        }
        if (token) {
            formatTokenFunctions[token] = func;
        }
        if (padded) {
            formatTokenFunctions[padded[0]] = function () {
                return zeroFill(func.apply(this, arguments), padded[1], padded[2]);
            };
        }
        if (ordinal) {
            formatTokenFunctions[ordinal] = function () {
                return this.localeData().ordinal(func.apply(this, arguments), token);
            };
        }
    }

    function removeFormattingTokens(input) {
        if (input.match(/\[[\s\S]/)) {
            return input.replace(/^\[|\]$/g, '');
        }
        return input.replace(/\\/g, '');
    }

    function makeFormatFunction(format) {
        var array = format.match(formattingTokens), i, length;

        for (i = 0, length = array.length; i < length; i++) {
            if (formatTokenFunctions[array[i]]) {
                array[i] = formatTokenFunctions[array[i]];
            } else {
                array[i] = removeFormattingTokens(array[i]);
            }
        }

        return function (mom) {
            var output = '', i;
            for (i = 0; i < length; i++) {
                output += isFunction(array[i]) ? array[i].call(mom, format) : array[i];
            }
            return output;
        };
    }

    // format date using native date object
    function formatMoment(m, format) {
        if (!m.isValid()) {
            return m.localeData().invalidDate();
        }

        format = expandFormat(format, m.localeData());
        formatFunctions[format] = formatFunctions[format] || makeFormatFunction(format);

        return formatFunctions[format](m);
    }

    function expandFormat(format, locale) {
        var i = 5;

        function replaceLongDateFormatTokens(input) {
            return locale.longDateFormat(input) || input;
        }

        localFormattingTokens.lastIndex = 0;
        while (i >= 0 && localFormattingTokens.test(format)) {
            format = format.replace(localFormattingTokens, replaceLongDateFormatTokens);
            localFormattingTokens.lastIndex = 0;
            i -= 1;
        }

        return format;
    }

    var match1 = /\d/;            //       0 - 9
    var match2 = /\d\d/;          //      00 - 99
    var match3 = /\d{3}/;         //     000 - 999
    var match4 = /\d{4}/;         //    0000 - 9999
    var match6 = /[+-]?\d{6}/;    // -999999 - 999999
    var match1to2 = /\d\d?/;         //       0 - 99
    var match3to4 = /\d\d\d\d?/;     //     999 - 9999
    var match5to6 = /\d\d\d\d\d\d?/; //   99999 - 999999
    var match1to3 = /\d{1,3}/;       //       0 - 999
    var match1to4 = /\d{1,4}/;       //       0 - 9999
    var match1to6 = /[+-]?\d{1,6}/;  // -999999 - 999999

    var matchUnsigned = /\d+/;           //       0 - inf
    var matchSigned = /[+-]?\d+/;      //    -inf - inf

    var matchOffset = /Z|[+-]\d\d:?\d\d/gi; // +00:00 -00:00 +0000 -0000 or Z
    var matchShortOffset = /Z|[+-]\d\d(?::?\d\d)?/gi; // +00 -00 +00:00 -00:00 +0000 -0000 or Z

    var matchTimestamp = /[+-]?\d+(\.\d{1,3})?/; // 123456789 123456789.123

    // any word (or two) characters or numbers including two/three word month in arabic.
    // includes scottish gaelic two word and hyphenated months
    var matchWord = /[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;

    var regexes = {};

    function addRegexToken(token, regex, strictRegex) {
        regexes[token] = isFunction(regex) ? regex : function (isStrict, localeData) {
            return (isStrict && strictRegex) ? strictRegex : regex;
        };
    }

    function getParseRegexForToken(token, config) {
        if (!hasOwnProp(regexes, token)) {
            return new RegExp(unescapeFormat(token));
        }

        return regexes[token](config._strict, config._locale);
    }

    // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript
    function unescapeFormat(s) {
        return regexEscape(s.replace('\\', '').replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, function (matched, p1, p2, p3, p4) {
            return p1 || p2 || p3 || p4;
        }));
    }

    function regexEscape(s) {
        return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
    }

    var tokens = {};

    function addParseToken(token, callback) {
        var i, func = callback;
        if (typeof token === 'string') {
            token = [token];
        }
        if (isNumber(callback)) {
            func = function (input, array) {
                array[callback] = toInt(input);
            };
        }
        for (i = 0; i < token.length; i++) {
            tokens[token[i]] = func;
        }
    }

    function addWeekParseToken(token, callback) {
        addParseToken(token, function (input, array, config, token) {
            config._w = config._w || {};
            callback(input, config._w, config, token);
        });
    }

    function addTimeToArrayFromToken(token, input, config) {
        if (input != null && hasOwnProp(tokens, token)) {
            tokens[token](input, config._a, config, token);
        }
    }

    var YEAR = 0;
    var MONTH = 1;
    var DATE = 2;
    var HOUR = 3;
    var MINUTE = 4;
    var SECOND = 5;
    var MILLISECOND = 6;
    var WEEK = 7;
    var WEEKDAY = 8;

    // FORMATTING

    addFormatToken('Y', 0, 0, function () {
        var y = this.year();
        return y <= 9999 ? '' + y : '+' + y;
    });

    addFormatToken(0, ['YY', 2], 0, function () {
        return this.year() % 100;
    });

    addFormatToken(0, ['YYYY', 4], 0, 'year');
    addFormatToken(0, ['YYYYY', 5], 0, 'year');
    addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');

    // ALIASES

    addUnitAlias('year', 'y');

    // PRIORITIES

    addUnitPriority('year', 1);

    // PARSING

    addRegexToken('Y', matchSigned);
    addRegexToken('YY', match1to2, match2);
    addRegexToken('YYYY', match1to4, match4);
    addRegexToken('YYYYY', match1to6, match6);
    addRegexToken('YYYYYY', match1to6, match6);

    addParseToken(['YYYYY', 'YYYYYY'], YEAR);
    addParseToken('YYYY', function (input, array) {
        array[YEAR] = input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);
    });
    addParseToken('YY', function (input, array) {
        array[YEAR] = hooks.parseTwoDigitYear(input);
    });
    addParseToken('Y', function (input, array) {
        array[YEAR] = parseInt(input, 10);
    });

    // HELPERS

    function daysInYear(year) {
        return isLeapYear(year) ? 366 : 365;
    }

    function isLeapYear(year) {
        return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;
    }

    // HOOKS

    hooks.parseTwoDigitYear = function (input) {
        return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);
    };

    // MOMENTS

    var getSetYear = makeGetSet('FullYear', true);

    function getIsLeapYear() {
        return isLeapYear(this.year());
    }

    function makeGetSet(unit, keepTime) {
        return function (value) {
            if (value != null) {
                set$1(this, unit, value);
                hooks.updateOffset(this, keepTime);
                return this;
            } else {
                return get(this, unit);
            }
        };
    }

    function get(mom, unit) {
        return mom.isValid() ?
            mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]() : NaN;
    }

    function set$1(mom, unit, value) {
        if (mom.isValid() && !isNaN(value)) {
            if (unit === 'FullYear' && isLeapYear(mom.year()) && mom.month() === 1 && mom.date() === 29) {
                mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value, mom.month(), daysInMonth(value, mom.month()));
            }
            else {
                mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);
            }
        }
    }

    // MOMENTS

    function stringGet(units) {
        units = normalizeUnits(units);
        if (isFunction(this[units])) {
            return this[units]();
        }
        return this;
    }


    function stringSet(units, value) {
        if (typeof units === 'object') {
            units = normalizeObjectUnits(units);
            var prioritized = getPrioritizedUnits(units);
            for (var i = 0; i < prioritized.length; i++) {
                this[prioritized[i].unit](units[prioritized[i].unit]);
            }
        } else {
            units = normalizeUnits(units);
            if (isFunction(this[units])) {
                return this[units](value);
            }
        }
        return this;
    }

    function mod(n, x) {
        return ((n % x) + x) % x;
    }

    var indexOf;

    if (Array.prototype.indexOf) {
        indexOf = Array.prototype.indexOf;
    } else {
        indexOf = function (o) {
            // I know
            var i;
            for (i = 0; i < this.length; ++i) {
                if (this[i] === o) {
                    return i;
                }
            }
            return -1;
        };
    }

    function daysInMonth(year, month) {
        if (isNaN(year) || isNaN(month)) {
            return NaN;
        }
        var modMonth = mod(month, 12);
        year += (month - modMonth) / 12;
        return modMonth === 1 ? (isLeapYear(year) ? 29 : 28) : (31 - modMonth % 7 % 2);
    }

    // FORMATTING

    addFormatToken('M', ['MM', 2], 'Mo', function () {
        return this.month() + 1;
    });

    addFormatToken('MMM', 0, 0, function (format) {
        return this.localeData().monthsShort(this, format);
    });

    addFormatToken('MMMM', 0, 0, function (format) {
        return this.localeData().months(this, format);
    });

    // ALIASES

    addUnitAlias('month', 'M');

    // PRIORITY

    addUnitPriority('month', 8);

    // PARSING

    addRegexToken('M', match1to2);
    addRegexToken('MM', match1to2, match2);
    addRegexToken('MMM', function (isStrict, locale) {
        return locale.monthsShortRegex(isStrict);
    });
    addRegexToken('MMMM', function (isStrict, locale) {
        return locale.monthsRegex(isStrict);
    });

    addParseToken(['M', 'MM'], function (input, array) {
        array[MONTH] = toInt(input) - 1;
    });

    addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {
        var month = config._locale.monthsParse(input, token, config._strict);
        // if we didn't find a month name, mark the date as invalid.
        if (month != null) {
            array[MONTH] = month;
        } else {
            getParsingFlags(config).invalidMonth = input;
        }
    });

    // LOCALES

    var MONTHS_IN_FORMAT = /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/;
    var defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_');
    function localeMonths(m, format) {
        if (!m) {
            return isArray(this._months) ? this._months :
                this._months['standalone'];
        }
        return isArray(this._months) ? this._months[m.month()] :
            this._months[(this._months.isFormat || MONTHS_IN_FORMAT).test(format) ? 'format' : 'standalone'][m.month()];
    }

    var defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_');
    function localeMonthsShort(m, format) {
        if (!m) {
            return isArray(this._monthsShort) ? this._monthsShort :
                this._monthsShort['standalone'];
        }
        return isArray(this._monthsShort) ? this._monthsShort[m.month()] :
            this._monthsShort[MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'][m.month()];
    }

    function handleStrictParse(monthName, format, strict) {
        var i, ii, mom, llc = monthName.toLocaleLowerCase();
        if (!this._monthsParse) {
            // this is not used
            this._monthsParse = [];
            this._longMonthsParse = [];
            this._shortMonthsParse = [];
            for (i = 0; i < 12; ++i) {
                mom = createUTC([2000, i]);
                this._shortMonthsParse[i] = this.monthsShort(mom, '').toLocaleLowerCase();
                this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();
            }
        }

        if (strict) {
            if (format === 'MMM') {
                ii = indexOf.call(this._shortMonthsParse, llc);
                return ii !== -1 ? ii : null;
            } else {
                ii = indexOf.call(this._longMonthsParse, llc);
                return ii !== -1 ? ii : null;
            }
        } else {
            if (format === 'MMM') {
                ii = indexOf.call(this._shortMonthsParse, llc);
                if (ii !== -1) {
                    return ii;
                }
                ii = indexOf.call(this._longMonthsParse, llc);
                return ii !== -1 ? ii : null;
            } else {
                ii = indexOf.call(this._longMonthsParse, llc);
                if (ii !== -1) {
                    return ii;
                }
                ii = indexOf.call(this._shortMonthsParse, llc);
                return ii !== -1 ? ii : null;
            }
        }
    }

    function localeMonthsParse(monthName, format, strict) {
        var i, mom, regex;

        if (this._monthsParseExact) {
            return handleStrictParse.call(this, monthName, format, strict);
        }

        if (!this._monthsParse) {
            this._monthsParse = [];
            this._longMonthsParse = [];
            this._shortMonthsParse = [];
        }

        // TODO: add sorting
        // Sorting makes sure if one month (or abbr) is a prefix of another
        // see sorting in computeMonthsParse
        for (i = 0; i < 12; i++) {
            // make the regex if we don't have it already
            mom = createUTC([2000, i]);
            if (strict && !this._longMonthsParse[i]) {
                this._longMonthsParse[i] = new RegExp('^' + this.months(mom, '').replace('.', '') + '$', 'i');
                this._shortMonthsParse[i] = new RegExp('^' + this.monthsShort(mom, '').replace('.', '') + '$', 'i');
            }
            if (!strict && !this._monthsParse[i]) {
                regex = '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');
                this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');
            }
            // test the regex
            if (strict && format === 'MMMM' && this._longMonthsParse[i].test(monthName)) {
                return i;
            } else if (strict && format === 'MMM' && this._shortMonthsParse[i].test(monthName)) {
                return i;
            } else if (!strict && this._monthsParse[i].test(monthName)) {
                return i;
            }
        }
    }

    // MOMENTS

    function setMonth(mom, value) {
        var dayOfMonth;

        if (!mom.isValid()) {
            // No op
            return mom;
        }

        if (typeof value === 'string') {
            if (/^\d+$/.test(value)) {
                value = toInt(value);
            } else {
                value = mom.localeData().monthsParse(value);
                // TODO: Another silent failure?
                if (!isNumber(value)) {
                    return mom;
                }
            }
        }

        dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));
        mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);
        return mom;
    }

    function getSetMonth(value) {
        if (value != null) {
            setMonth(this, value);
            hooks.updateOffset(this, true);
            return this;
        } else {
            return get(this, 'Month');
        }
    }

    function getDaysInMonth() {
        return daysInMonth(this.year(), this.month());
    }

    var defaultMonthsShortRegex = matchWord;
    function monthsShortRegex(isStrict) {
        if (this._monthsParseExact) {
            if (!hasOwnProp(this, '_monthsRegex')) {
                computeMonthsParse.call(this);
            }
            if (isStrict) {
                return this._monthsShortStrictRegex;
            } else {
                return this._monthsShortRegex;
            }
        } else {
            if (!hasOwnProp(this, '_monthsShortRegex')) {
                this._monthsShortRegex = defaultMonthsShortRegex;
            }
            return this._monthsShortStrictRegex && isStrict ?
                this._monthsShortStrictRegex : this._monthsShortRegex;
        }
    }

    var defaultMonthsRegex = matchWord;
    function monthsRegex(isStrict) {
        if (this._monthsParseExact) {
            if (!hasOwnProp(this, '_monthsRegex')) {
                computeMonthsParse.call(this);
            }
            if (isStrict) {
                return this._monthsStrictRegex;
            } else {
                return this._monthsRegex;
            }
        } else {
            if (!hasOwnProp(this, '_monthsRegex')) {
                this._monthsRegex = defaultMonthsRegex;
            }
            return this._monthsStrictRegex && isStrict ?
                this._monthsStrictRegex : this._monthsRegex;
        }
    }

    function computeMonthsParse() {
        function cmpLenRev(a, b) {
            return b.length - a.length;
        }

        var shortPieces = [], longPieces = [], mixedPieces = [],
            i, mom;
        for (i = 0; i < 12; i++) {
            // make the regex if we don't have it already
            mom = createUTC([2000, i]);
            shortPieces.push(this.monthsShort(mom, ''));
            longPieces.push(this.months(mom, ''));
            mixedPieces.push(this.months(mom, ''));
            mixedPieces.push(this.monthsShort(mom, ''));
        }
        // Sorting makes sure if one month (or abbr) is a prefix of another it
        // will match the longer piece.
        shortPieces.sort(cmpLenRev);
        longPieces.sort(cmpLenRev);
        mixedPieces.sort(cmpLenRev);
        for (i = 0; i < 12; i++) {
            shortPieces[i] = regexEscape(shortPieces[i]);
            longPieces[i] = regexEscape(longPieces[i]);
        }
        for (i = 0; i < 24; i++) {
            mixedPieces[i] = regexEscape(mixedPieces[i]);
        }

        this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');
        this._monthsShortRegex = this._monthsRegex;
        this._monthsStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');
        this._monthsShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');
    }

    function createDate(y, m, d, h, M, s, ms) {
        // can't just apply() to create a date:
        // https://stackoverflow.com/q/181348
        var date;
        // the date constructor remaps years 0-99 to 1900-1999
        if (y < 100 && y >= 0) {
            // preserve leap years using a full 400 year cycle, then reset
            date = new Date(y + 400, m, d, h, M, s, ms);
            if (isFinite(date.getFullYear())) {
                date.setFullYear(y);
            }
        } else {
            date = new Date(y, m, d, h, M, s, ms);
        }

        return date;
    }

    function createUTCDate(y) {
        var date;
        // the Date.UTC function remaps years 0-99 to 1900-1999
        if (y < 100 && y >= 0) {
            var args = Array.prototype.slice.call(arguments);
            // preserve leap years using a full 400 year cycle, then reset
            args[0] = y + 400;
            date = new Date(Date.UTC.apply(null, args));
            if (isFinite(date.getUTCFullYear())) {
                date.setUTCFullYear(y);
            }
        } else {
            date = new Date(Date.UTC.apply(null, arguments));
        }

        return date;
    }

    // start-of-first-week - start-of-year
    function firstWeekOffset(year, dow, doy) {
        var // first-week day -- which january is always in the first week (4 for iso, 1 for other)
            fwd = 7 + dow - doy,
            // first-week day local weekday -- which local weekday is fwd
            fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;

        return -fwdlw + fwd - 1;
    }

    // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday
    function dayOfYearFromWeeks(year, week, weekday, dow, doy) {
        var localWeekday = (7 + weekday - dow) % 7,
            weekOffset = firstWeekOffset(year, dow, doy),
            dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,
            resYear, resDayOfYear;

        if (dayOfYear <= 0) {
            resYear = year - 1;
            resDayOfYear = daysInYear(resYear) + dayOfYear;
        } else if (dayOfYear > daysInYear(year)) {
            resYear = year + 1;
            resDayOfYear = dayOfYear - daysInYear(year);
        } else {
            resYear = year;
            resDayOfYear = dayOfYear;
        }

        return {
            year: resYear,
            dayOfYear: resDayOfYear
        };
    }

    function weekOfYear(mom, dow, doy) {
        var weekOffset = firstWeekOffset(mom.year(), dow, doy),
            week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,
            resWeek, resYear;

        if (week < 1) {
            resYear = mom.year() - 1;
            resWeek = week + weeksInYear(resYear, dow, doy);
        } else if (week > weeksInYear(mom.year(), dow, doy)) {
            resWeek = week - weeksInYear(mom.year(), dow, doy);
            resYear = mom.year() + 1;
        } else {
            resYear = mom.year();
            resWeek = week;
        }

        return {
            week: resWeek,
            year: resYear
        };
    }

    function weeksInYear(year, dow, doy) {
        var weekOffset = firstWeekOffset(year, dow, doy),
            weekOffsetNext = firstWeekOffset(year + 1, dow, doy);
        return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;
    }

    // FORMATTING

    addFormatToken('w', ['ww', 2], 'wo', 'week');
    addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');

    // ALIASES

    addUnitAlias('week', 'w');
    addUnitAlias('isoWeek', 'W');

    // PRIORITIES

    addUnitPriority('week', 5);
    addUnitPriority('isoWeek', 5);

    // PARSING

    addRegexToken('w', match1to2);
    addRegexToken('ww', match1to2, match2);
    addRegexToken('W', match1to2);
    addRegexToken('WW', match1to2, match2);

    addWeekParseToken(['w', 'ww', 'W', 'WW'], function (input, week, config, token) {
        week[token.substr(0, 1)] = toInt(input);
    });

    // HELPERS

    // LOCALES

    function localeWeek(mom) {
        return weekOfYear(mom, this._week.dow, this._week.doy).week;
    }

    var defaultLocaleWeek = {
        dow: 0, // Sunday is the first day of the week.
        doy: 6  // The week that contains Jan 6th is the first week of the year.
    };

    function localeFirstDayOfWeek() {
        return this._week.dow;
    }

    function localeFirstDayOfYear() {
        return this._week.doy;
    }

    // MOMENTS

    function getSetWeek(input) {
        var week = this.localeData().week(this);
        return input == null ? week : this.add((input - week) * 7, 'd');
    }

    function getSetISOWeek(input) {
        var week = weekOfYear(this, 1, 4).week;
        return input == null ? week : this.add((input - week) * 7, 'd');
    }

    // FORMATTING

    addFormatToken('d', 0, 'do', 'day');

    addFormatToken('dd', 0, 0, function (format) {
        return this.localeData().weekdaysMin(this, format);
    });

    addFormatToken('ddd', 0, 0, function (format) {
        return this.localeData().weekdaysShort(this, format);
    });

    addFormatToken('dddd', 0, 0, function (format) {
        return this.localeData().weekdays(this, format);
    });

    addFormatToken('e', 0, 0, 'weekday');
    addFormatToken('E', 0, 0, 'isoWeekday');

    // ALIASES

    addUnitAlias('day', 'd');
    addUnitAlias('weekday', 'e');
    addUnitAlias('isoWeekday', 'E');

    // PRIORITY
    addUnitPriority('day', 11);
    addUnitPriority('weekday', 11);
    addUnitPriority('isoWeekday', 11);

    // PARSING

    addRegexToken('d', match1to2);
    addRegexToken('e', match1to2);
    addRegexToken('E', match1to2);
    addRegexToken('dd', function (isStrict, locale) {
        return locale.weekdaysMinRegex(isStrict);
    });
    addRegexToken('ddd', function (isStrict, locale) {
        return locale.weekdaysShortRegex(isStrict);
    });
    addRegexToken('dddd', function (isStrict, locale) {
        return locale.weekdaysRegex(isStrict);
    });

    addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {
        var weekday = config._locale.weekdaysParse(input, token, config._strict);
        // if we didn't get a weekday name, mark the date as invalid
        if (weekday != null) {
            week.d = weekday;
        } else {
            getParsingFlags(config).invalidWeekday = input;
        }
    });

    addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {
        week[token] = toInt(input);
    });

    // HELPERS

    function parseWeekday(input, locale) {
        if (typeof input !== 'string') {
            return input;
        }

        if (!isNaN(input)) {
            return parseInt(input, 10);
        }

        input = locale.weekdaysParse(input);
        if (typeof input === 'number') {
            return input;
        }

        return null;
    }

    function parseIsoWeekday(input, locale) {
        if (typeof input === 'string') {
            return locale.weekdaysParse(input) % 7 || 7;
        }
        return isNaN(input) ? null : input;
    }

    // LOCALES
    function shiftWeekdays(ws, n) {
        return ws.slice(n, 7).concat(ws.slice(0, n));
    }

    var defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_');
    function localeWeekdays(m, format) {
        var weekdays = isArray(this._weekdays) ? this._weekdays :
            this._weekdays[(m && m !== true && this._weekdays.isFormat.test(format)) ? 'format' : 'standalone'];
        return (m === true) ? shiftWeekdays(weekdays, this._week.dow)
            : (m) ? weekdays[m.day()] : weekdays;
    }

    var defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_');
    function localeWeekdaysShort(m) {
        return (m === true) ? shiftWeekdays(this._weekdaysShort, this._week.dow)
            : (m) ? this._weekdaysShort[m.day()] : this._weekdaysShort;
    }

    var defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_');
    function localeWeekdaysMin(m) {
        return (m === true) ? shiftWeekdays(this._weekdaysMin, this._week.dow)
            : (m) ? this._weekdaysMin[m.day()] : this._weekdaysMin;
    }

    function handleStrictParse$1(weekdayName, format, strict) {
        var i, ii, mom, llc = weekdayName.toLocaleLowerCase();
        if (!this._weekdaysParse) {
            this._weekdaysParse = [];
            this._shortWeekdaysParse = [];
            this._minWeekdaysParse = [];

            for (i = 0; i < 7; ++i) {
                mom = createUTC([2000, 1]).day(i);
                this._minWeekdaysParse[i] = this.weekdaysMin(mom, '').toLocaleLowerCase();
                this._shortWeekdaysParse[i] = this.weekdaysShort(mom, '').toLocaleLowerCase();
                this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();
            }
        }

        if (strict) {
            if (format === 'dddd') {
                ii = indexOf.call(this._weekdaysParse, llc);
                return ii !== -1 ? ii : null;
            } else if (format === 'ddd') {
                ii = indexOf.call(this._shortWeekdaysParse, llc);
                return ii !== -1 ? ii : null;
            } else {
                ii = indexOf.call(this._minWeekdaysParse, llc);
                return ii !== -1 ? ii : null;
            }
        } else {
            if (format === 'dddd') {
                ii = indexOf.call(this._weekdaysParse, llc);
                if (ii !== -1) {
                    return ii;
                }
                ii = indexOf.call(this._shortWeekdaysParse, llc);
                if (ii !== -1) {
                    return ii;
                }
                ii = indexOf.call(this._minWeekdaysParse, llc);
                return ii !== -1 ? ii : null;
            } else if (format === 'ddd') {
                ii = indexOf.call(this._shortWeekdaysParse, llc);
                if (ii !== -1) {
                    return ii;
                }
                ii = indexOf.call(this._weekdaysParse, llc);
                if (ii !== -1) {
                    return ii;
                }
                ii = indexOf.call(this._minWeekdaysParse, llc);
                return ii !== -1 ? ii : null;
            } else {
                ii = indexOf.call(this._minWeekdaysParse, llc);
                if (ii !== -1) {
                    return ii;
                }
                ii = indexOf.call(this._weekdaysParse, llc);
                if (ii !== -1) {
                    return ii;
                }
                ii = indexOf.call(this._shortWeekdaysParse, llc);
                return ii !== -1 ? ii : null;
            }
        }
    }

    function localeWeekdaysParse(weekdayName, format, strict) {
        var i, mom, regex;

        if (this._weekdaysParseExact) {
            return handleStrictParse$1.call(this, weekdayName, format, strict);
        }

        if (!this._weekdaysParse) {
            this._weekdaysParse = [];
            this._minWeekdaysParse = [];
            this._shortWeekdaysParse = [];
            this._fullWeekdaysParse = [];
        }

        for (i = 0; i < 7; i++) {
            // make the regex if we don't have it already

            mom = createUTC([2000, 1]).day(i);
            if (strict && !this._fullWeekdaysParse[i]) {
                this._fullWeekdaysParse[i] = new RegExp('^' + this.weekdays(mom, '').replace('.', '\\.?') + '$', 'i');
                this._shortWeekdaysParse[i] = new RegExp('^' + this.weekdaysShort(mom, '').replace('.', '\\.?') + '$', 'i');
                this._minWeekdaysParse[i] = new RegExp('^' + this.weekdaysMin(mom, '').replace('.', '\\.?') + '$', 'i');
            }
            if (!this._weekdaysParse[i]) {
                regex = '^' + this.weekdays(mom, '') + '|^' + this.weekdaysShort(mom, '') + '|^' + this.weekdaysMin(mom, '');
                this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');
            }
            // test the regex
            if (strict && format === 'dddd' && this._fullWeekdaysParse[i].test(weekdayName)) {
                return i;
            } else if (strict && format === 'ddd' && this._shortWeekdaysParse[i].test(weekdayName)) {
                return i;
            } else if (strict && format === 'dd' && this._minWeekdaysParse[i].test(weekdayName)) {
                return i;
            } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {
                return i;
            }
        }
    }

    // MOMENTS

    function getSetDayOfWeek(input) {
        if (!this.isValid()) {
            return input != null ? this : NaN;
        }
        var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();
        if (input != null) {
            input = parseWeekday(input, this.localeData());
            return this.add(input - day, 'd');
        } else {
            return day;
        }
    }

    function getSetLocaleDayOfWeek(input) {
        if (!this.isValid()) {
            return input != null ? this : NaN;
        }
        var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;
        return input == null ? weekday : this.add(input - weekday, 'd');
    }

    function getSetISODayOfWeek(input) {
        if (!this.isValid()) {
            return input != null ? this : NaN;
        }

        // behaves the same as moment#day except
        // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)
        // as a setter, sunday should belong to the previous week.

        if (input != null) {
            var weekday = parseIsoWeekday(input, this.localeData());
            return this.day(this.day() % 7 ? weekday : weekday - 7);
        } else {
            return this.day() || 7;
        }
    }

    var defaultWeekdaysRegex = matchWord;
    function weekdaysRegex(isStrict) {
        if (this._weekdaysParseExact) {
            if (!hasOwnProp(this, '_weekdaysRegex')) {
                computeWeekdaysParse.call(this);
            }
            if (isStrict) {
                return this._weekdaysStrictRegex;
            } else {
                return this._weekdaysRegex;
            }
        } else {
            if (!hasOwnProp(this, '_weekdaysRegex')) {
                this._weekdaysRegex = defaultWeekdaysRegex;
            }
            return this._weekdaysStrictRegex && isStrict ?
                this._weekdaysStrictRegex : this._weekdaysRegex;
        }
    }

    var defaultWeekdaysShortRegex = matchWord;
    function weekdaysShortRegex(isStrict) {
        if (this._weekdaysParseExact) {
            if (!hasOwnProp(this, '_weekdaysRegex')) {
                computeWeekdaysParse.call(this);
            }
            if (isStrict) {
                return this._weekdaysShortStrictRegex;
            } else {
                return this._weekdaysShortRegex;
            }
        } else {
            if (!hasOwnProp(this, '_weekdaysShortRegex')) {
                this._weekdaysShortRegex = defaultWeekdaysShortRegex;
            }
            return this._weekdaysShortStrictRegex && isStrict ?
                this._weekdaysShortStrictRegex : this._weekdaysShortRegex;
        }
    }

    var defaultWeekdaysMinRegex = matchWord;
    function weekdaysMinRegex(isStrict) {
        if (this._weekdaysParseExact) {
            if (!hasOwnProp(this, '_weekdaysRegex')) {
                computeWeekdaysParse.call(this);
            }
            if (isStrict) {
                return this._weekdaysMinStrictRegex;
            } else {
                return this._weekdaysMinRegex;
            }
        } else {
            if (!hasOwnProp(this, '_weekdaysMinRegex')) {
                this._weekdaysMinRegex = defaultWeekdaysMinRegex;
            }
            return this._weekdaysMinStrictRegex && isStrict ?
                this._weekdaysMinStrictRegex : this._weekdaysMinRegex;
        }
    }


    function computeWeekdaysParse() {
        function cmpLenRev(a, b) {
            return b.length - a.length;
        }

        var minPieces = [], shortPieces = [], longPieces = [], mixedPieces = [],
            i, mom, minp, shortp, longp;
        for (i = 0; i < 7; i++) {
            // make the regex if we don't have it already
            mom = createUTC([2000, 1]).day(i);
            minp = this.weekdaysMin(mom, '');
            shortp = this.weekdaysShort(mom, '');
            longp = this.weekdays(mom, '');
            minPieces.push(minp);
            shortPieces.push(shortp);
            longPieces.push(longp);
            mixedPieces.push(minp);
            mixedPieces.push(shortp);
            mixedPieces.push(longp);
        }
        // Sorting makes sure if one weekday (or abbr) is a prefix of another it
        // will match the longer piece.
        minPieces.sort(cmpLenRev);
        shortPieces.sort(cmpLenRev);
        longPieces.sort(cmpLenRev);
        mixedPieces.sort(cmpLenRev);
        for (i = 0; i < 7; i++) {
            shortPieces[i] = regexEscape(shortPieces[i]);
            longPieces[i] = regexEscape(longPieces[i]);
            mixedPieces[i] = regexEscape(mixedPieces[i]);
        }

        this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');
        this._weekdaysShortRegex = this._weekdaysRegex;
        this._weekdaysMinRegex = this._weekdaysRegex;

        this._weekdaysStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');
        this._weekdaysShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');
        this._weekdaysMinStrictRegex = new RegExp('^(' + minPieces.join('|') + ')', 'i');
    }

    // FORMATTING

    function hFormat() {
        return this.hours() % 12 || 12;
    }

    function kFormat() {
        return this.hours() || 24;
    }

    addFormatToken('H', ['HH', 2], 0, 'hour');
    addFormatToken('h', ['hh', 2], 0, hFormat);
    addFormatToken('k', ['kk', 2], 0, kFormat);

    addFormatToken('hmm', 0, 0, function () {
        return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);
    });

    addFormatToken('hmmss', 0, 0, function () {
        return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2) +
            zeroFill(this.seconds(), 2);
    });

    addFormatToken('Hmm', 0, 0, function () {
        return '' + this.hours() + zeroFill(this.minutes(), 2);
    });

    addFormatToken('Hmmss', 0, 0, function () {
        return '' + this.hours() + zeroFill(this.minutes(), 2) +
            zeroFill(this.seconds(), 2);
    });

    function meridiem(token, lowercase) {
        addFormatToken(token, 0, 0, function () {
            return this.localeData().meridiem(this.hours(), this.minutes(), lowercase);
        });
    }

    meridiem('a', true);
    meridiem('A', false);

    // ALIASES

    addUnitAlias('hour', 'h');

    // PRIORITY
    addUnitPriority('hour', 13);

    // PARSING

    function matchMeridiem(isStrict, locale) {
        return locale._meridiemParse;
    }

    addRegexToken('a', matchMeridiem);
    addRegexToken('A', matchMeridiem);
    addRegexToken('H', match1to2);
    addRegexToken('h', match1to2);
    addRegexToken('k', match1to2);
    addRegexToken('HH', match1to2, match2);
    addRegexToken('hh', match1to2, match2);
    addRegexToken('kk', match1to2, match2);

    addRegexToken('hmm', match3to4);
    addRegexToken('hmmss', match5to6);
    addRegexToken('Hmm', match3to4);
    addRegexToken('Hmmss', match5to6);

    addParseToken(['H', 'HH'], HOUR);
    addParseToken(['k', 'kk'], function (input, array, config) {
        var kInput = toInt(input);
        array[HOUR] = kInput === 24 ? 0 : kInput;
    });
    addParseToken(['a', 'A'], function (input, array, config) {
        config._isPm = config._locale.isPM(input);
        config._meridiem = input;
    });
    addParseToken(['h', 'hh'], function (input, array, config) {
        array[HOUR] = toInt(input);
        getParsingFlags(config).bigHour = true;
    });
    addParseToken('hmm', function (input, array, config) {
        var pos = input.length - 2;
        array[HOUR] = toInt(input.substr(0, pos));
        array[MINUTE] = toInt(input.substr(pos));
        getParsingFlags(config).bigHour = true;
    });
    addParseToken('hmmss', function (input, array, config) {
        var pos1 = input.length - 4;
        var pos2 = input.length - 2;
        array[HOUR] = toInt(input.substr(0, pos1));
        array[MINUTE] = toInt(input.substr(pos1, 2));
        array[SECOND] = toInt(input.substr(pos2));
        getParsingFlags(config).bigHour = true;
    });
    addParseToken('Hmm', function (input, array, config) {
        var pos = input.length - 2;
        array[HOUR] = toInt(input.substr(0, pos));
        array[MINUTE] = toInt(input.substr(pos));
    });
    addParseToken('Hmmss', function (input, array, config) {
        var pos1 = input.length - 4;
        var pos2 = input.length - 2;
        array[HOUR] = toInt(input.substr(0, pos1));
        array[MINUTE] = toInt(input.substr(pos1, 2));
        array[SECOND] = toInt(input.substr(pos2));
    });

    // LOCALES

    function localeIsPM(input) {
        // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays
        // Using charAt should be more compatible.
        return ((input + '').toLowerCase().charAt(0) === 'p');
    }

    var defaultLocaleMeridiemParse = /[ap]\.?m?\.?/i;
    function localeMeridiem(hours, minutes, isLower) {
        if (hours > 11) {
            return isLower ? 'pm' : 'PM';
        } else {
            return isLower ? 'am' : 'AM';
        }
    }


    // MOMENTS

    // Setting the hour should keep the time, because the user explicitly
    // specified which hour they want. So trying to maintain the same hour (in
    // a new timezone) makes sense. Adding/subtracting hours does not follow
    // this rule.
    var getSetHour = makeGetSet('Hours', true);

    var baseConfig = {
        calendar: defaultCalendar,
        longDateFormat: defaultLongDateFormat,
        invalidDate: defaultInvalidDate,
        ordinal: defaultOrdinal,
        dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,
        relativeTime: defaultRelativeTime,

        months: defaultLocaleMonths,
        monthsShort: defaultLocaleMonthsShort,

        week: defaultLocaleWeek,

        weekdays: defaultLocaleWeekdays,
        weekdaysMin: defaultLocaleWeekdaysMin,
        weekdaysShort: defaultLocaleWeekdaysShort,

        meridiemParse: defaultLocaleMeridiemParse
    };

    // internal storage for locale config files
    var locales = {};
    var localeFamilies = {};
    var globalLocale;

    function normalizeLocale(key) {
        return key ? key.toLowerCase().replace('_', '-') : key;
    }

    // pick the locale from the array
    // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each
    // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root
    function chooseLocale(names) {
        var i = 0, j, next, locale, split;

        while (i < names.length) {
            split = normalizeLocale(names[i]).split('-');
            j = split.length;
            next = normalizeLocale(names[i + 1]);
            next = next ? next.split('-') : null;
            while (j > 0) {
                locale = loadLocale(split.slice(0, j).join('-'));
                if (locale) {
                    return locale;
                }
                if (next && next.length >= j && compareArrays(split, next, true) >= j - 1) {
                    //the next array item is better than a shallower substring of this one
                    break;
                }
                j--;
            }
            i++;
        }
        return globalLocale;
    }

    function loadLocale(name) {
        var oldLocale = null;
        // TODO: Find a better way to register and load all the locales in Node
        if (!locales[name] && (typeof module !== 'undefined') &&
            module && module.exports) {
            try {
                oldLocale = globalLocale._abbr;
                var aliasedRequire = require;
                aliasedRequire('./locale/' + name);
                getSetGlobalLocale(oldLocale);
            } catch (e) { }
        }
        return locales[name];
    }

    // This function will load locale and then set the global locale.  If
    // no arguments are passed in, it will simply return the current global
    // locale key.
    function getSetGlobalLocale(key, values) {
        var data;
        if (key) {
            if (isUndefined(values)) {
                data = getLocale(key);
            }
            else {
                data = defineLocale(key, values);
            }

            if (data) {
                // moment.duration._locale = moment._locale = data;
                globalLocale = data;
            }
            else {
                if ((typeof console !== 'undefined') && console.warn) {
                    //warn user if arguments are passed but the locale could not be set
                    console.warn('Locale ' + key + ' not found. Did you forget to load it?');
                }
            }
        }

        return globalLocale._abbr;
    }

    function defineLocale(name, config) {
        if (config !== null) {
            var locale, parentConfig = baseConfig;
            config.abbr = name;
            if (locales[name] != null) {
                deprecateSimple('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.');
                parentConfig = locales[name]._config;
            } else if (config.parentLocale != null) {
                if (locales[config.parentLocale] != null) {
                    parentConfig = locales[config.parentLocale]._config;
                } else {
                    locale = loadLocale(config.parentLocale);
                    if (locale != null) {
                        parentConfig = locale._config;
                    } else {
                        if (!localeFamilies[config.parentLocale]) {
                            localeFamilies[config.parentLocale] = [];
                        }
                        localeFamilies[config.parentLocale].push({
                            name: name,
                            config: config
                        });
                        return null;
                    }
                }
            }
            locales[name] = new Locale(mergeConfigs(parentConfig, config));

            if (localeFamilies[name]) {
                localeFamilies[name].forEach(function (x) {
                    defineLocale(x.name, x.config);
                });
            }

            // backwards compat for now: also set the locale
            // make sure we set the locale AFTER all child locales have been
            // created, so we won't end up with the child locale set.
            getSetGlobalLocale(name);


            return locales[name];
        } else {
            // useful for testing
            delete locales[name];
            return null;
        }
    }

    function updateLocale(name, config) {
        if (config != null) {
            var locale, tmpLocale, parentConfig = baseConfig;
            // MERGE
            tmpLocale = loadLocale(name);
            if (tmpLocale != null) {
                parentConfig = tmpLocale._config;
            }
            config = mergeConfigs(parentConfig, config);
            locale = new Locale(config);
            locale.parentLocale = locales[name];
            locales[name] = locale;

            // backwards compat for now: also set the locale
            getSetGlobalLocale(name);
        } else {
            // pass null for config to unupdate, useful for tests
            if (locales[name] != null) {
                if (locales[name].parentLocale != null) {
                    locales[name] = locales[name].parentLocale;
                } else if (locales[name] != null) {
                    delete locales[name];
                }
            }
        }
        return locales[name];
    }

    // returns locale data
    function getLocale(key) {
        var locale;

        if (key && key._locale && key._locale._abbr) {
            key = key._locale._abbr;
        }

        if (!key) {
            return globalLocale;
        }

        if (!isArray(key)) {
            //short-circuit everything else
            locale = loadLocale(key);
            if (locale) {
                return locale;
            }
            key = [key];
        }

        return chooseLocale(key);
    }

    function listLocales() {
        return keys(locales);
    }

    function checkOverflow(m) {
        var overflow;
        var a = m._a;

        if (a && getParsingFlags(m).overflow === -2) {
            overflow =
                a[MONTH] < 0 || a[MONTH] > 11 ? MONTH :
                    a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH]) ? DATE :
                        a[HOUR] < 0 || a[HOUR] > 24 || (a[HOUR] === 24 && (a[MINUTE] !== 0 || a[SECOND] !== 0 || a[MILLISECOND] !== 0)) ? HOUR :
                            a[MINUTE] < 0 || a[MINUTE] > 59 ? MINUTE :
                                a[SECOND] < 0 || a[SECOND] > 59 ? SECOND :
                                    a[MILLISECOND] < 0 || a[MILLISECOND] > 999 ? MILLISECOND :
                                        -1;

            if (getParsingFlags(m)._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) {
                overflow = DATE;
            }
            if (getParsingFlags(m)._overflowWeeks && overflow === -1) {
                overflow = WEEK;
            }
            if (getParsingFlags(m)._overflowWeekday && overflow === -1) {
                overflow = WEEKDAY;
            }

            getParsingFlags(m).overflow = overflow;
        }

        return m;
    }

    // Pick the first defined of two or three arguments.
    function defaults(a, b, c) {
        if (a != null) {
            return a;
        }
        if (b != null) {
            return b;
        }
        return c;
    }

    function currentDateArray(config) {
        // hooks is actually the exported moment object
        var nowValue = new Date(hooks.now());
        if (config._useUTC) {
            return [nowValue.getUTCFullYear(), nowValue.getUTCMonth(), nowValue.getUTCDate()];
        }
        return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];
    }

    // convert an array to a date.
    // the array should mirror the parameters below
    // note: all values past the year are optional and will default to the lowest possible value.
    // [year, month, day , hour, minute, second, millisecond]
    function configFromArray(config) {
        var i, date, input = [], currentDate, expectedWeekday, yearToUse;

        if (config._d) {
            return;
        }

        currentDate = currentDateArray(config);

        //compute day of the year from weeks and weekdays
        if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {
            dayOfYearFromWeekInfo(config);
        }

        //if the day of the year is set, figure out what it is
        if (config._dayOfYear != null) {
            yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);

            if (config._dayOfYear > daysInYear(yearToUse) || config._dayOfYear === 0) {
                getParsingFlags(config)._overflowDayOfYear = true;
            }

            date = createUTCDate(yearToUse, 0, config._dayOfYear);
            config._a[MONTH] = date.getUTCMonth();
            config._a[DATE] = date.getUTCDate();
        }

        // Default to current date.
        // * if no year, month, day of month are given, default to today
        // * if day of month is given, default month and year
        // * if month is given, default only year
        // * if year is given, don't default anything
        for (i = 0; i < 3 && config._a[i] == null; ++i) {
            config._a[i] = input[i] = currentDate[i];
        }

        // Zero out whatever was not defaulted, including time
        for (; i < 7; i++) {
            config._a[i] = input[i] = (config._a[i] == null) ? (i === 2 ? 1 : 0) : config._a[i];
        }

        // Check for 24:00:00.000
        if (config._a[HOUR] === 24 &&
            config._a[MINUTE] === 0 &&
            config._a[SECOND] === 0 &&
            config._a[MILLISECOND] === 0) {
            config._nextDay = true;
            config._a[HOUR] = 0;
        }

        config._d = (config._useUTC ? createUTCDate : createDate).apply(null, input);
        expectedWeekday = config._useUTC ? config._d.getUTCDay() : config._d.getDay();

        // Apply timezone offset from input. The actual utcOffset can be changed
        // with parseZone.
        if (config._tzm != null) {
            config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);
        }

        if (config._nextDay) {
            config._a[HOUR] = 24;
        }

        // check for mismatching day of week
        if (config._w && typeof config._w.d !== 'undefined' && config._w.d !== expectedWeekday) {
            getParsingFlags(config).weekdayMismatch = true;
        }
    }

    function dayOfYearFromWeekInfo(config) {
        var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow;

        w = config._w;
        if (w.GG != null || w.W != null || w.E != null) {
            dow = 1;
            doy = 4;

            // TODO: We need to take the current isoWeekYear, but that depends on
            // how we interpret now (local, utc, fixed offset). So create
            // a now version of current config (take local/utc/offset flags, and
            // create now).
            weekYear = defaults(w.GG, config._a[YEAR], weekOfYear(createLocal(), 1, 4).year);
            week = defaults(w.W, 1);
            weekday = defaults(w.E, 1);
            if (weekday < 1 || weekday > 7) {
                weekdayOverflow = true;
            }
        } else {
            dow = config._locale._week.dow;
            doy = config._locale._week.doy;

            var curWeek = weekOfYear(createLocal(), dow, doy);

            weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);

            // Default to current week.
            week = defaults(w.w, curWeek.week);

            if (w.d != null) {
                // weekday -- low day numbers are considered next week
                weekday = w.d;
                if (weekday < 0 || weekday > 6) {
                    weekdayOverflow = true;
                }
            } else if (w.e != null) {
                // local weekday -- counting starts from beginning of week
                weekday = w.e + dow;
                if (w.e < 0 || w.e > 6) {
                    weekdayOverflow = true;
                }
            } else {
                // default to beginning of week
                weekday = dow;
            }
        }
        if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {
            getParsingFlags(config)._overflowWeeks = true;
        } else if (weekdayOverflow != null) {
            getParsingFlags(config)._overflowWeekday = true;
        } else {
            temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);
            config._a[YEAR] = temp.year;
            config._dayOfYear = temp.dayOfYear;
        }
    }

    // iso 8601 regex
    // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)
    var extendedIsoRegex = /^\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)?)?$/;
    var basicIsoRegex = /^\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)?)?$/;

    var tzRegex = /Z|[+-]\d\d(?::?\d\d)?/;

    var isoDates = [
        ['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/, false],
        ['YYYY-DDD', /\d{4}-\d{3}/],
        ['YYYY-MM', /\d{4}-\d\d/, false],
        ['YYYYYYMMDD', /[+-]\d{10}/],
        ['YYYYMMDD', /\d{8}/],
        // YYYYMM is NOT allowed by the standard
        ['GGGG[W]WWE', /\d{4}W\d{3}/],
        ['GGGG[W]WW', /\d{4}W\d{2}/, false],
        ['YYYYDDD', /\d{7}/]
    ];

    // iso time formats and regexes
    var isoTimes = [
        ['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/]
    ];

    var aspNetJsonRegex = /^\/?Date\((\-?\d+)/i;

    // date from iso format
    function configFromISO(config) {
        var i, l,
            string = config._i,
            match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),
            allowTime, dateFormat, timeFormat, tzFormat;

        if (match) {
            getParsingFlags(config).iso = true;

            for (i = 0, l = isoDates.length; i < l; i++) {
                if (isoDates[i][1].exec(match[1])) {
                    dateFormat = isoDates[i][0];
                    allowTime = isoDates[i][2] !== false;
                    break;
                }
            }
            if (dateFormat == null) {
                config._isValid = false;
                return;
            }
            if (match[3]) {
                for (i = 0, l = isoTimes.length; i < l; i++) {
                    if (isoTimes[i][1].exec(match[3])) {
                        // match[2] should be 'T' or space
                        timeFormat = (match[2] || ' ') + isoTimes[i][0];
                        break;
                    }
                }
                if (timeFormat == null) {
                    config._isValid = false;
                    return;
                }
            }
            if (!allowTime && timeFormat != null) {
                config._isValid = false;
                return;
            }
            if (match[4]) {
                if (tzRegex.exec(match[4])) {
                    tzFormat = 'Z';
                } else {
                    config._isValid = false;
                    return;
                }
            }
            config._f = dateFormat + (timeFormat || '') + (tzFormat || '');
            configFromStringAndFormat(config);
        } else {
            config._isValid = false;
        }
    }

    // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3
    var rfc2822 = /^(?:(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 extractFromRFC2822Strings(yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr) {
        var result = [
            untruncateYear(yearStr),
            defaultLocaleMonthsShort.indexOf(monthStr),
            parseInt(dayStr, 10),
            parseInt(hourStr, 10),
            parseInt(minuteStr, 10)
        ];

        if (secondStr) {
            result.push(parseInt(secondStr, 10));
        }

        return result;
    }

    function untruncateYear(yearStr) {
        var year = parseInt(yearStr, 10);
        if (year <= 49) {
            return 2000 + year;
        } else if (year <= 999) {
            return 1900 + year;
        }
        return year;
    }

    function preprocessRFC2822(s) {
        // Remove comments and folding whitespace and replace multiple-spaces with a single space
        return s.replace(/\([^)]*\)|[\n\t]/g, ' ').replace(/(\s\s+)/g, ' ').replace(/^\s\s*/, '').replace(/\s\s*$/, '');
    }

    function checkWeekday(weekdayStr, parsedInput, config) {
        if (weekdayStr) {
            // TODO: Replace the vanilla JS Date object with an indepentent day-of-week check.
            var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),
                weekdayActual = new Date(parsedInput[0], parsedInput[1], parsedInput[2]).getDay();
            if (weekdayProvided !== weekdayActual) {
                getParsingFlags(config).weekdayMismatch = true;
                config._isValid = false;
                return false;
            }
        }
        return true;
    }

    var obsOffsets = {
        UT: 0,
        GMT: 0,
        EDT: -4 * 60,
        EST: -5 * 60,
        CDT: -5 * 60,
        CST: -6 * 60,
        MDT: -6 * 60,
        MST: -7 * 60,
        PDT: -7 * 60,
        PST: -8 * 60
    };

    function calculateOffset(obsOffset, militaryOffset, numOffset) {
        if (obsOffset) {
            return obsOffsets[obsOffset];
        } else if (militaryOffset) {
            // the only allowed military tz is Z
            return 0;
        } else {
            var hm = parseInt(numOffset, 10);
            var m = hm % 100, h = (hm - m) / 100;
            return h * 60 + m;
        }
    }

    // date and time from ref 2822 format
    function configFromRFC2822(config) {
        var match = rfc2822.exec(preprocessRFC2822(config._i));
        if (match) {
            var parsedArray = extractFromRFC2822Strings(match[4], match[3], match[2], match[5], match[6], match[7]);
            if (!checkWeekday(match[1], parsedArray, config)) {
                return;
            }

            config._a = parsedArray;
            config._tzm = calculateOffset(match[8], match[9], match[10]);

            config._d = createUTCDate.apply(null, config._a);
            config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);

            getParsingFlags(config).rfc2822 = true;
        } else {
            config._isValid = false;
        }
    }

    // date from iso format or fallback
    function configFromString(config) {
        var matched = aspNetJsonRegex.exec(config._i);

        if (matched !== null) {
            config._d = new Date(+matched[1]);
            return;
        }

        configFromISO(config);
        if (config._isValid === false) {
            delete config._isValid;
        } else {
            return;
        }

        configFromRFC2822(config);
        if (config._isValid === false) {
            delete config._isValid;
        } else {
            return;
        }

        // Final attempt, use Input Fallback
        hooks.createFromInputFallback(config);
    }

    hooks.createFromInputFallback = deprecate(
        '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 (config) {
            config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));
        }
    );

    // constant that refers to the ISO standard
    hooks.ISO_8601 = function () { };

    // constant that refers to the RFC 2822 form
    hooks.RFC_2822 = function () { };

    // date from string and format string
    function configFromStringAndFormat(config) {
        // TODO: Move this to another part of the creation flow to prevent circular deps
        if (config._f === hooks.ISO_8601) {
            configFromISO(config);
            return;
        }
        if (config._f === hooks.RFC_2822) {
            configFromRFC2822(config);
            return;
        }
        config._a = [];
        getParsingFlags(config).empty = true;

        // This array is used to make a Date, either with `new Date` or `Date.UTC`
        var string = '' + config._i,
            i, parsedInput, tokens, token, skipped,
            stringLength = string.length,
            totalParsedInputLength = 0;

        tokens = expandFormat(config._f, config._locale).match(formattingTokens) || [];

        for (i = 0; i < tokens.length; i++) {
            token = tokens[i];
            parsedInput = (string.match(getParseRegexForToken(token, config)) || [])[0];
            // console.log('token', token, 'parsedInput', parsedInput,
            //         'regex', getParseRegexForToken(token, config));
            if (parsedInput) {
                skipped = string.substr(0, string.indexOf(parsedInput));
                if (skipped.length > 0) {
                    getParsingFlags(config).unusedInput.push(skipped);
                }
                string = string.slice(string.indexOf(parsedInput) + parsedInput.length);
                totalParsedInputLength += parsedInput.length;
            }
            // don't parse if it's not a known token
            if (formatTokenFunctions[token]) {
                if (parsedInput) {
                    getParsingFlags(config).empty = false;
                }
                else {
                    getParsingFlags(config).unusedTokens.push(token);
                }
                addTimeToArrayFromToken(token, parsedInput, config);
            }
            else if (config._strict && !parsedInput) {
                getParsingFlags(config).unusedTokens.push(token);
            }
        }

        // add remaining unparsed input length to the string
        getParsingFlags(config).charsLeftOver = stringLength - totalParsedInputLength;
        if (string.length > 0) {
            getParsingFlags(config).unusedInput.push(string);
        }

        // clear _12h flag if hour is <= 12
        if (config._a[HOUR] <= 12 &&
            getParsingFlags(config).bigHour === true &&
            config._a[HOUR] > 0) {
            getParsingFlags(config).bigHour = undefined;
        }

        getParsingFlags(config).parsedDateParts = config._a.slice(0);
        getParsingFlags(config).meridiem = config._meridiem;
        // handle meridiem
        config._a[HOUR] = meridiemFixWrap(config._locale, config._a[HOUR], config._meridiem);

        configFromArray(config);
        checkOverflow(config);
    }


    function meridiemFixWrap(locale, hour, meridiem) {
        var isPm;

        if (meridiem == null) {
            // nothing to do
            return hour;
        }
        if (locale.meridiemHour != null) {
            return locale.meridiemHour(hour, meridiem);
        } else if (locale.isPM != null) {
            // Fallback
            isPm = locale.isPM(meridiem);
            if (isPm && hour < 12) {
                hour += 12;
            }
            if (!isPm && hour === 12) {
                hour = 0;
            }
            return hour;
        } else {
            // this is not supposed to happen
            return hour;
        }
    }

    // date from string and array of format strings
    function configFromStringAndArray(config) {
        var tempConfig,
            bestMoment,

            scoreToBeat,
            i,
            currentScore;

        if (config._f.length === 0) {
            getParsingFlags(config).invalidFormat = true;
            config._d = new Date(NaN);
            return;
        }

        for (i = 0; i < config._f.length; i++) {
            currentScore = 0;
            tempConfig = copyConfig({}, config);
            if (config._useUTC != null) {
                tempConfig._useUTC = config._useUTC;
            }
            tempConfig._f = config._f[i];
            configFromStringAndFormat(tempConfig);

            if (!isValid(tempConfig)) {
                continue;
            }

            // if there is any input that was not parsed add a penalty for that format
            currentScore += getParsingFlags(tempConfig).charsLeftOver;

            //or tokens
            currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;

            getParsingFlags(tempConfig).score = currentScore;

            if (scoreToBeat == null || currentScore < scoreToBeat) {
                scoreToBeat = currentScore;
                bestMoment = tempConfig;
            }
        }

        extend(config, bestMoment || tempConfig);
    }

    function configFromObject(config) {
        if (config._d) {
            return;
        }

        var i = normalizeObjectUnits(config._i);
        config._a = map([i.year, i.month, i.day || i.date, i.hour, i.minute, i.second, i.millisecond], function (obj) {
            return obj && parseInt(obj, 10);
        });

        configFromArray(config);
    }

    function createFromConfig(config) {
        var res = new Moment(checkOverflow(prepareConfig(config)));
        if (res._nextDay) {
            // Adding is smart enough around DST
            res.add(1, 'd');
            res._nextDay = undefined;
        }

        return res;
    }

    function prepareConfig(config) {
        var input = config._i,
            format = config._f;

        config._locale = config._locale || getLocale(config._l);

        if (input === null || (format === undefined && input === '')) {
            return createInvalid({ nullInput: true });
        }

        if (typeof input === 'string') {
            config._i = input = config._locale.preparse(input);
        }

        if (isMoment(input)) {
            return new Moment(checkOverflow(input));
        } else if (isDate(input)) {
            config._d = input;
        } else if (isArray(format)) {
            configFromStringAndArray(config);
        } else if (format) {
            configFromStringAndFormat(config);
        } else {
            configFromInput(config);
        }

        if (!isValid(config)) {
            config._d = null;
        }

        return config;
    }

    function configFromInput(config) {
        var input = config._i;
        if (isUndefined(input)) {
            config._d = new Date(hooks.now());
        } else if (isDate(input)) {
            config._d = new Date(input.valueOf());
        } else if (typeof input === 'string') {
            configFromString(config);
        } else if (isArray(input)) {
            config._a = map(input.slice(0), function (obj) {
                return parseInt(obj, 10);
            });
            configFromArray(config);
        } else if (isObject(input)) {
            configFromObject(config);
        } else if (isNumber(input)) {
            // from milliseconds
            config._d = new Date(input);
        } else {
            hooks.createFromInputFallback(config);
        }
    }

    function createLocalOrUTC(input, format, locale, strict, isUTC) {
        var c = {};

        if (locale === true || locale === false) {
            strict = locale;
            locale = undefined;
        }

        if ((isObject(input) && isObjectEmpty(input)) ||
            (isArray(input) && input.length === 0)) {
            input = undefined;
        }
        // object construction must be done this way.
        // https://github.com/moment/moment/issues/1423
        c._isAMomentObject = true;
        c._useUTC = c._isUTC = isUTC;
        c._l = locale;
        c._i = input;
        c._f = format;
        c._strict = strict;

        return createFromConfig(c);
    }

    function createLocal(input, format, locale, strict) {
        return createLocalOrUTC(input, format, locale, strict, false);
    }

    var prototypeMin = deprecate(
        'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',
        function () {
            var other = createLocal.apply(null, arguments);
            if (this.isValid() && other.isValid()) {
                return other < this ? this : other;
            } else {
                return createInvalid();
            }
        }
    );

    var prototypeMax = deprecate(
        'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',
        function () {
            var other = createLocal.apply(null, arguments);
            if (this.isValid() && other.isValid()) {
                return other > this ? this : other;
            } else {
                return createInvalid();
            }
        }
    );

    // Pick a moment m from moments so that m[fn](other) is true for all
    // other. This relies on the function fn to be transitive.
    //
    // moments should either be an array of moment objects or an array, whose
    // first element is an array of moment objects.
    function pickBy(fn, moments) {
        var res, i;
        if (moments.length === 1 && isArray(moments[0])) {
            moments = moments[0];
        }
        if (!moments.length) {
            return createLocal();
        }
        res = moments[0];
        for (i = 1; i < moments.length; ++i) {
            if (!moments[i].isValid() || moments[i][fn](res)) {
                res = moments[i];
            }
        }
        return res;
    }

    // TODO: Use [].sort instead?
    function min() {
        var args = [].slice.call(arguments, 0);

        return pickBy('isBefore', args);
    }

    function max() {
        var args = [].slice.call(arguments, 0);

        return pickBy('isAfter', args);
    }

    var now = function () {
        return Date.now ? Date.now() : +(new Date());
    };

    var ordering = ['year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', 'millisecond'];

    function isDurationValid(m) {
        for (var key in m) {
            if (!(indexOf.call(ordering, key) !== -1 && (m[key] == null || !isNaN(m[key])))) {
                return false;
            }
        }

        var unitHasDecimal = false;
        for (var i = 0; i < ordering.length; ++i) {
            if (m[ordering[i]]) {
                if (unitHasDecimal) {
                    return false; // only allow non-integers for smallest unit
                }
                if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {
                    unitHasDecimal = true;
                }
            }
        }

        return true;
    }

    function isValid$1() {
        return this._isValid;
    }

    function createInvalid$1() {
        return createDuration(NaN);
    }

    function Duration(duration) {
        var normalizedInput = normalizeObjectUnits(duration),
            years = normalizedInput.year || 0,
            quarters = normalizedInput.quarter || 0,
            months = normalizedInput.month || 0,
            weeks = normalizedInput.week || normalizedInput.isoWeek || 0,
            days = normalizedInput.day || 0,
            hours = normalizedInput.hour || 0,
            minutes = normalizedInput.minute || 0,
            seconds = normalizedInput.second || 0,
            milliseconds = normalizedInput.millisecond || 0;

        this._isValid = isDurationValid(normalizedInput);

        // representation for dateAddRemove
        this._milliseconds = +milliseconds +
            seconds * 1e3 + // 1000
            minutes * 6e4 + // 1000 * 60
            hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978
        // Because of dateAddRemove treats 24 hours as different from a
        // day when working around DST, we need to store them separately
        this._days = +days +
            weeks * 7;
        // It is impossible to translate months into days without knowing
        // which months you are are talking about, so we have to store
        // it separately.
        this._months = +months +
            quarters * 3 +
            years * 12;

        this._data = {};

        this._locale = getLocale();

        this._bubble();
    }

    function isDuration(obj) {
        return obj instanceof Duration;
    }

    function absRound(number) {
        if (number < 0) {
            return Math.round(-1 * number) * -1;
        } else {
            return Math.round(number);
        }
    }

    // FORMATTING

    function offset(token, separator) {
        addFormatToken(token, 0, 0, function () {
            var offset = this.utcOffset();
            var sign = '+';
            if (offset < 0) {
                offset = -offset;
                sign = '-';
            }
            return sign + zeroFill(~~(offset / 60), 2) + separator + zeroFill(~~(offset) % 60, 2);
        });
    }

    offset('Z', ':');
    offset('ZZ', '');

    // PARSING

    addRegexToken('Z', matchShortOffset);
    addRegexToken('ZZ', matchShortOffset);
    addParseToken(['Z', 'ZZ'], function (input, array, config) {
        config._useUTC = true;
        config._tzm = offsetFromString(matchShortOffset, input);
    });

    // HELPERS

    // timezone chunker
    // '+10:00' > ['10',  '00']
    // '-1530'  > ['-15', '30']
    var chunkOffset = /([\+\-]|\d\d)/gi;

    function offsetFromString(matcher, string) {
        var matches = (string || '').match(matcher);

        if (matches === null) {
            return null;
        }

        var chunk = matches[matches.length - 1] || [];
        var parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];
        var minutes = +(parts[1] * 60) + toInt(parts[2]);

        return minutes === 0 ?
            0 :
            parts[0] === '+' ? minutes : -minutes;
    }

    // Return a moment from input, that is local/utc/zone equivalent to model.
    function cloneWithOffset(input, model) {
        var res, diff;
        if (model._isUTC) {
            res = model.clone();
            diff = (isMoment(input) || isDate(input) ? input.valueOf() : createLocal(input).valueOf()) - res.valueOf();
            // Use low-level api, because this fn is low-level api.
            res._d.setTime(res._d.valueOf() + diff);
            hooks.updateOffset(res, false);
            return res;
        } else {
            return createLocal(input).local();
        }
    }

    function getDateOffset(m) {
        // On Firefox.24 Date#getTimezoneOffset returns a floating point.
        // https://github.com/moment/moment/pull/1871
        return -Math.round(m._d.getTimezoneOffset() / 15) * 15;
    }

    // HOOKS

    // This function will be called whenever a moment is mutated.
    // It is intended to keep the offset in sync with the timezone.
    hooks.updateOffset = function () { };

    // MOMENTS

    // keepLocalTime = true means only change the timezone, without
    // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->
    // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset
    // +0200, so we adjust the time as needed, to be valid.
    //
    // Keeping the time actually adds/subtracts (one hour)
    // from the actual represented time. That is why we call updateOffset
    // a second time. In case it wants us to change the offset again
    // _changeInProgress == true case, then we have to adjust, because
    // there is no such time in the given timezone.
    function getSetOffset(input, keepLocalTime, keepMinutes) {
        var offset = this._offset || 0,
            localAdjust;
        if (!this.isValid()) {
            return input != null ? this : NaN;
        }
        if (input != null) {
            if (typeof input === 'string') {
                input = offsetFromString(matchShortOffset, input);
                if (input === null) {
                    return this;
                }
            } else if (Math.abs(input) < 16 && !keepMinutes) {
                input = input * 60;
            }
            if (!this._isUTC && keepLocalTime) {
                localAdjust = getDateOffset(this);
            }
            this._offset = input;
            this._isUTC = true;
            if (localAdjust != null) {
                this.add(localAdjust, 'm');
            }
            if (offset !== input) {
                if (!keepLocalTime || this._changeInProgress) {
                    addSubtract(this, createDuration(input - offset, 'm'), 1, false);
                } else if (!this._changeInProgress) {
                    this._changeInProgress = true;
                    hooks.updateOffset(this, true);
                    this._changeInProgress = null;
                }
            }
            return this;
        } else {
            return this._isUTC ? offset : getDateOffset(this);
        }
    }

    function getSetZone(input, keepLocalTime) {
        if (input != null) {
            if (typeof input !== 'string') {
                input = -input;
            }

            this.utcOffset(input, keepLocalTime);

            return this;
        } else {
            return -this.utcOffset();
        }
    }

    function setOffsetToUTC(keepLocalTime) {
        return this.utcOffset(0, keepLocalTime);
    }

    function setOffsetToLocal(keepLocalTime) {
        if (this._isUTC) {
            this.utcOffset(0, keepLocalTime);
            this._isUTC = false;

            if (keepLocalTime) {
                this.subtract(getDateOffset(this), 'm');
            }
        }
        return this;
    }

    function setOffsetToParsedOffset() {
        if (this._tzm != null) {
            this.utcOffset(this._tzm, false, true);
        } else if (typeof this._i === 'string') {
            var tZone = offsetFromString(matchOffset, this._i);
            if (tZone != null) {
                this.utcOffset(tZone);
            }
            else {
                this.utcOffset(0, true);
            }
        }
        return this;
    }

    function hasAlignedHourOffset(input) {
        if (!this.isValid()) {
            return false;
        }
        input = input ? createLocal(input).utcOffset() : 0;

        return (this.utcOffset() - input) % 60 === 0;
    }

    function isDaylightSavingTime() {
        return (
            this.utcOffset() > this.clone().month(0).utcOffset() ||
            this.utcOffset() > this.clone().month(5).utcOffset()
        );
    }

    function isDaylightSavingTimeShifted() {
        if (!isUndefined(this._isDSTShifted)) {
            return this._isDSTShifted;
        }

        var c = {};

        copyConfig(c, this);
        c = prepareConfig(c);

        if (c._a) {
            var other = c._isUTC ? createUTC(c._a) : createLocal(c._a);
            this._isDSTShifted = this.isValid() &&
                compareArrays(c._a, other.toArray()) > 0;
        } else {
            this._isDSTShifted = false;
        }

        return this._isDSTShifted;
    }

    function isLocal() {
        return this.isValid() ? !this._isUTC : false;
    }

    function isUtcOffset() {
        return this.isValid() ? this._isUTC : false;
    }

    function isUtc() {
        return this.isValid() ? this._isUTC && this._offset === 0 : false;
    }

    // ASP.NET json date format regex
    var aspNetRegex = /^(\-|\+)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/;

    // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html
    // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere
    // and further modified to allow for strings containing both week and day
    var isoRegex = /^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;

    function createDuration(input, key) {
        var duration = input,
            // matching against regexp is expensive, do it on demand
            match = null,
            sign,
            ret,
            diffRes;

        if (isDuration(input)) {
            duration = {
                ms: input._milliseconds,
                d: input._days,
                M: input._months
            };
        } else if (isNumber(input)) {
            duration = {};
            if (key) {
                duration[key] = input;
            } else {
                duration.milliseconds = input;
            }
        } else if (!!(match = aspNetRegex.exec(input))) {
            sign = (match[1] === '-') ? -1 : 1;
            duration = {
                y: 0,
                d: toInt(match[DATE]) * sign,
                h: toInt(match[HOUR]) * sign,
                m: toInt(match[MINUTE]) * sign,
                s: toInt(match[SECOND]) * sign,
                ms: toInt(absRound(match[MILLISECOND] * 1000)) * sign // the millisecond decimal point is included in the match
            };
        } else if (!!(match = isoRegex.exec(input))) {
            sign = (match[1] === '-') ? -1 : 1;
            duration = {
                y: parseIso(match[2], sign),
                M: parseIso(match[3], sign),
                w: parseIso(match[4], sign),
                d: parseIso(match[5], sign),
                h: parseIso(match[6], sign),
                m: parseIso(match[7], sign),
                s: parseIso(match[8], sign)
            };
        } else if (duration == null) {// checks for null or undefined
            duration = {};
        } else if (typeof duration === 'object' && ('from' in duration || 'to' in duration)) {
            diffRes = momentsDifference(createLocal(duration.from), createLocal(duration.to));

            duration = {};
            duration.ms = diffRes.milliseconds;
            duration.M = diffRes.months;
        }

        ret = new Duration(duration);

        if (isDuration(input) && hasOwnProp(input, '_locale')) {
            ret._locale = input._locale;
        }

        return ret;
    }

    createDuration.fn = Duration.prototype;
    createDuration.invalid = createInvalid$1;

    function parseIso(inp, sign) {
        // We'd normally use ~~inp for this, but unfortunately it also
        // converts floats to ints.
        // inp may be undefined, so careful calling replace on it.
        var res = inp && parseFloat(inp.replace(',', '.'));
        // apply sign while we're at it
        return (isNaN(res) ? 0 : res) * sign;
    }

    function positiveMomentsDifference(base, other) {
        var res = {};

        res.months = other.month() - base.month() +
            (other.year() - base.year()) * 12;
        if (base.clone().add(res.months, 'M').isAfter(other)) {
            --res.months;
        }

        res.milliseconds = +other - +(base.clone().add(res.months, 'M'));

        return res;
    }

    function momentsDifference(base, other) {
        var res;
        if (!(base.isValid() && other.isValid())) {
            return { milliseconds: 0, months: 0 };
        }

        other = cloneWithOffset(other, base);
        if (base.isBefore(other)) {
            res = positiveMomentsDifference(base, other);
        } else {
            res = positiveMomentsDifference(other, base);
            res.milliseconds = -res.milliseconds;
            res.months = -res.months;
        }

        return res;
    }

    // TODO: remove 'name' arg after deprecation is removed
    function createAdder(direction, name) {
        return function (val, period) {
            var dur, tmp;
            //invert the arguments, but complain about it
            if (period !== null && !isNaN(+period)) {
                deprecateSimple(name, 'moment().' + name + '(period, number) is deprecated. Please use moment().' + name + '(number, period). ' +
                    'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.');
                tmp = val; val = period; period = tmp;
            }

            val = typeof val === 'string' ? +val : val;
            dur = createDuration(val, period);
            addSubtract(this, dur, direction);
            return this;
        };
    }

    function addSubtract(mom, duration, isAdding, updateOffset) {
        var milliseconds = duration._milliseconds,
            days = absRound(duration._days),
            months = absRound(duration._months);

        if (!mom.isValid()) {
            // No op
            return;
        }

        updateOffset = updateOffset == null ? true : updateOffset;

        if (months) {
            setMonth(mom, get(mom, 'Month') + months * isAdding);
        }
        if (days) {
            set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);
        }
        if (milliseconds) {
            mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);
        }
        if (updateOffset) {
            hooks.updateOffset(mom, days || months);
        }
    }

    var add = createAdder(1, 'add');
    var subtract = createAdder(-1, 'subtract');

    function getCalendarFormat(myMoment, now) {
        var diff = myMoment.diff(now, 'days', true);
        return diff < -6 ? 'sameElse' :
            diff < -1 ? 'lastWeek' :
                diff < 0 ? 'lastDay' :
                    diff < 1 ? 'sameDay' :
                        diff < 2 ? 'nextDay' :
                            diff < 7 ? 'nextWeek' : 'sameElse';
    }

    function calendar$1(time, formats) {
        // We want to compare the start of today, vs this.
        // Getting start-of-today depends on whether we're local/utc/offset or not.
        var now = time || createLocal(),
            sod = cloneWithOffset(now, this).startOf('day'),
            format = hooks.calendarFormat(this, sod) || 'sameElse';

        var output = formats && (isFunction(formats[format]) ? formats[format].call(this, now) : formats[format]);

        return this.format(output || this.localeData().calendar(format, this, createLocal(now)));
    }

    function clone() {
        return new Moment(this);
    }

    function isAfter(input, units) {
        var localInput = isMoment(input) ? input : createLocal(input);
        if (!(this.isValid() && localInput.isValid())) {
            return false;
        }
        units = normalizeUnits(units) || 'millisecond';
        if (units === 'millisecond') {
            return this.valueOf() > localInput.valueOf();
        } else {
            return localInput.valueOf() < this.clone().startOf(units).valueOf();
        }
    }

    function isBefore(input, units) {
        var localInput = isMoment(input) ? input : createLocal(input);
        if (!(this.isValid() && localInput.isValid())) {
            return false;
        }
        units = normalizeUnits(units) || 'millisecond';
        if (units === 'millisecond') {
            return this.valueOf() < localInput.valueOf();
        } else {
            return this.clone().endOf(units).valueOf() < localInput.valueOf();
        }
    }

    function isBetween(from, to, units, inclusivity) {
        var localFrom = isMoment(from) ? from : createLocal(from),
            localTo = isMoment(to) ? to : createLocal(to);
        if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {
            return false;
        }
        inclusivity = inclusivity || '()';
        return (inclusivity[0] === '(' ? this.isAfter(localFrom, units) : !this.isBefore(localFrom, units)) &&
            (inclusivity[1] === ')' ? this.isBefore(localTo, units) : !this.isAfter(localTo, units));
    }

    function isSame(input, units) {
        var localInput = isMoment(input) ? input : createLocal(input),
            inputMs;
        if (!(this.isValid() && localInput.isValid())) {
            return false;
        }
        units = normalizeUnits(units) || 'millisecond';
        if (units === 'millisecond') {
            return this.valueOf() === localInput.valueOf();
        } else {
            inputMs = localInput.valueOf();
            return this.clone().startOf(units).valueOf() <= inputMs && inputMs <= this.clone().endOf(units).valueOf();
        }
    }

    function isSameOrAfter(input, units) {
        return this.isSame(input, units) || this.isAfter(input, units);
    }

    function isSameOrBefore(input, units) {
        return this.isSame(input, units) || this.isBefore(input, units);
    }

    function diff(input, units, asFloat) {
        var that,
            zoneDelta,
            output;

        if (!this.isValid()) {
            return NaN;
        }

        that = cloneWithOffset(input, this);

        if (!that.isValid()) {
            return NaN;
        }

        zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;

        units = normalizeUnits(units);

        switch (units) {
            case 'year': output = monthDiff(this, that) / 12; break;
            case 'month': output = monthDiff(this, that); break;
            case 'quarter': output = monthDiff(this, that) / 3; break;
            case 'second': output = (this - that) / 1e3; break; // 1000
            case 'minute': output = (this - that) / 6e4; break; // 1000 * 60
            case 'hour': output = (this - that) / 36e5; break; // 1000 * 60 * 60
            case 'day': output = (this - that - zoneDelta) / 864e5; break; // 1000 * 60 * 60 * 24, negate dst
            case 'week': output = (this - that - zoneDelta) / 6048e5; break; // 1000 * 60 * 60 * 24 * 7, negate dst
            default: output = this - that;
        }

        return asFloat ? output : absFloor(output);
    }

    function monthDiff(a, b) {
        // difference in months
        var wholeMonthDiff = ((b.year() - a.year()) * 12) + (b.month() - a.month()),
            // b is in (anchor - 1 month, anchor + 1 month)
            anchor = a.clone().add(wholeMonthDiff, 'months'),
            anchor2, adjust;

        if (b - anchor < 0) {
            anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');
            // linear across the month
            adjust = (b - anchor) / (anchor - anchor2);
        } else {
            anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');
            // linear across the month
            adjust = (b - anchor) / (anchor2 - anchor);
        }

        //check for negative zero, return zero if negative zero
        return -(wholeMonthDiff + adjust) || 0;
    }

    hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';
    hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';

    function toString() {
        return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');
    }

    function toISOString(keepOffset) {
        if (!this.isValid()) {
            return null;
        }
        var utc = keepOffset !== true;
        var m = utc ? this.clone().utc() : this;
        if (m.year() < 0 || m.year() > 9999) {
            return formatMoment(m, utc ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ');
        }
        if (isFunction(Date.prototype.toISOString)) {
            // native implementation is ~50x faster, use it when we can
            if (utc) {
                return this.toDate().toISOString();
            } else {
                return new Date(this.valueOf() + this.utcOffset() * 60 * 1000).toISOString().replace('Z', formatMoment(m, 'Z'));
            }
        }
        return formatMoment(m, utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ');
    }

    /**
     * Return a human readable representation of a moment that can
     * also be evaluated to get a new moment which is the same
     *
     * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects
     */
    function inspect() {
        if (!this.isValid()) {
            return 'moment.invalid(/* ' + this._i + ' */)';
        }
        var func = 'moment';
        var zone = '';
        if (!this.isLocal()) {
            func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';
            zone = 'Z';
        }
        var prefix = '[' + func + '("]';
        var year = (0 <= this.year() && this.year() <= 9999) ? 'YYYY' : 'YYYYYY';
        var datetime = '-MM-DD[T]HH:mm:ss.SSS';
        var suffix = zone + '[")]';

        return this.format(prefix + year + datetime + suffix);
    }

    function format(inputString) {
        if (!inputString) {
            inputString = this.isUtc() ? hooks.defaultFormatUtc : hooks.defaultFormat;
        }
        var output = formatMoment(this, inputString);
        return this.localeData().postformat(output);
    }

    function from(time, withoutSuffix) {
        if (this.isValid() &&
            ((isMoment(time) && time.isValid()) ||
                createLocal(time).isValid())) {
            return createDuration({ to: this, from: time }).locale(this.locale()).humanize(!withoutSuffix);
        } else {
            return this.localeData().invalidDate();
        }
    }

    function fromNow(withoutSuffix) {
        return this.from(createLocal(), withoutSuffix);
    }

    function to(time, withoutSuffix) {
        if (this.isValid() &&
            ((isMoment(time) && time.isValid()) ||
                createLocal(time).isValid())) {
            return createDuration({ from: this, to: time }).locale(this.locale()).humanize(!withoutSuffix);
        } else {
            return this.localeData().invalidDate();
        }
    }

    function toNow(withoutSuffix) {
        return this.to(createLocal(), withoutSuffix);
    }

    // If passed a locale key, it will set the locale for this
    // instance.  Otherwise, it will return the locale configuration
    // variables for this instance.
    function locale(key) {
        var newLocaleData;

        if (key === undefined) {
            return this._locale._abbr;
        } else {
            newLocaleData = getLocale(key);
            if (newLocaleData != null) {
                this._locale = newLocaleData;
            }
            return this;
        }
    }

    var lang = deprecate(
        'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',
        function (key) {
            if (key === undefined) {
                return this.localeData();
            } else {
                return this.locale(key);
            }
        }
    );

    function localeData() {
        return this._locale;
    }

    var MS_PER_SECOND = 1000;
    var MS_PER_MINUTE = 60 * MS_PER_SECOND;
    var MS_PER_HOUR = 60 * MS_PER_MINUTE;
    var MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR;

    // actual modulo - handles negative numbers (for dates before 1970):
    function mod$1(dividend, divisor) {
        return (dividend % divisor + divisor) % divisor;
    }

    function localStartOfDate(y, m, d) {
        // the date constructor remaps years 0-99 to 1900-1999
        if (y < 100 && y >= 0) {
            // preserve leap years using a full 400 year cycle, then reset
            return new Date(y + 400, m, d) - MS_PER_400_YEARS;
        } else {
            return new Date(y, m, d).valueOf();
        }
    }

    function utcStartOfDate(y, m, d) {
        // Date.UTC remaps years 0-99 to 1900-1999
        if (y < 100 && y >= 0) {
            // preserve leap years using a full 400 year cycle, then reset
            return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS;
        } else {
            return Date.UTC(y, m, d);
        }
    }

    function startOf(units) {
        var time;
        units = normalizeUnits(units);
        if (units === undefined || units === 'millisecond' || !this.isValid()) {
            return this;
        }

        var startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;

        switch (units) {
            case 'year':
                time = startOfDate(this.year(), 0, 1);
                break;
            case 'quarter':
                time = startOfDate(this.year(), this.month() - this.month() % 3, 1);
                break;
            case 'month':
                time = startOfDate(this.year(), this.month(), 1);
                break;
            case 'week':
                time = startOfDate(this.year(), this.month(), this.date() - this.weekday());
                break;
            case 'isoWeek':
                time = startOfDate(this.year(), this.month(), this.date() - (this.isoWeekday() - 1));
                break;
            case 'day':
            case 'date':
                time = startOfDate(this.year(), this.month(), this.date());
                break;
            case 'hour':
                time = this._d.valueOf();
                time -= mod$1(time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), MS_PER_HOUR);
                break;
            case 'minute':
                time = this._d.valueOf();
                time -= mod$1(time, MS_PER_MINUTE);
                break;
            case 'second':
                time = this._d.valueOf();
                time -= mod$1(time, MS_PER_SECOND);
                break;
        }

        this._d.setTime(time);
        hooks.updateOffset(this, true);
        return this;
    }

    function endOf(units) {
        var time;
        units = normalizeUnits(units);
        if (units === undefined || units === 'millisecond' || !this.isValid()) {
            return this;
        }

        var startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;

        switch (units) {
            case 'year':
                time = startOfDate(this.year() + 1, 0, 1) - 1;
                break;
            case 'quarter':
                time = startOfDate(this.year(), this.month() - this.month() % 3 + 3, 1) - 1;
                break;
            case 'month':
                time = startOfDate(this.year(), this.month() + 1, 1) - 1;
                break;
            case 'week':
                time = startOfDate(this.year(), this.month(), this.date() - this.weekday() + 7) - 1;
                break;
            case 'isoWeek':
                time = startOfDate(this.year(), this.month(), this.date() - (this.isoWeekday() - 1) + 7) - 1;
                break;
            case 'day':
            case 'date':
                time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;
                break;
            case 'hour':
                time = this._d.valueOf();
                time += MS_PER_HOUR - mod$1(time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), MS_PER_HOUR) - 1;
                break;
            case 'minute':
                time = this._d.valueOf();
                time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;
                break;
            case 'second':
                time = this._d.valueOf();
                time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1;
                break;
        }

        this._d.setTime(time);
        hooks.updateOffset(this, true);
        return this;
    }

    function valueOf() {
        return this._d.valueOf() - ((this._offset || 0) * 60000);
    }

    function unix() {
        return Math.floor(this.valueOf() / 1000);
    }

    function toDate() {
        return new Date(this.valueOf());
    }

    function toArray() {
        var m = this;
        return [m.year(), m.month(), m.date(), m.hour(), m.minute(), m.second(), m.millisecond()];
    }

    function toObject() {
        var m = this;
        return {
            years: m.year(),
            months: m.month(),
            date: m.date(),
            hours: m.hours(),
            minutes: m.minutes(),
            seconds: m.seconds(),
            milliseconds: m.milliseconds()
        };
    }

    function toJSON() {
        // new Date(NaN).toJSON() === null
        return this.isValid() ? this.toISOString() : null;
    }

    function isValid$2() {
        return isValid(this);
    }

    function parsingFlags() {
        return extend({}, getParsingFlags(this));
    }

    function invalidAt() {
        return getParsingFlags(this).overflow;
    }

    function creationData() {
        return {
            input: this._i,
            format: this._f,
            locale: this._locale,
            isUTC: this._isUTC,
            strict: this._strict
        };
    }

    // FORMATTING

    addFormatToken(0, ['gg', 2], 0, function () {
        return this.weekYear() % 100;
    });

    addFormatToken(0, ['GG', 2], 0, function () {
        return this.isoWeekYear() % 100;
    });

    function addWeekYearFormatToken(token, getter) {
        addFormatToken(0, [token, token.length], 0, getter);
    }

    addWeekYearFormatToken('gggg', 'weekYear');
    addWeekYearFormatToken('ggggg', 'weekYear');
    addWeekYearFormatToken('GGGG', 'isoWeekYear');
    addWeekYearFormatToken('GGGGG', 'isoWeekYear');

    // ALIASES

    addUnitAlias('weekYear', 'gg');
    addUnitAlias('isoWeekYear', 'GG');

    // PRIORITY

    addUnitPriority('weekYear', 1);
    addUnitPriority('isoWeekYear', 1);


    // PARSING

    addRegexToken('G', matchSigned);
    addRegexToken('g', matchSigned);
    addRegexToken('GG', match1to2, match2);
    addRegexToken('gg', match1to2, match2);
    addRegexToken('GGGG', match1to4, match4);
    addRegexToken('gggg', match1to4, match4);
    addRegexToken('GGGGG', match1to6, match6);
    addRegexToken('ggggg', match1to6, match6);

    addWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (input, week, config, token) {
        week[token.substr(0, 2)] = toInt(input);
    });

    addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {
        week[token] = hooks.parseTwoDigitYear(input);
    });

    // MOMENTS

    function getSetWeekYear(input) {
        return getSetWeekYearHelper.call(this,
            input,
            this.week(),
            this.weekday(),
            this.localeData()._week.dow,
            this.localeData()._week.doy);
    }

    function getSetISOWeekYear(input) {
        return getSetWeekYearHelper.call(this,
            input, this.isoWeek(), this.isoWeekday(), 1, 4);
    }

    function getISOWeeksInYear() {
        return weeksInYear(this.year(), 1, 4);
    }

    function getWeeksInYear() {
        var weekInfo = this.localeData()._week;
        return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);
    }

    function getSetWeekYearHelper(input, week, weekday, dow, doy) {
        var weeksTarget;
        if (input == null) {
            return weekOfYear(this, dow, doy).year;
        } else {
            weeksTarget = weeksInYear(input, dow, doy);
            if (week > weeksTarget) {
                week = weeksTarget;
            }
            return setWeekAll.call(this, input, week, weekday, dow, doy);
        }
    }

    function setWeekAll(weekYear, week, weekday, dow, doy) {
        var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),
            date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);

        this.year(date.getUTCFullYear());
        this.month(date.getUTCMonth());
        this.date(date.getUTCDate());
        return this;
    }

    // FORMATTING

    addFormatToken('Q', 0, 'Qo', 'quarter');

    // ALIASES

    addUnitAlias('quarter', 'Q');

    // PRIORITY

    addUnitPriority('quarter', 7);

    // PARSING

    addRegexToken('Q', match1);
    addParseToken('Q', function (input, array) {
        array[MONTH] = (toInt(input) - 1) * 3;
    });

    // MOMENTS

    function getSetQuarter(input) {
        return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3);
    }

    // FORMATTING

    addFormatToken('D', ['DD', 2], 'Do', 'date');

    // ALIASES

    addUnitAlias('date', 'D');

    // PRIORITY
    addUnitPriority('date', 9);

    // PARSING

    addRegexToken('D', match1to2);
    addRegexToken('DD', match1to2, match2);
    addRegexToken('Do', function (isStrict, locale) {
        // TODO: Remove "ordinalParse" fallback in next major release.
        return isStrict ?
            (locale._dayOfMonthOrdinalParse || locale._ordinalParse) :
            locale._dayOfMonthOrdinalParseLenient;
    });

    addParseToken(['D', 'DD'], DATE);
    addParseToken('Do', function (input, array) {
        array[DATE] = toInt(input.match(match1to2)[0]);
    });

    // MOMENTS

    var getSetDayOfMonth = makeGetSet('Date', true);

    // FORMATTING

    addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');

    // ALIASES

    addUnitAlias('dayOfYear', 'DDD');

    // PRIORITY
    addUnitPriority('dayOfYear', 4);

    // PARSING

    addRegexToken('DDD', match1to3);
    addRegexToken('DDDD', match3);
    addParseToken(['DDD', 'DDDD'], function (input, array, config) {
        config._dayOfYear = toInt(input);
    });

    // HELPERS

    // MOMENTS

    function getSetDayOfYear(input) {
        var dayOfYear = Math.round((this.clone().startOf('day') - this.clone().startOf('year')) / 864e5) + 1;
        return input == null ? dayOfYear : this.add((input - dayOfYear), 'd');
    }

    // FORMATTING

    addFormatToken('m', ['mm', 2], 0, 'minute');

    // ALIASES

    addUnitAlias('minute', 'm');

    // PRIORITY

    addUnitPriority('minute', 14);

    // PARSING

    addRegexToken('m', match1to2);
    addRegexToken('mm', match1to2, match2);
    addParseToken(['m', 'mm'], MINUTE);

    // MOMENTS

    var getSetMinute = makeGetSet('Minutes', false);

    // FORMATTING

    addFormatToken('s', ['ss', 2], 0, 'second');

    // ALIASES

    addUnitAlias('second', 's');

    // PRIORITY

    addUnitPriority('second', 15);

    // PARSING

    addRegexToken('s', match1to2);
    addRegexToken('ss', match1to2, match2);
    addParseToken(['s', 'ss'], SECOND);

    // MOMENTS

    var getSetSecond = makeGetSet('Seconds', false);

    // FORMATTING

    addFormatToken('S', 0, 0, function () {
        return ~~(this.millisecond() / 100);
    });

    addFormatToken(0, ['SS', 2], 0, function () {
        return ~~(this.millisecond() / 10);
    });

    addFormatToken(0, ['SSS', 3], 0, 'millisecond');
    addFormatToken(0, ['SSSS', 4], 0, function () {
        return this.millisecond() * 10;
    });
    addFormatToken(0, ['SSSSS', 5], 0, function () {
        return this.millisecond() * 100;
    });
    addFormatToken(0, ['SSSSSS', 6], 0, function () {
        return this.millisecond() * 1000;
    });
    addFormatToken(0, ['SSSSSSS', 7], 0, function () {
        return this.millisecond() * 10000;
    });
    addFormatToken(0, ['SSSSSSSS', 8], 0, function () {
        return this.millisecond() * 100000;
    });
    addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {
        return this.millisecond() * 1000000;
    });


    // ALIASES

    addUnitAlias('millisecond', 'ms');

    // PRIORITY

    addUnitPriority('millisecond', 16);

    // PARSING

    addRegexToken('S', match1to3, match1);
    addRegexToken('SS', match1to3, match2);
    addRegexToken('SSS', match1to3, match3);

    var token;
    for (token = 'SSSS'; token.length <= 9; token += 'S') {
        addRegexToken(token, matchUnsigned);
    }

    function parseMs(input, array) {
        array[MILLISECOND] = toInt(('0.' + input) * 1000);
    }

    for (token = 'S'; token.length <= 9; token += 'S') {
        addParseToken(token, parseMs);
    }
    // MOMENTS

    var getSetMillisecond = makeGetSet('Milliseconds', false);

    // FORMATTING

    addFormatToken('z', 0, 0, 'zoneAbbr');
    addFormatToken('zz', 0, 0, 'zoneName');

    // MOMENTS

    function getZoneAbbr() {
        return this._isUTC ? 'UTC' : '';
    }

    function getZoneName() {
        return this._isUTC ? 'Coordinated Universal Time' : '';
    }

    var proto = Moment.prototype;

    proto.add = add;
    proto.calendar = calendar$1;
    proto.clone = clone;
    proto.diff = diff;
    proto.endOf = endOf;
    proto.format = format;
    proto.from = from;
    proto.fromNow = fromNow;
    proto.to = to;
    proto.toNow = toNow;
    proto.get = stringGet;
    proto.invalidAt = invalidAt;
    proto.isAfter = isAfter;
    proto.isBefore = isBefore;
    proto.isBetween = isBetween;
    proto.isSame = isSame;
    proto.isSameOrAfter = isSameOrAfter;
    proto.isSameOrBefore = isSameOrBefore;
    proto.isValid = isValid$2;
    proto.lang = lang;
    proto.locale = locale;
    proto.localeData = localeData;
    proto.max = prototypeMax;
    proto.min = prototypeMin;
    proto.parsingFlags = parsingFlags;
    proto.set = stringSet;
    proto.startOf = startOf;
    proto.subtract = subtract;
    proto.toArray = toArray;
    proto.toObject = toObject;
    proto.toDate = toDate;
    proto.toISOString = toISOString;
    proto.inspect = inspect;
    proto.toJSON = toJSON;
    proto.toString = toString;
    proto.unix = unix;
    proto.valueOf = valueOf;
    proto.creationData = creationData;
    proto.year = getSetYear;
    proto.isLeapYear = getIsLeapYear;
    proto.weekYear = getSetWeekYear;
    proto.isoWeekYear = getSetISOWeekYear;
    proto.quarter = proto.quarters = getSetQuarter;
    proto.month = getSetMonth;
    proto.daysInMonth = getDaysInMonth;
    proto.week = proto.weeks = getSetWeek;
    proto.isoWeek = proto.isoWeeks = getSetISOWeek;
    proto.weeksInYear = getWeeksInYear;
    proto.isoWeeksInYear = getISOWeeksInYear;
    proto.date = getSetDayOfMonth;
    proto.day = proto.days = getSetDayOfWeek;
    proto.weekday = getSetLocaleDayOfWeek;
    proto.isoWeekday = getSetISODayOfWeek;
    proto.dayOfYear = getSetDayOfYear;
    proto.hour = proto.hours = getSetHour;
    proto.minute = proto.minutes = getSetMinute;
    proto.second = proto.seconds = getSetSecond;
    proto.millisecond = proto.milliseconds = getSetMillisecond;
    proto.utcOffset = getSetOffset;
    proto.utc = setOffsetToUTC;
    proto.local = setOffsetToLocal;
    proto.parseZone = setOffsetToParsedOffset;
    proto.hasAlignedHourOffset = hasAlignedHourOffset;
    proto.isDST = isDaylightSavingTime;
    proto.isLocal = isLocal;
    proto.isUtcOffset = isUtcOffset;
    proto.isUtc = isUtc;
    proto.isUTC = isUtc;
    proto.zoneAbbr = getZoneAbbr;
    proto.zoneName = getZoneName;
    proto.dates = deprecate('dates accessor is deprecated. Use date instead.', getSetDayOfMonth);
    proto.months = deprecate('months accessor is deprecated. Use month instead', getSetMonth);
    proto.years = deprecate('years accessor is deprecated. Use year instead', getSetYear);
    proto.zone = deprecate('moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/', getSetZone);
    proto.isDSTShifted = deprecate('isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information', isDaylightSavingTimeShifted);

    function createUnix(input) {
        return createLocal(input * 1000);
    }

    function createInZone() {
        return createLocal.apply(null, arguments).parseZone();
    }

    function preParsePostFormat(string) {
        return string;
    }

    var proto$1 = Locale.prototype;

    proto$1.calendar = calendar;
    proto$1.longDateFormat = longDateFormat;
    proto$1.invalidDate = invalidDate;
    proto$1.ordinal = ordinal;
    proto$1.preparse = preParsePostFormat;
    proto$1.postformat = preParsePostFormat;
    proto$1.relativeTime = relativeTime;
    proto$1.pastFuture = pastFuture;
    proto$1.set = set;

    proto$1.months = localeMonths;
    proto$1.monthsShort = localeMonthsShort;
    proto$1.monthsParse = localeMonthsParse;
    proto$1.monthsRegex = monthsRegex;
    proto$1.monthsShortRegex = monthsShortRegex;
    proto$1.week = localeWeek;
    proto$1.firstDayOfYear = localeFirstDayOfYear;
    proto$1.firstDayOfWeek = localeFirstDayOfWeek;

    proto$1.weekdays = localeWeekdays;
    proto$1.weekdaysMin = localeWeekdaysMin;
    proto$1.weekdaysShort = localeWeekdaysShort;
    proto$1.weekdaysParse = localeWeekdaysParse;

    proto$1.weekdaysRegex = weekdaysRegex;
    proto$1.weekdaysShortRegex = weekdaysShortRegex;
    proto$1.weekdaysMinRegex = weekdaysMinRegex;

    proto$1.isPM = localeIsPM;
    proto$1.meridiem = localeMeridiem;

    function get$1(format, index, field, setter) {
        var locale = getLocale();
        var utc = createUTC().set(setter, index);
        return locale[field](utc, format);
    }

    function listMonthsImpl(format, index, field) {
        if (isNumber(format)) {
            index = format;
            format = undefined;
        }

        format = format || '';

        if (index != null) {
            return get$1(format, index, field, 'month');
        }

        var i;
        var out = [];
        for (i = 0; i < 12; i++) {
            out[i] = get$1(format, i, field, 'month');
        }
        return out;
    }

    // ()
    // (5)
    // (fmt, 5)
    // (fmt)
    // (true)
    // (true, 5)
    // (true, fmt, 5)
    // (true, fmt)
    function listWeekdaysImpl(localeSorted, format, index, field) {
        if (typeof localeSorted === 'boolean') {
            if (isNumber(format)) {
                index = format;
                format = undefined;
            }

            format = format || '';
        } else {
            format = localeSorted;
            index = format;
            localeSorted = false;

            if (isNumber(format)) {
                index = format;
                format = undefined;
            }

            format = format || '';
        }

        var locale = getLocale(),
            shift = localeSorted ? locale._week.dow : 0;

        if (index != null) {
            return get$1(format, (index + shift) % 7, field, 'day');
        }

        var i;
        var out = [];
        for (i = 0; i < 7; i++) {
            out[i] = get$1(format, (i + shift) % 7, field, 'day');
        }
        return out;
    }

    function listMonths(format, index) {
        return listMonthsImpl(format, index, 'months');
    }

    function listMonthsShort(format, index) {
        return listMonthsImpl(format, index, 'monthsShort');
    }

    function listWeekdays(localeSorted, format, index) {
        return listWeekdaysImpl(localeSorted, format, index, 'weekdays');
    }

    function listWeekdaysShort(localeSorted, format, index) {
        return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');
    }

    function listWeekdaysMin(localeSorted, format, index) {
        return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');
    }

    getSetGlobalLocale('en', {
        dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/,
        ordinal: function (number) {
            var b = number % 10,
                output = (toInt(number % 100 / 10) === 1) ? 'th' :
                    (b === 1) ? 'st' :
                        (b === 2) ? 'nd' :
                            (b === 3) ? 'rd' : 'th';
            return number + output;
        }
    });

    // Side effect imports

    hooks.lang = deprecate('moment.lang is deprecated. Use moment.locale instead.', getSetGlobalLocale);
    hooks.langData = deprecate('moment.langData is deprecated. Use moment.localeData instead.', getLocale);

    var mathAbs = Math.abs;

    function abs() {
        var data = this._data;

        this._milliseconds = mathAbs(this._milliseconds);
        this._days = mathAbs(this._days);
        this._months = mathAbs(this._months);

        data.milliseconds = mathAbs(data.milliseconds);
        data.seconds = mathAbs(data.seconds);
        data.minutes = mathAbs(data.minutes);
        data.hours = mathAbs(data.hours);
        data.months = mathAbs(data.months);
        data.years = mathAbs(data.years);

        return this;
    }

    function addSubtract$1(duration, input, value, direction) {
        var other = createDuration(input, value);

        duration._milliseconds += direction * other._milliseconds;
        duration._days += direction * other._days;
        duration._months += direction * other._months;

        return duration._bubble();
    }

    // supports only 2.0-style add(1, 's') or add(duration)
    function add$1(input, value) {
        return addSubtract$1(this, input, value, 1);
    }

    // supports only 2.0-style subtract(1, 's') or subtract(duration)
    function subtract$1(input, value) {
        return addSubtract$1(this, input, value, -1);
    }

    function absCeil(number) {
        if (number < 0) {
            return Math.floor(number);
        } else {
            return Math.ceil(number);
        }
    }

    function bubble() {
        var milliseconds = this._milliseconds;
        var days = this._days;
        var months = this._months;
        var data = this._data;
        var seconds, minutes, hours, years, monthsFromDays;

        // if we have a mix of positive and negative values, bubble down first
        // check: https://github.com/moment/moment/issues/2166
        if (!((milliseconds >= 0 && days >= 0 && months >= 0) ||
            (milliseconds <= 0 && days <= 0 && months <= 0))) {
            milliseconds += absCeil(monthsToDays(months) + days) * 864e5;
            days = 0;
            months = 0;
        }

        // The following code bubbles up values, see the tests for
        // examples of what that means.
        data.milliseconds = milliseconds % 1000;

        seconds = absFloor(milliseconds / 1000);
        data.seconds = seconds % 60;

        minutes = absFloor(seconds / 60);
        data.minutes = minutes % 60;

        hours = absFloor(minutes / 60);
        data.hours = hours % 24;

        days += absFloor(hours / 24);

        // convert days to months
        monthsFromDays = absFloor(daysToMonths(days));
        months += monthsFromDays;
        days -= absCeil(monthsToDays(monthsFromDays));

        // 12 months -> 1 year
        years = absFloor(months / 12);
        months %= 12;

        data.days = days;
        data.months = months;
        data.years = years;

        return this;
    }

    function daysToMonths(days) {
        // 400 years have 146097 days (taking into account leap year rules)
        // 400 years have 12 months === 4800
        return days * 4800 / 146097;
    }

    function monthsToDays(months) {
        // the reverse of daysToMonths
        return months * 146097 / 4800;
    }

    function as(units) {
        if (!this.isValid()) {
            return NaN;
        }
        var days;
        var months;
        var milliseconds = this._milliseconds;

        units = normalizeUnits(units);

        if (units === 'month' || units === 'quarter' || units === 'year') {
            days = this._days + milliseconds / 864e5;
            months = this._months + daysToMonths(days);
            switch (units) {
                case 'month': return months;
                case 'quarter': return months / 3;
                case 'year': return months / 12;
            }
        } else {
            // handle milliseconds separately because of floating point math errors (issue #1867)
            days = this._days + Math.round(monthsToDays(this._months));
            switch (units) {
                case 'week': return days / 7 + milliseconds / 6048e5;
                case 'day': return days + milliseconds / 864e5;
                case 'hour': return days * 24 + milliseconds / 36e5;
                case 'minute': return days * 1440 + milliseconds / 6e4;
                case 'second': return days * 86400 + milliseconds / 1000;
                // Math.floor prevents floating point math errors here
                case 'millisecond': return Math.floor(days * 864e5) + milliseconds;
                default: throw new Error('Unknown unit ' + units);
            }
        }
    }

    // TODO: Use this.as('ms')?
    function valueOf$1() {
        if (!this.isValid()) {
            return NaN;
        }
        return (
            this._milliseconds +
            this._days * 864e5 +
            (this._months % 12) * 2592e6 +
            toInt(this._months / 12) * 31536e6
        );
    }

    function makeAs(alias) {
        return function () {
            return this.as(alias);
        };
    }

    var asMilliseconds = makeAs('ms');
    var asSeconds = makeAs('s');
    var asMinutes = makeAs('m');
    var asHours = makeAs('h');
    var asDays = makeAs('d');
    var asWeeks = makeAs('w');
    var asMonths = makeAs('M');
    var asQuarters = makeAs('Q');
    var asYears = makeAs('y');

    function clone$1() {
        return createDuration(this);
    }

    function get$2(units) {
        units = normalizeUnits(units);
        return this.isValid() ? this[units + 's']() : NaN;
    }

    function makeGetter(name) {
        return function () {
            return this.isValid() ? this._data[name] : NaN;
        };
    }

    var milliseconds = makeGetter('milliseconds');
    var seconds = makeGetter('seconds');
    var minutes = makeGetter('minutes');
    var hours = makeGetter('hours');
    var days = makeGetter('days');
    var months = makeGetter('months');
    var years = makeGetter('years');

    function weeks() {
        return absFloor(this.days() / 7);
    }

    var round = Math.round;
    var thresholds = {
        ss: 44,         // a few seconds to seconds
        s: 45,         // seconds to minute
        m: 45,         // minutes to hour
        h: 22,         // hours to day
        d: 26,         // days to month
        M: 11          // months to year
    };

    // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize
    function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {
        return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);
    }

    function relativeTime$1(posNegDuration, withoutSuffix, locale) {
        var duration = createDuration(posNegDuration).abs();
        var seconds = round(duration.as('s'));
        var minutes = round(duration.as('m'));
        var hours = round(duration.as('h'));
        var days = round(duration.as('d'));
        var months = round(duration.as('M'));
        var years = round(duration.as('y'));

        var a = seconds <= thresholds.ss && ['s', seconds] ||
            seconds < thresholds.s && ['ss', seconds] ||
            minutes <= 1 && ['m'] ||
            minutes < thresholds.m && ['mm', minutes] ||
            hours <= 1 && ['h'] ||
            hours < thresholds.h && ['hh', hours] ||
            days <= 1 && ['d'] ||
            days < thresholds.d && ['dd', days] ||
            months <= 1 && ['M'] ||
            months < thresholds.M && ['MM', months] ||
            years <= 1 && ['y'] || ['yy', years];

        a[2] = withoutSuffix;
        a[3] = +posNegDuration > 0;
        a[4] = locale;
        return substituteTimeAgo.apply(null, a);
    }

    // This function allows you to set the rounding function for relative time strings
    function getSetRelativeTimeRounding(roundingFunction) {
        if (roundingFunction === undefined) {
            return round;
        }
        if (typeof (roundingFunction) === 'function') {
            round = roundingFunction;
            return true;
        }
        return false;
    }

    // This function allows you to set a threshold for relative time strings
    function getSetRelativeTimeThreshold(threshold, limit) {
        if (thresholds[threshold] === undefined) {
            return false;
        }
        if (limit === undefined) {
            return thresholds[threshold];
        }
        thresholds[threshold] = limit;
        if (threshold === 's') {
            thresholds.ss = limit - 1;
        }
        return true;
    }

    function humanize(withSuffix) {
        if (!this.isValid()) {
            return this.localeData().invalidDate();
        }

        var locale = this.localeData();
        var output = relativeTime$1(this, !withSuffix, locale);

        if (withSuffix) {
            output = locale.pastFuture(+this, output);
        }

        return locale.postformat(output);
    }

    var abs$1 = Math.abs;

    function sign(x) {
        return ((x > 0) - (x < 0)) || +x;
    }

    function toISOString$1() {
        // for ISO strings we do not use the normal bubbling rules:
        //  * milliseconds bubble up until they become hours
        //  * days do not bubble at all
        //  * months bubble up until they become years
        // This is because there is no context-free conversion between hours and days
        // (think of clock changes)
        // and also not between days and months (28-31 days per month)
        if (!this.isValid()) {
            return this.localeData().invalidDate();
        }

        var seconds = abs$1(this._milliseconds) / 1000;
        var days = abs$1(this._days);
        var months = abs$1(this._months);
        var minutes, hours, years;

        // 3600 seconds -> 60 minutes -> 1 hour
        minutes = absFloor(seconds / 60);
        hours = absFloor(minutes / 60);
        seconds %= 60;
        minutes %= 60;

        // 12 months -> 1 year
        years = absFloor(months / 12);
        months %= 12;


        // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js
        var Y = years;
        var M = months;
        var D = days;
        var h = hours;
        var m = minutes;
        var s = seconds ? seconds.toFixed(3).replace(/\.?0+$/, '') : '';
        var total = this.asSeconds();

        if (!total) {
            // this is the same as C#'s (Noda) and python (isodate)...
            // but not other JS (goog.date)
            return 'P0D';
        }

        var totalSign = total < 0 ? '-' : '';
        var ymSign = sign(this._months) !== sign(total) ? '-' : '';
        var daysSign = sign(this._days) !== sign(total) ? '-' : '';
        var hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';

        return totalSign + 'P' +
            (Y ? ymSign + Y + 'Y' : '') +
            (M ? ymSign + M + 'M' : '') +
            (D ? daysSign + D + 'D' : '') +
            ((h || m || s) ? 'T' : '') +
            (h ? hmsSign + h + 'H' : '') +
            (m ? hmsSign + m + 'M' : '') +
            (s ? hmsSign + s + 'S' : '');
    }

    var proto$2 = Duration.prototype;

    proto$2.isValid = isValid$1;
    proto$2.abs = abs;
    proto$2.add = add$1;
    proto$2.subtract = subtract$1;
    proto$2.as = as;
    proto$2.asMilliseconds = asMilliseconds;
    proto$2.asSeconds = asSeconds;
    proto$2.asMinutes = asMinutes;
    proto$2.asHours = asHours;
    proto$2.asDays = asDays;
    proto$2.asWeeks = asWeeks;
    proto$2.asMonths = asMonths;
    proto$2.asQuarters = asQuarters;
    proto$2.asYears = asYears;
    proto$2.valueOf = valueOf$1;
    proto$2._bubble = bubble;
    proto$2.clone = clone$1;
    proto$2.get = get$2;
    proto$2.milliseconds = milliseconds;
    proto$2.seconds = seconds;
    proto$2.minutes = minutes;
    proto$2.hours = hours;
    proto$2.days = days;
    proto$2.weeks = weeks;
    proto$2.months = months;
    proto$2.years = years;
    proto$2.humanize = humanize;
    proto$2.toISOString = toISOString$1;
    proto$2.toString = toISOString$1;
    proto$2.toJSON = toISOString$1;
    proto$2.locale = locale;
    proto$2.localeData = localeData;

    proto$2.toIsoString = deprecate('toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', toISOString$1);
    proto$2.lang = lang;

    // Side effect imports

    // FORMATTING

    addFormatToken('X', 0, 0, 'unix');
    addFormatToken('x', 0, 0, 'valueOf');

    // PARSING

    addRegexToken('x', matchSigned);
    addRegexToken('X', matchTimestamp);
    addParseToken('X', function (input, array, config) {
        config._d = new Date(parseFloat(input, 10) * 1000);
    });
    addParseToken('x', function (input, array, config) {
        config._d = new Date(toInt(input));
    });

    // Side effect imports

    //! moment.js

    hooks.version = '2.24.0';

    setHookCallback(createLocal);

    hooks.fn = proto;
    hooks.min = min;
    hooks.max = max;
    hooks.now = now;
    hooks.utc = createUTC;
    hooks.unix = createUnix;
    hooks.months = listMonths;
    hooks.isDate = isDate;
    hooks.locale = getSetGlobalLocale;
    hooks.invalid = createInvalid;
    hooks.duration = createDuration;
    hooks.isMoment = isMoment;
    hooks.weekdays = listWeekdays;
    hooks.parseZone = createInZone;
    hooks.localeData = getLocale;
    hooks.isDuration = isDuration;
    hooks.monthsShort = listMonthsShort;
    hooks.weekdaysMin = listWeekdaysMin;
    hooks.defineLocale = defineLocale;
    hooks.updateLocale = updateLocale;
    hooks.locales = listLocales;
    hooks.weekdaysShort = listWeekdaysShort;
    hooks.normalizeUnits = normalizeUnits;
    hooks.relativeTimeRounding = getSetRelativeTimeRounding;
    hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;
    hooks.calendarFormat = getCalendarFormat;
    hooks.prototype = proto;

    // currently HTML5 input type only supports 24-hour formats
    hooks.HTML5_FMT = {
        DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm',             // <input type="datetime-local" />
        DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss',  // <input type="datetime-local" step="1" />
        DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS',   // <input type="datetime-local" step="0.001" />
        DATE: 'YYYY-MM-DD',                             // <input type="date" />
        TIME: 'HH:mm',                                  // <input type="time" />
        TIME_SECONDS: 'HH:mm:ss',                       // <input type="time" step="1" />
        TIME_MS: 'HH:mm:ss.SSS',                        // <input type="time" step="0.001" />
        WEEK: 'GGGG-[W]WW',                             // <input type="week" />
        MONTH: 'YYYY-MM'                                // <input type="month" />
    };

    //! moment.js locale configuration

    hooks.defineLocale('af', {
        months: 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split('_'),
        monthsShort: 'Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'),
        weekdays: 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split('_'),
        weekdaysShort: 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'),
        weekdaysMin: 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'),
        meridiemParse: /vm|nm/i,
        isPM: function (input) {
            return /^nm$/i.test(input);
        },
        meridiem: function (hours, minutes, isLower) {
            if (hours < 12) {
                return isLower ? 'vm' : 'VM';
            } else {
                return isLower ? 'nm' : 'NM';
            }
        },
        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: '[Vandag om] LT',
            nextDay: '[Môre om] LT',
            nextWeek: 'dddd [om] LT',
            lastDay: '[Gister om] LT',
            lastWeek: '[Laas] dddd [om] LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: 'oor %s',
            past: '%s gelede',
            s: '\'n paar sekondes',
            ss: '%d sekondes',
            m: '\'n minuut',
            mm: '%d minute',
            h: '\'n uur',
            hh: '%d ure',
            d: '\'n dag',
            dd: '%d dae',
            M: '\'n maand',
            MM: '%d maande',
            y: '\'n jaar',
            yy: '%d jaar'
        },
        dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/,
        ordinal: function (number) {
            return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de'); // Thanks to Joris Röling : https://github.com/jjupiter
        },
        week: {
            dow: 1, // Maandag is die eerste dag van die week.
            doy: 4  // Die week wat die 4de Januarie bevat is die eerste week van die jaar.
        }
    });

    //! moment.js locale configuration

    hooks.defineLocale('ar-dz', {
        months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
        monthsShort: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
        weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
        weekdaysShort: 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),
        weekdaysMin: 'أح_إث_ثلا_أر_خم_جم_سب'.split('_'),
        weekdaysParseExact: true,
        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: '[اليوم على الساعة] LT',
            nextDay: '[غدا على الساعة] LT',
            nextWeek: 'dddd [على الساعة] LT',
            lastDay: '[أمس على الساعة] LT',
            lastWeek: 'dddd [على الساعة] LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: 'في %s',
            past: 'منذ %s',
            s: 'ثوان',
            ss: '%d ثانية',
            m: 'دقيقة',
            mm: '%d دقائق',
            h: 'ساعة',
            hh: '%d ساعات',
            d: 'يوم',
            dd: '%d أيام',
            M: 'شهر',
            MM: '%d أشهر',
            y: 'سنة',
            yy: '%d سنوات'
        },
        week: {
            dow: 0, // Sunday is the first day of the week.
            doy: 4  // The week that contains Jan 4th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    hooks.defineLocale('ar-kw', {
        months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),
        monthsShort: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),
        weekdays: 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
        weekdaysShort: 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),
        weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),
        weekdaysParseExact: true,
        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: '[اليوم على الساعة] LT',
            nextDay: '[غدا على الساعة] LT',
            nextWeek: 'dddd [على الساعة] LT',
            lastDay: '[أمس على الساعة] LT',
            lastWeek: 'dddd [على الساعة] LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: 'في %s',
            past: 'منذ %s',
            s: 'ثوان',
            ss: '%d ثانية',
            m: 'دقيقة',
            mm: '%d دقائق',
            h: 'ساعة',
            hh: '%d ساعات',
            d: 'يوم',
            dd: '%d أيام',
            M: 'شهر',
            MM: '%d أشهر',
            y: 'سنة',
            yy: '%d سنوات'
        },
        week: {
            dow: 0, // Sunday is the first day of the week.
            doy: 12  // The week that contains Jan 12th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    var symbolMap = {
        '1': '1',
        '2': '2',
        '3': '3',
        '4': '4',
        '5': '5',
        '6': '6',
        '7': '7',
        '8': '8',
        '9': '9',
        '0': '0'
    }, pluralForm = function (n) {
        return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5;
    }, plurals = {
        s: ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'],
        m: ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'],
        h: ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'],
        d: ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'],
        M: ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'],
        y: ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام']
    }, pluralize = function (u) {
        return function (number, withoutSuffix, string, isFuture) {
            var f = pluralForm(number),
                str = plurals[u][pluralForm(number)];
            if (f === 2) {
                str = str[withoutSuffix ? 0 : 1];
            }
            return str.replace(/%d/i, number);
        };
    }, months$1 = [
        'يناير',
        'فبراير',
        'مارس',
        'أبريل',
        'مايو',
        'يونيو',
        'يوليو',
        'أغسطس',
        'سبتمبر',
        'أكتوبر',
        'نوفمبر',
        'ديسمبر'
    ];

    hooks.defineLocale('ar-ly', {
        months: months$1,
        monthsShort: months$1,
        weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
        weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
        weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),
        weekdaysParseExact: true,
        longDateFormat: {
            LT: 'HH:mm',
            LTS: 'HH:mm:ss',
            L: 'D/\u200FM/\u200FYYYY',
            LL: 'D MMMM YYYY',
            LLL: 'D MMMM YYYY HH:mm',
            LLLL: 'dddd D MMMM YYYY HH:mm'
        },
        meridiemParse: /ص|م/,
        isPM: function (input) {
            return 'م' === input;
        },
        meridiem: function (hour, minute, isLower) {
            if (hour < 12) {
                return 'ص';
            } else {
                return 'م';
            }
        },
        calendar: {
            sameDay: '[اليوم عند الساعة] LT',
            nextDay: '[غدًا عند الساعة] LT',
            nextWeek: 'dddd [عند الساعة] LT',
            lastDay: '[أمس عند الساعة] LT',
            lastWeek: 'dddd [عند الساعة] LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: 'بعد %s',
            past: 'منذ %s',
            s: pluralize('s'),
            ss: pluralize('s'),
            m: pluralize('m'),
            mm: pluralize('m'),
            h: pluralize('h'),
            hh: pluralize('h'),
            d: pluralize('d'),
            dd: pluralize('d'),
            M: pluralize('M'),
            MM: pluralize('M'),
            y: pluralize('y'),
            yy: pluralize('y')
        },
        preparse: function (string) {
            return string.replace(/،/g, ',');
        },
        postformat: function (string) {
            return string.replace(/\d/g, function (match) {
                return symbolMap[match];
            }).replace(/,/g, '،');
        },
        week: {
            dow: 6, // Saturday is the first day of the week.
            doy: 12  // The week that contains Jan 12th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    hooks.defineLocale('ar-ma', {
        months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),
        monthsShort: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),
        weekdays: 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
        weekdaysShort: 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),
        weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),
        weekdaysParseExact: true,
        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: '[اليوم على الساعة] LT',
            nextDay: '[غدا على الساعة] LT',
            nextWeek: 'dddd [على الساعة] LT',
            lastDay: '[أمس على الساعة] LT',
            lastWeek: 'dddd [على الساعة] LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: 'في %s',
            past: 'منذ %s',
            s: 'ثوان',
            ss: '%d ثانية',
            m: 'دقيقة',
            mm: '%d دقائق',
            h: 'ساعة',
            hh: '%d ساعات',
            d: 'يوم',
            dd: '%d أيام',
            M: 'شهر',
            MM: '%d أشهر',
            y: 'سنة',
            yy: '%d سنوات'
        },
        week: {
            dow: 6, // Saturday is the first day of the week.
            doy: 12  // The week that contains Jan 12th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    var symbolMap$1 = {
        '1': '١',
        '2': '٢',
        '3': '٣',
        '4': '٤',
        '5': '٥',
        '6': '٦',
        '7': '٧',
        '8': '٨',
        '9': '٩',
        '0': '٠'
    }, numberMap = {
        '١': '1',
        '٢': '2',
        '٣': '3',
        '٤': '4',
        '٥': '5',
        '٦': '6',
        '٧': '7',
        '٨': '8',
        '٩': '9',
        '٠': '0'
    };

    hooks.defineLocale('ar-sa', {
        months: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
        monthsShort: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
        weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
        weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
        weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),
        weekdaysParseExact: true,
        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'
        },
        meridiemParse: /ص|م/,
        isPM: function (input) {
            return 'م' === input;
        },
        meridiem: function (hour, minute, isLower) {
            if (hour < 12) {
                return 'ص';
            } else {
                return 'م';
            }
        },
        calendar: {
            sameDay: '[اليوم على الساعة] LT',
            nextDay: '[غدا على الساعة] LT',
            nextWeek: 'dddd [على الساعة] LT',
            lastDay: '[أمس على الساعة] LT',
            lastWeek: 'dddd [على الساعة] LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: 'في %s',
            past: 'منذ %s',
            s: 'ثوان',
            ss: '%d ثانية',
            m: 'دقيقة',
            mm: '%d دقائق',
            h: 'ساعة',
            hh: '%d ساعات',
            d: 'يوم',
            dd: '%d أيام',
            M: 'شهر',
            MM: '%d أشهر',
            y: 'سنة',
            yy: '%d سنوات'
        },
        preparse: function (string) {
            return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {
                return numberMap[match];
            }).replace(/،/g, ',');
        },
        postformat: function (string) {
            return string.replace(/\d/g, function (match) {
                return symbolMap$1[match];
            }).replace(/,/g, '،');
        },
        week: {
            dow: 0, // Sunday is the first day of the week.
            doy: 6  // The week that contains Jan 6th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    hooks.defineLocale('ar-tn', {
        months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
        monthsShort: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
        weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
        weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
        weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),
        weekdaysParseExact: true,
        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: '[اليوم على الساعة] LT',
            nextDay: '[غدا على الساعة] LT',
            nextWeek: 'dddd [على الساعة] LT',
            lastDay: '[أمس على الساعة] LT',
            lastWeek: 'dddd [على الساعة] LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: 'في %s',
            past: 'منذ %s',
            s: 'ثوان',
            ss: '%d ثانية',
            m: 'دقيقة',
            mm: '%d دقائق',
            h: 'ساعة',
            hh: '%d ساعات',
            d: 'يوم',
            dd: '%d أيام',
            M: 'شهر',
            MM: '%d أشهر',
            y: 'سنة',
            yy: '%d سنوات'
        },
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 4 // The week that contains Jan 4th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    var symbolMap$2 = {
        '1': '١',
        '2': '٢',
        '3': '٣',
        '4': '٤',
        '5': '٥',
        '6': '٦',
        '7': '٧',
        '8': '٨',
        '9': '٩',
        '0': '٠'
    }, numberMap$1 = {
        '١': '1',
        '٢': '2',
        '٣': '3',
        '٤': '4',
        '٥': '5',
        '٦': '6',
        '٧': '7',
        '٨': '8',
        '٩': '9',
        '٠': '0'
    }, pluralForm$1 = function (n) {
        return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5;
    }, plurals$1 = {
        s: ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'],
        m: ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'],
        h: ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'],
        d: ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'],
        M: ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'],
        y: ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام']
    }, pluralize$1 = function (u) {
        return function (number, withoutSuffix, string, isFuture) {
            var f = pluralForm$1(number),
                str = plurals$1[u][pluralForm$1(number)];
            if (f === 2) {
                str = str[withoutSuffix ? 0 : 1];
            }
            return str.replace(/%d/i, number);
        };
    }, months$2 = [
        'يناير',
        'فبراير',
        'مارس',
        'أبريل',
        'مايو',
        'يونيو',
        'يوليو',
        'أغسطس',
        'سبتمبر',
        'أكتوبر',
        'نوفمبر',
        'ديسمبر'
    ];

    hooks.defineLocale('ar', {
        months: months$2,
        monthsShort: months$2,
        weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
        weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
        weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),
        weekdaysParseExact: true,
        longDateFormat: {
            LT: 'HH:mm',
            LTS: 'HH:mm:ss',
            L: 'D/\u200FM/\u200FYYYY',
            LL: 'D MMMM YYYY',
            LLL: 'D MMMM YYYY HH:mm',
            LLLL: 'dddd D MMMM YYYY HH:mm'
        },
        meridiemParse: /ص|م/,
        isPM: function (input) {
            return 'م' === input;
        },
        meridiem: function (hour, minute, isLower) {
            if (hour < 12) {
                return 'ص';
            } else {
                return 'م';
            }
        },
        calendar: {
            sameDay: '[اليوم عند الساعة] LT',
            nextDay: '[غدًا عند الساعة] LT',
            nextWeek: 'dddd [عند الساعة] LT',
            lastDay: '[أمس عند الساعة] LT',
            lastWeek: 'dddd [عند الساعة] LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: 'بعد %s',
            past: 'منذ %s',
            s: pluralize$1('s'),
            ss: pluralize$1('s'),
            m: pluralize$1('m'),
            mm: pluralize$1('m'),
            h: pluralize$1('h'),
            hh: pluralize$1('h'),
            d: pluralize$1('d'),
            dd: pluralize$1('d'),
            M: pluralize$1('M'),
            MM: pluralize$1('M'),
            y: pluralize$1('y'),
            yy: pluralize$1('y')
        },
        preparse: function (string) {
            return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {
                return numberMap$1[match];
            }).replace(/،/g, ',');
        },
        postformat: function (string) {
            return string.replace(/\d/g, function (match) {
                return symbolMap$2[match];
            }).replace(/,/g, '،');
        },
        week: {
            dow: 6, // Saturday is the first day of the week.
            doy: 12  // The week that contains Jan 12th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    var suffixes = {
        1: '-inci',
        5: '-inci',
        8: '-inci',
        70: '-inci',
        80: '-inci',
        2: '-nci',
        7: '-nci',
        20: '-nci',
        50: '-nci',
        3: '-üncü',
        4: '-üncü',
        100: '-üncü',
        6: '-ncı',
        9: '-uncu',
        10: '-uncu',
        30: '-uncu',
        60: '-ıncı',
        90: '-ıncı'
    };

    hooks.defineLocale('az', {
        months: 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split('_'),
        monthsShort: 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'),
        weekdays: 'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split('_'),
        weekdaysShort: 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'),
        weekdaysMin: 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'),
        weekdaysParseExact: true,
        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: '[bugün saat] LT',
            nextDay: '[sabah saat] LT',
            nextWeek: '[gələn həftə] dddd [saat] LT',
            lastDay: '[dünən] LT',
            lastWeek: '[keçən həftə] dddd [saat] LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: '%s sonra',
            past: '%s əvvəl',
            s: 'birneçə saniyə',
            ss: '%d saniyə',
            m: 'bir dəqiqə',
            mm: '%d dəqiqə',
            h: 'bir saat',
            hh: '%d saat',
            d: 'bir gün',
            dd: '%d gün',
            M: 'bir ay',
            MM: '%d ay',
            y: 'bir il',
            yy: '%d il'
        },
        meridiemParse: /gecə|səhər|gündüz|axşam/,
        isPM: function (input) {
            return /^(gündüz|axşam)$/.test(input);
        },
        meridiem: function (hour, minute, isLower) {
            if (hour < 4) {
                return 'gecə';
            } else if (hour < 12) {
                return 'səhər';
            } else if (hour < 17) {
                return 'gündüz';
            } else {
                return 'axşam';
            }
        },
        dayOfMonthOrdinalParse: /\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,
        ordinal: function (number) {
            if (number === 0) {  // special case for zero
                return number + '-ıncı';
            }
            var a = number % 10,
                b = number % 100 - a,
                c = number >= 100 ? 100 : null;
            return number + (suffixes[a] || suffixes[b] || suffixes[c]);
        },
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 7  // The week that contains Jan 7th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    function plural(word, num) {
        var forms = word.split('_');
        return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);
    }
    function relativeTimeWithPlural(number, withoutSuffix, key) {
        var format = {
            'ss': withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',
            'mm': withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін',
            'hh': withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін',
            'dd': 'дзень_дні_дзён',
            'MM': 'месяц_месяцы_месяцаў',
            'yy': 'год_гады_гадоў'
        };
        if (key === 'm') {
            return withoutSuffix ? 'хвіліна' : 'хвіліну';
        }
        else if (key === 'h') {
            return withoutSuffix ? 'гадзіна' : 'гадзіну';
        }
        else {
            return number + ' ' + plural(format[key], +number);
        }
    }

    hooks.defineLocale('be', {
        months: {
            format: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split('_'),
            standalone: 'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split('_')
        },
        monthsShort: 'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split('_'),
        weekdays: {
            format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split('_'),
            standalone: 'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split('_'),
            isFormat: /\[ ?[Ууў] ?(?:мінулую|наступную)? ?\] ?dddd/
        },
        weekdaysShort: 'нд_пн_ат_ср_чц_пт_сб'.split('_'),
        weekdaysMin: 'нд_пн_ат_ср_чц_пт_сб'.split('_'),
        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: '[Сёння ў] LT',
            nextDay: '[Заўтра ў] LT',
            lastDay: '[Учора ў] LT',
            nextWeek: function () {
                return '[У] dddd [ў] LT';
            },
            lastWeek: function () {
                switch (this.day()) {
                    case 0:
                    case 3:
                    case 5:
                    case 6:
                        return '[У мінулую] dddd [ў] LT';
                    case 1:
                    case 2:
                    case 4:
                        return '[У мінулы] dddd [ў] LT';
                }
            },
            sameElse: 'L'
        },
        relativeTime: {
            future: 'праз %s',
            past: '%s таму',
            s: 'некалькі секунд',
            m: relativeTimeWithPlural,
            mm: relativeTimeWithPlural,
            h: relativeTimeWithPlural,
            hh: relativeTimeWithPlural,
            d: 'дзень',
            dd: relativeTimeWithPlural,
            M: 'месяц',
            MM: relativeTimeWithPlural,
            y: 'год',
            yy: relativeTimeWithPlural
        },
        meridiemParse: /ночы|раніцы|дня|вечара/,
        isPM: function (input) {
            return /^(дня|вечара)$/.test(input);
        },
        meridiem: function (hour, minute, isLower) {
            if (hour < 4) {
                return 'ночы';
            } else if (hour < 12) {
                return 'раніцы';
            } else if (hour < 17) {
                return 'дня';
            } else {
                return 'вечара';
            }
        },
        dayOfMonthOrdinalParse: /\d{1,2}-(і|ы|га)/,
        ordinal: function (number, period) {
            switch (period) {
                case 'M':
                case 'd':
                case 'DDD':
                case 'w':
                case 'W':
                    return (number % 10 === 2 || number % 10 === 3) && (number % 100 !== 12 && number % 100 !== 13) ? number + '-і' : number + '-ы';
                case 'D':
                    return number + '-га';
                default:
                    return number;
            }
        },
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 7  // The week that contains Jan 7th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    hooks.defineLocale('bg', {
        months: 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split('_'),
        monthsShort: 'янр_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'),
        weekdays: 'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split('_'),
        weekdaysShort: 'нед_пон_вто_сря_чет_пет_съб'.split('_'),
        weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),
        longDateFormat: {
            LT: 'H:mm',
            LTS: 'H:mm:ss',
            L: 'D.MM.YYYY',
            LL: 'D MMMM YYYY',
            LLL: 'D MMMM YYYY H:mm',
            LLLL: 'dddd, D MMMM YYYY H:mm'
        },
        calendar: {
            sameDay: '[Днес в] LT',
            nextDay: '[Утре в] LT',
            nextWeek: 'dddd [в] LT',
            lastDay: '[Вчера в] LT',
            lastWeek: function () {
                switch (this.day()) {
                    case 0:
                    case 3:
                    case 6:
                        return '[В изминалата] dddd [в] LT';
                    case 1:
                    case 2:
                    case 4:
                    case 5:
                        return '[В изминалия] dddd [в] LT';
                }
            },
            sameElse: 'L'
        },
        relativeTime: {
            future: 'след %s',
            past: 'преди %s',
            s: 'няколко секунди',
            ss: '%d секунди',
            m: 'минута',
            mm: '%d минути',
            h: 'час',
            hh: '%d часа',
            d: 'ден',
            dd: '%d дни',
            M: 'месец',
            MM: '%d месеца',
            y: 'година',
            yy: '%d години'
        },
        dayOfMonthOrdinalParse: /\d{1,2}-(ев|ен|ти|ви|ри|ми)/,
        ordinal: function (number) {
            var lastDigit = number % 10,
                last2Digits = number % 100;
            if (number === 0) {
                return number + '-ев';
            } else if (last2Digits === 0) {
                return number + '-ен';
            } else if (last2Digits > 10 && last2Digits < 20) {
                return number + '-ти';
            } else if (lastDigit === 1) {
                return number + '-ви';
            } else if (lastDigit === 2) {
                return number + '-ри';
            } else if (lastDigit === 7 || lastDigit === 8) {
                return number + '-ми';
            } else {
                return number + '-ти';
            }
        },
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 7  // The week that contains Jan 7th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    hooks.defineLocale('bm', {
        months: 'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo'.split('_'),
        monthsShort: 'Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des'.split('_'),
        weekdays: 'Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'),
        weekdaysShort: 'Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib'.split('_'),
        weekdaysMin: 'Ka_Nt_Ta_Ar_Al_Ju_Si'.split('_'),
        longDateFormat: {
            LT: 'HH:mm',
            LTS: 'HH:mm:ss',
            L: 'DD/MM/YYYY',
            LL: 'MMMM [tile] D [san] YYYY',
            LLL: 'MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',
            LLLL: 'dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm'
        },
        calendar: {
            sameDay: '[Bi lɛrɛ] LT',
            nextDay: '[Sini lɛrɛ] LT',
            nextWeek: 'dddd [don lɛrɛ] LT',
            lastDay: '[Kunu lɛrɛ] LT',
            lastWeek: 'dddd [tɛmɛnen lɛrɛ] LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: '%s kɔnɔ',
            past: 'a bɛ %s bɔ',
            s: 'sanga dama dama',
            ss: 'sekondi %d',
            m: 'miniti kelen',
            mm: 'miniti %d',
            h: 'lɛrɛ kelen',
            hh: 'lɛrɛ %d',
            d: 'tile kelen',
            dd: 'tile %d',
            M: 'kalo kelen',
            MM: 'kalo %d',
            y: 'san kelen',
            yy: 'san %d'
        },
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 4  // The week that contains Jan 4th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    var symbolMap$3 = {
        '1': '১',
        '2': '২',
        '3': '৩',
        '4': '৪',
        '5': '৫',
        '6': '৬',
        '7': '৭',
        '8': '৮',
        '9': '৯',
        '0': '০'
    },
        numberMap$2 = {
            '১': '1',
            '২': '2',
            '৩': '3',
            '৪': '4',
            '৫': '5',
            '৬': '6',
            '৭': '7',
            '৮': '8',
            '৯': '9',
            '০': '0'
        };

    hooks.defineLocale('bn', {
        months: 'জানুয়ারী_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split('_'),
        monthsShort: 'জানু_ফেব_মার্চ_এপ্র_মে_জুন_জুল_আগ_সেপ্ট_অক্টো_নভে_ডিসে'.split('_'),
        weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split('_'),
        weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),
        weekdaysMin: 'রবি_সোম_মঙ্গ_বুধ_বৃহঃ_শুক্র_শনি'.split('_'),
        longDateFormat: {
            LT: 'A h:mm সময়',
            LTS: 'A h:mm:ss সময়',
            L: 'DD/MM/YYYY',
            LL: 'D MMMM YYYY',
            LLL: 'D MMMM YYYY, A h:mm সময়',
            LLLL: 'dddd, D MMMM YYYY, A h:mm সময়'
        },
        calendar: {
            sameDay: '[আজ] LT',
            nextDay: '[আগামীকাল] LT',
            nextWeek: 'dddd, LT',
            lastDay: '[গতকাল] LT',
            lastWeek: '[গত] dddd, LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: '%s পরে',
            past: '%s আগে',
            s: 'কয়েক সেকেন্ড',
            ss: '%d সেকেন্ড',
            m: 'এক মিনিট',
            mm: '%d মিনিট',
            h: 'এক ঘন্টা',
            hh: '%d ঘন্টা',
            d: 'এক দিন',
            dd: '%d দিন',
            M: 'এক মাস',
            MM: '%d মাস',
            y: 'এক বছর',
            yy: '%d বছর'
        },
        preparse: function (string) {
            return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {
                return numberMap$2[match];
            });
        },
        postformat: function (string) {
            return string.replace(/\d/g, function (match) {
                return symbolMap$3[match];
            });
        },
        meridiemParse: /রাত|সকাল|দুপুর|বিকাল|রাত/,
        meridiemHour: function (hour, meridiem) {
            if (hour === 12) {
                hour = 0;
            }
            if ((meridiem === 'রাত' && hour >= 4) ||
                (meridiem === 'দুপুর' && hour < 5) ||
                meridiem === 'বিকাল') {
                return hour + 12;
            } else {
                return hour;
            }
        },
        meridiem: function (hour, minute, isLower) {
            if (hour < 4) {
                return 'রাত';
            } else if (hour < 10) {
                return 'সকাল';
            } else if (hour < 17) {
                return 'দুপুর';
            } else if (hour < 20) {
                return 'বিকাল';
            } else {
                return 'রাত';
            }
        },
        week: {
            dow: 0, // Sunday is the first day of the week.
            doy: 6  // The week that contains Jan 6th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    var symbolMap$4 = {
        '1': '༡',
        '2': '༢',
        '3': '༣',
        '4': '༤',
        '5': '༥',
        '6': '༦',
        '7': '༧',
        '8': '༨',
        '9': '༩',
        '0': '༠'
    },
        numberMap$3 = {
            '༡': '1',
            '༢': '2',
            '༣': '3',
            '༤': '4',
            '༥': '5',
            '༦': '6',
            '༧': '7',
            '༨': '8',
            '༩': '9',
            '༠': '0'
        };

    hooks.defineLocale('bo', {
        months: 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'),
        monthsShort: 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'),
        weekdays: 'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split('_'),
        weekdaysShort: 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'),
        weekdaysMin: 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'),
        longDateFormat: {
            LT: 'A h:mm',
            LTS: 'A h:mm:ss',
            L: 'DD/MM/YYYY',
            LL: 'D MMMM YYYY',
            LLL: 'D MMMM YYYY, A h:mm',
            LLLL: 'dddd, D MMMM YYYY, A h:mm'
        },
        calendar: {
            sameDay: '[དི་རིང] LT',
            nextDay: '[སང་ཉིན] LT',
            nextWeek: '[བདུན་ཕྲག་རྗེས་མ], LT',
            lastDay: '[ཁ་སང] LT',
            lastWeek: '[བདུན་ཕྲག་མཐའ་མ] dddd, LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: '%s ལ་',
            past: '%s སྔན་ལ',
            s: 'ལམ་སང',
            ss: '%d སྐར་ཆ།',
            m: 'སྐར་མ་གཅིག',
            mm: '%d སྐར་མ',
            h: 'ཆུ་ཚོད་གཅིག',
            hh: '%d ཆུ་ཚོད',
            d: 'ཉིན་གཅིག',
            dd: '%d ཉིན་',
            M: 'ཟླ་བ་གཅིག',
            MM: '%d ཟླ་བ',
            y: 'ལོ་གཅིག',
            yy: '%d ལོ'
        },
        preparse: function (string) {
            return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) {
                return numberMap$3[match];
            });
        },
        postformat: function (string) {
            return string.replace(/\d/g, function (match) {
                return symbolMap$4[match];
            });
        },
        meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,
        meridiemHour: function (hour, meridiem) {
            if (hour === 12) {
                hour = 0;
            }
            if ((meridiem === 'མཚན་མོ' && hour >= 4) ||
                (meridiem === 'ཉིན་གུང' && hour < 5) ||
                meridiem === 'དགོང་དག') {
                return hour + 12;
            } else {
                return hour;
            }
        },
        meridiem: function (hour, minute, isLower) {
            if (hour < 4) {
                return 'མཚན་མོ';
            } else if (hour < 10) {
                return 'ཞོགས་ཀས';
            } else if (hour < 17) {
                return 'ཉིན་གུང';
            } else if (hour < 20) {
                return 'དགོང་དག';
            } else {
                return 'མཚན་མོ';
            }
        },
        week: {
            dow: 0, // Sunday is the first day of the week.
            doy: 6  // The week that contains Jan 6th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    function relativeTimeWithMutation(number, withoutSuffix, key) {
        var format = {
            'mm': 'munutenn',
            'MM': 'miz',
            'dd': 'devezh'
        };
        return number + ' ' + mutation(format[key], number);
    }
    function specialMutationForYears(number) {
        switch (lastNumber(number)) {
            case 1:
            case 3:
            case 4:
            case 5:
            case 9:
                return number + ' bloaz';
            default:
                return number + ' vloaz';
        }
    }
    function lastNumber(number) {
        if (number > 9) {
            return lastNumber(number % 10);
        }
        return number;
    }
    function mutation(text, number) {
        if (number === 2) {
            return softMutation(text);
        }
        return text;
    }
    function softMutation(text) {
        var mutationTable = {
            'm': 'v',
            'b': 'v',
            'd': 'z'
        };
        if (mutationTable[text.charAt(0)] === undefined) {
            return text;
        }
        return mutationTable[text.charAt(0)] + text.substring(1);
    }

    hooks.defineLocale('br', {
        months: 'Genver_C\'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split('_'),
        monthsShort: 'Gen_C\'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'),
        weekdays: 'Sul_Lun_Meurzh_Merc\'her_Yaou_Gwener_Sadorn'.split('_'),
        weekdaysShort: 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'),
        weekdaysMin: 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'),
        weekdaysParseExact: true,
        longDateFormat: {
            LT: 'h[e]mm A',
            LTS: 'h[e]mm:ss A',
            L: 'DD/MM/YYYY',
            LL: 'D [a viz] MMMM YYYY',
            LLL: 'D [a viz] MMMM YYYY h[e]mm A',
            LLLL: 'dddd, D [a viz] MMMM YYYY h[e]mm A'
        },
        calendar: {
            sameDay: '[Hiziv da] LT',
            nextDay: '[Warc\'hoazh da] LT',
            nextWeek: 'dddd [da] LT',
            lastDay: '[Dec\'h da] LT',
            lastWeek: 'dddd [paset da] LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: 'a-benn %s',
            past: '%s \'zo',
            s: 'un nebeud segondennoù',
            ss: '%d eilenn',
            m: 'ur vunutenn',
            mm: relativeTimeWithMutation,
            h: 'un eur',
            hh: '%d eur',
            d: 'un devezh',
            dd: relativeTimeWithMutation,
            M: 'ur miz',
            MM: relativeTimeWithMutation,
            y: 'ur bloaz',
            yy: specialMutationForYears
        },
        dayOfMonthOrdinalParse: /\d{1,2}(añ|vet)/,
        ordinal: function (number) {
            var output = (number === 1) ? 'añ' : 'vet';
            return number + output;
        },
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 4  // The week that contains Jan 4th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    function translate(number, withoutSuffix, key) {
        var result = number + ' ';
        switch (key) {
            case 'ss':
                if (number === 1) {
                    result += 'sekunda';
                } else if (number === 2 || number === 3 || number === 4) {
                    result += 'sekunde';
                } else {
                    result += 'sekundi';
                }
                return result;
            case 'm':
                return withoutSuffix ? 'jedna minuta' : 'jedne minute';
            case 'mm':
                if (number === 1) {
                    result += 'minuta';
                } else if (number === 2 || number === 3 || number === 4) {
                    result += 'minute';
                } else {
                    result += 'minuta';
                }
                return result;
            case 'h':
                return withoutSuffix ? 'jedan sat' : 'jednog sata';
            case 'hh':
                if (number === 1) {
                    result += 'sat';
                } else if (number === 2 || number === 3 || number === 4) {
                    result += 'sata';
                } else {
                    result += 'sati';
                }
                return result;
            case 'dd':
                if (number === 1) {
                    result += 'dan';
                } else {
                    result += 'dana';
                }
                return result;
            case 'MM':
                if (number === 1) {
                    result += 'mjesec';
                } else if (number === 2 || number === 3 || number === 4) {
                    result += 'mjeseca';
                } else {
                    result += 'mjeseci';
                }
                return result;
            case 'yy':
                if (number === 1) {
                    result += 'godina';
                } else if (number === 2 || number === 3 || number === 4) {
                    result += 'godine';
                } else {
                    result += 'godina';
                }
                return result;
        }
    }

    hooks.defineLocale('bs', {
        months: 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split('_'),
        monthsShort: 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split('_'),
        monthsParseExact: true,
        weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),
        weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),
        weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),
        weekdaysParseExact: true,
        longDateFormat: {
            LT: 'H:mm',
            LTS: 'H:mm:ss',
            L: 'DD.MM.YYYY',
            LL: 'D. MMMM YYYY',
            LLL: 'D. MMMM YYYY H:mm',
            LLLL: 'dddd, D. MMMM YYYY H:mm'
        },
        calendar: {
            sameDay: '[danas u] LT',
            nextDay: '[sutra u] LT',
            nextWeek: function () {
                switch (this.day()) {
                    case 0:
                        return '[u] [nedjelju] [u] LT';
                    case 3:
                        return '[u] [srijedu] [u] LT';
                    case 6:
                        return '[u] [subotu] [u] LT';
                    case 1:
                    case 2:
                    case 4:
                    case 5:
                        return '[u] dddd [u] LT';
                }
            },
            lastDay: '[jučer u] LT',
            lastWeek: function () {
                switch (this.day()) {
                    case 0:
                    case 3:
                        return '[prošlu] dddd [u] LT';
                    case 6:
                        return '[prošle] [subote] [u] LT';
                    case 1:
                    case 2:
                    case 4:
                    case 5:
                        return '[prošli] dddd [u] LT';
                }
            },
            sameElse: 'L'
        },
        relativeTime: {
            future: 'za %s',
            past: 'prije %s',
            s: 'par sekundi',
            ss: translate,
            m: translate,
            mm: translate,
            h: translate,
            hh: translate,
            d: 'dan',
            dd: translate,
            M: 'mjesec',
            MM: translate,
            y: 'godinu',
            yy: translate
        },
        dayOfMonthOrdinalParse: /\d{1,2}\./,
        ordinal: '%d.',
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 7  // The week that contains Jan 7th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    hooks.defineLocale('ca', {
        months: {
            standalone: 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split('_'),
            format: 'de gener_de febrer_de març_d\'abril_de maig_de juny_de juliol_d\'agost_de setembre_d\'octubre_de novembre_de desembre'.split('_'),
            isFormat: /D[oD]?(\s)+MMMM/
        },
        monthsShort: 'gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.'.split('_'),
        monthsParseExact: true,
        weekdays: 'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split('_'),
        weekdaysShort: 'dg._dl._dt._dc._dj._dv._ds.'.split('_'),
        weekdaysMin: 'dg_dl_dt_dc_dj_dv_ds'.split('_'),
        weekdaysParseExact: true,
        longDateFormat: {
            LT: 'H:mm',
            LTS: 'H:mm:ss',
            L: 'DD/MM/YYYY',
            LL: 'D MMMM [de] YYYY',
            ll: 'D MMM YYYY',
            LLL: 'D MMMM [de] YYYY [a les] H:mm',
            lll: 'D MMM YYYY, H:mm',
            LLLL: 'dddd D MMMM [de] YYYY [a les] H:mm',
            llll: 'ddd D MMM YYYY, H:mm'
        },
        calendar: {
            sameDay: function () {
                return '[avui a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';
            },
            nextDay: function () {
                return '[demà a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';
            },
            nextWeek: function () {
                return 'dddd [a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';
            },
            lastDay: function () {
                return '[ahir a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';
            },
            lastWeek: function () {
                return '[el] dddd [passat a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';
            },
            sameElse: 'L'
        },
        relativeTime: {
            future: 'd\'aquí %s',
            past: 'fa %s',
            s: 'uns segons',
            ss: '%d segons',
            m: 'un minut',
            mm: '%d minuts',
            h: 'una hora',
            hh: '%d hores',
            d: 'un dia',
            dd: '%d dies',
            M: 'un mes',
            MM: '%d mesos',
            y: 'un any',
            yy: '%d anys'
        },
        dayOfMonthOrdinalParse: /\d{1,2}(r|n|t|è|a)/,
        ordinal: function (number, period) {
            var output = (number === 1) ? 'r' :
                (number === 2) ? 'n' :
                    (number === 3) ? 'r' :
                        (number === 4) ? 't' : 'è';
            if (period === 'w' || period === 'W') {
                output = 'a';
            }
            return number + output;
        },
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 4  // The week that contains Jan 4th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    var months$3 = 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split('_'),
        monthsShort = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_');

    var monthsParse = [/^led/i, /^úno/i, /^bře/i, /^dub/i, /^kvě/i, /^(čvn|červen$|června)/i, /^(čvc|červenec|července)/i, /^srp/i, /^zář/i, /^říj/i, /^lis/i, /^pro/i];
    // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.
    // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.
    var monthsRegex$1 = /^(leden|únor|březen|duben|květen|červenec|července|červen|června|srpen|září|říjen|listopad|prosinec|led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i;

    function plural$1(n) {
        return (n > 1) && (n < 5) && (~~(n / 10) !== 1);
    }
    function translate$1(number, withoutSuffix, key, isFuture) {
        var result = number + ' ';
        switch (key) {
            case 's':  // a few seconds / in a few seconds / a few seconds ago
                return (withoutSuffix || isFuture) ? 'pár sekund' : 'pár sekundami';
            case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago
                if (withoutSuffix || isFuture) {
                    return result + (plural$1(number) ? 'sekundy' : 'sekund');
                } else {
                    return result + 'sekundami';
                }
                break;
            case 'm':  // a minute / in a minute / a minute ago
                return withoutSuffix ? 'minuta' : (isFuture ? 'minutu' : 'minutou');
            case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago
                if (withoutSuffix || isFuture) {
                    return result + (plural$1(number) ? 'minuty' : 'minut');
                } else {
                    return result + 'minutami';
                }
                break;
            case 'h':  // an hour / in an hour / an hour ago
                return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou');
            case 'hh': // 9 hours / in 9 hours / 9 hours ago
                if (withoutSuffix || isFuture) {
                    return result + (plural$1(number) ? 'hodiny' : 'hodin');
                } else {
                    return result + 'hodinami';
                }
                break;
            case 'd':  // a day / in a day / a day ago
                return (withoutSuffix || isFuture) ? 'den' : 'dnem';
            case 'dd': // 9 days / in 9 days / 9 days ago
                if (withoutSuffix || isFuture) {
                    return result + (plural$1(number) ? 'dny' : 'dní');
                } else {
                    return result + 'dny';
                }
                break;
            case 'M':  // a month / in a month / a month ago
                return (withoutSuffix || isFuture) ? 'měsíc' : 'měsícem';
            case 'MM': // 9 months / in 9 months / 9 months ago
                if (withoutSuffix || isFuture) {
                    return result + (plural$1(number) ? 'měsíce' : 'měsíců');
                } else {
                    return result + 'měsíci';
                }
                break;
            case 'y':  // a year / in a year / a year ago
                return (withoutSuffix || isFuture) ? 'rok' : 'rokem';
            case 'yy': // 9 years / in 9 years / 9 years ago
                if (withoutSuffix || isFuture) {
                    return result + (plural$1(number) ? 'roky' : 'let');
                } else {
                    return result + 'lety';
                }
                break;
        }
    }

    hooks.defineLocale('cs', {
        months: months$3,
        monthsShort: monthsShort,
        monthsRegex: monthsRegex$1,
        monthsShortRegex: monthsRegex$1,
        // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.
        // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.
        monthsStrictRegex: /^(leden|ledna|února|únor|březen|března|duben|dubna|květen|května|červenec|července|červen|června|srpen|srpna|září|říjen|října|listopadu|listopad|prosinec|prosince)/i,
        monthsShortStrictRegex: /^(led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i,
        monthsParse: monthsParse,
        longMonthsParse: monthsParse,
        shortMonthsParse: monthsParse,
        weekdays: 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split('_'),
        weekdaysShort: 'ne_po_út_st_čt_pá_so'.split('_'),
        weekdaysMin: 'ne_po_út_st_čt_pá_so'.split('_'),
        longDateFormat: {
            LT: 'H:mm',
            LTS: 'H:mm:ss',
            L: 'DD.MM.YYYY',
            LL: 'D. MMMM YYYY',
            LLL: 'D. MMMM YYYY H:mm',
            LLLL: 'dddd D. MMMM YYYY H:mm',
            l: 'D. M. YYYY'
        },
        calendar: {
            sameDay: '[dnes v] LT',
            nextDay: '[zítra v] LT',
            nextWeek: function () {
                switch (this.day()) {
                    case 0:
                        return '[v neděli v] LT';
                    case 1:
                    case 2:
                        return '[v] dddd [v] LT';
                    case 3:
                        return '[ve středu v] LT';
                    case 4:
                        return '[ve čtvrtek v] LT';
                    case 5:
                        return '[v pátek v] LT';
                    case 6:
                        return '[v sobotu v] LT';
                }
            },
            lastDay: '[včera v] LT',
            lastWeek: function () {
                switch (this.day()) {
                    case 0:
                        return '[minulou neděli v] LT';
                    case 1:
                    case 2:
                        return '[minulé] dddd [v] LT';
                    case 3:
                        return '[minulou středu v] LT';
                    case 4:
                    case 5:
                        return '[minulý] dddd [v] LT';
                    case 6:
                        return '[minulou sobotu v] LT';
                }
            },
            sameElse: 'L'
        },
        relativeTime: {
            future: 'za %s',
            past: 'před %s',
            s: translate$1,
            ss: translate$1,
            m: translate$1,
            mm: translate$1,
            h: translate$1,
            hh: translate$1,
            d: translate$1,
            dd: translate$1,
            M: translate$1,
            MM: translate$1,
            y: translate$1,
            yy: translate$1
        },
        dayOfMonthOrdinalParse: /\d{1,2}\./,
        ordinal: '%d.',
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 4  // The week that contains Jan 4th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    hooks.defineLocale('cv', {
        months: 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split('_'),
        monthsShort: 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'),
        weekdays: 'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split('_'),
        weekdaysShort: 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'),
        weekdaysMin: 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'),
        longDateFormat: {
            LT: 'HH:mm',
            LTS: 'HH:mm:ss',
            L: 'DD-MM-YYYY',
            LL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]',
            LLL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',
            LLLL: 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm'
        },
        calendar: {
            sameDay: '[Паян] LT [сехетре]',
            nextDay: '[Ыран] LT [сехетре]',
            lastDay: '[Ӗнер] LT [сехетре]',
            nextWeek: '[Ҫитес] dddd LT [сехетре]',
            lastWeek: '[Иртнӗ] dddd LT [сехетре]',
            sameElse: 'L'
        },
        relativeTime: {
            future: function (output) {
                var affix = /сехет$/i.exec(output) ? 'рен' : /ҫул$/i.exec(output) ? 'тан' : 'ран';
                return output + affix;
            },
            past: '%s каялла',
            s: 'пӗр-ик ҫеккунт',
            ss: '%d ҫеккунт',
            m: 'пӗр минут',
            mm: '%d минут',
            h: 'пӗр сехет',
            hh: '%d сехет',
            d: 'пӗр кун',
            dd: '%d кун',
            M: 'пӗр уйӑх',
            MM: '%d уйӑх',
            y: 'пӗр ҫул',
            yy: '%d ҫул'
        },
        dayOfMonthOrdinalParse: /\d{1,2}-мӗш/,
        ordinal: '%d-мӗш',
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 7  // The week that contains Jan 7th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    hooks.defineLocale('cy', {
        months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split('_'),
        monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split('_'),
        weekdays: 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split('_'),
        weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'),
        weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'),
        weekdaysParseExact: true,
        // time formats are the same as en-gb
        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: '[Heddiw am] LT',
            nextDay: '[Yfory am] LT',
            nextWeek: 'dddd [am] LT',
            lastDay: '[Ddoe am] LT',
            lastWeek: 'dddd [diwethaf am] LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: 'mewn %s',
            past: '%s yn ôl',
            s: 'ychydig eiliadau',
            ss: '%d eiliad',
            m: 'munud',
            mm: '%d munud',
            h: 'awr',
            hh: '%d awr',
            d: 'diwrnod',
            dd: '%d diwrnod',
            M: 'mis',
            MM: '%d mis',
            y: 'blwyddyn',
            yy: '%d flynedd'
        },
        dayOfMonthOrdinalParse: /\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,
        // traditional ordinal numbers above 31 are not commonly used in colloquial Welsh
        ordinal: function (number) {
            var b = number,
                output = '',
                lookup = [
                    '', 'af', 'il', 'ydd', 'ydd', 'ed', 'ed', 'ed', 'fed', 'fed', 'fed', // 1af to 10fed
                    'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'fed' // 11eg to 20fed
                ];
            if (b > 20) {
                if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) {
                    output = 'fed'; // not 30ain, 70ain or 90ain
                } else {
                    output = 'ain';
                }
            } else if (b > 0) {
                output = lookup[b];
            }
            return number + output;
        },
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 4  // The week that contains Jan 4th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    hooks.defineLocale('da', {
        months: 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split('_'),
        monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),
        weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),
        weekdaysShort: 'søn_man_tir_ons_tor_fre_lør'.split('_'),
        weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'),
        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.] D. MMMM YYYY [kl.] HH:mm'
        },
        calendar: {
            sameDay: '[i dag kl.] LT',
            nextDay: '[i morgen kl.] LT',
            nextWeek: 'på dddd [kl.] LT',
            lastDay: '[i går kl.] LT',
            lastWeek: '[i] dddd[s kl.] LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: 'om %s',
            past: '%s siden',
            s: 'få sekunder',
            ss: '%d sekunder',
            m: 'et minut',
            mm: '%d minutter',
            h: 'en time',
            hh: '%d timer',
            d: 'en dag',
            dd: '%d dage',
            M: 'en måned',
            MM: '%d måneder',
            y: 'et år',
            yy: '%d år'
        },
        dayOfMonthOrdinalParse: /\d{1,2}\./,
        ordinal: '%d.',
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 4  // The week that contains Jan 4th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    function processRelativeTime(number, withoutSuffix, key, isFuture) {
        var format = {
            'm': ['eine Minute', 'einer Minute'],
            'h': ['eine Stunde', 'einer Stunde'],
            'd': ['ein Tag', 'einem Tag'],
            'dd': [number + ' Tage', number + ' Tagen'],
            'M': ['ein Monat', 'einem Monat'],
            'MM': [number + ' Monate', number + ' Monaten'],
            'y': ['ein Jahr', 'einem Jahr'],
            'yy': [number + ' Jahre', number + ' Jahren']
        };
        return withoutSuffix ? format[key][0] : format[key][1];
    }

    hooks.defineLocale('de-at', {
        months: 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),
        monthsShort: 'Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),
        monthsParseExact: true,
        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: true,
        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: processRelativeTime,
            mm: '%d Minuten',
            h: processRelativeTime,
            hh: '%d Stunden',
            d: processRelativeTime,
            dd: processRelativeTime,
            M: processRelativeTime,
            MM: processRelativeTime,
            y: processRelativeTime,
            yy: processRelativeTime
        },
        dayOfMonthOrdinalParse: /\d{1,2}\./,
        ordinal: '%d.',
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 4  // The week that contains Jan 4th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    function processRelativeTime$1(number, withoutSuffix, key, isFuture) {
        var format = {
            'm': ['eine Minute', 'einer Minute'],
            'h': ['eine Stunde', 'einer Stunde'],
            'd': ['ein Tag', 'einem Tag'],
            'dd': [number + ' Tage', number + ' Tagen'],
            'M': ['ein Monat', 'einem Monat'],
            'MM': [number + ' Monate', number + ' Monaten'],
            'y': ['ein Jahr', 'einem Jahr'],
            'yy': [number + ' Jahre', number + ' Jahren']
        };
        return withoutSuffix ? format[key][0] : format[key][1];
    }

    hooks.defineLocale('de-ch', {
        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: true,
        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: true,
        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: processRelativeTime$1,
            mm: '%d Minuten',
            h: processRelativeTime$1,
            hh: '%d Stunden',
            d: processRelativeTime$1,
            dd: processRelativeTime$1,
            M: processRelativeTime$1,
            MM: processRelativeTime$1,
            y: processRelativeTime$1,
            yy: processRelativeTime$1
        },
        dayOfMonthOrdinalParse: /\d{1,2}\./,
        ordinal: '%d.',
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 4  // The week that contains Jan 4th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    function processRelativeTime$2(number, withoutSuffix, key, isFuture) {
        var format = {
            'm': ['eine Minute', 'einer Minute'],
            'h': ['eine Stunde', 'einer Stunde'],
            'd': ['ein Tag', 'einem Tag'],
            'dd': [number + ' Tage', number + ' Tagen'],
            'M': ['ein Monat', 'einem Monat'],
            'MM': [number + ' Monate', number + ' Monaten'],
            'y': ['ein Jahr', 'einem Jahr'],
            'yy': [number + ' Jahre', number + ' Jahren']
        };
        return withoutSuffix ? format[key][0] : format[key][1];
    }

    hooks.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: true,
        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: true,
        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: processRelativeTime$2,
            mm: '%d Minuten',
            h: processRelativeTime$2,
            hh: '%d Stunden',
            d: processRelativeTime$2,
            dd: processRelativeTime$2,
            M: processRelativeTime$2,
            MM: processRelativeTime$2,
            y: processRelativeTime$2,
            yy: processRelativeTime$2
        },
        dayOfMonthOrdinalParse: /\d{1,2}\./,
        ordinal: '%d.',
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 4  // The week that contains Jan 4th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    var months$4 = [
        'ޖެނުއަރީ',
        'ފެބްރުއަރީ',
        'މާރިޗު',
        'އޭޕްރީލު',
        'މޭ',
        'ޖޫން',
        'ޖުލައި',
        'އޯގަސްޓު',
        'ސެޕްޓެމްބަރު',
        'އޮކްޓޯބަރު',
        'ނޮވެމްބަރު',
        'ޑިސެމްބަރު'
    ], weekdays = [
        'އާދިއްތަ',
        'ހޯމަ',
        'އަންގާރަ',
        'ބުދަ',
        'ބުރާސްފަތި',
        'ހުކުރު',
        'ހޮނިހިރު'
    ];

    hooks.defineLocale('dv', {
        months: months$4,
        monthsShort: months$4,
        weekdays: weekdays,
        weekdaysShort: weekdays,
        weekdaysMin: 'އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި'.split('_'),
        longDateFormat: {

            LT: 'HH:mm',
            LTS: 'HH:mm:ss',
            L: 'D/M/YYYY',
            LL: 'D MMMM YYYY',
            LLL: 'D MMMM YYYY HH:mm',
            LLLL: 'dddd D MMMM YYYY HH:mm'
        },
        meridiemParse: /މކ|މފ/,
        isPM: function (input) {
            return 'މފ' === input;
        },
        meridiem: function (hour, minute, isLower) {
            if (hour < 12) {
                return 'މކ';
            } else {
                return 'މފ';
            }
        },
        calendar: {
            sameDay: '[މިއަދު] LT',
            nextDay: '[މާދަމާ] LT',
            nextWeek: 'dddd LT',
            lastDay: '[އިއްޔެ] LT',
            lastWeek: '[ފާއިތުވި] dddd LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: 'ތެރޭގައި %s',
            past: 'ކުރިން %s',
            s: 'ސިކުންތުކޮޅެއް',
            ss: 'd% ސިކުންތު',
            m: 'މިނިޓެއް',
            mm: 'މިނިޓު %d',
            h: 'ގަޑިއިރެއް',
            hh: 'ގަޑިއިރު %d',
            d: 'ދުވަހެއް',
            dd: 'ދުވަސް %d',
            M: 'މަހެއް',
            MM: 'މަސް %d',
            y: 'އަހަރެއް',
            yy: 'އަހަރު %d'
        },
        preparse: function (string) {
            return string.replace(/،/g, ',');
        },
        postformat: function (string) {
            return string.replace(/,/g, '،');
        },
        week: {
            dow: 7,  // Sunday is the first day of the week.
            doy: 12  // The week that contains Jan 12th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    hooks.defineLocale('el', {
        monthsNominativeEl: 'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split('_'),
        monthsGenitiveEl: 'Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου'.split('_'),
        months: function (momentToFormat, format) {
            if (!momentToFormat) {
                return this._monthsNominativeEl;
            } else if (typeof format === 'string' && /D/.test(format.substring(0, format.indexOf('MMMM')))) { // if there is a day number before 'MMMM'
                return this._monthsGenitiveEl[momentToFormat.month()];
            } else {
                return this._monthsNominativeEl[momentToFormat.month()];
            }
        },
        monthsShort: 'Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ'.split('_'),
        weekdays: 'Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο'.split('_'),
        weekdaysShort: 'Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ'.split('_'),
        weekdaysMin: 'Κυ_Δε_Τρ_Τε_Πε_Πα_Σα'.split('_'),
        meridiem: function (hours, minutes, isLower) {
            if (hours > 11) {
                return isLower ? 'μμ' : 'ΜΜ';
            } else {
                return isLower ? 'πμ' : 'ΠΜ';
            }
        },
        isPM: function (input) {
            return ((input + '').toLowerCase()[0] === 'μ');
        },
        meridiemParse: /[ΠΜ]\.?Μ?\.?/i,
        longDateFormat: {
            LT: 'h:mm A',
            LTS: 'h:mm:ss A',
            L: 'DD/MM/YYYY',
            LL: 'D MMMM YYYY',
            LLL: 'D MMMM YYYY h:mm A',
            LLLL: 'dddd, D MMMM YYYY h:mm A'
        },
        calendarEl: {
            sameDay: '[Σήμερα {}] LT',
            nextDay: '[Αύριο {}] LT',
            nextWeek: 'dddd [{}] LT',
            lastDay: '[Χθες {}] LT',
            lastWeek: function () {
                switch (this.day()) {
                    case 6:
                        return '[το προηγούμενο] dddd [{}] LT';
                    default:
                        return '[την προηγούμενη] dddd [{}] LT';
                }
            },
            sameElse: 'L'
        },
        calendar: function (key, mom) {
            var output = this._calendarEl[key],
                hours = mom && mom.hours();
            if (isFunction(output)) {
                output = output.apply(mom);
            }
            return output.replace('{}', (hours % 12 === 1 ? 'στη' : 'στις'));
        },
        relativeTime: {
            future: 'σε %s',
            past: '%s πριν',
            s: 'λίγα δευτερόλεπτα',
            ss: '%d δευτερόλεπτα',
            m: 'ένα λεπτό',
            mm: '%d λεπτά',
            h: 'μία ώρα',
            hh: '%d ώρες',
            d: 'μία μέρα',
            dd: '%d μέρες',
            M: 'ένας μήνας',
            MM: '%d μήνες',
            y: 'ένας χρόνος',
            yy: '%d χρόνια'
        },
        dayOfMonthOrdinalParse: /\d{1,2}η/,
        ordinal: '%dη',
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 4  // The week that contains Jan 4st is the first week of the year.
        }
    });

    //! moment.js locale configuration

    hooks.defineLocale('en-SG', {
        months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
        monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
        weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
        weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
        weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
        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: '[Today at] LT',
            nextDay: '[Tomorrow at] LT',
            nextWeek: 'dddd [at] LT',
            lastDay: '[Yesterday at] LT',
            lastWeek: '[Last] dddd [at] LT',
            sameElse: 'L'
        },
        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'
        },
        dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
        ordinal: function (number) {
            var b = number % 10,
                output = (~~(number % 100 / 10) === 1) ? 'th' :
                    (b === 1) ? 'st' :
                        (b === 2) ? 'nd' :
                            (b === 3) ? 'rd' : 'th';
            return number + output;
        },
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 4  // The week that contains Jan 4th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    hooks.defineLocale('en-au', {
        months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
        monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
        weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
        weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
        weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
        longDateFormat: {
            LT: 'h:mm A',
            LTS: 'h:mm:ss A',
            L: 'DD/MM/YYYY',
            LL: 'D MMMM YYYY',
            LLL: 'D MMMM YYYY h:mm A',
            LLLL: 'dddd, D MMMM YYYY h:mm A'
        },
        calendar: {
            sameDay: '[Today at] LT',
            nextDay: '[Tomorrow at] LT',
            nextWeek: 'dddd [at] LT',
            lastDay: '[Yesterday at] LT',
            lastWeek: '[Last] dddd [at] LT',
            sameElse: 'L'
        },
        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'
        },
        dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
        ordinal: function (number) {
            var b = number % 10,
                output = (~~(number % 100 / 10) === 1) ? 'th' :
                    (b === 1) ? 'st' :
                        (b === 2) ? 'nd' :
                            (b === 3) ? 'rd' : 'th';
            return number + output;
        },
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 4  // The week that contains Jan 4th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    hooks.defineLocale('en-ca', {
        months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
        monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
        weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
        weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
        weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
        longDateFormat: {
            LT: 'h:mm A',
            LTS: 'h:mm:ss A',
            L: 'YYYY-MM-DD',
            LL: 'MMMM D, YYYY',
            LLL: 'MMMM D, YYYY h:mm A',
            LLLL: 'dddd, MMMM D, YYYY h:mm A'
        },
        calendar: {
            sameDay: '[Today at] LT',
            nextDay: '[Tomorrow at] LT',
            nextWeek: 'dddd [at] LT',
            lastDay: '[Yesterday at] LT',
            lastWeek: '[Last] dddd [at] LT',
            sameElse: 'L'
        },
        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'
        },
        dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
        ordinal: function (number) {
            var b = number % 10,
                output = (~~(number % 100 / 10) === 1) ? 'th' :
                    (b === 1) ? 'st' :
                        (b === 2) ? 'nd' :
                            (b === 3) ? 'rd' : 'th';
            return number + output;
        }
    });

    //! moment.js locale configuration

    hooks.defineLocale('en-gb', {
        months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
        monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
        weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
        weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
        weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
        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: '[Today at] LT',
            nextDay: '[Tomorrow at] LT',
            nextWeek: 'dddd [at] LT',
            lastDay: '[Yesterday at] LT',
            lastWeek: '[Last] dddd [at] LT',
            sameElse: 'L'
        },
        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'
        },
        dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
        ordinal: function (number) {
            var b = number % 10,
                output = (~~(number % 100 / 10) === 1) ? 'th' :
                    (b === 1) ? 'st' :
                        (b === 2) ? 'nd' :
                            (b === 3) ? 'rd' : 'th';
            return number + output;
        },
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 4  // The week that contains Jan 4th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    hooks.defineLocale('en-ie', {
        months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
        monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
        weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
        weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
        weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
        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: '[Today at] LT',
            nextDay: '[Tomorrow at] LT',
            nextWeek: 'dddd [at] LT',
            lastDay: '[Yesterday at] LT',
            lastWeek: '[Last] dddd [at] LT',
            sameElse: 'L'
        },
        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'
        },
        dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
        ordinal: function (number) {
            var b = number % 10,
                output = (~~(number % 100 / 10) === 1) ? 'th' :
                    (b === 1) ? 'st' :
                        (b === 2) ? 'nd' :
                            (b === 3) ? 'rd' : 'th';
            return number + output;
        },
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 4  // The week that contains Jan 4th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    hooks.defineLocale('en-il', {
        months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
        monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
        weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
        weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
        weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
        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: '[Today at] LT',
            nextDay: '[Tomorrow at] LT',
            nextWeek: 'dddd [at] LT',
            lastDay: '[Yesterday at] LT',
            lastWeek: '[Last] dddd [at] LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: 'in %s',
            past: '%s ago',
            s: 'a few 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'
        },
        dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
        ordinal: function (number) {
            var b = number % 10,
                output = (~~(number % 100 / 10) === 1) ? 'th' :
                    (b === 1) ? 'st' :
                        (b === 2) ? 'nd' :
                            (b === 3) ? 'rd' : 'th';
            return number + output;
        }
    });

    //! moment.js locale configuration

    hooks.defineLocale('en-nz', {
        months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
        monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
        weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
        weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
        weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
        longDateFormat: {
            LT: 'h:mm A',
            LTS: 'h:mm:ss A',
            L: 'DD/MM/YYYY',
            LL: 'D MMMM YYYY',
            LLL: 'D MMMM YYYY h:mm A',
            LLLL: 'dddd, D MMMM YYYY h:mm A'
        },
        calendar: {
            sameDay: '[Today at] LT',
            nextDay: '[Tomorrow at] LT',
            nextWeek: 'dddd [at] LT',
            lastDay: '[Yesterday at] LT',
            lastWeek: '[Last] dddd [at] LT',
            sameElse: 'L'
        },
        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'
        },
        dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
        ordinal: function (number) {
            var b = number % 10,
                output = (~~(number % 100 / 10) === 1) ? 'th' :
                    (b === 1) ? 'st' :
                        (b === 2) ? 'nd' :
                            (b === 3) ? 'rd' : 'th';
            return number + output;
        },
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 4  // The week that contains Jan 4th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    hooks.defineLocale('eo', {
        months: 'januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro'.split('_'),
        monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aŭg_sep_okt_nov_dec'.split('_'),
        weekdays: 'dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato'.split('_'),
        weekdaysShort: 'dim_lun_mard_merk_ĵaŭ_ven_sab'.split('_'),
        weekdaysMin: 'di_lu_ma_me_ĵa_ve_sa'.split('_'),
        longDateFormat: {
            LT: 'HH:mm',
            LTS: 'HH:mm:ss',
            L: 'YYYY-MM-DD',
            LL: 'D[-a de] MMMM, YYYY',
            LLL: 'D[-a de] MMMM, YYYY HH:mm',
            LLLL: 'dddd, [la] D[-a de] MMMM, YYYY HH:mm'
        },
        meridiemParse: /[ap]\.t\.m/i,
        isPM: function (input) {
            return input.charAt(0).toLowerCase() === 'p';
        },
        meridiem: function (hours, minutes, isLower) {
            if (hours > 11) {
                return isLower ? 'p.t.m.' : 'P.T.M.';
            } else {
                return isLower ? 'a.t.m.' : 'A.T.M.';
            }
        },
        calendar: {
            sameDay: '[Hodiaŭ je] LT',
            nextDay: '[Morgaŭ je] LT',
            nextWeek: 'dddd [je] LT',
            lastDay: '[Hieraŭ je] LT',
            lastWeek: '[pasinta] dddd [je] LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: 'post %s',
            past: 'antaŭ %s',
            s: 'sekundoj',
            ss: '%d sekundoj',
            m: 'minuto',
            mm: '%d minutoj',
            h: 'horo',
            hh: '%d horoj',
            d: 'tago',//ne 'diurno', ĉar estas uzita por proksimumo
            dd: '%d tagoj',
            M: 'monato',
            MM: '%d monatoj',
            y: 'jaro',
            yy: '%d jaroj'
        },
        dayOfMonthOrdinalParse: /\d{1,2}a/,
        ordinal: '%da',
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 7  // The week that contains Jan 7th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),
        monthsShort$1 = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');

    var monthsParse$1 = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i];
    var monthsRegex$2 = /^(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;

    hooks.defineLocale('es-do', {
        months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),
        monthsShort: function (m, format) {
            if (!m) {
                return monthsShortDot;
            } else if (/-MMM-/.test(format)) {
                return monthsShort$1[m.month()];
            } else {
                return monthsShortDot[m.month()];
            }
        },
        monthsRegex: monthsRegex$2,
        monthsShortRegex: monthsRegex$2,
        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: monthsParse$1,
        longMonthsParse: monthsParse$1,
        shortMonthsParse: monthsParse$1,
        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: true,
        longDateFormat: {
            LT: 'h:mm A',
            LTS: 'h:mm:ss A',
            L: 'DD/MM/YYYY',
            LL: 'D [de] MMMM [de] YYYY',
            LLL: 'D [de] MMMM [de] YYYY h:mm A',
            LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A'
        },
        calendar: {
            sameDay: function () {
                return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
            },
            nextDay: function () {
                return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
            },
            nextWeek: function () {
                return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
            },
            lastDay: function () {
                return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
            },
            lastWeek: function () {
                return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? '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: '%d 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, // Monday is the first day of the week.
            doy: 4  // The week that contains Jan 4th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    var monthsShortDot$1 = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),
        monthsShort$2 = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');

    var monthsParse$2 = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i];
    var monthsRegex$3 = /^(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;

    hooks.defineLocale('es-us', {
        months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),
        monthsShort: function (m, format) {
            if (!m) {
                return monthsShortDot$1;
            } else if (/-MMM-/.test(format)) {
                return monthsShort$2[m.month()];
            } else {
                return monthsShortDot$1[m.month()];
            }
        },
        monthsRegex: monthsRegex$3,
        monthsShortRegex: monthsRegex$3,
        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: monthsParse$2,
        longMonthsParse: monthsParse$2,
        shortMonthsParse: monthsParse$2,
        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: true,
        longDateFormat: {
            LT: 'h:mm A',
            LTS: 'h:mm:ss A',
            L: 'MM/DD/YYYY',
            LL: 'D [de] MMMM [de] YYYY',
            LLL: 'D [de] MMMM [de] YYYY h:mm A',
            LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A'
        },
        calendar: {
            sameDay: function () {
                return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
            },
            nextDay: function () {
                return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
            },
            nextWeek: function () {
                return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
            },
            lastDay: function () {
                return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
            },
            lastWeek: function () {
                return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? '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: '%d 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: 0, // Sunday is the first day of the week.
            doy: 6  // The week that contains Jan 6th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    var monthsShortDot$2 = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),
        monthsShort$3 = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');

    var monthsParse$3 = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i];
    var monthsRegex$4 = /^(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;

    hooks.defineLocale('es', {
        months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),
        monthsShort: function (m, format) {
            if (!m) {
                return monthsShortDot$2;
            } else if (/-MMM-/.test(format)) {
                return monthsShort$3[m.month()];
            } else {
                return monthsShortDot$2[m.month()];
            }
        },
        monthsRegex: monthsRegex$4,
        monthsShortRegex: monthsRegex$4,
        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: monthsParse$3,
        longMonthsParse: monthsParse$3,
        shortMonthsParse: monthsParse$3,
        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: true,
        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' + ((this.hours() !== 1) ? 's' : '') + '] LT';
            },
            nextDay: function () {
                return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
            },
            nextWeek: function () {
                return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
            },
            lastDay: function () {
                return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
            },
            lastWeek: function () {
                return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? '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: '%d 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, // Monday is the first day of the week.
            doy: 4  // The week that contains Jan 4th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    function processRelativeTime$3(number, withoutSuffix, key, isFuture) {
        var format = {
            's': ['mõne sekundi', 'mõni sekund', 'paar sekundit'],
            'ss': [number + 'sekundi', number + 'sekundit'],
            'm': ['ühe minuti', 'üks minut'],
            'mm': [number + ' minuti', number + ' minutit'],
            'h': ['ühe tunni', 'tund aega', 'üks tund'],
            'hh': [number + ' tunni', number + ' tundi'],
            'd': ['ühe päeva', 'üks päev'],
            'M': ['kuu aja', 'kuu aega', 'üks kuu'],
            'MM': [number + ' kuu', number + ' kuud'],
            'y': ['ühe aasta', 'aasta', 'üks aasta'],
            'yy': [number + ' aasta', number + ' aastat']
        };
        if (withoutSuffix) {
            return format[key][2] ? format[key][2] : format[key][1];
        }
        return isFuture ? format[key][0] : format[key][1];
    }

    hooks.defineLocale('et', {
        months: 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split('_'),
        monthsShort: 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split('_'),
        weekdays: 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split('_'),
        weekdaysShort: 'P_E_T_K_N_R_L'.split('_'),
        weekdaysMin: 'P_E_T_K_N_R_L'.split('_'),
        longDateFormat: {
            LT: 'H:mm',
            LTS: 'H:mm:ss',
            L: 'DD.MM.YYYY',
            LL: 'D. MMMM YYYY',
            LLL: 'D. MMMM YYYY H:mm',
            LLLL: 'dddd, D. MMMM YYYY H:mm'
        },
        calendar: {
            sameDay: '[Täna,] LT',
            nextDay: '[Homme,] LT',
            nextWeek: '[Järgmine] dddd LT',
            lastDay: '[Eile,] LT',
            lastWeek: '[Eelmine] dddd LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: '%s pärast',
            past: '%s tagasi',
            s: processRelativeTime$3,
            ss: processRelativeTime$3,
            m: processRelativeTime$3,
            mm: processRelativeTime$3,
            h: processRelativeTime$3,
            hh: processRelativeTime$3,
            d: processRelativeTime$3,
            dd: '%d päeva',
            M: processRelativeTime$3,
            MM: processRelativeTime$3,
            y: processRelativeTime$3,
            yy: processRelativeTime$3
        },
        dayOfMonthOrdinalParse: /\d{1,2}\./,
        ordinal: '%d.',
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 4  // The week that contains Jan 4th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    hooks.defineLocale('eu', {
        months: 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split('_'),
        monthsShort: 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split('_'),
        monthsParseExact: true,
        weekdays: 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split('_'),
        weekdaysShort: 'ig._al._ar._az._og._ol._lr.'.split('_'),
        weekdaysMin: 'ig_al_ar_az_og_ol_lr'.split('_'),
        weekdaysParseExact: true,
        longDateFormat: {
            LT: 'HH:mm',
            LTS: 'HH:mm:ss',
            L: 'YYYY-MM-DD',
            LL: 'YYYY[ko] MMMM[ren] D[a]',
            LLL: 'YYYY[ko] MMMM[ren] D[a] HH:mm',
            LLLL: 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm',
            l: 'YYYY-M-D',
            ll: 'YYYY[ko] MMM D[a]',
            lll: 'YYYY[ko] MMM D[a] HH:mm',
            llll: 'ddd, YYYY[ko] MMM D[a] HH:mm'
        },
        calendar: {
            sameDay: '[gaur] LT[etan]',
            nextDay: '[bihar] LT[etan]',
            nextWeek: 'dddd LT[etan]',
            lastDay: '[atzo] LT[etan]',
            lastWeek: '[aurreko] dddd LT[etan]',
            sameElse: 'L'
        },
        relativeTime: {
            future: '%s barru',
            past: 'duela %s',
            s: 'segundo batzuk',
            ss: '%d segundo',
            m: 'minutu bat',
            mm: '%d minutu',
            h: 'ordu bat',
            hh: '%d ordu',
            d: 'egun bat',
            dd: '%d egun',
            M: 'hilabete bat',
            MM: '%d hilabete',
            y: 'urte bat',
            yy: '%d urte'
        },
        dayOfMonthOrdinalParse: /\d{1,2}\./,
        ordinal: '%d.',
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 7  // The week that contains Jan 7th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    var symbolMap$5 = {
        '1': '۱',
        '2': '۲',
        '3': '۳',
        '4': '۴',
        '5': '۵',
        '6': '۶',
        '7': '۷',
        '8': '۸',
        '9': '۹',
        '0': '۰'
    }, numberMap$4 = {
        '۱': '1',
        '۲': '2',
        '۳': '3',
        '۴': '4',
        '۵': '5',
        '۶': '6',
        '۷': '7',
        '۸': '8',
        '۹': '9',
        '۰': '0'
    };

    hooks.defineLocale('fa', {
        months: 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'),
        monthsShort: 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'),
        weekdays: 'یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه'.split('_'),
        weekdaysShort: 'یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه'.split('_'),
        weekdaysMin: 'ی_د_س_چ_پ_ج_ش'.split('_'),
        weekdaysParseExact: true,
        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'
        },
        meridiemParse: /قبل از ظهر|بعد از ظهر/,
        isPM: function (input) {
            return /بعد از ظهر/.test(input);
        },
        meridiem: function (hour, minute, isLower) {
            if (hour < 12) {
                return 'قبل از ظهر';
            } else {
                return 'بعد از ظهر';
            }
        },
        calendar: {
            sameDay: '[امروز ساعت] LT',
            nextDay: '[فردا ساعت] LT',
            nextWeek: 'dddd [ساعت] LT',
            lastDay: '[دیروز ساعت] LT',
            lastWeek: 'dddd [پیش] [ساعت] LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: 'در %s',
            past: '%s پیش',
            s: 'چند ثانیه',
            ss: 'ثانیه d%',
            m: 'یک دقیقه',
            mm: '%d دقیقه',
            h: 'یک ساعت',
            hh: '%d ساعت',
            d: 'یک روز',
            dd: '%d روز',
            M: 'یک ماه',
            MM: '%d ماه',
            y: 'یک سال',
            yy: '%d سال'
        },
        preparse: function (string) {
            return string.replace(/[۰-۹]/g, function (match) {
                return numberMap$4[match];
            }).replace(/،/g, ',');
        },
        postformat: function (string) {
            return string.replace(/\d/g, function (match) {
                return symbolMap$5[match];
            }).replace(/,/g, '،');
        },
        dayOfMonthOrdinalParse: /\d{1,2}م/,
        ordinal: '%dم',
        week: {
            dow: 6, // Saturday is the first day of the week.
            doy: 12 // The week that contains Jan 12th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    var numbersPast = 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(' '),
        numbersFuture = [
            'nolla', 'yhden', 'kahden', 'kolmen', 'neljän', 'viiden', 'kuuden',
            numbersPast[7], numbersPast[8], numbersPast[9]
        ];
    function translate$2(number, withoutSuffix, key, isFuture) {
        var result = '';
        switch (key) {
            case 's':
                return isFuture ? 'muutaman sekunnin' : 'muutama sekunti';
            case 'ss':
                return isFuture ? 'sekunnin' : 'sekuntia';
            case 'm':
                return isFuture ? 'minuutin' : 'minuutti';
            case 'mm':
                result = isFuture ? 'minuutin' : 'minuuttia';
                break;
            case 'h':
                return isFuture ? 'tunnin' : 'tunti';
            case 'hh':
                result = isFuture ? 'tunnin' : 'tuntia';
                break;
            case 'd':
                return isFuture ? 'päivän' : 'päivä';
            case 'dd':
                result = isFuture ? 'päivän' : 'päivää';
                break;
            case 'M':
                return isFuture ? 'kuukauden' : 'kuukausi';
            case 'MM':
                result = isFuture ? 'kuukauden' : 'kuukautta';
                break;
            case 'y':
                return isFuture ? 'vuoden' : 'vuosi';
            case 'yy':
                result = isFuture ? 'vuoden' : 'vuotta';
                break;
        }
        result = verbalNumber(number, isFuture) + ' ' + result;
        return result;
    }
    function verbalNumber(number, isFuture) {
        return number < 10 ? (isFuture ? numbersFuture[number] : numbersPast[number]) : number;
    }

    hooks.defineLocale('fi', {
        months: 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split('_'),
        monthsShort: 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split('_'),
        weekdays: 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split('_'),
        weekdaysShort: 'su_ma_ti_ke_to_pe_la'.split('_'),
        weekdaysMin: 'su_ma_ti_ke_to_pe_la'.split('_'),
        longDateFormat: {
            LT: 'HH.mm',
            LTS: 'HH.mm.ss',
            L: 'DD.MM.YYYY',
            LL: 'Do MMMM[ta] YYYY',
            LLL: 'Do MMMM[ta] YYYY, [klo] HH.mm',
            LLLL: 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm',
            l: 'D.M.YYYY',
            ll: 'Do MMM YYYY',
            lll: 'Do MMM YYYY, [klo] HH.mm',
            llll: 'ddd, Do MMM YYYY, [klo] HH.mm'
        },
        calendar: {
            sameDay: '[tänään] [klo] LT',
            nextDay: '[huomenna] [klo] LT',
            nextWeek: 'dddd [klo] LT',
            lastDay: '[eilen] [klo] LT',
            lastWeek: '[viime] dddd[na] [klo] LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: '%s päästä',
            past: '%s sitten',
            s: translate$2,
            ss: translate$2,
            m: translate$2,
            mm: translate$2,
            h: translate$2,
            hh: translate$2,
            d: translate$2,
            dd: translate$2,
            M: translate$2,
            MM: translate$2,
            y: translate$2,
            yy: translate$2
        },
        dayOfMonthOrdinalParse: /\d{1,2}\./,
        ordinal: '%d.',
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 4  // The week that contains Jan 4th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    hooks.defineLocale('fo', {
        months: 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split('_'),
        monthsShort: 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),
        weekdays: 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split('_'),
        weekdaysShort: 'sun_mán_týs_mik_hós_frí_ley'.split('_'),
        weekdaysMin: 'su_má_tý_mi_hó_fr_le'.split('_'),
        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: '[Í dag kl.] LT',
            nextDay: '[Í morgin kl.] LT',
            nextWeek: 'dddd [kl.] LT',
            lastDay: '[Í gjár kl.] LT',
            lastWeek: '[síðstu] dddd [kl] LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: 'um %s',
            past: '%s síðani',
            s: 'fá sekund',
            ss: '%d sekundir',
            m: 'ein minuttur',
            mm: '%d minuttir',
            h: 'ein tími',
            hh: '%d tímar',
            d: 'ein dagur',
            dd: '%d dagar',
            M: 'ein mánaður',
            MM: '%d mánaðir',
            y: 'eitt ár',
            yy: '%d ár'
        },
        dayOfMonthOrdinalParse: /\d{1,2}\./,
        ordinal: '%d.',
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 4  // The week that contains Jan 4th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    hooks.defineLocale('fr-ca', {
        months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),
        monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),
        monthsParseExact: true,
        weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),
        weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),
        weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),
        weekdaysParseExact: true,
        longDateFormat: {
            LT: 'HH:mm',
            LTS: 'HH:mm:ss',
            L: 'YYYY-MM-DD',
            LL: 'D MMMM YYYY',
            LLL: 'D MMMM YYYY HH:mm',
            LLLL: 'dddd D MMMM YYYY HH:mm'
        },
        calendar: {
            sameDay: '[Aujourd’hui à] LT',
            nextDay: '[Demain à] LT',
            nextWeek: 'dddd [à] LT',
            lastDay: '[Hier à] LT',
            lastWeek: 'dddd [dernier à] LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: 'dans %s',
            past: 'il y a %s',
            s: 'quelques secondes',
            ss: '%d secondes',
            m: 'une minute',
            mm: '%d minutes',
            h: 'une heure',
            hh: '%d heures',
            d: 'un jour',
            dd: '%d jours',
            M: 'un mois',
            MM: '%d mois',
            y: 'un an',
            yy: '%d ans'
        },
        dayOfMonthOrdinalParse: /\d{1,2}(er|e)/,
        ordinal: function (number, period) {
            switch (period) {
                // Words with masculine grammatical gender: mois, trimestre, jour
                default:
                case 'M':
                case 'Q':
                case 'D':
                case 'DDD':
                case 'd':
                    return number + (number === 1 ? 'er' : 'e');

                // Words with feminine grammatical gender: semaine
                case 'w':
                case 'W':
                    return number + (number === 1 ? 're' : 'e');
            }
        }
    });

    //! moment.js locale configuration

    hooks.defineLocale('fr-ch', {
        months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),
        monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),
        monthsParseExact: true,
        weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),
        weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),
        weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),
        weekdaysParseExact: true,
        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: '[Aujourd’hui à] LT',
            nextDay: '[Demain à] LT',
            nextWeek: 'dddd [à] LT',
            lastDay: '[Hier à] LT',
            lastWeek: 'dddd [dernier à] LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: 'dans %s',
            past: 'il y a %s',
            s: 'quelques secondes',
            ss: '%d secondes',
            m: 'une minute',
            mm: '%d minutes',
            h: 'une heure',
            hh: '%d heures',
            d: 'un jour',
            dd: '%d jours',
            M: 'un mois',
            MM: '%d mois',
            y: 'un an',
            yy: '%d ans'
        },
        dayOfMonthOrdinalParse: /\d{1,2}(er|e)/,
        ordinal: function (number, period) {
            switch (period) {
                // Words with masculine grammatical gender: mois, trimestre, jour
                default:
                case 'M':
                case 'Q':
                case 'D':
                case 'DDD':
                case 'd':
                    return number + (number === 1 ? 'er' : 'e');

                // Words with feminine grammatical gender: semaine
                case 'w':
                case 'W':
                    return number + (number === 1 ? 're' : 'e');
            }
        },
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 4  // The week that contains Jan 4th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    hooks.defineLocale('fr', {
        months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),
        monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),
        monthsParseExact: true,
        weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),
        weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),
        weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),
        weekdaysParseExact: true,
        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: '[Aujourd’hui à] LT',
            nextDay: '[Demain à] LT',
            nextWeek: 'dddd [à] LT',
            lastDay: '[Hier à] LT',
            lastWeek: 'dddd [dernier à] LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: 'dans %s',
            past: 'il y a %s',
            s: 'quelques secondes',
            ss: '%d secondes',
            m: 'une minute',
            mm: '%d minutes',
            h: 'une heure',
            hh: '%d heures',
            d: 'un jour',
            dd: '%d jours',
            M: 'un mois',
            MM: '%d mois',
            y: 'un an',
            yy: '%d ans'
        },
        dayOfMonthOrdinalParse: /\d{1,2}(er|)/,
        ordinal: function (number, period) {
            switch (period) {
                // TODO: Return 'e' when day of month > 1. Move this case inside
                // block for masculine words below.
                // See https://github.com/moment/moment/issues/3375
                case 'D':
                    return number + (number === 1 ? 'er' : '');

                // Words with masculine grammatical gender: mois, trimestre, jour
                default:
                case 'M':
                case 'Q':
                case 'DDD':
                case 'd':
                    return number + (number === 1 ? 'er' : 'e');

                // Words with feminine grammatical gender: semaine
                case 'w':
                case 'W':
                    return number + (number === 1 ? 're' : 'e');
            }
        },
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 4  // The week that contains Jan 4th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    var monthsShortWithDots = 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split('_'),
        monthsShortWithoutDots = 'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_');

    hooks.defineLocale('fy', {
        months: 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split('_'),
        monthsShort: function (m, format) {
            if (!m) {
                return monthsShortWithDots;
            } else if (/-MMM-/.test(format)) {
                return monthsShortWithoutDots[m.month()];
            } else {
                return monthsShortWithDots[m.month()];
            }
        },
        monthsParseExact: true,
        weekdays: 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split('_'),
        weekdaysShort: 'si._mo._ti._wo._to._fr._so.'.split('_'),
        weekdaysMin: 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'),
        weekdaysParseExact: true,
        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: '[hjoed om] LT',
            nextDay: '[moarn om] LT',
            nextWeek: 'dddd [om] LT',
            lastDay: '[juster om] LT',
            lastWeek: '[ôfrûne] dddd [om] LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: 'oer %s',
            past: '%s lyn',
            s: 'in pear sekonden',
            ss: '%d sekonden',
            m: 'ien minút',
            mm: '%d minuten',
            h: 'ien oere',
            hh: '%d oeren',
            d: 'ien dei',
            dd: '%d dagen',
            M: 'ien moanne',
            MM: '%d moannen',
            y: 'ien jier',
            yy: '%d jierren'
        },
        dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/,
        ordinal: function (number) {
            return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');
        },
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 4  // The week that contains Jan 4th is the first week of the year.
        }
    });

    //! moment.js locale configuration


    var months$5 = [
        'Eanáir', 'Feabhra', 'Márta', 'Aibreán', 'Bealtaine', 'Méitheamh', 'Iúil', 'Lúnasa', 'Meán Fómhair', 'Deaireadh Fómhair', 'Samhain', 'Nollaig'
    ];

    var monthsShort$4 = ['Eaná', 'Feab', 'Márt', 'Aibr', 'Beal', 'Méit', 'Iúil', 'Lúna', 'Meán', 'Deai', 'Samh', 'Noll'];

    var weekdays$1 = ['Dé Domhnaigh', 'Dé Luain', 'Dé Máirt', 'Dé Céadaoin', 'Déardaoin', 'Dé hAoine', 'Dé Satharn'];

    var weekdaysShort = ['Dom', 'Lua', 'Mái', 'Céa', 'Déa', 'hAo', 'Sat'];

    var weekdaysMin = ['Do', 'Lu', 'Má', 'Ce', 'Dé', 'hA', 'Sa'];

    hooks.defineLocale('ga', {
        months: months$5,
        monthsShort: monthsShort$4,
        monthsParseExact: true,
        weekdays: weekdays$1,
        weekdaysShort: weekdaysShort,
        weekdaysMin: weekdaysMin,
        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: '[Inniu ag] LT',
            nextDay: '[Amárach ag] LT',
            nextWeek: 'dddd [ag] LT',
            lastDay: '[Inné aig] LT',
            lastWeek: 'dddd [seo caite] [ag] LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: 'i %s',
            past: '%s ó shin',
            s: 'cúpla soicind',
            ss: '%d soicind',
            m: 'nóiméad',
            mm: '%d nóiméad',
            h: 'uair an chloig',
            hh: '%d uair an chloig',
            d: 'lá',
            dd: '%d lá',
            M: 'mí',
            MM: '%d mí',
            y: 'bliain',
            yy: '%d bliain'
        },
        dayOfMonthOrdinalParse: /\d{1,2}(d|na|mh)/,
        ordinal: function (number) {
            var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';
            return number + output;
        },
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 4  // The week that contains Jan 4th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    var months$6 = [
        'Am Faoilleach', 'An Gearran', 'Am Màrt', 'An Giblean', 'An Cèitean', 'An t-Ògmhios', 'An t-Iuchar', 'An Lùnastal', 'An t-Sultain', 'An Dàmhair', 'An t-Samhain', 'An Dùbhlachd'
    ];

    var monthsShort$5 = ['Faoi', 'Gear', 'Màrt', 'Gibl', 'Cèit', 'Ògmh', 'Iuch', 'Lùn', 'Sult', 'Dàmh', 'Samh', 'Dùbh'];

    var weekdays$2 = ['Didòmhnaich', 'Diluain', 'Dimàirt', 'Diciadain', 'Diardaoin', 'Dihaoine', 'Disathairne'];

    var weekdaysShort$1 = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'];

    var weekdaysMin$1 = ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa'];

    hooks.defineLocale('gd', {
        months: months$6,
        monthsShort: monthsShort$5,
        monthsParseExact: true,
        weekdays: weekdays$2,
        weekdaysShort: weekdaysShort$1,
        weekdaysMin: weekdaysMin$1,
        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: '[An-diugh aig] LT',
            nextDay: '[A-màireach aig] LT',
            nextWeek: 'dddd [aig] LT',
            lastDay: '[An-dè aig] LT',
            lastWeek: 'dddd [seo chaidh] [aig] LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: 'ann an %s',
            past: 'bho chionn %s',
            s: 'beagan diogan',
            ss: '%d diogan',
            m: 'mionaid',
            mm: '%d mionaidean',
            h: 'uair',
            hh: '%d uairean',
            d: 'latha',
            dd: '%d latha',
            M: 'mìos',
            MM: '%d mìosan',
            y: 'bliadhna',
            yy: '%d bliadhna'
        },
        dayOfMonthOrdinalParse: /\d{1,2}(d|na|mh)/,
        ordinal: function (number) {
            var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';
            return number + output;
        },
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 4  // The week that contains Jan 4th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    hooks.defineLocale('gl', {
        months: 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split('_'),
        monthsShort: 'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split('_'),
        monthsParseExact: true,
        weekdays: 'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'),
        weekdaysShort: 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'),
        weekdaysMin: 'do_lu_ma_mé_xo_ve_sá'.split('_'),
        weekdaysParseExact: true,
        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 '[hoxe ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT';
            },
            nextDay: function () {
                return '[mañá ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT';
            },
            nextWeek: function () {
                return 'dddd [' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT';
            },
            lastDay: function () {
                return '[onte ' + ((this.hours() !== 1) ? 'á' : 'a') + '] LT';
            },
            lastWeek: function () {
                return '[o] dddd [pasado ' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT';
            },
            sameElse: 'L'
        },
        relativeTime: {
            future: function (str) {
                if (str.indexOf('un') === 0) {
                    return 'n' + str;
                }
                return 'en ' + str;
            },
            past: 'hai %s',
            s: 'uns segundos',
            ss: '%d segundos',
            m: 'un minuto',
            mm: '%d minutos',
            h: 'unha hora',
            hh: '%d horas',
            d: 'un día',
            dd: '%d días',
            M: 'un mes',
            MM: '%d meses',
            y: 'un ano',
            yy: '%d anos'
        },
        dayOfMonthOrdinalParse: /\d{1,2}º/,
        ordinal: '%dº',
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 4  // The week that contains Jan 4th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    function processRelativeTime$4(number, withoutSuffix, key, isFuture) {
        var format = {
            's': ['thodde secondanim', 'thodde second'],
            'ss': [number + ' secondanim', number + ' second'],
            'm': ['eka mintan', 'ek minute'],
            'mm': [number + ' mintanim', number + ' mintam'],
            'h': ['eka voran', 'ek vor'],
            'hh': [number + ' voranim', number + ' voram'],
            'd': ['eka disan', 'ek dis'],
            'dd': [number + ' disanim', number + ' dis'],
            'M': ['eka mhoinean', 'ek mhoino'],
            'MM': [number + ' mhoineanim', number + ' mhoine'],
            'y': ['eka vorsan', 'ek voros'],
            'yy': [number + ' vorsanim', number + ' vorsam']
        };
        return withoutSuffix ? format[key][0] : format[key][1];
    }

    hooks.defineLocale('gom-latn', {
        months: 'Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr'.split('_'),
        monthsShort: 'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split('_'),
        monthsParseExact: true,
        weekdays: 'Aitar_Somar_Mongllar_Budvar_Brestar_Sukrar_Son\'var'.split('_'),
        weekdaysShort: 'Ait._Som._Mon._Bud._Bre._Suk._Son.'.split('_'),
        weekdaysMin: 'Ai_Sm_Mo_Bu_Br_Su_Sn'.split('_'),
        weekdaysParseExact: true,
        longDateFormat: {
            LT: 'A h:mm [vazta]',
            LTS: 'A h:mm:ss [vazta]',
            L: 'DD-MM-YYYY',
            LL: 'D MMMM YYYY',
            LLL: 'D MMMM YYYY A h:mm [vazta]',
            LLLL: 'dddd, MMMM[achea] Do, YYYY, A h:mm [vazta]',
            llll: 'ddd, D MMM YYYY, A h:mm [vazta]'
        },
        calendar: {
            sameDay: '[Aiz] LT',
            nextDay: '[Faleam] LT',
            nextWeek: '[Ieta to] dddd[,] LT',
            lastDay: '[Kal] LT',
            lastWeek: '[Fatlo] dddd[,] LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: '%s',
            past: '%s adim',
            s: processRelativeTime$4,
            ss: processRelativeTime$4,
            m: processRelativeTime$4,
            mm: processRelativeTime$4,
            h: processRelativeTime$4,
            hh: processRelativeTime$4,
            d: processRelativeTime$4,
            dd: processRelativeTime$4,
            M: processRelativeTime$4,
            MM: processRelativeTime$4,
            y: processRelativeTime$4,
            yy: processRelativeTime$4
        },
        dayOfMonthOrdinalParse: /\d{1,2}(er)/,
        ordinal: function (number, period) {
            switch (period) {
                // the ordinal 'er' only applies to day of the month
                case 'D':
                    return number + 'er';
                default:
                case 'M':
                case 'Q':
                case 'DDD':
                case 'd':
                case 'w':
                case 'W':
                    return number;
            }
        },
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 4  // The week that contains Jan 4th is the first week of the year.
        },
        meridiemParse: /rati|sokalli|donparam|sanje/,
        meridiemHour: function (hour, meridiem) {
            if (hour === 12) {
                hour = 0;
            }
            if (meridiem === 'rati') {
                return hour < 4 ? hour : hour + 12;
            } else if (meridiem === 'sokalli') {
                return hour;
            } else if (meridiem === 'donparam') {
                return hour > 12 ? hour : hour + 12;
            } else if (meridiem === 'sanje') {
                return hour + 12;
            }
        },
        meridiem: function (hour, minute, isLower) {
            if (hour < 4) {
                return 'rati';
            } else if (hour < 12) {
                return 'sokalli';
            } else if (hour < 16) {
                return 'donparam';
            } else if (hour < 20) {
                return 'sanje';
            } else {
                return 'rati';
            }
        }
    });

    //! moment.js locale configuration

    var symbolMap$6 = {
        '1': '૧',
        '2': '૨',
        '3': '૩',
        '4': '૪',
        '5': '૫',
        '6': '૬',
        '7': '૭',
        '8': '૮',
        '9': '૯',
        '0': '૦'
    },
        numberMap$5 = {
            '૧': '1',
            '૨': '2',
            '૩': '3',
            '૪': '4',
            '૫': '5',
            '૬': '6',
            '૭': '7',
            '૮': '8',
            '૯': '9',
            '૦': '0'
        };

    hooks.defineLocale('gu', {
        months: 'જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર'.split('_'),
        monthsShort: 'જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.'.split('_'),
        monthsParseExact: true,
        weekdays: 'રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર'.split('_'),
        weekdaysShort: 'રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ'.split('_'),
        weekdaysMin: 'ર_સો_મં_બુ_ગુ_શુ_શ'.split('_'),
        longDateFormat: {
            LT: 'A h:mm વાગ્યે',
            LTS: 'A h:mm:ss વાગ્યે',
            L: 'DD/MM/YYYY',
            LL: 'D MMMM YYYY',
            LLL: 'D MMMM YYYY, A h:mm વાગ્યે',
            LLLL: 'dddd, D MMMM YYYY, A h:mm વાગ્યે'
        },
        calendar: {
            sameDay: '[આજ] LT',
            nextDay: '[કાલે] LT',
            nextWeek: 'dddd, LT',
            lastDay: '[ગઇકાલે] LT',
            lastWeek: '[પાછલા] dddd, LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: '%s મા',
            past: '%s પેહલા',
            s: 'અમુક પળો',
            ss: '%d સેકંડ',
            m: 'એક મિનિટ',
            mm: '%d મિનિટ',
            h: 'એક કલાક',
            hh: '%d કલાક',
            d: 'એક દિવસ',
            dd: '%d દિવસ',
            M: 'એક મહિનો',
            MM: '%d મહિનો',
            y: 'એક વર્ષ',
            yy: '%d વર્ષ'
        },
        preparse: function (string) {
            return string.replace(/[૧૨૩૪૫૬૭૮૯૦]/g, function (match) {
                return numberMap$5[match];
            });
        },
        postformat: function (string) {
            return string.replace(/\d/g, function (match) {
                return symbolMap$6[match];
            });
        },
        // Gujarati notation for meridiems are quite fuzzy in practice. While there exists
        // a rigid notion of a 'Pahar' it is not used as rigidly in modern Gujarati.
        meridiemParse: /રાત|બપોર|સવાર|સાંજ/,
        meridiemHour: function (hour, meridiem) {
            if (hour === 12) {
                hour = 0;
            }
            if (meridiem === 'રાત') {
                return hour < 4 ? hour : hour + 12;
            } else if (meridiem === 'સવાર') {
                return hour;
            } else if (meridiem === 'બપોર') {
                return hour >= 10 ? hour : hour + 12;
            } else if (meridiem === 'સાંજ') {
                return hour + 12;
            }
        },
        meridiem: function (hour, minute, isLower) {
            if (hour < 4) {
                return 'રાત';
            } else if (hour < 10) {
                return 'સવાર';
            } else if (hour < 17) {
                return 'બપોર';
            } else if (hour < 20) {
                return 'સાંજ';
            } else {
                return 'રાત';
            }
        },
        week: {
            dow: 0, // Sunday is the first day of the week.
            doy: 6 // The week that contains Jan 6th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    hooks.defineLocale('he', {
        months: 'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split('_'),
        monthsShort: 'ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳'.split('_'),
        weekdays: 'ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת'.split('_'),
        weekdaysShort: 'א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳'.split('_'),
        weekdaysMin: 'א_ב_ג_ד_ה_ו_ש'.split('_'),
        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',
            l: 'D/M/YYYY',
            ll: 'D MMM YYYY',
            lll: 'D MMM YYYY HH:mm',
            llll: 'ddd, D MMM YYYY HH:mm'
        },
        calendar: {
            sameDay: '[היום ב־]LT',
            nextDay: '[מחר ב־]LT',
            nextWeek: 'dddd [בשעה] LT',
            lastDay: '[אתמול ב־]LT',
            lastWeek: '[ביום] dddd [האחרון בשעה] LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: 'בעוד %s',
            past: 'לפני %s',
            s: 'מספר שניות',
            ss: '%d שניות',
            m: 'דקה',
            mm: '%d דקות',
            h: 'שעה',
            hh: function (number) {
                if (number === 2) {
                    return 'שעתיים';
                }
                return number + ' שעות';
            },
            d: 'יום',
            dd: function (number) {
                if (number === 2) {
                    return 'יומיים';
                }
                return number + ' ימים';
            },
            M: 'חודש',
            MM: function (number) {
                if (number === 2) {
                    return 'חודשיים';
                }
                return number + ' חודשים';
            },
            y: 'שנה',
            yy: function (number) {
                if (number === 2) {
                    return 'שנתיים';
                } else if (number % 10 === 0 && number !== 10) {
                    return number + ' שנה';
                }
                return number + ' שנים';
            }
        },
        meridiemParse: /אחה"צ|לפנה"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,
        isPM: function (input) {
            return /^(אחה"צ|אחרי הצהריים|בערב)$/.test(input);
        },
        meridiem: function (hour, minute, isLower) {
            if (hour < 5) {
                return 'לפנות בוקר';
            } else if (hour < 10) {
                return 'בבוקר';
            } else if (hour < 12) {
                return isLower ? 'לפנה"צ' : 'לפני הצהריים';
            } else if (hour < 18) {
                return isLower ? 'אחה"צ' : 'אחרי הצהריים';
            } else {
                return 'בערב';
            }
        }
    });

    //! moment.js locale configuration

    var symbolMap$7 = {
        '1': '१',
        '2': '२',
        '3': '३',
        '4': '४',
        '5': '५',
        '6': '६',
        '7': '७',
        '8': '८',
        '9': '९',
        '0': '०'
    },
        numberMap$6 = {
            '१': '1',
            '२': '2',
            '३': '3',
            '४': '4',
            '५': '5',
            '६': '6',
            '७': '7',
            '८': '8',
            '९': '9',
            '०': '0'
        };

    hooks.defineLocale('hi', {
        months: 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split('_'),
        monthsShort: 'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split('_'),
        monthsParseExact: true,
        weekdays: 'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),
        weekdaysShort: 'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि'.split('_'),
        weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'),
        longDateFormat: {
            LT: 'A h:mm बजे',
            LTS: 'A h:mm:ss बजे',
            L: 'DD/MM/YYYY',
            LL: 'D MMMM YYYY',
            LLL: 'D MMMM YYYY, A h:mm बजे',
            LLLL: 'dddd, D MMMM YYYY, A h:mm बजे'
        },
        calendar: {
            sameDay: '[आज] LT',
            nextDay: '[कल] LT',
            nextWeek: 'dddd, LT',
            lastDay: '[कल] LT',
            lastWeek: '[पिछले] dddd, LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: '%s में',
            past: '%s पहले',
            s: 'कुछ ही क्षण',
            ss: '%d सेकंड',
            m: 'एक मिनट',
            mm: '%d मिनट',
            h: 'एक घंटा',
            hh: '%d घंटे',
            d: 'एक दिन',
            dd: '%d दिन',
            M: 'एक महीने',
            MM: '%d महीने',
            y: 'एक वर्ष',
            yy: '%d वर्ष'
        },
        preparse: function (string) {
            return string.replace(/[१२३४५६७८९०]/g, function (match) {
                return numberMap$6[match];
            });
        },
        postformat: function (string) {
            return string.replace(/\d/g, function (match) {
                return symbolMap$7[match];
            });
        },
        // Hindi notation for meridiems are quite fuzzy in practice. While there exists
        // a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi.
        meridiemParse: /रात|सुबह|दोपहर|शाम/,
        meridiemHour: function (hour, meridiem) {
            if (hour === 12) {
                hour = 0;
            }
            if (meridiem === 'रात') {
                return hour < 4 ? hour : hour + 12;
            } else if (meridiem === 'सुबह') {
                return hour;
            } else if (meridiem === 'दोपहर') {
                return hour >= 10 ? hour : hour + 12;
            } else if (meridiem === 'शाम') {
                return hour + 12;
            }
        },
        meridiem: function (hour, minute, isLower) {
            if (hour < 4) {
                return 'रात';
            } else if (hour < 10) {
                return 'सुबह';
            } else if (hour < 17) {
                return 'दोपहर';
            } else if (hour < 20) {
                return 'शाम';
            } else {
                return 'रात';
            }
        },
        week: {
            dow: 0, // Sunday is the first day of the week.
            doy: 6  // The week that contains Jan 6th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    function translate$3(number, withoutSuffix, key) {
        var result = number + ' ';
        switch (key) {
            case 'ss':
                if (number === 1) {
                    result += 'sekunda';
                } else if (number === 2 || number === 3 || number === 4) {
                    result += 'sekunde';
                } else {
                    result += 'sekundi';
                }
                return result;
            case 'm':
                return withoutSuffix ? 'jedna minuta' : 'jedne minute';
            case 'mm':
                if (number === 1) {
                    result += 'minuta';
                } else if (number === 2 || number === 3 || number === 4) {
                    result += 'minute';
                } else {
                    result += 'minuta';
                }
                return result;
            case 'h':
                return withoutSuffix ? 'jedan sat' : 'jednog sata';
            case 'hh':
                if (number === 1) {
                    result += 'sat';
                } else if (number === 2 || number === 3 || number === 4) {
                    result += 'sata';
                } else {
                    result += 'sati';
                }
                return result;
            case 'dd':
                if (number === 1) {
                    result += 'dan';
                } else {
                    result += 'dana';
                }
                return result;
            case 'MM':
                if (number === 1) {
                    result += 'mjesec';
                } else if (number === 2 || number === 3 || number === 4) {
                    result += 'mjeseca';
                } else {
                    result += 'mjeseci';
                }
                return result;
            case 'yy':
                if (number === 1) {
                    result += 'godina';
                } else if (number === 2 || number === 3 || number === 4) {
                    result += 'godine';
                } else {
                    result += 'godina';
                }
                return result;
        }
    }

    hooks.defineLocale('hr', {
        months: {
            format: 'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split('_'),
            standalone: 'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split('_')
        },
        monthsShort: 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split('_'),
        monthsParseExact: true,
        weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),
        weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),
        weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),
        weekdaysParseExact: true,
        longDateFormat: {
            LT: 'H:mm',
            LTS: 'H:mm:ss',
            L: 'DD.MM.YYYY',
            LL: 'D. MMMM YYYY',
            LLL: 'D. MMMM YYYY H:mm',
            LLLL: 'dddd, D. MMMM YYYY H:mm'
        },
        calendar: {
            sameDay: '[danas u] LT',
            nextDay: '[sutra u] LT',
            nextWeek: function () {
                switch (this.day()) {
                    case 0:
                        return '[u] [nedjelju] [u] LT';
                    case 3:
                        return '[u] [srijedu] [u] LT';
                    case 6:
                        return '[u] [subotu] [u] LT';
                    case 1:
                    case 2:
                    case 4:
                    case 5:
                        return '[u] dddd [u] LT';
                }
            },
            lastDay: '[jučer u] LT',
            lastWeek: function () {
                switch (this.day()) {
                    case 0:
                    case 3:
                        return '[prošlu] dddd [u] LT';
                    case 6:
                        return '[prošle] [subote] [u] LT';
                    case 1:
                    case 2:
                    case 4:
                    case 5:
                        return '[prošli] dddd [u] LT';
                }
            },
            sameElse: 'L'
        },
        relativeTime: {
            future: 'za %s',
            past: 'prije %s',
            s: 'par sekundi',
            ss: translate$3,
            m: translate$3,
            mm: translate$3,
            h: translate$3,
            hh: translate$3,
            d: 'dan',
            dd: translate$3,
            M: 'mjesec',
            MM: translate$3,
            y: 'godinu',
            yy: translate$3
        },
        dayOfMonthOrdinalParse: /\d{1,2}\./,
        ordinal: '%d.',
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 7  // The week that contains Jan 7th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    var weekEndings = 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split(' ');
    function translate$4(number, withoutSuffix, key, isFuture) {
        var num = number;
        switch (key) {
            case 's':
                return (isFuture || withoutSuffix) ? 'néhány másodperc' : 'néhány másodperce';
            case 'ss':
                return num + (isFuture || withoutSuffix) ? ' másodperc' : ' másodperce';
            case 'm':
                return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce');
            case 'mm':
                return num + (isFuture || withoutSuffix ? ' perc' : ' perce');
            case 'h':
                return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája');
            case 'hh':
                return num + (isFuture || withoutSuffix ? ' óra' : ' órája');
            case 'd':
                return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja');
            case 'dd':
                return num + (isFuture || withoutSuffix ? ' nap' : ' napja');
            case 'M':
                return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');
            case 'MM':
                return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');
            case 'y':
                return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve');
            case 'yy':
                return num + (isFuture || withoutSuffix ? ' év' : ' éve');
        }
        return '';
    }
    function week(isFuture) {
        return (isFuture ? '' : '[múlt] ') + '[' + weekEndings[this.day()] + '] LT[-kor]';
    }

    hooks.defineLocale('hu', {
        months: 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split('_'),
        monthsShort: 'jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec'.split('_'),
        weekdays: 'vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat'.split('_'),
        weekdaysShort: 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'),
        weekdaysMin: 'v_h_k_sze_cs_p_szo'.split('_'),
        longDateFormat: {
            LT: 'H:mm',
            LTS: 'H:mm:ss',
            L: 'YYYY.MM.DD.',
            LL: 'YYYY. MMMM D.',
            LLL: 'YYYY. MMMM D. H:mm',
            LLLL: 'YYYY. MMMM D., dddd H:mm'
        },
        meridiemParse: /de|du/i,
        isPM: function (input) {
            return input.charAt(1).toLowerCase() === 'u';
        },
        meridiem: function (hours, minutes, isLower) {
            if (hours < 12) {
                return isLower === true ? 'de' : 'DE';
            } else {
                return isLower === true ? 'du' : 'DU';
            }
        },
        calendar: {
            sameDay: '[ma] LT[-kor]',
            nextDay: '[holnap] LT[-kor]',
            nextWeek: function () {
                return week.call(this, true);
            },
            lastDay: '[tegnap] LT[-kor]',
            lastWeek: function () {
                return week.call(this, false);
            },
            sameElse: 'L'
        },
        relativeTime: {
            future: '%s múlva',
            past: '%s',
            s: translate$4,
            ss: translate$4,
            m: translate$4,
            mm: translate$4,
            h: translate$4,
            hh: translate$4,
            d: translate$4,
            dd: translate$4,
            M: translate$4,
            MM: translate$4,
            y: translate$4,
            yy: translate$4
        },
        dayOfMonthOrdinalParse: /\d{1,2}\./,
        ordinal: '%d.',
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 4  // The week that contains Jan 4th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    hooks.defineLocale('hy-am', {
        months: {
            format: 'հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի'.split('_'),
            standalone: 'հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր'.split('_')
        },
        monthsShort: 'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split('_'),
        weekdays: 'կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ'.split('_'),
        weekdaysShort: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),
        weekdaysMin: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),
        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: '[այսօր] LT',
            nextDay: '[վաղը] LT',
            lastDay: '[երեկ] LT',
            nextWeek: function () {
                return 'dddd [օրը ժամը] LT';
            },
            lastWeek: function () {
                return '[անցած] dddd [օրը ժամը] LT';
            },
            sameElse: 'L'
        },
        relativeTime: {
            future: '%s հետո',
            past: '%s առաջ',
            s: 'մի քանի վայրկյան',
            ss: '%d վայրկյան',
            m: 'րոպե',
            mm: '%d րոպե',
            h: 'ժամ',
            hh: '%d ժամ',
            d: 'օր',
            dd: '%d օր',
            M: 'ամիս',
            MM: '%d ամիս',
            y: 'տարի',
            yy: '%d տարի'
        },
        meridiemParse: /գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,
        isPM: function (input) {
            return /^(ցերեկվա|երեկոյան)$/.test(input);
        },
        meridiem: function (hour) {
            if (hour < 4) {
                return 'գիշերվա';
            } else if (hour < 12) {
                return 'առավոտվա';
            } else if (hour < 17) {
                return 'ցերեկվա';
            } else {
                return 'երեկոյան';
            }
        },
        dayOfMonthOrdinalParse: /\d{1,2}|\d{1,2}-(ին|րդ)/,
        ordinal: function (number, period) {
            switch (period) {
                case 'DDD':
                case 'w':
                case 'W':
                case 'DDDo':
                    if (number === 1) {
                        return number + '-ին';
                    }
                    return number + '-րդ';
                default:
                    return number;
            }
        },
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 7  // The week that contains Jan 7th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    hooks.defineLocale('id', {
        months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split('_'),
        monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split('_'),
        weekdays: 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'),
        weekdaysShort: 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'),
        weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'),
        longDateFormat: {
            LT: 'HH.mm',
            LTS: 'HH.mm.ss',
            L: 'DD/MM/YYYY',
            LL: 'D MMMM YYYY',
            LLL: 'D MMMM YYYY [pukul] HH.mm',
            LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm'
        },
        meridiemParse: /pagi|siang|sore|malam/,
        meridiemHour: function (hour, meridiem) {
            if (hour === 12) {
                hour = 0;
            }
            if (meridiem === 'pagi') {
                return hour;
            } else if (meridiem === 'siang') {
                return hour >= 11 ? hour : hour + 12;
            } else if (meridiem === 'sore' || meridiem === 'malam') {
                return hour + 12;
            }
        },
        meridiem: function (hours, minutes, isLower) {
            if (hours < 11) {
                return 'pagi';
            } else if (hours < 15) {
                return 'siang';
            } else if (hours < 19) {
                return 'sore';
            } else {
                return 'malam';
            }
        },
        calendar: {
            sameDay: '[Hari ini pukul] LT',
            nextDay: '[Besok pukul] LT',
            nextWeek: 'dddd [pukul] LT',
            lastDay: '[Kemarin pukul] LT',
            lastWeek: 'dddd [lalu pukul] LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: 'dalam %s',
            past: '%s yang lalu',
            s: 'beberapa detik',
            ss: '%d detik',
            m: 'semenit',
            mm: '%d menit',
            h: 'sejam',
            hh: '%d jam',
            d: 'sehari',
            dd: '%d hari',
            M: 'sebulan',
            MM: '%d bulan',
            y: 'setahun',
            yy: '%d tahun'
        },
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 7  // The week that contains Jan 7th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    function plural$2(n) {
        if (n % 100 === 11) {
            return true;
        } else if (n % 10 === 1) {
            return false;
        }
        return true;
    }
    function translate$5(number, withoutSuffix, key, isFuture) {
        var result = number + ' ';
        switch (key) {
            case 's':
                return withoutSuffix || isFuture ? 'nokkrar sekúndur' : 'nokkrum sekúndum';
            case 'ss':
                if (plural$2(number)) {
                    return result + (withoutSuffix || isFuture ? 'sekúndur' : 'sekúndum');
                }
                return result + 'sekúnda';
            case 'm':
                return withoutSuffix ? 'mínúta' : 'mínútu';
            case 'mm':
                if (plural$2(number)) {
                    return result + (withoutSuffix || isFuture ? 'mínútur' : 'mínútum');
                } else if (withoutSuffix) {
                    return result + 'mínúta';
                }
                return result + 'mínútu';
            case 'hh':
                if (plural$2(number)) {
                    return result + (withoutSuffix || isFuture ? 'klukkustundir' : 'klukkustundum');
                }
                return result + 'klukkustund';
            case 'd':
                if (withoutSuffix) {
                    return 'dagur';
                }
                return isFuture ? 'dag' : 'degi';
            case 'dd':
                if (plural$2(number)) {
                    if (withoutSuffix) {
                        return result + 'dagar';
                    }
                    return result + (isFuture ? 'daga' : 'dögum');
                } else if (withoutSuffix) {
                    return result + 'dagur';
                }
                return result + (isFuture ? 'dag' : 'degi');
            case 'M':
                if (withoutSuffix) {
                    return 'mánuður';
                }
                return isFuture ? 'mánuð' : 'mánuði';
            case 'MM':
                if (plural$2(number)) {
                    if (withoutSuffix) {
                        return result + 'mánuðir';
                    }
                    return result + (isFuture ? 'mánuði' : 'mánuðum');
                } else if (withoutSuffix) {
                    return result + 'mánuður';
                }
                return result + (isFuture ? 'mánuð' : 'mánuði');
            case 'y':
                return withoutSuffix || isFuture ? 'ár' : 'ári';
            case 'yy':
                if (plural$2(number)) {
                    return result + (withoutSuffix || isFuture ? 'ár' : 'árum');
                }
                return result + (withoutSuffix || isFuture ? 'ár' : 'ári');
        }
    }

    hooks.defineLocale('is', {
        months: 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split('_'),
        monthsShort: 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split('_'),
        weekdays: 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split('_'),
        weekdaysShort: 'sun_mán_þri_mið_fim_fös_lau'.split('_'),
        weekdaysMin: 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'),
        longDateFormat: {
            LT: 'H:mm',
            LTS: 'H:mm:ss',
            L: 'DD.MM.YYYY',
            LL: 'D. MMMM YYYY',
            LLL: 'D. MMMM YYYY [kl.] H:mm',
            LLLL: 'dddd, D. MMMM YYYY [kl.] H:mm'
        },
        calendar: {
            sameDay: '[í dag kl.] LT',
            nextDay: '[á morgun kl.] LT',
            nextWeek: 'dddd [kl.] LT',
            lastDay: '[í gær kl.] LT',
            lastWeek: '[síðasta] dddd [kl.] LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: 'eftir %s',
            past: 'fyrir %s síðan',
            s: translate$5,
            ss: translate$5,
            m: translate$5,
            mm: translate$5,
            h: 'klukkustund',
            hh: translate$5,
            d: translate$5,
            dd: translate$5,
            M: translate$5,
            MM: translate$5,
            y: translate$5,
            yy: translate$5
        },
        dayOfMonthOrdinalParse: /\d{1,2}\./,
        ordinal: '%d.',
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 4  // The week that contains Jan 4th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    hooks.defineLocale('it-ch', {
        months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split('_'),
        monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),
        weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split('_'),
        weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'),
        weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'),
        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: '[Oggi alle] LT',
            nextDay: '[Domani alle] LT',
            nextWeek: 'dddd [alle] LT',
            lastDay: '[Ieri alle] LT',
            lastWeek: function () {
                switch (this.day()) {
                    case 0:
                        return '[la scorsa] dddd [alle] LT';
                    default:
                        return '[lo scorso] dddd [alle] LT';
                }
            },
            sameElse: 'L'
        },
        relativeTime: {
            future: function (s) {
                return ((/^[0-9].+$/).test(s) ? 'tra' : 'in') + ' ' + s;
            },
            past: '%s fa',
            s: 'alcuni secondi',
            ss: '%d secondi',
            m: 'un minuto',
            mm: '%d minuti',
            h: 'un\'ora',
            hh: '%d ore',
            d: 'un giorno',
            dd: '%d giorni',
            M: 'un mese',
            MM: '%d mesi',
            y: 'un anno',
            yy: '%d anni'
        },
        dayOfMonthOrdinalParse: /\d{1,2}º/,
        ordinal: '%dº',
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 4  // The week that contains Jan 4th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    hooks.defineLocale('it', {
        months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split('_'),
        monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),
        weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split('_'),
        weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'),
        weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'),
        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: '[Oggi alle] LT',
            nextDay: '[Domani alle] LT',
            nextWeek: 'dddd [alle] LT',
            lastDay: '[Ieri alle] LT',
            lastWeek: function () {
                switch (this.day()) {
                    case 0:
                        return '[la scorsa] dddd [alle] LT';
                    default:
                        return '[lo scorso] dddd [alle] LT';
                }
            },
            sameElse: 'L'
        },
        relativeTime: {
            future: function (s) {
                return ((/^[0-9].+$/).test(s) ? 'tra' : 'in') + ' ' + s;
            },
            past: '%s fa',
            s: 'alcuni secondi',
            ss: '%d secondi',
            m: 'un minuto',
            mm: '%d minuti',
            h: 'un\'ora',
            hh: '%d ore',
            d: 'un giorno',
            dd: '%d giorni',
            M: 'un mese',
            MM: '%d mesi',
            y: 'un anno',
            yy: '%d anni'
        },
        dayOfMonthOrdinalParse: /\d{1,2}º/,
        ordinal: '%dº',
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 4  // The week that contains Jan 4th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    hooks.defineLocale('ja', {
        months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),
        monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),
        weekdays: '日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日'.split('_'),
        weekdaysShort: '日_月_火_水_木_金_土'.split('_'),
        weekdaysMin: '日_月_火_水_木_金_土'.split('_'),
        longDateFormat: {
            LT: 'HH:mm',
            LTS: 'HH:mm:ss',
            L: 'YYYY/MM/DD',
            LL: 'YYYY年M月D日',
            LLL: 'YYYY年M月D日 HH:mm',
            LLLL: 'YYYY年M月D日 dddd HH:mm',
            l: 'YYYY/MM/DD',
            ll: 'YYYY年M月D日',
            lll: 'YYYY年M月D日 HH:mm',
            llll: 'YYYY年M月D日(ddd) HH:mm'
        },
        meridiemParse: /午前|午後/i,
        isPM: function (input) {
            return input === '午後';
        },
        meridiem: function (hour, minute, isLower) {
            if (hour < 12) {
                return '午前';
            } else {
                return '午後';
            }
        },
        calendar: {
            sameDay: '[今日] LT',
            nextDay: '[明日] LT',
            nextWeek: function (now) {
                if (now.week() < this.week()) {
                    return '[来週]dddd LT';
                } else {
                    return 'dddd LT';
                }
            },
            lastDay: '[昨日] LT',
            lastWeek: function (now) {
                if (this.week() < now.week()) {
                    return '[先週]dddd LT';
                } else {
                    return 'dddd LT';
                }
            },
            sameElse: 'L'
        },
        dayOfMonthOrdinalParse: /\d{1,2}日/,
        ordinal: function (number, period) {
            switch (period) {
                case 'd':
                case 'D':
                case 'DDD':
                    return number + '日';
                default:
                    return number;
            }
        },
        relativeTime: {
            future: '%s後',
            past: '%s前',
            s: '数秒',
            ss: '%d秒',
            m: '1分',
            mm: '%d分',
            h: '1時間',
            hh: '%d時間',
            d: '1日',
            dd: '%d日',
            M: '1ヶ月',
            MM: '%dヶ月',
            y: '1年',
            yy: '%d年'
        }
    });

    //! moment.js locale configuration

    hooks.defineLocale('jv', {
        months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split('_'),
        monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'),
        weekdays: 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'),
        weekdaysShort: 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'),
        weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'),
        longDateFormat: {
            LT: 'HH.mm',
            LTS: 'HH.mm.ss',
            L: 'DD/MM/YYYY',
            LL: 'D MMMM YYYY',
            LLL: 'D MMMM YYYY [pukul] HH.mm',
            LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm'
        },
        meridiemParse: /enjing|siyang|sonten|ndalu/,
        meridiemHour: function (hour, meridiem) {
            if (hour === 12) {
                hour = 0;
            }
            if (meridiem === 'enjing') {
                return hour;
            } else if (meridiem === 'siyang') {
                return hour >= 11 ? hour : hour + 12;
            } else if (meridiem === 'sonten' || meridiem === 'ndalu') {
                return hour + 12;
            }
        },
        meridiem: function (hours, minutes, isLower) {
            if (hours < 11) {
                return 'enjing';
            } else if (hours < 15) {
                return 'siyang';
            } else if (hours < 19) {
                return 'sonten';
            } else {
                return 'ndalu';
            }
        },
        calendar: {
            sameDay: '[Dinten puniko pukul] LT',
            nextDay: '[Mbenjang pukul] LT',
            nextWeek: 'dddd [pukul] LT',
            lastDay: '[Kala wingi pukul] LT',
            lastWeek: 'dddd [kepengker pukul] LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: 'wonten ing %s',
            past: '%s ingkang kepengker',
            s: 'sawetawis detik',
            ss: '%d detik',
            m: 'setunggal menit',
            mm: '%d menit',
            h: 'setunggal jam',
            hh: '%d jam',
            d: 'sedinten',
            dd: '%d dinten',
            M: 'sewulan',
            MM: '%d wulan',
            y: 'setaun',
            yy: '%d taun'
        },
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 7  // The week that contains Jan 7th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    hooks.defineLocale('ka', {
        months: {
            standalone: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split('_'),
            format: 'იანვარს_თებერვალს_მარტს_აპრილის_მაისს_ივნისს_ივლისს_აგვისტს_სექტემბერს_ოქტომბერს_ნოემბერს_დეკემბერს'.split('_')
        },
        monthsShort: 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'),
        weekdays: {
            standalone: 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split('_'),
            format: 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split('_'),
            isFormat: /(წინა|შემდეგ)/
        },
        weekdaysShort: 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'),
        weekdaysMin: 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.split('_'),
        longDateFormat: {
            LT: 'h:mm A',
            LTS: 'h:mm:ss A',
            L: 'DD/MM/YYYY',
            LL: 'D MMMM YYYY',
            LLL: 'D MMMM YYYY h:mm A',
            LLLL: 'dddd, D MMMM YYYY h:mm A'
        },
        calendar: {
            sameDay: '[დღეს] LT[-ზე]',
            nextDay: '[ხვალ] LT[-ზე]',
            lastDay: '[გუშინ] LT[-ზე]',
            nextWeek: '[შემდეგ] dddd LT[-ზე]',
            lastWeek: '[წინა] dddd LT-ზე',
            sameElse: 'L'
        },
        relativeTime: {
            future: function (s) {
                return (/(წამი|წუთი|საათი|წელი)/).test(s) ?
                    s.replace(/ი$/, 'ში') :
                    s + 'ში';
            },
            past: function (s) {
                if ((/(წამი|წუთი|საათი|დღე|თვე)/).test(s)) {
                    return s.replace(/(ი|ე)$/, 'ის წინ');
                }
                if ((/წელი/).test(s)) {
                    return s.replace(/წელი$/, 'წლის წინ');
                }
            },
            s: 'რამდენიმე წამი',
            ss: '%d წამი',
            m: 'წუთი',
            mm: '%d წუთი',
            h: 'საათი',
            hh: '%d საათი',
            d: 'დღე',
            dd: '%d დღე',
            M: 'თვე',
            MM: '%d თვე',
            y: 'წელი',
            yy: '%d წელი'
        },
        dayOfMonthOrdinalParse: /0|1-ლი|მე-\d{1,2}|\d{1,2}-ე/,
        ordinal: function (number) {
            if (number === 0) {
                return number;
            }
            if (number === 1) {
                return number + '-ლი';
            }
            if ((number < 20) || (number <= 100 && (number % 20 === 0)) || (number % 100 === 0)) {
                return 'მე-' + number;
            }
            return number + '-ე';
        },
        week: {
            dow: 1,
            doy: 7
        }
    });

    //! moment.js locale configuration

    var suffixes$1 = {
        0: '-ші',
        1: '-ші',
        2: '-ші',
        3: '-ші',
        4: '-ші',
        5: '-ші',
        6: '-шы',
        7: '-ші',
        8: '-ші',
        9: '-шы',
        10: '-шы',
        20: '-шы',
        30: '-шы',
        40: '-шы',
        50: '-ші',
        60: '-шы',
        70: '-ші',
        80: '-ші',
        90: '-шы',
        100: '-ші'
    };

    hooks.defineLocale('kk', {
        months: 'қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан'.split('_'),
        monthsShort: 'қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел'.split('_'),
        weekdays: 'жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі'.split('_'),
        weekdaysShort: 'жек_дүй_сей_сәр_бей_жұм_сен'.split('_'),
        weekdaysMin: 'жк_дй_сй_ср_бй_жм_сн'.split('_'),
        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: '[Бүгін сағат] LT',
            nextDay: '[Ертең сағат] LT',
            nextWeek: 'dddd [сағат] LT',
            lastDay: '[Кеше сағат] LT',
            lastWeek: '[Өткен аптаның] dddd [сағат] LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: '%s ішінде',
            past: '%s бұрын',
            s: 'бірнеше секунд',
            ss: '%d секунд',
            m: 'бір минут',
            mm: '%d минут',
            h: 'бір сағат',
            hh: '%d сағат',
            d: 'бір күн',
            dd: '%d күн',
            M: 'бір ай',
            MM: '%d ай',
            y: 'бір жыл',
            yy: '%d жыл'
        },
        dayOfMonthOrdinalParse: /\d{1,2}-(ші|шы)/,
        ordinal: function (number) {
            var a = number % 10,
                b = number >= 100 ? 100 : null;
            return number + (suffixes$1[number] || suffixes$1[a] || suffixes$1[b]);
        },
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 7  // The week that contains Jan 7th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    var symbolMap$8 = {
        '1': '១',
        '2': '២',
        '3': '៣',
        '4': '៤',
        '5': '៥',
        '6': '៦',
        '7': '៧',
        '8': '៨',
        '9': '៩',
        '0': '០'
    }, numberMap$7 = {
        '១': '1',
        '២': '2',
        '៣': '3',
        '៤': '4',
        '៥': '5',
        '៦': '6',
        '៧': '7',
        '៨': '8',
        '៩': '9',
        '០': '0'
    };

    hooks.defineLocale('km', {
        months: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(
            '_'
        ),
        monthsShort: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(
            '_'
        ),
        weekdays: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),
        weekdaysShort: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),
        weekdaysMin: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),
        weekdaysParseExact: true,
        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'
        },
        meridiemParse: /ព្រឹក|ល្ងាច/,
        isPM: function (input) {
            return input === 'ល្ងាច';
        },
        meridiem: function (hour, minute, isLower) {
            if (hour < 12) {
                return 'ព្រឹក';
            } else {
                return 'ល្ងាច';
            }
        },
        calendar: {
            sameDay: '[ថ្ងៃនេះ ម៉ោង] LT',
            nextDay: '[ស្អែក ម៉ោង] LT',
            nextWeek: 'dddd [ម៉ោង] LT',
            lastDay: '[ម្សិលមិញ ម៉ោង] LT',
            lastWeek: 'dddd [សប្តាហ៍មុន] [ម៉ោង] LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: '%sទៀត',
            past: '%sមុន',
            s: 'ប៉ុន្មានវិនាទី',
            ss: '%d វិនាទី',
            m: 'មួយនាទី',
            mm: '%d នាទី',
            h: 'មួយម៉ោង',
            hh: '%d ម៉ោង',
            d: 'មួយថ្ងៃ',
            dd: '%d ថ្ងៃ',
            M: 'មួយខែ',
            MM: '%d ខែ',
            y: 'មួយឆ្នាំ',
            yy: '%d ឆ្នាំ'
        },
        dayOfMonthOrdinalParse: /ទី\d{1,2}/,
        ordinal: 'ទី%d',
        preparse: function (string) {
            return string.replace(/[១២៣៤៥៦៧៨៩០]/g, function (match) {
                return numberMap$7[match];
            });
        },
        postformat: function (string) {
            return string.replace(/\d/g, function (match) {
                return symbolMap$8[match];
            });
        },
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 4 // The week that contains Jan 4th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    var symbolMap$9 = {
        '1': '೧',
        '2': '೨',
        '3': '೩',
        '4': '೪',
        '5': '೫',
        '6': '೬',
        '7': '೭',
        '8': '೮',
        '9': '೯',
        '0': '೦'
    },
        numberMap$8 = {
            '೧': '1',
            '೨': '2',
            '೩': '3',
            '೪': '4',
            '೫': '5',
            '೬': '6',
            '೭': '7',
            '೮': '8',
            '೯': '9',
            '೦': '0'
        };

    hooks.defineLocale('kn', {
        months: 'ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್'.split('_'),
        monthsShort: 'ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ'.split('_'),
        monthsParseExact: true,
        weekdays: 'ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ'.split('_'),
        weekdaysShort: 'ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ'.split('_'),
        weekdaysMin: 'ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ'.split('_'),
        longDateFormat: {
            LT: 'A h:mm',
            LTS: 'A h:mm:ss',
            L: 'DD/MM/YYYY',
            LL: 'D MMMM YYYY',
            LLL: 'D MMMM YYYY, A h:mm',
            LLLL: 'dddd, D MMMM YYYY, A h:mm'
        },
        calendar: {
            sameDay: '[ಇಂದು] LT',
            nextDay: '[ನಾಳೆ] LT',
            nextWeek: 'dddd, LT',
            lastDay: '[ನಿನ್ನೆ] LT',
            lastWeek: '[ಕೊನೆಯ] dddd, LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: '%s ನಂತರ',
            past: '%s ಹಿಂದೆ',
            s: 'ಕೆಲವು ಕ್ಷಣಗಳು',
            ss: '%d ಸೆಕೆಂಡುಗಳು',
            m: 'ಒಂದು ನಿಮಿಷ',
            mm: '%d ನಿಮಿಷ',
            h: 'ಒಂದು ಗಂಟೆ',
            hh: '%d ಗಂಟೆ',
            d: 'ಒಂದು ದಿನ',
            dd: '%d ದಿನ',
            M: 'ಒಂದು ತಿಂಗಳು',
            MM: '%d ತಿಂಗಳು',
            y: 'ಒಂದು ವರ್ಷ',
            yy: '%d ವರ್ಷ'
        },
        preparse: function (string) {
            return string.replace(/[೧೨೩೪೫೬೭೮೯೦]/g, function (match) {
                return numberMap$8[match];
            });
        },
        postformat: function (string) {
            return string.replace(/\d/g, function (match) {
                return symbolMap$9[match];
            });
        },
        meridiemParse: /ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,
        meridiemHour: function (hour, meridiem) {
            if (hour === 12) {
                hour = 0;
            }
            if (meridiem === 'ರಾತ್ರಿ') {
                return hour < 4 ? hour : hour + 12;
            } else if (meridiem === 'ಬೆಳಿಗ್ಗೆ') {
                return hour;
            } else if (meridiem === 'ಮಧ್ಯಾಹ್ನ') {
                return hour >= 10 ? hour : hour + 12;
            } else if (meridiem === 'ಸಂಜೆ') {
                return hour + 12;
            }
        },
        meridiem: function (hour, minute, isLower) {
            if (hour < 4) {
                return 'ರಾತ್ರಿ';
            } else if (hour < 10) {
                return 'ಬೆಳಿಗ್ಗೆ';
            } else if (hour < 17) {
                return 'ಮಧ್ಯಾಹ್ನ';
            } else if (hour < 20) {
                return 'ಸಂಜೆ';
            } else {
                return 'ರಾತ್ರಿ';
            }
        },
        dayOfMonthOrdinalParse: /\d{1,2}(ನೇ)/,
        ordinal: function (number) {
            return number + 'ನೇ';
        },
        week: {
            dow: 0, // Sunday is the first day of the week.
            doy: 6  // The week that contains Jan 6th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    hooks.defineLocale('ko', {
        months: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),
        monthsShort: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),
        weekdays: '일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split('_'),
        weekdaysShort: '일_월_화_수_목_금_토'.split('_'),
        weekdaysMin: '일_월_화_수_목_금_토'.split('_'),
        longDateFormat: {
            LT: 'A h:mm',
            LTS: 'A h:mm:ss',
            L: 'YYYY.MM.DD.',
            LL: 'YYYY년 MMMM D일',
            LLL: 'YYYY년 MMMM D일 A h:mm',
            LLLL: 'YYYY년 MMMM D일 dddd A h:mm',
            l: 'YYYY.MM.DD.',
            ll: 'YYYY년 MMMM D일',
            lll: 'YYYY년 MMMM D일 A h:mm',
            llll: 'YYYY년 MMMM D일 dddd A h:mm'
        },
        calendar: {
            sameDay: '오늘 LT',
            nextDay: '내일 LT',
            nextWeek: 'dddd LT',
            lastDay: '어제 LT',
            lastWeek: '지난주 dddd LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: '%s 후',
            past: '%s 전',
            s: '몇 초',
            ss: '%d초',
            m: '1분',
            mm: '%d분',
            h: '한 시간',
            hh: '%d시간',
            d: '하루',
            dd: '%d일',
            M: '한 달',
            MM: '%d달',
            y: '일 년',
            yy: '%d년'
        },
        dayOfMonthOrdinalParse: /\d{1,2}(일|월|주)/,
        ordinal: function (number, period) {
            switch (period) {
                case 'd':
                case 'D':
                case 'DDD':
                    return number + '일';
                case 'M':
                    return number + '월';
                case 'w':
                case 'W':
                    return number + '주';
                default:
                    return number;
            }
        },
        meridiemParse: /오전|오후/,
        isPM: function (token) {
            return token === '오후';
        },
        meridiem: function (hour, minute, isUpper) {
            return hour < 12 ? '오전' : '오후';
        }
    });

    //! moment.js locale configuration

    var symbolMap$a = {
        '1': '١',
        '2': '٢',
        '3': '٣',
        '4': '٤',
        '5': '٥',
        '6': '٦',
        '7': '٧',
        '8': '٨',
        '9': '٩',
        '0': '٠'
    }, numberMap$9 = {
        '١': '1',
        '٢': '2',
        '٣': '3',
        '٤': '4',
        '٥': '5',
        '٦': '6',
        '٧': '7',
        '٨': '8',
        '٩': '9',
        '٠': '0'
    },
        months$7 = [
            'کانونی دووەم',
            'شوبات',
            'ئازار',
            'نیسان',
            'ئایار',
            'حوزەیران',
            'تەمموز',
            'ئاب',
            'ئەیلوول',
            'تشرینی یەكەم',
            'تشرینی دووەم',
            'كانونی یەکەم'
        ];


    hooks.defineLocale('ku', {
        months: months$7,
        monthsShort: months$7,
        weekdays: 'یه‌كشه‌ممه‌_دووشه‌ممه‌_سێشه‌ممه‌_چوارشه‌ممه‌_پێنجشه‌ممه‌_هه‌ینی_شه‌ممه‌'.split('_'),
        weekdaysShort: 'یه‌كشه‌م_دووشه‌م_سێشه‌م_چوارشه‌م_پێنجشه‌م_هه‌ینی_شه‌ممه‌'.split('_'),
        weekdaysMin: 'ی_د_س_چ_پ_ه_ش'.split('_'),
        weekdaysParseExact: true,
        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'
        },
        meridiemParse: /ئێواره‌|به‌یانی/,
        isPM: function (input) {
            return /ئێواره‌/.test(input);
        },
        meridiem: function (hour, minute, isLower) {
            if (hour < 12) {
                return 'به‌یانی';
            } else {
                return 'ئێواره‌';
            }
        },
        calendar: {
            sameDay: '[ئه‌مرۆ كاتژمێر] LT',
            nextDay: '[به‌یانی كاتژمێر] LT',
            nextWeek: 'dddd [كاتژمێر] LT',
            lastDay: '[دوێنێ كاتژمێر] LT',
            lastWeek: 'dddd [كاتژمێر] LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: 'له‌ %s',
            past: '%s',
            s: 'چه‌ند چركه‌یه‌ك',
            ss: 'چركه‌ %d',
            m: 'یه‌ك خوله‌ك',
            mm: '%d خوله‌ك',
            h: 'یه‌ك كاتژمێر',
            hh: '%d كاتژمێر',
            d: 'یه‌ك ڕۆژ',
            dd: '%d ڕۆژ',
            M: 'یه‌ك مانگ',
            MM: '%d مانگ',
            y: 'یه‌ك ساڵ',
            yy: '%d ساڵ'
        },
        preparse: function (string) {
            return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {
                return numberMap$9[match];
            }).replace(/،/g, ',');
        },
        postformat: function (string) {
            return string.replace(/\d/g, function (match) {
                return symbolMap$a[match];
            }).replace(/,/g, '،');
        },
        week: {
            dow: 6, // Saturday is the first day of the week.
            doy: 12 // The week that contains Jan 12th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    var suffixes$2 = {
        0: '-чү',
        1: '-чи',
        2: '-чи',
        3: '-чү',
        4: '-чү',
        5: '-чи',
        6: '-чы',
        7: '-чи',
        8: '-чи',
        9: '-чу',
        10: '-чу',
        20: '-чы',
        30: '-чу',
        40: '-чы',
        50: '-чү',
        60: '-чы',
        70: '-чи',
        80: '-чи',
        90: '-чу',
        100: '-чү'
    };

    hooks.defineLocale('ky', {
        months: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_'),
        monthsShort: 'янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split('_'),
        weekdays: 'Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби'.split('_'),
        weekdaysShort: 'Жек_Дүй_Шей_Шар_Бей_Жум_Ише'.split('_'),
        weekdaysMin: 'Жк_Дй_Шй_Шр_Бй_Жм_Иш'.split('_'),
        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: '[Бүгүн саат] LT',
            nextDay: '[Эртең саат] LT',
            nextWeek: 'dddd [саат] LT',
            lastDay: '[Кечээ саат] LT',
            lastWeek: '[Өткөн аптанын] dddd [күнү] [саат] LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: '%s ичинде',
            past: '%s мурун',
            s: 'бирнече секунд',
            ss: '%d секунд',
            m: 'бир мүнөт',
            mm: '%d мүнөт',
            h: 'бир саат',
            hh: '%d саат',
            d: 'бир күн',
            dd: '%d күн',
            M: 'бир ай',
            MM: '%d ай',
            y: 'бир жыл',
            yy: '%d жыл'
        },
        dayOfMonthOrdinalParse: /\d{1,2}-(чи|чы|чү|чу)/,
        ordinal: function (number) {
            var a = number % 10,
                b = number >= 100 ? 100 : null;
            return number + (suffixes$2[number] || suffixes$2[a] || suffixes$2[b]);
        },
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 7  // The week that contains Jan 7th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    function processRelativeTime$5(number, withoutSuffix, key, isFuture) {
        var format = {
            'm': ['eng Minutt', 'enger Minutt'],
            'h': ['eng Stonn', 'enger Stonn'],
            'd': ['een Dag', 'engem Dag'],
            'M': ['ee Mount', 'engem Mount'],
            'y': ['ee Joer', 'engem Joer']
        };
        return withoutSuffix ? format[key][0] : format[key][1];
    }
    function processFutureTime(string) {
        var number = string.substr(0, string.indexOf(' '));
        if (eifelerRegelAppliesToNumber(number)) {
            return 'a ' + string;
        }
        return 'an ' + string;
    }
    function processPastTime(string) {
        var number = string.substr(0, string.indexOf(' '));
        if (eifelerRegelAppliesToNumber(number)) {
            return 'viru ' + string;
        }
        return 'virun ' + string;
    }
    /**
     * Returns true if the word before the given number loses the '-n' ending.
     * e.g. 'an 10 Deeg' but 'a 5 Deeg'
     *
     * @param number {integer}
     * @returns {boolean}
     */
    function eifelerRegelAppliesToNumber(number) {
        number = parseInt(number, 10);
        if (isNaN(number)) {
            return false;
        }
        if (number < 0) {
            // Negative Number --> always true
            return true;
        } else if (number < 10) {
            // Only 1 digit
            if (4 <= number && number <= 7) {
                return true;
            }
            return false;
        } else if (number < 100) {
            // 2 digits
            var lastDigit = number % 10, firstDigit = number / 10;
            if (lastDigit === 0) {
                return eifelerRegelAppliesToNumber(firstDigit);
            }
            return eifelerRegelAppliesToNumber(lastDigit);
        } else if (number < 10000) {
            // 3 or 4 digits --> recursively check first digit
            while (number >= 10) {
                number = number / 10;
            }
            return eifelerRegelAppliesToNumber(number);
        } else {
            // Anything larger than 4 digits: recursively check first n-3 digits
            number = number / 1000;
            return eifelerRegelAppliesToNumber(number);
        }
    }

    hooks.defineLocale('lb', {
        months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),
        monthsShort: 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split('_'),
        monthsParseExact: true,
        weekdays: 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split('_'),
        weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'),
        weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'),
        weekdaysParseExact: true,
        longDateFormat: {
            LT: 'H:mm [Auer]',
            LTS: 'H:mm:ss [Auer]',
            L: 'DD.MM.YYYY',
            LL: 'D. MMMM YYYY',
            LLL: 'D. MMMM YYYY H:mm [Auer]',
            LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]'
        },
        calendar: {
            sameDay: '[Haut um] LT',
            sameElse: 'L',
            nextDay: '[Muer um] LT',
            nextWeek: 'dddd [um] LT',
            lastDay: '[Gëschter um] LT',
            lastWeek: function () {
                // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule
                switch (this.day()) {
                    case 2:
                    case 4:
                        return '[Leschten] dddd [um] LT';
                    default:
                        return '[Leschte] dddd [um] LT';
                }
            }
        },
        relativeTime: {
            future: processFutureTime,
            past: processPastTime,
            s: 'e puer Sekonnen',
            ss: '%d Sekonnen',
            m: processRelativeTime$5,
            mm: '%d Minutten',
            h: processRelativeTime$5,
            hh: '%d Stonnen',
            d: processRelativeTime$5,
            dd: '%d Deeg',
            M: processRelativeTime$5,
            MM: '%d Méint',
            y: processRelativeTime$5,
            yy: '%d Joer'
        },
        dayOfMonthOrdinalParse: /\d{1,2}\./,
        ordinal: '%d.',
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 4  // The week that contains Jan 4th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    hooks.defineLocale('lo', {
        months: 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'),
        monthsShort: 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'),
        weekdays: 'ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),
        weekdaysShort: 'ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),
        weekdaysMin: 'ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ'.split('_'),
        weekdaysParseExact: true,
        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'
        },
        meridiemParse: /ຕອນເຊົ້າ|ຕອນແລງ/,
        isPM: function (input) {
            return input === 'ຕອນແລງ';
        },
        meridiem: function (hour, minute, isLower) {
            if (hour < 12) {
                return 'ຕອນເຊົ້າ';
            } else {
                return 'ຕອນແລງ';
            }
        },
        calendar: {
            sameDay: '[ມື້ນີ້ເວລາ] LT',
            nextDay: '[ມື້ອື່ນເວລາ] LT',
            nextWeek: '[ວັນ]dddd[ໜ້າເວລາ] LT',
            lastDay: '[ມື້ວານນີ້ເວລາ] LT',
            lastWeek: '[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: 'ອີກ %s',
            past: '%sຜ່ານມາ',
            s: 'ບໍ່ເທົ່າໃດວິນາທີ',
            ss: '%d ວິນາທີ',
            m: '1 ນາທີ',
            mm: '%d ນາທີ',
            h: '1 ຊົ່ວໂມງ',
            hh: '%d ຊົ່ວໂມງ',
            d: '1 ມື້',
            dd: '%d ມື້',
            M: '1 ເດືອນ',
            MM: '%d ເດືອນ',
            y: '1 ປີ',
            yy: '%d ປີ'
        },
        dayOfMonthOrdinalParse: /(ທີ່)\d{1,2}/,
        ordinal: function (number) {
            return 'ທີ່' + number;
        }
    });

    //! moment.js locale configuration

    var units = {
        'ss': 'sekundė_sekundžių_sekundes',
        'm': 'minutė_minutės_minutę',
        'mm': 'minutės_minučių_minutes',
        'h': 'valanda_valandos_valandą',
        'hh': 'valandos_valandų_valandas',
        'd': 'diena_dienos_dieną',
        'dd': 'dienos_dienų_dienas',
        'M': 'mėnuo_mėnesio_mėnesį',
        'MM': 'mėnesiai_mėnesių_mėnesius',
        'y': 'metai_metų_metus',
        'yy': 'metai_metų_metus'
    };
    function translateSeconds(number, withoutSuffix, key, isFuture) {
        if (withoutSuffix) {
            return 'kelios sekundės';
        } else {
            return isFuture ? 'kelių sekundžių' : 'kelias sekundes';
        }
    }
    function translateSingular(number, withoutSuffix, key, isFuture) {
        return withoutSuffix ? forms(key)[0] : (isFuture ? forms(key)[1] : forms(key)[2]);
    }
    function special(number) {
        return number % 10 === 0 || (number > 10 && number < 20);
    }
    function forms(key) {
        return units[key].split('_');
    }
    function translate$6(number, withoutSuffix, key, isFuture) {
        var result = number + ' ';
        if (number === 1) {
            return result + translateSingular(number, withoutSuffix, key[0], isFuture);
        } else if (withoutSuffix) {
            return result + (special(number) ? forms(key)[1] : forms(key)[0]);
        } else {
            if (isFuture) {
                return result + forms(key)[1];
            } else {
                return result + (special(number) ? forms(key)[1] : forms(key)[2]);
            }
        }
    }
    hooks.defineLocale('lt', {
        months: {
            format: 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split('_'),
            standalone: 'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split('_'),
            isFormat: /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|MMMM?(\[[^\[\]]*\]|\s)+D[oD]?/
        },
        monthsShort: 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'),
        weekdays: {
            format: 'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split('_'),
            standalone: 'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split('_'),
            isFormat: /dddd HH:mm/
        },
        weekdaysShort: 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'),
        weekdaysMin: 'S_P_A_T_K_Pn_Š'.split('_'),
        weekdaysParseExact: true,
        longDateFormat: {
            LT: 'HH:mm',
            LTS: 'HH:mm:ss',
            L: 'YYYY-MM-DD',
            LL: 'YYYY [m.] MMMM D [d.]',
            LLL: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',
            LLLL: 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]',
            l: 'YYYY-MM-DD',
            ll: 'YYYY [m.] MMMM D [d.]',
            lll: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',
            llll: 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]'
        },
        calendar: {
            sameDay: '[Šiandien] LT',
            nextDay: '[Rytoj] LT',
            nextWeek: 'dddd LT',
            lastDay: '[Vakar] LT',
            lastWeek: '[Praėjusį] dddd LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: 'po %s',
            past: 'prieš %s',
            s: translateSeconds,
            ss: translate$6,
            m: translateSingular,
            mm: translate$6,
            h: translateSingular,
            hh: translate$6,
            d: translateSingular,
            dd: translate$6,
            M: translateSingular,
            MM: translate$6,
            y: translateSingular,
            yy: translate$6
        },
        dayOfMonthOrdinalParse: /\d{1,2}-oji/,
        ordinal: function (number) {
            return number + '-oji';
        },
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 4  // The week that contains Jan 4th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    var units$1 = {
        'ss': 'sekundes_sekundēm_sekunde_sekundes'.split('_'),
        'm': 'minūtes_minūtēm_minūte_minūtes'.split('_'),
        'mm': 'minūtes_minūtēm_minūte_minūtes'.split('_'),
        'h': 'stundas_stundām_stunda_stundas'.split('_'),
        'hh': 'stundas_stundām_stunda_stundas'.split('_'),
        'd': 'dienas_dienām_diena_dienas'.split('_'),
        'dd': 'dienas_dienām_diena_dienas'.split('_'),
        'M': 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),
        'MM': 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),
        'y': 'gada_gadiem_gads_gadi'.split('_'),
        'yy': 'gada_gadiem_gads_gadi'.split('_')
    };
    /**
     * @param withoutSuffix boolean true = a length of time; false = before/after a period of time.
     */
    function format$1(forms, number, withoutSuffix) {
        if (withoutSuffix) {
            // E.g. "21 minūte", "3 minūtes".
            return number % 10 === 1 && number % 100 !== 11 ? forms[2] : forms[3];
        } else {
            // E.g. "21 minūtes" as in "pēc 21 minūtes".
            // E.g. "3 minūtēm" as in "pēc 3 minūtēm".
            return number % 10 === 1 && number % 100 !== 11 ? forms[0] : forms[1];
        }
    }
    function relativeTimeWithPlural$1(number, withoutSuffix, key) {
        return number + ' ' + format$1(units$1[key], number, withoutSuffix);
    }
    function relativeTimeWithSingular(number, withoutSuffix, key) {
        return format$1(units$1[key], number, withoutSuffix);
    }
    function relativeSeconds(number, withoutSuffix) {
        return withoutSuffix ? 'dažas sekundes' : 'dažām sekundēm';
    }

    hooks.defineLocale('lv', {
        months: 'janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris'.split('_'),
        monthsShort: 'jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec'.split('_'),
        weekdays: 'svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena'.split('_'),
        weekdaysShort: 'Sv_P_O_T_C_Pk_S'.split('_'),
        weekdaysMin: 'Sv_P_O_T_C_Pk_S'.split('_'),
        weekdaysParseExact: true,
        longDateFormat: {
            LT: 'HH:mm',
            LTS: 'HH:mm:ss',
            L: 'DD.MM.YYYY.',
            LL: 'YYYY. [gada] D. MMMM',
            LLL: 'YYYY. [gada] D. MMMM, HH:mm',
            LLLL: 'YYYY. [gada] D. MMMM, dddd, HH:mm'
        },
        calendar: {
            sameDay: '[Šodien pulksten] LT',
            nextDay: '[Rīt pulksten] LT',
            nextWeek: 'dddd [pulksten] LT',
            lastDay: '[Vakar pulksten] LT',
            lastWeek: '[Pagājušā] dddd [pulksten] LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: 'pēc %s',
            past: 'pirms %s',
            s: relativeSeconds,
            ss: relativeTimeWithPlural$1,
            m: relativeTimeWithSingular,
            mm: relativeTimeWithPlural$1,
            h: relativeTimeWithSingular,
            hh: relativeTimeWithPlural$1,
            d: relativeTimeWithSingular,
            dd: relativeTimeWithPlural$1,
            M: relativeTimeWithSingular,
            MM: relativeTimeWithPlural$1,
            y: relativeTimeWithSingular,
            yy: relativeTimeWithPlural$1
        },
        dayOfMonthOrdinalParse: /\d{1,2}\./,
        ordinal: '%d.',
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 4  // The week that contains Jan 4th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    var translator = {
        words: { //Different grammatical cases
            ss: ['sekund', 'sekunda', 'sekundi'],
            m: ['jedan minut', 'jednog minuta'],
            mm: ['minut', 'minuta', 'minuta'],
            h: ['jedan sat', 'jednog sata'],
            hh: ['sat', 'sata', 'sati'],
            dd: ['dan', 'dana', 'dana'],
            MM: ['mjesec', 'mjeseca', 'mjeseci'],
            yy: ['godina', 'godine', 'godina']
        },
        correctGrammaticalCase: function (number, wordKey) {
            return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);
        },
        translate: function (number, withoutSuffix, key) {
            var wordKey = translator.words[key];
            if (key.length === 1) {
                return withoutSuffix ? wordKey[0] : wordKey[1];
            } else {
                return number + ' ' + translator.correctGrammaticalCase(number, wordKey);
            }
        }
    };

    hooks.defineLocale('me', {
        months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'),
        monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),
        monthsParseExact: true,
        weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),
        weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),
        weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),
        weekdaysParseExact: true,
        longDateFormat: {
            LT: 'H:mm',
            LTS: 'H:mm:ss',
            L: 'DD.MM.YYYY',
            LL: 'D. MMMM YYYY',
            LLL: 'D. MMMM YYYY H:mm',
            LLLL: 'dddd, D. MMMM YYYY H:mm'
        },
        calendar: {
            sameDay: '[danas u] LT',
            nextDay: '[sjutra u] LT',

            nextWeek: function () {
                switch (this.day()) {
                    case 0:
                        return '[u] [nedjelju] [u] LT';
                    case 3:
                        return '[u] [srijedu] [u] LT';
                    case 6:
                        return '[u] [subotu] [u] LT';
                    case 1:
                    case 2:
                    case 4:
                    case 5:
                        return '[u] dddd [u] LT';
                }
            },
            lastDay: '[juče u] LT',
            lastWeek: function () {
                var lastWeekDays = [
                    '[prošle] [nedjelje] [u] LT',
                    '[prošlog] [ponedjeljka] [u] LT',
                    '[prošlog] [utorka] [u] LT',
                    '[prošle] [srijede] [u] LT',
                    '[prošlog] [četvrtka] [u] LT',
                    '[prošlog] [petka] [u] LT',
                    '[prošle] [subote] [u] LT'
                ];
                return lastWeekDays[this.day()];
            },
            sameElse: 'L'
        },
        relativeTime: {
            future: 'za %s',
            past: 'prije %s',
            s: 'nekoliko sekundi',
            ss: translator.translate,
            m: translator.translate,
            mm: translator.translate,
            h: translator.translate,
            hh: translator.translate,
            d: 'dan',
            dd: translator.translate,
            M: 'mjesec',
            MM: translator.translate,
            y: 'godinu',
            yy: translator.translate
        },
        dayOfMonthOrdinalParse: /\d{1,2}\./,
        ordinal: '%d.',
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 7  // The week that contains Jan 7th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    hooks.defineLocale('mi', {
        months: 'Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea'.split('_'),
        monthsShort: 'Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split('_'),
        monthsRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,
        monthsStrictRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,
        monthsShortRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,
        monthsShortStrictRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,2}/i,
        weekdays: 'Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei'.split('_'),
        weekdaysShort: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),
        weekdaysMin: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),
        longDateFormat: {
            LT: 'HH:mm',
            LTS: 'HH:mm:ss',
            L: 'DD/MM/YYYY',
            LL: 'D MMMM YYYY',
            LLL: 'D MMMM YYYY [i] HH:mm',
            LLLL: 'dddd, D MMMM YYYY [i] HH:mm'
        },
        calendar: {
            sameDay: '[i teie mahana, i] LT',
            nextDay: '[apopo i] LT',
            nextWeek: 'dddd [i] LT',
            lastDay: '[inanahi i] LT',
            lastWeek: 'dddd [whakamutunga i] LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: 'i roto i %s',
            past: '%s i mua',
            s: 'te hēkona ruarua',
            ss: '%d hēkona',
            m: 'he meneti',
            mm: '%d meneti',
            h: 'te haora',
            hh: '%d haora',
            d: 'he ra',
            dd: '%d ra',
            M: 'he marama',
            MM: '%d marama',
            y: 'he tau',
            yy: '%d tau'
        },
        dayOfMonthOrdinalParse: /\d{1,2}º/,
        ordinal: '%dº',
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 4  // The week that contains Jan 4th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    hooks.defineLocale('mk', {
        months: 'јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември'.split('_'),
        monthsShort: 'јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек'.split('_'),
        weekdays: 'недела_понеделник_вторник_среда_четврток_петок_сабота'.split('_'),
        weekdaysShort: 'нед_пон_вто_сре_чет_пет_саб'.split('_'),
        weekdaysMin: 'нe_пo_вт_ср_че_пе_сa'.split('_'),
        longDateFormat: {
            LT: 'H:mm',
            LTS: 'H:mm:ss',
            L: 'D.MM.YYYY',
            LL: 'D MMMM YYYY',
            LLL: 'D MMMM YYYY H:mm',
            LLLL: 'dddd, D MMMM YYYY H:mm'
        },
        calendar: {
            sameDay: '[Денес во] LT',
            nextDay: '[Утре во] LT',
            nextWeek: '[Во] dddd [во] LT',
            lastDay: '[Вчера во] LT',
            lastWeek: function () {
                switch (this.day()) {
                    case 0:
                    case 3:
                    case 6:
                        return '[Изминатата] dddd [во] LT';
                    case 1:
                    case 2:
                    case 4:
                    case 5:
                        return '[Изминатиот] dddd [во] LT';
                }
            },
            sameElse: 'L'
        },
        relativeTime: {
            future: 'после %s',
            past: 'пред %s',
            s: 'неколку секунди',
            ss: '%d секунди',
            m: 'минута',
            mm: '%d минути',
            h: 'час',
            hh: '%d часа',
            d: 'ден',
            dd: '%d дена',
            M: 'месец',
            MM: '%d месеци',
            y: 'година',
            yy: '%d години'
        },
        dayOfMonthOrdinalParse: /\d{1,2}-(ев|ен|ти|ви|ри|ми)/,
        ordinal: function (number) {
            var lastDigit = number % 10,
                last2Digits = number % 100;
            if (number === 0) {
                return number + '-ев';
            } else if (last2Digits === 0) {
                return number + '-ен';
            } else if (last2Digits > 10 && last2Digits < 20) {
                return number + '-ти';
            } else if (lastDigit === 1) {
                return number + '-ви';
            } else if (lastDigit === 2) {
                return number + '-ри';
            } else if (lastDigit === 7 || lastDigit === 8) {
                return number + '-ми';
            } else {
                return number + '-ти';
            }
        },
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 7  // The week that contains Jan 7th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    hooks.defineLocale('ml', {
        months: 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split('_'),
        monthsShort: 'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split('_'),
        monthsParseExact: true,
        weekdays: 'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split('_'),
        weekdaysShort: 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split('_'),
        weekdaysMin: 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split('_'),
        longDateFormat: {
            LT: 'A h:mm -നു',
            LTS: 'A h:mm:ss -നു',
            L: 'DD/MM/YYYY',
            LL: 'D MMMM YYYY',
            LLL: 'D MMMM YYYY, A h:mm -നു',
            LLLL: 'dddd, D MMMM YYYY, A h:mm -നു'
        },
        calendar: {
            sameDay: '[ഇന്ന്] LT',
            nextDay: '[നാളെ] LT',
            nextWeek: 'dddd, LT',
            lastDay: '[ഇന്നലെ] LT',
            lastWeek: '[കഴിഞ്ഞ] dddd, LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: '%s കഴിഞ്ഞ്',
            past: '%s മുൻപ്',
            s: 'അൽപ നിമിഷങ്ങൾ',
            ss: '%d സെക്കൻഡ്',
            m: 'ഒരു മിനിറ്റ്',
            mm: '%d മിനിറ്റ്',
            h: 'ഒരു മണിക്കൂർ',
            hh: '%d മണിക്കൂർ',
            d: 'ഒരു ദിവസം',
            dd: '%d ദിവസം',
            M: 'ഒരു മാസം',
            MM: '%d മാസം',
            y: 'ഒരു വർഷം',
            yy: '%d വർഷം'
        },
        meridiemParse: /രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,
        meridiemHour: function (hour, meridiem) {
            if (hour === 12) {
                hour = 0;
            }
            if ((meridiem === 'രാത്രി' && hour >= 4) ||
                meridiem === 'ഉച്ച കഴിഞ്ഞ്' ||
                meridiem === 'വൈകുന്നേരം') {
                return hour + 12;
            } else {
                return hour;
            }
        },
        meridiem: function (hour, minute, isLower) {
            if (hour < 4) {
                return 'രാത്രി';
            } else if (hour < 12) {
                return 'രാവിലെ';
            } else if (hour < 17) {
                return 'ഉച്ച കഴിഞ്ഞ്';
            } else if (hour < 20) {
                return 'വൈകുന്നേരം';
            } else {
                return 'രാത്രി';
            }
        }
    });

    //! moment.js locale configuration

    function translate$7(number, withoutSuffix, key, isFuture) {
        switch (key) {
            case 's':
                return withoutSuffix ? 'хэдхэн секунд' : 'хэдхэн секундын';
            case 'ss':
                return number + (withoutSuffix ? ' секунд' : ' секундын');
            case 'm':
            case 'mm':
                return number + (withoutSuffix ? ' минут' : ' минутын');
            case 'h':
            case 'hh':
                return number + (withoutSuffix ? ' цаг' : ' цагийн');
            case 'd':
            case 'dd':
                return number + (withoutSuffix ? ' өдөр' : ' өдрийн');
            case 'M':
            case 'MM':
                return number + (withoutSuffix ? ' сар' : ' сарын');
            case 'y':
            case 'yy':
                return number + (withoutSuffix ? ' жил' : ' жилийн');
            default:
                return number;
        }
    }

    hooks.defineLocale('mn', {
        months: 'Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар'.split('_'),
        monthsShort: '1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар'.split('_'),
        monthsParseExact: true,
        weekdays: 'Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба'.split('_'),
        weekdaysShort: 'Ням_Дав_Мяг_Лха_Пүр_Баа_Бям'.split('_'),
        weekdaysMin: 'Ня_Да_Мя_Лх_Пү_Ба_Бя'.split('_'),
        weekdaysParseExact: true,
        longDateFormat: {
            LT: 'HH:mm',
            LTS: 'HH:mm:ss',
            L: 'YYYY-MM-DD',
            LL: 'YYYY оны MMMMын D',
            LLL: 'YYYY оны MMMMын D HH:mm',
            LLLL: 'dddd, YYYY оны MMMMын D HH:mm'
        },
        meridiemParse: /ҮӨ|ҮХ/i,
        isPM: function (input) {
            return input === 'ҮХ';
        },
        meridiem: function (hour, minute, isLower) {
            if (hour < 12) {
                return 'ҮӨ';
            } else {
                return 'ҮХ';
            }
        },
        calendar: {
            sameDay: '[Өнөөдөр] LT',
            nextDay: '[Маргааш] LT',
            nextWeek: '[Ирэх] dddd LT',
            lastDay: '[Өчигдөр] LT',
            lastWeek: '[Өнгөрсөн] dddd LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: '%s дараа',
            past: '%s өмнө',
            s: translate$7,
            ss: translate$7,
            m: translate$7,
            mm: translate$7,
            h: translate$7,
            hh: translate$7,
            d: translate$7,
            dd: translate$7,
            M: translate$7,
            MM: translate$7,
            y: translate$7,
            yy: translate$7
        },
        dayOfMonthOrdinalParse: /\d{1,2} өдөр/,
        ordinal: function (number, period) {
            switch (period) {
                case 'd':
                case 'D':
                case 'DDD':
                    return number + ' өдөр';
                default:
                    return number;
            }
        }
    });

    //! moment.js locale configuration

    var symbolMap$b = {
        '1': '१',
        '2': '२',
        '3': '३',
        '4': '४',
        '5': '५',
        '6': '६',
        '7': '७',
        '8': '८',
        '9': '९',
        '0': '०'
    },
        numberMap$a = {
            '१': '1',
            '२': '2',
            '३': '3',
            '४': '4',
            '५': '5',
            '६': '6',
            '७': '7',
            '८': '8',
            '९': '9',
            '०': '0'
        };

    function relativeTimeMr(number, withoutSuffix, string, isFuture) {
        var output = '';
        if (withoutSuffix) {
            switch (string) {
                case 's': output = 'काही सेकंद'; break;
                case 'ss': output = '%d सेकंद'; break;
                case 'm': output = 'एक मिनिट'; break;
                case 'mm': output = '%d मिनिटे'; break;
                case 'h': output = 'एक तास'; break;
                case 'hh': output = '%d तास'; break;
                case 'd': output = 'एक दिवस'; break;
                case 'dd': output = '%d दिवस'; break;
                case 'M': output = 'एक महिना'; break;
                case 'MM': output = '%d महिने'; break;
                case 'y': output = 'एक वर्ष'; break;
                case 'yy': output = '%d वर्षे'; break;
            }
        }
        else {
            switch (string) {
                case 's': output = 'काही सेकंदां'; break;
                case 'ss': output = '%d सेकंदां'; break;
                case 'm': output = 'एका मिनिटा'; break;
                case 'mm': output = '%d मिनिटां'; break;
                case 'h': output = 'एका तासा'; break;
                case 'hh': output = '%d तासां'; break;
                case 'd': output = 'एका दिवसा'; break;
                case 'dd': output = '%d दिवसां'; break;
                case 'M': output = 'एका महिन्या'; break;
                case 'MM': output = '%d महिन्यां'; break;
                case 'y': output = 'एका वर्षा'; break;
                case 'yy': output = '%d वर्षां'; break;
            }
        }
        return output.replace(/%d/i, number);
    }

    hooks.defineLocale('mr', {
        months: 'जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split('_'),
        monthsShort: 'जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split('_'),
        monthsParseExact: true,
        weekdays: 'रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),
        weekdaysShort: 'रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि'.split('_'),
        weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'),
        longDateFormat: {
            LT: 'A h:mm वाजता',
            LTS: 'A h:mm:ss वाजता',
            L: 'DD/MM/YYYY',
            LL: 'D MMMM YYYY',
            LLL: 'D MMMM YYYY, A h:mm वाजता',
            LLLL: 'dddd, D MMMM YYYY, A h:mm वाजता'
        },
        calendar: {
            sameDay: '[आज] LT',
            nextDay: '[उद्या] LT',
            nextWeek: 'dddd, LT',
            lastDay: '[काल] LT',
            lastWeek: '[मागील] dddd, LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: '%sमध्ये',
            past: '%sपूर्वी',
            s: relativeTimeMr,
            ss: relativeTimeMr,
            m: relativeTimeMr,
            mm: relativeTimeMr,
            h: relativeTimeMr,
            hh: relativeTimeMr,
            d: relativeTimeMr,
            dd: relativeTimeMr,
            M: relativeTimeMr,
            MM: relativeTimeMr,
            y: relativeTimeMr,
            yy: relativeTimeMr
        },
        preparse: function (string) {
            return string.replace(/[१२३४५६७८९०]/g, function (match) {
                return numberMap$a[match];
            });
        },
        postformat: function (string) {
            return string.replace(/\d/g, function (match) {
                return symbolMap$b[match];
            });
        },
        meridiemParse: /रात्री|सकाळी|दुपारी|सायंकाळी/,
        meridiemHour: function (hour, meridiem) {
            if (hour === 12) {
                hour = 0;
            }
            if (meridiem === 'रात्री') {
                return hour < 4 ? hour : hour + 12;
            } else if (meridiem === 'सकाळी') {
                return hour;
            } else if (meridiem === 'दुपारी') {
                return hour >= 10 ? hour : hour + 12;
            } else if (meridiem === 'सायंकाळी') {
                return hour + 12;
            }
        },
        meridiem: function (hour, minute, isLower) {
            if (hour < 4) {
                return 'रात्री';
            } else if (hour < 10) {
                return 'सकाळी';
            } else if (hour < 17) {
                return 'दुपारी';
            } else if (hour < 20) {
                return 'सायंकाळी';
            } else {
                return 'रात्री';
            }
        },
        week: {
            dow: 0, // Sunday is the first day of the week.
            doy: 6  // The week that contains Jan 6th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    hooks.defineLocale('ms-my', {
        months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'),
        monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),
        weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),
        weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),
        weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),
        longDateFormat: {
            LT: 'HH.mm',
            LTS: 'HH.mm.ss',
            L: 'DD/MM/YYYY',
            LL: 'D MMMM YYYY',
            LLL: 'D MMMM YYYY [pukul] HH.mm',
            LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm'
        },
        meridiemParse: /pagi|tengahari|petang|malam/,
        meridiemHour: function (hour, meridiem) {
            if (hour === 12) {
                hour = 0;
            }
            if (meridiem === 'pagi') {
                return hour;
            } else if (meridiem === 'tengahari') {
                return hour >= 11 ? hour : hour + 12;
            } else if (meridiem === 'petang' || meridiem === 'malam') {
                return hour + 12;
            }
        },
        meridiem: function (hours, minutes, isLower) {
            if (hours < 11) {
                return 'pagi';
            } else if (hours < 15) {
                return 'tengahari';
            } else if (hours < 19) {
                return 'petang';
            } else {
                return 'malam';
            }
        },
        calendar: {
            sameDay: '[Hari ini pukul] LT',
            nextDay: '[Esok pukul] LT',
            nextWeek: 'dddd [pukul] LT',
            lastDay: '[Kelmarin pukul] LT',
            lastWeek: 'dddd [lepas pukul] LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: 'dalam %s',
            past: '%s yang lepas',
            s: 'beberapa saat',
            ss: '%d saat',
            m: 'seminit',
            mm: '%d minit',
            h: 'sejam',
            hh: '%d jam',
            d: 'sehari',
            dd: '%d hari',
            M: 'sebulan',
            MM: '%d bulan',
            y: 'setahun',
            yy: '%d tahun'
        },
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 7  // The week that contains Jan 7th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    hooks.defineLocale('ms', {
        months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'),
        monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),
        weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),
        weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),
        weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),
        longDateFormat: {
            LT: 'HH.mm',
            LTS: 'HH.mm.ss',
            L: 'DD/MM/YYYY',
            LL: 'D MMMM YYYY',
            LLL: 'D MMMM YYYY [pukul] HH.mm',
            LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm'
        },
        meridiemParse: /pagi|tengahari|petang|malam/,
        meridiemHour: function (hour, meridiem) {
            if (hour === 12) {
                hour = 0;
            }
            if (meridiem === 'pagi') {
                return hour;
            } else if (meridiem === 'tengahari') {
                return hour >= 11 ? hour : hour + 12;
            } else if (meridiem === 'petang' || meridiem === 'malam') {
                return hour + 12;
            }
        },
        meridiem: function (hours, minutes, isLower) {
            if (hours < 11) {
                return 'pagi';
            } else if (hours < 15) {
                return 'tengahari';
            } else if (hours < 19) {
                return 'petang';
            } else {
                return 'malam';
            }
        },
        calendar: {
            sameDay: '[Hari ini pukul] LT',
            nextDay: '[Esok pukul] LT',
            nextWeek: 'dddd [pukul] LT',
            lastDay: '[Kelmarin pukul] LT',
            lastWeek: 'dddd [lepas pukul] LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: 'dalam %s',
            past: '%s yang lepas',
            s: 'beberapa saat',
            ss: '%d saat',
            m: 'seminit',
            mm: '%d minit',
            h: 'sejam',
            hh: '%d jam',
            d: 'sehari',
            dd: '%d hari',
            M: 'sebulan',
            MM: '%d bulan',
            y: 'setahun',
            yy: '%d tahun'
        },
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 7  // The week that contains Jan 7th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    hooks.defineLocale('mt', {
        months: 'Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru'.split('_'),
        monthsShort: 'Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ'.split('_'),
        weekdays: 'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt'.split('_'),
        weekdaysShort: 'Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib'.split('_'),
        weekdaysMin: 'Ħa_Tn_Tl_Er_Ħa_Ġi_Si'.split('_'),
        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: '[Illum fil-]LT',
            nextDay: '[Għada fil-]LT',
            nextWeek: 'dddd [fil-]LT',
            lastDay: '[Il-bieraħ fil-]LT',
            lastWeek: 'dddd [li għadda] [fil-]LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: 'f’ %s',
            past: '%s ilu',
            s: 'ftit sekondi',
            ss: '%d sekondi',
            m: 'minuta',
            mm: '%d minuti',
            h: 'siegħa',
            hh: '%d siegħat',
            d: 'ġurnata',
            dd: '%d ġranet',
            M: 'xahar',
            MM: '%d xhur',
            y: 'sena',
            yy: '%d sni'
        },
        dayOfMonthOrdinalParse: /\d{1,2}º/,
        ordinal: '%dº',
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 4  // The week that contains Jan 4th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    var symbolMap$c = {
        '1': '၁',
        '2': '၂',
        '3': '၃',
        '4': '၄',
        '5': '၅',
        '6': '၆',
        '7': '၇',
        '8': '၈',
        '9': '၉',
        '0': '၀'
    }, numberMap$b = {
        '၁': '1',
        '၂': '2',
        '၃': '3',
        '၄': '4',
        '၅': '5',
        '၆': '6',
        '၇': '7',
        '၈': '8',
        '၉': '9',
        '၀': '0'
    };

    hooks.defineLocale('my', {
        months: 'ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ'.split('_'),
        monthsShort: 'ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ'.split('_'),
        weekdays: 'တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ'.split('_'),
        weekdaysShort: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),
        weekdaysMin: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),

        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: '[ယနေ.] LT [မှာ]',
            nextDay: '[မနက်ဖြန်] LT [မှာ]',
            nextWeek: 'dddd LT [မှာ]',
            lastDay: '[မနေ.က] LT [မှာ]',
            lastWeek: '[ပြီးခဲ့သော] dddd LT [မှာ]',
            sameElse: 'L'
        },
        relativeTime: {
            future: 'လာမည့် %s မှာ',
            past: 'လွန်ခဲ့သော %s က',
            s: 'စက္ကန်.အနည်းငယ်',
            ss: '%d စက္ကန့်',
            m: 'တစ်မိနစ်',
            mm: '%d မိနစ်',
            h: 'တစ်နာရီ',
            hh: '%d နာရီ',
            d: 'တစ်ရက်',
            dd: '%d ရက်',
            M: 'တစ်လ',
            MM: '%d လ',
            y: 'တစ်နှစ်',
            yy: '%d နှစ်'
        },
        preparse: function (string) {
            return string.replace(/[၁၂၃၄၅၆၇၈၉၀]/g, function (match) {
                return numberMap$b[match];
            });
        },
        postformat: function (string) {
            return string.replace(/\d/g, function (match) {
                return symbolMap$c[match];
            });
        },
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 4 // The week that contains Jan 4th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    hooks.defineLocale('nb', {
        months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'),
        monthsShort: 'jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),
        monthsParseExact: true,
        weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),
        weekdaysShort: 'sø._ma._ti._on._to._fr._lø.'.split('_'),
        weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'),
        weekdaysParseExact: true,
        longDateFormat: {
            LT: 'HH:mm',
            LTS: 'HH:mm:ss',
            L: 'DD.MM.YYYY',
            LL: 'D. MMMM YYYY',
            LLL: 'D. MMMM YYYY [kl.] HH:mm',
            LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm'
        },
        calendar: {
            sameDay: '[i dag kl.] LT',
            nextDay: '[i morgen kl.] LT',
            nextWeek: 'dddd [kl.] LT',
            lastDay: '[i går kl.] LT',
            lastWeek: '[forrige] dddd [kl.] LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: 'om %s',
            past: '%s siden',
            s: 'noen sekunder',
            ss: '%d sekunder',
            m: 'ett minutt',
            mm: '%d minutter',
            h: 'en time',
            hh: '%d timer',
            d: 'en dag',
            dd: '%d dager',
            M: 'en måned',
            MM: '%d måneder',
            y: 'ett år',
            yy: '%d år'
        },
        dayOfMonthOrdinalParse: /\d{1,2}\./,
        ordinal: '%d.',
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 4  // The week that contains Jan 4th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    var symbolMap$d = {
        '1': '१',
        '2': '२',
        '3': '३',
        '4': '४',
        '5': '५',
        '6': '६',
        '7': '७',
        '8': '८',
        '9': '९',
        '0': '०'
    },
        numberMap$c = {
            '१': '1',
            '२': '2',
            '३': '3',
            '४': '4',
            '५': '5',
            '६': '6',
            '७': '7',
            '८': '8',
            '९': '9',
            '०': '0'
        };

    hooks.defineLocale('ne', {
        months: 'जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर'.split('_'),
        monthsShort: 'जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.'.split('_'),
        monthsParseExact: true,
        weekdays: 'आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार'.split('_'),
        weekdaysShort: 'आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.'.split('_'),
        weekdaysMin: 'आ._सो._मं._बु._बि._शु._श.'.split('_'),
        weekdaysParseExact: true,
        longDateFormat: {
            LT: 'Aको h:mm बजे',
            LTS: 'Aको h:mm:ss बजे',
            L: 'DD/MM/YYYY',
            LL: 'D MMMM YYYY',
            LLL: 'D MMMM YYYY, Aको h:mm बजे',
            LLLL: 'dddd, D MMMM YYYY, Aको h:mm बजे'
        },
        preparse: function (string) {
            return string.replace(/[१२३४५६७८९०]/g, function (match) {
                return numberMap$c[match];
            });
        },
        postformat: function (string) {
            return string.replace(/\d/g, function (match) {
                return symbolMap$d[match];
            });
        },
        meridiemParse: /राति|बिहान|दिउँसो|साँझ/,
        meridiemHour: function (hour, meridiem) {
            if (hour === 12) {
                hour = 0;
            }
            if (meridiem === 'राति') {
                return hour < 4 ? hour : hour + 12;
            } else if (meridiem === 'बिहान') {
                return hour;
            } else if (meridiem === 'दिउँसो') {
                return hour >= 10 ? hour : hour + 12;
            } else if (meridiem === 'साँझ') {
                return hour + 12;
            }
        },
        meridiem: function (hour, minute, isLower) {
            if (hour < 3) {
                return 'राति';
            } else if (hour < 12) {
                return 'बिहान';
            } else if (hour < 16) {
                return 'दिउँसो';
            } else if (hour < 20) {
                return 'साँझ';
            } else {
                return 'राति';
            }
        },
        calendar: {
            sameDay: '[आज] LT',
            nextDay: '[भोलि] LT',
            nextWeek: '[आउँदो] dddd[,] LT',
            lastDay: '[हिजो] LT',
            lastWeek: '[गएको] dddd[,] LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: '%sमा',
            past: '%s अगाडि',
            s: 'केही क्षण',
            ss: '%d सेकेण्ड',
            m: 'एक मिनेट',
            mm: '%d मिनेट',
            h: 'एक घण्टा',
            hh: '%d घण्टा',
            d: 'एक दिन',
            dd: '%d दिन',
            M: 'एक महिना',
            MM: '%d महिना',
            y: 'एक बर्ष',
            yy: '%d बर्ष'
        },
        week: {
            dow: 0, // Sunday is the first day of the week.
            doy: 6  // The week that contains Jan 6th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    var monthsShortWithDots$1 = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),
        monthsShortWithoutDots$1 = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_');

    var monthsParse$4 = [/^jan/i, /^feb/i, /^maart|mrt.?$/i, /^apr/i, /^mei$/i, /^jun[i.]?$/i, /^jul[i.]?$/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^dec/i];
    var monthsRegex$5 = /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;

    hooks.defineLocale('nl-be', {
        months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'),
        monthsShort: function (m, format) {
            if (!m) {
                return monthsShortWithDots$1;
            } else if (/-MMM-/.test(format)) {
                return monthsShortWithoutDots$1[m.month()];
            } else {
                return monthsShortWithDots$1[m.month()];
            }
        },

        monthsRegex: monthsRegex$5,
        monthsShortRegex: monthsRegex$5,
        monthsStrictRegex: /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,
        monthsShortStrictRegex: /^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,

        monthsParse: monthsParse$4,
        longMonthsParse: monthsParse$4,
        shortMonthsParse: monthsParse$4,

        weekdays: 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),
        weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'),
        weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'),
        weekdaysParseExact: true,
        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: '[vandaag om] LT',
            nextDay: '[morgen om] LT',
            nextWeek: 'dddd [om] LT',
            lastDay: '[gisteren om] LT',
            lastWeek: '[afgelopen] dddd [om] LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: 'over %s',
            past: '%s geleden',
            s: 'een paar seconden',
            ss: '%d seconden',
            m: 'één minuut',
            mm: '%d minuten',
            h: 'één uur',
            hh: '%d uur',
            d: 'één dag',
            dd: '%d dagen',
            M: 'één maand',
            MM: '%d maanden',
            y: 'één jaar',
            yy: '%d jaar'
        },
        dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/,
        ordinal: function (number) {
            return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');
        },
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 4  // The week that contains Jan 4th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    var monthsShortWithDots$2 = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),
        monthsShortWithoutDots$2 = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_');

    var monthsParse$5 = [/^jan/i, /^feb/i, /^maart|mrt.?$/i, /^apr/i, /^mei$/i, /^jun[i.]?$/i, /^jul[i.]?$/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^dec/i];
    var monthsRegex$6 = /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;

    hooks.defineLocale('nl', {
        months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'),
        monthsShort: function (m, format) {
            if (!m) {
                return monthsShortWithDots$2;
            } else if (/-MMM-/.test(format)) {
                return monthsShortWithoutDots$2[m.month()];
            } else {
                return monthsShortWithDots$2[m.month()];
            }
        },

        monthsRegex: monthsRegex$6,
        monthsShortRegex: monthsRegex$6,
        monthsStrictRegex: /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,
        monthsShortStrictRegex: /^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,

        monthsParse: monthsParse$5,
        longMonthsParse: monthsParse$5,
        shortMonthsParse: monthsParse$5,

        weekdays: 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),
        weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'),
        weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'),
        weekdaysParseExact: true,
        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: '[vandaag om] LT',
            nextDay: '[morgen om] LT',
            nextWeek: 'dddd [om] LT',
            lastDay: '[gisteren om] LT',
            lastWeek: '[afgelopen] dddd [om] LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: 'over %s',
            past: '%s geleden',
            s: 'een paar seconden',
            ss: '%d seconden',
            m: 'één minuut',
            mm: '%d minuten',
            h: 'één uur',
            hh: '%d uur',
            d: 'één dag',
            dd: '%d dagen',
            M: 'één maand',
            MM: '%d maanden',
            y: 'één jaar',
            yy: '%d jaar'
        },
        dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/,
        ordinal: function (number) {
            return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');
        },
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 4  // The week that contains Jan 4th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    hooks.defineLocale('nn', {
        months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'),
        monthsShort: 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),
        weekdays: 'sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'),
        weekdaysShort: 'sun_mån_tys_ons_tor_fre_lau'.split('_'),
        weekdaysMin: 'su_må_ty_on_to_fr_lø'.split('_'),
        longDateFormat: {
            LT: 'HH:mm',
            LTS: 'HH:mm:ss',
            L: 'DD.MM.YYYY',
            LL: 'D. MMMM YYYY',
            LLL: 'D. MMMM YYYY [kl.] H:mm',
            LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm'
        },
        calendar: {
            sameDay: '[I dag klokka] LT',
            nextDay: '[I morgon klokka] LT',
            nextWeek: 'dddd [klokka] LT',
            lastDay: '[I går klokka] LT',
            lastWeek: '[Føregåande] dddd [klokka] LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: 'om %s',
            past: '%s sidan',
            s: 'nokre sekund',
            ss: '%d sekund',
            m: 'eit minutt',
            mm: '%d minutt',
            h: 'ein time',
            hh: '%d timar',
            d: 'ein dag',
            dd: '%d dagar',
            M: 'ein månad',
            MM: '%d månader',
            y: 'eit år',
            yy: '%d år'
        },
        dayOfMonthOrdinalParse: /\d{1,2}\./,
        ordinal: '%d.',
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 4  // The week that contains Jan 4th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    var symbolMap$e = {
        '1': '੧',
        '2': '੨',
        '3': '੩',
        '4': '੪',
        '5': '੫',
        '6': '੬',
        '7': '੭',
        '8': '੮',
        '9': '੯',
        '0': '੦'
    },
        numberMap$d = {
            '੧': '1',
            '੨': '2',
            '੩': '3',
            '੪': '4',
            '੫': '5',
            '੬': '6',
            '੭': '7',
            '੮': '8',
            '੯': '9',
            '੦': '0'
        };

    hooks.defineLocale('pa-in', {
        // There are months name as per Nanakshahi Calendar but they are not used as rigidly in modern Punjabi.
        months: 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'),
        monthsShort: 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'),
        weekdays: 'ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ'.split('_'),
        weekdaysShort: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),
        weekdaysMin: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),
        longDateFormat: {
            LT: 'A h:mm ਵਜੇ',
            LTS: 'A h:mm:ss ਵਜੇ',
            L: 'DD/MM/YYYY',
            LL: 'D MMMM YYYY',
            LLL: 'D MMMM YYYY, A h:mm ਵਜੇ',
            LLLL: 'dddd, D MMMM YYYY, A h:mm ਵਜੇ'
        },
        calendar: {
            sameDay: '[ਅਜ] LT',
            nextDay: '[ਕਲ] LT',
            nextWeek: '[ਅਗਲਾ] dddd, LT',
            lastDay: '[ਕਲ] LT',
            lastWeek: '[ਪਿਛਲੇ] dddd, LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: '%s ਵਿੱਚ',
            past: '%s ਪਿਛਲੇ',
            s: 'ਕੁਝ ਸਕਿੰਟ',
            ss: '%d ਸਕਿੰਟ',
            m: 'ਇਕ ਮਿੰਟ',
            mm: '%d ਮਿੰਟ',
            h: 'ਇੱਕ ਘੰਟਾ',
            hh: '%d ਘੰਟੇ',
            d: 'ਇੱਕ ਦਿਨ',
            dd: '%d ਦਿਨ',
            M: 'ਇੱਕ ਮਹੀਨਾ',
            MM: '%d ਮਹੀਨੇ',
            y: 'ਇੱਕ ਸਾਲ',
            yy: '%d ਸਾਲ'
        },
        preparse: function (string) {
            return string.replace(/[੧੨੩੪੫੬੭੮੯੦]/g, function (match) {
                return numberMap$d[match];
            });
        },
        postformat: function (string) {
            return string.replace(/\d/g, function (match) {
                return symbolMap$e[match];
            });
        },
        // Punjabi notation for meridiems are quite fuzzy in practice. While there exists
        // a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi.
        meridiemParse: /ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,
        meridiemHour: function (hour, meridiem) {
            if (hour === 12) {
                hour = 0;
            }
            if (meridiem === 'ਰਾਤ') {
                return hour < 4 ? hour : hour + 12;
            } else if (meridiem === 'ਸਵੇਰ') {
                return hour;
            } else if (meridiem === 'ਦੁਪਹਿਰ') {
                return hour >= 10 ? hour : hour + 12;
            } else if (meridiem === 'ਸ਼ਾਮ') {
                return hour + 12;
            }
        },
        meridiem: function (hour, minute, isLower) {
            if (hour < 4) {
                return 'ਰਾਤ';
            } else if (hour < 10) {
                return 'ਸਵੇਰ';
            } else if (hour < 17) {
                return 'ਦੁਪਹਿਰ';
            } else if (hour < 20) {
                return 'ਸ਼ਾਮ';
            } else {
                return 'ਰਾਤ';
            }
        },
        week: {
            dow: 0, // Sunday is the first day of the week.
            doy: 6  // The week that contains Jan 6th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    var monthsNominative = 'styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień'.split('_'),
        monthsSubjective = 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia'.split('_');
    function plural$3(n) {
        return (n % 10 < 5) && (n % 10 > 1) && ((~~(n / 10) % 10) !== 1);
    }
    function translate$8(number, withoutSuffix, key) {
        var result = number + ' ';
        switch (key) {
            case 'ss':
                return result + (plural$3(number) ? 'sekundy' : 'sekund');
            case 'm':
                return withoutSuffix ? 'minuta' : 'minutę';
            case 'mm':
                return result + (plural$3(number) ? 'minuty' : 'minut');
            case 'h':
                return withoutSuffix ? 'godzina' : 'godzinę';
            case 'hh':
                return result + (plural$3(number) ? 'godziny' : 'godzin');
            case 'MM':
                return result + (plural$3(number) ? 'miesiące' : 'miesięcy');
            case 'yy':
                return result + (plural$3(number) ? 'lata' : 'lat');
        }
    }

    hooks.defineLocale('pl', {
        months: function (momentToFormat, format) {
            if (!momentToFormat) {
                return monthsNominative;
            } else if (format === '') {
                // Hack: if format empty we know this is used to generate
                // RegExp by moment. Give then back both valid forms of months
                // in RegExp ready format.
                return '(' + monthsSubjective[momentToFormat.month()] + '|' + monthsNominative[momentToFormat.month()] + ')';
            } else if (/D MMMM/.test(format)) {
                return monthsSubjective[momentToFormat.month()];
            } else {
                return monthsNominative[momentToFormat.month()];
            }
        },
        monthsShort: 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split('_'),
        weekdays: 'niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota'.split('_'),
        weekdaysShort: 'ndz_pon_wt_śr_czw_pt_sob'.split('_'),
        weekdaysMin: 'Nd_Pn_Wt_Śr_Cz_Pt_So'.split('_'),
        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: '[Dziś o] LT',
            nextDay: '[Jutro o] LT',
            nextWeek: function () {
                switch (this.day()) {
                    case 0:
                        return '[W niedzielę o] LT';

                    case 2:
                        return '[We wtorek o] LT';

                    case 3:
                        return '[W środę o] LT';

                    case 6:
                        return '[W sobotę o] LT';

                    default:
                        return '[W] dddd [o] LT';
                }
            },
            lastDay: '[Wczoraj o] LT',
            lastWeek: function () {
                switch (this.day()) {
                    case 0:
                        return '[W zeszłą niedzielę o] LT';
                    case 3:
                        return '[W zeszłą środę o] LT';
                    case 6:
                        return '[W zeszłą sobotę o] LT';
                    default:
                        return '[W zeszły] dddd [o] LT';
                }
            },
            sameElse: 'L'
        },
        relativeTime: {
            future: 'za %s',
            past: '%s temu',
            s: 'kilka sekund',
            ss: translate$8,
            m: translate$8,
            mm: translate$8,
            h: translate$8,
            hh: translate$8,
            d: '1 dzień',
            dd: '%d dni',
            M: 'miesiąc',
            MM: translate$8,
            y: 'rok',
            yy: translate$8
        },
        dayOfMonthOrdinalParse: /\d{1,2}\./,
        ordinal: '%d.',
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 4  // The week that contains Jan 4th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    hooks.defineLocale('pt-br', {
        months: 'Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro'.split('_'),
        monthsShort: 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),
        weekdays: 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'),
        weekdaysShort: 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),
        weekdaysMin: 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),
        weekdaysParseExact: true,
        longDateFormat: {
            LT: 'HH:mm',
            LTS: 'HH:mm:ss',
            L: 'DD/MM/YYYY',
            LL: 'D [de] MMMM [de] YYYY',
            LLL: 'D [de] MMMM [de] YYYY [às] HH:mm',
            LLLL: 'dddd, D [de] MMMM [de] YYYY [às] HH:mm'
        },
        calendar: {
            sameDay: '[Hoje às] LT',
            nextDay: '[Amanhã às] LT',
            nextWeek: 'dddd [às] LT',
            lastDay: '[Ontem às] LT',
            lastWeek: function () {
                return (this.day() === 0 || this.day() === 6) ?
                    '[Último] dddd [às] LT' : // Saturday + Sunday
                    '[Última] dddd [às] LT'; // Monday - Friday
            },
            sameElse: 'L'
        },
        relativeTime: {
            future: 'em %s',
            past: 'há %s',
            s: 'poucos segundos',
            ss: '%d segundos',
            m: 'um minuto',
            mm: '%d minutos',
            h: 'uma hora',
            hh: '%d horas',
            d: 'um dia',
            dd: '%d dias',
            M: 'um mês',
            MM: '%d meses',
            y: 'um ano',
            yy: '%d anos'
        },
        dayOfMonthOrdinalParse: /\d{1,2}º/,
        ordinal: '%dº'
    });

    //! moment.js locale configuration

    hooks.defineLocale('pt', {
        months: 'Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro'.split('_'),
        monthsShort: 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),
        weekdays: 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'),
        weekdaysShort: 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),
        weekdaysMin: 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),
        weekdaysParseExact: true,
        longDateFormat: {
            LT: 'HH:mm',
            LTS: 'HH:mm:ss',
            L: 'DD/MM/YYYY',
            LL: 'D [de] MMMM [de] YYYY',
            LLL: 'D [de] MMMM [de] YYYY HH:mm',
            LLLL: 'dddd, D [de] MMMM [de] YYYY HH:mm'
        },
        calendar: {
            sameDay: '[Hoje às] LT',
            nextDay: '[Amanhã às] LT',
            nextWeek: 'dddd [às] LT',
            lastDay: '[Ontem às] LT',
            lastWeek: function () {
                return (this.day() === 0 || this.day() === 6) ?
                    '[Último] dddd [às] LT' : // Saturday + Sunday
                    '[Última] dddd [às] LT'; // Monday - Friday
            },
            sameElse: 'L'
        },
        relativeTime: {
            future: 'em %s',
            past: 'há %s',
            s: 'segundos',
            ss: '%d segundos',
            m: 'um minuto',
            mm: '%d minutos',
            h: 'uma hora',
            hh: '%d horas',
            d: 'um dia',
            dd: '%d dias',
            M: 'um mês',
            MM: '%d meses',
            y: 'um ano',
            yy: '%d anos'
        },
        dayOfMonthOrdinalParse: /\d{1,2}º/,
        ordinal: '%dº',
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 4  // The week that contains Jan 4th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    function relativeTimeWithPlural$2(number, withoutSuffix, key) {
        var format = {
            'ss': 'secunde',
            'mm': 'minute',
            'hh': 'ore',
            'dd': 'zile',
            'MM': 'luni',
            'yy': 'ani'
        },
            separator = ' ';
        if (number % 100 >= 20 || (number >= 100 && number % 100 === 0)) {
            separator = ' de ';
        }
        return number + separator + format[key];
    }

    hooks.defineLocale('ro', {
        months: 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split('_'),
        monthsShort: 'ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split('_'),
        monthsParseExact: true,
        weekdays: 'duminică_luni_marți_miercuri_joi_vineri_sâmbătă'.split('_'),
        weekdaysShort: 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'),
        weekdaysMin: 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'),
        longDateFormat: {
            LT: 'H:mm',
            LTS: 'H:mm:ss',
            L: 'DD.MM.YYYY',
            LL: 'D MMMM YYYY',
            LLL: 'D MMMM YYYY H:mm',
            LLLL: 'dddd, D MMMM YYYY H:mm'
        },
        calendar: {
            sameDay: '[azi la] LT',
            nextDay: '[mâine la] LT',
            nextWeek: 'dddd [la] LT',
            lastDay: '[ieri la] LT',
            lastWeek: '[fosta] dddd [la] LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: 'peste %s',
            past: '%s în urmă',
            s: 'câteva secunde',
            ss: relativeTimeWithPlural$2,
            m: 'un minut',
            mm: relativeTimeWithPlural$2,
            h: 'o oră',
            hh: relativeTimeWithPlural$2,
            d: 'o zi',
            dd: relativeTimeWithPlural$2,
            M: 'o lună',
            MM: relativeTimeWithPlural$2,
            y: 'un an',
            yy: relativeTimeWithPlural$2
        },
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 7  // The week that contains Jan 7th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    function plural$4(word, num) {
        var forms = word.split('_');
        return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);
    }
    function relativeTimeWithPlural$3(number, withoutSuffix, key) {
        var format = {
            'ss': withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',
            'mm': withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут',
            'hh': 'час_часа_часов',
            'dd': 'день_дня_дней',
            'MM': 'месяц_месяца_месяцев',
            'yy': 'год_года_лет'
        };
        if (key === 'm') {
            return withoutSuffix ? 'минута' : 'минуту';
        }
        else {
            return number + ' ' + plural$4(format[key], +number);
        }
    }
    var monthsParse$6 = [/^янв/i, /^фев/i, /^мар/i, /^апр/i, /^ма[йя]/i, /^июн/i, /^июл/i, /^авг/i, /^сен/i, /^окт/i, /^ноя/i, /^дек/i];

    // http://new.gramota.ru/spravka/rules/139-prop : § 103
    // Сокращения месяцев: http://new.gramota.ru/spravka/buro/search-answer?s=242637
    // CLDR data:          http://www.unicode.org/cldr/charts/28/summary/ru.html#1753
    hooks.defineLocale('ru', {
        months: {
            format: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split('_'),
            standalone: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_')
        },
        monthsShort: {
            // по CLDR именно "июл." и "июн.", но какой смысл менять букву на точку ?
            format: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split('_'),
            standalone: 'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split('_')
        },
        weekdays: {
            standalone: 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split('_'),
            format: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split('_'),
            isFormat: /\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?\] ?dddd/
        },
        weekdaysShort: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),
        weekdaysMin: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),
        monthsParse: monthsParse$6,
        longMonthsParse: monthsParse$6,
        shortMonthsParse: monthsParse$6,

        // полные названия с падежами, по три буквы, для некоторых, по 4 буквы, сокращения с точкой и без точки
        monthsRegex: /^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,

        // копия предыдущего
        monthsShortRegex: /^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,

        // полные названия с падежами
        monthsStrictRegex: /^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,

        // Выражение, которое соотвествует только сокращённым формам
        monthsShortStrictRegex: /^(янв\.|февр?\.|мар[т.]|апр\.|ма[яй]|июн[ья.]|июл[ья.]|авг\.|сент?\.|окт\.|нояб?\.|дек\.)/i,
        longDateFormat: {
            LT: 'H:mm',
            LTS: 'H:mm:ss',
            L: 'DD.MM.YYYY',
            LL: 'D MMMM YYYY г.',
            LLL: 'D MMMM YYYY г., H:mm',
            LLLL: 'dddd, D MMMM YYYY г., H:mm'
        },
        calendar: {
            sameDay: '[Сегодня, в] LT',
            nextDay: '[Завтра, в] LT',
            lastDay: '[Вчера, в] LT',
            nextWeek: function (now) {
                if (now.week() !== this.week()) {
                    switch (this.day()) {
                        case 0:
                            return '[В следующее] dddd, [в] LT';
                        case 1:
                        case 2:
                        case 4:
                            return '[В следующий] dddd, [в] LT';
                        case 3:
                        case 5:
                        case 6:
                            return '[В следующую] dddd, [в] LT';
                    }
                } else {
                    if (this.day() === 2) {
                        return '[Во] dddd, [в] LT';
                    } else {
                        return '[В] dddd, [в] LT';
                    }
                }
            },
            lastWeek: function (now) {
                if (now.week() !== this.week()) {
                    switch (this.day()) {
                        case 0:
                            return '[В прошлое] dddd, [в] LT';
                        case 1:
                        case 2:
                        case 4:
                            return '[В прошлый] dddd, [в] LT';
                        case 3:
                        case 5:
                        case 6:
                            return '[В прошлую] dddd, [в] LT';
                    }
                } else {
                    if (this.day() === 2) {
                        return '[Во] dddd, [в] LT';
                    } else {
                        return '[В] dddd, [в] LT';
                    }
                }
            },
            sameElse: 'L'
        },
        relativeTime: {
            future: 'через %s',
            past: '%s назад',
            s: 'несколько секунд',
            ss: relativeTimeWithPlural$3,
            m: relativeTimeWithPlural$3,
            mm: relativeTimeWithPlural$3,
            h: 'час',
            hh: relativeTimeWithPlural$3,
            d: 'день',
            dd: relativeTimeWithPlural$3,
            M: 'месяц',
            MM: relativeTimeWithPlural$3,
            y: 'год',
            yy: relativeTimeWithPlural$3
        },
        meridiemParse: /ночи|утра|дня|вечера/i,
        isPM: function (input) {
            return /^(дня|вечера)$/.test(input);
        },
        meridiem: function (hour, minute, isLower) {
            if (hour < 4) {
                return 'ночи';
            } else if (hour < 12) {
                return 'утра';
            } else if (hour < 17) {
                return 'дня';
            } else {
                return 'вечера';
            }
        },
        dayOfMonthOrdinalParse: /\d{1,2}-(й|го|я)/,
        ordinal: function (number, period) {
            switch (period) {
                case 'M':
                case 'd':
                case 'DDD':
                    return number + '-й';
                case 'D':
                    return number + '-го';
                case 'w':
                case 'W':
                    return number + '-я';
                default:
                    return number;
            }
        },
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 4  // The week that contains Jan 4th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    var months$8 = [
        'جنوري',
        'فيبروري',
        'مارچ',
        'اپريل',
        'مئي',
        'جون',
        'جولاءِ',
        'آگسٽ',
        'سيپٽمبر',
        'آڪٽوبر',
        'نومبر',
        'ڊسمبر'
    ];
    var days$1 = [
        'آچر',
        'سومر',
        'اڱارو',
        'اربع',
        'خميس',
        'جمع',
        'ڇنڇر'
    ];

    hooks.defineLocale('sd', {
        months: months$8,
        monthsShort: months$8,
        weekdays: days$1,
        weekdaysShort: days$1,
        weekdaysMin: days$1,
        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'
        },
        meridiemParse: /صبح|شام/,
        isPM: function (input) {
            return 'شام' === input;
        },
        meridiem: function (hour, minute, isLower) {
            if (hour < 12) {
                return 'صبح';
            }
            return 'شام';
        },
        calendar: {
            sameDay: '[اڄ] LT',
            nextDay: '[سڀاڻي] LT',
            nextWeek: 'dddd [اڳين هفتي تي] LT',
            lastDay: '[ڪالهه] LT',
            lastWeek: '[گزريل هفتي] dddd [تي] LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: '%s پوء',
            past: '%s اڳ',
            s: 'چند سيڪنڊ',
            ss: '%d سيڪنڊ',
            m: 'هڪ منٽ',
            mm: '%d منٽ',
            h: 'هڪ ڪلاڪ',
            hh: '%d ڪلاڪ',
            d: 'هڪ ڏينهن',
            dd: '%d ڏينهن',
            M: 'هڪ مهينو',
            MM: '%d مهينا',
            y: 'هڪ سال',
            yy: '%d سال'
        },
        preparse: function (string) {
            return string.replace(/،/g, ',');
        },
        postformat: function (string) {
            return string.replace(/,/g, '،');
        },
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 4  // The week that contains Jan 4th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    hooks.defineLocale('se', {
        months: 'ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu'.split('_'),
        monthsShort: 'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov'.split('_'),
        weekdays: 'sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split('_'),
        weekdaysShort: 'sotn_vuos_maŋ_gask_duor_bear_láv'.split('_'),
        weekdaysMin: 's_v_m_g_d_b_L'.split('_'),
        longDateFormat: {
            LT: 'HH:mm',
            LTS: 'HH:mm:ss',
            L: 'DD.MM.YYYY',
            LL: 'MMMM D. [b.] YYYY',
            LLL: 'MMMM D. [b.] YYYY [ti.] HH:mm',
            LLLL: 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm'
        },
        calendar: {
            sameDay: '[otne ti] LT',
            nextDay: '[ihttin ti] LT',
            nextWeek: 'dddd [ti] LT',
            lastDay: '[ikte ti] LT',
            lastWeek: '[ovddit] dddd [ti] LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: '%s geažes',
            past: 'maŋit %s',
            s: 'moadde sekunddat',
            ss: '%d sekunddat',
            m: 'okta minuhta',
            mm: '%d minuhtat',
            h: 'okta diimmu',
            hh: '%d diimmut',
            d: 'okta beaivi',
            dd: '%d beaivvit',
            M: 'okta mánnu',
            MM: '%d mánut',
            y: 'okta jahki',
            yy: '%d jagit'
        },
        dayOfMonthOrdinalParse: /\d{1,2}\./,
        ordinal: '%d.',
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 4  // The week that contains Jan 4th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    /*jshint -W100*/
    hooks.defineLocale('si', {
        months: 'ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්'.split('_'),
        monthsShort: 'ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ'.split('_'),
        weekdays: 'ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා'.split('_'),
        weekdaysShort: 'ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන'.split('_'),
        weekdaysMin: 'ඉ_ස_අ_බ_බ්‍ර_සි_සෙ'.split('_'),
        weekdaysParseExact: true,
        longDateFormat: {
            LT: 'a h:mm',
            LTS: 'a h:mm:ss',
            L: 'YYYY/MM/DD',
            LL: 'YYYY MMMM D',
            LLL: 'YYYY MMMM D, a h:mm',
            LLLL: 'YYYY MMMM D [වැනි] dddd, a h:mm:ss'
        },
        calendar: {
            sameDay: '[අද] LT[ට]',
            nextDay: '[හෙට] LT[ට]',
            nextWeek: 'dddd LT[ට]',
            lastDay: '[ඊයේ] LT[ට]',
            lastWeek: '[පසුගිය] dddd LT[ට]',
            sameElse: 'L'
        },
        relativeTime: {
            future: '%sකින්',
            past: '%sකට පෙර',
            s: 'තත්පර කිහිපය',
            ss: 'තත්පර %d',
            m: 'මිනිත්තුව',
            mm: 'මිනිත්තු %d',
            h: 'පැය',
            hh: 'පැය %d',
            d: 'දිනය',
            dd: 'දින %d',
            M: 'මාසය',
            MM: 'මාස %d',
            y: 'වසර',
            yy: 'වසර %d'
        },
        dayOfMonthOrdinalParse: /\d{1,2} වැනි/,
        ordinal: function (number) {
            return number + ' වැනි';
        },
        meridiemParse: /පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,
        isPM: function (input) {
            return input === 'ප.ව.' || input === 'පස් වරු';
        },
        meridiem: function (hours, minutes, isLower) {
            if (hours > 11) {
                return isLower ? 'ප.ව.' : 'පස් වරු';
            } else {
                return isLower ? 'පෙ.ව.' : 'පෙර වරු';
            }
        }
    });

    //! moment.js locale configuration

    var months$9 = 'január_február_marec_apríl_máj_jún_júl_august_september_október_november_december'.split('_'),
        monthsShort$6 = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_');
    function plural$5(n) {
        return (n > 1) && (n < 5);
    }
    function translate$9(number, withoutSuffix, key, isFuture) {
        var result = number + ' ';
        switch (key) {
            case 's':  // a few seconds / in a few seconds / a few seconds ago
                return (withoutSuffix || isFuture) ? 'pár sekúnd' : 'pár sekundami';
            case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago
                if (withoutSuffix || isFuture) {
                    return result + (plural$5(number) ? 'sekundy' : 'sekúnd');
                } else {
                    return result + 'sekundami';
                }
                break;
            case 'm':  // a minute / in a minute / a minute ago
                return withoutSuffix ? 'minúta' : (isFuture ? 'minútu' : 'minútou');
            case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago
                if (withoutSuffix || isFuture) {
                    return result + (plural$5(number) ? 'minúty' : 'minút');
                } else {
                    return result + 'minútami';
                }
                break;
            case 'h':  // an hour / in an hour / an hour ago
                return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou');
            case 'hh': // 9 hours / in 9 hours / 9 hours ago
                if (withoutSuffix || isFuture) {
                    return result + (plural$5(number) ? 'hodiny' : 'hodín');
                } else {
                    return result + 'hodinami';
                }
                break;
            case 'd':  // a day / in a day / a day ago
                return (withoutSuffix || isFuture) ? 'deň' : 'dňom';
            case 'dd': // 9 days / in 9 days / 9 days ago
                if (withoutSuffix || isFuture) {
                    return result + (plural$5(number) ? 'dni' : 'dní');
                } else {
                    return result + 'dňami';
                }
                break;
            case 'M':  // a month / in a month / a month ago
                return (withoutSuffix || isFuture) ? 'mesiac' : 'mesiacom';
            case 'MM': // 9 months / in 9 months / 9 months ago
                if (withoutSuffix || isFuture) {
                    return result + (plural$5(number) ? 'mesiace' : 'mesiacov');
                } else {
                    return result + 'mesiacmi';
                }
                break;
            case 'y':  // a year / in a year / a year ago
                return (withoutSuffix || isFuture) ? 'rok' : 'rokom';
            case 'yy': // 9 years / in 9 years / 9 years ago
                if (withoutSuffix || isFuture) {
                    return result + (plural$5(number) ? 'roky' : 'rokov');
                } else {
                    return result + 'rokmi';
                }
                break;
        }
    }

    hooks.defineLocale('sk', {
        months: months$9,
        monthsShort: monthsShort$6,
        weekdays: 'nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota'.split('_'),
        weekdaysShort: 'ne_po_ut_st_št_pi_so'.split('_'),
        weekdaysMin: 'ne_po_ut_st_št_pi_so'.split('_'),
        longDateFormat: {
            LT: 'H:mm',
            LTS: 'H:mm:ss',
            L: 'DD.MM.YYYY',
            LL: 'D. MMMM YYYY',
            LLL: 'D. MMMM YYYY H:mm',
            LLLL: 'dddd D. MMMM YYYY H:mm'
        },
        calendar: {
            sameDay: '[dnes o] LT',
            nextDay: '[zajtra o] LT',
            nextWeek: function () {
                switch (this.day()) {
                    case 0:
                        return '[v nedeľu o] LT';
                    case 1:
                    case 2:
                        return '[v] dddd [o] LT';
                    case 3:
                        return '[v stredu o] LT';
                    case 4:
                        return '[vo štvrtok o] LT';
                    case 5:
                        return '[v piatok o] LT';
                    case 6:
                        return '[v sobotu o] LT';
                }
            },
            lastDay: '[včera o] LT',
            lastWeek: function () {
                switch (this.day()) {
                    case 0:
                        return '[minulú nedeľu o] LT';
                    case 1:
                    case 2:
                        return '[minulý] dddd [o] LT';
                    case 3:
                        return '[minulú stredu o] LT';
                    case 4:
                    case 5:
                        return '[minulý] dddd [o] LT';
                    case 6:
                        return '[minulú sobotu o] LT';
                }
            },
            sameElse: 'L'
        },
        relativeTime: {
            future: 'za %s',
            past: 'pred %s',
            s: translate$9,
            ss: translate$9,
            m: translate$9,
            mm: translate$9,
            h: translate$9,
            hh: translate$9,
            d: translate$9,
            dd: translate$9,
            M: translate$9,
            MM: translate$9,
            y: translate$9,
            yy: translate$9
        },
        dayOfMonthOrdinalParse: /\d{1,2}\./,
        ordinal: '%d.',
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 4  // The week that contains Jan 4th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    function processRelativeTime$6(number, withoutSuffix, key, isFuture) {
        var result = number + ' ';
        switch (key) {
            case 's':
                return withoutSuffix || isFuture ? 'nekaj sekund' : 'nekaj sekundami';
            case 'ss':
                if (number === 1) {
                    result += withoutSuffix ? 'sekundo' : 'sekundi';
                } else if (number === 2) {
                    result += withoutSuffix || isFuture ? 'sekundi' : 'sekundah';
                } else if (number < 5) {
                    result += withoutSuffix || isFuture ? 'sekunde' : 'sekundah';
                } else {
                    result += 'sekund';
                }
                return result;
            case 'm':
                return withoutSuffix ? 'ena minuta' : 'eno minuto';
            case 'mm':
                if (number === 1) {
                    result += withoutSuffix ? 'minuta' : 'minuto';
                } else if (number === 2) {
                    result += withoutSuffix || isFuture ? 'minuti' : 'minutama';
                } else if (number < 5) {
                    result += withoutSuffix || isFuture ? 'minute' : 'minutami';
                } else {
                    result += withoutSuffix || isFuture ? 'minut' : 'minutami';
                }
                return result;
            case 'h':
                return withoutSuffix ? 'ena ura' : 'eno uro';
            case 'hh':
                if (number === 1) {
                    result += withoutSuffix ? 'ura' : 'uro';
                } else if (number === 2) {
                    result += withoutSuffix || isFuture ? 'uri' : 'urama';
                } else if (number < 5) {
                    result += withoutSuffix || isFuture ? 'ure' : 'urami';
                } else {
                    result += withoutSuffix || isFuture ? 'ur' : 'urami';
                }
                return result;
            case 'd':
                return withoutSuffix || isFuture ? 'en dan' : 'enim dnem';
            case 'dd':
                if (number === 1) {
                    result += withoutSuffix || isFuture ? 'dan' : 'dnem';
                } else if (number === 2) {
                    result += withoutSuffix || isFuture ? 'dni' : 'dnevoma';
                } else {
                    result += withoutSuffix || isFuture ? 'dni' : 'dnevi';
                }
                return result;
            case 'M':
                return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem';
            case 'MM':
                if (number === 1) {
                    result += withoutSuffix || isFuture ? 'mesec' : 'mesecem';
                } else if (number === 2) {
                    result += withoutSuffix || isFuture ? 'meseca' : 'mesecema';
                } else if (number < 5) {
                    result += withoutSuffix || isFuture ? 'mesece' : 'meseci';
                } else {
                    result += withoutSuffix || isFuture ? 'mesecev' : 'meseci';
                }
                return result;
            case 'y':
                return withoutSuffix || isFuture ? 'eno leto' : 'enim letom';
            case 'yy':
                if (number === 1) {
                    result += withoutSuffix || isFuture ? 'leto' : 'letom';
                } else if (number === 2) {
                    result += withoutSuffix || isFuture ? 'leti' : 'letoma';
                } else if (number < 5) {
                    result += withoutSuffix || isFuture ? 'leta' : 'leti';
                } else {
                    result += withoutSuffix || isFuture ? 'let' : 'leti';
                }
                return result;
        }
    }

    hooks.defineLocale('sl', {
        months: 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split('_'),
        monthsShort: 'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split('_'),
        monthsParseExact: true,
        weekdays: 'nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota'.split('_'),
        weekdaysShort: 'ned._pon._tor._sre._čet._pet._sob.'.split('_'),
        weekdaysMin: 'ne_po_to_sr_če_pe_so'.split('_'),
        weekdaysParseExact: true,
        longDateFormat: {
            LT: 'H:mm',
            LTS: 'H:mm:ss',
            L: 'DD.MM.YYYY',
            LL: 'D. MMMM YYYY',
            LLL: 'D. MMMM YYYY H:mm',
            LLLL: 'dddd, D. MMMM YYYY H:mm'
        },
        calendar: {
            sameDay: '[danes ob] LT',
            nextDay: '[jutri ob] LT',

            nextWeek: function () {
                switch (this.day()) {
                    case 0:
                        return '[v] [nedeljo] [ob] LT';
                    case 3:
                        return '[v] [sredo] [ob] LT';
                    case 6:
                        return '[v] [soboto] [ob] LT';
                    case 1:
                    case 2:
                    case 4:
                    case 5:
                        return '[v] dddd [ob] LT';
                }
            },
            lastDay: '[včeraj ob] LT',
            lastWeek: function () {
                switch (this.day()) {
                    case 0:
                        return '[prejšnjo] [nedeljo] [ob] LT';
                    case 3:
                        return '[prejšnjo] [sredo] [ob] LT';
                    case 6:
                        return '[prejšnjo] [soboto] [ob] LT';
                    case 1:
                    case 2:
                    case 4:
                    case 5:
                        return '[prejšnji] dddd [ob] LT';
                }
            },
            sameElse: 'L'
        },
        relativeTime: {
            future: 'čez %s',
            past: 'pred %s',
            s: processRelativeTime$6,
            ss: processRelativeTime$6,
            m: processRelativeTime$6,
            mm: processRelativeTime$6,
            h: processRelativeTime$6,
            hh: processRelativeTime$6,
            d: processRelativeTime$6,
            dd: processRelativeTime$6,
            M: processRelativeTime$6,
            MM: processRelativeTime$6,
            y: processRelativeTime$6,
            yy: processRelativeTime$6
        },
        dayOfMonthOrdinalParse: /\d{1,2}\./,
        ordinal: '%d.',
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 7  // The week that contains Jan 7th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    hooks.defineLocale('sq', {
        months: 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split('_'),
        monthsShort: 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'),
        weekdays: 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split('_'),
        weekdaysShort: 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'),
        weekdaysMin: 'D_H_Ma_Më_E_P_Sh'.split('_'),
        weekdaysParseExact: true,
        meridiemParse: /PD|MD/,
        isPM: function (input) {
            return input.charAt(0) === 'M';
        },
        meridiem: function (hours, minutes, isLower) {
            return hours < 12 ? 'PD' : 'MD';
        },
        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: '[Sot në] LT',
            nextDay: '[Nesër në] LT',
            nextWeek: 'dddd [në] LT',
            lastDay: '[Dje në] LT',
            lastWeek: 'dddd [e kaluar në] LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: 'në %s',
            past: '%s më parë',
            s: 'disa sekonda',
            ss: '%d sekonda',
            m: 'një minutë',
            mm: '%d minuta',
            h: 'një orë',
            hh: '%d orë',
            d: 'një ditë',
            dd: '%d ditë',
            M: 'një muaj',
            MM: '%d muaj',
            y: 'një vit',
            yy: '%d vite'
        },
        dayOfMonthOrdinalParse: /\d{1,2}\./,
        ordinal: '%d.',
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 4  // The week that contains Jan 4th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    var translator$1 = {
        words: { //Different grammatical cases
            ss: ['секунда', 'секунде', 'секунди'],
            m: ['један минут', 'једне минуте'],
            mm: ['минут', 'минуте', 'минута'],
            h: ['један сат', 'једног сата'],
            hh: ['сат', 'сата', 'сати'],
            dd: ['дан', 'дана', 'дана'],
            MM: ['месец', 'месеца', 'месеци'],
            yy: ['година', 'године', 'година']
        },
        correctGrammaticalCase: function (number, wordKey) {
            return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);
        },
        translate: function (number, withoutSuffix, key) {
            var wordKey = translator$1.words[key];
            if (key.length === 1) {
                return withoutSuffix ? wordKey[0] : wordKey[1];
            } else {
                return number + ' ' + translator$1.correctGrammaticalCase(number, wordKey);
            }
        }
    };

    hooks.defineLocale('sr-cyrl', {
        months: 'јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар'.split('_'),
        monthsShort: 'јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.'.split('_'),
        monthsParseExact: true,
        weekdays: 'недеља_понедељак_уторак_среда_четвртак_петак_субота'.split('_'),
        weekdaysShort: 'нед._пон._уто._сре._чет._пет._суб.'.split('_'),
        weekdaysMin: 'не_по_ут_ср_че_пе_су'.split('_'),
        weekdaysParseExact: true,
        longDateFormat: {
            LT: 'H:mm',
            LTS: 'H:mm:ss',
            L: 'DD.MM.YYYY',
            LL: 'D. MMMM YYYY',
            LLL: 'D. MMMM YYYY H:mm',
            LLLL: 'dddd, D. MMMM YYYY H:mm'
        },
        calendar: {
            sameDay: '[данас у] LT',
            nextDay: '[сутра у] LT',
            nextWeek: function () {
                switch (this.day()) {
                    case 0:
                        return '[у] [недељу] [у] LT';
                    case 3:
                        return '[у] [среду] [у] LT';
                    case 6:
                        return '[у] [суботу] [у] LT';
                    case 1:
                    case 2:
                    case 4:
                    case 5:
                        return '[у] dddd [у] LT';
                }
            },
            lastDay: '[јуче у] LT',
            lastWeek: function () {
                var lastWeekDays = [
                    '[прошле] [недеље] [у] LT',
                    '[прошлог] [понедељка] [у] LT',
                    '[прошлог] [уторка] [у] LT',
                    '[прошле] [среде] [у] LT',
                    '[прошлог] [четвртка] [у] LT',
                    '[прошлог] [петка] [у] LT',
                    '[прошле] [суботе] [у] LT'
                ];
                return lastWeekDays[this.day()];
            },
            sameElse: 'L'
        },
        relativeTime: {
            future: 'за %s',
            past: 'пре %s',
            s: 'неколико секунди',
            ss: translator$1.translate,
            m: translator$1.translate,
            mm: translator$1.translate,
            h: translator$1.translate,
            hh: translator$1.translate,
            d: 'дан',
            dd: translator$1.translate,
            M: 'месец',
            MM: translator$1.translate,
            y: 'годину',
            yy: translator$1.translate
        },
        dayOfMonthOrdinalParse: /\d{1,2}\./,
        ordinal: '%d.',
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 7  // The week that contains Jan 7th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    var translator$2 = {
        words: { //Different grammatical cases
            ss: ['sekunda', 'sekunde', 'sekundi'],
            m: ['jedan minut', 'jedne minute'],
            mm: ['minut', 'minute', 'minuta'],
            h: ['jedan sat', 'jednog sata'],
            hh: ['sat', 'sata', 'sati'],
            dd: ['dan', 'dana', 'dana'],
            MM: ['mesec', 'meseca', 'meseci'],
            yy: ['godina', 'godine', 'godina']
        },
        correctGrammaticalCase: function (number, wordKey) {
            return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);
        },
        translate: function (number, withoutSuffix, key) {
            var wordKey = translator$2.words[key];
            if (key.length === 1) {
                return withoutSuffix ? wordKey[0] : wordKey[1];
            } else {
                return number + ' ' + translator$2.correctGrammaticalCase(number, wordKey);
            }
        }
    };

    hooks.defineLocale('sr', {
        months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'),
        monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),
        monthsParseExact: true,
        weekdays: 'nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota'.split('_'),
        weekdaysShort: 'ned._pon._uto._sre._čet._pet._sub.'.split('_'),
        weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),
        weekdaysParseExact: true,
        longDateFormat: {
            LT: 'H:mm',
            LTS: 'H:mm:ss',
            L: 'DD.MM.YYYY',
            LL: 'D. MMMM YYYY',
            LLL: 'D. MMMM YYYY H:mm',
            LLLL: 'dddd, D. MMMM YYYY H:mm'
        },
        calendar: {
            sameDay: '[danas u] LT',
            nextDay: '[sutra u] LT',
            nextWeek: function () {
                switch (this.day()) {
                    case 0:
                        return '[u] [nedelju] [u] LT';
                    case 3:
                        return '[u] [sredu] [u] LT';
                    case 6:
                        return '[u] [subotu] [u] LT';
                    case 1:
                    case 2:
                    case 4:
                    case 5:
                        return '[u] dddd [u] LT';
                }
            },
            lastDay: '[juče u] LT',
            lastWeek: function () {
                var lastWeekDays = [
                    '[prošle] [nedelje] [u] LT',
                    '[prošlog] [ponedeljka] [u] LT',
                    '[prošlog] [utorka] [u] LT',
                    '[prošle] [srede] [u] LT',
                    '[prošlog] [četvrtka] [u] LT',
                    '[prošlog] [petka] [u] LT',
                    '[prošle] [subote] [u] LT'
                ];
                return lastWeekDays[this.day()];
            },
            sameElse: 'L'
        },
        relativeTime: {
            future: 'za %s',
            past: 'pre %s',
            s: 'nekoliko sekundi',
            ss: translator$2.translate,
            m: translator$2.translate,
            mm: translator$2.translate,
            h: translator$2.translate,
            hh: translator$2.translate,
            d: 'dan',
            dd: translator$2.translate,
            M: 'mesec',
            MM: translator$2.translate,
            y: 'godinu',
            yy: translator$2.translate
        },
        dayOfMonthOrdinalParse: /\d{1,2}\./,
        ordinal: '%d.',
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 7  // The week that contains Jan 7th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    hooks.defineLocale('ss', {
        months: "Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni".split('_'),
        monthsShort: 'Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo'.split('_'),
        weekdays: 'Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo'.split('_'),
        weekdaysShort: 'Lis_Umb_Lsb_Les_Lsi_Lsh_Umg'.split('_'),
        weekdaysMin: 'Li_Us_Lb_Lt_Ls_Lh_Ug'.split('_'),
        weekdaysParseExact: true,
        longDateFormat: {
            LT: 'h:mm A',
            LTS: 'h:mm:ss A',
            L: 'DD/MM/YYYY',
            LL: 'D MMMM YYYY',
            LLL: 'D MMMM YYYY h:mm A',
            LLLL: 'dddd, D MMMM YYYY h:mm A'
        },
        calendar: {
            sameDay: '[Namuhla nga] LT',
            nextDay: '[Kusasa nga] LT',
            nextWeek: 'dddd [nga] LT',
            lastDay: '[Itolo nga] LT',
            lastWeek: 'dddd [leliphelile] [nga] LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: 'nga %s',
            past: 'wenteka nga %s',
            s: 'emizuzwana lomcane',
            ss: '%d mzuzwana',
            m: 'umzuzu',
            mm: '%d emizuzu',
            h: 'lihora',
            hh: '%d emahora',
            d: 'lilanga',
            dd: '%d emalanga',
            M: 'inyanga',
            MM: '%d tinyanga',
            y: 'umnyaka',
            yy: '%d iminyaka'
        },
        meridiemParse: /ekuseni|emini|entsambama|ebusuku/,
        meridiem: function (hours, minutes, isLower) {
            if (hours < 11) {
                return 'ekuseni';
            } else if (hours < 15) {
                return 'emini';
            } else if (hours < 19) {
                return 'entsambama';
            } else {
                return 'ebusuku';
            }
        },
        meridiemHour: function (hour, meridiem) {
            if (hour === 12) {
                hour = 0;
            }
            if (meridiem === 'ekuseni') {
                return hour;
            } else if (meridiem === 'emini') {
                return hour >= 11 ? hour : hour + 12;
            } else if (meridiem === 'entsambama' || meridiem === 'ebusuku') {
                if (hour === 0) {
                    return 0;
                }
                return hour + 12;
            }
        },
        dayOfMonthOrdinalParse: /\d{1,2}/,
        ordinal: '%d',
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 4  // The week that contains Jan 4th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    hooks.defineLocale('sv', {
        months: 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split('_'),
        monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),
        weekdays: 'söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'),
        weekdaysShort: 'sön_mån_tis_ons_tor_fre_lör'.split('_'),
        weekdaysMin: 'sö_må_ti_on_to_fr_lö'.split('_'),
        longDateFormat: {
            LT: 'HH:mm',
            LTS: 'HH:mm:ss',
            L: 'YYYY-MM-DD',
            LL: 'D MMMM YYYY',
            LLL: 'D MMMM YYYY [kl.] HH:mm',
            LLLL: 'dddd D MMMM YYYY [kl.] HH:mm',
            lll: 'D MMM YYYY HH:mm',
            llll: 'ddd D MMM YYYY HH:mm'
        },
        calendar: {
            sameDay: '[Idag] LT',
            nextDay: '[Imorgon] LT',
            lastDay: '[Igår] LT',
            nextWeek: '[På] dddd LT',
            lastWeek: '[I] dddd[s] LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: 'om %s',
            past: 'för %s sedan',
            s: 'några sekunder',
            ss: '%d sekunder',
            m: 'en minut',
            mm: '%d minuter',
            h: 'en timme',
            hh: '%d timmar',
            d: 'en dag',
            dd: '%d dagar',
            M: 'en månad',
            MM: '%d månader',
            y: 'ett år',
            yy: '%d år'
        },
        dayOfMonthOrdinalParse: /\d{1,2}(e|a)/,
        ordinal: function (number) {
            var b = number % 10,
                output = (~~(number % 100 / 10) === 1) ? 'e' :
                    (b === 1) ? 'a' :
                        (b === 2) ? 'a' :
                            (b === 3) ? 'e' : 'e';
            return number + output;
        },
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 4  // The week that contains Jan 4th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    hooks.defineLocale('sw', {
        months: 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split('_'),
        monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'),
        weekdays: 'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split('_'),
        weekdaysShort: 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'),
        weekdaysMin: 'J2_J3_J4_J5_Al_Ij_J1'.split('_'),
        weekdaysParseExact: true,
        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: '[leo saa] LT',
            nextDay: '[kesho saa] LT',
            nextWeek: '[wiki ijayo] dddd [saat] LT',
            lastDay: '[jana] LT',
            lastWeek: '[wiki iliyopita] dddd [saat] LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: '%s baadaye',
            past: 'tokea %s',
            s: 'hivi punde',
            ss: 'sekunde %d',
            m: 'dakika moja',
            mm: 'dakika %d',
            h: 'saa limoja',
            hh: 'masaa %d',
            d: 'siku moja',
            dd: 'masiku %d',
            M: 'mwezi mmoja',
            MM: 'miezi %d',
            y: 'mwaka mmoja',
            yy: 'miaka %d'
        },
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 7  // The week that contains Jan 7th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    var symbolMap$f = {
        '1': '௧',
        '2': '௨',
        '3': '௩',
        '4': '௪',
        '5': '௫',
        '6': '௬',
        '7': '௭',
        '8': '௮',
        '9': '௯',
        '0': '௦'
    }, numberMap$e = {
        '௧': '1',
        '௨': '2',
        '௩': '3',
        '௪': '4',
        '௫': '5',
        '௬': '6',
        '௭': '7',
        '௮': '8',
        '௯': '9',
        '௦': '0'
    };

    hooks.defineLocale('ta', {
        months: 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split('_'),
        monthsShort: 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split('_'),
        weekdays: 'ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை'.split('_'),
        weekdaysShort: 'ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி'.split('_'),
        weekdaysMin: 'ஞா_தி_செ_பு_வி_வெ_ச'.split('_'),
        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: '[இன்று] LT',
            nextDay: '[நாளை] LT',
            nextWeek: 'dddd, LT',
            lastDay: '[நேற்று] LT',
            lastWeek: '[கடந்த வாரம்] dddd, LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: '%s இல்',
            past: '%s முன்',
            s: 'ஒரு சில விநாடிகள்',
            ss: '%d விநாடிகள்',
            m: 'ஒரு நிமிடம்',
            mm: '%d நிமிடங்கள்',
            h: 'ஒரு மணி நேரம்',
            hh: '%d மணி நேரம்',
            d: 'ஒரு நாள்',
            dd: '%d நாட்கள்',
            M: 'ஒரு மாதம்',
            MM: '%d மாதங்கள்',
            y: 'ஒரு வருடம்',
            yy: '%d ஆண்டுகள்'
        },
        dayOfMonthOrdinalParse: /\d{1,2}வது/,
        ordinal: function (number) {
            return number + 'வது';
        },
        preparse: function (string) {
            return string.replace(/[௧௨௩௪௫௬௭௮௯௦]/g, function (match) {
                return numberMap$e[match];
            });
        },
        postformat: function (string) {
            return string.replace(/\d/g, function (match) {
                return symbolMap$f[match];
            });
        },
        // refer http://ta.wikipedia.org/s/1er1
        meridiemParse: /யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,
        meridiem: function (hour, minute, isLower) {
            if (hour < 2) {
                return ' யாமம்';
            } else if (hour < 6) {
                return ' வைகறை';  // வைகறை
            } else if (hour < 10) {
                return ' காலை'; // காலை
            } else if (hour < 14) {
                return ' நண்பகல்'; // நண்பகல்
            } else if (hour < 18) {
                return ' எற்பாடு'; // எற்பாடு
            } else if (hour < 22) {
                return ' மாலை'; // மாலை
            } else {
                return ' யாமம்';
            }
        },
        meridiemHour: function (hour, meridiem) {
            if (hour === 12) {
                hour = 0;
            }
            if (meridiem === 'யாமம்') {
                return hour < 2 ? hour : hour + 12;
            } else if (meridiem === 'வைகறை' || meridiem === 'காலை') {
                return hour;
            } else if (meridiem === 'நண்பகல்') {
                return hour >= 10 ? hour : hour + 12;
            } else {
                return hour + 12;
            }
        },
        week: {
            dow: 0, // Sunday is the first day of the week.
            doy: 6  // The week that contains Jan 6th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    hooks.defineLocale('te', {
        months: 'జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జులై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్'.split('_'),
        monthsShort: 'జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జులై_ఆగ._సెప్._అక్టో._నవ._డిసె.'.split('_'),
        monthsParseExact: true,
        weekdays: 'ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం'.split('_'),
        weekdaysShort: 'ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని'.split('_'),
        weekdaysMin: 'ఆ_సో_మం_బు_గు_శు_శ'.split('_'),
        longDateFormat: {
            LT: 'A h:mm',
            LTS: 'A h:mm:ss',
            L: 'DD/MM/YYYY',
            LL: 'D MMMM YYYY',
            LLL: 'D MMMM YYYY, A h:mm',
            LLLL: 'dddd, D MMMM YYYY, A h:mm'
        },
        calendar: {
            sameDay: '[నేడు] LT',
            nextDay: '[రేపు] LT',
            nextWeek: 'dddd, LT',
            lastDay: '[నిన్న] LT',
            lastWeek: '[గత] dddd, LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: '%s లో',
            past: '%s క్రితం',
            s: 'కొన్ని క్షణాలు',
            ss: '%d సెకన్లు',
            m: 'ఒక నిమిషం',
            mm: '%d నిమిషాలు',
            h: 'ఒక గంట',
            hh: '%d గంటలు',
            d: 'ఒక రోజు',
            dd: '%d రోజులు',
            M: 'ఒక నెల',
            MM: '%d నెలలు',
            y: 'ఒక సంవత్సరం',
            yy: '%d సంవత్సరాలు'
        },
        dayOfMonthOrdinalParse: /\d{1,2}వ/,
        ordinal: '%dవ',
        meridiemParse: /రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,
        meridiemHour: function (hour, meridiem) {
            if (hour === 12) {
                hour = 0;
            }
            if (meridiem === 'రాత్రి') {
                return hour < 4 ? hour : hour + 12;
            } else if (meridiem === 'ఉదయం') {
                return hour;
            } else if (meridiem === 'మధ్యాహ్నం') {
                return hour >= 10 ? hour : hour + 12;
            } else if (meridiem === 'సాయంత్రం') {
                return hour + 12;
            }
        },
        meridiem: function (hour, minute, isLower) {
            if (hour < 4) {
                return 'రాత్రి';
            } else if (hour < 10) {
                return 'ఉదయం';
            } else if (hour < 17) {
                return 'మధ్యాహ్నం';
            } else if (hour < 20) {
                return 'సాయంత్రం';
            } else {
                return 'రాత్రి';
            }
        },
        week: {
            dow: 0, // Sunday is the first day of the week.
            doy: 6  // The week that contains Jan 6th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    hooks.defineLocale('tet', {
        months: 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru'.split('_'),
        monthsShort: 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),
        weekdays: 'Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu'.split('_'),
        weekdaysShort: 'Dom_Seg_Ters_Kua_Kint_Sest_Sab'.split('_'),
        weekdaysMin: 'Do_Seg_Te_Ku_Ki_Ses_Sa'.split('_'),
        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: '[Ohin iha] LT',
            nextDay: '[Aban iha] LT',
            nextWeek: 'dddd [iha] LT',
            lastDay: '[Horiseik iha] LT',
            lastWeek: 'dddd [semana kotuk] [iha] LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: 'iha %s',
            past: '%s liuba',
            s: 'minutu balun',
            ss: 'minutu %d',
            m: 'minutu ida',
            mm: 'minutu %d',
            h: 'oras ida',
            hh: 'oras %d',
            d: 'loron ida',
            dd: 'loron %d',
            M: 'fulan ida',
            MM: 'fulan %d',
            y: 'tinan ida',
            yy: 'tinan %d'
        },
        dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
        ordinal: function (number) {
            var b = number % 10,
                output = (~~(number % 100 / 10) === 1) ? 'th' :
                    (b === 1) ? 'st' :
                        (b === 2) ? 'nd' :
                            (b === 3) ? 'rd' : 'th';
            return number + output;
        },
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 4  // The week that contains Jan 4th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    var suffixes$3 = {
        0: '-ум',
        1: '-ум',
        2: '-юм',
        3: '-юм',
        4: '-ум',
        5: '-ум',
        6: '-ум',
        7: '-ум',
        8: '-ум',
        9: '-ум',
        10: '-ум',
        12: '-ум',
        13: '-ум',
        20: '-ум',
        30: '-юм',
        40: '-ум',
        50: '-ум',
        60: '-ум',
        70: '-ум',
        80: '-ум',
        90: '-ум',
        100: '-ум'
    };

    hooks.defineLocale('tg', {
        months: 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split('_'),
        monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),
        weekdays: 'якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе'.split('_'),
        weekdaysShort: 'яшб_дшб_сшб_чшб_пшб_ҷум_шнб'.split('_'),
        weekdaysMin: 'яш_дш_сш_чш_пш_ҷм_шб'.split('_'),
        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: '[Имрӯз соати] LT',
            nextDay: '[Пагоҳ соати] LT',
            lastDay: '[Дирӯз соати] LT',
            nextWeek: 'dddd[и] [ҳафтаи оянда соати] LT',
            lastWeek: 'dddd[и] [ҳафтаи гузашта соати] LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: 'баъди %s',
            past: '%s пеш',
            s: 'якчанд сония',
            m: 'як дақиқа',
            mm: '%d дақиқа',
            h: 'як соат',
            hh: '%d соат',
            d: 'як рӯз',
            dd: '%d рӯз',
            M: 'як моҳ',
            MM: '%d моҳ',
            y: 'як сол',
            yy: '%d сол'
        },
        meridiemParse: /шаб|субҳ|рӯз|бегоҳ/,
        meridiemHour: function (hour, meridiem) {
            if (hour === 12) {
                hour = 0;
            }
            if (meridiem === 'шаб') {
                return hour < 4 ? hour : hour + 12;
            } else if (meridiem === 'субҳ') {
                return hour;
            } else if (meridiem === 'рӯз') {
                return hour >= 11 ? hour : hour + 12;
            } else if (meridiem === 'бегоҳ') {
                return hour + 12;
            }
        },
        meridiem: function (hour, minute, isLower) {
            if (hour < 4) {
                return 'шаб';
            } else if (hour < 11) {
                return 'субҳ';
            } else if (hour < 16) {
                return 'рӯз';
            } else if (hour < 19) {
                return 'бегоҳ';
            } else {
                return 'шаб';
            }
        },
        dayOfMonthOrdinalParse: /\d{1,2}-(ум|юм)/,
        ordinal: function (number) {
            var a = number % 10,
                b = number >= 100 ? 100 : null;
            return number + (suffixes$3[number] || suffixes$3[a] || suffixes$3[b]);
        },
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 7  // The week that contains Jan 1th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    hooks.defineLocale('th', {
        months: 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split('_'),
        monthsShort: 'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split('_'),
        monthsParseExact: true,
        weekdays: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'),
        weekdaysShort: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'), // yes, three characters difference
        weekdaysMin: 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'),
        weekdaysParseExact: true,
        longDateFormat: {
            LT: 'H:mm',
            LTS: 'H:mm:ss',
            L: 'DD/MM/YYYY',
            LL: 'D MMMM YYYY',
            LLL: 'D MMMM YYYY เวลา H:mm',
            LLLL: 'วันddddที่ D MMMM YYYY เวลา H:mm'
        },
        meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/,
        isPM: function (input) {
            return input === 'หลังเที่ยง';
        },
        meridiem: function (hour, minute, isLower) {
            if (hour < 12) {
                return 'ก่อนเที่ยง';
            } else {
                return 'หลังเที่ยง';
            }
        },
        calendar: {
            sameDay: '[วันนี้ เวลา] LT',
            nextDay: '[พรุ่งนี้ เวลา] LT',
            nextWeek: 'dddd[หน้า เวลา] LT',
            lastDay: '[เมื่อวานนี้ เวลา] LT',
            lastWeek: '[วัน]dddd[ที่แล้ว เวลา] LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: 'อีก %s',
            past: '%sที่แล้ว',
            s: 'ไม่กี่วินาที',
            ss: '%d วินาที',
            m: '1 นาที',
            mm: '%d นาที',
            h: '1 ชั่วโมง',
            hh: '%d ชั่วโมง',
            d: '1 วัน',
            dd: '%d วัน',
            M: '1 เดือน',
            MM: '%d เดือน',
            y: '1 ปี',
            yy: '%d ปี'
        }
    });

    //! moment.js locale configuration

    hooks.defineLocale('tl-ph', {
        months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split('_'),
        monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),
        weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split('_'),
        weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),
        weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),
        longDateFormat: {
            LT: 'HH:mm',
            LTS: 'HH:mm:ss',
            L: 'MM/D/YYYY',
            LL: 'MMMM D, YYYY',
            LLL: 'MMMM D, YYYY HH:mm',
            LLLL: 'dddd, MMMM DD, YYYY HH:mm'
        },
        calendar: {
            sameDay: 'LT [ngayong araw]',
            nextDay: '[Bukas ng] LT',
            nextWeek: 'LT [sa susunod na] dddd',
            lastDay: 'LT [kahapon]',
            lastWeek: 'LT [noong nakaraang] dddd',
            sameElse: 'L'
        },
        relativeTime: {
            future: 'sa loob ng %s',
            past: '%s ang nakalipas',
            s: 'ilang segundo',
            ss: '%d segundo',
            m: 'isang minuto',
            mm: '%d minuto',
            h: 'isang oras',
            hh: '%d oras',
            d: 'isang araw',
            dd: '%d araw',
            M: 'isang buwan',
            MM: '%d buwan',
            y: 'isang taon',
            yy: '%d taon'
        },
        dayOfMonthOrdinalParse: /\d{1,2}/,
        ordinal: function (number) {
            return number;
        },
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 4  // The week that contains Jan 4th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    var numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_');

    function translateFuture(output) {
        var time = output;
        time = (output.indexOf('jaj') !== -1) ?
            time.slice(0, -3) + 'leS' :
            (output.indexOf('jar') !== -1) ?
                time.slice(0, -3) + 'waQ' :
                (output.indexOf('DIS') !== -1) ?
                    time.slice(0, -3) + 'nem' :
                    time + ' pIq';
        return time;
    }

    function translatePast(output) {
        var time = output;
        time = (output.indexOf('jaj') !== -1) ?
            time.slice(0, -3) + 'Hu’' :
            (output.indexOf('jar') !== -1) ?
                time.slice(0, -3) + 'wen' :
                (output.indexOf('DIS') !== -1) ?
                    time.slice(0, -3) + 'ben' :
                    time + ' ret';
        return time;
    }

    function translate$a(number, withoutSuffix, string, isFuture) {
        var numberNoun = numberAsNoun(number);
        switch (string) {
            case 'ss':
                return numberNoun + ' lup';
            case 'mm':
                return numberNoun + ' tup';
            case 'hh':
                return numberNoun + ' rep';
            case 'dd':
                return numberNoun + ' jaj';
            case 'MM':
                return numberNoun + ' jar';
            case 'yy':
                return numberNoun + ' DIS';
        }
    }

    function numberAsNoun(number) {
        var hundred = Math.floor((number % 1000) / 100),
            ten = Math.floor((number % 100) / 10),
            one = number % 10,
            word = '';
        if (hundred > 0) {
            word += numbersNouns[hundred] + 'vatlh';
        }
        if (ten > 0) {
            word += ((word !== '') ? ' ' : '') + numbersNouns[ten] + 'maH';
        }
        if (one > 0) {
            word += ((word !== '') ? ' ' : '') + numbersNouns[one];
        }
        return (word === '') ? 'pagh' : word;
    }

    hooks.defineLocale('tlh', {
        months: 'tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’'.split('_'),
        monthsShort: 'jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’'.split('_'),
        monthsParseExact: true,
        weekdays: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),
        weekdaysShort: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),
        weekdaysMin: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),
        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: '[DaHjaj] LT',
            nextDay: '[wa’leS] LT',
            nextWeek: 'LLL',
            lastDay: '[wa’Hu’] LT',
            lastWeek: 'LLL',
            sameElse: 'L'
        },
        relativeTime: {
            future: translateFuture,
            past: translatePast,
            s: 'puS lup',
            ss: translate$a,
            m: 'wa’ tup',
            mm: translate$a,
            h: 'wa’ rep',
            hh: translate$a,
            d: 'wa’ jaj',
            dd: translate$a,
            M: 'wa’ jar',
            MM: translate$a,
            y: 'wa’ DIS',
            yy: translate$a
        },
        dayOfMonthOrdinalParse: /\d{1,2}\./,
        ordinal: '%d.',
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 4  // The week that contains Jan 4th is the first week of the year.
        }
    });

    var suffixes$4 = {
        1: '\'inci',
        5: '\'inci',
        8: '\'inci',
        70: '\'inci',
        80: '\'inci',
        2: '\'nci',
        7: '\'nci',
        20: '\'nci',
        50: '\'nci',
        3: '\'üncü',
        4: '\'üncü',
        100: '\'üncü',
        6: '\'ncı',
        9: '\'uncu',
        10: '\'uncu',
        30: '\'uncu',
        60: '\'ıncı',
        90: '\'ıncı'
    };

    hooks.defineLocale('tr', {
        months: 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split('_'),
        monthsShort: 'Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara'.split('_'),
        weekdays: 'Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi'.split('_'),
        weekdaysShort: 'Paz_Pts_Sal_Çar_Per_Cum_Cts'.split('_'),
        weekdaysMin: 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'),
        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: '[bugün saat] LT',
            nextDay: '[yarın saat] LT',
            nextWeek: '[gelecek] dddd [saat] LT',
            lastDay: '[dün] LT',
            lastWeek: '[geçen] dddd [saat] LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: '%s sonra',
            past: '%s önce',
            s: 'birkaç saniye',
            ss: '%d saniye',
            m: 'bir dakika',
            mm: '%d dakika',
            h: 'bir saat',
            hh: '%d saat',
            d: 'bir gün',
            dd: '%d gün',
            M: 'bir ay',
            MM: '%d ay',
            y: 'bir yıl',
            yy: '%d yıl'
        },
        ordinal: function (number, period) {
            switch (period) {
                case 'd':
                case 'D':
                case 'Do':
                case 'DD':
                    return number;
                default:
                    if (number === 0) {  // special case for zero
                        return number + '\'ıncı';
                    }
                    var a = number % 10,
                        b = number % 100 - a,
                        c = number >= 100 ? 100 : null;
                    return number + (suffixes$4[a] || suffixes$4[b] || suffixes$4[c]);
            }
        },
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 7  // The week that contains Jan 7th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    // After the year there should be a slash and the amount of years since December 26, 1979 in Roman numerals.
    // This is currently too difficult (maybe even impossible) to add.
    hooks.defineLocale('tzl', {
        months: 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split('_'),
        monthsShort: 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split('_'),
        weekdays: 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split('_'),
        weekdaysShort: 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'),
        weekdaysMin: 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'),
        longDateFormat: {
            LT: 'HH.mm',
            LTS: 'HH.mm.ss',
            L: 'DD.MM.YYYY',
            LL: 'D. MMMM [dallas] YYYY',
            LLL: 'D. MMMM [dallas] YYYY HH.mm',
            LLLL: 'dddd, [li] D. MMMM [dallas] YYYY HH.mm'
        },
        meridiemParse: /d\'o|d\'a/i,
        isPM: function (input) {
            return 'd\'o' === input.toLowerCase();
        },
        meridiem: function (hours, minutes, isLower) {
            if (hours > 11) {
                return isLower ? 'd\'o' : 'D\'O';
            } else {
                return isLower ? 'd\'a' : 'D\'A';
            }
        },
        calendar: {
            sameDay: '[oxhi à] LT',
            nextDay: '[demà à] LT',
            nextWeek: 'dddd [à] LT',
            lastDay: '[ieiri à] LT',
            lastWeek: '[sür el] dddd [lasteu à] LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: 'osprei %s',
            past: 'ja%s',
            s: processRelativeTime$7,
            ss: processRelativeTime$7,
            m: processRelativeTime$7,
            mm: processRelativeTime$7,
            h: processRelativeTime$7,
            hh: processRelativeTime$7,
            d: processRelativeTime$7,
            dd: processRelativeTime$7,
            M: processRelativeTime$7,
            MM: processRelativeTime$7,
            y: processRelativeTime$7,
            yy: processRelativeTime$7
        },
        dayOfMonthOrdinalParse: /\d{1,2}\./,
        ordinal: '%d.',
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 4  // The week that contains Jan 4th is the first week of the year.
        }
    });

    function processRelativeTime$7(number, withoutSuffix, key, isFuture) {
        var format = {
            's': ['viensas secunds', '\'iensas secunds'],
            'ss': [number + ' secunds', '' + number + ' secunds'],
            'm': ['\'n míut', '\'iens míut'],
            'mm': [number + ' míuts', '' + number + ' míuts'],
            'h': ['\'n þora', '\'iensa þora'],
            'hh': [number + ' þoras', '' + number + ' þoras'],
            'd': ['\'n ziua', '\'iensa ziua'],
            'dd': [number + ' ziuas', '' + number + ' ziuas'],
            'M': ['\'n mes', '\'iens mes'],
            'MM': [number + ' mesen', '' + number + ' mesen'],
            'y': ['\'n ar', '\'iens ar'],
            'yy': [number + ' ars', '' + number + ' ars']
        };
        return isFuture ? format[key][0] : (withoutSuffix ? format[key][0] : format[key][1]);
    }

    //! moment.js locale configuration

    hooks.defineLocale('tzm-latn', {
        months: 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'),
        monthsShort: 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'),
        weekdays: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),
        weekdaysShort: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),
        weekdaysMin: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),
        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: '[asdkh g] LT',
            nextDay: '[aska g] LT',
            nextWeek: 'dddd [g] LT',
            lastDay: '[assant g] LT',
            lastWeek: 'dddd [g] LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: 'dadkh s yan %s',
            past: 'yan %s',
            s: 'imik',
            ss: '%d imik',
            m: 'minuḍ',
            mm: '%d minuḍ',
            h: 'saɛa',
            hh: '%d tassaɛin',
            d: 'ass',
            dd: '%d ossan',
            M: 'ayowr',
            MM: '%d iyyirn',
            y: 'asgas',
            yy: '%d isgasn'
        },
        week: {
            dow: 6, // Saturday is the first day of the week.
            doy: 12  // The week that contains Jan 12th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    hooks.defineLocale('tzm', {
        months: 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'),
        monthsShort: 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'),
        weekdays: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),
        weekdaysShort: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),
        weekdaysMin: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),
        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: '[ⴰⵙⴷⵅ ⴴ] LT',
            nextDay: '[ⴰⵙⴽⴰ ⴴ] LT',
            nextWeek: 'dddd [ⴴ] LT',
            lastDay: '[ⴰⵚⴰⵏⵜ ⴴ] LT',
            lastWeek: 'dddd [ⴴ] LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s',
            past: 'ⵢⴰⵏ %s',
            s: 'ⵉⵎⵉⴽ',
            ss: '%d ⵉⵎⵉⴽ',
            m: 'ⵎⵉⵏⵓⴺ',
            mm: '%d ⵎⵉⵏⵓⴺ',
            h: 'ⵙⴰⵄⴰ',
            hh: '%d ⵜⴰⵙⵙⴰⵄⵉⵏ',
            d: 'ⴰⵙⵙ',
            dd: '%d oⵙⵙⴰⵏ',
            M: 'ⴰⵢoⵓⵔ',
            MM: '%d ⵉⵢⵢⵉⵔⵏ',
            y: 'ⴰⵙⴳⴰⵙ',
            yy: '%d ⵉⵙⴳⴰⵙⵏ'
        },
        week: {
            dow: 6, // Saturday is the first day of the week.
            doy: 12  // The week that contains Jan 12th is the first week of the year.
        }
    });

    //! moment.js language configuration

    hooks.defineLocale('ug-cn', {
        months: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(
            '_'
        ),
        monthsShort: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(
            '_'
        ),
        weekdays: 'يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە'.split(
            '_'
        ),
        weekdaysShort: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),
        weekdaysMin: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),
        longDateFormat: {
            LT: 'HH:mm',
            LTS: 'HH:mm:ss',
            L: 'YYYY-MM-DD',
            LL: 'YYYY-يىلىM-ئاينىڭD-كۈنى',
            LLL: 'YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',
            LLLL: 'dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm'
        },
        meridiemParse: /يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/,
        meridiemHour: function (hour, meridiem) {
            if (hour === 12) {
                hour = 0;
            }
            if (
                meridiem === 'يېرىم كېچە' ||
                meridiem === 'سەھەر' ||
                meridiem === 'چۈشتىن بۇرۇن'
            ) {
                return hour;
            } else if (meridiem === 'چۈشتىن كېيىن' || meridiem === 'كەچ') {
                return hour + 12;
            } else {
                return hour >= 11 ? hour : hour + 12;
            }
        },
        meridiem: function (hour, minute, isLower) {
            var hm = hour * 100 + minute;
            if (hm < 600) {
                return 'يېرىم كېچە';
            } else if (hm < 900) {
                return 'سەھەر';
            } else if (hm < 1130) {
                return 'چۈشتىن بۇرۇن';
            } else if (hm < 1230) {
                return 'چۈش';
            } else if (hm < 1800) {
                return 'چۈشتىن كېيىن';
            } else {
                return 'كەچ';
            }
        },
        calendar: {
            sameDay: '[بۈگۈن سائەت] LT',
            nextDay: '[ئەتە سائەت] LT',
            nextWeek: '[كېلەركى] dddd [سائەت] LT',
            lastDay: '[تۆنۈگۈن] LT',
            lastWeek: '[ئالدىنقى] dddd [سائەت] LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: '%s كېيىن',
            past: '%s بۇرۇن',
            s: 'نەچچە سېكونت',
            ss: '%d سېكونت',
            m: 'بىر مىنۇت',
            mm: '%d مىنۇت',
            h: 'بىر سائەت',
            hh: '%d سائەت',
            d: 'بىر كۈن',
            dd: '%d كۈن',
            M: 'بىر ئاي',
            MM: '%d ئاي',
            y: 'بىر يىل',
            yy: '%d يىل'
        },

        dayOfMonthOrdinalParse: /\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/,
        ordinal: function (number, period) {
            switch (period) {
                case 'd':
                case 'D':
                case 'DDD':
                    return number + '-كۈنى';
                case 'w':
                case 'W':
                    return number + '-ھەپتە';
                default:
                    return number;
            }
        },
        preparse: function (string) {
            return string.replace(/،/g, ',');
        },
        postformat: function (string) {
            return string.replace(/,/g, '،');
        },
        week: {
            // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效
            dow: 1, // Monday is the first day of the week.
            doy: 7 // The week that contains Jan 1st is the first week of the year.
        }
    });

    //! moment.js locale configuration

    function plural$6(word, num) {
        var forms = word.split('_');
        return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);
    }
    function relativeTimeWithPlural$4(number, withoutSuffix, key) {
        var format = {
            'ss': withoutSuffix ? 'секунда_секунди_секунд' : 'секунду_секунди_секунд',
            'mm': withoutSuffix ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин',
            'hh': withoutSuffix ? 'година_години_годин' : 'годину_години_годин',
            'dd': 'день_дні_днів',
            'MM': 'місяць_місяці_місяців',
            'yy': 'рік_роки_років'
        };
        if (key === 'm') {
            return withoutSuffix ? 'хвилина' : 'хвилину';
        }
        else if (key === 'h') {
            return withoutSuffix ? 'година' : 'годину';
        }
        else {
            return number + ' ' + plural$6(format[key], +number);
        }
    }
    function weekdaysCaseReplace(m, format) {
        var weekdays = {
            'nominative': 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split('_'),
            'accusative': 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split('_'),
            'genitive': 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split('_')
        };

        if (m === true) {
            return weekdays['nominative'].slice(1, 7).concat(weekdays['nominative'].slice(0, 1));
        }
        if (!m) {
            return weekdays['nominative'];
        }

        var nounCase = (/(\[[ВвУу]\]) ?dddd/).test(format) ?
            'accusative' :
            ((/\[?(?:минулої|наступної)? ?\] ?dddd/).test(format) ?
                'genitive' :
                'nominative');
        return weekdays[nounCase][m.day()];
    }
    function processHoursFunction(str) {
        return function () {
            return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT';
        };
    }

    hooks.defineLocale('uk', {
        months: {
            'format': 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split('_'),
            'standalone': 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split('_')
        },
        monthsShort: 'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'.split('_'),
        weekdays: weekdaysCaseReplace,
        weekdaysShort: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),
        weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),
        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: processHoursFunction('[Сьогодні '),
            nextDay: processHoursFunction('[Завтра '),
            lastDay: processHoursFunction('[Вчора '),
            nextWeek: processHoursFunction('[У] dddd ['),
            lastWeek: function () {
                switch (this.day()) {
                    case 0:
                    case 3:
                    case 5:
                    case 6:
                        return processHoursFunction('[Минулої] dddd [').call(this);
                    case 1:
                    case 2:
                    case 4:
                        return processHoursFunction('[Минулого] dddd [').call(this);
                }
            },
            sameElse: 'L'
        },
        relativeTime: {
            future: 'за %s',
            past: '%s тому',
            s: 'декілька секунд',
            ss: relativeTimeWithPlural$4,
            m: relativeTimeWithPlural$4,
            mm: relativeTimeWithPlural$4,
            h: 'годину',
            hh: relativeTimeWithPlural$4,
            d: 'день',
            dd: relativeTimeWithPlural$4,
            M: 'місяць',
            MM: relativeTimeWithPlural$4,
            y: 'рік',
            yy: relativeTimeWithPlural$4
        },
        // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason
        meridiemParse: /ночі|ранку|дня|вечора/,
        isPM: function (input) {
            return /^(дня|вечора)$/.test(input);
        },
        meridiem: function (hour, minute, isLower) {
            if (hour < 4) {
                return 'ночі';
            } else if (hour < 12) {
                return 'ранку';
            } else if (hour < 17) {
                return 'дня';
            } else {
                return 'вечора';
            }
        },
        dayOfMonthOrdinalParse: /\d{1,2}-(й|го)/,
        ordinal: function (number, period) {
            switch (period) {
                case 'M':
                case 'd':
                case 'DDD':
                case 'w':
                case 'W':
                    return number + '-й';
                case 'D':
                    return number + '-го';
                default:
                    return number;
            }
        },
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 7  // The week that contains Jan 7th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    var months$a = [
        'جنوری',
        'فروری',
        'مارچ',
        'اپریل',
        'مئی',
        'جون',
        'جولائی',
        'اگست',
        'ستمبر',
        'اکتوبر',
        'نومبر',
        'دسمبر'
    ];
    var days$2 = [
        'اتوار',
        'پیر',
        'منگل',
        'بدھ',
        'جمعرات',
        'جمعہ',
        'ہفتہ'
    ];

    hooks.defineLocale('ur', {
        months: months$a,
        monthsShort: months$a,
        weekdays: days$2,
        weekdaysShort: days$2,
        weekdaysMin: days$2,
        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'
        },
        meridiemParse: /صبح|شام/,
        isPM: function (input) {
            return 'شام' === input;
        },
        meridiem: function (hour, minute, isLower) {
            if (hour < 12) {
                return 'صبح';
            }
            return 'شام';
        },
        calendar: {
            sameDay: '[آج بوقت] LT',
            nextDay: '[کل بوقت] LT',
            nextWeek: 'dddd [بوقت] LT',
            lastDay: '[گذشتہ روز بوقت] LT',
            lastWeek: '[گذشتہ] dddd [بوقت] LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: '%s بعد',
            past: '%s قبل',
            s: 'چند سیکنڈ',
            ss: '%d سیکنڈ',
            m: 'ایک منٹ',
            mm: '%d منٹ',
            h: 'ایک گھنٹہ',
            hh: '%d گھنٹے',
            d: 'ایک دن',
            dd: '%d دن',
            M: 'ایک ماہ',
            MM: '%d ماہ',
            y: 'ایک سال',
            yy: '%d سال'
        },
        preparse: function (string) {
            return string.replace(/،/g, ',');
        },
        postformat: function (string) {
            return string.replace(/,/g, '،');
        },
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 4  // The week that contains Jan 4th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    hooks.defineLocale('uz-latn', {
        months: 'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split('_'),
        monthsShort: 'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split('_'),
        weekdays: 'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split('_'),
        weekdaysShort: 'Yak_Dush_Sesh_Chor_Pay_Jum_Shan'.split('_'),
        weekdaysMin: 'Ya_Du_Se_Cho_Pa_Ju_Sha'.split('_'),
        longDateFormat: {
            LT: 'HH:mm',
            LTS: 'HH:mm:ss',
            L: 'DD/MM/YYYY',
            LL: 'D MMMM YYYY',
            LLL: 'D MMMM YYYY HH:mm',
            LLLL: 'D MMMM YYYY, dddd HH:mm'
        },
        calendar: {
            sameDay: '[Bugun soat] LT [da]',
            nextDay: '[Ertaga] LT [da]',
            nextWeek: 'dddd [kuni soat] LT [da]',
            lastDay: '[Kecha soat] LT [da]',
            lastWeek: '[O\'tgan] dddd [kuni soat] LT [da]',
            sameElse: 'L'
        },
        relativeTime: {
            future: 'Yaqin %s ichida',
            past: 'Bir necha %s oldin',
            s: 'soniya',
            ss: '%d soniya',
            m: 'bir daqiqa',
            mm: '%d daqiqa',
            h: 'bir soat',
            hh: '%d soat',
            d: 'bir kun',
            dd: '%d kun',
            M: 'bir oy',
            MM: '%d oy',
            y: 'bir yil',
            yy: '%d yil'
        },
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 7  // The week that contains Jan 7th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    hooks.defineLocale('uz', {
        months: 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split('_'),
        monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),
        weekdays: 'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split('_'),
        weekdaysShort: 'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'),
        weekdaysMin: 'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'),
        longDateFormat: {
            LT: 'HH:mm',
            LTS: 'HH:mm:ss',
            L: 'DD/MM/YYYY',
            LL: 'D MMMM YYYY',
            LLL: 'D MMMM YYYY HH:mm',
            LLLL: 'D MMMM YYYY, dddd HH:mm'
        },
        calendar: {
            sameDay: '[Бугун соат] LT [да]',
            nextDay: '[Эртага] LT [да]',
            nextWeek: 'dddd [куни соат] LT [да]',
            lastDay: '[Кеча соат] LT [да]',
            lastWeek: '[Утган] dddd [куни соат] LT [да]',
            sameElse: 'L'
        },
        relativeTime: {
            future: 'Якин %s ичида',
            past: 'Бир неча %s олдин',
            s: 'фурсат',
            ss: '%d фурсат',
            m: 'бир дакика',
            mm: '%d дакика',
            h: 'бир соат',
            hh: '%d соат',
            d: 'бир кун',
            dd: '%d кун',
            M: 'бир ой',
            MM: '%d ой',
            y: 'бир йил',
            yy: '%d йил'
        },
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 7  // The week that contains Jan 4th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    hooks.defineLocale('vi', {
        months: 'tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12'.split('_'),
        monthsShort: 'Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12'.split('_'),
        monthsParseExact: true,
        weekdays: 'chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.split('_'),
        weekdaysShort: 'CN_T2_T3_T4_T5_T6_T7'.split('_'),
        weekdaysMin: 'CN_T2_T3_T4_T5_T6_T7'.split('_'),
        weekdaysParseExact: true,
        meridiemParse: /sa|ch/i,
        isPM: function (input) {
            return /^ch$/i.test(input);
        },
        meridiem: function (hours, minutes, isLower) {
            if (hours < 12) {
                return isLower ? 'sa' : 'SA';
            } else {
                return isLower ? 'ch' : 'CH';
            }
        },
        longDateFormat: {
            LT: 'HH:mm',
            LTS: 'HH:mm:ss',
            L: 'DD/MM/YYYY',
            LL: 'D MMMM [năm] YYYY',
            LLL: 'D MMMM [năm] YYYY HH:mm',
            LLLL: 'dddd, D MMMM [năm] YYYY HH:mm',
            l: 'DD/M/YYYY',
            ll: 'D MMM YYYY',
            lll: 'D MMM YYYY HH:mm',
            llll: 'ddd, D MMM YYYY HH:mm'
        },
        calendar: {
            sameDay: '[Hôm nay lúc] LT',
            nextDay: '[Ngày mai lúc] LT',
            nextWeek: 'dddd [tuần tới lúc] LT',
            lastDay: '[Hôm qua lúc] LT',
            lastWeek: 'dddd [tuần rồi lúc] LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: '%s tới',
            past: '%s trước',
            s: 'vài giây',
            ss: '%d giây',
            m: 'một phút',
            mm: '%d phút',
            h: 'một giờ',
            hh: '%d giờ',
            d: 'một ngày',
            dd: '%d ngày',
            M: 'một tháng',
            MM: '%d tháng',
            y: 'một năm',
            yy: '%d năm'
        },
        dayOfMonthOrdinalParse: /\d{1,2}/,
        ordinal: function (number) {
            return number;
        },
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 4  // The week that contains Jan 4th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    hooks.defineLocale('x-pseudo', {
        months: 'J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér'.split('_'),
        monthsShort: 'J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc'.split('_'),
        monthsParseExact: true,
        weekdays: 'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý'.split('_'),
        weekdaysShort: 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát'.split('_'),
        weekdaysMin: 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'),
        weekdaysParseExact: true,
        longDateFormat: {
            LT: 'HH:mm',
            L: 'DD/MM/YYYY',
            LL: 'D MMMM YYYY',
            LLL: 'D MMMM YYYY HH:mm',
            LLLL: 'dddd, D MMMM YYYY HH:mm'
        },
        calendar: {
            sameDay: '[T~ódá~ý át] LT',
            nextDay: '[T~ómó~rró~w át] LT',
            nextWeek: 'dddd [át] LT',
            lastDay: '[Ý~ést~érdá~ý át] LT',
            lastWeek: '[L~ást] dddd [át] LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: 'í~ñ %s',
            past: '%s á~gó',
            s: 'á ~féw ~sécó~ñds',
            ss: '%d s~écóñ~ds',
            m: 'á ~míñ~úté',
            mm: '%d m~íñú~tés',
            h: 'á~ñ hó~úr',
            hh: '%d h~óúrs',
            d: 'á ~dáý',
            dd: '%d d~áýs',
            M: 'á ~móñ~th',
            MM: '%d m~óñt~hs',
            y: 'á ~ýéár',
            yy: '%d ý~éárs'
        },
        dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/,
        ordinal: function (number) {
            var b = number % 10,
                output = (~~(number % 100 / 10) === 1) ? 'th' :
                    (b === 1) ? 'st' :
                        (b === 2) ? 'nd' :
                            (b === 3) ? 'rd' : 'th';
            return number + output;
        },
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 4  // The week that contains Jan 4th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    hooks.defineLocale('yo', {
        months: 'Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀'.split('_'),
        monthsShort: 'Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀'.split('_'),
        weekdays: 'Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta'.split('_'),
        weekdaysShort: 'Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá'.split('_'),
        weekdaysMin: 'Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb'.split('_'),
        longDateFormat: {
            LT: 'h:mm A',
            LTS: 'h:mm:ss A',
            L: 'DD/MM/YYYY',
            LL: 'D MMMM YYYY',
            LLL: 'D MMMM YYYY h:mm A',
            LLLL: 'dddd, D MMMM YYYY h:mm A'
        },
        calendar: {
            sameDay: '[Ònì ni] LT',
            nextDay: '[Ọ̀la ni] LT',
            nextWeek: 'dddd [Ọsẹ̀ tón\'bọ] [ni] LT',
            lastDay: '[Àna ni] LT',
            lastWeek: 'dddd [Ọsẹ̀ tólọ́] [ni] LT',
            sameElse: 'L'
        },
        relativeTime: {
            future: 'ní %s',
            past: '%s kọjá',
            s: 'ìsẹjú aayá die',
            ss: 'aayá %d',
            m: 'ìsẹjú kan',
            mm: 'ìsẹjú %d',
            h: 'wákati kan',
            hh: 'wákati %d',
            d: 'ọjọ́ kan',
            dd: 'ọjọ́ %d',
            M: 'osù kan',
            MM: 'osù %d',
            y: 'ọdún kan',
            yy: 'ọdún %d'
        },
        dayOfMonthOrdinalParse: /ọjọ́\s\d{1,2}/,
        ordinal: 'ọjọ́ %d',
        week: {
            dow: 1, // Monday is the first day of the week.
            doy: 4 // The week that contains Jan 4th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    hooks.defineLocale('zh-cn', {
        months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),
        monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),
        weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),
        weekdaysShort: '周日_周一_周二_周三_周四_周五_周六'.split('_'),
        weekdaysMin: '日_一_二_三_四_五_六'.split('_'),
        longDateFormat: {
            LT: 'HH:mm',
            LTS: 'HH:mm:ss',
            L: 'YYYY/MM/DD',
            LL: 'YYYY年M月D日',
            LLL: 'YYYY年M月D日Ah点mm分',
            LLLL: 'YYYY年M月D日ddddAh点mm分',
            l: 'YYYY/M/D',
            ll: 'YYYY年M月D日',
            lll: 'YYYY年M月D日 HH:mm',
            llll: 'YYYY年M月D日dddd HH:mm'
        },
        meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,
        meridiemHour: function (hour, meridiem) {
            if (hour === 12) {
                hour = 0;
            }
            if (meridiem === '凌晨' || meridiem === '早上' ||
                meridiem === '上午') {
                return hour;
            } else if (meridiem === '下午' || meridiem === '晚上') {
                return hour + 12;
            } else {
                // '中午'
                return hour >= 11 ? hour : hour + 12;
            }
        },
        meridiem: function (hour, minute, isLower) {
            var hm = hour * 100 + minute;
            if (hm < 600) {
                return '凌晨';
            } else if (hm < 900) {
                return '早上';
            } else if (hm < 1130) {
                return '上午';
            } else if (hm < 1230) {
                return '中午';
            } else if (hm < 1800) {
                return '下午';
            } else {
                return '晚上';
            }
        },
        calendar: {
            sameDay: '[今天]LT',
            nextDay: '[明天]LT',
            nextWeek: '[下]ddddLT',
            lastDay: '[昨天]LT',
            lastWeek: '[上]ddddLT',
            sameElse: 'L'
        },
        dayOfMonthOrdinalParse: /\d{1,2}(日|月|周)/,
        ordinal: function (number, period) {
            switch (period) {
                case 'd':
                case 'D':
                case 'DDD':
                    return number + '日';
                case 'M':
                    return number + '月';
                case 'w':
                case 'W':
                    return number + '周';
                default:
                    return number;
            }
        },
        relativeTime: {
            future: '%s内',
            past: '%s前',
            s: '几秒',
            ss: '%d 秒',
            m: '1 分钟',
            mm: '%d 分钟',
            h: '1 小时',
            hh: '%d 小时',
            d: '1 天',
            dd: '%d 天',
            M: '1 个月',
            MM: '%d 个月',
            y: '1 年',
            yy: '%d 年'
        },
        week: {
            // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效
            dow: 1, // Monday is the first day of the week.
            doy: 4  // The week that contains Jan 4th is the first week of the year.
        }
    });

    //! moment.js locale configuration

    hooks.defineLocale('zh-hk', {
        months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),
        monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),
        weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),
        weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),
        weekdaysMin: '日_一_二_三_四_五_六'.split('_'),
        longDateFormat: {
            LT: 'HH:mm',
            LTS: 'HH:mm:ss',
            L: 'YYYY/MM/DD',
            LL: 'YYYY年M月D日',
            LLL: 'YYYY年M月D日 HH:mm',
            LLLL: 'YYYY年M月D日dddd HH:mm',
            l: 'YYYY/M/D',
            ll: 'YYYY年M月D日',
            lll: 'YYYY年M月D日 HH:mm',
            llll: 'YYYY年M月D日dddd HH:mm'
        },
        meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,
        meridiemHour: function (hour, meridiem) {
            if (hour === 12) {
                hour = 0;
            }
            if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {
                return hour;
            } else if (meridiem === '中午') {
                return hour >= 11 ? hour : hour + 12;
            } else if (meridiem === '下午' || meridiem === '晚上') {
                return hour + 12;
            }
        },
        meridiem: function (hour, minute, isLower) {
            var hm = hour * 100 + minute;
            if (hm < 600) {
                return '凌晨';
            } else if (hm < 900) {
                return '早上';
            } else if (hm < 1130) {
                return '上午';
            } else if (hm < 1230) {
                return '中午';
            } else if (hm < 1800) {
                return '下午';
            } else {
                return '晚上';
            }
        },
        calendar: {
            sameDay: '[今天]LT',
            nextDay: '[明天]LT',
            nextWeek: '[下]ddddLT',
            lastDay: '[昨天]LT',
            lastWeek: '[上]ddddLT',
            sameElse: 'L'
        },
        dayOfMonthOrdinalParse: /\d{1,2}(日|月|週)/,
        ordinal: function (number, period) {
            switch (period) {
                case 'd':
                case 'D':
                case 'DDD':
                    return number + '日';
                case 'M':
                    return number + '月';
                case 'w':
                case 'W':
                    return number + '週';
                default:
                    return number;
            }
        },
        relativeTime: {
            future: '%s內',
            past: '%s前',
            s: '幾秒',
            ss: '%d 秒',
            m: '1 分鐘',
            mm: '%d 分鐘',
            h: '1 小時',
            hh: '%d 小時',
            d: '1 天',
            dd: '%d 天',
            M: '1 個月',
            MM: '%d 個月',
            y: '1 年',
            yy: '%d 年'
        }
    });

    //! moment.js locale configuration

    hooks.defineLocale('zh-tw', {
        months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),
        monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),
        weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),
        weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),
        weekdaysMin: '日_一_二_三_四_五_六'.split('_'),
        longDateFormat: {
            LT: 'HH:mm',
            LTS: 'HH:mm:ss',
            L: 'YYYY/MM/DD',
            LL: 'YYYY年M月D日',
            LLL: 'YYYY年M月D日 HH:mm',
            LLLL: 'YYYY年M月D日dddd HH:mm',
            l: 'YYYY/M/D',
            ll: 'YYYY年M月D日',
            lll: 'YYYY年M月D日 HH:mm',
            llll: 'YYYY年M月D日dddd HH:mm'
        },
        meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,
        meridiemHour: function (hour, meridiem) {
            if (hour === 12) {
                hour = 0;
            }
            if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {
                return hour;
            } else if (meridiem === '中午') {
                return hour >= 11 ? hour : hour + 12;
            } else if (meridiem === '下午' || meridiem === '晚上') {
                return hour + 12;
            }
        },
        meridiem: function (hour, minute, isLower) {
            var hm = hour * 100 + minute;
            if (hm < 600) {
                return '凌晨';
            } else if (hm < 900) {
                return '早上';
            } else if (hm < 1130) {
                return '上午';
            } else if (hm < 1230) {
                return '中午';
            } else if (hm < 1800) {
                return '下午';
            } else {
                return '晚上';
            }
        },
        calendar: {
            sameDay: '[今天] LT',
            nextDay: '[明天] LT',
            nextWeek: '[下]dddd LT',
            lastDay: '[昨天] LT',
            lastWeek: '[上]dddd LT',
            sameElse: 'L'
        },
        dayOfMonthOrdinalParse: /\d{1,2}(日|月|週)/,
        ordinal: function (number, period) {
            switch (period) {
                case 'd':
                case 'D':
                case 'DDD':
                    return number + '日';
                case 'M':
                    return number + '月';
                case 'w':
                case 'W':
                    return number + '週';
                default:
                    return number;
            }
        },
        relativeTime: {
            future: '%s內',
            past: '%s前',
            s: '幾秒',
            ss: '%d 秒',
            m: '1 分鐘',
            mm: '%d 分鐘',
            h: '1 小時',
            hh: '%d 小時',
            d: '1 天',
            dd: '%d 天',
            M: '1 個月',
            MM: '%d 個月',
            y: '1 年',
            yy: '%d 年'
        }
    });

    hooks.locale('en');

    return hooks;

})));;
var Handlebars=function(){var r=function(){"use strict";function n(n){this.string=n}return n.prototype.toString=function(){return""+this.string},n}(),t=function(n){"use strict";function h(n){return e[n]||"&amp;"}function c(n,t){for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(n[i]=t[i])}function l(n){return n instanceof f?n.toString():!n&&n!==0?"":(n=""+n,!s.test(n))?n:n.replace(o,h)}function a(n){return n||n===0?u(n)&&n.length===0?!0:!1:!0}var t={},f=n,e={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"},o=/[&<>"'`]/g,s=/[&<>"'`]/,i,r,u;return t.extend=c,i=Object.prototype.toString,t.toString=i,r=function(n){return typeof n=="function"},r(/x/)&&(r=function(n){return typeof n=="function"&&i.call(n)==="[object Function]"}),t.isFunction=r,u=Array.isArray||function(n){return n&&typeof n=="object"?i.call(n)==="[object Array]":!1},t.isArray=u,t.escapeExpression=l,t.isEmpty=a,t}(r),n=function(){"use strict";function t(t,i){var u,f,r;for(i&&i.firstLine&&(u=i.firstLine,t+=" - "+u+":"+i.firstColumn),f=Error.prototype.constructor.call(this,t),r=0;r<n.length;r++)this[n[r]]=f[n[r]];u&&(this.lineNumber=u,this.column=i.firstColumn)}var n=["description","fileName","lineNumber","message","name","number","stack"];return t.prototype=new Error,t}(),i=function(n,t){"use strict";function e(n,t){this.helpers=n||{};this.partials=t||{};p(this)}function p(n){n.registerHelper("helperMissing",function(n){if(arguments.length===2)return undefined;throw new s("Missing helper: '"+n+"'");});n.registerHelper("blockHelperMissing",function(t,i){var r=i.inverse||function(){},u=i.fn;return f(t)&&(t=t.call(this)),t===!0?u(this):t===!1||t==null?r(this):l(t)?t.length>0?n.helpers.each(t,i):r(this):u(t)});n.registerHelper("each",function(n,t){var s=t.fn,c=t.inverse,r=0,u="",i,h,e;if(f(n)&&(n=n.call(this)),t.data&&(i=o(t.data)),n&&typeof n=="object")if(l(n))for(h=n.length;r<h;r++)i&&(i.index=r,i.first=r===0,i.last=r===n.length-1),u=u+s(n[r],{data:i});else for(e in n)n.hasOwnProperty(e)&&(i&&(i.key=e,i.index=r,i.first=r===0),u=u+s(n[e],{data:i}),r++);return r===0&&(u=c(this)),u});n.registerHelper("if",function(n,t){return f(n)&&(n=n.call(this)),(t.hash.includeZero||n)&&!r.isEmpty(n)?t.fn(this):t.inverse(this)});n.registerHelper("unless",function(t,i){return n.helpers["if"].call(this,t,{fn:i.inverse,inverse:i.fn,hash:i.hash})});n.registerHelper("with",function(n,t){return f(n)&&(n=n.call(this)),r.isEmpty(n)?void 0:t.fn(n)});n.registerHelper("log",function(t,i){var r=i.data&&i.data.level!=null?parseInt(i.data.level,10):1;n.log(r,t)})}function y(n,t){u.log(n,t)}var i={},r=n,s=t,h,c,u,o;i.VERSION="1.3.0";h=4;i.COMPILER_REVISION=h;c={1:"<= 1.0.rc.2",2:"== 1.0.0-rc.3",3:"== 1.0.0-rc.4",4:">= 1.0.0"};i.REVISION_CHANGES=c;var l=r.isArray,f=r.isFunction,a=r.toString,v="[object Object]";return i.HandlebarsEnvironment=e,e.prototype={constructor:e,logger:u,log:y,registerHelper:function(n,t,i){if(a.call(n)===v){if(i||t)throw new s("Arg not supported with multiple helpers");r.extend(this.helpers,n)}else i&&(t.not=i),this.helpers[n]=t},registerPartial:function(n,t){a.call(n)===v?r.extend(this.partials,n):this.partials[n]=t}},u={methodMap:{0:"debug",1:"info",2:"warn",3:"error"},DEBUG:0,INFO:1,WARN:2,ERROR:3,level:3,log:function(n,t){if(u.level<=n){var i=u.methodMap[n];typeof console!="undefined"&&console[i]&&console[i].call(console,t)}}},i.logger=u,i.log=y,o=function(n){var t={};return r.extend(t,n),t},i.createFrame=o,i}(t,n),f=function(n,t,i){"use strict";function h(n){var t=n&&n[0]||1,i=s,r,f;if(t!==i)if(t<i){r=o[i];f=o[t];throw new u("Template was precompiled with an older version of Handlebars than the current runtime. Please update your precompiler to a newer version ("+r+") or downgrade your runtime to an older version ("+f+").");}else throw new u("Template was precompiled with a newer version of Handlebars than the current runtime. Please update your runtime to a newer version ("+n[1]+").");}function c(n,t){if(!t)throw new u("No environment passed to template");var r=function(n,i,r,f,e,o){var s=t.VM.invokePartial.apply(this,arguments),h;if(s!=null)return s;if(t.compile)return h={helpers:f,partials:e,data:o},e[i]=t.compile(n,{data:o!==undefined},t),e[i](r,h);throw new u("The partial "+i+" could not be compiled when running in runtime-only mode");},i={escapeExpression:f.escapeExpression,invokePartial:r,programs:[],program:function(n,t,i){var r=this.programs[n];return i?r=e(n,t,i):r||(r=this.programs[n]=e(n,t)),r},merge:function(n,t){var i=n||t;return n&&t&&n!==t&&(i={},f.extend(i,t),f.extend(i,n)),i},programWithDepth:t.VM.programWithDepth,noop:t.VM.noop,compilerInfo:null};return function(r,u){var f,e,o,s;return u=u||{},f=u.partial?u:t,u.partial||(e=u.helpers,o=u.partials),s=n.call(i,f,r,e,o,u.data),u.partial||t.VM.checkRevision(i.compilerInfo),s}}function l(n,t,i){var u=Array.prototype.slice.call(arguments,3),r=function(n,r){return r=r||{},t.apply(this,[n,r.data||i].concat(u))};return r.program=n,r.depth=u.length,r}function e(n,t,i){var r=function(n,r){return r=r||{},t(n,r.data||i)};return r.program=n,r.depth=0,r}function a(n,t,i,r,f,e){var o={partial:!0,helpers:r,partials:f,data:e};if(n===undefined)throw new u("The partial "+t+" could not be found");else if(n instanceof Function)return n(i,o)}function v(){return""}var r={},f=n,u=t,s=i.COMPILER_REVISION,o=i.REVISION_CHANGES;return r.checkRevision=h,r.template=c,r.programWithDepth=l,r.program=e,r.invokePartial=a,r.noop=v,r}(t,n,i),e=function(n,t,i,r,u){"use strict";var f=n,c=t,l=i,e=r,o=u,s=function(){var n=new f.HandlebarsEnvironment;return e.extend(n,f),n.SafeString=c,n.Exception=l,n.Utils=e,n.VM=o,n.template=function(t){return o.template(t,n)},n},h=s();return h.create=s,h}(i,r,n,t,f),u=function(n){"use strict";function t(n){n=n||{};this.firstLine=n.first_line;this.firstColumn=n.first_column;this.lastColumn=n.last_column;this.lastLine=n.last_line}var r=n,i={ProgramNode:function(n,r,u,f){var o,e;arguments.length===3?(f=u,u=null):arguments.length===2&&(f=r,r=null);t.call(this,f);this.type="program";this.statements=n;this.strip={};u?(e=u[0],e?(o={first_line:e.firstLine,last_line:e.lastLine,last_column:e.lastColumn,first_column:e.firstColumn},this.inverse=new i.ProgramNode(u,r,o)):this.inverse=new i.ProgramNode(u,r),this.strip.right=r.left):r&&(this.strip.left=r.right)},MustacheNode:function(n,r,u,f,e){if(t.call(this,e),this.type="mustache",this.strip=f,u!=null&&u.charAt){var o=u.charAt(3)||u.charAt(2);this.escaped=o!=="{"&&o!=="&"}else this.escaped=!!u;this.sexpr=n instanceof i.SexprNode?n:new i.SexprNode(n,r);this.sexpr.isRoot=!0;this.id=this.sexpr.id;this.params=this.sexpr.params;this.hash=this.sexpr.hash;this.eligibleHelper=this.sexpr.eligibleHelper;this.isHelper=this.sexpr.isHelper},SexprNode:function(n,i,r){t.call(this,r);this.type="sexpr";this.hash=i;var u=this.id=n[0],f=this.params=n.slice(1),e=this.eligibleHelper=u.isSimple;this.isHelper=e&&(f.length||i)},PartialNode:function(n,i,r,u){t.call(this,u);this.type="partial";this.partialName=n;this.context=i;this.strip=r},BlockNode:function(n,i,u,f,e){if(t.call(this,e),n.sexpr.id.original!==f.path.original)throw new r(n.sexpr.id.original+" doesn't match "+f.path.original,this);this.type="block";this.mustache=n;this.program=i;this.inverse=u;this.strip={left:n.strip.left,right:f.strip.right};(i||u).strip.left=n.strip.right;(u||i).strip.right=f.strip.left;u&&!i&&(this.isInverse=!0)},ContentNode:function(n,i){t.call(this,i);this.type="content";this.string=n},HashNode:function(n,i){t.call(this,i);this.type="hash";this.pairs=n},IdNode:function(n,i){var f,h,u;t.call(this,i);this.type="ID";var o="",e=[],s=0;for(f=0,h=n.length;f<h;f++)if(u=n[f].part,o+=(n[f].separator||"")+u,u===".."||u==="."||u==="this")if(e.length>0)throw new r("Invalid path: "+o,this);else u===".."?s++:this.isScoped=!0;else e.push(u);this.original=o;this.parts=e;this.string=e.join(".");this.depth=s;this.isSimple=n.length===1&&!this.isScoped&&s===0;this.stringModeValue=this.string},PartialNameNode:function(n,i){t.call(this,i);this.type="PARTIAL_NAME";this.name=n.original},DataNode:function(n,i){t.call(this,i);this.type="DATA";this.id=n},StringNode:function(n,i){t.call(this,i);this.type="STRING";this.original=this.string=this.stringModeValue=n},IntegerNode:function(n,i){t.call(this,i);this.type="INTEGER";this.original=this.integer=n;this.stringModeValue=Number(n)},BooleanNode:function(n,i){t.call(this,i);this.type="BOOLEAN";this.bool=n;this.stringModeValue=n==="true"},CommentNode:function(n,i){t.call(this,i);this.type="comment";this.comment=n}};return i}(n),o=function(){"use strict";return function(){function n(n,t){return{left:n.charAt(2)==="~",right:t.charAt(0)==="~"||t.charAt(1)==="~"}}function i(){this.yy={}}var t={trace:function(){},yy:{},symbols_:{error:2,root:3,statements:4,EOF:5,program:6,simpleInverse:7,statement:8,openInverse:9,closeBlock:10,openBlock:11,mustache:12,partial:13,CONTENT:14,COMMENT:15,OPEN_BLOCK:16,sexpr:17,CLOSE:18,OPEN_INVERSE:19,OPEN_ENDBLOCK:20,path:21,OPEN:22,OPEN_UNESCAPED:23,CLOSE_UNESCAPED:24,OPEN_PARTIAL:25,partialName:26,partial_option0:27,sexpr_repetition0:28,sexpr_option0:29,dataName:30,param:31,STRING:32,INTEGER:33,BOOLEAN:34,OPEN_SEXPR:35,CLOSE_SEXPR:36,hash:37,hash_repetition_plus0:38,hashSegment:39,ID:40,EQUALS:41,DATA:42,pathSegments:43,SEP:44,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",14:"CONTENT",15:"COMMENT",16:"OPEN_BLOCK",18:"CLOSE",19:"OPEN_INVERSE",20:"OPEN_ENDBLOCK",22:"OPEN",23:"OPEN_UNESCAPED",24:"CLOSE_UNESCAPED",25:"OPEN_PARTIAL",32:"STRING",33:"INTEGER",34:"BOOLEAN",35:"OPEN_SEXPR",36:"CLOSE_SEXPR",40:"ID",41:"EQUALS",42:"DATA",44:"SEP"},productions_:[0,[3,2],[3,1],[6,2],[6,3],[6,2],[6,1],[6,1],[6,0],[4,1],[4,2],[8,3],[8,3],[8,1],[8,1],[8,1],[8,1],[11,3],[9,3],[10,3],[12,3],[12,3],[13,4],[7,2],[17,3],[17,1],[31,1],[31,1],[31,1],[31,1],[31,1],[31,3],[37,1],[39,3],[26,1],[26,1],[26,1],[30,2],[21,1],[43,3],[43,1],[27,0],[27,1],[28,0],[28,2],[29,0],[29,1],[38,1],[38,2]],performAction:function(t,i,r,u,f,e){var o=e.length-1;switch(f){case 1:return new u.ProgramNode(e[o-1],this._$);case 2:return new u.ProgramNode([],this._$);case 3:this.$=new u.ProgramNode([],e[o-1],e[o],this._$);break;case 4:this.$=new u.ProgramNode(e[o-2],e[o-1],e[o],this._$);break;case 5:this.$=new u.ProgramNode(e[o-1],e[o],[],this._$);break;case 6:this.$=new u.ProgramNode(e[o],this._$);break;case 7:this.$=new u.ProgramNode([],this._$);break;case 8:this.$=new u.ProgramNode([],this._$);break;case 9:this.$=[e[o]];break;case 10:e[o-1].push(e[o]);this.$=e[o-1];break;case 11:this.$=new u.BlockNode(e[o-2],e[o-1].inverse,e[o-1],e[o],this._$);break;case 12:this.$=new u.BlockNode(e[o-2],e[o-1],e[o-1].inverse,e[o],this._$);break;case 13:this.$=e[o];break;case 14:this.$=e[o];break;case 15:this.$=new u.ContentNode(e[o],this._$);break;case 16:this.$=new u.CommentNode(e[o],this._$);break;case 17:this.$=new u.MustacheNode(e[o-1],null,e[o-2],n(e[o-2],e[o]),this._$);break;case 18:this.$=new u.MustacheNode(e[o-1],null,e[o-2],n(e[o-2],e[o]),this._$);break;case 19:this.$={path:e[o-1],strip:n(e[o-2],e[o])};break;case 20:this.$=new u.MustacheNode(e[o-1],null,e[o-2],n(e[o-2],e[o]),this._$);break;case 21:this.$=new u.MustacheNode(e[o-1],null,e[o-2],n(e[o-2],e[o]),this._$);break;case 22:this.$=new u.PartialNode(e[o-2],e[o-1],n(e[o-3],e[o]),this._$);break;case 23:this.$=n(e[o-1],e[o]);break;case 24:this.$=new u.SexprNode([e[o-2]].concat(e[o-1]),e[o],this._$);break;case 25:this.$=new u.SexprNode([e[o]],null,this._$);break;case 26:this.$=e[o];break;case 27:this.$=new u.StringNode(e[o],this._$);break;case 28:this.$=new u.IntegerNode(e[o],this._$);break;case 29:this.$=new u.BooleanNode(e[o],this._$);break;case 30:this.$=e[o];break;case 31:e[o-1].isHelper=!0;this.$=e[o-1];break;case 32:this.$=new u.HashNode(e[o],this._$);break;case 33:this.$=[e[o-2],e[o]];break;case 34:this.$=new u.PartialNameNode(e[o],this._$);break;case 35:this.$=new u.PartialNameNode(new u.StringNode(e[o],this._$),this._$);break;case 36:this.$=new u.PartialNameNode(new u.IntegerNode(e[o],this._$));break;case 37:this.$=new u.DataNode(e[o],this._$);break;case 38:this.$=new u.IdNode(e[o],this._$);break;case 39:e[o-2].push({part:e[o],separator:e[o-1]});this.$=e[o-2];break;case 40:this.$=[{part:e[o]}];break;case 43:this.$=[];break;case 44:e[o-1].push(e[o]);break;case 47:this.$=[e[o]];break;case 48:e[o-1].push(e[o])}},table:[{3:1,4:2,5:[1,3],8:4,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,11],22:[1,13],23:[1,14],25:[1,15]},{1:[3]},{5:[1,16],8:17,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,11],22:[1,13],23:[1,14],25:[1,15]},{1:[2,2]},{5:[2,9],14:[2,9],15:[2,9],16:[2,9],19:[2,9],20:[2,9],22:[2,9],23:[2,9],25:[2,9]},{4:20,6:18,7:19,8:4,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,21],20:[2,8],22:[1,13],23:[1,14],25:[1,15]},{4:20,6:22,7:19,8:4,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,21],20:[2,8],22:[1,13],23:[1,14],25:[1,15]},{5:[2,13],14:[2,13],15:[2,13],16:[2,13],19:[2,13],20:[2,13],22:[2,13],23:[2,13],25:[2,13]},{5:[2,14],14:[2,14],15:[2,14],16:[2,14],19:[2,14],20:[2,14],22:[2,14],23:[2,14],25:[2,14]},{5:[2,15],14:[2,15],15:[2,15],16:[2,15],19:[2,15],20:[2,15],22:[2,15],23:[2,15],25:[2,15]},{5:[2,16],14:[2,16],15:[2,16],16:[2,16],19:[2,16],20:[2,16],22:[2,16],23:[2,16],25:[2,16]},{17:23,21:24,30:25,40:[1,28],42:[1,27],43:26},{17:29,21:24,30:25,40:[1,28],42:[1,27],43:26},{17:30,21:24,30:25,40:[1,28],42:[1,27],43:26},{17:31,21:24,30:25,40:[1,28],42:[1,27],43:26},{21:33,26:32,32:[1,34],33:[1,35],40:[1,28],43:26},{1:[2,1]},{5:[2,10],14:[2,10],15:[2,10],16:[2,10],19:[2,10],20:[2,10],22:[2,10],23:[2,10],25:[2,10]},{10:36,20:[1,37]},{4:38,8:4,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,11],20:[2,7],22:[1,13],23:[1,14],25:[1,15]},{7:39,8:17,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,21],20:[2,6],22:[1,13],23:[1,14],25:[1,15]},{17:23,18:[1,40],21:24,30:25,40:[1,28],42:[1,27],43:26},{10:41,20:[1,37]},{18:[1,42]},{18:[2,43],24:[2,43],28:43,32:[2,43],33:[2,43],34:[2,43],35:[2,43],36:[2,43],40:[2,43],42:[2,43]},{18:[2,25],24:[2,25],36:[2,25]},{18:[2,38],24:[2,38],32:[2,38],33:[2,38],34:[2,38],35:[2,38],36:[2,38],40:[2,38],42:[2,38],44:[1,44]},{21:45,40:[1,28],43:26},{18:[2,40],24:[2,40],32:[2,40],33:[2,40],34:[2,40],35:[2,40],36:[2,40],40:[2,40],42:[2,40],44:[2,40]},{18:[1,46]},{18:[1,47]},{24:[1,48]},{18:[2,41],21:50,27:49,40:[1,28],43:26},{18:[2,34],40:[2,34]},{18:[2,35],40:[2,35]},{18:[2,36],40:[2,36]},{5:[2,11],14:[2,11],15:[2,11],16:[2,11],19:[2,11],20:[2,11],22:[2,11],23:[2,11],25:[2,11]},{21:51,40:[1,28],43:26},{8:17,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,11],20:[2,3],22:[1,13],23:[1,14],25:[1,15]},{4:52,8:4,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,11],20:[2,5],22:[1,13],23:[1,14],25:[1,15]},{14:[2,23],15:[2,23],16:[2,23],19:[2,23],20:[2,23],22:[2,23],23:[2,23],25:[2,23]},{5:[2,12],14:[2,12],15:[2,12],16:[2,12],19:[2,12],20:[2,12],22:[2,12],23:[2,12],25:[2,12]},{14:[2,18],15:[2,18],16:[2,18],19:[2,18],20:[2,18],22:[2,18],23:[2,18],25:[2,18]},{18:[2,45],21:56,24:[2,45],29:53,30:60,31:54,32:[1,57],33:[1,58],34:[1,59],35:[1,61],36:[2,45],37:55,38:62,39:63,40:[1,64],42:[1,27],43:26},{40:[1,65]},{18:[2,37],24:[2,37],32:[2,37],33:[2,37],34:[2,37],35:[2,37],36:[2,37],40:[2,37],42:[2,37]},{14:[2,17],15:[2,17],16:[2,17],19:[2,17],20:[2,17],22:[2,17],23:[2,17],25:[2,17]},{5:[2,20],14:[2,20],15:[2,20],16:[2,20],19:[2,20],20:[2,20],22:[2,20],23:[2,20],25:[2,20]},{5:[2,21],14:[2,21],15:[2,21],16:[2,21],19:[2,21],20:[2,21],22:[2,21],23:[2,21],25:[2,21]},{18:[1,66]},{18:[2,42]},{18:[1,67]},{8:17,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,11],20:[2,4],22:[1,13],23:[1,14],25:[1,15]},{18:[2,24],24:[2,24],36:[2,24]},{18:[2,44],24:[2,44],32:[2,44],33:[2,44],34:[2,44],35:[2,44],36:[2,44],40:[2,44],42:[2,44]},{18:[2,46],24:[2,46],36:[2,46]},{18:[2,26],24:[2,26],32:[2,26],33:[2,26],34:[2,26],35:[2,26],36:[2,26],40:[2,26],42:[2,26]},{18:[2,27],24:[2,27],32:[2,27],33:[2,27],34:[2,27],35:[2,27],36:[2,27],40:[2,27],42:[2,27]},{18:[2,28],24:[2,28],32:[2,28],33:[2,28],34:[2,28],35:[2,28],36:[2,28],40:[2,28],42:[2,28]},{18:[2,29],24:[2,29],32:[2,29],33:[2,29],34:[2,29],35:[2,29],36:[2,29],40:[2,29],42:[2,29]},{18:[2,30],24:[2,30],32:[2,30],33:[2,30],34:[2,30],35:[2,30],36:[2,30],40:[2,30],42:[2,30]},{17:68,21:24,30:25,40:[1,28],42:[1,27],43:26},{18:[2,32],24:[2,32],36:[2,32],39:69,40:[1,70]},{18:[2,47],24:[2,47],36:[2,47],40:[2,47]},{18:[2,40],24:[2,40],32:[2,40],33:[2,40],34:[2,40],35:[2,40],36:[2,40],40:[2,40],41:[1,71],42:[2,40],44:[2,40]},{18:[2,39],24:[2,39],32:[2,39],33:[2,39],34:[2,39],35:[2,39],36:[2,39],40:[2,39],42:[2,39],44:[2,39]},{5:[2,22],14:[2,22],15:[2,22],16:[2,22],19:[2,22],20:[2,22],22:[2,22],23:[2,22],25:[2,22]},{5:[2,19],14:[2,19],15:[2,19],16:[2,19],19:[2,19],20:[2,19],22:[2,19],23:[2,19],25:[2,19]},{36:[1,72]},{18:[2,48],24:[2,48],36:[2,48],40:[2,48]},{41:[1,71]},{21:56,30:60,31:73,32:[1,57],33:[1,58],34:[1,59],35:[1,61],40:[1,28],42:[1,27],43:26},{18:[2,31],24:[2,31],32:[2,31],33:[2,31],34:[2,31],35:[2,31],36:[2,31],40:[2,31],42:[2,31]},{18:[2,33],24:[2,33],36:[2,33],40:[2,33]}],defaultActions:{3:[2,2],16:[2,1],50:[2,42]},parseError:function(n){throw new Error(n);},parse:function(n){function it(){var n;return n=k.lexer.lex()||1,typeof n!="number"&&(n=k.symbols_[n]||n),n}var k=this,r=[0],f=[null],t=[],h=this.table,d="",c=0,g=0,y=0,l,nt,i,p,o,u,w,s,a,e,tt,v,b;for(this.lexer.setInput(n),this.lexer.yy=this.yy,this.yy.lexer=this.lexer,this.yy.parser=this,typeof this.lexer.yylloc=="undefined"&&(this.lexer.yylloc={}),l=this.lexer.yylloc,t.push(l),nt=this.lexer.options&&this.lexer.options.ranges,typeof this.yy.parseError=="function"&&(this.parseError=this.yy.parseError),s={};;){if(o=r[r.length-1],this.defaultActions[o]?u=this.defaultActions[o]:((i===null||typeof i=="undefined")&&(i=it()),u=h[o]&&h[o][i]),(typeof u=="undefined"||!u.length||!u[0])&&(b="",!y)){v=[];for(a in h[o])this.terminals_[a]&&a>2&&v.push("'"+this.terminals_[a]+"'");b=this.lexer.showPosition?"Parse error on line "+(c+1)+":\n"+this.lexer.showPosition()+"\nExpecting "+v.join(", ")+", got '"+(this.terminals_[i]||i)+"'":"Parse error on line "+(c+1)+": Unexpected "+(i==1?"end of input":"'"+(this.terminals_[i]||i)+"'");this.parseError(b,{text:this.lexer.match,token:this.terminals_[i]||i,line:this.lexer.yylineno,loc:l,expected:v})}if(u[0]instanceof Array&&u.length>1)throw new Error("Parse Error: multiple actions possible at state: "+o+", token: "+i);switch(u[0]){case 1:r.push(i);f.push(this.lexer.yytext);t.push(this.lexer.yylloc);r.push(u[1]);i=null;p?(i=p,p=null):(g=this.lexer.yyleng,d=this.lexer.yytext,c=this.lexer.yylineno,l=this.lexer.yylloc,y>0&&y--);break;case 2:if(e=this.productions_[u[1]][1],s.$=f[f.length-e],s._$={first_line:t[t.length-(e||1)].first_line,last_line:t[t.length-1].last_line,first_column:t[t.length-(e||1)].first_column,last_column:t[t.length-1].last_column},nt&&(s._$.range=[t[t.length-(e||1)].range[0],t[t.length-1].range[1]]),w=this.performAction.call(s,d,g,c,this.yy,u[1],f,t),typeof w!="undefined")return w;e&&(r=r.slice(0,-2*e),f=f.slice(0,-1*e),t=t.slice(0,-1*e));r.push(this.productions_[u[1]][0]);f.push(s.$);t.push(s._$);tt=h[r[r.length-2]][r[r.length-1]];r.push(tt);break;case 3:return!0}}return!0}},r=function(){var n={EOF:1,parseError:function(n,t){if(this.yy.parser)this.yy.parser.parseError(n,t);else throw new Error(n);},setInput:function(n){return this._input=n,this._more=this._less=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var n=this._input[0],t;return this.yytext+=n,this.yyleng++,this.offset++,this.match+=n,this.matched+=n,t=n.match(/(?:\r\n?|\n).*/g),t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),n},unput:function(n){var i=n.length,t=n.split(/(?:\r\n?|\n)/g),r,u;return this._input=n+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-i-1),this.offset-=i,r=this.match.split(/(?:\r\n?|\n)/g),this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),t.length-1&&(this.yylineno-=t.length-1),u=this.yylloc.range,this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:t?(t.length===r.length?this.yylloc.first_column:0)+r[r.length-t.length].length-t[0].length:this.yylloc.first_column-i},this.options.ranges&&(this.yylloc.range=[u[0],u[0]+this.yyleng-i]),this},more:function(){return this._more=!0,this},less:function(n){this.unput(this.match.slice(n))},pastInput:function(){var n=this.matched.substr(0,this.matched.length-this.match.length);return(n.length>20?"...":"")+n.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var n=this.match;return n.length<20&&(n+=this._input.substr(0,20-n.length)),(n.substr(0,20)+(n.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var n=this.pastInput(),t=new Array(n.length+1).join("-");return n+this.upcomingInput()+"\n"+t+"^"},next:function(){var f,n,r,e,t,u,i;if(this.done)return this.EOF;for(this._input||(this.done=!0),this._more||(this.yytext="",this.match=""),u=this._currentRules(),i=0;i<u.length;i++)if(r=this._input.match(this.rules[u[i]]),r&&(!n||r[0].length>n[0].length)&&(n=r,e=i,!this.options.flex))break;return n?(t=n[0].match(/(?:\r\n?|\n).*/g),t&&(this.yylineno+=t.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:t?t[t.length-1].length-t[t.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+n[0].length},this.yytext+=n[0],this.match+=n[0],this.matches=n,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._input=this._input.slice(n[0].length),this.matched+=n[0],f=this.performAction.call(this,this.yy,this,u[e],this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),f)?f:void 0:this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var n=this.next();return typeof n!="undefined"?n:this.lex()},begin:function(n){this.conditionStack.push(n)},popState:function(){return this.conditionStack.pop()},_currentRules:function(){return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules},topState:function(){return this.conditionStack[this.conditionStack.length-2]},pushState:function(n){this.begin(n)}};return n.options={},n.performAction=function(n,t,i,r){function u(n,i){return t.yytext=t.yytext.substr(n,t.yyleng-i)}var f=r;switch(i){case 0:if(t.yytext.slice(-2)==="\\\\"?(u(0,1),this.begin("mu")):t.yytext.slice(-1)==="\\"?(u(0,1),this.begin("emu")):this.begin("mu"),t.yytext)return 14;break;case 1:return 14;case 2:return this.popState(),14;case 3:return u(0,4),this.popState(),15;case 4:return 35;case 5:return 36;case 6:return 25;case 7:return 16;case 8:return 20;case 9:return 19;case 10:return 19;case 11:return 23;case 12:return 22;case 13:this.popState();this.begin("com");break;case 14:return u(3,5),this.popState(),15;case 15:return 22;case 16:return 41;case 17:return 40;case 18:return 40;case 19:return 44;case 21:return this.popState(),24;case 22:return this.popState(),18;case 23:return t.yytext=u(1,2).replace(/\\"/g,'"'),32;case 24:return t.yytext=u(1,2).replace(/\\'/g,"'"),32;case 25:return 42;case 26:return 34;case 27:return 34;case 28:return 33;case 29:return 40;case 30:return t.yytext=u(1,2),40;case 31:return"INVALID";case 32:return 5}},n.rules=[/^(?:[^\x00]*?(?=(\{\{)))/,/^(?:[^\x00]+)/,/^(?:[^\x00]{2,}?(?=(\{\{|\\\{\{|\\\\\{\{|$)))/,/^(?:[\s\S]*?--\}\})/,/^(?:\()/,/^(?:\))/,/^(?:\{\{(~)?>)/,/^(?:\{\{(~)?#)/,/^(?:\{\{(~)?\/)/,/^(?:\{\{(~)?\^)/,/^(?:\{\{(~)?\s*else\b)/,/^(?:\{\{(~)?\{)/,/^(?:\{\{(~)?&)/,/^(?:\{\{!--)/,/^(?:\{\{![\s\S]*?\}\})/,/^(?:\{\{(~)?)/,/^(?:=)/,/^(?:\.\.)/,/^(?:\.(?=([=~}\s\/.)])))/,/^(?:[\/.])/,/^(?:\s+)/,/^(?:\}(~)?\}\})/,/^(?:(~)?\}\})/,/^(?:"(\\["]|[^"])*")/,/^(?:'(\\[']|[^'])*')/,/^(?:@)/,/^(?:true(?=([~}\s)])))/,/^(?:false(?=([~}\s)])))/,/^(?:-?[0-9]+(?=([~}\s)])))/,/^(?:([^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=([=~}\s\/.)]))))/,/^(?:\[[^\]]*\])/,/^(?:.)/,/^(?:$)/],n.conditions={mu:{rules:[4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32],inclusive:!1},emu:{rules:[2],inclusive:!1},com:{rules:[3],inclusive:!1},INITIAL:{rules:[0,1,32],inclusive:!0}},n}();return t.lexer=r,i.prototype=t,t.Parser=i,new i}()}(),s=function(n,t){"use strict";function f(n){return n.constructor===u.ProgramNode?n:(r.yy=u,r.parse(n))}var i={},r=n,u=t;return i.parser=r,i.parse=f,i}(o,u),h=function(n){"use strict";function r(){}function u(n,t,r){if(n==null||typeof n!="string"&&n.constructor!==r.AST.ProgramNode)throw new i("You must pass a string or Handlebars AST to Handlebars.precompile. You passed "+n);t=t||{};"data"in t||(t.data=!0);var u=r.parse(n),f=(new r.Compiler).compile(u,t);return(new r.JavaScriptCompiler).compile(f,t)}function f(n,t,r){function f(){var i=r.parse(n),u=(new r.Compiler).compile(i,t),f=(new r.JavaScriptCompiler).compile(u,t,undefined,!0);return r.template(f)}if(n==null||typeof n!="string"&&n.constructor!==r.AST.ProgramNode)throw new i("You must pass a string or Handlebars AST to Handlebars.compile. You passed "+n);t=t||{};"data"in t||(t.data=!0);var u;return function(n,t){return u||(u=f()),u.call(this,n,t)}}var t={},i=n;return t.Compiler=r,r.prototype={compiler:r,disassemble:function(){for(var i,e=this.opcodes,n,r=[],u,t,f=0,o=e.length;f<o;f++)if(n=e[f],n.opcode==="DECLARE")r.push("DECLARE "+n.name+"="+n.value);else{for(u=[],i=0;i<n.args.length;i++)t=n.args[i],typeof t=="string"&&(t='"'+t.replace("\n","\\n")+'"'),u.push(t);r.push(n.opcode+" "+u.join(" "))}return r.join("\n")},equals:function(n){var i=this.opcodes.length,t,r,f,u;if(n.opcodes.length!==i)return!1;for(t=0;t<i;t++){if(r=this.opcodes[t],f=n.opcodes[t],r.opcode!==f.opcode||r.args.length!==f.args.length)return!1;for(u=0;u<r.args.length;u++)if(r.args[u]!==f.args[u])return!1}if(i=this.children.length,n.children.length!==i)return!1;for(t=0;t<i;t++)if(!this.children[t].equals(n.children[t]))return!1;return!0},guid:0,compile:function(n,t){var i,r;if(this.opcodes=[],this.children=[],this.depths={list:[]},this.options=t,i=this.options.knownHelpers,this.options.knownHelpers={helperMissing:!0,blockHelperMissing:!0,each:!0,"if":!0,unless:!0,"with":!0,log:!0},i)for(r in i)this.options.knownHelpers[r]=i[r];return this.accept(n)},accept:function(n){var t=n.strip||{},i;return t.left&&this.opcode("strip"),i=this[n.type](n),t.right&&this.opcode("strip"),i},program:function(n){for(var i=n.statements,t=0,r=i.length;t<r;t++)this.accept(i[t]);return this.isSimple=r===1,this.depths.list=this.depths.list.sort(function(n,t){return n-t}),this},compileProgram:function(n){var t=(new this.compiler).compile(n,this.options),u=this.guid++,r,i,f;for(this.usePartial=this.usePartial||t.usePartial,this.children[u]=t,i=0,f=t.depths.list.length;i<f;i++)if(r=t.depths.list[i],r<2)continue;else this.addDepth(r-1);return u},block:function(n){var f=n.mustache,t=n.program,i=n.inverse,r,u;t&&(t=this.compileProgram(t));i&&(i=this.compileProgram(i));r=f.sexpr;u=this.classifySexpr(r);u==="helper"?this.helperSexpr(r,t,i):u==="simple"?(this.simpleSexpr(r),this.opcode("pushProgram",t),this.opcode("pushProgram",i),this.opcode("emptyHash"),this.opcode("blockValue")):(this.ambiguousSexpr(r,t,i),this.opcode("pushProgram",t),this.opcode("pushProgram",i),this.opcode("emptyHash"),this.opcode("ambiguousBlockValue"));this.opcode("append")},hash:function(n){var u=n.pairs,r,t,i,f;for(this.opcode("pushHash"),i=0,f=u.length;i<f;i++)r=u[i],t=r[1],this.options.stringParams?(t.depth&&this.addDepth(t.depth),this.opcode("getContext",t.depth||0),this.opcode("pushStringParam",t.stringModeValue,t.type),t.type==="sexpr"&&this.sexpr(t)):this.accept(t),this.opcode("assignToHash",r[0]);this.opcode("popHash")},partial:function(n){var t=n.partialName;this.usePartial=!0;n.context?this.ID(n.context):this.opcode("push","depth0");this.opcode("invokePartial",t.name);this.opcode("append")},content:function(n){this.opcode("appendContent",n.string)},mustache:function(n){this.sexpr(n.sexpr);n.escaped&&!this.options.noEscape?this.opcode("appendEscaped"):this.opcode("append")},ambiguousSexpr:function(n,t,i){var r=n.id,u=r.parts[0],f=t!=null||i!=null;this.opcode("getContext",r.depth);this.opcode("pushProgram",t);this.opcode("pushProgram",i);this.opcode("invokeAmbiguous",u,f)},simpleSexpr:function(n){var t=n.id;t.type==="DATA"?this.DATA(t):t.parts.length?this.ID(t):(this.addDepth(t.depth),this.opcode("getContext",t.depth),this.opcode("pushContext"));this.opcode("resolvePossibleLambda")},helperSexpr:function(n,t,r){var f=this.setupFullMustacheParams(n,t,r),u=n.id.parts[0];if(this.options.knownHelpers[u])this.opcode("invokeKnownHelper",f.length,u);else if(this.options.knownHelpersOnly)throw new i("You specified knownHelpersOnly, but used the unknown helper "+u,n);else this.opcode("invokeHelper",f.length,u,n.isRoot)},sexpr:function(n){var t=this.classifySexpr(n);t==="simple"?this.simpleSexpr(n):t==="helper"?this.helperSexpr(n):this.ambiguousSexpr(n)},ID:function(n){var i,t,r;for(this.addDepth(n.depth),this.opcode("getContext",n.depth),i=n.parts[0],i?this.opcode("lookupOnContext",n.parts[0]):this.opcode("pushContext"),t=1,r=n.parts.length;t<r;t++)this.opcode("lookup",n.parts[t])},DATA:function(n){var r,t,u;if(this.options.data=!0,n.id.isScoped||n.id.depth)throw new i("Scoped data references are not supported: "+n.original,n);for(this.opcode("lookupData"),r=n.id.parts,t=0,u=r.length;t<u;t++)this.opcode("lookup",r[t])},STRING:function(n){this.opcode("pushString",n.string)},INTEGER:function(n){this.opcode("pushLiteral",n.integer)},BOOLEAN:function(n){this.opcode("pushLiteral",n.bool)},comment:function(){},opcode:function(n){this.opcodes.push({opcode:n,args:[].slice.call(arguments,1)})},declare:function(n,t){this.opcodes.push({opcode:"DECLARE",name:n,value:t})},addDepth:function(n){n!==0&&(this.depths[n]||(this.depths[n]=!0,this.depths.list.push(n)))},classifySexpr:function(n){var t=n.isHelper,i=n.eligibleHelper,r=this.options,u;return i&&!t&&(u=n.id.parts[0],r.knownHelpers[u]?t=!0:r.knownHelpersOnly&&(i=!1)),t?"helper":i?"ambiguous":"simple"},pushParams:function(n){for(var i=n.length,t;i--;)t=n[i],this.options.stringParams?(t.depth&&this.addDepth(t.depth),this.opcode("getContext",t.depth||0),this.opcode("pushStringParam",t.stringModeValue,t.type),t.type==="sexpr"&&this.sexpr(t)):this[t.type](t)},setupFullMustacheParams:function(n,t,i){var r=n.params;return this.pushParams(r),this.opcode("pushProgram",t),this.opcode("pushProgram",i),n.hash?this.hash(n.hash):this.opcode("emptyHash"),r}},t.precompile=u,t.compile=f,t}(n),c=function(n,t){"use strict";function r(n){this.value=n}function i(){}var c=n.COMPILER_REVISION,l=n.REVISION_CHANGES,e=n.log,o=t,f,s,u,h;for(i.prototype={nameLookup:function(n,t){var u,r;return n.indexOf("depth")===0&&(u=!0),r=/^[0-9]+$/.test(t)?n+"["+t+"]":i.isValidJavaScriptVariableName(t)?n+"."+t:n+"['"+t+"']",u?"("+n+" && "+r+")":r},compilerInfo:function(){var n=c,t=l[n];return"this.compilerInfo = ["+n+",'"+t+"'];\n"},appendToBuffer:function(n){return this.environment.isSimple?"return "+n+";":{appendToBuffer:!0,content:n,toString:function(){return"buffer += "+n+";"}}},initializeBuffer:function(){return this.quotedString("")},namespace:"Handlebars",compile:function(n,t,i,r){var f,u,s;for(this.environment=n,this.options=t||{},e("debug",this.environment.disassemble()+"\n\n"),this.name=this.environment.name,this.isChild=!!i,this.context=i||{programs:[],environments:[],aliases:{}},this.preamble(),this.stackSlot=0,this.stackVars=[],this.registers={list:[]},this.hashes=[],this.compileStack=[],this.inlineStack=[],this.compileChildren(n,t),f=n.opcodes,this.i=0,s=f.length;this.i<s;this.i++)u=f[this.i],u.opcode==="DECLARE"?this[u.name]=u.value:this[u.opcode].apply(this,u.args),u.opcode!==this.stripNext&&(this.stripNext=!1);if(this.pushSource(""),this.stackSlot||this.inlineStack.length||this.compileStack.length)throw new o("Compile completed with content left on stack");return this.createFunctionContext(r)},preamble:function(){var t=[],i,n;this.isChild?t.push(""):(i=this.namespace,n="helpers = this.merge(helpers, "+i+".helpers);",this.environment.usePartial&&(n=n+" partials = this.merge(partials, "+i+".partials);"),this.options.data&&(n=n+" data = data || {};"),t.push(n));this.environment.isSimple?t.push(""):t.push(", buffer = "+this.initializeBuffer());this.lastContext=0;this.source=t},createFunctionContext:function(n){var o=this.stackVars.concat(this.registers.list),r,t,u,s,i,f;if(o.length>0&&(this.source[1]=this.source[1]+", "+o.join(", ")),!this.isChild)for(r in this.context.aliases)this.context.aliases.hasOwnProperty(r)&&(this.source[1]=this.source[1]+", "+r+"="+this.context.aliases[r]);for(this.source[1]&&(this.source[1]="var "+this.source[1].substring(2)+";"),this.isChild||(this.source[1]+="\n"+this.context.programs.join("\n")+"\n"),this.environment.isSimple||this.pushSource("return buffer;"),t=this.isChild?["depth0","data"]:["Handlebars","depth0","helpers","partials","data"],u=0,s=this.environment.depths.list.length;u<s;u++)t.push("depth"+this.environment.depths.list[u]);return i=this.mergeSource(),this.isChild||(i=this.compilerInfo()+i),n?(t.push(i),Function.apply(this,t)):(f="function "+(this.name||"")+"("+t.join(",")+") {\n  "+i+"}",e("debug",f+"\n\n"),f)},mergeSource:function(){for(var t,i="",n,r=0,u=this.source.length;r<u;r++)t=this.source[r],t.appendToBuffer?n=n?n+"\n    + "+t.content:t.content:(n&&(i+="buffer += "+n+";\n  ",n=undefined),i+=t+"\n  ");return i},blockValue:function(){this.context.aliases.blockHelperMissing="helpers.blockHelperMissing";var n=["depth0"];this.setupParams(0,n);this.replaceStack(function(t){return n.splice(1,0,t),"blockHelperMissing.call("+n.join(", ")+")"})},ambiguousBlockValue:function(){var n,t;this.context.aliases.blockHelperMissing="helpers.blockHelperMissing";n=["depth0"];this.setupParams(0,n);t=this.topStack();n.splice(1,0,t);this.pushSource("if (!"+this.lastHelper+") { "+t+" = blockHelperMissing.call("+n.join(", ")+"); }")},appendContent:function(n){this.pendingContent&&(n=this.pendingContent+n);this.stripNext&&(n=n.replace(/^\s+/,""));this.pendingContent=n},strip:function(){this.pendingContent&&(this.pendingContent=this.pendingContent.replace(/\s+$/,""));this.stripNext="strip"},append:function(){this.flushInline();var n=this.popStack();this.pushSource("if("+n+" || "+n+" === 0) { "+this.appendToBuffer(n)+" }");this.environment.isSimple&&this.pushSource("else { "+this.appendToBuffer("''")+" }")},appendEscaped:function(){this.context.aliases.escapeExpression="this.escapeExpression";this.pushSource(this.appendToBuffer("escapeExpression("+this.popStack()+")"))},getContext:function(n){this.lastContext!==n&&(this.lastContext=n)},lookupOnContext:function(n){this.push(this.nameLookup("depth"+this.lastContext,n,"context"))},pushContext:function(){this.pushStackLiteral("depth"+this.lastContext)},resolvePossibleLambda:function(){this.context.aliases.functionType='"function"';this.replaceStack(function(n){return"typeof "+n+" === functionType ? "+n+".apply(depth0) : "+n})},lookup:function(n){this.replaceStack(function(t){return t+" == null || "+t+" === false ? "+t+" : "+this.nameLookup(t,n,"context")})},lookupData:function(){this.pushStackLiteral("data")},pushStringParam:function(n,t){this.pushStackLiteral("depth"+this.lastContext);this.pushString(t);t!=="sexpr"&&(typeof n=="string"?this.pushString(n):this.pushStackLiteral(n))},emptyHash:function(){this.pushStackLiteral("{}");this.options.stringParams&&(this.push("{}"),this.push("{}"))},pushHash:function(){this.hash&&this.hashes.push(this.hash);this.hash={values:[],types:[],contexts:[]}},popHash:function(){var n=this.hash;this.hash=this.hashes.pop();this.options.stringParams&&(this.push("{"+n.contexts.join(",")+"}"),this.push("{"+n.types.join(",")+"}"));this.push("{\n    "+n.values.join(",\n    ")+"\n  }")},pushString:function(n){this.pushStackLiteral(this.quotedString(n))},push:function(n){return this.inlineStack.push(n),n},pushLiteral:function(n){this.pushStackLiteral(n)},pushProgram:function(n){n!=null?this.pushStackLiteral(this.programExpression(n)):this.pushStackLiteral(null)},invokeHelper:function(n,t,i){this.context.aliases.helperMissing="helpers.helperMissing";this.useRegister("helper");var r=this.lastHelper=this.setupHelper(n,t,!0),f=this.nameLookup("depth"+this.lastContext,t,"context"),u="helper = "+r.name+" || "+f;r.paramsInit&&(u+=","+r.paramsInit);this.push("("+u+",helper ? helper.call("+r.callParams+") : helperMissing.call("+r.helperMissingParams+"))");i||this.flushInline()},invokeKnownHelper:function(n,t){var i=this.setupHelper(n,t);this.push(i.name+".call("+i.callParams+")")},invokeAmbiguous:function(n,t){this.context.aliases.functionType='"function"';this.useRegister("helper");this.emptyHash();var i=this.setupHelper(0,n,t),u=this.lastHelper=this.nameLookup("helpers",n,"helper"),f=this.nameLookup("depth"+this.lastContext,n,"context"),r=this.nextStack();i.paramsInit&&this.pushSource(i.paramsInit);this.pushSource("if (helper = "+u+") { "+r+" = helper.call("+i.callParams+"); }");this.pushSource("else { helper = "+f+"; "+r+" = typeof helper === functionType ? helper.call("+i.callParams+") : helper; }")},invokePartial:function(n){var t=[this.nameLookup("partials",n,"partial"),"'"+n+"'",this.popStack(),"helpers","partials"];this.options.data&&t.push("data");this.context.aliases.self="this";this.push("self.invokePartial("+t.join(", ")+")")},assignToHash:function(n){var u=this.popStack(),i,r,t;this.options.stringParams&&(r=this.popStack(),i=this.popStack());t=this.hash;i&&t.contexts.push("'"+n+"': "+i);r&&t.types.push("'"+n+"': "+r);t.values.push("'"+n+"': ("+u+")")},compiler:i,compileChildren:function(n,t){for(var i,f=n.children,r,e,u=0,o=f.length;u<o;u++)r=f[u],e=new this.compiler,i=this.matchExistingProgram(r),i==null?(this.context.programs.push(""),i=this.context.programs.length,r.index=i,r.name="program"+i,this.context.programs[i]=e.compile(r,t,this.context),this.context.environments[i]=r):(r.index=i,r.name="program"+i)},matchExistingProgram:function(n){for(var i,t=0,r=this.context.environments.length;t<r;t++)if(i=this.context.environments[t],i&&i.equals(n))return t},programExpression:function(n){var t,e;if(this.context.aliases.self="this",n==null)return"self.noop";var i=this.environment.children[n],r=i.depths.list,u,f=[i.index,i.name,"data"];for(t=0,e=r.length;t<e;t++)u=r[t],u===1?f.push("depth0"):f.push("depth"+(u-1));return(r.length===0?"self.program(":"self.programWithDepth(")+f.join(", ")+")"},register:function(n,t){this.useRegister(n);this.pushSource(n+" = "+t+";")},useRegister:function(n){this.registers[n]||(this.registers[n]=!0,this.registers.list.push(n))},pushStackLiteral:function(n){return this.push(new r(n))},pushSource:function(n){this.pendingContent&&(this.source.push(this.appendToBuffer(this.quotedString(this.pendingContent))),this.pendingContent=undefined);n&&this.source.push(n)},pushStack:function(n){this.flushInline();var t=this.incrStack();return n&&this.pushSource(t+" = "+n+";"),this.compileStack.push(t),t},replaceStack:function(n){var u="",o=this.isInline(),t,f,s,i,h,e;return o?(i=this.popStack(!0),i instanceof r?(t=i.value,s=!0):(f=!this.stackSlot,h=f?this.incrStack():this.topStackName(),u="("+this.push(h)+" = "+i+"),",t=this.topStack())):t=this.topStack(),e=n.call(this,t),o?(s||this.popStack(),f&&this.stackSlot--,this.push("("+u+e+")")):(/^stack/.test(t)||(t=this.nextStack()),this.pushSource(t+" = ("+u+e+");")),t},nextStack:function(){return this.pushStack()},incrStack:function(){return this.stackSlot++,this.stackSlot>this.stackVars.length&&this.stackVars.push("stack"+this.stackSlot),this.topStackName()},topStackName:function(){return"stack"+this.stackSlot},flushInline:function(){var i=this.inlineStack,n,u,t;if(i.length)for(this.inlineStack=[],n=0,u=i.length;n<u;n++)t=i[n],t instanceof r?this.compileStack.push(t):this.pushStack(t)},isInline:function(){return this.inlineStack.length},popStack:function(n){var i=this.isInline(),t=(i?this.inlineStack:this.compileStack).pop();if(!n&&t instanceof r)return t.value;if(!i){if(!this.stackSlot)throw new o("Invalid stack pop");this.stackSlot--}return t},topStack:function(n){var i=this.isInline()?this.inlineStack:this.compileStack,t=i[i.length-1];return!n&&t instanceof r?t.value:t},quotedString:function(n){return'"'+n.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")+'"'},setupHelper:function(n,t,i){var r=[],u=this.setupParams(n,r,i),f=this.nameLookup("helpers",t,"helper");return{params:r,paramsInit:u,name:f,callParams:["depth0"].concat(r).join(", "),helperMissingParams:i&&["depth0",this.quotedString(t)].concat(r).join(", ")}},setupOptions:function(n,t){var i=[],e=[],o=[],s,r,u,f;for(i.push("hash:"+this.popStack()),this.options.stringParams&&(i.push("hashTypes:"+this.popStack()),i.push("hashContexts:"+this.popStack())),r=this.popStack(),u=this.popStack(),(u||r)&&(u||(this.context.aliases.self="this",u="self.noop"),r||(this.context.aliases.self="this",r="self.noop"),i.push("inverse:"+r),i.push("fn:"+u)),f=0;f<n;f++)s=this.popStack(),t.push(s),this.options.stringParams&&(o.push(this.popStack()),e.push(this.popStack()));return this.options.stringParams&&(i.push("contexts:["+e.join(",")+"]"),i.push("types:["+o.join(",")+"]")),this.options.data&&i.push("data:data"),i},setupParams:function(n,t,i){var r="{"+this.setupOptions(n,t).join(",")+"}";return i?(this.useRegister("options"),t.push("options"),"options="+r):(t.push(r),"")}},f="break else new var case finally return void catch for switch while continue function this with default if throw delete in try do instanceof typeof abstract enum int short boolean export interface static byte extends long super char final native synchronized class float package throws const goto private transient debugger implements protected volatile double import public let yield".split(" "),s=i.RESERVED_WORDS={},u=0,h=f.length;u<h;u++)s[f[u]]=!0;return i.isValidJavaScriptVariableName=function(n){return!i.RESERVED_WORDS[n]&&/^[a-zA-Z_$][0-9a-zA-Z_$]*$/.test(n)?!0:!1},i}(i,n);return function(n,t,i,r,u){"use strict";var f=n,o=t,s=i.parser,h=i.parse,c=r.Compiler,l=r.compile,a=r.precompile,v=u,y=f.create,e=function(){var n=y();return n.compile=function(t,i){return l(t,i,n)},n.precompile=function(t,i){return a(t,i,n)},n.AST=o,n.Compiler=c,n.JavaScriptCompiler=v,n.Parser=s,n.parse=h,n};return f=e(),f.create=e,f}(e,u,s,h,c)}();
/*
//# sourceMappingURL=handlebars.min.js.map
*/;
//var systextJSON;
///
///File to store handlebars helpers to be included globally.
///

var Register_HandlebarCommonHelpers = function () {
    
///
///Register a when helper (you can use syntax similar to  {{#when 'recipientid == personsid'}})
///
	// For console logging in handlebars files. Use - `log *`
	Handlebars.registerHelper('log', function (msg) {
		console.log(msg);
	});

	// This helper receives a string (url) and checks if there is an `?` if there is it returns an `&` otherwise returns `?`  
	Handlebars.registerHelper('queryTransformer', function (url) {
		if (!url || typeof url !== 'string')
			throw new Error('Invalid parameter, url must be a non empty string');
		var questionMark = '?';
		return url.includes(questionMark) ? '&' : questionMark;
	});

    Handlebars.registerHelper('when', function (predicate, options) {
		var testString = ''
		for (var key in this) {
			if (this.hasOwnProperty(key)) {
				testString += 'var ' + key + ' = ' + JSON.stringify(this[key]) + ';\n'
			}
		}
		testString += 'return ' + predicate + ';'
		var tester = new Function(testString);

		try {
			return tester() 
				? options.fn(this) 
				: options.inverse(this);
		} catch (error) {
			console.error(error)
			return options.inverse(this)
		}
	});
	
    Handlebars.registerHelper('when2', function (predicate, parentVariable, options) {
		var testString = ''
		for (var key in this) {
			if (this.hasOwnProperty(key)) {
				testString += 'var ' + key + ' = ' + JSON.stringify(this[key]) + ';\n'
			}
		}
		testString += 'return ' + predicate.replace('{0}',parentVariable) + ';'
		var tester = new Function(testString);

		try {
			return tester() 
				? options.fn(this) 
				: options.inverse(this);
		} catch (error) {
			console.error(error)
			return options.inverse(this)
		}
    });

    Handlebars.registerHelper('icon', function (type) {
        var icon = "";

        icon = Utilities.GetIcon(type);

        return icon;

    });

    Handlebars.registerHelper('link', function (type, id) {
        var icon = "";

        icon = Utilities.GetLink(type, id);

        return icon;

    });

    Handlebars.registerHelper('truncate', function (str, count) {

        var content = Utilities.ParseContent(str);

        content = Utilities.StripHTMLTags(content);
        content = Utilities.TruncateToWord(content, count, Utilities.APPENDER_HELLIP);

        return content;
    });

    Handlebars.registerHelper('truncatetomid', function (str, count) {

        var content = Utilities.ParseContent(str);

        content = Utilities.StripHTMLTags(content);
        content = Utilities.TruncateToMid(content, count, Utilities.APPENDER_HELLIP);

        return content;
    });

    Handlebars.registerHelper('loop', function (items, start, length, options) {
        var out = "";
        var sPos = 0
        var ePos = items.length

        if (typeof (start) == "number") {
            sPos = start;
        }

        if (typeof (length) == "number") {
            ePos = (start + length <= items.length) ? start + length : items.length;
        }

        if (typeof (start) == "object") {
            options = start;
        } else if (typeof (length) == "object") {
            options = length;
        }

        for (var i = sPos; i < ePos; i++) {
           var data = { "item": items[i], "index": i, "last": i + 1 == items.length, "count": items.length, "first" : i == 0 };
            //console.log(data);
            out += options.fn(data);
        }

        return out;
    });

    Handlebars.registerHelper('avatar', function (type) {
        var icon = "";

        icon = Utilities.GetAvatar(type);

        return icon;

    });


    Handlebars.registerHelper('parse', function (content) {

        return Utilities.ParseContent(content);

    });

    Handlebars.registerHelper('asset', function (id, size) {

        return Utilities.GetAsset(id, size);

    });
    
    Handlebars.registerHelper('assetRefresh', function (id, size) {
        var assetPath = Utilities.GetAsset(id, size);

        var d = new Date();
        assetPath = assetPath + "&time=" + d.getTime();
        
        return assetPath;

    });

    Handlebars.registerHelper('mod', function (id, size) {

        return id % size;

    });


    Handlebars.registerHelper('length', function (arr) {
		return arr === undefined || arr === null ? 0 : arr.length;
    });


    Handlebars.registerHelper('compile', function (data, template) {
        //var source = ($) ? $("#"+template).html() : document.getElementById(template).innerHTML;
        //var template = Handlebars.compile(source);
        return Utilities.ProcessTemplate("#" + template, data);
    });

    Handlebars.registerHelper('test', function (objA, expression, objB, options) {
        //var declarations = '';
        //for (var field in this) declarations += field + ' = this.' + field + ',';


        if (eval("'" + objA + "' " + expression + " '" + objB + "'")) {
            return options.fn(this);
        }
    });

    Handlebars.registerHelper('equals', function (strA, strB, options) {
        //alert(strB)
        var evalStrA = (typeof (strA) == "string") ? "'" + strA + "'" : "'" + new String(strA) + "'";
        var evalStrB = (typeof (strB) == "string") ? strB  : new String(strB);

        var values = evalStrB.split("||");

        for (var i = 0; i < values.length; i++) {
            var value = "'" + values[i].trim() + "'";
            //alert(values[i])
			if (eval(evalStrA + " == " + value)) {
                return options.fn(this);
            }
		}
        return options.inverse(this);
    });

    Handlebars.registerHelper('date', function (dateString, format, useTimezone) {
        return Utilities.FormatDate(dateString, format, useTimezone);
    });

	// DP: replaces momentDate to address 'double-bagging' of timezone adjustment
	// (which is already done on the server based on user's profile Timezone)
	// [JIRA] NEU-14423
	Handlebars.registerHelper('formatDate', function (date) {
		// use moment to format the date as a long date / time string
		// we force UTC offset as 0 (the adjusted time from the user's profile
		// is formatted as being UTC - this means no adjustment from date / time provided
		// ignoring OS clock)

		// add timezone suffix if not provided
		date = Utilities.datetimeStringAmbiguityConverter(date);

		var newDate = moment(date).utcOffset(0).format('LLL');
		return newDate;
	});

    Handlebars.registerHelper('makeLikeType', function (Variable,toAdd) {
        try {
            return parseInt(Variable) + parseInt(TimeLine.eRECIPIENT_TYPE.Like);
        } catch (e) {
            return 0;
        }
        
    });

    Handlebars.registerHelper('stringify', function (obj) {
        return JSON.stringify(obj);

    });

    Handlebars.registerHelper('eval', function (statement) {
        var declarations = [];
        for (var field in this) declarations.push(field + ' = this.' + field);
        eval(declarations.join(","));
        return eval(statement);
    });

    Handlebars.registerHelper('contains', function (strIds, id, options) {
        var i = eval(id);      
        if (strIds != undefined) {
            for (var j = 0; j < strIds.length; j++) {
                    if (strIds[j] == i)
                    { return options.fn(this); }
                }
                return options.inverse(this);
        }     
       
    });
    Handlebars.registerHelper('eventTimeString', function (datetimeStart, datetimeEnd) {
        return Utilities.eventTimeString(datetimeStart, datetimeEnd);
    });
	Handlebars.registerHelper("inc", function(value, options)
	{
		return parseInt(value) + 1;
	});

	Handlebars.registerHelper('ifIn', function(elem, list, options) {
		if(list === undefined) return options.inverse(this)
		if(list.indexOf(elem) > -1) {
			return options.fn(this);
		}
		return options.inverse(this);
	});

	Handlebars.registerHelper("fileSizeString", function(value)
	{
		var unit = { 0: " KB", 1: " MB", 2: " GB" };
		for (var i = 0; i < 3; i++) {
			var unitSize = +(Math.round(value / 1024 + "e+2") + "e-2");
			if (unitSize < 1000) {
				return unitSize + unit[i];
			}
			value = unitSize;
		}
	});
	Handlebars.registerHelper("fileTypeIcon", function(extension)
	{
		var iconClass;
		if (extension) {
			switch (extension.toLowerCase()) {
				case ".doc":
				case ".docx":
					iconClass = "iconextra-msword";
					break;
				case ".pdf":
					iconClass = "iconextra-pdf";
					break;
				case ".xls":
				case ".xlsx":
				case ".xlsb":
				case ".xlsm":
					iconClass = "iconextra-msexcel";
					break;
				case ".ppt":
				case ".pps":
				case ".pptx":
				case ".ppsx":
					iconClass = "iconextra-mspowerpoint";
					break;
				case "dropbox":
					iconClass = "iconextra-dropbox";
					break;
				case "onedrive":
					iconClass = "iconextra-onedrive";
					break;
				case "drive":
					iconClass = "iconextra-googledrive";
					break;
				case "box":
					iconClass = "iconextra-box";
					break;
				default:
					iconClass = "iconextra-genericattach";
			};
		}
		else {
			iconClass = "iconextra-link";
		}
		return iconClass;
	});

	Handlebars.registerHelper('compare', function(lvalue, rvalue, options) {
		if (arguments.length < 3)
			throw new Error("Handlerbars Helper 'compare' needs 2 parameters");

		var operator = options.hash.operator || "==";

		var operators = {
			'==':       function(l,r) { return l == r; },
			'===':      function(l,r) { return l === r; },
			'!=':       function(l,r) { return l != r; },
			'<':        function(l,r) { return l < r; },
			'>':        function(l,r) { return l > r; },
			'<=':       function(l,r) { return l <= r; },
			'>=':       function(l,r) { return l >= r; },
			'typeof':   function(l,r) { return typeof l == r; }
		}

		if (!operators[operator])
			throw new Error("Handlerbars Helper 'compare' doesn't know the operator "+operator);

		return operators[operator](lvalue,rvalue) ? options.fn(this) : options.inverse(this);
	});

	Handlebars.registerHelper("take", function(array, count)
	{
		if (array === undefined || array === null)
			return false;

		var selected = array.length < count ? array : array.slice(0, count);

		return selected;
	});

	Handlebars.registerHelper("hovercard", function (type, id) {
		var dataAttr = "";
		if (type != null) {
			switch (type.toLowerCase()) {
				case "document":
					dataAttr = 'data-contentid="' + id + '"';
					break;
				case "blogpost":
					dataAttr = 'data-blogpostid="' + id + '"';
					break;
				case "teamblogpost":
					dataAttr = 'data-teamblogpostid="' + id + '"';
					break;
				case "forumquestion":
				case "forumidea":
				case "forumidealist":
				case "forumdiscussion":
					dataAttr = 'data-forumthreadid="' + id + '"';
					break;
				default:
					dataAttr = "";
			}
		}
		return dataAttr;
	});

    Handlebars.registerHelper('hasOnlyOne', function (arr) {

        if (Array.isArray(arr)) {
            return arr.length === 1;
        };

        return false;
	});

	Handlebars.registerHelper('addHttpPrefix', function (link) {
		var page = link;
		var relativeprefix = page.substring(0, 1)

		var prefix;
		if (relativeprefix != ("/")) {
			prefix = page.substring(0, 4);
			if (prefix != "http")
				page = "http://" + page;
		}
		else {
			prefix = page.substring(0, 4);
			if (prefix != "http")
				page = "http://" + location.host + page;
		}
		return page;
	});

	Handlebars.registerHelper("isValidJson", function (str, options) {
		if (str === null || str.trim() === '') {
			return options.inverse(this);
		}
		
		try {
			JSON.parse(str);
			return options.fn(this);
		} catch (error) {
			return options.inverse(this);
		}
	});

	Handlebars.registerHelper("fetchFromJson", function (json, path) {
		let obj = JSON.parse(json);
		const props = path.split('.');

		for (const prop of props) {
			if (obj.hasOwnProperty(prop)) {
				obj = obj[prop];
			} else {
				return undefined;
			}
		}

		return obj;
	});

	Handlebars.registerHelper("dispatchEvent", function (eventName, eventDetail) {
		// this has to return a script so it gets ran with the rest of the page load rather than before the handlebars is injected
		return `
			<script>
				const event = new CustomEvent("${eventName}", { detail: ${eventDetail} });
				document.dispatchEvent(event);
			</script>
		`;
	});
};
!function(){var a=Handlebars.template,r=Handlebars.templates=Handlebars.templates||{};r.ckeditor_addtemplatedialog=a(function(a,r,l,t,e){this.compilerInfo=[4,">= 1.0.0"],l=this.merge(l,a.helpers),e=e||{};var s,n,i="",d="function",c=this.escapeExpression;return i+='<form>\r\n    <div class="row-fluid">\r\n        <div class="span12">\r\n            <div class="group-control required">\r\n                <div class="FormLabel">\r\n                    <label class="required">',(n=l.title)?s=n.call(r,{hash:{},data:e}):(n=r&&r.title,s=typeof n===d?n.call(r,{hash:{},data:e}):n),i+=c(s)+'</label>\r\n                </div>\r\n                <div class="controls">\r\n                    <input data-id="txtTitle" type="text" class="input-block-level" />\r\n                    <p data-error-label="true" style="display: none;">',(n=l.titleError)?s=n.call(r,{hash:{},data:e}):(n=r&&r.titleError,s=typeof n===d?n.call(r,{hash:{},data:e}):n),i+=c(s)+'</p>\r\n                </div>\r\n            </div>\r\n            <div class="group-control required">\r\n                <div class="FormLabel">\r\n                    <label class="required">',(n=l.description)?s=n.call(r,{hash:{},data:e}):(n=r&&r.description,s=typeof n===d?n.call(r,{hash:{},data:e}):n),i+=c(s)+'</label>\r\n                </div>\r\n                <div class="controls">\r\n                    <textarea data-id="txtDescription" class="input-block-level" maxlength="40"></textarea>\r\n                    <div data-description-counter="true" class="label-intro" data-original-title="',(n=l.charactersLeftLabel)?s=n.call(r,{hash:{},data:e}):(n=r&&r.charactersLeftLabel,s=typeof n===d?n.call(r,{hash:{},data:e}):n),i+=c(s)+'">Characters left: 40</div>\r\n                    <p data-error-label="true" style="display: none;">',(n=l.descriptionError)?s=n.call(r,{hash:{},data:e}):(n=r&&r.descriptionError,s=typeof n===d?n.call(r,{hash:{},data:e}):n),i+=c(s)+'</p>\r\n                </div>\r\n            </div>\r\n            <div class="group-control">\r\n                <div class="controls">\r\n                    ',(n=l.helpText)?s=n.call(r,{hash:{},data:e}):(n=r&&r.helpText,s=typeof n===d?n.call(r,{hash:{},data:e}):n),i+=c(s)+"\r\n                </div>\r\n            </div>\r\n        </div>\r\n       \r\n    </div>\r\n</form>"})}();
;
!function(){var a=Handlebars.template,n=Handlebars.templates=Handlebars.templates||{};n.content_searchresult=a(function(a,n,l,r,t){this.compilerInfo=[4,">= 1.0.0"],l=this.merge(l,a.helpers),t=t||{};var e,s,i="",o="function",h=this.escapeExpression;return i+='<div>\r\n    <p style="display: inline-block; margin: 0 !important;">',(s=l.Name)?e=s.call(n,{hash:{},data:t}):(s=n&&n.Name,e=typeof s===o?s.call(n,{hash:{},data:t}):s),i+=h(e)+"<b>",(s=l.Parent)?e=s.call(n,{hash:{},data:t}):(s=n&&n.Parent,e=typeof s===o?s.call(n,{hash:{},data:t}):s),i+=h(e)+"</b></p>\r\n</div>"}),n.item_modallist=a(function(a,n,l,r,t){function e(a,n){var r,t,e,v="";return v+='\r\n<li>\r\n    <ul class="unstyled members">       \r\n            ',t=l.equals||a&&a.equals,e={hash:{},inverse:D.noop,fn:D.program(2,s,n),data:n},r=t?t.call(a,a&&a.Type,"ForumDiscussion",e):b.call(a,"equals",a&&a.Type,"ForumDiscussion",e),(r||0===r)&&(v+=r),v+="\r\n            ",t=l.equals||a&&a.equals,e={hash:{},inverse:D.noop,fn:D.program(4,i,n),data:n},r=t?t.call(a,a&&a.Type,"ForumIdea",e):b.call(a,"equals",a&&a.Type,"ForumIdea",e),(r||0===r)&&(v+=r),v+="\r\n            ",t=l.equals||a&&a.equals,e={hash:{},inverse:D.noop,fn:D.program(6,o,n),data:n},r=t?t.call(a,a&&a.Type,"ForumQuestion",e):b.call(a,"equals",a&&a.Type,"ForumQuestion",e),(r||0===r)&&(v+=r),v+="\r\n            ",t=l.equals||a&&a.equals,e={hash:{},inverse:D.noop,fn:D.program(8,h,n),data:n},r=t?t.call(a,a&&a.Type,"ForumIdeaList",e):b.call(a,"equals",a&&a.Type,"ForumIdeaList",e),(r||0===r)&&(v+=r),v+="\r\n            ",t=l.equals||a&&a.equals,e={hash:{},inverse:D.noop,fn:D.program(10,c,n),data:n},r=t?t.call(a,a&&a.Type,"Document",e):b.call(a,"equals",a&&a.Type,"Document",e),(r||0===r)&&(v+=r),v+='\r\n       \r\n\r\n        <li><a href="',(t=l.URL)?r=t.call(a,{hash:{},data:n}):(t=a&&a.URL,r=typeof t===x?t.call(a,{hash:{},data:n}):t),v+=I(r)+'">',(t=l.Title)?r=t.call(a,{hash:{},data:n}):(t=a&&a.Title,r=typeof t===x?t.call(a,{hash:{},data:n}):t),v+=I(r)+"</a> </li>\r\n        <li><div>",t=l.truncate||a&&a.truncate,e={hash:{},data:n},r=t?t.call(a,a&&a.Summary,250,e):b.call(a,"truncate",a&&a.Summary,250,e),(r||0===r)&&(v+=r),v+="</div></li>\r\n        <li>\r\n            By ",t=l.equals||a&&a.equals,e={hash:{},inverse:D.program(14,d,n),fn:D.program(12,p,n),data:n},r=t?t.call(a,a&&a.AuthorType,"0",e):b.call(a,"equals",a&&a.AuthorType,"0",e),(r||0===r)&&(v+=r),v+="\r\n        </li>\r\n        <li>\r\n            ",r=l["if"].call(a,a&&a.SearchByPercent,{hash:{},inverse:D.program(18,f,n),fn:D.program(16,u,n),data:n}),(r||0===r)&&(v+=r),v+='\r\n        </li>\r\n        <li>\r\n            <ul class="btn-toolbar indpersonact pull-right unstyled count" style="font-size:12px;margin:0;">\r\n				<span title="',(t=l.ShareCount)?r=t.call(a,{hash:{},data:n}):(t=a&&a.ShareCount,r=typeof t===x?t.call(a,{hash:{},data:n}):t),v+=I(r)+" "+I((r=a&&a.SystemText,r=null==r||r===!1?r:r.SharesTooltip,typeof r===x?r.apply(a):r))+'">\r\n                <li class="pull-left">\r\n					<span class="icon is-normal"><i class="icon-share ii-share"></i></span> \r\n                    ',t=l.equals||a&&a.equals,e={hash:{},inverse:D.program(22,g,n),fn:D.program(20,m,n),data:n},r=t?t.call(a,a&&a.Shares,"-1",e):b.call(a,"equals",a&&a.Shares,"-1",e),(r||0===r)&&(v+=r),v+='\r\n                </li></span>\r\n				<span title="',(t=l.LikeCount)?r=t.call(a,{hash:{},data:n}):(t=a&&a.LikeCount,r=typeof t===x?t.call(a,{hash:{},data:n}):t),v+=I(r)+" "+I((r=a&&a.SystemText,r=null==r||r===!1?r:r.LikesTooptip,typeof r===x?r.apply(a):r))+'">\r\n                <li class="pull-left">\r\n                    <span class="icon is-normal"><i class="iconextra-comment ii-comments"></i></span> \r\n                    ',t=l.equals||a&&a.equals,e={hash:{},inverse:D.program(24,y,n),fn:D.program(20,m,n),data:n},r=t?t.call(a,a&&a.Likes,"-1",e):b.call(a,"equals",a&&a.Likes,"-1",e),(r||0===r)&&(v+=r),v+="\r\n                </li></span>\r\n            </ul>\r\n        </li>\r\n    </ul>\r\n</li>   \r\n"}function s(){return'\r\n		 <li style="position:absolute;left:0;padding:0;">\r\n			<div class="thumbnail forum_type" style="padding: 6px; margin: 5px; width: 42px; height: 35px;">\r\n				<span class="IForumDiscussion pull-left iconlarge" style="position: relative; left: 5px;"></span>\r\n			</div></li>\r\n            '}function i(){return'\r\n			 <li style="position:absolute;left:0;padding:0;">\r\n			<div class="thumbnail forum_type" style="padding: 6px; margin: 5px; width: 42px; height: 35px;">\r\n				<span class="IForumIdea pull-left iconlarge"  style="position: relative; left: 5px;"></span>\r\n			</div></li>\r\n            '}function o(){return'\r\n			 <li style="position:absolute;left:0;padding:0;">\r\n			<div class="thumbnail forum_type" style="padding: 6px; margin: 5px; width: 42px; height: 35px;">\r\n				<span class="IForumQuestion pull-left iconlarge"  style="position: relative; left: 5px;"></span>\r\n		</div></li>\r\n            '}function h(){return'\r\n			 <li style="position:absolute;left:0;padding:0;">\r\n			<div class="thumbnail forum_type" style="padding: 6px; margin: 5px; width: 42px; height: 35px;">\r\n				<span class="IForumIdeaList pull-left iconlarge"  style="position: relative; left: 5px;"></span>\r\n		</div></li>\r\n            '}function c(a,n){var r,t,e="";return e+='\r\n		<li style="position:absolute;left:0;padding:0;">\r\n            <div style="width:50px;">\r\n                <img width="50" height="50" src="'+I((r=l.asset||a&&a.asset,t={hash:{},data:n},r?r.call(a,a&&a.AssetId,3,t):b.call(a,"asset",a&&a.AssetId,3,t)))+'">\r\n            </div>\r\n			</li>\r\n            '}function p(a,n){var r,t,e="";return e+='<span><a href="/Interact/Pages/Modules/Directory/Entry.aspx?person=',(t=l.AuthorID)?r=t.call(a,{hash:{},data:n}):(t=a&&a.AuthorID,r=typeof t===x?t.call(a,{hash:{},data:n}):t),e+=I(r)+"\" data-personid='",(t=l.AuthorID)?r=t.call(a,{hash:{},data:n}):(t=a&&a.AuthorID,r=typeof t===x?t.call(a,{hash:{},data:n}):t),e+=I(r)+"'>",(t=l.Author)?r=t.call(a,{hash:{},data:n}):(t=a&&a.Author,r=typeof t===x?t.call(a,{hash:{},data:n}):t),(r||0===r)&&(e+=r),e+="</a></span>\r\n            "}function d(a,n){var r,t,e="";return e+="<span>",(t=l.Author)?r=t.call(a,{hash:{},data:n}):(t=a&&a.Author,r=typeof t===x?t.call(a,{hash:{},data:n}):t),(r||0===r)&&(e+=r),e+="</span>"}function u(a,n){var r,t,e="";return e+='<span class="muted"><i>',(t=l.VisitPercent)?r=t.call(a,{hash:{},data:n}):(t=a&&a.VisitPercent,r=typeof t===x?t.call(a,{hash:{},data:n}):t),(r||0===r)&&(e+=r),e+="% of the people in your network have seen this page.</i></span>\r\n            "}function f(a,n){var r,t,e="";return e+='<span class="muted"><i>This content has been suggested because you searched for the term "',(t=l.SearchTerm)?r=t.call(a,{hash:{},data:n}):(t=a&&a.SearchTerm,r=typeof t===x?t.call(a,{hash:{},data:n}):t),(r||0===r)&&(e+=r),e+='".</i></span>																	'}function m(){return"0"}function g(a,n){var r,t,e="";return(t=l.Shares)?r=t.call(a,{hash:{},data:n}):(t=a&&a.Shares,r=typeof t===x?t.call(a,{hash:{},data:n}):t),e+=I(r)+"&nbsp"}function y(a,n){var r,t;return(t=l.Likes)?r=t.call(a,{hash:{},data:n}):(t=a&&a.Likes,r=typeof t===x?t.call(a,{hash:{},data:n}):t),I(r)}this.compilerInfo=[4,">= 1.0.0"],l=this.merge(l,a.helpers),t=t||{};var v,w="",b=l.helperMissing,I=this.escapeExpression,x="function",D=this;return w+="",v=l.each.call(n,n,{hash:{},inverse:D.noop,fn:D.program(1,e,t),data:t}),(v||0===v)&&(w+=v),w+=" "}),n.person_modallist=a(function(a,n,l,r,t){function e(a,n){var r,t,e="";return e+='\r\n<li>\r\n	<ul class="unstyled members">\r\n		<li>\r\n			<img width="32px" height="32px" class="img-circle imgflexible" src="',(t=l.PersonImageURL)?r=t.call(a,{hash:{},data:n}):(t=a&&a.PersonImageURL,r=typeof t===u?t.call(a,{hash:{},data:n}):t),e+=f(r)+'">\r\n		</li>\r\n		<li class="user"><a data-personid="',(t=l.UserID)?r=t.call(a,{hash:{},data:n}):(t=a&&a.UserID,r=typeof t===u?t.call(a,{hash:{},data:n}):t),e+=f(r)+'" href="/interact/pages/modules/directory/entry.aspx?person=',(t=l.UserID)?r=t.call(a,{hash:{},data:n}):(t=a&&a.UserID,r=typeof t===u?t.call(a,{hash:{},data:n}):t),e+=f(r)+'">',(t=l.Name)?r=t.call(a,{hash:{},data:n}):(t=a&&a.Name,r=typeof t===u?t.call(a,{hash:{},data:n}):t),e+=f(r)+"</a></li>\r\n		<li>",(t=l.JobTitle)?r=t.call(a,{hash:{},data:n}):(t=a&&a.JobTitle,r=typeof t===u?t.call(a,{hash:{},data:n}):t),e+=f(r)+"</li>\r\n	</ul>\r\n	<div>\r\n		",r=l["if"].call(a,a&&a.IsSharedMoreThenOnce,{hash:{},inverse:m.noop,fn:m.program(2,s,n),data:n}),(r||0===r)&&(e+=r),e+='\r\n	</div>\r\n	<div class="btn-toolbar indpersonact">\r\n		<div class="pull-right">\r\n			',r=l["if"].call(a,a&&a.ShowFollowUnfollow,{hash:{},inverse:m.noop,fn:m.program(4,i,n),data:n}),(r||0===r)&&(e+=r),e+="\r\n		</div>\r\n	</div>\r\n</li>\r\n\r\n"}function s(a,n){var r,t,e="";return e+="\r\n		<i>",(t=l.SharedMoreThenOnceNote)?r=t.call(a,{hash:{},data:n}):(t=a&&a.SharedMoreThenOnceNote,r=typeof t===u?t.call(a,{hash:{},data:n}):t),e+=f(r)+"</i>\r\n		"}function i(a,n){var r,t="";return t+="\r\n			",r=l.unless.call(a,a&&a.IsMe,{hash:{},inverse:m.noop,fn:m.program(5,o,n),data:n}),(r||0===r)&&(t+=r),t+="\r\n			"}function o(a,n){var r,t="";return t+='\r\n			<div id="FollowButtonContainer" class="btn-group">\r\n				',r=l["if"].call(a,a&&a.Following,{hash:{},inverse:m.program(8,c,n),fn:m.program(6,h,n),data:n}),(r||0===r)&&(t+=r),t+="\r\n			</div>\r\n			"}function h(a,n){var r,t,e="";return e+='\r\n				<button class="btn btn-mini btn-success" id="followunfollow" data-personid="',(t=l.UserID)?r=t.call(a,{hash:{},data:n}):(t=a&&a.UserID,r=typeof t===u?t.call(a,{hash:{},data:n}):t),e+=f(r)+'" name="followunfollow" data-original-following="Following" data-original-follow="Follow">\r\n					<i class="icon-ok icon-white"></i>\r\n					<span id="lblFollowBtn">\r\n						Following\r\n					</span>\r\n				</button>\r\n				'}function c(a,n){var r,t,e="";return e+='\r\n				<button class="btn btn-mini btn-info" id="followunfollow" data-personid="',(t=l.UserID)?r=t.call(a,{hash:{},data:n}):(t=a&&a.UserID,r=typeof t===u?t.call(a,{hash:{},data:n}):t),e+=f(r)+'" name="followunfollow" data-original-following="Following" data-original-follow="Follow">\r\n					<i class="icon-user icon-white"></i>\r\n					<span id="lblFollowBtn">\r\n						Follow\r\n					</span>\r\n				</button>\r\n				'}this.compilerInfo=[4,">= 1.0.0"],l=this.merge(l,a.helpers),t=t||{};var p,d="",u="function",f=this.escapeExpression,m=this;return d+="",p=l.each.call(n,n,{hash:{},inverse:m.noop,fn:m.program(1,e,t),data:t}),(p||0===p)&&(d+=p),d}),n.person_searchresult=a(function(a,n,l,r,t){function e(a,n){var r,t,e;return t=l.asset||a&&a.asset,e={hash:{},data:n},r=t?t.call(a,a&&a.Avatar,4,e):c.call(a,"asset",a&&a.Avatar,4,e),r||0===r?r:""}function s(a,n){var r,t;return p((r=l.avatar||a&&a.avatar,t={hash:{},data:n},r?r.call(a,a&&a.Type,t):c.call(a,"avatar",a&&a.Type,t)))}this.compilerInfo=[4,">= 1.0.0"],l=this.merge(l,a.helpers),t=t||{};var i,o,h="",c=l.helperMissing,p=this.escapeExpression,d=this,u="function";return h+='<div style="position:relative;padding:0 0 0 30px;">\r\n    <img style="width: 25px; height: 25px; position:absolute;left:0;" src="',i=l["if"].call(n,n&&n.Avatar,{hash:{},inverse:d.program(3,s,t),fn:d.program(1,e,t),data:t}),(i||0===i)&&(h+=i),h+='" />\r\n    <p style="display: inline-block; margin: 0 !important; padding: 2px 0;">',(o=l.Name)?i=o.call(n,{hash:{},data:t}):(o=n&&n.Name,i=typeof o===u?o.call(n,{hash:{},data:t}):o),h+=p(i)+"<b>",(o=l.Parent)?i=o.call(n,{hash:{},data:t}):(o=n&&n.Parent,i=typeof o===u?o.call(n,{hash:{},data:t}):o),h+=p(i)+"</b></p>\r\n</div>"}),n.person_teammodallist=a(function(a,n,l,r,t){function e(a,n,r){var t,e,o="";return o+='\r\n<li>\r\n	<ul class="unstyled members">\r\n		<li>\r\n			<img width="32px" height="32px" class="img-circle imgflexible" src="',(e=l.PersonImageURL)?t=e.call(a,{hash:{},data:n}):(e=a&&a.PersonImageURL,t=typeof e===x?e.call(a,{hash:{},data:n}):e),o+=D(t)+'">\r\n		</li>\r\n		<li class="user"><a data-personid="',(e=l.UserID)?t=e.call(a,{hash:{},data:n}):(e=a&&a.UserID,t=typeof e===x?e.call(a,{hash:{},data:n}):e),o+=D(t)+'" href="/interact/pages/modules/directory/entry.aspx?person=',(e=l.UserID)?t=e.call(a,{hash:{},data:n}):(e=a&&a.UserID,t=typeof e===x?e.call(a,{hash:{},data:n}):e),o+=D(t)+'">',(e=l.Name)?t=e.call(a,{hash:{},data:n}):(e=a&&a.Name,t=typeof e===x?e.call(a,{hash:{},data:n}):e),o+=D(t)+"</a></li>\r\n		<li>",(e=l.JobTitle)?t=e.call(a,{hash:{},data:n}):(e=a&&a.JobTitle,t=typeof e===x?e.call(a,{hash:{},data:n}):e),o+=D(t)+'</li>\r\n		<li>\r\n			<ul class="deptloccom">\r\n				',t=l["if"].call(a,(t=r&&r.settings,null==t||t===!1?t:t.ShowDepartment),{hash:{},inverse:F.noop,fn:F.program(2,s,n),data:n}),(t||0===t)&&(o+=t),o+="\r\n				",t=l["if"].call(a,(t=r&&r.settings,null==t||t===!1?t:t.ShowLocation),{hash:{},inverse:F.noop,fn:F.programWithDepth(4,i,n,r),data:n}),(t||0===t)&&(o+=t),o+="\r\n				",t=l["if"].call(a,(t=r&&r.settings,null==t||t===!1?t:t.ShowCompany),{hash:{},inverse:F.noop,fn:F.programWithDepth(9,c,n,r),data:n}),(t||0===t)&&(o+=t),o+="\r\n			</ul>\r\n		</li>\r\n	</ul>\r\n	<div>\r\n		",t=l["if"].call(a,a&&a.IsSharedMoreThenOnce,{hash:{},inverse:F.noop,fn:F.program(17,m,n),data:n}),(t||0===t)&&(o+=t),o+='\r\n	</div>\r\n	<div class="btn-toolbar indpersonact">\r\n		<div class="pull-right">\r\n			',t=l["if"].call(a,a&&a.ShowFollowUnfollow,{hash:{},inverse:F.noop,fn:F.program(19,g,n),data:n}),(t||0===t)&&(o+=t),o+="\r\n		</div>\r\n	</div>\r\n</li>\r\n\r\n"}function s(a,n){var r,t,e="";return e+='\r\n					<li class="inlined">',(t=l.PrimaryDepartment)?r=t.call(a,{hash:{},data:n}):(t=a&&a.PrimaryDepartment,r=typeof t===x?t.call(a,{hash:{},data:n}):t),e+=D(r)+"</li>\r\n				"}function i(a,n,r){var t,e="";return e+="\r\n					",t=l["if"].call(a,(t=r&&r.settings,null==t||t===!1?t:t.ShowDepartment),{hash:{},inverse:F.program(7,h,n),fn:F.program(5,o,n),data:n}),(t||0===t)&&(e+=t),e+="\r\n				"}function o(a,n){var r,t,e="";return e+='\r\n						<li class="inlinedborderd">',(t=l.PrimaryLocation)?r=t.call(a,{hash:{},data:n}):(t=a&&a.PrimaryLocation,r=typeof t===x?t.call(a,{hash:{},data:n}):t),e+=D(r)+"</li>\r\n					"}function h(a,n){var r,t,e="";return e+='\r\n						<li class="inlined">',(t=l.PrimaryLocation)?r=t.call(a,{hash:{},data:n}):(t=a&&a.PrimaryLocation,r=typeof t===x?t.call(a,{hash:{},data:n}):t),e+=D(r)+"</li>\r\n					"}function c(a,n,r){var t,e="";return e+="\r\n					",t=l["if"].call(a,(t=r&&r.settings,null==t||t===!1?t:t.ShowDepartment),{hash:{},inverse:F.programWithDepth(12,d,n,r),fn:F.program(10,p,n),data:n}),(t||0===t)&&(e+=t),e+="\r\n				"}function p(a,n){var r,t,e="";return e+='\r\n						<li class="inlinedborderd">',(t=l.PrimaryCompany)?r=t.call(a,{hash:{},data:n}):(t=a&&a.PrimaryCompany,r=typeof t===x?t.call(a,{hash:{},data:n}):t),e+=D(r)+"</li>\r\n					"}function d(a,n,r){var t,e="";return e+="\r\n						",t=l["if"].call(a,(t=r&&r.settings,null==t||t===!1?t:t.ShowLocation),{hash:{},inverse:F.program(15,f,n),fn:F.program(13,u,n),data:n}),(t||0===t)&&(e+=t),e+="\r\n					"}function u(a,n){var r,t,e="";return e+='\r\n							<li class="inlinedborderd">',(t=l.PrimaryCompany)?r=t.call(a,{hash:{},data:n}):(t=a&&a.PrimaryCompany,r=typeof t===x?t.call(a,{hash:{},data:n}):t),e+=D(r)+"</li>\r\n						"}function f(a,n){var r,t,e="";return e+='\r\n							<li class="inlined">',(t=l.PrimaryCompany)?r=t.call(a,{hash:{},data:n}):(t=a&&a.PrimaryCompany,r=typeof t===x?t.call(a,{hash:{},data:n}):t),e+=D(r)+"</li>\r\n						"}function m(a,n){var r,t,e="";return e+="\r\n		<i>",(t=l.SharedMoreThenOnceNote)?r=t.call(a,{hash:{},data:n}):(t=a&&a.SharedMoreThenOnceNote,r=typeof t===x?t.call(a,{hash:{},data:n}):t),e+=D(r)+"</i>\r\n		"}function g(a,n){var r,t="";return t+="\r\n			",r=l.unless.call(a,a&&a.IsMe,{hash:{},inverse:F.noop,fn:F.program(20,y,n),data:n}),(r||0===r)&&(t+=r),t+="\r\n			"}function y(a,n){var r,t="";return t+='\r\n			<div id="FollowButtonContainer" class="btn-group">\r\n				',r=l["if"].call(a,a&&a.Following,{hash:{},inverse:F.program(23,w,n),fn:F.program(21,v,n),data:n}),(r||0===r)&&(t+=r),t+="\r\n			</div>\r\n			"}function v(a,n){var r,t,e="";return e+='\r\n				<button class="btn btn-mini btn-success" id="followunfollow" data-personid="',(t=l.UserID)?r=t.call(a,{hash:{},data:n}):(t=a&&a.UserID,r=typeof t===x?t.call(a,{hash:{},data:n}):t),e+=D(r)+'" name="followunfollow" data-original-following="Following" data-original-follow="Follow">\r\n					<i class="icon-ok icon-white"></i>\r\n					<span id="lblFollowBtn">\r\n						Following\r\n					</span>\r\n				</button>\r\n				'}function w(a,n){var r,t,e="";return e+='\r\n				<button class="btn btn-mini btn-info" id="followunfollow" data-personid="',(t=l.UserID)?r=t.call(a,{hash:{},data:n}):(t=a&&a.UserID,r=typeof t===x?t.call(a,{hash:{},data:n}):t),e+=D(r)+'" name="followunfollow" data-original-following="Following" data-original-follow="Follow">\r\n					<i class="icon-user icon-white"></i>\r\n					<span id="lblFollowBtn">\r\n						Follow\r\n					</span>\r\n				</button>\r\n				'}this.compilerInfo=[4,">= 1.0.0"],l=this.merge(l,a.helpers),t=t||{};var b,I="",x="function",D=this.escapeExpression,F=this;return I+="",b=l.each.call(n,n&&n.data,{hash:{},inverse:F.noop,fn:F.programWithDepth(1,e,t,n),data:t}),(b||0===b)&&(I+=b),I})}();
;
!function(){var a=Handlebars.template,l=Handlebars.templates=Handlebars.templates||{};l.directory_filters=a(function(a,l,t,e,n){function r(a,l){var e,n,r="";return r+='\r\n<a href="#personFilter_',(n=t.Name)?e=n.call(a,{hash:{},data:l}):(n=a&&a.Name,e=typeof n===m?n.call(a,{hash:{},data:l}):n),r+=v(e)+'" class="person-filter-control" data-toggle="collapse">\r\n	<h3 style="position:relative;" data-filter="',(n=t.Name)?e=n.call(a,{hash:{},data:l}):(n=a&&a.Name,e=typeof n===m?n.call(a,{hash:{},data:l}):n),r+=v(e)+'">',(n=t.DisplayName)?e=n.call(a,{hash:{},data:l}):(n=a&&a.DisplayName,e=typeof n===m?n.call(a,{hash:{},data:l}):n),r+=v(e)+'<i style="position:absolute;right: 7px;top: 11px;" class="icon-chevron-down"></i></h3>\r\n</a>\r\n',e=t["if"].call(a,a&&a.CondensedPeopleDirectoryFilter,{hash:{},inverse:g.program(8,h,l),fn:g.program(2,o,l),data:l}),(e||0===e)&&(r+=e),r+="\r\n"}function o(a,l){var e,n,r="";return r+='\r\n<div class="unstyled collapse person-filter-category" id="personFilter_',(n=t.Name)?e=n.call(a,{hash:{},data:l}):(n=a&&a.Name,e=typeof n===m?n.call(a,{hash:{},data:l}):n),r+=v(e)+'" style="width:100%">\r\n	<select style="width:100%">\r\n		<option value="-1">All ',(n=t.DisplayNamePlural)?e=n.call(a,{hash:{},data:l}):(n=a&&a.DisplayNamePlural,e=typeof n===m?n.call(a,{hash:{},data:l}):n),r+=v(e)+"</option>\r\n		",e=t.each.call(a,a&&a.Facets,{hash:{},inverse:g.noop,fn:g.program(3,s,l),data:l}),(e||0===e)&&(r+=e),r+="\r\n	</select>\r\n</div>\r\n"}function s(a,l){var e,n,r="";return r+="\r\n\r\n		",e=t["if"].call(a,a&&a.Selected,{hash:{},inverse:g.program(6,p,l),fn:g.program(4,i,l),data:l}),(e||0===e)&&(r+=e),r+="\r\n			",(n=t.Name)?e=n.call(a,{hash:{},data:l}):(n=a&&a.Name,e=typeof n===m?n.call(a,{hash:{},data:l}):n),r+=v(e)+"\r\n		</option>\r\n		"}function i(a,l){var e,n,r="";return r+='\r\n		<option value="',(n=t.Name)?e=n.call(a,{hash:{},data:l}):(n=a&&a.Name,e=typeof n===m?n.call(a,{hash:{},data:l}):n),r+=v(e)+'" selected="true">\r\n			'}function p(a,l){var e,n,r="";return r+='\r\n		<option value="',(n=t.Name)?e=n.call(a,{hash:{},data:l}):(n=a&&a.Name,e=typeof n===m?n.call(a,{hash:{},data:l}):n),r+=v(e)+'">\r\n			'}function h(a,l){var e,n,r="";return r+='\r\n<ul class="unstyled collapse person-filter-category" id="personFilter_',(n=t.Name)?e=n.call(a,{hash:{},data:l}):(n=a&&a.Name,e=typeof n===m?n.call(a,{hash:{},data:l}):n),r+=v(e)+'">\r\n	',e=t.each.call(a,a&&a.Facets,{hash:{},inverse:g.noop,fn:g.program(9,c,l),data:l}),(e||0===e)&&(r+=e),r+="\r\n</ul>\r\n"}function c(a,l){var e,n="";return n+='\r\n\r\n	<li style="cursor: pointer;">\r\n		',e=t["if"].call(a,a&&a.Selected,{hash:{},inverse:g.program(12,f,l),fn:g.program(10,d,l),data:l}),(e||0===e)&&(n+=e),n+="\r\n	</li>\r\n	"}function d(a,l){var e,n,r="";return r+='\n		<label class="sr-only" for="',(n=t.Name)?e=n.call(a,{hash:{},data:l}):(n=a&&a.Name,e=typeof n===m?n.call(a,{hash:{},data:l}):n),r+=v(e)+'">',(n=t.Name)?e=n.call(a,{hash:{},data:l}):(n=a&&a.Name,e=typeof n===m?n.call(a,{hash:{},data:l}):n),r+=v(e)+'</label>\r\n		<input id="',(n=t.Name)?e=n.call(a,{hash:{},data:l}):(n=a&&a.Name,e=typeof n===m?n.call(a,{hash:{},data:l}):n),r+=v(e)+'" name="',(n=t.Name)?e=n.call(a,{hash:{},data:l}):(n=a&&a.Name,e=typeof n===m?n.call(a,{hash:{},data:l}):n),r+=v(e)+'" type="checkbox" style="margin-right: 4px; vertical-align: top;" value="true" checked="checked">\r\n		<a for="',(n=t.Name)?e=n.call(a,{hash:{},data:l}):(n=a&&a.Name,e=typeof n===m?n.call(a,{hash:{},data:l}):n),r+=v(e)+'" style="font-weight: bold;" data-filter="',(n=t.Name)?e=n.call(a,{hash:{},data:l}):(n=a&&a.Name,e=typeof n===m?n.call(a,{hash:{},data:l}):n),r+=v(e)+'">\r\n			',(n=t.Name)?e=n.call(a,{hash:{},data:l}):(n=a&&a.Name,e=typeof n===m?n.call(a,{hash:{},data:l}):n),r+=v(e)+' <span style="display: none;">(',(n=t.Count)?e=n.call(a,{hash:{},data:l}):(n=a&&a.Count,e=typeof n===m?n.call(a,{hash:{},data:l}):n),r+=v(e)+")</span>\r\n		</a>\r\n		"}function f(a,l){var e,n,r="";return r+='\n		<label class="sr-only" for="',(n=t.Name)?e=n.call(a,{hash:{},data:l}):(n=a&&a.Name,e=typeof n===m?n.call(a,{hash:{},data:l}):n),r+=v(e)+'">',(n=t.Name)?e=n.call(a,{hash:{},data:l}):(n=a&&a.Name,e=typeof n===m?n.call(a,{hash:{},data:l}):n),r+=v(e)+'</label>\r\n		<input id="',(n=t.Name)?e=n.call(a,{hash:{},data:l}):(n=a&&a.Name,e=typeof n===m?n.call(a,{hash:{},data:l}):n),r+=v(e)+'" name="',(n=t.Name)?e=n.call(a,{hash:{},data:l}):(n=a&&a.Name,e=typeof n===m?n.call(a,{hash:{},data:l}):n),r+=v(e)+'" type="checkbox" style="margin-right: 4px; vertical-align: top;" value="true">\r\n		<a data-filter="',(n=t.Name)?e=n.call(a,{hash:{},data:l}):(n=a&&a.Name,e=typeof n===m?n.call(a,{hash:{},data:l}):n),r+=v(e)+'">',(n=t.Name)?e=n.call(a,{hash:{},data:l}):(n=a&&a.Name,e=typeof n===m?n.call(a,{hash:{},data:l}):n),r+=v(e)+" <span>(",(n=t.Count)?e=n.call(a,{hash:{},data:l}):(n=a&&a.Count,e=typeof n===m?n.call(a,{hash:{},data:l}):n),r+=v(e)+")</span></a>\r\n		"}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),n=n||{};var u,y="",m="function",v=this.escapeExpression,g=this;return u=t.each.call(l,l&&l.Filters,{hash:{},inverse:g.noop,fn:g.program(1,r,n),data:n}),(u||0===u)&&(y+=u),y+="\n"}),l.directory_people=a(function(a,l,t,e,n){function r(a,l,e){var n,r="";return r+='\r\n<div class="result-container">\r\n	<table class="table table-hover person">\r\n		<thead>\r\n			<tr>\r\n				<th>Thumbnail</th>\r\n				<th>Profile</th>\r\n			</tr>\r\n		</thead>\r\n		<tbody>\r\n			<tr id="SearchResultCard'+R((n=a&&a.ItemIndex,typeof n===C?n.apply(a):n))+'" data-recordno="'+R((n=a&&a.ItemIndex,typeof n===C?n.apply(a):n))+'" class="clickTrigger SearchResultCard" data-personid="'+R((n=a&&a.UserID,typeof n===C?n.apply(a):n))+'">\r\n				<td class="span1">\r\n					<div class="',n=t["if"].call(a,a&&a.Following,{hash:{},inverse:T.program(4,s,l),fn:T.program(2,o,l),data:l}),(n||0===n)&&(r+=n),r+='">\r\n						<img id="'+R((n=a&&a.UserID,typeof n===C?n.apply(a):n))+'_img" src="'+R((n=a&&a.PersonImageURL,typeof n===C?n.apply(a):n))+'" alt="'+R((n=a&&a.Name,typeof n===C?n.apply(a):n))+' - Profile Image" class="img-circle" />\r\n					</div>\r\n					<!-- Hidden Rank information - requested via email for -->\r\n					',n=t["if"].call(a,a&&a.ExpertiseScore,{hash:{},inverse:T.noop,fn:T.program(6,i,l),data:l}),(n||0===n)&&(r+=n),r+='\r\n				</td>\r\n				<td width="76%">\r\n					<table class="layoutonly">\r\n						<tr>\r\n							<td class="name-col">\r\n								<div class="pull-left">\r\n									<h2><a href="Entry.aspx?person='+R((n=a&&a.UserID,typeof n===C?n.apply(a):n))+"&"+R((n=a&&a.QueryStringUtmParameters,typeof n===C?n.apply(a):n))+'">'+R((n=a&&a.Name,typeof n===C?n.apply(a):n))+"</a></h2>\r\n									",n=t["if"].call(a,a&&a.EmailAddress,{hash:{},inverse:T.noop,fn:T.program(8,p,l),data:l}),(n||0===n)&&(r+=n),r+='\r\n								</div>\r\n							</td>\r\n						</tr>\r\n					</table>\r\n					<table class="layoutonly" style="margin-bottom:10px;">\r\n						<tr>\r\n							<td class="first-col">\r\n								<ul class="unstyled">\r\n									',n=t["if"].call(a,a&&a.JobTitle,{hash:{},inverse:T.noop,fn:T.program(10,h,l),data:l}),(n||0===n)&&(r+=n),r+="\r\n									",n=t["if"].call(a,a&&a.PhoneWork,{hash:{},inverse:T.noop,fn:T.programWithDepth(12,c,l,e),data:l}),(n||0===n)&&(r+=n),r+="\r\n									",n=t["if"].call(a,a&&a.PhoneMobile,{hash:{},inverse:T.noop,fn:T.programWithDepth(14,d,l,e),data:l}),(n||0===n)&&(r+=n),r+='\r\n\r\n\r\n								</ul>\r\n							</td>\r\n							<td class="second-col">\r\n								<ul class="unstyled">\r\n\r\n									',n=t["if"].call(a,a&&a.PrimaryDepartment,{hash:{},inverse:T.noop,fn:T.program(16,f,l),data:l}),(n||0===n)&&(r+=n),r+="\r\n\r\n									",n=t["if"].call(a,a&&a.PrimaryLocation,{hash:{},inverse:T.noop,fn:T.program(18,u,l),data:l}),(n||0===n)&&(r+=n),r+="\r\n									",n=t["if"].call(a,a&&a.PrimaryCompany,{hash:{},inverse:T.noop,fn:T.program(20,y,l),data:l}),(n||0===n)&&(r+=n),r+='\r\n									<li>\r\n										<div id="profile" class="pull-left">\r\n											<div class="well" style="box-shadow:none;background:none;border:none;padding:0;margin:0;">\r\n												<div class="well-actions" style="background:none;border:none;min-height:0;">\r\n													<div class="social pull-right" style="padding: 5px 0 5px;">\r\n														<ul class="unstyled items">\r\n															',n=t["if"].call(a,a&&a.Skype,{hash:{},inverse:T.noop,fn:T.program(22,m,l),data:l}),(n||0===n)&&(r+=n),r+="\r\n															",n=t["if"].call(a,a&&a.Chat,{hash:{},inverse:T.noop,fn:T.program(24,v,l),data:l}),(n||0===n)&&(r+=n),r+="\r\n															",n=t["if"].call(a,a&&a.TwitterTag,{hash:{},inverse:T.noop,fn:T.program(26,g,l),data:l}),(n||0===n)&&(r+=n),r+="\r\n															",n=t["if"].call(a,a&&a.FacebookId,{hash:{},inverse:T.noop,fn:T.program(28,F,l),data:l}),(n||0===n)&&(r+=n),r+="\r\n															",n=t["if"].call(a,a&&a.LinkedInId,{hash:{},inverse:T.noop,fn:T.program(30,b,l),data:l}),(n||0===n)&&(r+=n),r+="\n															",n=t["if"].call(a,a&&a.InstagramTag,{hash:{},inverse:T.noop,fn:T.program(32,I,l),data:l}),(n||0===n)&&(r+=n),r+='\r\n														</ul>\r\n													</div>\r\n												</div>\r\n											</div>\r\n										</div>\r\n									</li>\r\n								</ul>\r\n							</td>\r\n						</tr>\r\n					</table>\r\n				</td>\r\n\r\n				<td class="follow">\r\n					',n=t["if"].call(a,e&&e.ShowFollowUnfollow,{hash:{},inverse:T.noop,fn:T.programWithDepth(34,D,l,e),data:l}),(n||0===n)&&(r+=n),r+='\r\n				</td>\r\n\r\n			</tr>\r\n		</tbody>\r\n	</table>\r\n	<div class="expand-table"><i class="icon-expand clickTrigger" data-recordno="'+R((n=a&&a.ItemIndex,typeof n===C?n.apply(a):n))+'"></i> <span>Expand</span></div>\r\n</div>\r\n'}function o(){return"people-directory-followed"}function s(){return"people-directory-not-followed"}function i(a){var l,t="";return t+='<span class="hidden-desktop hidden-tablet hidden-mobile">Expertise Rank: '+R((l=a&&a.ExpertiseScore,typeof l===C?l.apply(a):l))+"</span>\r\n					"}function p(a,l){var e,n,r="";return r+='\r\n									<a href="mailto:'+R((e=a&&a.EmailAddress,typeof e===C?e.apply(a):e))+'" data-placement="top" rel="tooltip" data-original-title="Email - '+R((e=a&&a.EmailAddress,typeof e===C?e.apply(a):e))+'" aria-label="Email - ',(n=t.Email)?e=n.call(a,{hash:{},data:l}):(n=a&&a.Email,e=typeof n===C?n.call(a,{hash:{},data:l}):n),r+=R(e)+'"><i class="icon-envelope"></i></a>\r\n									'}function h(a){var l,t="";return t+="\r\n									<li>"+R((l=a&&a.JobTitle,typeof l===C?l.apply(a):l))+"</li>\r\n									"}function c(a,l,t){var e,n="";return n+='\r\n									<li><i class="iconextra-phone pull-left top-icon"></i><span class="top-phone"><a href="'+R((e=t&&t.PhoneWorkProtocol,typeof e===C?e.apply(a):e))+R((e=a&&a.PhoneWork,typeof e===C?e.apply(a):e))+'">'+R((e=a&&a.PhoneWork,typeof e===C?e.apply(a):e))+"</a></span></li>\r\n									"}function d(a,l,t){var e,n="";return n+='\r\n									<li><i class="iconextra-mobile pull-left top-icon"></i><span class="top-phone"><a href="'+R((e=t&&t.PhoneMobileProtocol,typeof e===C?e.apply(a):e))+R((e=a&&a.PhoneMobile,typeof e===C?e.apply(a):e))+'">'+R((e=a&&a.PhoneMobile,typeof e===C?e.apply(a):e))+"</a></span></li>\r\n									"}function f(a){var l,t="";return t+="\r\n									<li>"+R((l=a&&a.PrimaryDepartment,typeof l===C?l.apply(a):l))+"</li>\r\n									"}function u(a){var l,t="";return t+="\r\n									<li>"+R((l=a&&a.PrimaryLocation,typeof l===C?l.apply(a):l))+"</li>\r\n									"}function y(a){var l,t="";return t+="\r\n									<li>"+R((l=a&&a.PrimaryCompany,typeof l===C?l.apply(a):l))+"</li>\r\n									"}function m(a,l){var e,n,r="";return r+='\r\n															<li class="skypelink',(n=t.UserID)?e=n.call(a,{hash:{},data:l}):(n=a&&a.UserID,e=typeof n===C?n.call(a,{hash:{},data:l}):n),r+=R(e)+' skype pull-left" id="liSkype">\r\n																<a href="'+R((e=a&&a.SkypeCallLink,typeof e===C?e.apply(a):e))+'" data-original-title="'+R((e=a&&a.SkypeCallTooltip,typeof e===C?e.apply(a):e))+'" data-placement="top" rel="tooltip" id="hypSkype"></a>\r\n															</li>\r\n															'}function v(a){var l,t="";return t+='\r\n															<li class="chat pull-left" id="liChat"><a href="'+R((l=a&&a.ChatLink,typeof l===C?l.apply(a):l))+'" data-original-title="'+R((l=a&&a.ChatText,typeof l===C?l.apply(a):l))+'" data-placement="top" rel="tooltip" id="hypChat"></a></li>\r\n															'}function g(a){var l,t="";return t+='\r\n															<li class="twitter pull-left" id="liTwitter"><a href="'+R((l=a&&a.TwitterLink,typeof l===C?l.apply(a):l))+'" data-original-title="'+R((l=a&&a.TwitterFollowText,typeof l===C?l.apply(a):l))+'" data-placement="top" rel="tooltip" id="hypTwitter"></a></li>\r\n															'}function F(a){var l,t="";return t+='\r\n															<li class="facebook pull-left" id="liFacebook"><a href="'+R((l=a&&a.FacebookLink,typeof l===C?l.apply(a):l))+'" data-original-title="'+R((l=a&&a.FacebookFollowText,typeof l===C?l.apply(a):l))+'" data-placement="top" rel="tooltip" id="hypFacebook"></a></li>\r\n															'}function b(a){var l,t="";return t+='\r\n															<li class="linkedin pull-left" id="liLinkedIn"><a href="'+R((l=a&&a.LinkedInLink,typeof l===C?l.apply(a):l))+'" data-original-title="'+R((l=a&&a.LinkedInFollowText,typeof l===C?l.apply(a):l))+'" data-placement="top" rel="tooltip" id="hypLinkedIn"></a></li>\r\n															'}function I(a){var l,t="";return t+='\n															<li class="pull-left" id="liInstagram"><a href="'+R((l=a&&a.InstagramLink,typeof l===C?l.apply(a):l))+'" data-original-title="'+R((l=a&&a.InstagramFollowText,typeof l===C?l.apply(a):l))+'" data-placement="top" rel="tooltip" id="hypInstagram" style="text-indent:0!important;"><img style="vertical-align: top!important;" src="/content/default/images/instagram_social.png"></a></li>\n															'}function D(a,l,e){var n,r="";return r+='\r\n					<ul class="unstyled pull-right" style="float: left;margin: -10px 0 0;width: 100%;">\r\n						<li>\r\n							<div class="connections pull-right" data-actiontitle="People who follow '+R((n=a&&a.Name,typeof n===C?n.apply(a):n))+'">\r\n								<a class="pull-right" id="UserFollowerCount" href="#">\r\n									<span id="'+R((n=a&&a.UserID,typeof n===C?n.apply(a):n))+'_followers">'+R((n=a&&a.FollowersCount,typeof n===C?n.apply(a):n))+'</span>\r\n								</a>\r\n								<p class="pull-right">'+R((n=e&&e.Followers,typeof n===C?n.apply(a):n))+'</p>\r\n							</div>\r\n						</li>\r\n					</ul>\r\n					<div class="btn-toolbar indpersonact">\r\n						<div class="pull-right">\r\n							',n=t.unless.call(a,a&&a.IsMe,{hash:{},inverse:T.noop,fn:T.programWithDepth(35,w,l,e),data:l}),(n||0===n)&&(r+=n),r+="\r\n						</div>\r\n					</div>\r\n					"}function w(a,l,e){var n,r="";return r+='\r\n							<div id="FollowButtonContainer" class="btn-group">\r\n								',n=t["if"].call(a,a&&a.Following,{hash:{},inverse:T.programWithDepth(38,x,l,e),fn:T.programWithDepth(36,N,l,e),data:l}),(n||0===n)&&(r+=n),r+="\r\n							</div>\r\n							"}function N(a,l,t){var e,n="";return n+='\r\n								<button class="btn btn-mini btn-success is-solid" id="followunfollow" name="followunfollow">\r\n									<span class="icon is-normal">\r\n										<i class="icon-ok icon-white ii ii-user-check"></i>\r\n									</span>\r\n									<span id="lblFollowBtn">\r\n										'+R((e=t&&t.Unfollow,typeof e===C?e.apply(a):e))+"\r\n									</span>\r\n								</button>\r\n								"}function x(a,l,t){var e,n="";return n+='\r\n								<button class="btn btn-mini btn-info is-mini-button is-solid" id="followunfollow" name="followunfollow">\r\n									<span class="icon is-normal">\r\n										<i class="icon-user icon-white ii ii-user-plus"></i>\r\n									</span>\r\n									<span id="lblFollowBtn">\r\n										'+R((e=t&&t.Follow,typeof e===C?e.apply(a):e))+"\r\n									</span>\r\n								</button>\r\n								"}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),n=n||{};var P,k="",C="function",R=this.escapeExpression,T=this;return P=t.each.call(l,l&&l.SearchResults,{hash:{},inverse:T.noop,fn:T.programWithDepth(1,r,n,l),data:n}),(P||0===P)&&(k+=P),k+="\r\n"}),l.directory_suggestpeople=a(function(a,l,t,e,n){function r(a,l,e){var n,r,i="";return i+='\r\n    <li id="youmayknow" data-personid="',(r=t.PersonId)?n=r.call(a,{hash:{},data:l}):(r=a&&a.PersonId,n=typeof r===b?r.call(a,{hash:{},data:l}):r),i+=I(n)+'">\r\n        <ul class="unstyled viewcard">\r\n            <li>\r\n                <a href="Entry.aspx?person=',(r=t.PersonId)?n=r.call(a,{hash:{},data:l}):(r=a&&a.PersonId,n=typeof r===b?r.call(a,{hash:{},data:l}):r),i+=I(n)+'" id="pop1" class="pop Vphoto">\r\n                    <img src="/utilities/assets/handler/asset.ashx?asset=',(r=t.AssetId)?n=r.call(a,{hash:{},data:l}):(r=a&&a.AssetId,n=typeof r===b?r.call(a,{hash:{},data:l}):r),i+=I(n)+'&size=3" alt="Profile Image - ',(r=t.FullName)?n=r.call(a,{hash:{},data:l}):(r=a&&a.FullName,n=typeof r===b?r.call(a,{hash:{},data:l}):r),i+=I(n)+'" class="img-circle border" width="30px" />\r\n                </a>\r\n            </li>\r\n            <li>\r\n                <h4><a href="Entry.aspx?person=',(r=t.PersonId)?n=r.call(a,{hash:{},data:l}):(r=a&&a.PersonId,n=typeof r===b?r.call(a,{hash:{},data:l}):r),i+=I(n)+'">',(r=t.FullName)?n=r.call(a,{hash:{},data:l}):(r=a&&a.FullName,n=typeof r===b?r.call(a,{hash:{},data:l}):r),i+=I(n)+"</a></h4>\r\n            </li>\r\n            ",n=t["if"].call(a,e&&e.hasJobTitleViewPermission,{hash:{},inverse:D.noop,fn:D.program(2,o,l),data:l}),(n||0===n)&&(i+=n),i+="\r\n            ",n=t["if"].call(a,a&&a.IsDepartment,{hash:{},inverse:D.noop,fn:D.programWithDepth(4,s,l,e),data:l}),(n||0===n)&&(i+=n),i+="\r\n            ",n=t["if"].call(a,a&&a.IsPopular,{hash:{},inverse:D.noop,fn:D.programWithDepth(9,h,l,e),data:l}),(n||0===n)&&(i+=n),i+="\r\n            ",n=t["if"].call(a,a&&a.IsPopularFromOtherDept,{hash:{},inverse:D.noop,fn:D.programWithDepth(14,f,l,e),data:l}),(n||0===n)&&(i+=n),i+="\r\n              ",n=t["if"].call(a,a&&a.IsMostExpertise,{hash:{},inverse:D.noop,fn:D.programWithDepth(19,m,l,e),data:l}),(n||0===n)&&(i+=n),i+="\r\n              ",n=t["if"].call(a,a&&a.IsPopularRead,{hash:{},inverse:D.noop,fn:D.programWithDepth(21,v,l,e),data:l}),(n||0===n)&&(i+=n),i+='\r\n            \r\n            <li><a id="btnfollow" href="#" class="btn btn-small btn-info is-mini-button is-solid"><span class="icon is-normal"><i class="icon-user icon-white ii ii-user-plus"></i></span><span>'+I((n=e&&e.Resources,n=null==n||n===!1?n:n.FollowButton,typeof n===b?n.apply(a):n))+"</span></a></li>\r\n        </ul>\r\n    </li>\r\n    "}function o(a,l){var e,n,r="";return r+="\r\n            <li>\r\n                <p>",(n=t.JobTitle)?e=n.call(a,{hash:{},data:l}):(n=a&&a.JobTitle,e=typeof n===b?n.call(a,{hash:{},data:l}):n),r+=I(e)+"</p>\r\n            </li>\r\n            "}function s(a,l,e){var n,r,o="";return o+='\r\n            <li>\r\n                <p class="muted">\r\n                  '+I((n=e&&e.Resources,n=null==n||n===!1?n:n.IsDeptFollowedBy,typeof n===b?n.apply(a):n))+' <a href="Default.aspx?F12=&F11=true&F10=true&F3=true&F2=All&F6=&F5=&F4=&F9=people&F8=&F7=&F13=',(r=t.AdditionalData)?n=r.call(a,{hash:{},data:l}):(r=a&&a.AdditionalData,n=typeof r===b?r.call(a,{hash:{},data:l}):r),o+=I(n)+'">',(r=t.CountData)?n=r.call(a,{hash:{},data:l}):(r=a&&a.CountData,n=typeof r===b?r.call(a,{hash:{},data:l}):r),o+=I(n)+" ",n=t["if"].call(a,a&&a.CountIsOne,{hash:{},inverse:D.programWithDepth(7,p,l,e),fn:D.programWithDepth(5,i,l,e),data:l}),(n||0===n)&&(o+=n),o+="</a> "+I((n=e&&e.Resources,n=null==n||n===!1?n:n.IsDeptInYourDepartment,typeof n===b?n.apply(a):n))+"\r\n                </p>\r\n            </li>\r\n            "}function i(a,l,t){var e;return I((e=t&&t.Resources,e=null==e||e===!1?e:e.IsDeptOther,typeof e===b?e.apply(a):e))}function p(a,l,t){var e;return I((e=t&&t.Resources,e=null==e||e===!1?e:e.IsDeptOthers,typeof e===b?e.apply(a):e))}function h(a,l,e){var n,r,o="";return o+='\r\n            <li>\r\n              <p class="muted">\r\n                '+I((n=e&&e.Resources,n=null==n||n===!1?n:n.IsPopFollowedBy,typeof n===b?n.apply(a):n))+' <a href="Default.aspx?F12=&F11=true&F10=true&F3=true&F2=All&F6=&F5=&F4=&F9=people&F8=&F7=&F13=',(r=t.AdditionalData)?n=r.call(a,{hash:{},data:l}):(r=a&&a.AdditionalData,n=typeof r===b?r.call(a,{hash:{},data:l}):r),o+=I(n)+'">',(r=t.CountData)?n=r.call(a,{hash:{},data:l}):(r=a&&a.CountData,n=typeof r===b?r.call(a,{hash:{},data:l}):r),o+=I(n)+" ",n=t["if"].call(a,a&&a.CountIsOne,{hash:{},inverse:D.programWithDepth(12,d,l,e),fn:D.programWithDepth(10,c,l,e),data:l}),(n||0===n)&&(o+=n),o+="</a> "+I((n=e&&e.Resources,n=null==n||n===!1?n:n.IsPopInYourNetwork,typeof n===b?n.apply(a):n))+"\r\n              </p>\r\n            </li>\r\n            "}function c(a,l,t){var e;return I((e=t&&t.Resources,e=null==e||e===!1?e:e.IsPopOther,typeof e===b?e.apply(a):e))}function d(a,l,t){var e;return I((e=t&&t.Resources,e=null==e||e===!1?e:e.IsPopOthers,typeof e===b?e.apply(a):e))}function f(a,l,e){var n,r,o="";return o+='\r\n            <li>\r\n              <p class="muted">\r\n                '+I((n=e&&e.Resources,n=null==n||n===!1?n:n.IsPopOtherFollowedBy,typeof n===b?n.apply(a):n))+' <a href="Default.aspx?F12=&F11=true&F10=true&F3=true&F2=All&F6=&F5=&F4=&F9=people&F8=&F7=&F13=',(r=t.AdditionalData)?n=r.call(a,{hash:{},data:l}):(r=a&&a.AdditionalData,n=typeof r===b?r.call(a,{hash:{},data:l}):r),o+=I(n)+'">',(r=t.CountData)?n=r.call(a,{hash:{},data:l}):(r=a&&a.CountData,n=typeof r===b?r.call(a,{hash:{},data:l}):r),o+=I(n)+" ",n=t["if"].call(a,a&&a.CountIsOne,{hash:{},inverse:D.programWithDepth(17,y,l,e),fn:D.programWithDepth(15,u,l,e),data:l}),(n||0===n)&&(o+=n),o+="</a> "+I((n=e&&e.Resources,n=null==n||n===!1?n:n.IsPopOtherInYourNetwork,typeof n===b?n.apply(a):n))+"\r\n              </p>\r\n            </li>\r\n              "}function u(a,l,t){var e;return I((e=t&&t.Resources,e=null==e||e===!1?e:e.IsPopOtherOther,typeof e===b?e.apply(a):e))}function y(a,l,t){var e;return I((e=t&&t.Resources,e=null==e||e===!1?e:e.IsPopOtherOthers,typeof e===b?e.apply(a):e))}function m(a,l,e){var n,r,o="";return o+='\r\n              <li>\r\n                <p class="muted">\r\n                  '+I((n=e&&e.Resources,n=null==n||n===!1?n:n.SameExpertise,typeof n===b?n.apply(a):n))+' <a href="Default.aspx?F7%5B0%5D%5BName%5D=Expertise&F7%5B0%5D%5BValue%5D=',(r=t.AdditionalText)?n=r.call(a,{hash:{},data:l}):(r=a&&a.AdditionalText,n=typeof r===b?r.call(a,{hash:{},data:l}):r),o+=I(n)+"&F7%5B0%5D%5BValueInt%5D=",(r=t.AdditionalData)?n=r.call(a,{hash:{},data:l}):(r=a&&a.AdditionalData,n=typeof r===b?r.call(a,{hash:{},data:l}):r),o+=I(n)+"&&F8=&F9=people&F4=&F5=&F6=&F2=All&F3=true&F10=true&F11=true&F12=&F13=",(r=t.AdditionalText)?n=r.call(a,{hash:{},data:l}):(r=a&&a.AdditionalText,n=typeof r===b?r.call(a,{hash:{},data:l}):r),o+=I(n)+'">',(r=t.AdditionalText)?n=r.call(a,{hash:{},data:l}):(r=a&&a.AdditionalText,n=typeof r===b?r.call(a,{hash:{},data:l}):r),o+=I(n)+"</a></p>\r\n              </li>\r\n              "}function v(a,l,e){var n,r,o="";return o+='\r\n              <li>\r\n                <p class="muted">\r\n                  '+I((n=e&&e.Resources,n=null==n||n===!1?n:n.IsPopReadBased,typeof n===b?n.apply(a):n))+' <a href="/Interact/Pages/Content/Search/Search.aspx?authorid=',(r=t.PersonId)?n=r.call(a,{hash:{},data:l}):(r=a&&a.PersonId,n=typeof r===b?r.call(a,{hash:{},data:l}):r),o+=I(n)+'">'+I((n=e&&e.Resources,n=null==n||n===!1?n:n.IsPopReadContent,typeof n===b?n.apply(a):n))+"</a> "+I((n=e&&e.Resources,n=null==n||n===!1?n:n.IsPopReadAuth,typeof n===b?n.apply(a):n))+"\r\n                </p>\r\n              </li>\r\n              "}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),n=n||{};var g,F="",b="function",I=this.escapeExpression,D=this;return F+='<ul id="suggestedFollows" class="unstyled" style="margin: 0;">\r\n    ',g=t.each.call(l,l&&l.Items,{hash:{},inverse:D.noop,fn:D.programWithDepth(1,r,n,l),data:n}),(g||0===g)&&(F+=g),F+="\r\n</ul>"})}();
;
!function(){var a=Handlebars.template,n=Handlebars.templates=Handlebars.templates||{};n.widgets_absencebooking_standard=a(function(a,n,t,e,l){function r(a,n){var e,l,r,p="";return p+='\r\n          <li style="float: left;">\r\n            <h5>\r\n              <span class="muted">',(l=t.HolidayType)?e=l.call(a,{hash:{},data:n}):(l=a&&a.HolidayType,e=typeof l===f?l.call(a,{hash:{},data:n}):l),p+=m(e)+":</span> ",(l=t.Holiday)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Holiday,e=typeof l===f?l.call(a,{hash:{},data:n}):l),p+=m(e)+"\r\n            </h5>\r\n\r\n            <div>\r\n              ",(l=t.HolidayDates)?e=l.call(a,{hash:{},data:n}):(l=a&&a.HolidayDates,e=typeof l===f?l.call(a,{hash:{},data:n}):l),p+=m(e)+'\r\n            </div>\r\n\r\n            <div>\r\n              <span class="',l=t.equals||a&&a.equals,r={hash:{},inverse:v.noop,fn:v.program(2,s,n),data:n},e=l?l.call(a,a&&a.HolidayStatus,"Approved",r):y.call(a,"equals",a&&a.HolidayStatus,"Approved",r),(e||0===e)&&(p+=e),l=t.equals||a&&a.equals,r={hash:{},inverse:v.noop,fn:v.program(4,i,n),data:n},e=l?l.call(a,a&&a.HolidayStatus,"Pending Cancellation",r):y.call(a,"equals",a&&a.HolidayStatus,"Pending Cancellation",r),(e||0===e)&&(p+=e),l=t.equals||a&&a.equals,r={hash:{},inverse:v.noop,fn:v.program(6,o,n),data:n},e=l?l.call(a,a&&a.HolidayStatus,"Rejected",r):y.call(a,"equals",a&&a.HolidayStatus,"Rejected",r),(e||0===e)&&(p+=e),l=t.equals||a&&a.equals,r={hash:{},inverse:v.noop,fn:v.program(8,c,n),data:n},e=l?l.call(a,a&&a.HolidayStatus,"Cancelled",r):y.call(a,"equals",a&&a.HolidayStatus,"Cancelled",r),(e||0===e)&&(p+=e),l=t.equals||a&&a.equals,r={hash:{},inverse:v.noop,fn:v.program(10,h,n),data:n},e=l?l.call(a,a&&a.HolidayStatus,"Pending",r):y.call(a,"equals",a&&a.HolidayStatus,"Pending",r),(e||0===e)&&(p+=e),p+='">'+m((e=a&&a.SystemText,e=null==e||e===!1?e:e.Status,typeof e===f?e.apply(a):e))+" <strong>",(l=t.HolidayStatus)?e=l.call(a,{hash:{},data:n}):(l=a&&a.HolidayStatus,e=typeof l===f?l.call(a,{hash:{},data:n}):l),p+=m(e)+"</strong></span>\r\n            </div>\r\n          </li>\r\n      "}function s(){return"text-success"}function i(){return"text-warning"}function o(){return"text-error"}function c(){return"muted"}function h(){return"text-info"}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var p,u,d="",f="function",m=this.escapeExpression,v=this,y=t.helperMissing;return d+='<div class="row-fluid">\r\n  <div class="span6">        \r\n    <span class="muted">'+m((p=n&&n.SystemText,p=null==p||p===!1?p:p.Remaining,typeof p===f?p.apply(n):p))+'</span> <span class="label label-info">',(u=t.Available)?p=u.call(n,{hash:{},data:l}):(u=n&&n.Available,p=typeof u===f?u.call(n,{hash:{},data:l}):u),d+=m(p)+" "+m((p=n&&n.SystemText,p=null==p||p===!1?p:p.DaysHoliday,typeof p===f?p.apply(n):p))+'</span>\r\n  </div>\r\n  <div class="span6">        \r\n    <span class="muted">'+m((p=n&&n.SystemText,p=null==p||p===!1?p:p.Expires,typeof p===f?p.apply(n):p))+'</span> <span class="label label-important">',(u=t.YearEnd)?p=u.call(n,{hash:{},data:l}):(u=n&&n.YearEnd,p=typeof u===f?u.call(n,{hash:{},data:l}):u),d+=m(p)+'</span>\r\n  </div>\r\n  <!--<div class="span4">\r\n    <span class="pull-right muted">1/3</span>\r\n    <div class="pagination pagination-mini pull-right">\r\n      <ul>\r\n        <li class="disabled"><a href="#">&laquo;</a></li>\r\n        <li><a href="#">Next &raquo;</a></li>\r\n      </ul>\r\n    </div>\r\n  </div>-->\r\n  <div class="span12" style="margin-left: 0;">\r\n    <div class="absence" style="height: 100px;">\r\n      <ul class="unstyled">\r\n      ',p=t.each.call(n,n&&n.Items,{hash:{},inverse:v.noop,fn:v.program(1,r,l),data:l}),(p||0===p)&&(d+=p),d+='\r\n      </ul>\r\n    </div>\r\n    <div class="sly-pager">\r\n      <ul class="pages"></ul>\r\n    </div>\r\n  </div>\r\n</div>'}),n.widgets_activitymanagement_standard=a(function(a,n,t,e,l){function r(a,n){var e,l="";return l+='\r\n                            <div class="well well-small">\r\n                                <div class="peoplelisting">\r\n                                    <ul class="unstyled striped" style="margin:0;">\r\n											',e=t["if"].call(a,a&&a.Outstanding,{hash:{},inverse:I.noop,fn:I.program(2,s,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n",e=t["if"].call(a,a&&a.Overdue,{hash:{},inverse:I.noop,fn:I.program(4,i,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n                                    </ul>\r\n                                </div>\r\n                            </div>\r\n                            "}function s(a,n){var e,l,r="";return r+='\r\n<li>\r\n                                            <i class="icon-time"></i> <a href="#" onclick="window.open(\'/Interact/Pages/Modules/Activities/MyTasks.aspx?incomplete=1&widget=1\', \'hypViewActivities\', \'width=797,height=530,scrollbars=1,resizable=1\')">View all uncompleted tasks</a> <span class="label label-info">',(l=t.Outstanding)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Outstanding,e=typeof l===D?l.call(a,{hash:{},data:n}):l),r+=T(e)+"</span>\r\n</li>\r\n"}function i(a,n){var e,l,r="";return r+='\r\n<li>\r\n                                            <i class="icon-warning-sign"></i><a href="#" onclick="window.open(\'/Interact/Pages/Modules/Activities/MyTasks.aspx?incomplete=1&overdue=1\', \'hypViewActivities\', \'width=797,height=530,scrollbars=1,resizable=1\')">View all overdue activities</a> <span class="label label-important">',(l=t.Overdue)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Overdue,e=typeof l===D?l.call(a,{hash:{},data:n}):l),r+=T(e)+"</span>\r\n</li>\r\n"}function o(){return"\r\n                            You have no tasks\r\n                            "}function c(a,n){var e,l,r="";return r+='\r\n                    <table class="table table-bordered table-condensed table-hover">\r\n                        <thead>\r\n                            <tr>\r\n                                <th>',(l=t.Heading)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Heading,e=typeof l===D?l.call(a,{hash:{},data:n}):l),r+=T(e)+'</th>\r\n                                <th>Incomplete</th>\r\n                                <th class="text-error">Overdue</th>\r\n                            </tr>\r\n                        </thead>\r\n\r\n                        <tbody>\r\n                            ',e=t.each.call(a,a&&a.Types,{hash:{},inverse:I.noop,fn:I.program(9,h,n),data:n}),(e||0===e)&&(r+=e),r+="\r\n                        </tbody>\r\n                    </table>\r\n                    "}function h(a,n){var e,l,r="";return r+="\r\n                            <tr>\r\n                                <td>",(l=t.Description)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Description,e=typeof l===D?l.call(a,{hash:{},data:n}):l),r+=T(e)+"</td>\r\n                                <td>",(l=t.ReportOutstanding)?e=l.call(a,{hash:{},data:n}):(l=a&&a.ReportOutstanding,e=typeof l===D?l.call(a,{hash:{},data:n}):l),r+=T(e)+'</td>\r\n                                <td class="text-error">',(l=t.ReportOverDue)?e=l.call(a,{hash:{},data:n}):(l=a&&a.ReportOverDue,e=typeof l===D?l.call(a,{hash:{},data:n}):l),r+=T(e)+"</td>\r\n                            </tr>\r\n                            "}function p(a,n){var e,l,r="";return r+='\r\n                    <table class="table table-bordered table-condensed table-hover">\r\n                        <thead>\r\n                            <tr>\r\n                                <th>',(l=t.Heading)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Heading,e=typeof l===D?l.call(a,{hash:{},data:n}):l),r+=T(e)+'</th>\r\n                                <th>Incomplete</th>\r\n                                <th class="text-error">Overdue</th>\r\n                            </tr>\r\n                        </thead>\r\n\r\n                        <tbody>\r\n                            ',e=t.each.call(a,a&&a.Priorities,{hash:{},inverse:I.noop,fn:I.program(9,h,n),data:n}),(e||0===e)&&(r+=e),r+="\r\n                        </tbody>\r\n                    </table>\r\n                    "}function u(a,n){var e,l="";return l+='\r\n                <article>\r\n                    <div class="amm-heading">\r\n                        <h3>Managed Activities</h3>\r\n                    </div>\r\n                    ',e=t.each.call(a,a&&a.ManagerList,{hash:{},inverse:I.noop,fn:I.programWithDepth(14,d,n,a),data:n}),(e||0===e)&&(l+=e),l+="\r\n\r\n                </article>\r\n                "}function d(a,n,e){var l,r,s="";return s+='\r\n                    <div class="peoplelisting">\r\n                        <h4>',(r=t.Title)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Title,l=typeof r===D?r.call(a,{hash:{},data:n}):r),s+=T(l)+'</h4>\r\n                        <ul class="unstyled striped">\r\n                            ',l=t["if"].call(a,a&&a.OrgOutstanding,{hash:{},inverse:I.noop,fn:I.programWithDepth(15,f,n,e),data:n}),(l||0===l)&&(s+=l),s+="\r\n",l=t["if"].call(a,a&&a.OrgOverdue,{hash:{},inverse:I.noop,fn:I.programWithDepth(17,m,n,e),data:n}),(l||0===l)&&(s+=l),s+="\r\n",l=t["if"].call(a,a&&a.NeedAssigning,{hash:{},inverse:I.noop,fn:I.programWithDepth(19,v,n,e),data:n}),(l||0===l)&&(s+=l),s+="\r\n",l=t["if"].call(a,a&&a.NeedSignOff,{hash:{},inverse:I.noop,fn:I.programWithDepth(21,y,n,e),data:n}),(l||0===l)&&(s+=l),s+="\r\n                        </ul>\r\n                    </div>\r\n                    "}function f(a,n,e){var l,r,s="";return s+='\r\n                            <li><i class="icon-time"></i><a href="#" onclick="window.open(\'/Interact/Pages/Modules/Activities/DoclistFromWidget.aspx?incomplete=1&personid='+T((l=e&&e.PersonId,typeof l===D?l.apply(a):l))+"&orgID=",(r=t.OrganisationId)?l=r.call(a,{hash:{},data:n}):(r=a&&a.OrganisationId,l=typeof r===D?r.call(a,{hash:{},data:n}):r),s+=T(l)+"', 'hypInComplete', 'width=797,height=530,scrollbars=1,resizable=1')\">View all incomplete activities</a> <span class=\"label label-info\">",(r=t.OrgOutstanding)?l=r.call(a,{hash:{},data:n}):(r=a&&a.OrgOutstanding,l=typeof r===D?r.call(a,{hash:{},data:n}):r),s+=T(l)+"</span></li>\r\n"}function m(a,n,e){var l,r,s="";return s+='\r\n                            <li><i class="icon-warning-sign"></i><a href="#" onclick="window.open(\'/Interact/Pages/Modules/Activities/DoclistFromWidget.aspx?overdue=1&personid='+T((l=e&&e.PersonId,typeof l===D?l.apply(a):l))+"&orgID=",(r=t.OrganisationId)?l=r.call(a,{hash:{},data:n}):(r=a&&a.OrganisationId,l=typeof r===D?r.call(a,{hash:{},data:n}):r),s+=T(l)+"', 'hypOverdue', 'width=797,height=530,scrollbars=1,resizable=1')\">View all overdue activities</a> <span class=\"label label-important\">",(r=t.OrgOverdue)?l=r.call(a,{hash:{},data:n}):(r=a&&a.OrgOverdue,l=typeof r===D?r.call(a,{hash:{},data:n}):r),s+=T(l)+"</span></li>\r\n"}function v(a,n,e){var l,r,s="";return s+='\r\n                            <li><i class="icon-share-alt"></i><a href="#" onclick="window.open(\'/Interact/Pages/Modules/Activities/DoclistFromWidget.aspx?needassign=1&personid='+T((l=e&&e.PersonId,typeof l===D?l.apply(a):l))+"&orgID=",(r=t.OrganisationId)?l=r.call(a,{hash:{},data:n}):(r=a&&a.OrganisationId,l=typeof r===D?r.call(a,{hash:{},data:n}):r),s+=T(l)+"', 'hypAssign', 'width=797,height=530,scrollbars=1,resizable=1')\">View all activities that need assigning</a> <span class=\"label\">",(r=t.NeedAssigning)?l=r.call(a,{hash:{},data:n}):(r=a&&a.NeedAssigning,l=typeof r===D?r.call(a,{hash:{},data:n}):r),s+=T(l)+"</span></li>\r\n"}function y(a,n,e){var l,r,s="";return s+='\r\n                            <li><i class="icon-check"></i><a href="#" onclick="window.open(\'/Interact/Pages/Modules/Activities/DoclistFromWidget.aspx?needsignoff=1&personid='+T((l=e&&e.PersonId,typeof l===D?l.apply(a):l))+"&orgID=",(r=t.OrganisationId)?l=r.call(a,{hash:{},data:n}):(r=a&&a.OrganisationId,l=typeof r===D?r.call(a,{hash:{},data:n}):r),s+=T(l)+"', 'hypSignoff', 'width=797,height=530,scrollbars=1,resizable=1')\">View all activities that need verifying</a> <span class=\"label label-warning\">",(r=t.NeedSignOff)?l=r.call(a,{hash:{},data:n}):(r=a&&a.NeedSignOff,l=typeof r===D?r.call(a,{hash:{},data:n}):r),s+=T(l)+"</span></li>\r\n"}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var g,S="",D="function",T=this.escapeExpression,I=this;return S+='<script>var url = document.location.hostname;</script>\r\n<section>\r\n    <h3 class="hiddentitle">Activity Management</h3>\r\n    <div class="activity-widget row-fluid">\r\n        <div class="span12">\r\n            <div class="flex-box" style="width:100%;">\r\n                <article>\r\n                    <div class="amm-heading">\r\n                        <div class="row-fluid">\r\n                            <div class="span7">\r\n                                <h3>Your Activities</h3>\r\n                            </div>\r\n                            <div class="span5 calendar-link">\r\n                                <a href="#" onclick="window.open(\'/interact/pages/modules/activities/calendar/weeklyview.aspx\' ,\'hypViewCalendar\', \'width=797,height=530,scrollbars=1,resizable=1\')"><i class="icon-calendar"></i> View Calendar</a>\r\n                            </div>\r\n                        </div>\r\n                    </div>\r\n                    <ul class="unstyled Rewards_list">\r\n                        <li>\r\n                            ',g=t["if"].call(n,n&&n.TotalTasks,{hash:{},inverse:I.program(6,o,l),fn:I.program(1,r,l),data:l}),(g||0===g)&&(S+=g),S+="\r\n                        </li>\r\n                    </ul>\r\n                    ",g=t["if"].call(n,n&&n.Types,{hash:{},inverse:I.noop,fn:I.program(8,c,l),data:l}),(g||0===g)&&(S+=g),S+="\r\n\r\n                    ",g=t["if"].call(n,n&&n.Priorities,{hash:{},inverse:I.noop,fn:I.program(11,p,l),data:l}),(g||0===g)&&(S+=g),S+="\r\n\r\n                </article>\r\n\r\n                ",g=t["if"].call(n,n&&n.ManagerList,{hash:{},inverse:I.noop,fn:I.program(13,u,l),data:l}),(g||0===g)&&(S+=g),S+="\r\n            </div>\r\n        </div>\r\n    </div>\r\n</section>\r\n"}),n.widgets_common=a(function(a,n,t,e,l){this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var r,s,i,o="",c="function",h=this.escapeExpression,p=t.helperMissing;return o+='<li class="normal ',(s=t.ClassName)?r=s.call(n,{hash:{},data:l}):(s=n&&n.ClassName,r=typeof s===c?s.call(n,{hash:{},data:l}):s),o+=h(r)+'" id="widget-instance-',(s=t.ID)?r=s.call(n,{hash:{},data:l}):(s=n&&n.ID,r=typeof s===c?s.call(n,{hash:{},data:l}):s),o+=h(r)+'" data-widgetinstanceid="',(s=t.ID)?r=s.call(n,{hash:{},data:l}):(s=n&&n.ID,r=typeof s===c?s.call(n,{hash:{},data:l}):s),o+=h(r)+'" data-sizex="',(s=t.SizeX)?r=s.call(n,{hash:{},data:l}):(s=n&&n.SizeX,r=typeof s===c?s.call(n,{hash:{},data:l}):s),o+=h(r)+'" data-sizey="',(s=t.SizeY)?r=s.call(n,{hash:{},data:l}):(s=n&&n.SizeY,r=typeof s===c?s.call(n,{hash:{},data:l}):s),o+=h(r)+'" data-row="',(s=t.Row)?r=s.call(n,{hash:{},data:l}):(s=n&&n.Row,r=typeof s===c?s.call(n,{hash:{},data:l}):s),o+=h(r)+'" data-col="',(s=t.Col)?r=s.call(n,{hash:{},data:l}):(s=n&&n.Col,r=typeof s===c?s.call(n,{hash:{},data:l}):s),o+=h(r)+'" data-widget="'+h((s=t.stringify||n&&n.stringify,i={hash:{},data:l},s?s.call(n,n,i):p.call(n,"stringify",n,i)))+'"></li>'}),n.widgets_commonlayout=a(function(a,n,t,e,l){function r(a){var n,t="";return t+='\r\n<div class="span12">\r\n	<div class="alert alert-info" style="bottom:auto;top:20px;">\r\n		'+p((n=a&&a.Layouts,n=null==n||n===!1?n:n.InfoMessage,typeof n===h?n.apply(a):n))+"\r\n	</div>\r\n</div>\r\n"}function s(){return'style="margin-top:50px;"'}function i(a,n){var e,l,r="";return r+='\r\n        <li id="layoutid-',(l=t.ID)?e=l.call(a,{hash:{},data:n}):(l=a&&a.ID,e=typeof l===h?l.call(a,{hash:{},data:n}):l),r+=p(e)+'" data-layoutid="',(l=t.ID)?e=l.call(a,{hash:{},data:n}):(l=a&&a.ID,e=typeof l===h?l.call(a,{hash:{},data:n}):l),r+=p(e)+'" data-layoutsubtitle="',(l=t.LayoutSubTitleTemplate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.LayoutSubTitleTemplate,e=typeof l===h?l.call(a,{hash:{},data:n}):l),r+=p(e)+'" data-maxsizex="',(l=t.MaxSizeX)?e=l.call(a,{hash:{},data:n}):(l=a&&a.MaxSizeX,e=typeof l===h?l.call(a,{hash:{},data:n}):l),r+=p(e)+'" data-maxsizey="',(l=t.MaxSizeY)?e=l.call(a,{hash:{},data:n}):(l=a&&a.MaxSizeY,e=typeof l===h?l.call(a,{hash:{},data:n}):l),r+=p(e)+'" data-minsizex="',(l=t.MinSizeX)?e=l.call(a,{hash:{},data:n}):(l=a&&a.MinSizeX,e=typeof l===h?l.call(a,{hash:{},data:n}):l),r+=p(e)+'" data-minsizey="',(l=t.MinSizeY)?e=l.call(a,{hash:{},data:n}):(l=a&&a.MinSizeY,e=typeof l===h?l.call(a,{hash:{},data:n}):l),r+=p(e)+'" data-defaultsizex="',(l=t.DefaultSizeX)?e=l.call(a,{hash:{},data:n}):(l=a&&a.DefaultSizeX,e=typeof l===h?l.call(a,{hash:{},data:n}):l),r+=p(e)+'" data-defaultsizey="',(l=t.DefaultSizeY)?e=l.call(a,{hash:{},data:n}):(l=a&&a.DefaultSizeY,e=typeof l===h?l.call(a,{hash:{},data:n}):l),r+=p(e)+'" class="',(l=t.LayoutSubTitleTemplate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.LayoutSubTitleTemplate,e=typeof l===h?l.call(a,{hash:{},data:n}):l),r+=p(e)+'" tabindex="0">\r\n            <div class="CommonWidgetLayoutImageContainer">\r\n                <i class="iconsmall"></i>\r\n            </div>\r\n            <h4>',(l=t.LayoutSubTitle)?e=l.call(a,{hash:{},data:n}):(l=a&&a.LayoutSubTitle,e=typeof l===h?l.call(a,{hash:{},data:n}):l),r+=p(e)+"</h4>\r\n            <div>",(l=t.Description)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Description,e=typeof l===h?l.call(a,{hash:{},data:n}):l),r+=p(e)+'</div>\r\n            <div class="preview-container"><div class="preview-widget"></div></div>\r\n        </li>\r\n        '}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var o,c="",h="function",p=this.escapeExpression,u=this;return c+="",o=t["if"].call(n,(o=n&&n.Layouts,null==o||o===!1?o:o.InfoMessage),{hash:{},inverse:u.noop,fn:u.program(1,r,l),data:l}),(o||0===o)&&(c+=o),c+="\r\n<h3 ",o=t["if"].call(n,(o=n&&n.Layouts,null==o||o===!1?o:o.InfoMessage),{hash:{},inverse:u.noop,fn:u.program(3,s,l),data:l}),(o||0===o)&&(c+=o),c+=">"+p((o=n&&n.SysText,o=null==o||o===!1?o:o.widgetLayoutOptions,typeof o===h?o.apply(n):o))+'<a class="whatsthis" href="#" data-placement="right" rel="tooltip" data-target="#" role="button" data-original-title="'+p((o=n&&n.SysText,o=null==o||o===!1?o:o.widgetLayoutOptionsHelpText,typeof o===h?o.apply(n):o))+'">[?]</a></h3>\r\n<div id="CommonWidgetLayoutItemsContainer">\r\n    <ul class="unstyled widget-layout" tabindex="0">\r\n        ',o=t.each.call(n,(o=n&&n.Layouts,null==o||o===!1?o:o.Layouts),{hash:{},inverse:u.noop,fn:u.program(5,i,l),data:l}),(o||0===o)&&(c+=o),c+="\r\n    </ul>\r\n</div>"}),n.widgets_common_contents=a(function(a,n,t,e,l){function r(a,n){var e,l="";return l+='\r\n<div class="widgetTitle widget-title">\r\n	',e=t["if"].call(a,a&&a.TitleUrl,{hash:{},inverse:v.program(4,i,n),fn:v.program(2,s,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n</div>\r\n"}function s(a,n){var e,l,r="";return r+='\r\n	<a href="',(l=t.TitleUrl)?e=l.call(a,{hash:{},data:n}):(l=a&&a.TitleUrl,e=typeof l===f?l.call(a,{hash:{},data:n}):l),r+=m(e)+'"><h2>',(l=t.Title)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Title,e=typeof l===f?l.call(a,{hash:{},data:n}):l),r+=m(e)+"</h2></a>\r\n	"}function i(a,n){var e,l,r="";return r+="\r\n	<h2>\r\n		",(l=t.Title)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Title,e=typeof l===f?l.call(a,{hash:{},data:n}):l),r+=m(e)+"\r\n		",e=t["if"].call(a,a&&a.IncludePersonalizeButton,{hash:{},inverse:v.noop,fn:v.program(5,o,n),data:n}),(e||0===e)&&(r+=e),r+="\r\n	</h2>\r\n	"}function o(a){var n,t="";return t+='\r\n		<div class="pull-right" style=""><a href="#" data-toggle="modal" data-target="#topicsSelect">'+m((n=a&&a.SysText,n=null==n||n===!1?n:n.PERSONALIZETEXT,typeof n===f?n.apply(a):n))+"</a></div>\r\n		"}function c(a,n){var e,l="";return l+="\r\n	",e=t["if"].call(a,a&&a.IncludePersonalizeButton,{hash:{},inverse:v.noop,fn:v.program(8,h,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n\r\n"}function h(a){var n,t="";return t+='\r\n<div class="widgetTitle widget-title">\r\n	<h2>&nbsp;<div class="pull-right" style=""><a href="#" data-toggle="modal" data-target="#topicsSelect">'+m((n=a&&a.SysText,n=null==n||n===!1?n:n.PERSONALIZETEXT,typeof n===f?n.apply(a):n))+"</a></div></h2>\r\n</div>\r\n	"}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var p,u,d="",f="function",m=this.escapeExpression,v=this;return d+='<div class="widgetHeader" style="display:none;">\r\n    <div class="widget-config">\r\n        <div class="widgetConfigHeader btn-group btn-edit">\r\n            <button id="configWidget" type="button" class="btn btn-small" aria-hidden="true" aria-label="'+m((p=n&&n.SysText,p=null==p||p===!1?p:p.EDITWIDGET,typeof p===f?p.apply(n):p))+'" data-placement="top" rel="tooltip" data-original-title="'+m((p=n&&n.SysText,p=null==p||p===!1?p:p.EDITWIDGET,typeof p===f?p.apply(n):p))+'">\r\n                <span class="icon is-normal"><i class="iconextra-cog default-icon ii ii-settings"></i></span>\r\n            </button>\r\n            <button id="deleteWidget" type="button" class="btn btn-small" aria-hidden="true" aria-label="'+m((p=n&&n.SysText,p=null==p||p===!1?p:p.DELETEWIDGET,typeof p===f?p.apply(n):p))+'" data-placement="top" rel="tooltip" data-original-title="'+m((p=n&&n.SysText,p=null==p||p===!1?p:p.DELETEWIDGET,typeof p===f?p.apply(n):p))+'">\r\n                <span class="icon is-normal"><i class="icon-trash default-icon ii ii-trash-full" style="left: 0px;"></i></span>\r\n            </button>\r\n        </div>\r\n    </div>\r\n    <div id="mobileOnlyStatus" class="widget-status hidden">'+m((p=n&&n.SysText,p=null==p||p===!1?p:p.MOBILEONLY,typeof p===f?p.apply(n):p))+'</div>\r\n    <div id="desktopOnlyStatus" class="widget-status hidden">'+m((p=n&&n.SysText,p=null==p||p===!1?p:p.DESKTOPONLY,typeof p===f?p.apply(n):p))+'</div>\r\n</div>\r\n<div class="widgetFooter" style="display:none;">\r\n  <div class="widget-config">\r\n    <div class="widgetResizeHeader btn-group pull-left btn-edit">\r\n      <button id="resizeWidgetSmallerX" type="button" class="btn btn-small" aria-hidden="true" aria-label="'+m((p=n&&n.SysText,p=null==p||p===!1?p:p.DECREASEHORIZONTAL,typeof p===f?p.apply(n):p))+'" data-placement="bottom" rel="tooltip" data-original-title="'+m((p=n&&n.SysText,p=null==p||p===!1?p:p.DECREASEHORIZONTAL,typeof p===f?p.apply(n):p))+'">\r\n        <span class="icon is-normal"><i class="iconextra-expandleftcurrent default-icon ii ii-arrow-left"></i></span>\r\n      </button>\r\n      <button id="resizeWidgetBiggerX" type="button" class="btn btn-small" aria-hidden="true" aria-label="'+m((p=n&&n.SysText,p=null==p||p===!1?p:p.INCREASEHORIZONTAL,typeof p===f?p.apply(n):p))+'" data-placement="bottom" rel="tooltip" data-original-title="'+m((p=n&&n.SysText,p=null==p||p===!1?p:p.INCREASEHORIZONTAL,typeof p===f?p.apply(n):p))+'">\r\n        <span class="icon is-normal"><i class="iconextra-expandrightcurrent default-icon ii ii-arrow-right"></i></span>\r\n      </button>\r\n      <div id="positionWidget" class="btn btn-small" aria-hidden="true" aria-label="'+m((p=n&&n.SysText,p=null==p||p===!1?p:p.ADJUSTWIDGET,typeof p===f?p.apply(n):p))+'" data-placement="bottom" rel="tooltip" data-original-title="'+m((p=n&&n.SysText,p=null==p||p===!1?p:p.ADJUSTWIDGET,typeof p===f?p.apply(n):p))+'">\r\n        <span class="icon is-large"><i class="iconextra-move default-icon ii ii-move"></i></span>\r\n      </div>\r\n      <button id="resizeWidgetSmallerY" type="button" class="btn btn-small" aria-hidden="true" aria-label="'+m((p=n&&n.SysText,p=null==p||p===!1?p:p.DECREASEVERTICAL,typeof p===f?p.apply(n):p))+'" data-placement="bottom" rel="tooltip" data-original-title="'+m((p=n&&n.SysText,p=null==p||p===!1?p:p.DECREASEVERTICAL,typeof p===f?p.apply(n):p))+'">\r\n        <span class="icon is-normal"><i class="iconextra-expandupcurrent default-icon ii ii-arrow-up"></i></span>\r\n      </button>\r\n      <button id="resizeWidgetBiggerY" type="button" class="btn btn-small" aria-hidden="true" aria-label="'+m((p=n&&n.SysText,p=null==p||p===!1?p:p.INCREASEVERTICAL,typeof p===f?p.apply(n):p))+'" data-placement="bottom" rel="tooltip" data-original-title="'+m((p=n&&n.SysText,p=null==p||p===!1?p:p.INCREASEVERTICAL,typeof p===f?p.apply(n):p))+'">\r\n        <span class="icon is-normal"><i class="iconextra-expanddowncurrent default-icon ii ii-arrow-down"></i></span>\r\n      </button>\r\n    </div>\r\n  </div>\r\n</div>\r\n',p=t["if"].call(n,n&&n.Title,{hash:{},inverse:v.program(7,c,l),fn:v.program(1,r,l),data:l}),(p||0===p)&&(d+=p),d+='\r\n<div class="widgetBody widget-body">\r\n  ',(u=t.Body)?p=u.call(n,{hash:{},data:l}):(u=n&&n.Body,p=typeof u===f?u.call(n,{hash:{},data:l}):u),(p||0===p)&&(d+=p),d+="\r\n</div>\r\n"}),n.widgets_content_articlelist=a(function(a,n,t,e,l){function r(a,n,e){var l,r,h,u="";return u+='\r\n	<li class="pull-left gridster-wac">\r\n		<div style="background-image: url(\'',l=t["if"].call(a,a&&a.AssetID,{hash:{},inverse:P.program(4,i,n),fn:P.program(2,s,n),data:n}),(l||0===l)&&(u+=l),u+="'); background-position: 50% ",(r=t.BackgroundYpos)?l=r.call(a,{hash:{},data:n}):(r=a&&a.BackgroundYpos,l=typeof r===U?r.call(a,{hash:{},data:n}):r),u+=_(l)+'%;" class="center-cropped img-bg">\r\n			<div class="img-hover">\r\n				<img src="',l=t["if"].call(a,a&&a.AssetID,{hash:{},inverse:P.program(4,i,n),fn:P.program(6,o,n),data:n}),(l||0===l)&&(u+=l),u+='" alt="" role="presentation" loading="lazy" />\r\n			</div>\r\n		</div>\r\n		<div class="content-items">\r\n			<h3 class="hiddentitle">Featured Content</h3>\r\n			<h4 dir="auto">\r\n				<small>\r\n					<a class="is-w-a" target="',(r=t.Target)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Target,l=typeof r===U?r.call(a,{hash:{},data:n}):r),u+=_(l)+'" href="',(r=t.URL)?l=r.call(a,{hash:{},data:n}):(r=a&&a.URL,l=typeof r===U?r.call(a,{hash:{},data:n}):r),u+=_(l)+'">',(r=t.Title)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Title,l=typeof r===U?r.call(a,{hash:{},data:n}):r),(l||0===l)&&(u+=l),u+="</a>\r\n				</small>\r\n			</h4>\r\n			",r=t.equals||a&&a.equals,h={hash:{},inverse:P.program(11,p,n),fn:P.programWithDepth(8,c,n,e),data:n},l=r?r.call(a,a&&a.Type,"Event",h):H.call(a,"equals",a&&a.Type,"Event",h),(l||0===l)&&(u+=l),u+='\r\n		<p class="muted is-author">\r\n\r\n			<!-- This will return true if AuthorType is greater than 0, i.e. not a person -->\r\n			',l=t["if"].call(a,a&&a.AuthorType,{hash:{},inverse:P.programWithDepth(17,m,n,e),fn:P.programWithDepth(14,d,n,e),data:n}),(l||0===l)&&(u+=l),u+='\r\n\r\n		</p>\r\n			<ul class="unstyled">\r\n				<li>\r\n					<div class="row-fluid social">\r\n						<div class="span4 pull-left">\r\n							',r=t.when||a&&a.when,h={hash:{},inverse:P.program(26,T,n),fn:P.program(21,g,n),data:n},l=r?r.call(a,"Type != 'Event'",h):H.call(a,"when","Type != 'Event'",h),(l||0===l)&&(u+=l),u+='\r\n						</div>\r\n						<div class="span8 pull-left likes">\r\n							',l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:P.noop,fn:P.programWithDepth(32,b,n,e),data:n}),(l||0===l)&&(u+=l),u+="\r\n						</div>\r\n					</div>\r\n				</li>\r\n			</ul>\r\n		</div>\r\n	</li>\r\n	"}function s(a,n){var e,l,r;return l=t.asset||a&&a.asset,r={hash:{},data:n},e=l?l.call(a,a&&a.AssetID,5,r):H.call(a,"asset",a&&a.AssetID,5,r),e||0===e?e:""}function i(a,n){var e,l;return _((e=t.avatar||a&&a.avatar,l={hash:{},data:n},e?e.call(a,a&&a.Type,l):H.call(a,"avatar",a&&a.Type,l)))}function o(a,n){var e,l,r;return l=t.asset||a&&a.asset,r={hash:{},data:n},e=l?l.call(a,a&&a.AssetID,8,r):H.call(a,"asset",a&&a.AssetID,8,r),e||0===e?e:""}function c(a,n,e){var l,r="";return r+="\r\n			",l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:P.noop,fn:P.programWithDepth(9,h,n,e),data:n}),(l||0===l)&&(r+=l),r+="\r\n			"}function h(a,n,t){var e,l="";return l+='\r\n			<p class="muted">\r\n				<strong>'+_((e=t&&t.SystemText,e=null==e||e===!1?e:e.Location,typeof e===U?e.apply(a):e))+":</strong> ",e=a&&a.Entity,e=null==e||e===!1?e:e.Location,e=typeof e===U?e.apply(a):e,(e||0===e)&&(l+=e),l+="\r\n			</p>\r\n			"}function p(a,n){var e,l="";return l+="\r\n			",e=t["if"].call(a,a&&a.Summary,{hash:{},inverse:P.noop,fn:P.program(12,u,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n			"}function u(a,n){var e,l,r,s="";return s+='\r\n			<p class="muted" dir="auto">\r\n				',l=t.truncate||a&&a.truncate,r={hash:{},data:n},e=l?l.call(a,a&&a.Summary,80,r):H.call(a,"truncate",a&&a.Summary,80,r),(e||0===e)&&(s+=e),s+="\r\n			</p>\r\n			"}function d(a,n,e){var l,r="";return r+="\r\n				",l=t["if"].call(a,a&&a.Author,{hash:{},inverse:P.noop,fn:P.programWithDepth(15,f,n,e),data:n}),(l||0===l)&&(r+=l),r+="\r\n			"}function f(a,n,e){var l,r,s="";return s+="\r\n					<!-- Display a span instead of a link -->\r\n					"+_((l=e&&e.SystemText,l=null==l||l===!1?l:l.By,typeof l===U?l.apply(a):l))+" <span><strong>",(r=t.Author)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Author,l=typeof r===U?r.call(a,{hash:{},data:n}):r),s+=_(l)+"</strong></span>\r\n				"}function m(a,n,e){var l,r="";return r+="\r\n				",l=t["if"].call(a,a&&a.Author,{hash:{},inverse:P.noop,fn:P.programWithDepth(18,v,n,e),data:n}),(l||0===l)&&(r+=l),r+="\r\n			"}function v(a,n,e){var l,r,s,i="";return i+="\r\n					"+_((l=e&&e.SystemText,l=null==l||l===!1?l:l.By,typeof l===U?l.apply(a):l))+' <a href="'+_((r=t.link||a&&a.link,s={hash:{},data:n},r?r.call(a,"Person",a&&a.AuthorID,s):H.call(a,"link","Person",a&&a.AuthorID,s)))+'" ',l=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:P.noop,fn:P.program(19,y,n),data:n}),(l||0===l)&&(i+=l),i+=">",(r=t.Author)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Author,l=typeof r===U?r.call(a,{hash:{},data:n}):r),i+=_(l)+"</a>\r\n				"}function y(a,n){var e,l,r="";return r+=' data-personid="',(l=t.AuthorID)?e=l.call(a,{hash:{},data:n}):(l=a&&a.AuthorID,e=typeof l===U?l.call(a,{hash:{},data:n}):l),r+=_(e)+'" '}function g(a,n){var e,l="";return l+='\r\n							<time class="timeago pull-left timeago-date" datetime="',e=t["if"].call(a,a&&a.ShowUpdateDate,{hash:{},inverse:P.program(24,D,n),fn:P.program(22,S,n),data:n}),(e||0===e)&&(l+=e),l+='"></time>\r\n							'}function S(a,n){var e,l,r="";return r+=" ",(l=t.UpdateDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.UpdateDate,e=typeof l===U?l.call(a,{hash:{},data:n}):l),r+=_(e)+" "}function D(a,n){var e,l,r="";return r+=" ",(l=t.StartDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.StartDate,e=typeof l===U?l.call(a,{hash:{},data:n}):l),r+=_(e)+" "}function T(a,n){var e,l,r,s="";return s+="\r\n							",l=t.equals||a&&a.equals,r={hash:{},inverse:P.program(30,A,n),fn:P.program(27,I,n),data:n},e=l?l.call(a,(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r):H.call(a,"equals",(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r),(e||0===e)&&(s+=e),s+="\r\n							"}function I(a,n){var e,l,r,s="";return s+='\r\n							<span class="pull-left timeago timeago-doubledate muted">\r\n								',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:P.noop,fn:P.program(28,w,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.EndDate,r):H.call(a,"eventTimeString",a&&a.StartDate,a&&a.EndDate,r),(e||0===e)&&(s+=e),s+="\r\n							</span>\r\n							"}function w(){var a="";return a}function A(a,n){var e,l,r,s="";return s+='\r\n							<span class="timeago timeago-singledate">\r\n								',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:P.noop,fn:P.program(28,w,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.StartDate,r):H.call(a,"eventTimeString",a&&a.StartDate,a&&a.StartDate,r),(e||0===e)&&(s+=e),s+="\r\n							</span>\r\n							"}function b(a,n,e){var l,r,s,i="";return i+='\r\n							<span class="pull-right count">\r\n								',l=t["if"].call(a,a&&a.SocialAdvocacyItem,{hash:{},inverse:P.noop,fn:P.programWithDepth(33,C,n,e),data:n}),(l||0===l)&&(i+=l),i+="\r\n								",r=t.equals||a&&a.equals,s={hash:{},inverse:P.noop,fn:P.programWithDepth(35,q,n,e),data:n},l=r?r.call(a,(l=a&&a.Entity,null==l||l===!1?l:l.IsCommentsAllowed),"true",s):H.call(a,"equals",(l=a&&a.Entity,null==l||l===!1?l:l.IsCommentsAllowed),"true",s),(l||0===l)&&(i+=l),i+='\r\n								<span title="',r=t.equals||a&&a.equals,s={hash:{},inverse:P.program(40,x,n),fn:P.program(36,k,n),data:n},l=r?r.call(a,a&&a.LikeCount,"-1=",s):H.call(a,"equals",a&&a.LikeCount,"-1=",s),(l||0===l)&&(i+=l),i+=" "+_((l=e&&e.SystemText,l=null==l||l===!1?l:l.Likes,typeof l===U?l.apply(a):l))+'">\r\n									<span class="icon is-normal"><i class="iconextra-like ii-like"></i></span>\r\n									',r=t.equals||a&&a.equals,s={hash:{},inverse:P.program(40,x,n),fn:P.program(36,k,n),data:n},l=r?r.call(a,a&&a.LikeCount,"-1",s):H.call(a,"equals",a&&a.LikeCount,"-1",s),(l||0===l)&&(i+=l),i+="\r\n								</span>\r\n							</span>\r\n							"
}function C(a,n,e){var l,r,s="";return s+='\r\n								<button id="soc-adv-share-btn" \r\n										class="btn btn-primary btn-small" \r\n										onclick="Widgets.SocialAdvocacy_ShareClicked(',(r=t.ID)?l=r.call(a,{hash:{},data:n}):(r=a&&a.ID,l=typeof r===U?r.call(a,{hash:{},data:n}):r),s+=_(l)+')"\r\n										type="button"\r\n										aria-label="'+_((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShareAria,typeof l===U?l.apply(a):l))+'"\r\n								>\r\n									<i class="fa fa-share-alt ii ii-share"></i>\r\n								</button>\r\n								'}function q(a,n,e){var l,r,s,i="";return i+='\r\n								<span title="',r=t.equals||a&&a.equals,s={hash:{},inverse:P.program(38,E,n),fn:P.program(36,k,n),data:n},l=r?r.call(a,a&&a.CommentCount,"-1=",s):H.call(a,"equals",a&&a.CommentCount,"-1=",s),(l||0===l)&&(i+=l),i+=" "+_((l=e&&e.SystemText,l=null==l||l===!1?l:l.Comments,typeof l===U?l.apply(a):l))+'">\r\n									<span class="icon is-normal"><i class="iconextra-comment ii-comments"></i></span>\r\n									',r=t.equals||a&&a.equals,s={hash:{},inverse:P.program(38,E,n),fn:P.program(36,k,n),data:n},l=r?r.call(a,(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s):H.call(a,"equals",(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s),(l||0===l)&&(i+=l),i+="\r\n								</span>\r\n								"}function k(){return"0"}function E(a,n){var e,l;return(l=t.CommentCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.CommentCount,e=typeof l===U?l.call(a,{hash:{},data:n}):l),_(e)}function x(a,n){var e,l;return(l=t.LikeCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.LikeCount,e=typeof l===U?l.call(a,{hash:{},data:n}):l),_(e)}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var L,W="",H=t.helperMissing,_=this.escapeExpression,U="function",P=this;return W+='<ul class="unstyled articlelist">\r\n	',L=t.each.call(n,n&&n.Items,{hash:{},inverse:P.noop,fn:P.programWithDepth(1,r,l,n),data:l}),(L||0===L)&&(W+=L),W+="\r\n</ul>\r\n"}),n.widgets_content_carousel=a(function(a,n,t,e,l){function r(a,n,e){var l,r,h,p="";return p+='\r\n			<div class="item center-cropped" style="height:100%;background-image: url(\'',l=t["if"].call(a,a&&a.AssetID,{hash:{},inverse:A.program(4,i,n),fn:A.program(2,s,n),data:n}),(l||0===l)&&(p+=l),p+="');background-position:0 ",(r=t.BackgroundYpos)?l=r.call(a,{hash:{},data:n}):(r=a&&a.BackgroundYpos,l=typeof r===w?r.call(a,{hash:{},data:n}):r),p+=I(l)+'%;">\r\n				',l=t["if"].call(a,a&&a.SocialAdvocacyItem,{hash:{},inverse:A.noop,fn:A.programWithDepth(6,o,n,e),data:n}),(l||0===l)&&(p+=l),p+='\r\n				<a target="',(r=t.Target)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Target,l=typeof r===w?r.call(a,{hash:{},data:n}):r),p+=I(l)+'" href="',(r=t.URL)?l=r.call(a,{hash:{},data:n}):(r=a&&a.URL,l=typeof r===w?r.call(a,{hash:{},data:n}):r),p+=I(l)+'" class="item-entry">\r\n					<div class="social-results">\r\n						<div class="pull-right">\r\n							',l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:A.noop,fn:A.programWithDepth(8,c,n,e),data:n}),(l||0===l)&&(p+=l),p+='\r\n						</div>\r\n					</div>\r\n					<div class="carousel-caption">\r\n						<h3 dir="auto">',(r=t.Title)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Title,l=typeof r===w?r.call(a,{hash:{},data:n}):r),(l||0===l)&&(p+=l),p+="</h3>\r\n						",r=t.equals||a&&a.equals,h={hash:{},inverse:A.programWithDepth(19,v,n,e),fn:A.programWithDepth(16,f,n,e),data:n},l=r?r.call(a,a&&a.Type,"Event",h):T.call(a,"equals",a&&a.Type,"Event",h),(l||0===l)&&(p+=l),p+='\r\n					</div>\r\n					<img src="'+I((r=t.asset||a&&a.asset,h={hash:{},data:n},r?r.call(a,a&&a.AssetID,7,h):T.call(a,"asset",a&&a.AssetID,7,h)))+'" alt="" role="presentation" loading="lazy"/>\r\n				</a>\r\n			</div>\r\n		'}function s(a,n){var e,l;return I((e=t.asset||a&&a.asset,l={hash:{},data:n},e?e.call(a,a&&a.AssetID,7,l):T.call(a,"asset",a&&a.AssetID,7,l)))}function i(){return"/Content/default/images/noImageAvailable300.gif"}function o(a,n,e){var l,r,s="";return s+='\r\n				<div class="social-advocacy">\r\n					<button id="soc-adv-share-btn" \r\n							class="btn btn-primary btn-small" \r\n							onclick="Widgets.SocialAdvocacy_ShareClicked(',(r=t.ID)?l=r.call(a,{hash:{},data:n}):(r=a&&a.ID,l=typeof r===w?r.call(a,{hash:{},data:n}):r),s+=I(l)+')"\r\n							type="button"\r\n							aria-label="'+I((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShareAria,typeof l===w?l.apply(a):l))+'"\r\n					>\r\n						'+I((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShare,typeof l===w?l.apply(a):l))+'&nbsp;<i class="fa fa-share-alt ii ii-share"></i>\r\n					</button>\r\n				</div>\r\n				'}function c(a,n,e){var l,r,s,i="";return i+="\r\n							",r=t.equals||a&&a.equals,s={hash:{},inverse:A.noop,fn:A.programWithDepth(9,h,n,e),data:n},l=r?r.call(a,(l=a&&a.Entity,null==l||l===!1?l:l.IsCommentsAllowed),"true",s):T.call(a,"equals",(l=a&&a.Entity,null==l||l===!1?l:l.IsCommentsAllowed),"true",s),(l||0===l)&&(i+=l),i+='\r\n							<span title="',r=t.equals||a&&a.equals,s={hash:{},inverse:A.program(14,d,n),fn:A.program(10,p,n),data:n},l=r?r.call(a,a&&a.LikeCount,"-1=",s):T.call(a,"equals",a&&a.LikeCount,"-1=",s),(l||0===l)&&(i+=l),i+=" "+I((l=e&&e.SystemText,l=null==l||l===!1?l:l.Likes,typeof l===w?l.apply(a):l))+'">\r\n								<span class="icon is-normal"><i class="iconextra-like iconextra-white ii-like"></i></span>\r\n								',r=t.equals||a&&a.equals,s={hash:{},inverse:A.program(14,d,n),fn:A.program(10,p,n),data:n},l=r?r.call(a,a&&a.LikeCount,"-1",s):T.call(a,"equals",a&&a.LikeCount,"-1",s),(l||0===l)&&(i+=l),i+="\r\n							</span>\r\n							"}function h(a,n,e){var l,r,s,i="";return i+='\r\n							<span title="',r=t.equals||a&&a.equals,s={hash:{},inverse:A.program(12,u,n),fn:A.program(10,p,n),data:n},l=r?r.call(a,a&&a.CommentCount,"-1=",s):T.call(a,"equals",a&&a.CommentCount,"-1=",s),(l||0===l)&&(i+=l),i+=" "+I((l=e&&e.SystemText,l=null==l||l===!1?l:l.Comments,typeof l===w?l.apply(a):l))+'">\r\n								<span class="icon is-normal"><i class="iconextra-comment iconextra-white ii-comments"></i></span>\r\n								',r=t.equals||a&&a.equals,s={hash:{},inverse:A.program(12,u,n),fn:A.program(10,p,n),data:n},l=r?r.call(a,(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s):T.call(a,"equals",(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s),(l||0===l)&&(i+=l),i+="\r\n							</span>\r\n							"}function p(){return"0"}function u(a,n){var e,l;return(l=t.CommentCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.CommentCount,e=typeof l===w?l.call(a,{hash:{},data:n}):l),I(e)}function d(a,n){var e,l;return(l=t.LikeCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.LikeCount,e=typeof l===w?l.call(a,{hash:{},data:n}):l),I(e)}function f(a,n,e){var l,r="";return r+="\r\n						",l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:A.noop,fn:A.programWithDepth(17,m,n,e),data:n}),(l||0===l)&&(r+=l),r+="\r\n						"}function m(a,n,t){var e,l="";return l+='\r\n						<p class="ellipsis">'+I((e=t&&t.SystemText,e=null==e||e===!1?e:e.Location,typeof e===w?e.apply(a):e))+": ",e=a&&a.Entity,e=null==e||e===!1?e:e.Location,e=typeof e===w?e.apply(a):e,(e||0===e)&&(l+=e),l+="</p>\r\n						"}function v(a,n,e){var l,r="";return r+="\r\n						",l=t["if"].call(a,(l=e&&e.Options,null==l||l===!1?l:l.IncludeSummary),{hash:{},inverse:A.noop,fn:A.program(20,y,n),data:n}),(l||0===l)&&(r+=l),r+="\r\n						"}function y(a,n){var e,l="";return l+="\r\n						",e=t["if"].call(a,a&&a.Summary,{hash:{},inverse:A.noop,fn:A.program(21,g,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n						"}function g(a,n){var e,l,r,s="";return s+='\r\n						<p class="ellipsis" dir="auto">',l=t.truncate||a&&a.truncate,r={hash:{},data:n},e=l?l.call(a,a&&a.Summary,(e=a&&a.Summary,null==e||e===!1?e:e.length),r):T.call(a,"truncate",a&&a.Summary,(e=a&&a.Summary,null==e||e===!1?e:e.length),r),(e||0===e)&&(s+=e),s+="</p>\r\n						"}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var S,D="",T=t.helperMissing,I=this.escapeExpression,w="function",A=this;return D+='<div id="myCarousel" class="carousel slide">\r\n	<div class="carousel-inner">\r\n		',S=t.each.call(n,n&&n.Items,{hash:{},inverse:A.noop,fn:A.programWithDepth(1,r,l,n),data:l}),(S||0===S)&&(D+=S),D+='\r\n	</div>\r\n	<a class="carousel-control left" href="#myCarousel" data-slide="prev" role="button" aria-label="Previous slide">&lsaquo;</a>\r\n	<a class="carousel-control right" href="#myCarousel" data-slide="next" role="button" aria-label="Next slide">&rsaquo;</a>\r\n</div>\r\n'}),n.widgets_content_circleview=a(function(a,n,t,e,l){function r(a,n,e){var l,r,c,p="";return p+='\n		<li class="item gridster-wac">\n			<div class="details">\n				<img src="',l=t["if"].call(a,a&&a.AssetID,{hash:{},inverse:P.program(4,i,n),fn:P.program(2,s,n),data:n}),(l||0===l)&&(p+=l),p+='" class="img-circle" style="object-position: 50% ',(r=t.BackgroundYpos)?l=r.call(a,{hash:{},data:n}):(r=a&&a.BackgroundYpos,l=typeof r===U?r.call(a,{hash:{},data:n}):r),p+=_(l)+'%;" alt="" role="presentation" loading="lazy" />\n\n				<h3><a class="is-w-a" target="',(r=t.Target)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Target,l=typeof r===U?r.call(a,{hash:{},data:n}):r),p+=_(l)+'" href="',(r=t.URL)?l=r.call(a,{hash:{},data:n}):(r=a&&a.URL,l=typeof r===U?r.call(a,{hash:{},data:n}):r),p+=_(l)+'" dir="auto">',(r=t.Title)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Title,l=typeof r===U?r.call(a,{hash:{},data:n}):r),(l||0===l)&&(p+=l),p+="</a></h3>\n				",r=t.equals||a&&a.equals,c={hash:{},inverse:P.programWithDepth(9,h,n,e),fn:P.programWithDepth(6,o,n,e),data:n},l=r?r.call(a,a&&a.Type,"Event",c):H.call(a,"equals",a&&a.Type,"Event",c),(l||0===l)&&(p+=l),p+='\n				<ul class="unstyled">\n					<li>\n						<div class="row-fluid">\n							<div class="span12">\n								<p class="muted">\n									',l=t["if"].call(a,a&&a.AuthorType,{hash:{},inverse:P.programWithDepth(16,m,n,e),fn:P.programWithDepth(13,d,n,e),data:n}),(l||0===l)&&(p+=l),p+="\n\n\n\n									",r=t.when||a&&a.when,c={hash:{},inverse:P.program(25,T,n),fn:P.program(20,g,n),data:n},l=r?r.call(a,"Type != 'Event'",c):H.call(a,"when","Type != 'Event'",c),(l||0===l)&&(p+=l),p+="\n								</p>\n							</div>\n						</div>\n					</li>\n				</ul>\n				",l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:P.noop,fn:P.programWithDepth(31,b,n,e),data:n}),(l||0===l)&&(p+=l),p+="\n			</div>\n		</li>\n		"}function s(a,n){var e,l,r;return l=t.asset||a&&a.asset,r={hash:{},data:n},e=l?l.call(a,a&&a.AssetID,5,r):H.call(a,"asset",a&&a.AssetID,5,r),e||0===e?e:""}function i(a,n){var e,l;return _((e=t.avatar||a&&a.avatar,l={hash:{},data:n},e?e.call(a,a&&a.Type,l):H.call(a,"avatar",a&&a.Type,l)))}function o(a,n,e){var l,r="";return r+="\n				",l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:P.noop,fn:P.programWithDepth(7,c,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n				"}function c(a,n,t){var e,l="";return l+='\n				<p class="muted"><strong>'+_((e=t&&t.SystemText,e=null==e||e===!1?e:e.Location,typeof e===U?e.apply(a):e))+":</strong> ",e=a&&a.Entity,e=null==e||e===!1?e:e.Location,e=typeof e===U?e.apply(a):e,(e||0===e)&&(l+=e),l+="</p>\n				"}function h(a,n,e){var l,r="";return r+="\n				",l=t["if"].call(a,(l=e&&e.Options,null==l||l===!1?l:l.IncludeSummary),{hash:{},inverse:P.noop,fn:P.program(10,p,n),data:n}),(l||0===l)&&(r+=l),r+="\n				"}function p(a,n){var e,l="";return l+="\n				",e=t["if"].call(a,a&&a.Summary,{hash:{},inverse:P.noop,fn:P.program(11,u,n),data:n}),(e||0===e)&&(l+=e),l+="\n				"}function u(a,n){var e,l,r,s="";return s+='\n				<p class="muted" dir="auto">',l=t.truncate||a&&a.truncate,r={hash:{},data:n},e=l?l.call(a,a&&a.Summary,60,r):H.call(a,"truncate",a&&a.Summary,60,r),(e||0===e)&&(s+=e),s+="</p>\n				"}function d(a,n,e){var l,r="";return r+="\n										",l=t["if"].call(a,a&&a.Author,{hash:{},inverse:P.noop,fn:P.programWithDepth(14,f,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n									"}function f(a,n,e){var l,r,s="";return s+='\n											<span class="is-author">\n												'+_((l=e&&e.SystemText,l=null==l||l===!1?l:l.By,typeof l===U?l.apply(a):l))+" <strong>",(r=t.Author)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Author,l=typeof r===U?r.call(a,{hash:{},data:n}):r),s+=_(l)+"</strong>,\n											</span>\n										"}function m(a,n,e){var l,r="";return r+="\n										",l=t["if"].call(a,a&&a.Author,{hash:{},inverse:P.noop,fn:P.programWithDepth(17,v,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n									"}function v(a,n,e){var l,r,s,i="";return i+='\n											<span class="is-author">\n												'+_((l=e&&e.SystemText,l=null==l||l===!1?l:l.By,typeof l===U?l.apply(a):l))+' <a href="'+_((r=t.link||a&&a.link,s={hash:{},data:n},r?r.call(a,"Person",a&&a.AuthorID,s):H.call(a,"link","Person",a&&a.AuthorID,s)))+'" ',l=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:P.noop,fn:P.program(18,y,n),data:n}),(l||0===l)&&(i+=l),i+=">",(r=t.Author)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Author,l=typeof r===U?r.call(a,{hash:{},data:n}):r),i+=_(l)+"</a>,\n											</span>\n										"}function y(a,n){var e,l,r="";return r+=' data-personid="',(l=t.AuthorID)?e=l.call(a,{hash:{},data:n}):(l=a&&a.AuthorID,e=typeof l===U?l.call(a,{hash:{},data:n}):l),r+=_(e)+'" '}function g(a,n){var e,l="";return l+='<time class="timeago timeago-date muted" datetime="',e=t["if"].call(a,a&&a.ShowUpdateDate,{hash:{},inverse:P.program(23,D,n),fn:P.program(21,S,n),data:n}),(e||0===e)&&(l+=e),l+='"></time>'}function S(a,n){var e,l,r="";return r+=" ",(l=t.UpdateDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.UpdateDate,e=typeof l===U?l.call(a,{hash:{},data:n}):l),r+=_(e)+" "}function D(a,n){var e,l,r="";return r+=" ",(l=t.StartDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.StartDate,e=typeof l===U?l.call(a,{hash:{},data:n}):l),r+=_(e)+" "}function T(a,n){var e,l,r,s="";return s+="\n									",l=t.equals||a&&a.equals,r={hash:{},inverse:P.program(29,A,n),fn:P.program(26,I,n),data:n},e=l?l.call(a,(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r):H.call(a,"equals",(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r),(e||0===e)&&(s+=e),s}function I(a,n){var e,l,r,s="";return s+='<span class="timeago timeago-doubledate muted">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:P.noop,fn:P.program(27,w,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.EndDate,r):H.call(a,"eventTimeString",a&&a.StartDate,a&&a.EndDate,r),(e||0===e)&&(s+=e),s+="</span>"}function w(){var a="";return a}function A(a,n){var e,l,r,s="";return s+='<span class="timeago timeago-singledate muted">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:P.noop,fn:P.program(27,w,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.StartDate,r):H.call(a,"eventTimeString",a&&a.StartDate,a&&a.StartDate,r),(e||0===e)&&(s+=e),s+="</span>"}function b(a,n,e){var l,r,s,i="";return i+='\n				<ul class="inline unstyled social-tools">\n					<li>\n						',r=t.equals||a&&a.equals,s={hash:{},inverse:P.noop,fn:P.programWithDepth(32,C,n,e),data:n},l=r?r.call(a,(l=a&&a.Entity,null==l||l===!1?l:l.IsCommentsAllowed),"true",s):H.call(a,"equals",(l=a&&a.Entity,null==l||l===!1?l:l.IsCommentsAllowed),"true",s),(l||0===l)&&(i+=l),i+='\n					</li>\n					<li>\n						<span title="',r=t.equals||a&&a.equals,s={hash:{},inverse:P.program(37,E,n),fn:P.program(33,q,n),data:n},l=r?r.call(a,a&&a.LikeCount,"-1",s):H.call(a,"equals",a&&a.LikeCount,"-1",s),(l||0===l)&&(i+=l),i+=" "+_((l=e&&e.SystemText,l=null==l||l===!1?l:l.Likes,typeof l===U?l.apply(a):l))+'">\n							<span class="icon is-normal"><i class="iconextra-like ii-like"></i></span>\n							',r=t.equals||a&&a.equals,s={hash:{},inverse:P.program(37,E,n),fn:P.program(33,q,n),data:n},l=r?r.call(a,a&&a.LikeCount,"-1",s):H.call(a,"equals",a&&a.LikeCount,"-1",s),(l||0===l)&&(i+=l),i+="\n						</span>\n					</li>\n					",l=t["if"].call(a,a&&a.SocialAdvocacyItem,{hash:{},inverse:P.noop,fn:P.programWithDepth(39,x,n,e),data:n}),(l||0===l)&&(i+=l),i+="\n				</ul>\n				"}function C(a,n,e){var l,r,s,i="";return i+='\n						<span title="',r=t.equals||a&&a.equals,s={hash:{},inverse:P.program(35,k,n),fn:P.program(33,q,n),data:n},l=r?r.call(a,a&&a.CommentCount,"-1",s):H.call(a,"equals",a&&a.CommentCount,"-1",s),(l||0===l)&&(i+=l),i+=" "+_((l=e&&e.SystemText,l=null==l||l===!1?l:l.Comments,typeof l===U?l.apply(a):l))+'">\n							<span class="icon is-normal"><i class="iconextra-comment ii-comments"></i></span>\n							',r=t.equals||a&&a.equals,s={hash:{},inverse:P.program(35,k,n),fn:P.program(33,q,n),data:n},l=r?r.call(a,(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s):H.call(a,"equals",(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s),(l||0===l)&&(i+=l),i+="\n						</span>\n						"}function q(){return"0"}function k(a,n){var e,l;return(l=t.CommentCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.CommentCount,e=typeof l===U?l.call(a,{hash:{},data:n}):l),_(e)}function E(a,n){var e,l;return(l=t.LikeCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.LikeCount,e=typeof l===U?l.call(a,{hash:{},data:n}):l),_(e)}function x(a,n,e){var l,r,s="";return s+='\n					<li>\n						<button id="soc-adv-share-btn" \n								class="btn btn-primary btn-small" \n								onclick="Widgets.SocialAdvocacy_ShareClicked(',(r=t.ID)?l=r.call(a,{hash:{},data:n}):(r=a&&a.ID,l=typeof r===U?r.call(a,{hash:{},data:n}):r),s+=_(l)+')"\n								type="button"\n								aria-label="'+_((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShareAria,typeof l===U?l.apply(a):l))+'"\n						>\n							'+_((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShare,typeof l===U?l.apply(a):l))+'&nbsp;<i class="fa fa-share-alt ii ii-share"></i>\n						</button>\n					</li>\n					'}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var L,W="",H=t.helperMissing,_=this.escapeExpression,U="function",P=this;return W+='<div id="myCircle" class="carousel slide">\n	<ul class="unstyled circle-view">\n		',L=t.each.call(n,n&&n.Items,{hash:{},inverse:P.noop,fn:P.programWithDepth(1,r,l,n),data:l}),(L||0===L)&&(W+=L),W+='\n	</ul>\n	<a class="carousel-control left" href="#myCircle" data-slide="prev">&lsaquo;</a>\n	<a class="carousel-control right" href="#myCircle" data-slide="next">&rsaquo;</a>\n</div>\n'}),n.widgets_content_cleanlist=a(function(a,n,t,e,l){function r(a,n,e){var l,r,i,c="";return c+='\r\n    <li class="pull-left gridster-wac">\r\n        <div class="content-widget-list-details-container content-widget-faux-link">\r\n			<div>\r\n				<h3 class="hiddentitle">Featured Content</h3>\r\n				<h4 dir="auto">\r\n					<small>\r\n						<a class="is-w-a" target="',(r=t.Target)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Target,l=typeof r===k?r.call(a,{hash:{},data:n}):r),c+=E(l)+'" href="',(r=t.URL)?l=r.call(a,{hash:{},data:n}):(r=a&&a.URL,l=typeof r===k?r.call(a,{hash:{},data:n}):r),c+=E(l)+'">',(r=t.Title)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Title,l=typeof r===k?r.call(a,{hash:{},data:n}):r),(l||0===l)&&(c+=l),c+="</a>\r\n					</small>\r\n				</h4>\r\n			</div>\r\n            ",r=t.equals||a&&a.equals,i={hash:{},inverse:x.programWithDepth(5,o,n,e),fn:x.programWithDepth(2,s,n,e),data:n},l=r?r.call(a,a&&a.Type,"Event",i):L.call(a,"equals",a&&a.Type,"Event",i),(l||0===l)&&(c+=l),c+='\r\n\r\n            <div class="social-tools">\r\n                <div class="row-fluid">\r\n                    <div class="span12 pull-left muted">\r\n                        ',r=t.when||a&&a.when,i={hash:{},inverse:x.program(17,v,n),fn:x.program(12,d,n),data:n},l=r?r.call(a,"Type != 'Event'",i):L.call(a,"when","Type != 'Event'",i),(l||0===l)&&(c+=l),c+='\r\n                    </div>\r\n                </div>\r\n                <div class="row-fluid">\r\n                    <div class="span12 pull-left likes">\r\n                        ',l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:x.noop,fn:x.programWithDepth(23,D,n,e),data:n}),(l||0===l)&&(c+=l),c+="\r\n                    </div>\r\n                </div>\r\n            </div>\r\n        </div>\r\n    </li>\r\n    "}function s(a,n,e){var l,r="";return r+="\r\n                ",l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:x.noop,fn:x.programWithDepth(3,i,n,e),data:n}),(l||0===l)&&(r+=l),r+="\r\n	        "}function i(a,n,t){var e,l="";return l+='\r\n                <div class="muted details">\r\n                    <strong>'+E((e=t&&t.SystemText,e=null==e||e===!1?e:e.Location,typeof e===k?e.apply(a):e))+":</strong> ",e=a&&a.Entity,e=null==e||e===!1?e:e.Location,e=typeof e===k?e.apply(a):e,(e||0===e)&&(l+=e),l+="\r\n                </div>\r\n                "}function o(a,n,e){var l,r="";return r+="\r\n				",l=t["if"].call(a,(l=e&&e.Options,null==l||l===!1?l:l.IncludeSummary),{hash:{},inverse:x.noop,fn:x.program(6,c,n),data:n}),(l||0===l)&&(r+=l),r+="\r\n            "}function c(a,n){var e,l="";return l+="\r\n					",e=t["if"].call(a,a&&a.Summary,{hash:{},inverse:x.noop,fn:x.program(7,h,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n				"}function h(a,n){var e,l,r,s="";return s+='\r\n					<div class="muted details" dir="auto">\r\n					    ',l=t.when||a&&a.when,r={hash:{},inverse:x.program(10,u,n),fn:x.program(8,p,n),data:n},e=l?l.call(a,"Type == 'TeamBlogPost'",r):L.call(a,"when","Type == 'TeamBlogPost'",r),(e||0===e)&&(s+=e),s+="\r\n					</div>\r\n					"}function p(a,n){var e,l,r="";return r+="\r\n						",(l=t.Title)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Title,e=typeof l===k?l.call(a,{hash:{},data:n}):l),(e||0===e)&&(r+=e),r+="\r\n					    "}function u(a,n){var e,l,r,s="";return s+="\r\n					      ",l=t.truncate||a&&a.truncate,r={hash:{},data:n},e=l?l.call(a,a&&a.Summary,60,r):L.call(a,"truncate",a&&a.Summary,60,r),(e||0===e)&&(s+=e),s+="\r\n					    "}function d(a,n){var e,l="";return l+='\r\n				        <time class="timeago pull-left" datetime="',e=t["if"].call(a,a&&a.ShowUpdateDate,{hash:{},inverse:x.program(15,m,n),fn:x.program(13,f,n),data:n}),(e||0===e)&&(l+=e),l+='"></time>\r\n                        '}function f(a,n){var e,l,r="";return r+=" ",(l=t.UpdateDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.UpdateDate,e=typeof l===k?l.call(a,{hash:{},data:n}):l),r+=E(e)+" "}function m(a,n){var e,l,r="";return r+=" ",(l=t.StartDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.StartDate,e=typeof l===k?l.call(a,{hash:{},data:n}):l),r+=E(e)+" "}function v(a,n){var e,l,r,s="";return s+="\r\n                        ",l=t.equals||a&&a.equals,r={hash:{},inverse:x.program(21,S,n),fn:x.program(18,y,n),data:n},e=l?l.call(a,(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r):L.call(a,"equals",(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r),(e||0===e)&&(s+=e),s+="\r\n                        "}function y(a,n){var e,l,r,s="";return s+='\r\n                        <span class="pull-left timeago" style="white-space:pre-line;">\r\n                        ',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:x.noop,fn:x.program(19,g,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.EndDate,r):L.call(a,"eventTimeString",a&&a.StartDate,a&&a.EndDate,r),(e||0===e)&&(s+=e),s+="\r\n                        </span>\r\n                        "}function g(){var a="";return a}function S(a,n){var e,l,r,s="";return s+='\r\n                        <span class="timeago" style="white-space:pre-line;">\r\n                        ',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:x.noop,fn:x.program(19,g,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.StartDate,r):L.call(a,"eventTimeString",a&&a.StartDate,a&&a.StartDate,r),(e||0===e)&&(s+=e),s+="\r\n                        </span>\r\n                        "}function D(a,n,e){var l,r,s,i="";return i+='\r\n                        <span class="pull-right count">\r\n                            ',l=t["if"].call(a,a&&a.SocialAdvocacyItem,{hash:{},inverse:x.noop,fn:x.programWithDepth(24,T,n,e),data:n}),(l||0===l)&&(i+=l),i+="\r\n                            ",r=t.equals||a&&a.equals,s={hash:{},inverse:x.noop,fn:x.programWithDepth(26,I,n,e),data:n},l=r?r.call(a,(l=a&&a.Entity,null==l||l===!1?l:l.IsCommentsAllowed),"true",s):L.call(a,"equals",(l=a&&a.Entity,null==l||l===!1?l:l.IsCommentsAllowed),"true",s),(l||0===l)&&(i+=l),i+='\r\n                            <span title="',r=t.equals||a&&a.equals,s={hash:{},inverse:x.program(31,b,n),fn:x.program(27,w,n),data:n},l=r?r.call(a,a&&a.LikeCount,"-1",s):L.call(a,"equals",a&&a.LikeCount,"-1",s),(l||0===l)&&(i+=l),i+=" "+E((l=e&&e.SystemText,l=null==l||l===!1?l:l.Likes,typeof l===k?l.apply(a):l))+'">\r\n                                <span class="icon is-normal"><i class="iconextra-like ii-like"></i></span>\r\n                                ',r=t.equals||a&&a.equals,s={hash:{},inverse:x.program(31,b,n),fn:x.program(27,w,n),data:n},l=r?r.call(a,a&&a.LikeCount,"-1",s):L.call(a,"equals",a&&a.LikeCount,"-1",s),(l||0===l)&&(i+=l),i+="\r\n                            </span>\r\n                        </span>\r\n                        "}function T(a,n,e){var l,r,s="";return s+='\r\n                            <button id="soc-adv-share-btn" \r\n                                    class="btn btn-primary btn-small" \r\n                                    onclick="Widgets.SocialAdvocacy_ShareClicked(',(r=t.ID)?l=r.call(a,{hash:{},data:n}):(r=a&&a.ID,l=typeof r===k?r.call(a,{hash:{},data:n}):r),s+=E(l)+')"\r\n                                    type="button"\r\n                                    aria-label="'+E((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShareAria,typeof l===k?l.apply(a):l))+'"\r\n                            >\r\n                                <i class="fa fa-share-alt ii ii-share"></i>\r\n                            </button>\r\n                            '}function I(a,n,e){var l,r,s,i="";return i+='\r\n                            <span title="',r=t.equals||a&&a.equals,s={hash:{},inverse:x.program(29,A,n),fn:x.program(27,w,n),data:n},l=r?r.call(a,a&&a.CommentCount,"-1",s):L.call(a,"equals",a&&a.CommentCount,"-1",s),(l||0===l)&&(i+=l),i+=" "+E((l=e&&e.SystemText,l=null==l||l===!1?l:l.Comments,typeof l===k?l.apply(a):l))+'">\r\n                                <span class="icon is-normal"><i class="iconextra-comment ii-comments"></i></span>\r\n                                ',r=t.equals||a&&a.equals,s={hash:{},inverse:x.program(29,A,n),fn:x.program(27,w,n),data:n},l=r?r.call(a,(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s):L.call(a,"equals",(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s),(l||0===l)&&(i+=l),i+="\r\n                            </span>\r\n                            "}function w(){return"0"}function A(a,n){var e,l;return(l=t.CommentCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.CommentCount,e=typeof l===k?l.call(a,{hash:{},data:n}):l),E(e)}function b(a,n){var e,l;return(l=t.LikeCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.LikeCount,e=typeof l===k?l.call(a,{hash:{},data:n}):l),E(e)}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var C,q="",k="function",E=this.escapeExpression,x=this,L=t.helperMissing;return q+='<ul class="unstyled CleanListEach">\r\n    ',C=t.each.call(n,n&&n.Items,{hash:{},inverse:x.noop,fn:x.programWithDepth(1,r,l,n),data:l}),(C||0===C)&&(q+=C),q+="\r\n</ul>\r\n"}),n.widgets_content_dynamiccarousel1=a(function(a,n,t,e,l){function r(a,n,e){var l,r,i,o="";return o+='\n				<li class="is-headline item" data-slide-no="'+W((l=null==n||n===!1?n:n.index,typeof l===L?l.apply(a):l))+'">\n					<article class="card-inline">\n						<div class="card-content">\n							<aside>\n								<ul class="list-unstyled list-inline inner-disc muted is-small">\n									<li>\n										',r=t.when||a&&a.when,i={hash:{},inverse:H.program(7,c,n),fn:H.program(2,s,n),data:n},l=r?r.call(a,"Type != 'Event'",i):_.call(a,"when","Type != 'Event'",i),(l||0===l)&&(o+=l),o+='\n									</li>\n									<li class="dynamic-carousel-social-icons">\n										',r=t.equals||a&&a.equals,i={hash:{},inverse:H.noop,fn:H.programWithDepth(13,d,n,e),data:n},l=r?r.call(a,(l=a&&a.Entity,null==l||l===!1?l:l.IsCommentsAllowed),"true",i):_.call(a,"equals",(l=a&&a.Entity,null==l||l===!1?l:l.IsCommentsAllowed),"true",i),(l||0===l)&&(o+=l),o+='\n										<span class="dynamic-carousel-likes" title="',r=t.equals||a&&a.equals,i={hash:{},inverse:H.program(18,v,n),fn:H.program(14,f,n),data:n},l=r?r.call(a,a&&a.LikeCount,"-1",i):_.call(a,"equals",a&&a.LikeCount,"-1",i),(l||0===l)&&(o+=l),o+=" "+W((l=e&&e.SystemText,l=null==l||l===!1?l:l.Likes,typeof l===L?l.apply(a):l))+'">\n											<span class="icon"><i class="iconextra-like ii-like"></i></span>\n											',r=t.equals||a&&a.equals,i={hash:{},inverse:H.program(18,v,n),fn:H.program(14,f,n),data:n},l=r?r.call(a,a&&a.LikeCount,"-1",i):_.call(a,"equals",a&&a.LikeCount,"-1",i),(l||0===l)&&(o+=l),o+="\n										</span>\n									</li>\n								</ul>\n							</aside>\n							<header>\n								<a ",r=t.when||a&&a.when,i={hash:{},inverse:H.noop,fn:H.program(20,y,n),data:n},l=r?r.call(a,"Type == 'SearchApplication' || Target == '_blank' ",i):_.call(a,"when","Type == 'SearchApplication' || Target == '_blank' ",i),(l||0===l)&&(o+=l),o+=' href="',(r=t.URL)?l=r.call(a,{hash:{},data:n}):(r=a&&a.URL,l=typeof r===L?r.call(a,{hash:{},data:n}):r),o+=W(l)+'" ',l=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:H.noop,fn:H.program(22,g,n),data:n}),(l||0===l)&&(o+=l),o+='>\n									<h1 class="truncate">',(r=t.Title)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Title,l=typeof r===L?r.call(a,{hash:{},data:n}):r),(l||0===l)&&(o+=l),o+="</h1>\n								</a>\n							</header>\n							",r=t.equals||a&&a.equals,i={hash:{},inverse:H.programWithDepth(28,I,n,e),fn:H.programWithDepth(25,D,n,e),data:n},l=r?r.call(a,a&&a.Type,"Event",i):_.call(a,"equals",a&&a.Type,"Event",i),(l||0===l)&&(o+=l),o+='\n							<div class="actions">\n								<a aria-label="Read More - ',(r=t.Title)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Title,l=typeof r===L?r.call(a,{hash:{},data:n}):r),(l||0===l)&&(o+=l),o+='" class="button is-medium-button is-primary is-solid read-more-header"\n								   ',r=t.when||a&&a.when,i={hash:{},inverse:H.noop,fn:H.program(20,y,n),data:n},l=r?r.call(a,"Type == 'SearchApplication' || Target == '_blank' ",i):_.call(a,"when","Type == 'SearchApplication' || Target == '_blank' ",i),(l||0===l)&&(o+=l),o+='\n								   href="',(r=t.URL)?l=r.call(a,{hash:{},data:n}):(r=a&&a.URL,l=typeof r===L?r.call(a,{hash:{},data:n}):r),o+=W(l)+'">\n									'+W((l=e&&e.SystemText,l=null==l||l===!1?l:l.ReadMore,typeof l===L?l.apply(a):l))+'\n									<span class="icon is-normal is-right"><i class="ii ii-arrow-right"></i></span>\n								</a>\n								',l=t["if"].call(a,a&&a.SocialAdvocacyItem,{hash:{},inverse:H.noop,fn:H.programWithDepth(32,b,n,e),data:n}),(l||0===l)&&(o+=l),o+='\n							</div>\n						</div>\n						<div class="thumbnail-container">\n							<img src="',l=t["if"].call(a,a&&a.AssetID,{hash:{},inverse:H.program(36,q,n),fn:H.program(34,C,n),data:n}),(l||0===l)&&(o+=l),o+='" alt="" role="presentation" class="thumbnail" data-object-fit="cover" loading="lazy" style="object-position: 50% ',(r=t.BackgroundYpos)?l=r.call(a,{hash:{},data:n}):(r=a&&a.BackgroundYpos,l=typeof r===L?r.call(a,{hash:{},data:n}):r),o+=W(l)+'%" />\n						</div>\n					</article>\n				</li>\n				'}function s(a,n){var e,l="";return l+='\n										<time class="timeago" datetime="',e=t["if"].call(a,a&&a.ShowUpdateDate,{hash:{},inverse:H.program(5,o,n),fn:H.program(3,i,n),data:n}),(e||0===e)&&(l+=e),l+='"></time>\n										'}function i(a,n){var e,l,r="";return r+=" ",(l=t.UpdateDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.UpdateDate,e=typeof l===L?l.call(a,{hash:{},data:n}):l),r+=W(e)+" "}function o(a,n){var e,l,r="";return r+=" ",(l=t.StartDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.StartDate,e=typeof l===L?l.call(a,{hash:{},data:n}):l),r+=W(e)+" "}function c(a,n){var e,l,r,s="";return s+="\n										",l=t.equals||a&&a.equals,r={hash:{},inverse:H.program(11,u,n),fn:H.program(8,h,n),data:n},e=l?l.call(a,(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r):_.call(a,"equals",(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r),(e||0===e)&&(s+=e),s+="\n										"}function h(a,n){var e,l,r,s="";return s+='\n										<span class="timeago">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:H.noop,fn:H.program(9,p,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.EndDate,r):_.call(a,"eventTimeString",a&&a.StartDate,a&&a.EndDate,r),(e||0===e)&&(s+=e),s+="</span>\n										"
}function p(){var a="";return a}function u(a,n){var e,l,r,s="";return s+='\n										<span class="timeago">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:H.noop,fn:H.program(9,p,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.StartDate,r):_.call(a,"eventTimeString",a&&a.StartDate,a&&a.StartDate,r),(e||0===e)&&(s+=e),s+="</span>\n										"}function d(a,n,e){var l,r,s,i="";return i+='\n										<span class="dynamic-carousel-comments" title="',r=t.equals||a&&a.equals,s={hash:{},inverse:H.program(16,m,n),fn:H.program(14,f,n),data:n},l=r?r.call(a,a&&a.CommentCount,"-1",s):_.call(a,"equals",a&&a.CommentCount,"-1",s),(l||0===l)&&(i+=l),i+=" "+W((l=e&&e.SystemText,l=null==l||l===!1?l:l.Comments,typeof l===L?l.apply(a):l))+'">\n											<span class="icon"><i class="iconextra-comment ii-comments"></i></span>\n											',r=t.equals||a&&a.equals,s={hash:{},inverse:H.program(16,m,n),fn:H.program(14,f,n),data:n},l=r?r.call(a,(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s):_.call(a,"equals",(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s),(l||0===l)&&(i+=l),i+="\n										</span>\n										"}function f(){return"0"}function m(a,n){var e,l;return(l=t.CommentCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.CommentCount,e=typeof l===L?l.call(a,{hash:{},data:n}):l),W(e)}function v(a,n){var e,l;return(l=t.LikeCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.LikeCount,e=typeof l===L?l.call(a,{hash:{},data:n}):l),W(e)}function y(){return' target="_blank" '}function g(a,n){var e,l,r,s="";return s+=" ",l=t.hovercard||a&&a.hovercard,r={hash:{},inverse:H.noop,fn:H.program(23,S,n),data:n},e=l?l.call(a,a&&a.Type,a&&a.ID,r):_.call(a,"hovercard",a&&a.Type,a&&a.ID,r),(e||0===e)&&(s+=e),s+=" "}function S(){return" "}function D(a,n,e){var l,r="";return r+="\n							",l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:H.noop,fn:H.programWithDepth(26,T,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n							"}function T(a,n,t){var e,l="";return l+='\n							<p class="truncate">'+W((e=t&&t.SystemText,e=null==e||e===!1?e:e.Location,typeof e===L?e.apply(a):e))+": ",e=a&&a.Entity,e=null==e||e===!1?e:e.Location,e=typeof e===L?e.apply(a):e,(e||0===e)&&(l+=e),l+="</p>\n							"}function I(a,n,e){var l,r="";return r+="\n							",l=t["if"].call(a,(l=e&&e.Options,null==l||l===!1?l:l.IncludeSummary),{hash:{},inverse:H.noop,fn:H.program(29,w,n),data:n}),(l||0===l)&&(r+=l),r+="\n							"}function w(a,n){var e,l="";return l+="\n							",e=t["if"].call(a,a&&a.Summary,{hash:{},inverse:H.noop,fn:H.program(30,A,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function A(a,n){var e,l,r="";return r+='\n							<p class="truncate">',(l=t.Summary)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Summary,e=typeof l===L?l.call(a,{hash:{},data:n}):l),(e||0===e)&&(r+=e),r+="</p>\n							"}function b(a,n,e){var l,r,s="";return s+='\n								<button id="soc-adv-share-btn" \n										class="btn btn-secondary is-medium-button" \n										onclick="Widgets.SocialAdvocacy_ShareClicked(',(r=t.ID)?l=r.call(a,{hash:{},data:n}):(r=a&&a.ID,l=typeof r===L?r.call(a,{hash:{},data:n}):r),s+=W(l)+')"\n										type="button"\n										aria-label="'+W((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShareAria,typeof l===L?l.apply(a):l))+'"\n								>\n									'+W((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShare,typeof l===L?l.apply(a):l))+'&nbsp;<i class="fa fa-share-alt ii ii-share"></i>\n								</button>\n								'}function C(a,n){var e,l,r;return l=t.asset||a&&a.asset,r={hash:{},data:n},e=l?l.call(a,a&&a.AssetID,7,r):_.call(a,"asset",a&&a.AssetID,7,r),e||0===e?e:""}function q(a,n){var e,l;return W((e=t.avatar||a&&a.avatar,l={hash:{},data:n},e?e.call(a,a&&a.Type,l):_.call(a,"avatar",a&&a.Type,l)))}function k(a,n){var e,l,r="";return r+='\n				<li class="myDynamic-target" data-target="#myDynamicCarousel" data-slide-to="'+W((e=null==n||n===!1?n:n.index,typeof e===L?e.apply(a):e))+'">\n					<a href="#myDynamicCarousel" onclick="return false;"><span class="sr-only">Slide ('+W((e=null==n||n===!1?n:n.index,typeof e===L?e.apply(a):e))+"): ",(l=t.Title)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Title,e=typeof l===L?l.call(a,{hash:{},data:n}):l),(e||0===e)&&(r+=e),r+="</span></a>\n				</li>\n				"}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var E,x="",L="function",W=this.escapeExpression,H=this,_=t.helperMissing;return x+='<div class="dynamic-carousel">\n	<div class="container">\n		<div id="myDynamicCarousel" class="carousel">\n			<a href="#myDynamicCarousel" data-slide="prev" class="carousel-chevron icon-container is-medium is-left" role="button" aria-label="Previous slide">\n				<span class="icon is-normal">\n					<i class="ii ii-chevron-left"></i>\n				</span>\n			</a>\n			<a href="#myDynamicCarousel" data-slide="next" class="carousel-chevron icon-container is-medium is-right" role="button" aria-label="Next slide">\n				<span class="icon is-normal">\n					<i class="ii ii-chevron-right"></i>\n				</span>\n			</a>\n			<ul class="list-unstyled widget-list has-thumbnail-overlay carousel-inner">\n				',E=t.each.call(n,n&&n.Items,{hash:{},inverse:H.noop,fn:H.programWithDepth(1,r,l,n),data:l}),(E||0===E)&&(x+=E),x+='\n			</ul>\n			<ol class="carousel-indicators">\n				',E=t.each.call(n,n&&n.Items,{hash:{},inverse:H.noop,fn:H.program(38,k,l),data:l}),(E||0===E)&&(x+=E),x+='\n				<li class="myDynamic-control">\n					<button id="toggleAutoplay" class="button" aria-label="pause"><i class="fa fa-pause ii ii-pause"></i></button>\n				</li>\n			</ol>\n		</div>\n	</div>\n</div>'}),n.widgets_content_dynamiccarousel2=a(function(a,n,t,e,l){function r(a,n,e){var l,r,i,c="";return c+='\n			<li class="is-headline item" data-slide-no="'+B((l=null==n||n===!1?n:n.index,typeof l===R?l.apply(a):l))+'">\n				<article>\n					<div class="container card-inline">\n						<div class="card-content">\n							<aside>\n								<ul class="list-unstyled list-inline inner-disc muted is-small">\n\n									<!-- This will return true if AuthorType is greater than 0, i.e. not a person -->\n									',l=t["if"].call(a,a&&a.AuthorType,{hash:{},inverse:M.program(5,o,n),fn:M.program(2,s,n),data:n}),(l||0===l)&&(c+=l),c+="\n\n									<li>\n										",r=t.when||a&&a.when,i={hash:{},inverse:M.program(14,f,n),fn:M.program(9,p,n),data:n},l=r?r.call(a,"Type != 'Event'",i):O.call(a,"when","Type != 'Event'",i),(l||0===l)&&(c+=l),c+='\n									</li>\n									<li class="dynamic-carousel-social-icons">\n										',r=t.equals||a&&a.equals,i={hash:{},inverse:M.noop,fn:M.programWithDepth(20,g,n,e),data:n},l=r?r.call(a,(l=a&&a.Entity,null==l||l===!1?l:l.IsCommentsAllowed),"true",i):O.call(a,"equals",(l=a&&a.Entity,null==l||l===!1?l:l.IsCommentsAllowed),"true",i),(l||0===l)&&(c+=l),c+='\n										<span class="dynamic-carousel-likes" title="',r=t.equals||a&&a.equals,i={hash:{},inverse:M.program(25,T,n),fn:M.program(21,S,n),data:n},l=r?r.call(a,a&&a.LikeCount,"-1",i):O.call(a,"equals",a&&a.LikeCount,"-1",i),(l||0===l)&&(c+=l),c+=" "+B((l=e&&e.SystemText,l=null==l||l===!1?l:l.Likes,typeof l===R?l.apply(a):l))+'">\n											<span class="icon"><i class="iconextra-like ii-like"></i></span>\n											',r=t.equals||a&&a.equals,i={hash:{},inverse:M.program(25,T,n),fn:M.program(21,S,n),data:n},l=r?r.call(a,a&&a.LikeCount,"-1",i):O.call(a,"equals",a&&a.LikeCount,"-1",i),(l||0===l)&&(c+=l),c+="\n										</span>\n									</li>\n								</ul>\n							</aside>\n							<header>\n								<a ",r=t.when||a&&a.when,i={hash:{},inverse:M.noop,fn:M.program(27,I,n),data:n},l=r?r.call(a,"Type == 'SearchApplication' || Target == '_blank' ",i):O.call(a,"when","Type == 'SearchApplication' || Target == '_blank' ",i),(l||0===l)&&(c+=l),c+=' href="',(r=t.URL)?l=r.call(a,{hash:{},data:n}):(r=a&&a.URL,l=typeof r===R?r.call(a,{hash:{},data:n}):r),c+=B(l)+'" ',l=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:M.noop,fn:M.program(29,w,n),data:n}),(l||0===l)&&(c+=l),c+='>\n									<h1 class="truncate">',(r=t.Title)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Title,l=typeof r===R?r.call(a,{hash:{},data:n}):r),(l||0===l)&&(c+=l),c+="</h1>\n								</a>\n							</header>\n							",r=t.equals||a&&a.equals,i={hash:{},inverse:M.programWithDepth(35,q,n,e),fn:M.programWithDepth(32,b,n,e),data:n},l=r?r.call(a,a&&a.Type,"Event",i):O.call(a,"equals",a&&a.Type,"Event",i),(l||0===l)&&(c+=l),c+="\n							",l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:M.noop,fn:M.program(39,x,n),data:n}),(l||0===l)&&(c+=l),c+='\n							<div class="actions">\n								<a aria-label="Read More - ',(r=t.Title)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Title,l=typeof r===R?r.call(a,{hash:{},data:n}):r),(l||0===l)&&(c+=l),c+='" class="button is-medium-button read-more-header"\n								   ',r=t.when||a&&a.when,i={hash:{},inverse:M.noop,fn:M.program(27,I,n),data:n},l=r?r.call(a,"Type == 'SearchApplication' || Target == '_blank' ",i):O.call(a,"when","Type == 'SearchApplication' || Target == '_blank' ",i),(l||0===l)&&(c+=l),c+='\n								   href="',(r=t.URL)?l=r.call(a,{hash:{},data:n}):(r=a&&a.URL,l=typeof r===R?r.call(a,{hash:{},data:n}):r),c+=B(l)+'">\n									'+B((l=e&&e.SystemText,l=null==l||l===!1?l:l.ReadMore,typeof l===R?l.apply(a):l))+'\n									<span class="icon is-normal is-right"><i class="ii ii-arrow-right"></i></span>\n								</a>\n								',l=t["if"].call(a,a&&a.SocialAdvocacyItem,{hash:{},inverse:M.noop,fn:M.programWithDepth(41,L,n,e),data:n}),(l||0===l)&&(c+=l),c+='\n							</div>\n						</div>\n					</div>\n					<div class="thumbnail-container">\n						<img src="',l=t["if"].call(a,a&&a.AssetID,{hash:{},inverse:M.program(45,H,n),fn:M.program(43,W,n),data:n}),(l||0===l)&&(c+=l),c+='" alt="" role="presentation" class="thumbnail" data-object-fit="cover" loading="lazy" style="object-position: 50% ',(r=t.BackgroundYpos)?l=r.call(a,{hash:{},data:n}):(r=a&&a.BackgroundYpos,l=typeof r===R?r.call(a,{hash:{},data:n}):r),c+=B(l)+'%" />\n					</div>\n				</article>\n			</li>\n			'}function s(a,n){var e,l="";return l+="\n									",e=t["if"].call(a,a&&a.Author,{hash:{},inverse:M.noop,fn:M.program(3,i,n),data:n}),(e||0===e)&&(l+=e),l+="\n									"}function i(a,n){var e,l,r="";return r+="\n									<!-- Display a span instead of a link -->\n									<li>\n										<span><strong>",(l=t.Author)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Author,e=typeof l===R?l.call(a,{hash:{},data:n}):l),r+=B(e)+"</strong></span>\n									</li>\n									"}function o(a,n){var e,l="";return l+="\n									",e=t["if"].call(a,a&&a.Author,{hash:{},inverse:M.noop,fn:M.program(6,c,n),data:n}),(e||0===e)&&(l+=e),l+="\n									"}function c(a,n){var e,l,r,s="";return s+='\n									<li>\n										<a href="'+B((l=t.link||a&&a.link,r={hash:{},data:n},l?l.call(a,"Person",a&&a.AuthorID,r):O.call(a,"link","Person",a&&a.AuthorID,r)))+'" class="author" ',e=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:M.noop,fn:M.program(7,h,n),data:n}),(e||0===e)&&(s+=e),s+=">",(l=t.Author)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Author,e=typeof l===R?l.call(a,{hash:{},data:n}):l),s+=B(e)+"</a>\n									</li>\n									"}function h(a,n){var e,l,r="";return r+=' data-personid="',(l=t.AuthorID)?e=l.call(a,{hash:{},data:n}):(l=a&&a.AuthorID,e=typeof l===R?l.call(a,{hash:{},data:n}):l),r+=B(e)+'" '}function p(a,n){var e,l="";return l+='\n										<time class="timeago" datetime="',e=t["if"].call(a,a&&a.ShowUpdateDate,{hash:{},inverse:M.program(12,d,n),fn:M.program(10,u,n),data:n}),(e||0===e)&&(l+=e),l+='"></time>\n										'}function u(a,n){var e,l,r="";return r+=" ",(l=t.UpdateDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.UpdateDate,e=typeof l===R?l.call(a,{hash:{},data:n}):l),r+=B(e)+" "}function d(a,n){var e,l,r="";return r+=" ",(l=t.StartDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.StartDate,e=typeof l===R?l.call(a,{hash:{},data:n}):l),r+=B(e)+" "}function f(a,n){var e,l,r,s="";return s+="\n										",l=t.equals||a&&a.equals,r={hash:{},inverse:M.program(18,y,n),fn:M.program(15,m,n),data:n},e=l?l.call(a,(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r):O.call(a,"equals",(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r),(e||0===e)&&(s+=e),s+="\n										"}function m(a,n){var e,l,r,s="";return s+='\n										<span class="timeago">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:M.noop,fn:M.program(16,v,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.EndDate,r):O.call(a,"eventTimeString",a&&a.StartDate,a&&a.EndDate,r),(e||0===e)&&(s+=e),s+="</span>\n										"}function v(){var a="";return a}function y(a,n){var e,l,r,s="";return s+='\n										<span class="timeago">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:M.noop,fn:M.program(16,v,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.StartDate,r):O.call(a,"eventTimeString",a&&a.StartDate,a&&a.StartDate,r),(e||0===e)&&(s+=e),s+="</span>\n										"}function g(a,n,e){var l,r,s,i="";return i+='\n										<span class="dynamic-carousel-comments" title="',r=t.equals||a&&a.equals,s={hash:{},inverse:M.program(23,D,n),fn:M.program(21,S,n),data:n},l=r?r.call(a,a&&a.CommentCount,"-1",s):O.call(a,"equals",a&&a.CommentCount,"-1",s),(l||0===l)&&(i+=l),i+=" "+B((l=e&&e.SystemText,l=null==l||l===!1?l:l.Comments,typeof l===R?l.apply(a):l))+'">\n											<span class="icon"><i class="iconextra-comment ii-comments"></i></span>\n											',r=t.equals||a&&a.equals,s={hash:{},inverse:M.program(23,D,n),fn:M.program(21,S,n),data:n},l=r?r.call(a,(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s):O.call(a,"equals",(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s),(l||0===l)&&(i+=l),i+="\n										</span>\n										"}function S(){return"0"}function D(a,n){var e,l;return(l=t.CommentCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.CommentCount,e=typeof l===R?l.call(a,{hash:{},data:n}):l),B(e)}function T(a,n){var e,l;return(l=t.LikeCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.LikeCount,e=typeof l===R?l.call(a,{hash:{},data:n}):l),B(e)}function I(){return' target="_blank" '}function w(a,n){var e,l,r,s="";return s+=" ",l=t.hovercard||a&&a.hovercard,r={hash:{},inverse:M.noop,fn:M.program(30,A,n),data:n},e=l?l.call(a,a&&a.Type,a&&a.ID,r):O.call(a,"hovercard",a&&a.Type,a&&a.ID,r),(e||0===e)&&(s+=e),s+=" "}function A(){return" "}function b(a,n,e){var l,r="";return r+="\n							",l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:M.noop,fn:M.programWithDepth(33,C,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n							"}function C(a,n,t){var e,l="";return l+="\n							<p>"+B((e=t&&t.SystemText,e=null==e||e===!1?e:e.Location,typeof e===R?e.apply(a):e))+": ",e=a&&a.Entity,e=null==e||e===!1?e:e.Location,e=typeof e===R?e.apply(a):e,(e||0===e)&&(l+=e),l+="</p>\n							"}function q(a,n,e){var l,r="";return r+="\n							",l=t["if"].call(a,(l=e&&e.Options,null==l||l===!1?l:l.IncludeSummary),{hash:{},inverse:M.noop,fn:M.program(36,k,n),data:n}),(l||0===l)&&(r+=l),r+="\n							"}function k(a,n){var e,l="";return l+="\n							",e=t["if"].call(a,a&&a.Summary,{hash:{},inverse:M.noop,fn:M.program(37,E,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function E(a,n){var e,l,r="";return r+="\n							<p>",(l=t.Summary)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Summary,e=typeof l===R?l.call(a,{hash:{},data:n}):l),(e||0===e)&&(r+=e),r+="</p>\n							"}function x(){return"\n							"}function L(a,n,e){var l,r,s="";return s+='\n								<button id="soc-adv-share-btn" \n										class="button is-medium-button" \n										onclick="Widgets.SocialAdvocacy_ShareClicked(',(r=t.ID)?l=r.call(a,{hash:{},data:n}):(r=a&&a.ID,l=typeof r===R?r.call(a,{hash:{},data:n}):r),s+=B(l)+')"\n										type="button"\n										aria-label="'+B((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShareAria,typeof l===R?l.apply(a):l))+'"\n								>\n									'+B((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShare,typeof l===R?l.apply(a):l))+'&nbsp;<i class="fa fa-share-alt ii ii-share"></i>\n								</button>\n								'}function W(a,n){var e,l,r;return l=t.asset||a&&a.asset,r={hash:{},data:n},e=l?l.call(a,a&&a.AssetID,7,r):O.call(a,"asset",a&&a.AssetID,7,r),e||0===e?e:""}function H(a,n){var e,l;return B((e=t.avatar||a&&a.avatar,l={hash:{},data:n},e?e.call(a,a&&a.Type,l):O.call(a,"avatar",a&&a.Type,l)))}function _(a,n){var e,l,r="";return r+='\n				<li data-target="#myDynamicCarousel" class="myDynamic-target" data-slide-to="'+B((e=null==n||n===!1?n:n.index,typeof e===R?e.apply(a):e))+'">\n					<a href="#myDynamicCarousel" onclick="return false;"><span class="sr-only">Slide ('+B((e=null==n||n===!1?n:n.index,typeof e===R?e.apply(a):e))+"): ",(l=t.Title)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Title,e=typeof l===R?l.call(a,{hash:{},data:n}):l),(e||0===e)&&(r+=e),r+="</span></a>\n				</li>\n				"}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var U,P="",R="function",B=this.escapeExpression,M=this,O=t.helperMissing;return P+='<div class="dynamic-carousel">\n	<div id="myDynamicCarousel" class="carousel slide">\n		<ul class="list-unstyled widget-list has-thumbnail-overlay carousel-inner">\n			',U=t.each.call(n,n&&n.Items,{hash:{},inverse:M.noop,fn:M.programWithDepth(1,r,l,n),data:l}),(U||0===U)&&(P+=U),P+='\n		</ul>\n		<div class="container p-relative h-100">\n			<a href="#myDynamicCarousel" data-slide="prev" class="carousel-chevron icon-container is-medium is-left" role="button" aria-label="Previous slide">\n				<span class="icon is-normal">\n					<i class="ii ii-chevron-left"></i>\n				</span>\n			</a>\n			<a href="#myDynamicCarousel" data-slide="next" class="carousel-chevron icon-container is-medium is-right" role="button" aria-label="Next slide">\n				<span class="icon is-normal">\n					<i class="ii ii-chevron-right"></i>\n				</span>\n			</a>\n			<ol class="carousel-indicators">\n				',U=t.each.call(n,n&&n.Items,{hash:{},inverse:M.noop,fn:M.program(47,_,l),data:l}),(U||0===U)&&(P+=U),P+='\n				<li class="myDynamic-control">\n					<button id="toggleAutoplay" class="button" aria-label="pause"><i class="fa fa-pause ii ii-pause"></i></button>\n				</li>\n			</ol>\n		</div>\n	</div>\n	</div>'}),n.widgets_content_dynamiccarousel3=a(function(a,n,t,e,l){function r(a,n,e){var l,r,i,o="";return o+='\n			<li class="is-headline item" data-slide-no="'+H((l=null==n||n===!1?n:n.index,typeof l===W?l.apply(a):l))+'">\n				<article>\n					<div class="container card-inline">\n						<div class="card-content">\n							<aside>\n								<ul class="list-unstyled list-inline inner-disc muted is-small">\n									<li>\n										',r=t.when||a&&a.when,i={hash:{},inverse:_.program(7,c,n),fn:_.program(2,s,n),data:n},l=r?r.call(a,"Type != 'Event'",i):U.call(a,"when","Type != 'Event'",i),(l||0===l)&&(o+=l),o+='\n									</li>\n									<li class="dynamic-carousel-social-icons">\n										',r=t.equals||a&&a.equals,i={hash:{},inverse:_.noop,fn:_.programWithDepth(13,d,n,e),data:n},l=r?r.call(a,(l=a&&a.Entity,null==l||l===!1?l:l.IsCommentsAllowed),"true",i):U.call(a,"equals",(l=a&&a.Entity,null==l||l===!1?l:l.IsCommentsAllowed),"true",i),(l||0===l)&&(o+=l),o+='\n										<span class="dynamic-carousel-likes" title="',r=t.equals||a&&a.equals,i={hash:{},inverse:_.program(18,v,n),fn:_.program(14,f,n),data:n},l=r?r.call(a,a&&a.LikeCount,"-1",i):U.call(a,"equals",a&&a.LikeCount,"-1",i),(l||0===l)&&(o+=l),o+=" "+H((l=e&&e.SystemText,l=null==l||l===!1?l:l.Likes,typeof l===W?l.apply(a):l))+'">\n											<span class="icon"><i class="iconextra-like ii-like"></i></span>\n											',r=t.equals||a&&a.equals,i={hash:{},inverse:_.program(18,v,n),fn:_.program(14,f,n),data:n},l=r?r.call(a,a&&a.LikeCount,"-1",i):U.call(a,"equals",a&&a.LikeCount,"-1",i),(l||0===l)&&(o+=l),o+="\n										</span>\n									</li>\n								</ul>\n							</aside>\n							<header>\n								<a ",r=t.when||a&&a.when,i={hash:{},inverse:_.noop,fn:_.program(20,y,n),data:n},l=r?r.call(a,"Type == 'SearchApplication' || Target == '_blank' ",i):U.call(a,"when","Type == 'SearchApplication' || Target == '_blank' ",i),(l||0===l)&&(o+=l),o+=' href="',(r=t.URL)?l=r.call(a,{hash:{},data:n}):(r=a&&a.URL,l=typeof r===W?r.call(a,{hash:{},data:n}):r),o+=H(l)+'" ',l=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:_.noop,fn:_.program(22,g,n),data:n}),(l||0===l)&&(o+=l),o+='>\n									<h1 class="truncate">',(r=t.Title)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Title,l=typeof r===W?r.call(a,{hash:{},data:n}):r),(l||0===l)&&(o+=l),o+="</h1>\n								</a>\n							</header>\n							",r=t.equals||a&&a.equals,i={hash:{},inverse:_.programWithDepth(28,I,n,e),fn:_.programWithDepth(25,D,n,e),data:n},l=r?r.call(a,a&&a.Type,"Event",i):U.call(a,"equals",a&&a.Type,"Event",i),(l||0===l)&&(o+=l),o+="\n							",l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:_.noop,fn:_.program(32,b,n),data:n}),(l||0===l)&&(o+=l),o+='\n							<div class="actions">\n								<a aria-label="Read More - ',(r=t.Title)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Title,l=typeof r===W?r.call(a,{hash:{},data:n}):r),(l||0===l)&&(o+=l),o+='" class="button"\n								   ',r=t.when||a&&a.when,i={hash:{},inverse:_.noop,fn:_.program(20,y,n),data:n},l=r?r.call(a,"Type == 'SearchApplication' || Target == '_blank' ",i):U.call(a,"when","Type == 'SearchApplication' || Target == '_blank' ",i),(l||0===l)&&(o+=l),o+='\n								   href="',(r=t.URL)?l=r.call(a,{hash:{},data:n}):(r=a&&a.URL,l=typeof r===W?r.call(a,{hash:{},data:n}):r),o+=H(l)+'">\n									'+H((l=e&&e.SystemText,l=null==l||l===!1?l:l.ReadMore,typeof l===W?l.apply(a):l))+'\n									<span class="icon is-normal is-right"><i class="ii ii-arrow-right"></i></span>\n								</a>\n								',l=t["if"].call(a,a&&a.SocialAdvocacyItem,{hash:{},inverse:_.noop,fn:_.programWithDepth(34,C,n,e),data:n}),(l||0===l)&&(o+=l),o+='\n							</div>\n						</div>\n					</div>\n					<div class="row-fluid p-absolute h-100">\n						<div class="span6 offset6 h-100">\n							<div class="thumbnail-container">\n								<img src="',l=t["if"].call(a,a&&a.AssetID,{hash:{},inverse:_.program(38,k,n),fn:_.program(36,q,n),data:n}),(l||0===l)&&(o+=l),o+='" alt="" role="presentation" class="thumbnail" data-object-fit="cover" loading="lazy" style="object-position: 50% ',(r=t.BackgroundYpos)?l=r.call(a,{hash:{},data:n}):(r=a&&a.BackgroundYpos,l=typeof r===W?r.call(a,{hash:{},data:n}):r),o+=H(l)+'%" />\n							</div>\n						</div>\n					</div>\n				</article>\n			</li>\n			'}function s(a,n){var e,l="";return l+='\n										<time class="timeago" datetime="',e=t["if"].call(a,a&&a.ShowUpdateDate,{hash:{},inverse:_.program(5,o,n),fn:_.program(3,i,n),data:n}),(e||0===e)&&(l+=e),l+='"></time>\n										'}function i(a,n){var e,l,r="";return r+=" ",(l=t.UpdateDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.UpdateDate,e=typeof l===W?l.call(a,{hash:{},data:n}):l),r+=H(e)+" "}function o(a,n){var e,l,r="";return r+=" ",(l=t.StartDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.StartDate,e=typeof l===W?l.call(a,{hash:{},data:n}):l),r+=H(e)+" "}function c(a,n){var e,l,r,s="";return s+="\n										",l=t.equals||a&&a.equals,r={hash:{},inverse:_.program(11,u,n),fn:_.program(8,h,n),data:n},e=l?l.call(a,(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r):U.call(a,"equals",(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r),(e||0===e)&&(s+=e),s+="\n										"}function h(a,n){var e,l,r,s="";return s+='\n										<span class="timeago">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:_.noop,fn:_.program(9,p,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.EndDate,r):U.call(a,"eventTimeString",a&&a.StartDate,a&&a.EndDate,r),(e||0===e)&&(s+=e),s+="</span>\n										"}function p(){var a="";return a}function u(a,n){var e,l,r,s="";return s+='\n										<span class="timeago">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:_.noop,fn:_.program(9,p,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.StartDate,r):U.call(a,"eventTimeString",a&&a.StartDate,a&&a.StartDate,r),(e||0===e)&&(s+=e),s+="</span>\n										"}function d(a,n,e){var l,r,s,i="";return i+='\n										<span class="dynamic-carousel-comments" title="',r=t.equals||a&&a.equals,s={hash:{},inverse:_.program(16,m,n),fn:_.program(14,f,n),data:n},l=r?r.call(a,a&&a.CommentCount,"-1",s):U.call(a,"equals",a&&a.CommentCount,"-1",s),(l||0===l)&&(i+=l),i+=" "+H((l=e&&e.SystemText,l=null==l||l===!1?l:l.Comments,typeof l===W?l.apply(a):l))+'">\n											<span class="icon"><i class="iconextra-comment ii-comments"></i></span>\n											',r=t.equals||a&&a.equals,s={hash:{},inverse:_.program(16,m,n),fn:_.program(14,f,n),data:n},l=r?r.call(a,(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s):U.call(a,"equals",(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s),(l||0===l)&&(i+=l),i+="\n										</span>\n										"}function f(){return"0"}function m(a,n){var e,l;return(l=t.CommentCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.CommentCount,e=typeof l===W?l.call(a,{hash:{},data:n}):l),H(e)}function v(a,n){var e,l;return(l=t.LikeCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.LikeCount,e=typeof l===W?l.call(a,{hash:{},data:n}):l),H(e)}function y(){return' target="_blank" '}function g(a,n){var e,l,r,s="";return s+=" ",l=t.hovercard||a&&a.hovercard,r={hash:{},inverse:_.noop,fn:_.program(23,S,n),data:n},e=l?l.call(a,a&&a.Type,a&&a.ID,r):U.call(a,"hovercard",a&&a.Type,a&&a.ID,r),(e||0===e)&&(s+=e),s+=" "}function S(){return" "}function D(a,n,e){var l,r="";return r+="\n							",l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:_.noop,fn:_.programWithDepth(26,T,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n							"}function T(a,n,t){var e,l="";return l+="\n							<p>"+H((e=t&&t.SystemText,e=null==e||e===!1?e:e.Location,typeof e===W?e.apply(a):e))+": ",e=a&&a.Entity,e=null==e||e===!1?e:e.Location,e=typeof e===W?e.apply(a):e,(e||0===e)&&(l+=e),l+="</p>\n							"}function I(a,n,e){var l,r="";return r+="\n							",l=t["if"].call(a,(l=e&&e.Options,null==l||l===!1?l:l.IncludeSummary),{hash:{},inverse:_.noop,fn:_.program(29,w,n),data:n}),(l||0===l)&&(r+=l),r+="\n							"}function w(a,n){var e,l="";return l+="\n							",e=t["if"].call(a,a&&a.Summary,{hash:{},inverse:_.noop,fn:_.program(30,A,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function A(a,n){var e,l,r="";return r+='\n							<p class="truncate">',(l=t.Summary)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Summary,e=typeof l===W?l.call(a,{hash:{},data:n}):l),(e||0===e)&&(r+=e),r+="</p>\n							"}function b(){return"\n							"}function C(a,n,e){var l,r,s="";return s+='\n								<button id="soc-adv-share-btn" \n										class="button" \n										onclick="Widgets.SocialAdvocacy_ShareClicked(',(r=t.ID)?l=r.call(a,{hash:{},data:n}):(r=a&&a.ID,l=typeof r===W?r.call(a,{hash:{},data:n}):r),s+=H(l)+')"\n										type="button"\n										aria-label="'+H((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShareAria,typeof l===W?l.apply(a):l))+'"\n								>\n									'+H((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShare,typeof l===W?l.apply(a):l))+'&nbsp;<i class="fa fa-share-alt ii ii-share"></i>\n								</button>\n								'}function q(a,n){var e,l,r;return l=t.asset||a&&a.asset,r={hash:{},data:n},e=l?l.call(a,a&&a.AssetID,7,r):U.call(a,"asset",a&&a.AssetID,7,r),e||0===e?e:""}function k(a,n){var e,l;return H((e=t.avatar||a&&a.avatar,l={hash:{},data:n},e?e.call(a,a&&a.Type,l):U.call(a,"avatar",a&&a.Type,l)))}function E(a,n){var e,l,r="";return r+='\n				<li data-target="#myDynamicCarousel" class="myDynamic-target" data-slide-to="'+H((e=null==n||n===!1?n:n.index,typeof e===W?e.apply(a):e))+'">\n					<a href="#myDynamicCarousel" onclick="return false;"><span class="sr-only">Slide ('+H((e=null==n||n===!1?n:n.index,typeof e===W?e.apply(a):e))+"): ",(l=t.Title)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Title,e=typeof l===W?l.call(a,{hash:{},data:n}):l),(e||0===e)&&(r+=e),r+="</span></a>\n				</li>\n				"}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var x,L="",W="function",H=this.escapeExpression,_=this,U=t.helperMissing;return L+='<div class="dynamic-carousel">\n	<div id="myDynamicCarousel3" class="carousel slide">\n		<ul class="list-unstyled widget-list has-thumbnail-overlay carousel-inner">\n			',x=t.each.call(n,n&&n.Items,{hash:{},inverse:_.noop,fn:_.programWithDepth(1,r,l,n),data:l}),(x||0===x)&&(L+=x),L+='\n		</ul>\n		<div class="container p-relative h-100">\n			<ol class="carousel-indicators">\n				',x=t.each.call(n,n&&n.Items,{hash:{},inverse:_.noop,fn:_.program(40,E,l),data:l}),(x||0===x)&&(L+=x),L+='\n				<li class="myDynamic-control">\n					<button id="toggleAutoplay" class="button" aria-label="pause"><i class="fa fa-pause ii ii-pause"></i></button>\n				</li>\n			</ol>\n			<a href="#myDynamicCarousel" data-slide="prev" class="carousel-chevron icon-container is-medium is-left" role="button" aria-label="Previous slide">\n				<span class="icon is-normal">\n					<i class="ii ii-chevron-left"></i>\n				</span>\n			</a>\n			<a href="#myDynamicCarousel" data-slide="next" class="carousel-chevron icon-container is-medium is-right" role="button" aria-label="Next slide">\n				<span class="icon is-normal">\n					<i class="ii ii-chevron-right"></i>\n				</span>\n			</a>\n		</div>\n	</div>\n</div>'}),n.widgets_content_dynamiccarousel4=a(function(a,n,t,e,l){function r(a,n){var e,l,r="";return r+='\n				<li data-target="#myDynamicCarousel" class="myDynamic-target" data-slide-to="'+B((e=null==n||n===!1?n:n.index,typeof e===R?e.apply(a):e))+'">\n					<a href="#myDynamicCarousel" onclick="return false;"><span class="sr-only">Slide ('+B((e=null==n||n===!1?n:n.index,typeof e===R?e.apply(a):e))+"): ",(l=t.Title)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Title,e=typeof l===R?l.call(a,{hash:{},data:n}):l),(e||0===e)&&(r+=e),r+="</span></a>\n				</li>\n				"}function s(a,n,e){var l,r,s,o="";return o+='\n			<li class="is-headline item" data-slide-no="'+B((l=null==n||n===!1?n:n.index,typeof l===R?l.apply(a):l))+'">\n				<article>\n					<div class="container card-inline">\n						<div class="card-content">\n							<div class="row-fluid">\n								<div class="span6">\n									<aside>\n										<ul class="list-unstyled list-inline inner-disc muted is-small">\n\n											<!-- This will return true if AuthorType is greater than 0, i.e. not a person -->\n											',l=t["if"].call(a,a&&a.AuthorType,{hash:{},inverse:M.program(7,c,n),fn:M.program(4,i,n),data:n}),(l||0===l)&&(o+=l),o+="\n\n											<li>\n												",r=t.when||a&&a.when,s={hash:{},inverse:M.program(16,m,n),fn:M.program(11,u,n),data:n},l=r?r.call(a,"Type != 'Event'",s):O.call(a,"when","Type != 'Event'",s),(l||0===l)&&(o+=l),o+='\n											</li>\n											<li class="dynamic-carousel-social-icons">\n												',r=t.equals||a&&a.equals,s={hash:{},inverse:M.noop,fn:M.programWithDepth(22,S,n,e),data:n},l=r?r.call(a,(l=a&&a.Entity,null==l||l===!1?l:l.IsCommentsAllowed),"true",s):O.call(a,"equals",(l=a&&a.Entity,null==l||l===!1?l:l.IsCommentsAllowed),"true",s),(l||0===l)&&(o+=l),o+='\n												<span class="dynamic-carousel-likes" title="',r=t.equals||a&&a.equals,s={hash:{},inverse:M.program(27,I,n),fn:M.program(23,D,n),data:n},l=r?r.call(a,a&&a.LikeCount,"-1",s):O.call(a,"equals",a&&a.LikeCount,"-1",s),(l||0===l)&&(o+=l),o+=" "+B((l=e&&e.SystemText,l=null==l||l===!1?l:l.Likes,typeof l===R?l.apply(a):l))+'">\n													<span class="icon"><i class="iconextra-like ii-like"></i></span>\n													',r=t.equals||a&&a.equals,s={hash:{},inverse:M.program(27,I,n),fn:M.program(23,D,n),data:n},l=r?r.call(a,a&&a.LikeCount,"-1",s):O.call(a,"equals",a&&a.LikeCount,"-1",s),(l||0===l)&&(o+=l),o+="\n												</span>\n											</li>\n										</ul>\n									</aside>\n									<header>\n										<a ",r=t.when||a&&a.when,s={hash:{},inverse:M.noop,fn:M.program(29,w,n),data:n},l=r?r.call(a,"Type == 'SearchApplication' || Target == '_blank' ",s):O.call(a,"when","Type == 'SearchApplication' || Target == '_blank' ",s),(l||0===l)&&(o+=l),o+=' href="',(r=t.URL)?l=r.call(a,{hash:{},data:n}):(r=a&&a.URL,l=typeof r===R?r.call(a,{hash:{},data:n}):r),o+=B(l)+'" ',l=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:M.noop,fn:M.program(31,A,n),data:n}),(l||0===l)&&(o+=l),o+='>\n											<h1 class="truncate">',(r=t.Title)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Title,l=typeof r===R?r.call(a,{hash:{},data:n}):r),(l||0===l)&&(o+=l),o+='</h1>\n										</a>\n									</header>\n									<div class="actions">\n										<a aria-label="Read More - ',(r=t.Title)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Title,l=typeof r===R?r.call(a,{hash:{},data:n}):r),(l||0===l)&&(o+=l),o+='" class="button"\n										   ',r=t.when||a&&a.when,s={hash:{},inverse:M.noop,fn:M.program(29,w,n),data:n},l=r?r.call(a,"Type == 'SearchApplication' || Target == '_blank' ",s):O.call(a,"when","Type == 'SearchApplication' || Target == '_blank' ",s),(l||0===l)&&(o+=l),o+='\n										   href="',(r=t.URL)?l=r.call(a,{hash:{},data:n}):(r=a&&a.URL,l=typeof r===R?r.call(a,{hash:{},data:n}):r),o+=B(l)+'">\n											'+B((l=e&&e.SystemText,l=null==l||l===!1?l:l.ReadMore,typeof l===R?l.apply(a):l))+'\n											<span class="icon is-normal is-right"><i class="ii ii-arrow-right"></i></span>\n										</a>\n										',l=t["if"].call(a,a&&a.SocialAdvocacyItem,{hash:{},inverse:M.noop,fn:M.programWithDepth(34,C,n,e),data:n}),(l||0===l)&&(o+=l),o+='\n									</div>\n								</div>\n								<div class="span6">\n									',r=t.equals||a&&a.equals,s={hash:{},inverse:M.programWithDepth(39,E,n,e),fn:M.programWithDepth(36,q,n,e),data:n},l=r?r.call(a,a&&a.Type,"Event",s):O.call(a,"equals",a&&a.Type,"Event",s),(l||0===l)&&(o+=l),o+="\n									",l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:M.noop,fn:M.program(43,W,n),data:n}),(l||0===l)&&(o+=l),o+='\n								</div>\n							</div>\n						</div>\n					</div>\n					<div class="thumbnail-container">\n						<img src="',l=t["if"].call(a,a&&a.AssetID,{hash:{},inverse:M.program(47,_,n),fn:M.program(45,H,n),data:n}),(l||0===l)&&(o+=l),o+='" alt="" role="presentation" class="thumbnail" data-object-fit="cover" loading="lazy" style="object-position: 50% ',(r=t.BackgroundYpos)?l=r.call(a,{hash:{},data:n}):(r=a&&a.BackgroundYpos,l=typeof r===R?r.call(a,{hash:{},data:n}):r),o+=B(l)+'%" />\n					</div>\n				</article>\n			</li>\n			'
}function i(a,n){var e,l="";return l+="\n											",e=t["if"].call(a,a&&a.Author,{hash:{},inverse:M.noop,fn:M.program(5,o,n),data:n}),(e||0===e)&&(l+=e),l+="\n											"}function o(a,n){var e,l,r="";return r+="\n											<!-- Display a span instead of a link -->\n											<li>\n												<span><strong>",(l=t.Author)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Author,e=typeof l===R?l.call(a,{hash:{},data:n}):l),r+=B(e)+"</strong></span>\n											</li>\n											"}function c(a,n){var e,l="";return l+="\n											",e=t["if"].call(a,a&&a.Author,{hash:{},inverse:M.noop,fn:M.program(8,h,n),data:n}),(e||0===e)&&(l+=e),l+="\n											"}function h(a,n){var e,l,r,s="";return s+='\n											<li>\n												<a href="'+B((l=t.link||a&&a.link,r={hash:{},data:n},l?l.call(a,"Person",a&&a.AuthorID,r):O.call(a,"link","Person",a&&a.AuthorID,r)))+'" class="author" ',e=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:M.noop,fn:M.program(9,p,n),data:n}),(e||0===e)&&(s+=e),s+=">",(l=t.Author)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Author,e=typeof l===R?l.call(a,{hash:{},data:n}):l),s+=B(e)+"</a>\n											</li>\n											"}function p(a,n){var e,l,r="";return r+=' data-personid="',(l=t.AuthorID)?e=l.call(a,{hash:{},data:n}):(l=a&&a.AuthorID,e=typeof l===R?l.call(a,{hash:{},data:n}):l),r+=B(e)+'" '}function u(a,n){var e,l="";return l+='\n												<time class="timeago" datetime="',e=t["if"].call(a,a&&a.ShowUpdateDate,{hash:{},inverse:M.program(14,f,n),fn:M.program(12,d,n),data:n}),(e||0===e)&&(l+=e),l+='"></time>\n												'}function d(a,n){var e,l,r="";return r+=" ",(l=t.UpdateDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.UpdateDate,e=typeof l===R?l.call(a,{hash:{},data:n}):l),r+=B(e)+" "}function f(a,n){var e,l,r="";return r+=" ",(l=t.StartDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.StartDate,e=typeof l===R?l.call(a,{hash:{},data:n}):l),r+=B(e)+" "}function m(a,n){var e,l,r,s="";return s+="\n												",l=t.equals||a&&a.equals,r={hash:{},inverse:M.program(20,g,n),fn:M.program(17,v,n),data:n},e=l?l.call(a,(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r):O.call(a,"equals",(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r),(e||0===e)&&(s+=e),s+="\n												"}function v(a,n){var e,l,r,s="";return s+='\n												<span class="timeago">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:M.noop,fn:M.program(18,y,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.EndDate,r):O.call(a,"eventTimeString",a&&a.StartDate,a&&a.EndDate,r),(e||0===e)&&(s+=e),s+="</span>\n												"}function y(){var a="";return a}function g(a,n){var e,l,r,s="";return s+='\n												<span class="timeago">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:M.noop,fn:M.program(18,y,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.StartDate,r):O.call(a,"eventTimeString",a&&a.StartDate,a&&a.StartDate,r),(e||0===e)&&(s+=e),s+="</span>\n												"}function S(a,n,e){var l,r,s,i="";return i+='\n												<span class="dynamic-carousel-comments" title="',r=t.equals||a&&a.equals,s={hash:{},inverse:M.program(25,T,n),fn:M.program(23,D,n),data:n},l=r?r.call(a,a&&a.CommentCount,"-1",s):O.call(a,"equals",a&&a.CommentCount,"-1",s),(l||0===l)&&(i+=l),i+=" "+B((l=e&&e.SystemText,l=null==l||l===!1?l:l.Comments,typeof l===R?l.apply(a):l))+'">\n													<span class="icon"><i class="iconextra-comment ii-comments"></i></span>\n													',r=t.equals||a&&a.equals,s={hash:{},inverse:M.program(25,T,n),fn:M.program(23,D,n),data:n},l=r?r.call(a,(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s):O.call(a,"equals",(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s),(l||0===l)&&(i+=l),i+="\n												</span>\n												"}function D(){return"0"}function T(a,n){var e,l;return(l=t.CommentCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.CommentCount,e=typeof l===R?l.call(a,{hash:{},data:n}):l),B(e)}function I(a,n){var e,l;return(l=t.LikeCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.LikeCount,e=typeof l===R?l.call(a,{hash:{},data:n}):l),B(e)}function w(){return' target="_blank" '}function A(a,n){var e,l,r,s="";return s+=" ",l=t.hovercard||a&&a.hovercard,r={hash:{},inverse:M.noop,fn:M.program(32,b,n),data:n},e=l?l.call(a,a&&a.Type,a&&a.ID,r):O.call(a,"hovercard",a&&a.Type,a&&a.ID,r),(e||0===e)&&(s+=e),s+=" "}function b(){return" "}function C(a,n,e){var l,r,s="";return s+='\n										<button id="soc-adv-share-btn" \n												class="button" \n												onclick="Widgets.SocialAdvocacy_ShareClicked(',(r=t.ID)?l=r.call(a,{hash:{},data:n}):(r=a&&a.ID,l=typeof r===R?r.call(a,{hash:{},data:n}):r),s+=B(l)+')"\n												type="button"\n												aria-label="'+B((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShareAria,typeof l===R?l.apply(a):l))+'"\n										>\n											'+B((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShare,typeof l===R?l.apply(a):l))+'&nbsp;<i class="fa fa-share-alt ii ii-share"></i>\n										</button>\n										'}function q(a,n,e){var l,r="";return r+="\n									",l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:M.noop,fn:M.programWithDepth(37,k,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n									"}function k(a,n,t){var e,l="";return l+="\n									<p>"+B((e=t&&t.SystemText,e=null==e||e===!1?e:e.Location,typeof e===R?e.apply(a):e))+": ",e=a&&a.Entity,e=null==e||e===!1?e:e.Location,e=typeof e===R?e.apply(a):e,(e||0===e)&&(l+=e),l+="</p>\n									"}function E(a,n,e){var l,r="";return r+="\n									",l=t["if"].call(a,(l=e&&e.Options,null==l||l===!1?l:l.IncludeSummary),{hash:{},inverse:M.noop,fn:M.program(40,x,n),data:n}),(l||0===l)&&(r+=l),r+="\n									"}function x(a,n){var e,l="";return l+="\n									",e=t["if"].call(a,a&&a.Summary,{hash:{},inverse:M.noop,fn:M.program(41,L,n),data:n}),(e||0===e)&&(l+=e),l+="\n									"}function L(a,n){var e,l,r="";return r+='\n									<p class="truncate">',(l=t.Summary)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Summary,e=typeof l===R?l.call(a,{hash:{},data:n}):l),(e||0===e)&&(r+=e),r+="</p>\n									"}function W(){return"\n									"}function H(a,n){var e,l,r;return l=t.asset||a&&a.asset,r={hash:{},data:n},e=l?l.call(a,a&&a.AssetID,7,r):O.call(a,"asset",a&&a.AssetID,7,r),e||0===e?e:""}function _(a,n){var e,l;return B((e=t.avatar||a&&a.avatar,l={hash:{},data:n},e?e.call(a,a&&a.Type,l):O.call(a,"avatar",a&&a.Type,l)))}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var U,P="",R="function",B=this.escapeExpression,M=this,O=t.helperMissing;return P+='<div class="dynamic-carousel">\n	<div id="myDynamicCarousel" class="carousel slide">\n		<div class="container p-relative">\n			<a href="#myDynamicCarousel" data-slide="prev" class="carousel-chevron icon-container is-medium is-left" role="button" aria-label="Previous slide">\n				<span class="icon is-normal">\n					<i class="ii ii-chevron-left"></i>\n				</span>\n			</a>\n			<a href="#myDynamicCarousel" data-slide="next" class="carousel-chevron icon-container is-medium is-right" role="button" aria-label="Next slide">\n				<span class="icon is-normal">\n					<i class="ii ii-chevron-right"></i>\n				</span>\n			</a>\n			<ol class="carousel-indicators">\n				',U=t.each.call(n,n&&n.Items,{hash:{},inverse:M.noop,fn:M.program(1,r,l),data:l}),(U||0===U)&&(P+=U),P+='\n				<li class="myDynamic-control">\n					<button id="toggleAutoplay" class="button" aria-label="pause"><i class="fa fa-pause ii ii-pause"></i></button>\n				</li>\n			</ol>\n		</div>\n		<ul class="list-unstyled widget-list has-thumbnail-overlay carousel-inner">\n			',U=t.each.call(n,n&&n.Items,{hash:{},inverse:M.noop,fn:M.programWithDepth(3,s,l,n),data:l}),(U||0===U)&&(P+=U),P+="\n		</ul>\n	</div>\n</div>"}),n.widgets_content_empty=a(function(a,n,t,e,l){this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var r,s="",i="function",o=this.escapeExpression;return s+='<p class="no_content muted">\r\n  <strong>'+o((r=n&&n.SysText,r=null==r||r===!1?r:r.noContentAvailable1,typeof r===i?r.apply(n):r))+"</strong> "+o((r=n&&n.SysText,r=null==r||r===!1?r:r.noContentAvailable2,typeof r===i?r.apply(n):r))+"\r\n</p>"}),n.widgets_content_infooverlay=a(function(a,n,t,e,l){function r(a,n,e){var l,r,c,h="";return h+='\n		<li class="item">\n			<div style="background-image: url(\'',l=t["if"].call(a,a&&a.AssetID,{hash:{},inverse:b.program(4,i,n),fn:b.program(2,s,n),data:n}),(l||0===l)&&(h+=l),h+="');background-position:center ",(r=t.BackgroundYpos)?l=r.call(a,{hash:{},data:n}):(r=a&&a.BackgroundYpos,l=typeof r===A?r.call(a,{hash:{},data:n}):r),h+=w(l)+'%;"\n				 class="center-cropped img-bg">\n				<a class="is-w-a" href="',(r=t.URL)?l=r.call(a,{hash:{},data:n}):(r=a&&a.URL,l=typeof r===A?r.call(a,{hash:{},data:n}):r),h+=w(l)+'" target="',(r=t.Target)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Target,l=typeof r===A?r.call(a,{hash:{},data:n}):r),h+=w(l)+'">\n					<p class="lead">\n						',r=t.when||a&&a.when,c={hash:{},inverse:b.program(11,p,n),fn:b.program(6,o,n),data:n},l=r?r.call(a,"Type != 'Event'",c):I.call(a,"when","Type != 'Event'",c),(l||0===l)&&(h+=l),h+='\n					</p>\n					<div class="title-wrapper">\n						<h3 dir="auto">',(r=t.Title)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Title,l=typeof r===A?r.call(a,{hash:{},data:n}):r),(l||0===l)&&(h+=l),h+="</h3>\n						",r=t.equals||a&&a.equals,c={hash:{},inverse:b.programWithDepth(20,y,n,e),fn:b.programWithDepth(17,m,n,e),data:n},l=r?r.call(a,a&&a.Type,"Event",c):I.call(a,"equals",a&&a.Type,"Event",c),(l||0===l)&&(h+=l),h+='\n					</div>\n					<img src="',l=t["if"].call(a,a&&a.AssetID,{hash:{},inverse:b.program(4,i,n),fn:b.program(2,s,n),data:n}),(l||0===l)&&(h+=l),h+='" alt="" role="presentation" loading="lazy" />\n				</a>\n			</div>\n		</li>\n		'}function s(a,n){var e,l,r;return l=t.asset||a&&a.asset,r={hash:{},data:n},e=l?l.call(a,a&&a.AssetID,7,r):I.call(a,"asset",a&&a.AssetID,7,r),e||0===e?e:""}function i(a,n){var e,l;return w((e=t.avatar||a&&a.avatar,l={hash:{},data:n},e?e.call(a,a&&a.Type,l):I.call(a,"avatar",a&&a.Type,l)))}function o(a,n){var e,l="";return l+='\n						<time class="timeago timeago-date" datetime="',e=t["if"].call(a,a&&a.ShowUpdateDate,{hash:{},inverse:b.program(9,h,n),fn:b.program(7,c,n),data:n}),(e||0===e)&&(l+=e),l+='"></time>\n						'}function c(a,n){var e,l,r="";return r+=" ",(l=t.UpdateDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.UpdateDate,e=typeof l===A?l.call(a,{hash:{},data:n}):l),r+=w(e)+" "}function h(a,n){var e,l,r="";return r+=" ",(l=t.StartDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.StartDate,e=typeof l===A?l.call(a,{hash:{},data:n}):l),r+=w(e)+" "}function p(a,n){var e,l,r,s="";return s+="\n						",l=t.equals||a&&a.equals,r={hash:{},inverse:b.program(15,f,n),fn:b.program(12,u,n),data:n},e=l?l.call(a,(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r):I.call(a,"equals",(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r),(e||0===e)&&(s+=e),s+="\n						"}function u(a,n){var e,l,r,s="";return s+='\n						<span class="timeago timeago-doubledate">\n							',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:b.noop,fn:b.program(13,d,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.EndDate,r):I.call(a,"eventTimeString",a&&a.StartDate,a&&a.EndDate,r),(e||0===e)&&(s+=e),s+="\n						</span>\n						"}function d(){var a="";return a}function f(a,n){var e,l,r,s="";return s+='\n						<span class="timeago timeago-singledate">\n							',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:b.noop,fn:b.program(13,d,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.StartDate,r):I.call(a,"eventTimeString",a&&a.StartDate,a&&a.StartDate,r),(e||0===e)&&(s+=e),s+="\n						</span>\n						"}function m(a,n,e){var l,r="";return r+="\n						",l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:b.noop,fn:b.programWithDepth(18,v,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n						"}function v(a,n,t){var e,l="";return l+='\n						<p class="muted" style="margin:0;"><strong>'+w((e=t&&t.SystemText,e=null==e||e===!1?e:e.Location,typeof e===A?e.apply(a):e))+":</strong> ",e=a&&a.Entity,e=null==e||e===!1?e:e.Location,e=typeof e===A?e.apply(a):e,(e||0===e)&&(l+=e),l+="</p>\n						"}function y(a,n,e){var l,r="";return r+="\n						",l=t["if"].call(a,(l=e&&e.Options,null==l||l===!1?l:l.IncludeSummary),{hash:{},inverse:b.noop,fn:b.program(21,g,n),data:n}),(l||0===l)&&(r+=l),r+="\n						"}function g(a,n){var e,l="";return l+="\n						",e=t["if"].call(a,a&&a.Summary,{hash:{},inverse:b.noop,fn:b.program(22,S,n),data:n}),(e||0===e)&&(l+=e),l+="\n						"}function S(a,n){var e,l,r,s="";return s+='\n						<p class="muted" dir="auto">',l=t.truncate||a&&a.truncate,r={hash:{},data:n},e=l?l.call(a,a&&a.Summary,60,r):I.call(a,"truncate",a&&a.Summary,60,r),(e||0===e)&&(s+=e),s+="</p>\n						"}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var D,T="",I=t.helperMissing,w=this.escapeExpression,A="function",b=this;return T+='<div id="myOverlay" class="carousel slide">\n	<ul class="unstyled info-overlay">\n		',D=t.each.call(n,n&&n.Items,{hash:{},inverse:b.noop,fn:b.programWithDepth(1,r,l,n),data:l}),(D||0===D)&&(T+=D),T+='\n	</ul>\n	<a class="carousel-control left" href="#myOverlay" data-slide="prev">&lsaquo;</a>\n	<a class="carousel-control right" href="#myOverlay" data-slide="next">&rsaquo;</a>\n</div>'}),n.widgets_content_layout1=a(function(a,n,t,e,l,r){function s(a,n,e,l){var r,s,h,u="";return u+='\n		<li class="gridster-wac">\n			<article class="card-inline">\n				<div class="thumbnail-container">\n					<img src="',r=t["if"].call(a,a&&a.AssetID,{hash:{},inverse:B.program(4,o,n),fn:B.program(2,i,n),data:n}),(r||0===r)&&(u+=r),u+='" style="object-position: 50% ',(s=t.BackgroundYpos)?r=s.call(a,{hash:{},data:n}):(s=a&&a.BackgroundYpos,r=typeof s===R?s.call(a,{hash:{},data:n}):s),u+=P(r)+'%;" alt="" role="presentation" class="thumbnail" data-object-fit="cover" loading="lazy" />\n				</div>\n				<div class="card-content">\n					<aside>\n						<ul class="list-unstyled list-inline inner-disc muted is-small">\n							 <!-- This will return true if AuthorType is greater than 0, i.e. not a person -->\n							',r=t["if"].call(a,a&&a.AuthorType,{hash:{},inverse:B.program(9,p,n),fn:B.program(6,c,n),data:n}),(r||0===r)&&(u+=r),u+="\n							\n							<li>\n								",s=t.when||a&&a.when,h={hash:{},inverse:B.program(18,y,n),fn:B.program(13,f,n),data:n},r=s?s.call(a,"Type != 'Event'",h):U.call(a,"when","Type != 'Event'",h),(r||0===r)&&(u+=r),u+='\n							</li>\n						</ul>\n					</aside>\n					<header>\n						<a class="is-w-a" target="',(s=t.Target)?r=s.call(a,{hash:{},data:n}):(s=a&&a.Target,r=typeof s===R?s.call(a,{hash:{},data:n}):s),u+=P(r)+'" href="',(s=t.URL)?r=s.call(a,{hash:{},data:n}):(s=a&&a.URL,r=typeof s===R?s.call(a,{hash:{},data:n}):s),u+=P(r)+'" dir="auto" ',r=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:B.noop,fn:B.program(24,T,n),data:n}),(r||0===r)&&(u+=r),u+='>\n							<h5 class="is-ellipsis">',(s=t.Title)?r=s.call(a,{hash:{},data:n}):(s=a&&a.Title,r=typeof s===R?s.call(a,{hash:{},data:n}):s),(r||0===r)&&(u+=r),u+="</h5>\n						</a>\n\n						",s=t.equals||a&&a.equals,h={hash:{},inverse:B.programWithDepth(29,A,n,e),fn:B.programWithDepth(26,I,n,e),data:n},r=s?s.call(a,a&&a.Type,"Event",h):U.call(a,"equals",a&&a.Type,"Event",h),(r||0===r)&&(u+=r),u+="\n\n						",r=t["if"].call(a,a&&a.SocialAdvocacyItem,{hash:{},inverse:B.noop,fn:B.programWithDepth(33,q,n,e),data:n}),(r||0===r)&&(u+=r),u+="\n					</header>\n					",r=t["if"].call(a,a&&a.Entity,{hash:{},inverse:B.noop,fn:B.programWithDepth(35,k,n,e,l),data:n}),(r||0===r)&&(u+=r),u+="\n				</div>\n			</article>\n		</li>\n	"}function i(a,n){var e,l,r;return l=t.asset||a&&a.asset,r={hash:{},data:n},e=l?l.call(a,a&&a.AssetID,5,r):U.call(a,"asset",a&&a.AssetID,5,r),e||0===e?e:""}function o(a,n){var e,l;return P((e=t.avatar||a&&a.avatar,l={hash:{},data:n},e?e.call(a,a&&a.Type,l):U.call(a,"avatar",a&&a.Type,l)))}function c(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,a&&a.Author,{hash:{},inverse:B.noop,fn:B.program(7,h,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function h(a,n){var e,l,r="";return r+='\n									 <!-- Display a span instead of a link -->\n									<li class="is-author">\n										<span><strong>',(l=t.Author)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Author,e=typeof l===R?l.call(a,{hash:{},data:n}):l),r+=P(e)+"</strong></span>\n									</li>  \n								"}function p(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,a&&a.Author,{hash:{},inverse:B.noop,fn:B.program(10,u,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function u(a,n){var e,l,r,s="";return s+='\n									<li class="is-author">\n										<a href="'+P((l=t.link||a&&a.link,r={hash:{},data:n},l?l.call(a,"Person",a&&a.AuthorID,r):U.call(a,"link","Person",a&&a.AuthorID,r)))+'" class="author" ',e=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:B.noop,fn:B.program(11,d,n),data:n}),(e||0===e)&&(s+=e),s+=">",(l=t.Author)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Author,e=typeof l===R?l.call(a,{hash:{},data:n}):l),s+=P(e)+"</a>\n									</li>\n								"}function d(a,n){var e,l,r="";return r+=' data-personid="',(l=t.AuthorID)?e=l.call(a,{hash:{},data:n}):(l=a&&a.AuthorID,e=typeof l===R?l.call(a,{hash:{},data:n}):l),r+=P(e)+'" '}function f(a,n){var e,l="";return l+='\n									<time class="timeago" datetime="',e=t["if"].call(a,a&&a.ShowUpdateDate,{hash:{},inverse:B.program(16,v,n),fn:B.program(14,m,n),data:n}),(e||0===e)&&(l+=e),l+='"></time>\n								'}function m(a,n){var e,l,r="";return r+=" ",(l=t.UpdateDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.UpdateDate,e=typeof l===R?l.call(a,{hash:{},data:n}):l),r+=P(e)+" "}function v(a,n){var e,l,r="";return r+=" ",(l=t.StartDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.StartDate,e=typeof l===R?l.call(a,{hash:{},data:n}):l),r+=P(e)+" "}function y(a,n){var e,l,r,s="";return s+="\n									",l=t.equals||a&&a.equals,r={hash:{},inverse:B.program(22,D,n),fn:B.program(19,g,n),data:n},e=l?l.call(a,(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r):U.call(a,"equals",(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r),(e||0===e)&&(s+=e),s+="\n								"}function g(a,n){var e,l,r,s="";return s+='\n										<span class="timeago">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:B.noop,fn:B.program(20,S,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.EndDate,r):U.call(a,"eventTimeString",a&&a.StartDate,a&&a.EndDate,r),(e||0===e)&&(s+=e),s+="</span>\n									"}function S(){var a="";return a}function D(a,n){var e,l,r,s="";return s+='\n										<span class="timeago">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:B.noop,fn:B.program(20,S,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.StartDate,r):U.call(a,"eventTimeString",a&&a.StartDate,a&&a.StartDate,r),(e||0===e)&&(s+=e),s+="</span>\n									"}function T(a,n){var e,l,r,s="";return s+=" ",l=t.hovercard||a&&a.hovercard,r={hash:{},inverse:B.noop,fn:B.program(20,S,n),data:n},e=l?l.call(a,a&&a.Type,a&&a.ID,r):U.call(a,"hovercard",a&&a.Type,a&&a.ID,r),(e||0===e)&&(s+=e),s+=" "}function I(a,n,e){var l,r="";return r+="\n							",l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:B.noop,fn:B.programWithDepth(27,w,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n							"}function w(a,n,t){var e,l="";return l+="\n								<p>"+P((e=t&&t.SystemText,e=null==e||e===!1?e:e.Location,typeof e===R?e.apply(a):e))+": ",e=a&&a.Entity,e=null==e||e===!1?e:e.Location,e=typeof e===R?e.apply(a):e,(e||0===e)&&(l+=e),l+="</p>\n							"}function A(a,n,e){var l,r="";return r+="\n							",l=t["if"].call(a,(l=e&&e.Options,null==l||l===!1?l:l.IncludeSummary),{hash:{},inverse:B.noop,fn:B.program(30,b,n),data:n}),(l||0===l)&&(r+=l),r+="\n						"}function b(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,a&&a.Summary,{hash:{},inverse:B.noop,fn:B.program(31,C,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function C(a,n){var e,l,r,s="";return s+='\n									<p dir="auto">',l=t.truncate||a&&a.truncate,r={hash:{},data:n},e=l?l.call(a,a&&a.Summary,(e=a&&a.Summary,null==e||e===!1?e:e.length),r):U.call(a,"truncate",a&&a.Summary,(e=a&&a.Summary,null==e||e===!1?e:e.length),r),(e||0===e)&&(s+=e),s+="</p>\n								"}function q(a,n,e){var l,r,s="";return s+='\n						<button id="soc-adv-share-btn" \n								class="btn btn-primary btn-small" \n								onclick="Widgets.SocialAdvocacy_ShareClicked(',(r=t.ID)?l=r.call(a,{hash:{},data:n}):(r=a&&a.ID,l=typeof r===R?r.call(a,{hash:{},data:n}):r),s+=P(l)+')"\n								type="button"\n								aria-label="'+P((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShareAria,typeof l===R?l.apply(a):l))+'"\n						>\n							'+P((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShare,typeof l===R?l.apply(a):l))+'&nbsp;<i class="fa fa-share-alt ii ii-share"></i>\n						</button>\n						'}function k(a,n,e,l){var r,s,i,o="";return o+='\n					<footer>\n						<ul class="actions is-inline is-muted is-small list-unstyled">\n							<li>\n								<span class="icon is-normal">\n									<i class="ii ii-like" aria-hidden="true"></i>\n								</span>\n								<span aria-label="'+P((r=l&&l.SystemText,r=null==r||r===!1?r:r.haveliked,typeof r===R?r.apply(a):r))+'">',s=t.equals||a&&a.equals,i={hash:{},inverse:B.program(38,x,n),fn:B.program(36,E,n),data:n},r=s?s.call(a,a&&a.LikeCount,"-1",i):U.call(a,"equals",a&&a.LikeCount,"-1",i),(r||0===r)&&(o+=r),o+="</span>\n							</li>\n							",s=t.equals||a&&a.equals,i={hash:{},inverse:B.noop,fn:B.programWithDepth(40,L,n,e),data:n},r=s?s.call(a,(r=a&&a.Entity,null==r||r===!1?r:r.IsCommentsAllowed),"true",i):U.call(a,"equals",(r=a&&a.Entity,null==r||r===!1?r:r.IsCommentsAllowed),"true",i),(r||0===r)&&(o+=r),o+="\n						</ul>\n					</footer>\n					"}function E(){return"0"}function x(a,n){var e,l;return(l=t.LikeCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.LikeCount,e=typeof l===R?l.call(a,{hash:{},data:n}):l),P(e)}function L(a,n,e){var l,r,s,i="";return i+='\n							<li>\n								<span class="icon is-normal">\n									<i class="ii ii-comments" aria-hidden="true"></i>\n								</span>\n								<span aria-label="'+P((l=e&&e.SystemText,l=null==l||l===!1?l:l.havecommented,typeof l===R?l.apply(a):l))+'">',r=t.equals||a&&a.equals,s={hash:{},inverse:B.program(41,W,n),fn:B.program(36,E,n),data:n},l=r?r.call(a,(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s):U.call(a,"equals",(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s),(l||0===l)&&(i+=l),i+="</span>\n							</li>\n							"}function W(a,n){var e,l;return(l=t.CommentCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.CommentCount,e=typeof l===R?l.call(a,{hash:{},data:n}):l),P(e)}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var H,_="",U=t.helperMissing,P=this.escapeExpression,R="function",B=this;return _+='<ul class="list-unstyled widget-list has-thumbnail-overlay">\n	',H=t.each.call(n,n&&n.Items,{hash:{},inverse:B.noop,fn:B.programWithDepth(1,s,l,n,r),data:l}),(H||0===H)&&(_+=H),_+="\n</ul>\n"}),n.widgets_content_layout10=a(function(a,n,t,e,l,r){function s(a,n,e,l){var r,s,h,u="";return u+='\n		<li class="gridster-wac">\n			<article class="card-inline">\n					<div class="thumbnail-container">\n						<img src="',r=t["if"].call(a,a&&a.AssetID,{hash:{},inverse:B.program(4,o,n),fn:B.program(2,i,n),data:n}),(r||0===r)&&(u+=r),u+='" style="object-position: 50% ',(s=t.BackgroundYpos)?r=s.call(a,{hash:{},data:n}):(s=a&&a.BackgroundYpos,r=typeof s===R?s.call(a,{hash:{},data:n}):s),u+=P(r)+'%;" alt="" role="presentation" class="thumbnail" data-object-fit="cover" loading="lazy"/>\n					</div>\n				<div class="card-content">\n					<aside>\n						<ul class="list-unstyled list-inline inner-disc muted is-small">\n							<!-- This will return true if AuthorType is greater than 0, i.e. not a person -->\n							',r=t["if"].call(a,a&&a.AuthorType,{hash:{},inverse:B.program(9,p,n),fn:B.program(6,c,n),data:n}),(r||0===r)&&(u+=r),u+="\n\n							<li>\n								",s=t.when||a&&a.when,h={hash:{},inverse:B.program(18,y,n),fn:B.program(13,f,n),data:n},r=s?s.call(a,"Type != 'Event'",h):U.call(a,"when","Type != 'Event'",h),(r||0===r)&&(u+=r),u+='\n							</li>\n						</ul>\n					</aside>\n					<header>\n						<a class="is-w-a" target="',(s=t.Target)?r=s.call(a,{hash:{},data:n}):(s=a&&a.Target,r=typeof s===R?s.call(a,{hash:{},data:n}):s),u+=P(r)+'" href="',(s=t.URL)?r=s.call(a,{hash:{},data:n}):(s=a&&a.URL,r=typeof s===R?s.call(a,{hash:{},data:n}):s),u+=P(r)+'" dir="auto" ',r=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:B.noop,fn:B.program(24,T,n),data:n}),(r||0===r)&&(u+=r),u+='>\n							<h5 class="is-ellipsis">',(s=t.Title)?r=s.call(a,{hash:{},data:n}):(s=a&&a.Title,r=typeof s===R?s.call(a,{hash:{},data:n}):s),(r||0===r)&&(u+=r),u+="</h5>\n						</a>\n\n						",s=t.equals||a&&a.equals,h={hash:{},inverse:B.programWithDepth(29,A,n,e),fn:B.programWithDepth(26,I,n,e),data:n},r=s?s.call(a,a&&a.Type,"Event",h):U.call(a,"equals",a&&a.Type,"Event",h),(r||0===r)&&(u+=r),u+="\n					</header>\n					",r=t["if"].call(a,a&&a.Entity,{hash:{},inverse:B.noop,fn:B.programWithDepth(33,q,n,e,l),data:n}),(r||0===r)&&(u+=r),u+="\n				</div>\n			</article>\n		</li>\n	"}function i(a,n){var e,l,r;return l=t.asset||a&&a.asset,r={hash:{},data:n},e=l?l.call(a,a&&a.AssetID,7,r):U.call(a,"asset",a&&a.AssetID,7,r),e||0===e?e:""}function o(a,n){var e,l;return P((e=t.avatar||a&&a.avatar,l={hash:{},data:n},e?e.call(a,a&&a.Type,l):U.call(a,"avatar",a&&a.Type,l)))}function c(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,a&&a.Author,{hash:{},inverse:B.noop,fn:B.program(7,h,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function h(a,n){var e,l,r="";return r+='\n									 <!-- Display a span instead of a link -->\n									<li class="is-author">\n										<span><strong>',(l=t.Author)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Author,e=typeof l===R?l.call(a,{hash:{},data:n}):l),r+=P(e)+"</strong></span>\n									</li>  \n								"}function p(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,a&&a.Author,{hash:{},inverse:B.noop,fn:B.program(10,u,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function u(a,n){var e,l,r,s="";return s+='\n									<li class="is-author">\n										<a href="'+P((l=t.link||a&&a.link,r={hash:{},data:n},l?l.call(a,"Person",a&&a.AuthorID,r):U.call(a,"link","Person",a&&a.AuthorID,r)))+'" class="author" ',e=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:B.noop,fn:B.program(11,d,n),data:n}),(e||0===e)&&(s+=e),s+=">",(l=t.Author)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Author,e=typeof l===R?l.call(a,{hash:{},data:n}):l),s+=P(e)+"</a>\n									</li>\n								"}function d(a,n){var e,l,r="";return r+=' data-personid="',(l=t.AuthorID)?e=l.call(a,{hash:{},data:n}):(l=a&&a.AuthorID,e=typeof l===R?l.call(a,{hash:{},data:n}):l),r+=P(e)+'" '}function f(a,n){var e,l="";return l+='\n									<time class="timeago" datetime="',e=t["if"].call(a,a&&a.ShowUpdateDate,{hash:{},inverse:B.program(16,v,n),fn:B.program(14,m,n),data:n}),(e||0===e)&&(l+=e),l+='"></time>\n								'}function m(a,n){var e,l,r="";return r+=" ",(l=t.UpdateDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.UpdateDate,e=typeof l===R?l.call(a,{hash:{},data:n}):l),r+=P(e)+" "}function v(a,n){var e,l,r="";return r+=" ",(l=t.StartDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.StartDate,e=typeof l===R?l.call(a,{hash:{},data:n}):l),r+=P(e)+" "}function y(a,n){var e,l,r,s="";return s+="\n									",l=t.equals||a&&a.equals,r={hash:{},inverse:B.program(22,D,n),fn:B.program(19,g,n),data:n},e=l?l.call(a,(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r):U.call(a,"equals",(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r),(e||0===e)&&(s+=e),s+="\n								"}function g(a,n){var e,l,r,s="";return s+='\n										<span class="timeago">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:B.noop,fn:B.program(20,S,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.EndDate,r):U.call(a,"eventTimeString",a&&a.StartDate,a&&a.EndDate,r),(e||0===e)&&(s+=e),s+="</span>\n									"}function S(){var a="";return a}function D(a,n){var e,l,r,s="";return s+='\n										<span class="timeago">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:B.noop,fn:B.program(20,S,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.StartDate,r):U.call(a,"eventTimeString",a&&a.StartDate,a&&a.StartDate,r),(e||0===e)&&(s+=e),s+="</span>\n									"}function T(a,n){var e,l,r,s="";return s+=" ",l=t.hovercard||a&&a.hovercard,r={hash:{},inverse:B.noop,fn:B.program(20,S,n),data:n},e=l?l.call(a,a&&a.Type,a&&a.ID,r):U.call(a,"hovercard",a&&a.Type,a&&a.ID,r),(e||0===e)&&(s+=e),s+=" "}function I(a,n,e){var l,r="";return r+="\n							",l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:B.noop,fn:B.programWithDepth(27,w,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n							"}function w(a,n,t){var e,l="";return l+="\n								<p>"+P((e=t&&t.SystemText,e=null==e||e===!1?e:e.Location,typeof e===R?e.apply(a):e))+": ",e=a&&a.Entity,e=null==e||e===!1?e:e.Location,e=typeof e===R?e.apply(a):e,(e||0===e)&&(l+=e),l+="</p>\n							"}function A(a,n,e){var l,r="";return r+="\n							",l=t["if"].call(a,(l=e&&e.Options,null==l||l===!1?l:l.IncludeSummary),{hash:{},inverse:B.noop,fn:B.program(30,b,n),data:n}),(l||0===l)&&(r+=l),r+="\n						"}function b(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,a&&a.Summary,{hash:{},inverse:B.noop,fn:B.program(31,C,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function C(a,n){var e,l,r,s="";return s+='\n									<p dir="auto">',l=t.truncate||a&&a.truncate,r={hash:{},data:n},e=l?l.call(a,a&&a.Summary,(e=a&&a.Summary,null==e||e===!1?e:e.length),r):U.call(a,"truncate",a&&a.Summary,(e=a&&a.Summary,null==e||e===!1?e:e.length),r),(e||0===e)&&(s+=e),s+="</p>\n								"}function q(a,n,e,l){var r,s,i,o="";return o+='\n						<footer>\n							<ul class="actions is-inline is-muted is-small list-unstyled">\n								<li>\n									<span class="icon is-normal">\n										<i class="ii ii-like" aria-hidden="true"></i>\n									</span>\n									<span aria-label="'+P((r=l&&l.SystemText,r=null==r||r===!1?r:r.haveliked,typeof r===R?r.apply(a):r))+'">',s=t.equals||a&&a.equals,i={hash:{},inverse:B.program(36,E,n),fn:B.program(34,k,n),data:n},r=s?s.call(a,a&&a.LikeCount,"-1",i):U.call(a,"equals",a&&a.LikeCount,"-1",i),(r||0===r)&&(o+=r),o+="</span>\n								</li>\n								",s=t.equals||a&&a.equals,i={hash:{},inverse:B.noop,fn:B.programWithDepth(38,x,n,e),data:n},r=s?s.call(a,(r=a&&a.Entity,null==r||r===!1?r:r.IsCommentsAllowed),"true",i):U.call(a,"equals",(r=a&&a.Entity,null==r||r===!1?r:r.IsCommentsAllowed),"true",i),(r||0===r)&&(o+=r),o+="\n							</ul>\n							",r=t["if"].call(a,a&&a.SocialAdvocacyItem,{hash:{},inverse:B.noop,fn:B.programWithDepth(41,W,n,e),data:n}),(r||0===r)&&(o+=r),o+="\n						</footer>\n					"}function k(){return"0"}function E(a,n){var e,l;return(l=t.LikeCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.LikeCount,e=typeof l===R?l.call(a,{hash:{},data:n}):l),P(e)}function x(a,n,e){var l,r,s,i="";return i+='\n								<li>\n									<span class="icon is-normal">\n										<i class="ii ii-comments" aria-hidden="true"></i>\n									</span>\n									<span aria-label="'+P((l=e&&e.SystemText,l=null==l||l===!1?l:l.havecommented,typeof l===R?l.apply(a):l))+'">',r=t.equals||a&&a.equals,s={hash:{},inverse:B.program(39,L,n),fn:B.program(34,k,n),data:n},l=r?r.call(a,(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s):U.call(a,"equals",(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s),(l||0===l)&&(i+=l),i+="</span>\n								</li>\n								"}function L(a,n){var e,l;return(l=t.CommentCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.CommentCount,e=typeof l===R?l.call(a,{hash:{},data:n}):l),P(e)}function W(a,n,e){var l,r,s="";return s+='\n							<button id="soc-adv-share-btn" \n									class="btn btn-primary btn-small" \n									onclick="Widgets.SocialAdvocacy_ShareClicked(',(r=t.ID)?l=r.call(a,{hash:{},data:n}):(r=a&&a.ID,l=typeof r===R?r.call(a,{hash:{},data:n}):r),s+=P(l)+')"\n									type="button"\n									aria-label="'+P((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShareAria,typeof l===R?l.apply(a):l))+'"\n							>\n								'+P((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShare,typeof l===R?l.apply(a):l))+'&nbsp;<i class="fa fa-share-alt ii ii-share"></i>\n							</button>\n							'}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};
var H,_="",U=t.helperMissing,P=this.escapeExpression,R="function",B=this;return _+='<ul class="list-unstyled widget-list has-thumbnail-overlay">\n	',H=t.each.call(n,n&&n.Items,{hash:{},inverse:B.noop,fn:B.programWithDepth(1,s,l,n,r),data:l}),(H||0===H)&&(_+=H),_+="\n</ul>\n"}),n.widgets_content_layout11=a(function(a,n,t,e,l,r){function s(a,n){var e,l,r="";return r+='\n			<li data-target="#myLayout11Carousel',(l=t.Id)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Id,e=typeof l===B?l.call(a,{hash:{},data:n}):l),r+=M(e)+'" class="myCarousel-target" data-slide-to="'+M((e=null==n||n===!1?n:n.index,typeof e===B?e.apply(a):e))+'" aria-label="Slide to slide '+M((e=null==n||n===!1?n:n.index,typeof e===B?e.apply(a):e))+'"></li>\n		'}function i(a,n,e,l){var r,s,i,p="";return p+='\n			<li class="is-headline is-inverted item" data-slide-no="'+M((r=null==n||n===!1?n:n.index,typeof r===B?r.apply(a):r))+'">\n				<article class="card-inline">\n					<div class="thumbnail-container">\n						<img src="',r=t["if"].call(a,a&&a.AssetID,{hash:{},inverse:N.program(6,c,n),fn:N.program(4,o,n),data:n}),(r||0===r)&&(p+=r),p+='" style="object-position: 50% ',(s=t.BackgroundYpos)?r=s.call(a,{hash:{},data:n}):(s=a&&a.BackgroundYpos,r=typeof s===B?s.call(a,{hash:{},data:n}):s),p+=M(r)+'%;" alt="" role="presentation" class="thumbnail" data-object-fit="cover" loading="lazy" />\n					</div>\n					<div class="card-content">\n						<aside>\n							<ul class="list-unstyled list-inline inner-disc muted is-small">\n								<!-- This will return true if AuthorType is greater than 0, i.e. not a person -->\n								',r=t["if"].call(a,a&&a.AuthorType,{hash:{},inverse:N.program(11,u,n),fn:N.program(8,h,n),data:n}),(r||0===r)&&(p+=r),p+="\n\n								<li>\n									",s=t.when||a&&a.when,i={hash:{},inverse:N.program(20,g,n),fn:N.program(15,m,n),data:n},r=s?s.call(a,"Type != 'Event'",i):O.call(a,"when","Type != 'Event'",i),(r||0===r)&&(p+=r),p+='\n								</li>\n							</ul>\n						</aside>\n						<header>\n							<a target="',(s=t.Target)?r=s.call(a,{hash:{},data:n}):(s=a&&a.Target,r=typeof s===B?s.call(a,{hash:{},data:n}):s),p+=M(r)+'" href="',(s=t.URL)?r=s.call(a,{hash:{},data:n}):(s=a&&a.URL,r=typeof s===B?s.call(a,{hash:{},data:n}):s),p+=M(r)+'" dir="auto" ',r=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:N.noop,fn:N.program(26,I,n),data:n}),(r||0===r)&&(p+=r),p+='>\n								<h5 class="is-ellipsis">',(s=t.Title)?r=s.call(a,{hash:{},data:n}):(s=a&&a.Title,r=typeof s===B?s.call(a,{hash:{},data:n}):s),(r||0===r)&&(p+=r),p+="</h5>\n							</a>\n							",s=t.equals||a&&a.equals,i={hash:{},inverse:N.programWithDepth(32,C,n,e),fn:N.programWithDepth(29,A,n,e),data:n},r=s?s.call(a,a&&a.Type,"Event",i):O.call(a,"equals",a&&a.Type,"Event",i),(r||0===r)&&(p+=r),p+="\n						</header>\n						",r=t["if"].call(a,a&&a.Entity,{hash:{},inverse:N.noop,fn:N.programWithDepth(36,E,n,e,l),data:n}),(r||0===r)&&(p+=r),p+="\n					</div>\n				</article>\n			</li>\n		"}function o(a,n){var e,l,r;return l=t.asset||a&&a.asset,r={hash:{},data:n},e=l?l.call(a,a&&a.AssetID,7,r):O.call(a,"asset",a&&a.AssetID,7,r),e||0===e?e:""}function c(a,n){var e,l;return M((e=t.avatar||a&&a.avatar,l={hash:{},data:n},e?e.call(a,a&&a.Type,l):O.call(a,"avatar",a&&a.Type,l)))}function h(a,n){var e,l="";return l+="\n									",e=t["if"].call(a,a&&a.Author,{hash:{},inverse:N.noop,fn:N.program(9,p,n),data:n}),(e||0===e)&&(l+=e),l+="\n								"}function p(a,n){var e,l,r="";return r+='\n										 <!-- Display a span instead of a link -->\n										<li class="is-author">\n											<span><strong>',(l=t.Author)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Author,e=typeof l===B?l.call(a,{hash:{},data:n}):l),r+=M(e)+"</strong></span>\n										</li>  \n									"}function u(a,n){var e,l="";return l+="\n									",e=t["if"].call(a,a&&a.Author,{hash:{},inverse:N.noop,fn:N.program(12,d,n),data:n}),(e||0===e)&&(l+=e),l+="\n								"}function d(a,n){var e,l,r,s="";return s+='\n										<li class="is-author">\n											<a href="'+M((l=t.link||a&&a.link,r={hash:{},data:n},l?l.call(a,"Person",a&&a.AuthorID,r):O.call(a,"link","Person",a&&a.AuthorID,r)))+'" class="author" ',e=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:N.noop,fn:N.program(13,f,n),data:n}),(e||0===e)&&(s+=e),s+=">",(l=t.Author)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Author,e=typeof l===B?l.call(a,{hash:{},data:n}):l),s+=M(e)+"</a>\n										</li>\n									"}function f(a,n){var e,l,r="";return r+=' data-personid="',(l=t.AuthorID)?e=l.call(a,{hash:{},data:n}):(l=a&&a.AuthorID,e=typeof l===B?l.call(a,{hash:{},data:n}):l),r+=M(e)+'" '}function m(a,n){var e,l="";return l+='\n									<time class="timeago" datetime="',e=t["if"].call(a,a&&a.ShowUpdateDate,{hash:{},inverse:N.program(18,y,n),fn:N.program(16,v,n),data:n}),(e||0===e)&&(l+=e),l+='"></time>\n									'}function v(a,n){var e,l,r="";return r+=" ",(l=t.UpdateDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.UpdateDate,e=typeof l===B?l.call(a,{hash:{},data:n}):l),r+=M(e)+" "}function y(a,n){var e,l,r="";return r+=" ",(l=t.StartDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.StartDate,e=typeof l===B?l.call(a,{hash:{},data:n}):l),r+=M(e)+" "}function g(a,n){var e,l,r,s="";return s+="\n									",l=t.equals||a&&a.equals,r={hash:{},inverse:N.program(24,T,n),fn:N.program(21,S,n),data:n},e=l?l.call(a,(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r):O.call(a,"equals",(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r),(e||0===e)&&(s+=e),s+="\n									"}function S(a,n){var e,l,r,s="";return s+='\n									<span class="timeago">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:N.noop,fn:N.program(22,D,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.EndDate,r):O.call(a,"eventTimeString",a&&a.StartDate,a&&a.EndDate,r),(e||0===e)&&(s+=e),s+="</span>\n									"}function D(){var a="";return a}function T(a,n){var e,l,r,s="";return s+='\n									<span class="timeago">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:N.noop,fn:N.program(22,D,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.StartDate,r):O.call(a,"eventTimeString",a&&a.StartDate,a&&a.StartDate,r),(e||0===e)&&(s+=e),s+="</span>\n									"}function I(a,n){var e,l,r,s="";return s+=" ",l=t.hovercard||a&&a.hovercard,r={hash:{},inverse:N.noop,fn:N.program(27,w,n),data:n},e=l?l.call(a,a&&a.Type,a&&a.ID,r):O.call(a,"hovercard",a&&a.Type,a&&a.ID,r),(e||0===e)&&(s+=e),s+=" "}function w(){return" "}function A(a,n,e){var l,r="";return r+="\n							",l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:N.noop,fn:N.programWithDepth(30,b,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n							"}function b(a,n,t){var e,l="";return l+="\n							<p>"+M((e=t&&t.SystemText,e=null==e||e===!1?e:e.Location,typeof e===B?e.apply(a):e))+": ",e=a&&a.Entity,e=null==e||e===!1?e:e.Location,e=typeof e===B?e.apply(a):e,(e||0===e)&&(l+=e),l+="</p>\n							"}function C(a,n,e){var l,r="";return r+="\n							",l=t["if"].call(a,(l=e&&e.Options,null==l||l===!1?l:l.IncludeSummary),{hash:{},inverse:N.noop,fn:N.program(33,q,n),data:n}),(l||0===l)&&(r+=l),r+="\n							"}function q(a,n){var e,l="";return l+="\n							",e=t["if"].call(a,a&&a.Summary,{hash:{},inverse:N.noop,fn:N.program(34,k,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function k(a,n){var e,l,r,s="";return s+='\n							<p dir="auto">',l=t.truncate||a&&a.truncate,r={hash:{},data:n},e=l?l.call(a,a&&a.Summary,(e=a&&a.Summary,null==e||e===!1?e:e.length),r):O.call(a,"truncate",a&&a.Summary,(e=a&&a.Summary,null==e||e===!1?e:e.length),r),(e||0===e)&&(s+=e),s+="</p>\n							"}function E(a,n,e,l){var r,s,i,o="";return o+='\n						<footer>\n							<ul class="actions is-inline is-muted is-small list-unstyled">\n								<li>\n									<span class="icon is-normal">\n										<i class="ii ii-like" aria-hidden="true"></i>\n									</span>\n									<span aria-label="'+M((r=l&&l.SystemText,r=null==r||r===!1?r:r.haveliked,typeof r===B?r.apply(a):r))+'">',s=t.equals||a&&a.equals,i={hash:{},inverse:N.program(39,L,n),fn:N.program(37,x,n),data:n},r=s?s.call(a,a&&a.LikeCount,"-1",i):O.call(a,"equals",a&&a.LikeCount,"-1",i),(r||0===r)&&(o+=r),o+="</span>\n								</li>\n								",s=t.equals||a&&a.equals,i={hash:{},inverse:N.noop,fn:N.programWithDepth(41,W,n,e),data:n},r=s?s.call(a,(r=a&&a.Entity,null==r||r===!1?r:r.IsCommentsAllowed),"true",i):O.call(a,"equals",(r=a&&a.Entity,null==r||r===!1?r:r.IsCommentsAllowed),"true",i),(r||0===r)&&(o+=r),o+="\n							</ul>\n							",r=t["if"].call(a,a&&a.SocialAdvocacyItem,{hash:{},inverse:N.noop,fn:N.programWithDepth(44,_,n,e),data:n}),(r||0===r)&&(o+=r),o+="\n						</footer>\n						"}function x(){return"0"}function L(a,n){var e,l;return(l=t.LikeCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.LikeCount,e=typeof l===B?l.call(a,{hash:{},data:n}):l),M(e)}function W(a,n,e){var l,r,s,i="";return i+='\n								<li>\n									<span class="icon is-normal">\n										<i class="ii ii-comments" aria-hidden="true"></i>\n									</span>\n									<span aria-label="'+M((l=e&&e.SystemText,l=null==l||l===!1?l:l.havecommented,typeof l===B?l.apply(a):l))+'">',r=t.equals||a&&a.equals,s={hash:{},inverse:N.program(42,H,n),fn:N.program(37,x,n),data:n},l=r?r.call(a,(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s):O.call(a,"equals",(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s),(l||0===l)&&(i+=l),i+="</span>\n								</li>\n								"}function H(a,n){var e,l;return(l=t.CommentCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.CommentCount,e=typeof l===B?l.call(a,{hash:{},data:n}):l),M(e)}function _(a,n,e){var l,r,s="";return s+='\n							<div class="social-advocacy">\n								<button id="soc-adv-share-btn" \n										class="btn btn-primary btn-small" \n										onclick="Widgets.SocialAdvocacy_ShareClicked(',(r=t.ID)?l=r.call(a,{hash:{},data:n}):(r=a&&a.ID,l=typeof r===B?r.call(a,{hash:{},data:n}):r),s+=M(l)+')"\n										type="button"\n										aria-label="'+M((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShareAria,typeof l===B?l.apply(a):l))+'"\n								>\n									'+M((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShare,typeof l===B?l.apply(a):l))+'&nbsp;<i class="fa fa-share-alt ii ii-share"></i>\n								</button>\n							</div>\n							'}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var U,P,R="",B="function",M=this.escapeExpression,O=t.helperMissing,N=this;return R+='<div id="myLayout11Carousel',(P=t.Id)?U=P.call(n,{hash:{},data:l}):(P=n&&n.Id,U=typeof P===B?P.call(n,{hash:{},data:l}):P),R+=M(U)+'" class="carousel slide">\n	<ol class="carousel-indicators">\n		',U=t.each.call(n,n&&n.Items,{hash:{},inverse:N.noop,fn:N.program(1,s,l),data:l}),(U||0===U)&&(R+=U),R+='\n	</ol>\n	<ul class="list-unstyled widget-list has-thumbnail-overlay carousel-inner">\n		',U=t.each.call(n,n&&n.Items,{hash:{},inverse:N.noop,fn:N.programWithDepth(3,i,l,n,r),data:l}),(U||0===U)&&(R+=U),R+='\n	</ul>\n	<a href="#myLayout11Carousel',(P=t.Id)?U=P.call(n,{hash:{},data:l}):(P=n&&n.Id,U=typeof P===B?P.call(n,{hash:{},data:l}):P),R+=M(U)+'" data-slide="prev" class="carousel-chevron icon-container is-medium is-left" aria-label="Next Slide">\n		<span class="icon is-normal">\n			<i class="ii ii-chevron-left"></i>\n		</span>\n	</a>\n	<a href="#myLayout11Carousel',(P=t.Id)?U=P.call(n,{hash:{},data:l}):(P=n&&n.Id,U=typeof P===B?P.call(n,{hash:{},data:l}):P),R+=M(U)+'" data-slide="next" class="carousel-chevron icon-container is-medium is-right" aria-label="Previous Slide">\n		<span class="icon is-normal">\n			<i class="ii ii-chevron-right"></i>\n		</span>\n	</a>\n</div>\n'}),n.widgets_content_layout12=a(function(a,n,t,e,l,r){function s(a,n,e,l){var r,s,h,u="";return u+='\n		<li class="is-headline is-inverted gridster-wac">\n			<article class="card-inline">\n				<div class="thumbnail-container">\n					<img src="',r=t["if"].call(a,a&&a.AssetID,{hash:{},inverse:B.program(4,o,n),fn:B.program(2,i,n),data:n}),(r||0===r)&&(u+=r),u+='" style="object-position: 50% ',(s=t.BackgroundYpos)?r=s.call(a,{hash:{},data:n}):(s=a&&a.BackgroundYpos,r=typeof s===R?s.call(a,{hash:{},data:n}):s),u+=P(r)+'%;" alt="" role="presentation" class="thumbnail" data-object-fit="cover" loading="lazy"/>\n				</div>\n				<div class="card-content">\n					<aside>\n						<ul class="list-unstyled list-inline inner-disc muted is-small">\n							<!-- This will return true if AuthorType is greater than 0, i.e. not a person -->\n							',r=t["if"].call(a,a&&a.AuthorType,{hash:{},inverse:B.program(9,p,n),fn:B.program(6,c,n),data:n}),(r||0===r)&&(u+=r),u+="\n\n							<li>\n								",s=t.when||a&&a.when,h={hash:{},inverse:B.program(18,y,n),fn:B.program(13,f,n),data:n},r=s?s.call(a,"Type != 'Event'",h):U.call(a,"when","Type != 'Event'",h),(r||0===r)&&(u+=r),u+='\n							</li>\n						</ul>\n					</aside>\n					<header>\n						<a class="is-w-a" target="',(s=t.Target)?r=s.call(a,{hash:{},data:n}):(s=a&&a.Target,r=typeof s===R?s.call(a,{hash:{},data:n}):s),u+=P(r)+'" href="',(s=t.URL)?r=s.call(a,{hash:{},data:n}):(s=a&&a.URL,r=typeof s===R?s.call(a,{hash:{},data:n}):s),u+=P(r)+'" dir="auto" ',r=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:B.noop,fn:B.program(24,T,n),data:n}),(r||0===r)&&(u+=r),u+='>\n							<h5 class="is-ellipsis">',(s=t.Title)?r=s.call(a,{hash:{},data:n}):(s=a&&a.Title,r=typeof s===R?s.call(a,{hash:{},data:n}):s),(r||0===r)&&(u+=r),u+="</h5>\n						</a>\n\n						",s=t.equals||a&&a.equals,h={hash:{},inverse:B.programWithDepth(29,A,n,e),fn:B.programWithDepth(26,I,n,e),data:n},r=s?s.call(a,a&&a.Type,"Event",h):U.call(a,"equals",a&&a.Type,"Event",h),(r||0===r)&&(u+=r),u+="\n					</header>\n					",r=t["if"].call(a,a&&a.Entity,{hash:{},inverse:B.noop,fn:B.programWithDepth(33,q,n,e,l),data:n}),(r||0===r)&&(u+=r),u+="\n				</div>\n			</article>\n		</li>\n	"}function i(a,n){var e,l,r;return l=t.asset||a&&a.asset,r={hash:{},data:n},e=l?l.call(a,a&&a.AssetID,7,r):U.call(a,"asset",a&&a.AssetID,7,r),e||0===e?e:""}function o(a,n){var e,l;return P((e=t.avatar||a&&a.avatar,l={hash:{},data:n},e?e.call(a,a&&a.Type,l):U.call(a,"avatar",a&&a.Type,l)))}function c(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,a&&a.Author,{hash:{},inverse:B.noop,fn:B.program(7,h,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function h(a,n){var e,l,r="";return r+='\n									 <!-- Display a span instead of a link -->\n									<li class="is-author">\n										<span><strong>',(l=t.Author)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Author,e=typeof l===R?l.call(a,{hash:{},data:n}):l),r+=P(e)+"</strong></span>\n									</li>  \n								"}function p(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,a&&a.Author,{hash:{},inverse:B.noop,fn:B.program(10,u,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function u(a,n){var e,l,r,s="";return s+='\n									<li class="is-author">\n										<a href="'+P((l=t.link||a&&a.link,r={hash:{},data:n},l?l.call(a,"Person",a&&a.AuthorID,r):U.call(a,"link","Person",a&&a.AuthorID,r)))+'" class="author" ',e=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:B.noop,fn:B.program(11,d,n),data:n}),(e||0===e)&&(s+=e),s+=">",(l=t.Author)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Author,e=typeof l===R?l.call(a,{hash:{},data:n}):l),s+=P(e)+"</a>\n									</li>\n								"}function d(a,n){var e,l,r="";return r+=' data-personid="',(l=t.AuthorID)?e=l.call(a,{hash:{},data:n}):(l=a&&a.AuthorID,e=typeof l===R?l.call(a,{hash:{},data:n}):l),r+=P(e)+'" '}function f(a,n){var e,l="";return l+='\n									<time class="timeago" datetime="',e=t["if"].call(a,a&&a.ShowUpdateDate,{hash:{},inverse:B.program(16,v,n),fn:B.program(14,m,n),data:n}),(e||0===e)&&(l+=e),l+='"></time>\n								'}function m(a,n){var e,l,r="";return r+=" ",(l=t.UpdateDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.UpdateDate,e=typeof l===R?l.call(a,{hash:{},data:n}):l),r+=P(e)+" "}function v(a,n){var e,l,r="";return r+=" ",(l=t.StartDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.StartDate,e=typeof l===R?l.call(a,{hash:{},data:n}):l),r+=P(e)+" "}function y(a,n){var e,l,r,s="";return s+="\n									",l=t.equals||a&&a.equals,r={hash:{},inverse:B.program(22,D,n),fn:B.program(19,g,n),data:n},e=l?l.call(a,(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r):U.call(a,"equals",(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r),(e||0===e)&&(s+=e),s+="\n								"}function g(a,n){var e,l,r,s="";return s+='\n										<span class="timeago">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:B.noop,fn:B.program(20,S,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.EndDate,r):U.call(a,"eventTimeString",a&&a.StartDate,a&&a.EndDate,r),(e||0===e)&&(s+=e),s+="</span>\n									"}function S(){var a="";return a}function D(a,n){var e,l,r,s="";return s+='\n										<span class="timeago">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:B.noop,fn:B.program(20,S,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.StartDate,r):U.call(a,"eventTimeString",a&&a.StartDate,a&&a.StartDate,r),(e||0===e)&&(s+=e),s+="</span>\n									"}function T(a,n){var e,l,r,s="";return s+=" ",l=t.hovercard||a&&a.hovercard,r={hash:{},inverse:B.noop,fn:B.program(20,S,n),data:n},e=l?l.call(a,a&&a.Type,a&&a.ID,r):U.call(a,"hovercard",a&&a.Type,a&&a.ID,r),(e||0===e)&&(s+=e),s+=" "}function I(a,n,e){var l,r="";return r+="\n							",l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:B.noop,fn:B.programWithDepth(27,w,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n							"}function w(a,n,t){var e,l="";return l+="\n								<p>"+P((e=t&&t.SystemText,e=null==e||e===!1?e:e.Location,typeof e===R?e.apply(a):e))+": ",e=a&&a.Entity,e=null==e||e===!1?e:e.Location,e=typeof e===R?e.apply(a):e,(e||0===e)&&(l+=e),l+="</p>\n							"}function A(a,n,e){var l,r="";return r+="\n							",l=t["if"].call(a,(l=e&&e.Options,null==l||l===!1?l:l.IncludeSummary),{hash:{},inverse:B.noop,fn:B.program(30,b,n),data:n}),(l||0===l)&&(r+=l),r+="\n						"}function b(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,a&&a.Summary,{hash:{},inverse:B.noop,fn:B.program(31,C,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function C(a,n){var e,l,r,s="";return s+='\n									<p dir="auto">',l=t.truncate||a&&a.truncate,r={hash:{},data:n},e=l?l.call(a,a&&a.Summary,(e=a&&a.Summary,null==e||e===!1?e:e.length),r):U.call(a,"truncate",a&&a.Summary,(e=a&&a.Summary,null==e||e===!1?e:e.length),r),(e||0===e)&&(s+=e),s+="</p>\n								"}function q(a,n,e,l){var r,s,i,o="";return o+='\n					<footer>\n						<ul class="actions is-inline is-muted is-small list-unstyled">\n							<li>\n								<span class="icon is-normal">\n									<i class="ii ii-like" aria-hidden="true"></i>\n								</span>\n								<span aria-label="'+P((r=l&&l.SystemText,r=null==r||r===!1?r:r.haveliked,typeof r===R?r.apply(a):r))+'">',s=t.equals||a&&a.equals,i={hash:{},inverse:B.program(36,E,n),fn:B.program(34,k,n),data:n},r=s?s.call(a,a&&a.LikeCount,"-1",i):U.call(a,"equals",a&&a.LikeCount,"-1",i),(r||0===r)&&(o+=r),o+="</span>\n							</li>\n							",s=t.equals||a&&a.equals,i={hash:{},inverse:B.noop,fn:B.programWithDepth(38,x,n,e),data:n},r=s?s.call(a,(r=a&&a.Entity,null==r||r===!1?r:r.IsCommentsAllowed),"true",i):U.call(a,"equals",(r=a&&a.Entity,null==r||r===!1?r:r.IsCommentsAllowed),"true",i),(r||0===r)&&(o+=r),o+="\n						</ul>\n						",r=t["if"].call(a,a&&a.SocialAdvocacyItem,{hash:{},inverse:B.noop,fn:B.programWithDepth(41,W,n,e),data:n}),(r||0===r)&&(o+=r),o+="\n					</footer>\n					"}function k(){return"0"}function E(a,n){var e,l;return(l=t.LikeCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.LikeCount,e=typeof l===R?l.call(a,{hash:{},data:n}):l),P(e)}function x(a,n,e){var l,r,s,i="";return i+='\n							<li>\n								<span class="icon is-normal">\n									<i class="ii ii-comments" aria-hidden="true"></i>\n								</span>\n								<span aria-label="'+P((l=e&&e.SystemText,l=null==l||l===!1?l:l.havecommented,typeof l===R?l.apply(a):l))+'">',r=t.equals||a&&a.equals,s={hash:{},inverse:B.program(39,L,n),fn:B.program(34,k,n),data:n},l=r?r.call(a,(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s):U.call(a,"equals",(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s),(l||0===l)&&(i+=l),i+="</span>\n							</li>\n							"}function L(a,n){var e,l;return(l=t.CommentCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.CommentCount,e=typeof l===R?l.call(a,{hash:{},data:n}):l),P(e)}function W(a,n,e){var l,r,s="";return s+='\n						<div class="social-advocacy">\n							<button id="soc-adv-share-btn" \n									class="btn btn-primary btn-small" \n									onclick="Widgets.SocialAdvocacy_ShareClicked(',(r=t.ID)?l=r.call(a,{hash:{},data:n}):(r=a&&a.ID,l=typeof r===R?r.call(a,{hash:{},data:n}):r),s+=P(l)+')"\n									type="button"\n									aria-label="'+P((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShareAria,typeof l===R?l.apply(a):l))+'"\n							>\n								'+P((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShare,typeof l===R?l.apply(a):l))+'&nbsp;<i class="fa fa-share-alt ii ii-share"></i>\n							</button>\n						</div>\n						'}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var H,_="",U=t.helperMissing,P=this.escapeExpression,R="function",B=this;return _+='<ul class="list-unstyled widget-list has-thumbnail-overlay">\n	',H=t.each.call(n,n&&n.Items,{hash:{},inverse:B.noop,fn:B.programWithDepth(1,s,l,n,r),data:l}),(H||0===H)&&(_+=H),_+="\n</ul>\n"}),n.widgets_content_layout13=a(function(a,n,t,e,l,r){function s(a,n,e,l){var r,s,h,u="";return u+='\n		<li class="is-headline is-inverted gridster-wac">\n			<article class="card-inline">\n				<div class="thumbnail-container">\n					<img src="',r=t["if"].call(a,a&&a.AssetID,{hash:{},inverse:B.program(4,o,n),fn:B.program(2,i,n),data:n}),(r||0===r)&&(u+=r),u+='" style="object-position: 50% ',(s=t.BackgroundYpos)?r=s.call(a,{hash:{},data:n}):(s=a&&a.BackgroundYpos,r=typeof s===R?s.call(a,{hash:{},data:n}):s),u+=P(r)+'%;" alt="" role="presentation" class="thumbnail" data-object-fit="cover" loading="lazy"/>\n				</div>\n				<div class="card-content">\n					<aside>\n						<ul class="list-unstyled list-inline inner-disc muted is-small">\n							<!-- This will return true if AuthorType is greater than 0, i.e. not a person -->\n							',r=t["if"].call(a,a&&a.AuthorType,{hash:{},inverse:B.program(9,p,n),fn:B.program(6,c,n),data:n}),(r||0===r)&&(u+=r),u+="\n							<li>\n								",s=t.when||a&&a.when,h={hash:{},inverse:B.program(18,y,n),fn:B.program(13,f,n),data:n},r=s?s.call(a,"Type != 'Event'",h):U.call(a,"when","Type != 'Event'",h),(r||0===r)&&(u+=r),u+='\n							</li>\n						</ul>\n					</aside>\n					<header>\n						<a class="is-w-a" target="',(s=t.Target)?r=s.call(a,{hash:{},data:n}):(s=a&&a.Target,r=typeof s===R?s.call(a,{hash:{},data:n}):s),u+=P(r)+'" href="',(s=t.URL)?r=s.call(a,{hash:{},data:n}):(s=a&&a.URL,r=typeof s===R?s.call(a,{hash:{},data:n}):s),u+=P(r)+'" dir="auto" ',r=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:B.noop,fn:B.program(24,T,n),data:n}),(r||0===r)&&(u+=r),u+='>\n							<h5 class="is-ellipsis">',(s=t.Title)?r=s.call(a,{hash:{},data:n}):(s=a&&a.Title,r=typeof s===R?s.call(a,{hash:{},data:n}):s),(r||0===r)&&(u+=r),u+="</h5>\n						</a>\n\n						",s=t.equals||a&&a.equals,h={hash:{},inverse:B.programWithDepth(29,A,n,e),fn:B.programWithDepth(26,I,n,e),data:n},r=s?s.call(a,a&&a.Type,"Event",h):U.call(a,"equals",a&&a.Type,"Event",h),(r||0===r)&&(u+=r),u+="\n					</header>\n					",r=t["if"].call(a,a&&a.Entity,{hash:{},inverse:B.noop,fn:B.programWithDepth(33,q,n,e,l),data:n}),(r||0===r)&&(u+=r),u+="\n				</div>\n			</article>\n		</li>\n	"}function i(a,n){var e,l,r;return l=t.asset||a&&a.asset,r={hash:{},data:n},e=l?l.call(a,a&&a.AssetID,7,r):U.call(a,"asset",a&&a.AssetID,7,r),e||0===e?e:""}function o(a,n){var e,l;return P((e=t.avatar||a&&a.avatar,l={hash:{},data:n},e?e.call(a,a&&a.Type,l):U.call(a,"avatar",a&&a.Type,l)))}function c(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,a&&a.Author,{hash:{},inverse:B.noop,fn:B.program(7,h,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function h(a,n){var e,l,r="";return r+='\n									 <!-- Display a span instead of a link -->\n									<li class="is-author">\n										<span><strong>',(l=t.Author)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Author,e=typeof l===R?l.call(a,{hash:{},data:n}):l),r+=P(e)+"</strong></span>\n									</li>  \n								"}function p(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,a&&a.Author,{hash:{},inverse:B.noop,fn:B.program(10,u,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function u(a,n){var e,l,r,s="";return s+='\n									<li class="is-author">\n										<a href="'+P((l=t.link||a&&a.link,r={hash:{},data:n},l?l.call(a,"Person",a&&a.AuthorID,r):U.call(a,"link","Person",a&&a.AuthorID,r)))+'" class="author" ',e=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:B.noop,fn:B.program(11,d,n),data:n}),(e||0===e)&&(s+=e),s+=">",(l=t.Author)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Author,e=typeof l===R?l.call(a,{hash:{},data:n}):l),s+=P(e)+"</a>\n									</li>\n								"}function d(a,n){var e,l,r="";return r+=' data-personid="',(l=t.AuthorID)?e=l.call(a,{hash:{},data:n}):(l=a&&a.AuthorID,e=typeof l===R?l.call(a,{hash:{},data:n}):l),r+=P(e)+'" '}function f(a,n){var e,l="";return l+='\n									<time class="timeago" datetime="',e=t["if"].call(a,a&&a.ShowUpdateDate,{hash:{},inverse:B.program(16,v,n),fn:B.program(14,m,n),data:n}),(e||0===e)&&(l+=e),l+='"></time>\n								'}function m(a,n){var e,l,r="";return r+=" ",(l=t.UpdateDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.UpdateDate,e=typeof l===R?l.call(a,{hash:{},data:n}):l),r+=P(e)+" "}function v(a,n){var e,l,r="";return r+=" ",(l=t.StartDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.StartDate,e=typeof l===R?l.call(a,{hash:{},data:n}):l),r+=P(e)+" "}function y(a,n){var e,l,r,s="";return s+="\n									",l=t.equals||a&&a.equals,r={hash:{},inverse:B.program(22,D,n),fn:B.program(19,g,n),data:n},e=l?l.call(a,(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r):U.call(a,"equals",(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r),(e||0===e)&&(s+=e),s+="\n								"}function g(a,n){var e,l,r,s="";return s+='\n										<span class="timeago">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:B.noop,fn:B.program(20,S,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.EndDate,r):U.call(a,"eventTimeString",a&&a.StartDate,a&&a.EndDate,r),(e||0===e)&&(s+=e),s+="</span>\n									"}function S(){var a="";return a}function D(a,n){var e,l,r,s="";return s+='\n										<span class="timeago">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:B.noop,fn:B.program(20,S,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.StartDate,r):U.call(a,"eventTimeString",a&&a.StartDate,a&&a.StartDate,r),(e||0===e)&&(s+=e),s+="</span>\n									"}function T(a,n){var e,l,r,s="";return s+=" ",l=t.hovercard||a&&a.hovercard,r={hash:{},inverse:B.noop,fn:B.program(20,S,n),data:n},e=l?l.call(a,a&&a.Type,a&&a.ID,r):U.call(a,"hovercard",a&&a.Type,a&&a.ID,r),(e||0===e)&&(s+=e),s+=" "}function I(a,n,e){var l,r="";return r+="\n							",l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:B.noop,fn:B.programWithDepth(27,w,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n							"}function w(a,n,t){var e,l="";return l+="\n								<p>"+P((e=t&&t.SystemText,e=null==e||e===!1?e:e.Location,typeof e===R?e.apply(a):e))+": ",e=a&&a.Entity,e=null==e||e===!1?e:e.Location,e=typeof e===R?e.apply(a):e,(e||0===e)&&(l+=e),l+="</p>\n							"}function A(a,n,e){var l,r="";return r+="\n							",l=t["if"].call(a,(l=e&&e.Options,null==l||l===!1?l:l.IncludeSummary),{hash:{},inverse:B.noop,fn:B.program(30,b,n),data:n}),(l||0===l)&&(r+=l),r+="\n						"}function b(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,a&&a.Summary,{hash:{},inverse:B.noop,fn:B.program(31,C,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function C(a,n){var e,l,r,s="";return s+='\n									<p dir="auto">',l=t.truncate||a&&a.truncate,r={hash:{},data:n},e=l?l.call(a,a&&a.Summary,(e=a&&a.Summary,null==e||e===!1?e:e.length),r):U.call(a,"truncate",a&&a.Summary,(e=a&&a.Summary,null==e||e===!1?e:e.length),r),(e||0===e)&&(s+=e),s+="</p>\n								"}function q(a,n,e,l){var r,s,i,o="";return o+='\n					<footer>\n						<ul class="actions is-inline is-muted is-small list-unstyled">\n							<li>\n								<span class="icon is-normal">\n									<i class="ii ii-like" aria-hidden="true"></i>\n								</span>\n								<span aria-label="'+P((r=l&&l.SystemText,r=null==r||r===!1?r:r.haveliked,typeof r===R?r.apply(a):r))+'">',s=t.equals||a&&a.equals,i={hash:{},inverse:B.program(36,E,n),fn:B.program(34,k,n),data:n},r=s?s.call(a,a&&a.LikeCount,"-1",i):U.call(a,"equals",a&&a.LikeCount,"-1",i),(r||0===r)&&(o+=r),o+="</span>\n							</li>\n							",s=t.equals||a&&a.equals,i={hash:{},inverse:B.noop,fn:B.programWithDepth(38,x,n,e),data:n},r=s?s.call(a,(r=a&&a.Entity,null==r||r===!1?r:r.IsCommentsAllowed),"true",i):U.call(a,"equals",(r=a&&a.Entity,null==r||r===!1?r:r.IsCommentsAllowed),"true",i),(r||0===r)&&(o+=r),o+="\n						</ul>\n						",r=t["if"].call(a,a&&a.SocialAdvocacyItem,{hash:{},inverse:B.noop,fn:B.programWithDepth(41,W,n,e),data:n}),(r||0===r)&&(o+=r),o+="\n					</footer>\n					"}function k(){return"0"}function E(a,n){var e,l;return(l=t.LikeCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.LikeCount,e=typeof l===R?l.call(a,{hash:{},data:n}):l),P(e)}function x(a,n,e){var l,r,s,i="";return i+='\n							<li>\n								<span class="icon is-normal">\n									<i class="ii ii-comments" aria-hidden="true"></i>\n								</span>\n								<span aria-label="'+P((l=e&&e.SystemText,l=null==l||l===!1?l:l.havecommented,typeof l===R?l.apply(a):l))+'">',r=t.equals||a&&a.equals,s={hash:{},inverse:B.program(39,L,n),fn:B.program(34,k,n),data:n},l=r?r.call(a,(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s):U.call(a,"equals",(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s),(l||0===l)&&(i+=l),i+="</span>\n							</li>\n							"}function L(a,n){var e,l;return(l=t.CommentCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.CommentCount,e=typeof l===R?l.call(a,{hash:{},data:n}):l),P(e)}function W(a,n,e){var l,r,s="";return s+='\n						<div class="social-advocacy">\n							<button id="soc-adv-share-btn" \n									class="btn btn-primary btn-small" \n									onclick="Widgets.SocialAdvocacy_ShareClicked(',(r=t.ID)?l=r.call(a,{hash:{},data:n}):(r=a&&a.ID,l=typeof r===R?r.call(a,{hash:{},data:n}):r),s+=P(l)+')"\n									type="button"\n									aria-label="'+P((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShareAria,typeof l===R?l.apply(a):l))+'"\n							>\n								'+P((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShare,typeof l===R?l.apply(a):l))+'&nbsp;<i class="fa fa-share-alt ii ii-share"></i>\n							</button>\n						</div>\n						'}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var H,_="",U=t.helperMissing,P=this.escapeExpression,R="function",B=this;return _+='<ul class="list-unstyled widget-list has-thumbnail-overlay">\n	',H=t.each.call(n,n&&n.Items,{hash:{},inverse:B.noop,fn:B.programWithDepth(1,s,l,n,r),data:l}),(H||0===H)&&(_+=H),_+="\n</ul>"}),n.widgets_content_layout14=a(function(a,n,t,e,l){function r(a,n,e){var l,r,i,c="";return c+='\n		<li>\n			<article class="card-inline">\n				<aside>\n					<span aria-label="Day of event" class="day">\n						'+y((l=a&&a.Start,l=null==l||l===!1?l:l.Date,typeof l===v?l.apply(a):l))+'\n					</span>\n					<span aria-label="Month / Year of event" class="month">\n						'+y((l=a&&a.Start,l=null==l||l===!1?l:l.Month,typeof l===v?l.apply(a):l))+" "+y((l=a&&a.Start,l=null==l||l===!1?l:l.Year,typeof l===v?l.apply(a):l))+'\n					</span>\n				</aside>\n\n				<div class="card-content-read-more">\n					<div class="card-content">\n						<header dir="auto">\n							<a target="',(r=t.Target)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Target,l=typeof r===v?r.call(a,{hash:{},data:n}):r),c+=y(l)+'" href="',(r=t.URL)?l=r.call(a,{hash:{},data:n}):(r=a&&a.URL,l=typeof r===v?r.call(a,{hash:{},data:n}):r),c+=y(l)+'" ',l=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:f.noop,fn:f.program(2,s,n),data:n}),(l||0===l)&&(c+=l),c+='>\n								<h5 class="is-ellipsis">',(r=t.Title)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Title,l=typeof r===v?r.call(a,{hash:{},data:n}):r),(l||0===l)&&(c+=l),c+='</h5>\n							</a>\n						</header>\n						<footer dir="auto">\n							<ul class="list-unstyled">\n								',r=t.equals||a&&a.equals,i={hash:{},inverse:f.noop,fn:f.programWithDepth(5,o,n,e),data:n},l=r?r.call(a,a&&a.Type,"Event",i):m.call(a,"equals",a&&a.Type,"Event",i),(l||0===l)&&(c+=l),c+='\n							</ul>\n						</footer>\n					</div>\n					<a target="',(r=t.Target)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Target,l=typeof r===v?r.call(a,{hash:{},data:n}):r),c+=y(l)+'" href="',(r=t.URL)?l=r.call(a,{hash:{},data:n}):(r=a&&a.URL,l=typeof r===v?r.call(a,{hash:{},data:n}):r),c+=y(l)+'" class="button is-link read-more">\n						'+y((l=e&&e.SystemText,l=null==l||l===!1?l:l.ReadMore,typeof l===v?l.apply(a):l))+'\n						<span class="icon is-normal is-right">\n							<i class="ii ii-arrow-right"></i>\n						</span>\n					</a>\n				</div>\n\n				\n			</article>\n		</li>\n	'
}function s(a,n){var e,l,r,s="";return s+=" ",l=t.hovercard||a&&a.hovercard,r={hash:{},inverse:f.noop,fn:f.program(3,i,n),data:n},e=l?l.call(a,a&&a.Type,a&&a.ID,r):m.call(a,"hovercard",a&&a.Type,a&&a.ID,r),(e||0===e)&&(s+=e),s+=" "}function i(){var a="";return a}function o(a,n,e){var l,r="";return r+="\n									",l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:f.noop,fn:f.program(6,c,n),data:n}),(l||0===l)&&(r+=l),r+="\n									",l=t["if"].call(a,(l=e&&e.Options,null==l||l===!1?l:l.IncludeSummary),{hash:{},inverse:f.noop,fn:f.program(8,h,n),data:n}),(l||0===l)&&(r+=l),r+="\n								"}function c(a){var n,t="";return t+='\n										<li class="location" aria-label="Event location">\n											<p>',n=a&&a.Entity,n=null==n||n===!1?n:n.Location,n=typeof n===v?n.apply(a):n,(n||0===n)&&(t+=n),t+="</p>\n										</li>\n									"}function h(a,n){var e,l="";return l+="\n										",e=t["if"].call(a,a&&a.TextOnlySummary,{hash:{},inverse:f.noop,fn:f.program(9,p,n),data:n}),(e||0===e)&&(l+=e),l+="\n									"}function p(a,n){var e,l,r="";return r+='\n											<li class="description" aria-label="Event description">\n												<p>',(l=t.TextOnlySummary)?e=l.call(a,{hash:{},data:n}):(l=a&&a.TextOnlySummary,e=typeof l===v?l.call(a,{hash:{},data:n}):l),(e||0===e)&&(r+=e),r+="</p>\n											</li>\n										"}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var u,d="",f=this,m=t.helperMissing,v="function",y=this.escapeExpression;return d+='<ul class="list-unstyled widget-list">\n	',u=t.each.call(n,n&&n.Items,{hash:{},inverse:f.noop,fn:f.programWithDepth(1,r,l,n),data:l}),(u||0===u)&&(d+=u),d+='\n	<li class="is-center-text">\n		<a href="/search?q=*&typefacet=Event&typefacet=Event+Series" class="button is-primary is-solid">\n			'+y((u=n&&n.SystemText,u=null==u||u===!1?u:u.ViewAllEvents,typeof u===v?u.apply(n):u))+'\n			<span class="icon is-normal is-right">\n				<i class="ii ii-arrow-right"></i>\n			</span>\n		</a>\n	</li>\n</ul>'}),n.widgets_content_layout15=a(function(a,n,t,e,l){function r(a,n,e){var l,r,i,c="";return c+='\n	<li>\n		<article class="card-inline">\n			<aside>\n				<span aria-label="Day of event" class="day">\n					'+y((l=a&&a.Start,l=null==l||l===!1?l:l.Date,typeof l===v?l.apply(a):l))+'\n				</span>\n				<span aria-label="Month / Year of event" class="month">\n					'+y((l=a&&a.Start,l=null==l||l===!1?l:l.Month,typeof l===v?l.apply(a):l))+" "+y((l=a&&a.Start,l=null==l||l===!1?l:l.Year,typeof l===v?l.apply(a):l))+'\n				</span>\n			</aside>\n			<div class="card-content">\n				<header dir="auto">\n					<a target="',(r=t.Target)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Target,l=typeof r===v?r.call(a,{hash:{},data:n}):r),c+=y(l)+'" href="',(r=t.URL)?l=r.call(a,{hash:{},data:n}):(r=a&&a.URL,l=typeof r===v?r.call(a,{hash:{},data:n}):r),c+=y(l)+'" ',l=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:f.noop,fn:f.program(2,s,n),data:n}),(l||0===l)&&(c+=l),c+='>\n						<h5 class="is-ellipsis">',(r=t.Title)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Title,l=typeof r===v?r.call(a,{hash:{},data:n}):r),(l||0===l)&&(c+=l),c+='</h5>\n					</a>\n				</header>\n				<footer dir="auto">\n					<ul class="list-unstyled">\n						',r=t.equals||a&&a.equals,i={hash:{},inverse:f.noop,fn:f.programWithDepth(5,o,n,e),data:n},l=r?r.call(a,a&&a.Type,"Event",i):m.call(a,"equals",a&&a.Type,"Event",i),(l||0===l)&&(c+=l),c+="\n					</ul>\n				</footer>\n			</div>\n		</article>\n	</li>\n	"}function s(a,n){var e,l,r,s="";return s+=" ",l=t.hovercard||a&&a.hovercard,r={hash:{},inverse:f.noop,fn:f.program(3,i,n),data:n},e=l?l.call(a,a&&a.Type,a&&a.ID,r):m.call(a,"hovercard",a&&a.Type,a&&a.ID,r),(e||0===e)&&(s+=e),s+=" "}function i(){var a="";return a}function o(a,n,e){var l,r="";return r+="\n							",l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:f.noop,fn:f.program(6,c,n),data:n}),(l||0===l)&&(r+=l),r+="\n							",l=t["if"].call(a,(l=e&&e.Options,null==l||l===!1?l:l.IncludeSummary),{hash:{},inverse:f.noop,fn:f.program(8,h,n),data:n}),(l||0===l)&&(r+=l),r+="\n						"}function c(a){var n,t="";return t+='\n								<li class="location" aria-label="Event location">\n									<p>',n=a&&a.Entity,n=null==n||n===!1?n:n.Location,n=typeof n===v?n.apply(a):n,(n||0===n)&&(t+=n),t+="</p>\n								</li>\n							"}function h(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,a&&a.Summary,{hash:{},inverse:f.noop,fn:f.program(9,p,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function p(a,n){var e,l,r="";return r+='\n									<li class="description" aria-label="Event description">\n										<p>',(l=t.Summary)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Summary,e=typeof l===v?l.call(a,{hash:{},data:n}):l),(e||0===e)&&(r+=e),r+="</p>\n									</li>\n								"}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var u,d="",f=this,m=t.helperMissing,v="function",y=this.escapeExpression;return d+='<ul class="list-inline widget-controls">\n	<li class="view-all">\n		<a href="/search?q=*&typefacet=Event&typefacet=Event+Series" aria-label="Show all events">'+y((u=n&&n.SystemText,u=null==u||u===!1?u:u.ViewAll,typeof u===v?u.apply(n):u))+'</a>\n	</li>\n</ul>\n<ul class="list-unstyled widget-list">\n	',u=t.each.call(n,n&&n.Items,{hash:{},inverse:f.noop,fn:f.programWithDepth(1,r,l,n),data:l}),(u||0===u)&&(d+=u),d+="\n</ul>"}),n.widgets_content_layout2=a(function(a,n,t,e,l,r){function s(a,n){var e,l="";return l+='\n					<div class="thumbnail-container">\n						<img src="',e=t["if"].call(a,(e=a&&a.Headline,null==e||e===!1?e:e.AssetID),{hash:{},inverse:fn.noop,fn:fn.program(2,i,n),data:n}),(e||0===e)&&(l+=e),l+='" style="object-position: 50% '+dn((e=a&&a.Headline,e=null==e||e===!1?e:e.BackgroundYpos,typeof e===mn?e.apply(a):e))+'%;" alt="" role="presentation" class="thumbnail" data-object-fit="cover" loading="lazy">\n					</div>\n				'}function i(a,n){var e,l,r;return dn((l=t.asset||a&&a.asset,r={hash:{},data:n},l?l.call(a,(e=a&&a.Headline,null==e||e===!1?e:e.AssetID),7,r):un.call(a,"asset",(e=a&&a.Headline,null==e||e===!1?e:e.AssetID),7,r)))}function o(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,(e=a&&a.Headline,null==e||e===!1?e:e.Author),{hash:{},inverse:fn.noop,fn:fn.program(5,c,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function c(a){var n,t="";return t+='\n									<li class="is-author">\n										<span class="author">'+dn((n=a&&a.Headline,n=null==n||n===!1?n:n.Author,typeof n===mn?n.apply(a):n))+"</span>\n									</li>\n								"}function h(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,(e=a&&a.Headline,null==e||e===!1?e:e.Author),{hash:{},inverse:fn.noop,fn:fn.program(8,p,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function p(a,n){var e,l="";return l+='\n									<li class="is-author">\n										<a href="/Interact/Pages/Modules/Directory/Entry.aspx?person='+dn((e=a&&a.Headline,e=null==e||e===!1?e:e.AuthorID,typeof e===mn?e.apply(a):e))+'" class="author" ',e=t["if"].call(a,(e=a&&a.Headline,null==e||e===!1?e:e.ShowHoverCard),{hash:{},inverse:fn.noop,fn:fn.program(9,u,n),data:n}),(e||0===e)&&(l+=e),l+=">"+dn((e=a&&a.Headline,e=null==e||e===!1?e:e.Author,typeof e===mn?e.apply(a):e))+"</a>\n									</li>\n								"}function u(a){var n,t="";return t+=' data-personid="'+dn((n=a&&a.Headline,n=null==n||n===!1?n:n.AuthorID,typeof n===mn?n.apply(a):n))+'" '}function d(a,n){var e,l="";return l+='\n									<time class="timeago" datetime="',e=t["if"].call(a,(e=a&&a.Headline,null==e||e===!1?e:e.ShowUpdateDate),{hash:{},inverse:fn.program(14,m,n),fn:fn.program(12,f,n),data:n}),(e||0===e)&&(l+=e),l+='"></time>\n								'}function f(a){var n,t="";return t+=" "+dn((n=a&&a.Headline,n=null==n||n===!1?n:n.UpdateDate,typeof n===mn?n.apply(a):n))+" "}function m(a){var n,t="";return t+=" "+dn((n=a&&a.Headline,n=null==n||n===!1?n:n.StartDate,typeof n===mn?n.apply(a):n))+" "}function v(a,n){var e,l,r,s="";return s+="\n									",l=t.equals||a&&a.equals,r={hash:{},inverse:fn.program(20,S,n),fn:fn.program(17,y,n),data:n},e=l?l.call(a,(e=a&&a.Headline,e=null==e||e===!1?e:e.Entity,null==e||e===!1?e:e.AllDay),"false",r):un.call(a,"equals",(e=a&&a.Headline,e=null==e||e===!1?e:e.Entity,null==e||e===!1?e:e.AllDay),"false",r),(e||0===e)&&(s+=e),s+="\n								"}function y(a,n){var e,l,r,s="";return s+='\n										<span class="timeago">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:fn.noop,fn:fn.program(18,g,n),data:n},e=l?l.call(a,(e=a&&a.Headline,null==e||e===!1?e:e.StartDate),(e=a&&a.Headline,null==e||e===!1?e:e.EndDate),r):un.call(a,"eventTimeString",(e=a&&a.Headline,null==e||e===!1?e:e.StartDate),(e=a&&a.Headline,null==e||e===!1?e:e.EndDate),r),(e||0===e)&&(s+=e),s+="</span>\n									"}function g(){var a="";return a}function S(a,n){var e,l,r,s="";return s+='\n										<span class="timeago">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:fn.noop,fn:fn.program(18,g,n),data:n},e=l?l.call(a,(e=a&&a.Headline,null==e||e===!1?e:e.StartDate),(e=a&&a.Headline,null==e||e===!1?e:e.StartDate),r):un.call(a,"eventTimeString",(e=a&&a.Headline,null==e||e===!1?e:e.StartDate),(e=a&&a.Headline,null==e||e===!1?e:e.StartDate),r),(e||0===e)&&(s+=e),s+="</span>\n									"}function D(a,n){var e,l,r,s="";return s+=" ",l=t.hovercard||a&&a.hovercard,r={hash:{},inverse:fn.noop,fn:fn.program(18,g,n),data:n},e=l?l.call(a,(e=a&&a.Headline,null==e||e===!1?e:e.Type),(e=a&&a.Headline,null==e||e===!1?e:e.ID),r):un.call(a,"hovercard",(e=a&&a.Headline,null==e||e===!1?e:e.Type),(e=a&&a.Headline,null==e||e===!1?e:e.ID),r),(e||0===e)&&(s+=e),s+=" "}function T(a,n,e){var l,r="";return r+="\n							",l=t["if"].call(a,(l=a&&a.Headline,null==l||l===!1?l:l.Entity),{hash:{},inverse:fn.noop,fn:fn.programWithDepth(25,I,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n							"}function I(a,n,t){var e,l="";return l+="\n								<p>"+dn((e=t&&t.SystemText,e=null==e||e===!1?e:e.Location,typeof e===mn?e.apply(a):e))+": ",e=a&&a.Headline,e=null==e||e===!1?e:e.Entity,e=null==e||e===!1?e:e.Location,e=typeof e===mn?e.apply(a):e,(e||0===e)&&(l+=e),l+="</p>\n							"}function w(a,n,e){var l,r="";return r+="\n							",l=t["if"].call(a,(l=e&&e.Options,null==l||l===!1?l:l.IncludeSummary),{hash:{},inverse:fn.noop,fn:fn.program(28,A,n),data:n}),(l||0===l)&&(r+=l),r+="\n						"}function A(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,(e=a&&a.Headline,null==e||e===!1?e:e.Summary),{hash:{},inverse:fn.noop,fn:fn.program(29,b,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function b(a){var n,t="";return t+='\n									<p dir="auto">',n=a&&a.Headline,n=null==n||n===!1?n:n.Summary,n=typeof n===mn?n.apply(a):n,(n||0===n)&&(t+=n),t+="</p>\n								"}function C(a,n,t){var e,l="";return l+='\n						<div class="social-advocacy">\n							<button id="soc-adv-share-btn" \n									class="btn btn-primary btn-small" \n									onclick="Widgets.SocialAdvocacy_ShareClicked('+dn((e=a&&a.Headline,e=null==e||e===!1?e:e.ID,typeof e===mn?e.apply(a):e))+')"\n									type="button"\n									aria-label="'+dn((e=t&&t.SystemText,e=null==e||e===!1?e:e.SocialAdvocacyShareAria,typeof e===mn?e.apply(a):e))+'"\n							>\n								'+dn((e=t&&t.SystemText,e=null==e||e===!1?e:e.SocialAdvocacyShare,typeof e===mn?e.apply(a):e))+'&nbsp;<i class="fa fa-share-alt ii ii-share"></i>\n							</button>\n						</div>\n						'}function q(a,n,e){var l,r,s,i="";return i+='\n						<footer>\n							<ul class="actions is-inline is-muted is-small list-unstyled">\n								<li>\n									<span class="icon is-normal">\n										<i class="ii ii-like" aria-hidden="true"></i>\n									</span>\n									<span aria-label="'+dn((l=e&&e.SystemText,l=null==l||l===!1?l:l.haveliked,typeof l===mn?l.apply(a):l))+'">',r=t.equals||a&&a.equals,s={hash:{},inverse:fn.program(36,E,n),fn:fn.program(34,k,n),data:n},l=r?r.call(a,(l=a&&a.Headline,null==l||l===!1?l:l.LikeCount),"-1",s):un.call(a,"equals",(l=a&&a.Headline,null==l||l===!1?l:l.LikeCount),"-1",s),(l||0===l)&&(i+=l),i+="</span>\n								</li>\n								",r=t.equals||a&&a.equals,s={hash:{},inverse:fn.noop,fn:fn.programWithDepth(38,x,n,a),data:n},l=r?r.call(a,(l=a&&a.Headline,l=null==l||l===!1?l:l.Entity,null==l||l===!1?l:l.IsCommentsAllowed),"true",s):un.call(a,"equals",(l=a&&a.Headline,l=null==l||l===!1?l:l.Entity,null==l||l===!1?l:l.IsCommentsAllowed),"true",s),(l||0===l)&&(i+=l),i+="\n							</ul>\n						</footer>\n					"}function k(){return"0"}function E(a){var n;return dn((n=a&&a.Headline,n=null==n||n===!1?n:n.LikeCount,typeof n===mn?n.apply(a):n))}function x(a,n,e){var l,r,s,i="";return i+='\n								<li>\n									<span class="icon is-normal">\n										<i class="ii ii-comments" aria-hidden="true"></i>\n									</span>\n									<span aria-label="'+dn((l=e&&e.SystemText,l=null==l||l===!1?l:l.havecommented,typeof l===mn?l.apply(a):l))+'">',r=t.equals||a&&a.equals,s={hash:{},inverse:fn.program(39,L,n),fn:fn.program(34,k,n),data:n},l=r?r.call(a,(l=a&&a.Headline,l=null==l||l===!1?l:l.Entity,null==l||l===!1?l:l.CommentCount),"-1",s):un.call(a,"equals",(l=a&&a.Headline,l=null==l||l===!1?l:l.Entity,null==l||l===!1?l:l.CommentCount),"-1",s),(l||0===l)&&(i+=l),i+="</span>\n								</li>\n								"}function L(a){var n;return dn((n=a&&a.Headline,n=null==n||n===!1?n:n.CommentCount,typeof n===mn?n.apply(a):n))}function W(a,n,e){var l,r,s,i="";return i+='\n		<li class="gridster-wac">\n			<article class="card-inline">\n				',l=t["if"].call(a,(l=e&&e.Options,null==l||l===!1?l:l.UseAssociatedIcons),{hash:{},inverse:fn.program(44,_,n),fn:fn.program(42,H,n),data:n}),(l||0===l)&&(i+=l),i+='\n				<div class="card-content">\n					<aside>\n						<ul class="list-unstyled list-inline inner-disc muted is-small">\n							<!-- This will return true if AuthorType is greater than 0, i.e. not a person -->\n							',l=t["if"].call(a,a&&a.AuthorType,{hash:{},inverse:fn.program(55,N,n),fn:fn.program(52,M,n),data:n}),(l||0===l)&&(i+=l),i+="\n\n							<li>\n								",r=t.when||a&&a.when,s={hash:{},inverse:fn.program(64,G,n),fn:fn.program(59,Y,n),data:n},l=r?r.call(a,"Type != 'Event'",s):un.call(a,"when","Type != 'Event'",s),(l||0===l)&&(i+=l),i+='\n							</li>\n						</ul>\n					</aside>\n					<header>\n						<a class="is-w-a" target="',(r=t.Target)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Target,l=typeof r===mn?r.call(a,{hash:{},data:n}):r),i+=dn(l)+'" href="',(r=t.URL)?l=r.call(a,{hash:{},data:n}):(r=a&&a.URL,l=typeof r===mn?r.call(a,{hash:{},data:n}):r),i+=dn(l)+'" dir="auto" ',l=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:fn.noop,fn:fn.program(69,X,n),data:n}),(l||0===l)&&(i+=l),i+='>\n							<h5 class="is-ellipsis">',(r=t.Title)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Title,l=typeof r===mn?r.call(a,{hash:{},data:n}):r),(l||0===l)&&(i+=l),i+="</h5>\n						</a>\n\n						",r=t.equals||a&&a.equals,s={hash:{},inverse:fn.programWithDepth(74,$,n,e),fn:fn.programWithDepth(71,Z,n,e),data:n},l=r?r.call(a,a&&a.Type,"Event",s):un.call(a,"equals",a&&a.Type,"Event",s),(l||0===l)&&(i+=l),i+="\n						",l=t["if"].call(a,a&&a.SocialAdvocacyItem,{hash:{},inverse:fn.noop,fn:fn.programWithDepth(78,tn,n,e),data:n}),(l||0===l)&&(i+=l),i+="\n					</header>\n					",l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:fn.noop,fn:fn.programWithDepth(80,en,n,a,e),data:n}),(l||0===l)&&(i+=l),i+="\n				</div>\n			</article>\n		</li>\n	"}function H(a,n){var e,l,r="";return r+='\n					<div class="center-cropped img-bg">\n						<div role="presentation" class="icon-container is-large"><span class="icon is-medium"><i class="ii ',(l=t.AssociatedIcon)?e=l.call(a,{hash:{},data:n}):(l=a&&a.AssociatedIcon,e=typeof l===mn?l.call(a,{hash:{},data:n}):l),r+=dn(e)+'"></i></span></div>\n					</div>\n				'}function _(a,n){var e,l,r,s="";return s+="\n					",l=t.when||a&&a.when,r={hash:{},inverse:fn.program(50,B,n),fn:fn.program(45,U,n),data:n},e=l?l.call(a,"AssetID != -1",r):un.call(a,"when","AssetID != -1",r),(e||0===e)&&(s+=e),s+="\n				"}function U(a,n){var e,l,r="";return r+='\n						<div class="thumbnail-container">\n							<img src="',e=t["if"].call(a,a&&a.AssetID,{hash:{},inverse:fn.program(48,R,n),fn:fn.program(46,P,n),data:n}),(e||0===e)&&(r+=e),r+='" style="object-position: 0% ',(l=t.BackgroundYpos)?e=l.call(a,{hash:{},data:n}):(l=a&&a.BackgroundYpos,e=typeof l===mn?l.call(a,{hash:{},data:n}):l),r+=dn(e)+'%;" alt="" role="presentation" class="thumbnail" data-object-fit="cover" loading="lazy"/>\n						</div>\n					'}function P(a,n){var e,l,r;return l=t.asset||a&&a.asset,r={hash:{},data:n},e=l?l.call(a,a&&a.AssetID,5,r):un.call(a,"asset",a&&a.AssetID,5,r),e||0===e?e:""}function R(a,n){var e,l;return dn((e=t.avatar||a&&a.avatar,l={hash:{},data:n},e?e.call(a,a&&a.Type,l):un.call(a,"avatar",a&&a.Type,l)))}function B(a,n){var e,l,r="";return r+='\n						<div role="presentation" class="icon-container is-large"><span class="icon is-medium"><i class="ii ',(l=t.AssociatedIcon)?e=l.call(a,{hash:{},data:n}):(l=a&&a.AssociatedIcon,e=typeof l===mn?l.call(a,{hash:{},data:n}):l),r+=dn(e)+'"></i></span></div>\n					'}function M(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,a&&a.Author,{hash:{},inverse:fn.noop,fn:fn.program(53,O,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function O(a,n){var e,l,r="";return r+='\n									 <!-- Display a span instead of a link -->\n									<li class="auth is-author">\n										<span><strong>',(l=t.Author)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Author,e=typeof l===mn?l.call(a,{hash:{},data:n}):l),r+=dn(e)+"</strong></span>\n									</li>  \n								"}function N(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,a&&a.Author,{hash:{},inverse:fn.noop,fn:fn.program(56,F,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function F(a,n){var e,l,r,s="";return s+='\n									<li class="auth is-author">\n										<a href="'+dn((l=t.link||a&&a.link,r={hash:{},data:n},l?l.call(a,"Person",a&&a.AuthorID,r):un.call(a,"link","Person",a&&a.AuthorID,r)))+'" class="author" ',e=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:fn.noop,fn:fn.program(57,z,n),data:n}),(e||0===e)&&(s+=e),s+=">",(l=t.Author)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Author,e=typeof l===mn?l.call(a,{hash:{},data:n}):l),s+=dn(e)+"</a>\n									</li>\n								"}function z(a,n){var e,l,r="";return r+=' data-personid="',(l=t.AuthorID)?e=l.call(a,{hash:{},data:n}):(l=a&&a.AuthorID,e=typeof l===mn?l.call(a,{hash:{},data:n}):l),r+=dn(e)+'" '}function Y(a,n){var e,l="";return l+='\n									<time class="timeago" datetime="',e=t["if"].call(a,a&&a.ShowUpdateDate,{hash:{},inverse:fn.program(62,V,n),fn:fn.program(60,j,n),data:n}),(e||0===e)&&(l+=e),l+='"></time>\n								'}function j(a,n){var e,l,r="";return r+=" ",(l=t.UpdateDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.UpdateDate,e=typeof l===mn?l.call(a,{hash:{},data:n}):l),r+=dn(e)+" "}function V(a,n){var e,l,r="";return r+=" ",(l=t.StartDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.StartDate,e=typeof l===mn?l.call(a,{hash:{},data:n}):l),r+=dn(e)+" "}function G(a,n){var e,l,r,s="";return s+="\n									",l=t.equals||a&&a.equals,r={hash:{},inverse:fn.program(67,K,n),fn:fn.program(65,J,n),data:n},e=l?l.call(a,(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r):un.call(a,"equals",(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r),(e||0===e)&&(s+=e),s+="\n								"}function J(a,n){var e,l,r,s="";return s+='\n										<span class="timeago">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:fn.noop,fn:fn.program(18,g,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.EndDate,r):un.call(a,"eventTimeString",a&&a.StartDate,a&&a.EndDate,r),(e||0===e)&&(s+=e),s+="</span>\n									"}function K(a,n){var e,l,r,s="";return s+='\n										<span class="timeago">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:fn.noop,fn:fn.program(18,g,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.StartDate,r):un.call(a,"eventTimeString",a&&a.StartDate,a&&a.StartDate,r),(e||0===e)&&(s+=e),s+="</span>\n									"}function X(a,n){var e,l,r,s="";return s+=" ",l=t.hovercard||a&&a.hovercard,r={hash:{},inverse:fn.noop,fn:fn.program(18,g,n),data:n},e=l?l.call(a,a&&a.Type,a&&a.ID,r):un.call(a,"hovercard",a&&a.Type,a&&a.ID,r),(e||0===e)&&(s+=e),s+=" "}function Z(a,n,e){var l,r="";return r+="\n							",l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:fn.noop,fn:fn.programWithDepth(72,Q,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n							"}function Q(a,n,t){var e,l="";return l+="\n								<p>"+dn((e=t&&t.SystemText,e=null==e||e===!1?e:e.Location,typeof e===mn?e.apply(a):e))+": ",e=a&&a.Entity,e=null==e||e===!1?e:e.Location,e=typeof e===mn?e.apply(a):e,(e||0===e)&&(l+=e),l+="</p>\n							"}function $(a,n,e){var l,r="";return r+="\n							",l=t["if"].call(a,(l=e&&e.Options,null==l||l===!1?l:l.IncludeSummary),{hash:{},inverse:fn.noop,fn:fn.program(75,an,n),data:n}),(l||0===l)&&(r+=l),r+="\n						"}function an(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,a&&a.Summary,{hash:{},inverse:fn.noop,fn:fn.program(76,nn,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function nn(a,n){var e,l,r,s="";return s+='\n									<p dir="auto">',l=t.truncate||a&&a.truncate,r={hash:{},data:n},e=l?l.call(a,a&&a.Summary,(e=a&&a.Summary,null==e||e===!1?e:e.length),r):un.call(a,"truncate",a&&a.Summary,(e=a&&a.Summary,null==e||e===!1?e:e.length),r),(e||0===e)&&(s+=e),s+="</p>\n								"}function tn(a,n,e){var l,r,s="";return s+='\n						<button id="soc-adv-share-btn"\n								class="btn btn-primary btn-small" \n								onclick="Widgets.SocialAdvocacy_ShareClicked(',(r=t.ID)?l=r.call(a,{hash:{},data:n}):(r=a&&a.ID,l=typeof r===mn?r.call(a,{hash:{},data:n}):r),s+=dn(l)+')"\n								type="button"\n								aria-label="'+dn((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShareAria,typeof l===mn?l.apply(a):l))+'"\n						>\n							'+dn((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShare,typeof l===mn?l.apply(a):l))+'&nbsp;<i class="fa fa-share-alt ii ii-share"></i>\n						</button>\n						'}function en(a,n,e,l){var r,s,i,o="";return o+='\n					<footer>\n						<ul class="actions is-inline is-muted is-small list-unstyled">\n							<li>\n								<span class="icon is-normal">\n									<i class="ii ii-like" aria-hidden="true"></i>\n								</span>\n								<span aria-label="'+dn((r=l&&l.SystemText,r=null==r||r===!1?r:r.haveliked,typeof r===mn?r.apply(a):r))+'">',s=t.equals||a&&a.equals,i={hash:{},inverse:fn.program(81,ln,n),fn:fn.program(34,k,n),data:n},r=s?s.call(a,a&&a.LikeCount,"-1",i):un.call(a,"equals",a&&a.LikeCount,"-1",i),(r||0===r)&&(o+=r),o+="</span>\n							</li>\n							",s=t.equals||a&&a.equals,i={hash:{},inverse:fn.noop,fn:fn.programWithDepth(83,rn,n,e),data:n},r=s?s.call(a,(r=a&&a.Entity,null==r||r===!1?r:r.IsCommentsAllowed),"true",i):un.call(a,"equals",(r=a&&a.Entity,null==r||r===!1?r:r.IsCommentsAllowed),"true",i),(r||0===r)&&(o+=r),o+="\n						</ul>\n					</footer>\n					"}function ln(a,n){var e,l;return(l=t.LikeCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.LikeCount,e=typeof l===mn?l.call(a,{hash:{},data:n}):l),dn(e)}function rn(a,n,e){var l,r,s,i="";return i+='\n							<li>\n								<span class="icon is-normal">\n									<i class="ii ii-comments" aria-hidden="true"></i>\n								</span>\n								<span aria-label="'+dn((l=e&&e.SystemText,l=null==l||l===!1?l:l.havecommented,typeof l===mn?l.apply(a):l))+'">',r=t.equals||a&&a.equals,s={hash:{},inverse:fn.program(84,sn,n),fn:fn.program(34,k,n),data:n},l=r?r.call(a,(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s):un.call(a,"equals",(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s),(l||0===l)&&(i+=l),i+="</span>\n							</li>\n							"}function sn(a,n){var e,l;return(l=t.CommentCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.CommentCount,e=typeof l===mn?l.call(a,{hash:{},data:n}):l),dn(e)}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var on,cn,hn,pn="",un=t.helperMissing,dn=this.escapeExpression,fn=this,mn="function";return pn+='<ul class="list-unstyled widget-list has-thumbnail-overlay">\n	<li class="is-headline is-inverted gridster-wac">\n			<article class="card-inline">\n				',cn=t.when||n&&n.when,hn={hash:{},inverse:fn.noop,fn:fn.program(1,s,l),data:l},on=cn?cn.call(n,"Headline.AssetID != -1",hn):un.call(n,"when","Headline.AssetID != -1",hn),(on||0===on)&&(pn+=on),pn+='\n				<div class="card-content">\n					<aside>\n						<ul class="list-unstyled list-inline inner-disc muted is-small">\n							<!-- This will return true if AuthorType is greater than 0, i.e. not a person -->\n							',on=t["if"].call(n,(on=n&&n.Headline,null==on||on===!1?on:on.AuthorType),{hash:{},inverse:fn.program(7,h,l),fn:fn.program(4,o,l),data:l}),(on||0===on)&&(pn+=on),pn+="\n\n							<li>\n								",cn=t.when||n&&n.when,hn={hash:{},inverse:fn.program(16,v,l),fn:fn.program(11,d,l),data:l},on=cn?cn.call(n,"Headline.Type != 'Event'",hn):un.call(n,"when","Headline.Type != 'Event'",hn),(on||0===on)&&(pn+=on),pn+='\n							</li>\n						</ul>\n					</aside>\n					<header>\n						<a class="is-w-a" target="'+dn((on=n&&n.Headline,on=null==on||on===!1?on:on.Target,typeof on===mn?on.apply(n):on))+'" href="'+dn((on=n&&n.Headline,on=null==on||on===!1?on:on.URL,typeof on===mn?on.apply(n):on))+'" dir="auto" ',on=t["if"].call(n,(on=n&&n.Headline,null==on||on===!1?on:on.ShowHoverCard),{hash:{},inverse:fn.noop,fn:fn.program(22,D,l),data:l}),(on||0===on)&&(pn+=on),pn+='>\n							<h5 class="is-ellipsis">',on=n&&n.Headline,on=null==on||on===!1?on:on.Title,on=typeof on===mn?on.apply(n):on,(on||0===on)&&(pn+=on),pn+="</h5>\n						</a>\n						",cn=t.equals||n&&n.equals,hn={hash:{},inverse:fn.programWithDepth(27,w,l,r),fn:fn.programWithDepth(24,T,l,r),data:l},on=cn?cn.call(n,(on=n&&n.Headline,null==on||on===!1?on:on.Type),"Event",hn):un.call(n,"equals",(on=n&&n.Headline,null==on||on===!1?on:on.Type),"Event",hn),(on||0===on)&&(pn+=on),pn+="\n\n						",on=t["if"].call(n,(on=n&&n.Headline,null==on||on===!1?on:on.SocialAdvocacyItem),{hash:{},inverse:fn.noop,fn:fn.programWithDepth(31,C,l,n),data:l}),(on||0===on)&&(pn+=on),pn+="\n					</header>\n					",on=t["if"].call(n,(on=n&&n.Headline,null==on||on===!1?on:on.Entity),{hash:{},inverse:fn.noop,fn:fn.programWithDepth(33,q,l,n),data:l}),(on||0===on)&&(pn+=on),pn+="\n				</div>\n			</article>\n		</li>\n	",on=t.each.call(n,n&&n.Items,{hash:{},inverse:fn.noop,fn:fn.programWithDepth(41,W,l,n),data:l}),(on||0===on)&&(pn+=on),pn+="\n</ul>\n"}),n.widgets_content_layout3=a(function(a,n,t,e,l){function r(a,n,e){var l,r,i,o="";return o+='\n		<li class="gridster-wac">\n			<article class="card-inline">\n				',r=t.when||a&&a.when,i={hash:{},inverse:T.program(7,c,n),fn:T.program(2,s,n),data:n},l=r?r.call(a,"AssetID != -1",i):S.call(a,"when","AssetID != -1",i),(l||0===l)&&(o+=l),o+='\n				<div class="card-content">\n					<header>\n						<a class="is-w-a" target="',(r=t.Target)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Target,l=typeof r===I?r.call(a,{hash:{},data:n}):r),o+=D(l)+'" href="',(r=t.URL)?l=r.call(a,{hash:{},data:n}):(r=a&&a.URL,l=typeof r===I?r.call(a,{hash:{},data:n}):r),o+=D(l)+'" dir="auto" ',l=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:T.noop,fn:T.program(9,h,n),data:n}),(l||0===l)&&(o+=l),o+='>\n							<h5 class="is-ellipsis">',(r=t.Title)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Title,l=typeof r===I?r.call(a,{hash:{},data:n}):r),(l||0===l)&&(o+=l),o+="</h5>\n						</a>\n\n						",r=t.equals||a&&a.equals,i={hash:{},inverse:T.programWithDepth(15,f,n,e),fn:T.programWithDepth(12,u,n,e),data:n},l=r?r.call(a,a&&a.Type,"Event",i):S.call(a,"equals",a&&a.Type,"Event",i),(l||0===l)&&(o+=l),o+="\n					</header>\n				</div>\n			</article>\n		</li>\n	"}function s(a,n){var e,l,r="";return r+='\n				<div class="thumbnail-container">\n					<img src="',e=t["if"].call(a,a&&a.AssetID,{hash:{},inverse:T.program(5,o,n),fn:T.program(3,i,n),data:n}),(e||0===e)&&(r+=e),r+='" style="object-position: 50% ',(l=t.BackgroundYpos)?e=l.call(a,{hash:{},data:n}):(l=a&&a.BackgroundYpos,e=typeof l===I?l.call(a,{hash:{},data:n}):l),r+=D(e)+'%;" alt="" role="presentation" class="thumbnail" data-object-fit="cover" loading="lazy" />\n				</div>\n				'}function i(a,n){var e,l,r;return l=t.asset||a&&a.asset,r={hash:{},data:n},e=l?l.call(a,a&&a.AssetID,5,r):S.call(a,"asset",a&&a.AssetID,5,r),e||0===e?e:""}function o(a,n){var e,l;return D((e=t.avatar||a&&a.avatar,l={hash:{},data:n},e?e.call(a,a&&a.Type,l):S.call(a,"avatar",a&&a.Type,l)))}function c(a,n){var e,l,r="";return r+='\n					<div role="presentation" class="icon-container is-large"><span class="icon is-medium"><i class="ii ',(l=t.AssociatedIcon)?e=l.call(a,{hash:{},data:n}):(l=a&&a.AssociatedIcon,e=typeof l===I?l.call(a,{hash:{},data:n}):l),r+=D(e)+'"></i></span></div>\n				'}function h(a,n){var e,l,r,s="";return s+=" ",l=t.hovercard||a&&a.hovercard,r={hash:{},inverse:T.noop,fn:T.program(10,p,n),data:n},e=l?l.call(a,a&&a.Type,a&&a.ID,r):S.call(a,"hovercard",a&&a.Type,a&&a.ID,r),(e||0===e)&&(s+=e),s+=" "}function p(){var a="";return a}function u(a,n,e){var l,r="";return r+="\n							",l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:T.noop,fn:T.programWithDepth(13,d,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n							"}function d(a,n,t){var e,l="";return l+="\n								<p>"+D((e=t&&t.SystemText,e=null==e||e===!1?e:e.Location,typeof e===I?e.apply(a):e))+": ",e=a&&a.Entity,e=null==e||e===!1?e:e.Location,e=typeof e===I?e.apply(a):e,(e||0===e)&&(l+=e),l+="</p>\n							"}function f(a,n,e){var l,r="";return r+="\n							",l=t["if"].call(a,(l=e&&e.Options,null==l||l===!1?l:l.IncludeSummary),{hash:{},inverse:T.noop,fn:T.program(16,m,n),data:n}),(l||0===l)&&(r+=l),r+="\n						"}function m(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,a&&a.Summary,{hash:{},inverse:T.noop,fn:T.program(17,v,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function v(a,n){var e,l,r,s="";return s+='\n									<p dir="auto">',l=t.truncate||a&&a.truncate,r={hash:{},data:n},e=l?l.call(a,a&&a.Summary,(e=a&&a.Summary,null==e||e===!1?e:e.length),r):S.call(a,"truncate",a&&a.Summary,(e=a&&a.Summary,null==e||e===!1?e:e.length),r),(e||0===e)&&(s+=e),s+="</p>\n								"}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var y,g="",S=t.helperMissing,D=this.escapeExpression,T=this,I="function";return g+='<ul class="list-unstyled widget-list has-thumbnail-overlay">\n	',y=t.each.call(n,n&&n.Items,{hash:{},inverse:T.noop,fn:T.programWithDepth(1,r,l,n),data:l}),(y||0===y)&&(g+=y),g+="\n</ul>\n"}),n.widgets_content_layout4=a(function(a,n,t,e,l,r,s){function i(a,n){var e,l="";return l+='\n				<div class="thumbnail-container">\n					<img src="',e=t["if"].call(a,(e=a&&a.Headline,null==e||e===!1?e:e.AssetID),{hash:{},inverse:fn.noop,fn:fn.program(2,o,n),data:n}),(e||0===e)&&(l+=e),l+='" style="object-position: 50% '+dn((e=a&&a.Headline,e=null==e||e===!1?e:e.BackgroundYpos,typeof e===mn?e.apply(a):e))+'%;" alt="" role="presentation" class="thumbnail" data-object-fit="cover" loading="lazy" />\n				</div>\n				'}function o(a,n){var e,l,r;return dn((l=t.asset||a&&a.asset,r={hash:{},data:n},l?l.call(a,(e=a&&a.Headline,null==e||e===!1?e:e.AssetID),7,r):un.call(a,"asset",(e=a&&a.Headline,null==e||e===!1?e:e.AssetID),7,r)))}function c(a){var n,t="";return t+='\n					<div role="presentation" class="icon-container is-large">\n						<span class="icon is-medium">\n							<i class="ii '+dn((n=a&&a.Headline,n=null==n||n===!1?n:n.AssociatedIcon,typeof n===mn?n.apply(a):n))+'"></i>\n						</span>\n					</div>\n				'}function h(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,(e=a&&a.Headline,null==e||e===!1?e:e.Author),{hash:{},inverse:fn.noop,fn:fn.program(7,p,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function p(a){var n,t="";return t+='\n									<li class="is-author">\n										<span><strong>'+dn((n=a&&a.Headline,n=null==n||n===!1?n:n.Author,typeof n===mn?n.apply(a):n))+"</strong></span>\n									</li>\n								"}function u(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,(e=a&&a.Headline,null==e||e===!1?e:e.Author),{hash:{},inverse:fn.noop,fn:fn.program(10,d,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function d(a,n){var e,l="";return l+='\n									<li class="is-author">\n										<a href="/Interact/Pages/Modules/Directory/Entry.aspx?person='+dn((e=a&&a.Headline,e=null==e||e===!1?e:e.AuthorID,typeof e===mn?e.apply(a):e))+'" class="author" ',e=t["if"].call(a,(e=a&&a.Headline,null==e||e===!1?e:e.ShowHoverCard),{hash:{},inverse:fn.noop,fn:fn.program(11,f,n),data:n}),(e||0===e)&&(l+=e),l+=">"+dn((e=a&&a.Headline,e=null==e||e===!1?e:e.Author,typeof e===mn?e.apply(a):e))+"</a>\n									</li>\n								"
}function f(a){var n,t="";return t+=' data-personid="'+dn((n=a&&a.Headline,n=null==n||n===!1?n:n.AuthorID,typeof n===mn?n.apply(a):n))+'" '}function m(a,n){var e,l="";return l+='\n									<time class="timeago" datetime="',e=t["if"].call(a,(e=a&&a.Headline,null==e||e===!1?e:e.ShowUpdateDate),{hash:{},inverse:fn.program(16,y,n),fn:fn.program(14,v,n),data:n}),(e||0===e)&&(l+=e),l+='"></time>\n								'}function v(a){var n,t="";return t+=" "+dn((n=a&&a.Headline,n=null==n||n===!1?n:n.UpdateDate,typeof n===mn?n.apply(a):n))+" "}function y(a){var n,t="";return t+=" "+dn((n=a&&a.Headline,n=null==n||n===!1?n:n.StartDate,typeof n===mn?n.apply(a):n))+" "}function g(a,n){var e,l,r,s="";return s+="\n									",l=t.equals||a&&a.equals,r={hash:{},inverse:fn.program(22,T,n),fn:fn.program(19,S,n),data:n},e=l?l.call(a,(e=a&&a.Headline,e=null==e||e===!1?e:e.Entity,null==e||e===!1?e:e.AllDay),"false",r):un.call(a,"equals",(e=a&&a.Headline,e=null==e||e===!1?e:e.Entity,null==e||e===!1?e:e.AllDay),"false",r),(e||0===e)&&(s+=e),s+="\n								"}function S(a,n){var e,l,r,s="";return s+='\n										<span class="timeago">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:fn.noop,fn:fn.program(20,D,n),data:n},e=l?l.call(a,(e=a&&a.Headline,null==e||e===!1?e:e.StartDate),(e=a&&a.Headline,null==e||e===!1?e:e.EndDate),r):un.call(a,"eventTimeString",(e=a&&a.Headline,null==e||e===!1?e:e.StartDate),(e=a&&a.Headline,null==e||e===!1?e:e.EndDate),r),(e||0===e)&&(s+=e),s+="</span>\n									"}function D(){var a="";return a}function T(a,n){var e,l,r,s="";return s+='\n										<span class="timeago">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:fn.noop,fn:fn.program(20,D,n),data:n},e=l?l.call(a,(e=a&&a.Headline,null==e||e===!1?e:e.StartDate),(e=a&&a.Headline,null==e||e===!1?e:e.StartDate),r):un.call(a,"eventTimeString",(e=a&&a.Headline,null==e||e===!1?e:e.StartDate),(e=a&&a.Headline,null==e||e===!1?e:e.StartDate),r),(e||0===e)&&(s+=e),s+="</span>\n									"}function I(a,n){var e,l,r,s="";return s+=" ",l=t.hovercard||a&&a.hovercard,r={hash:{},inverse:fn.noop,fn:fn.program(20,D,n),data:n},e=l?l.call(a,(e=a&&a.Headline,null==e||e===!1?e:e.Type),(e=a&&a.Headline,null==e||e===!1?e:e.ID),r):un.call(a,"hovercard",(e=a&&a.Headline,null==e||e===!1?e:e.Type),(e=a&&a.Headline,null==e||e===!1?e:e.ID),r),(e||0===e)&&(s+=e),s+=" "}function w(a,n,e){var l,r="";return r+="\n							",l=t["if"].call(a,(l=a&&a.Headline,null==l||l===!1?l:l.Entity),{hash:{},inverse:fn.noop,fn:fn.programWithDepth(27,A,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n							"}function A(a,n,t){var e,l="";return l+="\n								<p>"+dn((e=t&&t.SystemText,e=null==e||e===!1?e:e.Location,typeof e===mn?e.apply(a):e))+": ",e=a&&a.Headline,e=null==e||e===!1?e:e.Entity,e=null==e||e===!1?e:e.Location,e=typeof e===mn?e.apply(a):e,(e||0===e)&&(l+=e),l+="</p>\n							"}function b(a,n,e){var l,r="";return r+="\n							",l=t["if"].call(a,(l=e&&e.Options,null==l||l===!1?l:l.IncludeSummary),{hash:{},inverse:fn.noop,fn:fn.program(30,C,n),data:n}),(l||0===l)&&(r+=l),r+="\n						"}function C(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,(e=a&&a.Headline,null==e||e===!1?e:e.Summary),{hash:{},inverse:fn.noop,fn:fn.program(31,q,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function q(a){var n,t="";return t+='\n									<p dir="auto">',n=a&&a.Headline,n=null==n||n===!1?n:n.Summary,n=typeof n===mn?n.apply(a):n,(n||0===n)&&(t+=n),t+="</p>\n								"}function k(a,n,e,l){var r,s,i,o="";return o+='\n					<footer>\n						<ul class="actions is-inline is-muted is-small list-unstyled">\n							<li>\n								<span class="icon is-normal">\n									<i class="ii ii-like" aria-hidden="true"></i>\n								</span>\n								<span aria-label="'+dn((r=l&&l.SystemText,r=null==r||r===!1?r:r.haveliked,typeof r===mn?r.apply(a):r))+'">',s=t.equals||a&&a.equals,i={hash:{},inverse:fn.program(36,x,n),fn:fn.program(34,E,n),data:n},r=s?s.call(a,(r=a&&a.Headline,null==r||r===!1?r:r.LikeCount),"-1",i):un.call(a,"equals",(r=a&&a.Headline,null==r||r===!1?r:r.LikeCount),"-1",i),(r||0===r)&&(o+=r),o+="</span>\n							</li>\n							",s=t.equals||a&&a.equals,i={hash:{},inverse:fn.noop,fn:fn.programWithDepth(38,L,n,e),data:n},r=s?s.call(a,(r=a&&a.Headline,r=null==r||r===!1?r:r.Entity,null==r||r===!1?r:r.IsCommentsAllowed),"true",i):un.call(a,"equals",(r=a&&a.Headline,r=null==r||r===!1?r:r.Entity,null==r||r===!1?r:r.IsCommentsAllowed),"true",i),(r||0===r)&&(o+=r),o+="\n						</ul>\n						",r=t["if"].call(a,(r=a&&a.Headline,null==r||r===!1?r:r.SocialAdvocacyItem),{hash:{},inverse:fn.noop,fn:fn.program(41,H,n),data:n}),(r||0===r)&&(o+=r),o+="\n					</footer>\n					"}function E(){return"0"}function x(a){var n;return dn((n=a&&a.Headline,n=null==n||n===!1?n:n.LikeCount,typeof n===mn?n.apply(a):n))}function L(a,n,e){var l,r,s,i="";return i+='\n							<li>\n								<span class="icon is-normal">\n									<i class="ii ii-comments" aria-hidden="true"></i>\n								</span>\n								<span aria-label="'+dn((l=e&&e.SystemText,l=null==l||l===!1?l:l.havecommented,typeof l===mn?l.apply(a):l))+'">',r=t.equals||a&&a.equals,s={hash:{},inverse:fn.program(39,W,n),fn:fn.program(34,E,n),data:n},l=r?r.call(a,(l=a&&a.Headline,l=null==l||l===!1?l:l.Entity,null==l||l===!1?l:l.CommentCount),"-1",s):un.call(a,"equals",(l=a&&a.Headline,l=null==l||l===!1?l:l.Entity,null==l||l===!1?l:l.CommentCount),"-1",s),(l||0===l)&&(i+=l),i+="</span>\n							</li>\n							"}function W(a){var n;return dn((n=a&&a.Headline,n=null==n||n===!1?n:n.CommentCount,typeof n===mn?n.apply(a):n))}function H(a){var n,t="";return t+='\n						<div class="social-advocacy">	\n							<button id="soc-adv-share-btn" \n									class="btn btn-primary btn-small" \n									onclick="Widgets.SocialAdvocacy_ShareClicked('+dn((n=a&&a.Headline,n=null==n||n===!1?n:n.ID,typeof n===mn?n.apply(a):n))+')"\n									type="button"\n									aria-label="'+dn((n=a&&a.SystemText,n=null==n||n===!1?n:n.SocialAdvocacyShareAria,typeof n===mn?n.apply(a):n))+'"\n							>\n								'+dn((n=a&&a.SystemText,n=null==n||n===!1?n:n.SocialAdvocacyShare,typeof n===mn?n.apply(a):n))+'&nbsp;<i class="fa fa-share-alt ii ii-share"></i>\n							</button>\n						</div>\n						'}function _(a,n,e,l){var r,s,i,o="";return o+='\n		<li class="gridster-wac">\n			<article class="card-inline">\n			',s=t.when||a&&a.when,i={hash:{},inverse:fn.program(49,B,n),fn:fn.program(44,U,n),data:n},r=s?s.call(a,"AssetID != -1",i):un.call(a,"when","AssetID != -1",i),(r||0===r)&&(o+=r),o+='\n				<div class="card-content">\n					<aside>\n						<ul class="list-unstyled list-inline inner-disc muted is-small">\n							<!-- This will return true if AuthorType is greater than 0, i.e. not a person -->\n							',r=t["if"].call(a,a&&a.AuthorType,{hash:{},inverse:fn.program(54,N,n),fn:fn.program(51,M,n),data:n}),(r||0===r)&&(o+=r),o+="\n\n							<li>\n								",s=t.when||a&&a.when,i={hash:{},inverse:fn.program(63,G,n),fn:fn.program(58,Y,n),data:n},r=s?s.call(a,"Type != 'Event'",i):un.call(a,"when","Type != 'Event'",i),(r||0===r)&&(o+=r),o+='\n							</li>\n						</ul>\n					</aside>\n					<header>\n						<a class="is-w-a" target="',(s=t.Target)?r=s.call(a,{hash:{},data:n}):(s=a&&a.Target,r=typeof s===mn?s.call(a,{hash:{},data:n}):s),o+=dn(r)+'" href="',(s=t.URL)?r=s.call(a,{hash:{},data:n}):(s=a&&a.URL,r=typeof s===mn?s.call(a,{hash:{},data:n}):s),o+=dn(r)+'" dir="auto" ',r=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:fn.noop,fn:fn.program(68,X,n),data:n}),(r||0===r)&&(o+=r),o+='>\n							<h5 class="is-ellipsis">',(s=t.Title)?r=s.call(a,{hash:{},data:n}):(s=a&&a.Title,r=typeof s===mn?s.call(a,{hash:{},data:n}):s),(r||0===r)&&(o+=r),o+="</h5>\n						</a>\n\n						",s=t.equals||a&&a.equals,i={hash:{},inverse:fn.programWithDepth(73,$,n,e),fn:fn.programWithDepth(70,Z,n,e),data:n},r=s?s.call(a,a&&a.Type,"Event",i):un.call(a,"equals",a&&a.Type,"Event",i),(r||0===r)&&(o+=r),o+="\n						",r=t["if"].call(a,a&&a.SocialAdvocacyItem,{hash:{},inverse:fn.noop,fn:fn.programWithDepth(77,tn,n,e),data:n}),(r||0===r)&&(o+=r),o+="\n					</header>\n					",r=t["if"].call(a,a&&a.Entity,{hash:{},inverse:fn.noop,fn:fn.programWithDepth(79,en,n,e,l),data:n}),(r||0===r)&&(o+=r),o+="\n				</div>\n			</article>\n		</li>\n	"}function U(a,n){var e,l,r="";return r+='\n				<div class="thumbnail-container">\n					<img src="',e=t["if"].call(a,a&&a.AssetID,{hash:{},inverse:fn.program(47,R,n),fn:fn.program(45,P,n),data:n}),(e||0===e)&&(r+=e),r+='" style="object-position: 0% ',(l=t.BackgroundYpos)?e=l.call(a,{hash:{},data:n}):(l=a&&a.BackgroundYpos,e=typeof l===mn?l.call(a,{hash:{},data:n}):l),r+=dn(e)+'%;" alt="" role="presentation" class="thumbnail" data-object-fit="cover" loading="lazy" />\n				</div>\n			'}function P(a,n){var e,l,r;return l=t.asset||a&&a.asset,r={hash:{},data:n},e=l?l.call(a,a&&a.AssetID,5,r):un.call(a,"asset",a&&a.AssetID,5,r),e||0===e?e:""}function R(a,n){var e,l;return dn((e=t.avatar||a&&a.avatar,l={hash:{},data:n},e?e.call(a,a&&a.Type,l):un.call(a,"avatar",a&&a.Type,l)))}function B(a,n){var e,l,r="";return r+='\n				<div role="presentation" class="icon-container is-large"><span class="icon is-medium"><i class="ii ',(l=t.AssociatedIcon)?e=l.call(a,{hash:{},data:n}):(l=a&&a.AssociatedIcon,e=typeof l===mn?l.call(a,{hash:{},data:n}):l),r+=dn(e)+'"></i></span></div>\n			'}function M(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,a&&a.Author,{hash:{},inverse:fn.noop,fn:fn.program(52,O,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function O(a,n){var e,l,r="";return r+='\n									<!-- Display a span instead of a link -->\n									<li class="is-author">\n										<span><strong>',(l=t.Author)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Author,e=typeof l===mn?l.call(a,{hash:{},data:n}):l),r+=dn(e)+"</strong></span>\n									</li>  \n								"}function N(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,a&&a.Author,{hash:{},inverse:fn.noop,fn:fn.program(55,F,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function F(a,n){var e,l,r,s="";return s+='\n									<li class="is-author">\n										<a href="'+dn((l=t.link||a&&a.link,r={hash:{},data:n},l?l.call(a,"Person",a&&a.AuthorID,r):un.call(a,"link","Person",a&&a.AuthorID,r)))+'" class="author" ',e=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:fn.noop,fn:fn.program(56,z,n),data:n}),(e||0===e)&&(s+=e),s+=">",(l=t.Author)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Author,e=typeof l===mn?l.call(a,{hash:{},data:n}):l),s+=dn(e)+"</a>\n									</li>\n								"}function z(a,n){var e,l,r="";return r+=' data-personid="',(l=t.AuthorID)?e=l.call(a,{hash:{},data:n}):(l=a&&a.AuthorID,e=typeof l===mn?l.call(a,{hash:{},data:n}):l),r+=dn(e)+'" '}function Y(a,n){var e,l="";return l+='\n									<time class="timeago" datetime="',e=t["if"].call(a,a&&a.ShowUpdateDate,{hash:{},inverse:fn.program(61,V,n),fn:fn.program(59,j,n),data:n}),(e||0===e)&&(l+=e),l+='"></time>\n								'}function j(a,n){var e,l,r="";return r+=" ",(l=t.UpdateDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.UpdateDate,e=typeof l===mn?l.call(a,{hash:{},data:n}):l),r+=dn(e)+" "}function V(a,n){var e,l,r="";return r+=" ",(l=t.StartDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.StartDate,e=typeof l===mn?l.call(a,{hash:{},data:n}):l),r+=dn(e)+" "}function G(a,n){var e,l,r,s="";return s+="\n									",l=t.equals||a&&a.equals,r={hash:{},inverse:fn.program(66,K,n),fn:fn.program(64,J,n),data:n},e=l?l.call(a,(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r):un.call(a,"equals",(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r),(e||0===e)&&(s+=e),s+="\n								"}function J(a,n){var e,l,r,s="";return s+='\n										<span class="timeago">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:fn.noop,fn:fn.program(20,D,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.EndDate,r):un.call(a,"eventTimeString",a&&a.StartDate,a&&a.EndDate,r),(e||0===e)&&(s+=e),s+="</span>\n									"}function K(a,n){var e,l,r,s="";return s+='\n										<span class="timeago">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:fn.noop,fn:fn.program(20,D,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.StartDate,r):un.call(a,"eventTimeString",a&&a.StartDate,a&&a.StartDate,r),(e||0===e)&&(s+=e),s+="</span>\n									"}function X(a,n){var e,l,r,s="";return s+=" ",l=t.hovercard||a&&a.hovercard,r={hash:{},inverse:fn.noop,fn:fn.program(20,D,n),data:n},e=l?l.call(a,a&&a.Type,a&&a.ID,r):un.call(a,"hovercard",a&&a.Type,a&&a.ID,r),(e||0===e)&&(s+=e),s+=" "}function Z(a,n,e){var l,r="";return r+="\n							",l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:fn.noop,fn:fn.programWithDepth(71,Q,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n							"}function Q(a,n,t){var e,l="";return l+="\n								<p>"+dn((e=t&&t.SystemText,e=null==e||e===!1?e:e.Location,typeof e===mn?e.apply(a):e))+": ",e=a&&a.Entity,e=null==e||e===!1?e:e.Location,e=typeof e===mn?e.apply(a):e,(e||0===e)&&(l+=e),l+="</p>\n							"}function $(a,n,e){var l,r="";return r+="\n							",l=t["if"].call(a,(l=e&&e.Options,null==l||l===!1?l:l.IncludeSummary),{hash:{},inverse:fn.noop,fn:fn.program(74,an,n),data:n}),(l||0===l)&&(r+=l),r+="\n						"}function an(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,a&&a.Summary,{hash:{},inverse:fn.noop,fn:fn.program(75,nn,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function nn(a,n){var e,l,r,s="";return s+='\n									<p dir="auto">',l=t.truncate||a&&a.truncate,r={hash:{},data:n},e=l?l.call(a,a&&a.Summary,(e=a&&a.Summary,null==e||e===!1?e:e.length),r):un.call(a,"truncate",a&&a.Summary,(e=a&&a.Summary,null==e||e===!1?e:e.length),r),(e||0===e)&&(s+=e),s+="</p>\n								"}function tn(a,n,e){var l,r,s="";return s+='\n						<button id="soc-adv-share-btn" \n								class="btn btn-primary btn-small" \n								onclick="Widgets.SocialAdvocacy_ShareClicked(',(r=t.ID)?l=r.call(a,{hash:{},data:n}):(r=a&&a.ID,l=typeof r===mn?r.call(a,{hash:{},data:n}):r),s+=dn(l)+')"\n								type="button"\n								aria-label="'+dn((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShareAria,typeof l===mn?l.apply(a):l))+'"\n						>\n							'+dn((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShare,typeof l===mn?l.apply(a):l))+'&nbsp;<i class="fa fa-share-alt ii ii-share"></i>\n						</button>\n						'}function en(a,n,e,l){var r,s,i,o="";return o+='\n						<footer>\n							<ul class="actions is-inline is-muted is-small list-unstyled">\n								<li>\n									<span class="icon is-normal">\n										<i class="ii ii-like" aria-hidden="true"></i>\n									</span>\n									<span aria-label="'+dn((r=l&&l.SystemText,r=null==r||r===!1?r:r.haveliked,typeof r===mn?r.apply(a):r))+'">',s=t.equals||a&&a.equals,i={hash:{},inverse:fn.program(80,ln,n),fn:fn.program(34,E,n),data:n},r=s?s.call(a,a&&a.LikeCount,"-1",i):un.call(a,"equals",a&&a.LikeCount,"-1",i),(r||0===r)&&(o+=r),o+="</span>\n								</li>\n								",s=t.equals||a&&a.equals,i={hash:{},inverse:fn.noop,fn:fn.programWithDepth(82,rn,n,e),data:n},r=s?s.call(a,(r=a&&a.Entity,null==r||r===!1?r:r.IsCommentsAllowed),"true",i):un.call(a,"equals",(r=a&&a.Entity,null==r||r===!1?r:r.IsCommentsAllowed),"true",i),(r||0===r)&&(o+=r),o+="\n							</ul>\n						</footer>\n					"}function ln(a,n){var e,l;return(l=t.LikeCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.LikeCount,e=typeof l===mn?l.call(a,{hash:{},data:n}):l),dn(e)}function rn(a,n,e){var l,r,s,i="";return i+='\n								<li>\n									<span class="icon is-normal">\n										<i class="ii ii-comments" aria-hidden="true"></i>\n									</span>\n									<span aria-label="'+dn((l=e&&e.SystemText,l=null==l||l===!1?l:l.havecommented,typeof l===mn?l.apply(a):l))+'">',r=t.equals||a&&a.equals,s={hash:{},inverse:fn.program(83,sn,n),fn:fn.program(34,E,n),data:n},l=r?r.call(a,(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s):un.call(a,"equals",(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s),(l||0===l)&&(i+=l),i+="</span>\n								</li>\n								"}function sn(a,n){var e,l;return(l=t.CommentCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.CommentCount,e=typeof l===mn?l.call(a,{hash:{},data:n}):l),dn(e)}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var on,cn,hn,pn="",un=t.helperMissing,dn=this.escapeExpression,fn=this,mn="function";return pn+='<ul class="list-unstyled widget-list has-thumbnail-overlay">\n	<li class="is-headline is-inverted gridster-wac">\n			<article class="card-inline">\n				',cn=t.when||n&&n.when,hn={hash:{},inverse:fn.program(4,c,l),fn:fn.program(1,i,l),data:l},on=cn?cn.call(n,"Headline.AssetID != -1",hn):un.call(n,"when","Headline.AssetID != -1",hn),(on||0===on)&&(pn+=on),pn+='\n				<div class="card-content">\n					<aside>\n						<ul class="list-unstyled list-inline inner-disc muted is-small">\n							<!-- This will return true if AuthorType is greater than 0, i.e. not a person -->\n							',on=t["if"].call(n,(on=n&&n.Headline,null==on||on===!1?on:on.AuthorType),{hash:{},inverse:fn.program(9,u,l),fn:fn.program(6,h,l),data:l}),(on||0===on)&&(pn+=on),pn+="\n\n							<li>\n								",cn=t.when||n&&n.when,hn={hash:{},inverse:fn.program(18,g,l),fn:fn.program(13,m,l),data:l},on=cn?cn.call(n,"Headline.Type != 'Event'",hn):un.call(n,"when","Headline.Type != 'Event'",hn),(on||0===on)&&(pn+=on),pn+='\n							</li>\n						</ul>\n					</aside>\n					<header>\n						<a class="is-w-a" target="'+dn((on=n&&n.Headline,on=null==on||on===!1?on:on.Target,typeof on===mn?on.apply(n):on))+'" href="'+dn((on=n&&n.Headline,on=null==on||on===!1?on:on.URL,typeof on===mn?on.apply(n):on))+'" dir="auto" ',on=t["if"].call(n,(on=n&&n.Headline,null==on||on===!1?on:on.ShowHoverCard),{hash:{},inverse:fn.noop,fn:fn.program(24,I,l),data:l}),(on||0===on)&&(pn+=on),pn+='>\n							<h5 class="is-ellipsis">',on=n&&n.Headline,on=null==on||on===!1?on:on.Title,on=typeof on===mn?on.apply(n):on,(on||0===on)&&(pn+=on),pn+="</h5>\n						</a>\n						",cn=t.equals||n&&n.equals,hn={hash:{},inverse:fn.programWithDepth(29,b,l,r),fn:fn.programWithDepth(26,w,l,r),data:l},on=cn?cn.call(n,(on=n&&n.Headline,null==on||on===!1?on:on.Type),"Event",hn):un.call(n,"equals",(on=n&&n.Headline,null==on||on===!1?on:on.Type),"Event",hn),(on||0===on)&&(pn+=on),pn+="\n					</header>\n					",on=t["if"].call(n,(on=n&&n.Headline,null==on||on===!1?on:on.Entity),{hash:{},inverse:fn.noop,fn:fn.programWithDepth(33,k,l,r,s),data:l}),(on||0===on)&&(pn+=on),pn+="\n				</div>\n			</article>\n		</li>\n	",on=t.each.call(n,n&&n.Items,{hash:{},inverse:fn.noop,fn:fn.programWithDepth(43,_,l,n,r),data:l}),(on||0===on)&&(pn+=on),pn+="\n</ul>\n"}),n.widgets_content_layout5=a(function(a,n,t,e,l){function r(a,n,e){var l,r,i,c="";return c+='\n		<li>\n			<article class="card-inline">\n				<div class="card-content">\n					<header>\n						<a target="',(r=t.Target)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Target,l=typeof r===y?r.call(a,{hash:{},data:n}):r),c+=g(l)+'" href="',(r=t.URL)?l=r.call(a,{hash:{},data:n}):(r=a&&a.URL,l=typeof r===y?r.call(a,{hash:{},data:n}):r),c+=g(l)+'" dir="auto" ',l=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:m.noop,fn:m.program(2,s,n),data:n}),(l||0===l)&&(c+=l),c+='>\n							<span class="icon">\n								<i class="fa fa-circle-o" role="presentation" aria-hidden="true"></i>\n							</span>\n							<h5 class="is-ellipsis">',(r=t.Title)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Title,l=typeof r===y?r.call(a,{hash:{},data:n}):r),(l||0===l)&&(c+=l),c+="</h5>\n						</a>\n						",r=t.equals||a&&a.equals,i={hash:{},inverse:m.programWithDepth(8,h,n,e),fn:m.programWithDepth(5,o,n,e),data:n},l=r?r.call(a,a&&a.Type,"Event",i):v.call(a,"equals",a&&a.Type,"Event",i),(l||0===l)&&(c+=l),c+="\n					</header>\n				</div>\n			</article>\n		</li>\n	"}function s(a,n){var e,l,r,s="";return s+=" ",l=t.hovercard||a&&a.hovercard,r={hash:{},inverse:m.noop,fn:m.program(3,i,n),data:n},e=l?l.call(a,a&&a.Type,a&&a.ID,r):v.call(a,"hovercard",a&&a.Type,a&&a.ID,r),(e||0===e)&&(s+=e),s+=" "}function i(){var a="";return a}function o(a,n,e){var l,r="";return r+="\n							",l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:m.noop,fn:m.programWithDepth(6,c,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n							"}function c(a,n,t){var e,l="";return l+="\n								<p>"+g((e=t&&t.SystemText,e=null==e||e===!1?e:e.Location,typeof e===y?e.apply(a):e))+": ",e=a&&a.Entity,e=null==e||e===!1?e:e.Location,e=typeof e===y?e.apply(a):e,(e||0===e)&&(l+=e),l+="</p>\n							"}function h(a,n,e){var l,r="";return r+="\n							",l=t["if"].call(a,(l=e&&e.Options,null==l||l===!1?l:l.IncludeSummary),{hash:{},inverse:m.noop,fn:m.program(9,p,n),data:n}),(l||0===l)&&(r+=l),r+="\n						"}function p(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,a&&a.Summary,{hash:{},inverse:m.noop,fn:m.program(10,u,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function u(a,n){var e,l,r,s="";return s+='\n									<p dir="auto">',l=t.truncate||a&&a.truncate,r={hash:{},data:n},e=l?l.call(a,a&&a.Summary,(e=a&&a.Summary,null==e||e===!1?e:e.length),r):v.call(a,"truncate",a&&a.Summary,(e=a&&a.Summary,null==e||e===!1?e:e.length),r),(e||0===e)&&(s+=e),s+="</p>\n								"}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var d,f="",m=this,v=t.helperMissing,y="function",g=this.escapeExpression;return f+='<ul class="list-unstyled widget-list">\n	',d=t.each.call(n,n&&n.Items,{hash:{},inverse:m.noop,fn:m.programWithDepth(1,r,l,n),data:l}),(d||0===d)&&(f+=d),f+="\n</ul>\n"}),n.widgets_content_layout6=a(function(a,n,t,e,l,r){function s(a,n,e,l){var r,s,h,u="";return u+='\n		<li class="is-headline is-inverted gridster-wac">\n			<article class="card-inline">\n				<div class="thumbnail-container">\n					<img src="',r=t["if"].call(a,a&&a.AssetID,{hash:{},inverse:B.program(4,o,n),fn:B.program(2,i,n),data:n}),(r||0===r)&&(u+=r),u+='" style="object-position: 50% ',(s=t.BackgroundYpos)?r=s.call(a,{hash:{},data:n}):(s=a&&a.BackgroundYpos,r=typeof s===R?s.call(a,{hash:{},data:n}):s),u+=P(r)+'%;" alt="" role="presentation" class="thumbnail" data-object-fit="cover" loading="lazy"/>\n				</div>\n				<div class="card-content">\n					<aside>\n						<ul class="list-unstyled list-inline inner-disc muted is-small">\n							<!-- This will return true if AuthorType is greater than 0, i.e. not a person -->\n							',r=t["if"].call(a,a&&a.AuthorType,{hash:{},inverse:B.program(9,p,n),fn:B.program(6,c,n),data:n}),(r||0===r)&&(u+=r),u+="\n							<li>\n								",s=t.when||a&&a.when,h={hash:{},inverse:B.program(18,y,n),fn:B.program(13,f,n),data:n},r=s?s.call(a,"Type != 'Event'",h):U.call(a,"when","Type != 'Event'",h),(r||0===r)&&(u+=r),u+='\n							</li>\n						</ul>\n					</aside>\n					<header>\n						<a class="is-w-a" target="',(s=t.Target)?r=s.call(a,{hash:{},data:n}):(s=a&&a.Target,r=typeof s===R?s.call(a,{hash:{},data:n}):s),u+=P(r)+'" href="',(s=t.URL)?r=s.call(a,{hash:{},data:n}):(s=a&&a.URL,r=typeof s===R?s.call(a,{hash:{},data:n}):s),u+=P(r)+'" dir="auto" ',r=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:B.noop,fn:B.program(24,T,n),data:n}),(r||0===r)&&(u+=r),u+='>\n							<h5 class="is-ellipsis">',(s=t.Title)?r=s.call(a,{hash:{},data:n}):(s=a&&a.Title,r=typeof s===R?s.call(a,{hash:{},data:n}):s),(r||0===r)&&(u+=r),u+="</h5>\n						</a>\n\n						",s=t.equals||a&&a.equals,h={hash:{},inverse:B.programWithDepth(29,A,n,e),fn:B.programWithDepth(26,I,n,e),data:n},r=s?s.call(a,a&&a.Type,"Event",h):U.call(a,"equals",a&&a.Type,"Event",h),(r||0===r)&&(u+=r),u+="\n					</header>\n					",r=t["if"].call(a,a&&a.Entity,{hash:{},inverse:B.noop,fn:B.programWithDepth(33,q,n,e,l),data:n}),(r||0===r)&&(u+=r),u+="\n				</div>\n			</article>\n		</li>\n	"}function i(a,n){var e,l,r;return l=t.asset||a&&a.asset,r={hash:{},data:n},e=l?l.call(a,a&&a.AssetID,7,r):U.call(a,"asset",a&&a.AssetID,7,r),e||0===e?e:""}function o(a,n){var e,l;return P((e=t.avatar||a&&a.avatar,l={hash:{},data:n},e?e.call(a,a&&a.Type,l):U.call(a,"avatar",a&&a.Type,l)))}function c(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,a&&a.Author,{hash:{},inverse:B.noop,fn:B.program(7,h,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function h(a,n){var e,l,r="";return r+='\n									<li class="is-author"><span><strong>',(l=t.Author)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Author,e=typeof l===R?l.call(a,{hash:{},data:n}):l),r+=P(e)+"</strong></span></li>\n								"}function p(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,a&&a.Author,{hash:{},inverse:B.noop,fn:B.program(10,u,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function u(a,n){var e,l,r,s="";return s+='\n									<li class="is-author">\n										<a href="'+P((l=t.link||a&&a.link,r={hash:{},data:n},l?l.call(a,"Person",a&&a.AuthorID,r):U.call(a,"link","Person",a&&a.AuthorID,r)))+'" class="author" ',e=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:B.noop,fn:B.program(11,d,n),data:n}),(e||0===e)&&(s+=e),s+=">",(l=t.Author)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Author,e=typeof l===R?l.call(a,{hash:{},data:n}):l),s+=P(e)+"</a>\n									</li>\n								"}function d(a,n){var e,l,r="";return r+=' data-personid="',(l=t.AuthorID)?e=l.call(a,{hash:{},data:n}):(l=a&&a.AuthorID,e=typeof l===R?l.call(a,{hash:{},data:n}):l),r+=P(e)+'" '}function f(a,n){var e,l="";return l+='\n									<time class="timeago" datetime="',e=t["if"].call(a,a&&a.ShowUpdateDate,{hash:{},inverse:B.program(16,v,n),fn:B.program(14,m,n),data:n}),(e||0===e)&&(l+=e),l+='"></time>\n								'}function m(a,n){var e,l,r="";return r+=" ",(l=t.UpdateDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.UpdateDate,e=typeof l===R?l.call(a,{hash:{},data:n}):l),r+=P(e)+" "}function v(a,n){var e,l,r="";return r+=" ",(l=t.StartDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.StartDate,e=typeof l===R?l.call(a,{hash:{},data:n}):l),r+=P(e)+" "}function y(a,n){var e,l,r,s="";return s+="\n									",l=t.equals||a&&a.equals,r={hash:{},inverse:B.program(22,D,n),fn:B.program(19,g,n),data:n},e=l?l.call(a,(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r):U.call(a,"equals",(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r),(e||0===e)&&(s+=e),s+="\n								"}function g(a,n){var e,l,r,s="";return s+='\n										<span class="timeago">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:B.noop,fn:B.program(20,S,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.EndDate,r):U.call(a,"eventTimeString",a&&a.StartDate,a&&a.EndDate,r),(e||0===e)&&(s+=e),s+="</span>\n									"}function S(){var a="";return a}function D(a,n){var e,l,r,s="";return s+='\n										<span class="timeago">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:B.noop,fn:B.program(20,S,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.StartDate,r):U.call(a,"eventTimeString",a&&a.StartDate,a&&a.StartDate,r),(e||0===e)&&(s+=e),s+="</span>\n									"}function T(a,n){var e,l,r,s="";return s+=" ",l=t.hovercard||a&&a.hovercard,r={hash:{},inverse:B.noop,fn:B.program(20,S,n),data:n},e=l?l.call(a,a&&a.Type,a&&a.ID,r):U.call(a,"hovercard",a&&a.Type,a&&a.ID,r),(e||0===e)&&(s+=e),s+=" "}function I(a,n,e){var l,r="";return r+="\n							",l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:B.noop,fn:B.programWithDepth(27,w,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n							"}function w(a,n,t){var e,l="";return l+="\n								<p>"+P((e=t&&t.SystemText,e=null==e||e===!1?e:e.Location,typeof e===R?e.apply(a):e))+": ",e=a&&a.Entity,e=null==e||e===!1?e:e.Location,e=typeof e===R?e.apply(a):e,(e||0===e)&&(l+=e),l+="</p>\n							"}function A(a,n,e){var l,r="";return r+="\n							",l=t["if"].call(a,(l=e&&e.Options,null==l||l===!1?l:l.IncludeSummary),{hash:{},inverse:B.noop,fn:B.program(30,b,n),data:n}),(l||0===l)&&(r+=l),r+="\n						"}function b(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,a&&a.Summary,{hash:{},inverse:B.noop,fn:B.program(31,C,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function C(a,n){var e,l,r,s="";return s+='\n									<p dir="auto">',l=t.truncate||a&&a.truncate,r={hash:{},data:n},e=l?l.call(a,a&&a.Summary,(e=a&&a.Summary,null==e||e===!1?e:e.length),r):U.call(a,"truncate",a&&a.Summary,(e=a&&a.Summary,null==e||e===!1?e:e.length),r),(e||0===e)&&(s+=e),s+="</p>\n								"}function q(a,n,e,l){var r,s,i,o="";return o+='\n					<footer>\n						<ul class="actions is-inline is-muted is-small list-unstyled">\n							<li>\n								<span class="icon is-normal">\n									<i class="ii ii-like" aria-hidden="true"></i>\n								</span>\n								<span aria-label="'+P((r=l&&l.SystemText,r=null==r||r===!1?r:r.haveliked,typeof r===R?r.apply(a):r))+'">',s=t.equals||a&&a.equals,i={hash:{},inverse:B.program(36,E,n),fn:B.program(34,k,n),data:n},r=s?s.call(a,a&&a.LikeCount,"-1",i):U.call(a,"equals",a&&a.LikeCount,"-1",i),(r||0===r)&&(o+=r),o+="</span>\n							</li>\n							",s=t.equals||a&&a.equals,i={hash:{},inverse:B.noop,fn:B.programWithDepth(38,x,n,e),data:n},r=s?s.call(a,(r=a&&a.Entity,null==r||r===!1?r:r.IsCommentsAllowed),"true",i):U.call(a,"equals",(r=a&&a.Entity,null==r||r===!1?r:r.IsCommentsAllowed),"true",i),(r||0===r)&&(o+=r),o+="\n						</ul>\n						",r=t["if"].call(a,a&&a.SocialAdvocacyItem,{hash:{},inverse:B.noop,fn:B.programWithDepth(41,W,n,e),data:n}),(r||0===r)&&(o+=r),o+="\n					</footer>\n					"}function k(){return"0"}function E(a,n){var e,l;return(l=t.LikeCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.LikeCount,e=typeof l===R?l.call(a,{hash:{},data:n}):l),P(e)}function x(a,n,e){var l,r,s,i="";return i+='\n							<li>\n								<span class="icon is-normal">\n									<i class="ii ii-comments" aria-hidden="true"></i>\n								</span>\n								<span aria-label="'+P((l=e&&e.SystemText,l=null==l||l===!1?l:l.havecommented,typeof l===R?l.apply(a):l))+'">',r=t.equals||a&&a.equals,s={hash:{},inverse:B.program(39,L,n),fn:B.program(34,k,n),data:n},l=r?r.call(a,(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s):U.call(a,"equals",(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s),(l||0===l)&&(i+=l),i+="</span>\n							</li>\n							"}function L(a,n){var e,l;return(l=t.CommentCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.CommentCount,e=typeof l===R?l.call(a,{hash:{},data:n}):l),P(e)}function W(a,n,e){var l,r,s="";return s+='\n						<div class="social-advocacy">\n							<button id="soc-adv-share-btn" \n									class="btn btn-primary btn-small" \n									onclick="Widgets.SocialAdvocacy_ShareClicked(',(r=t.ID)?l=r.call(a,{hash:{},data:n}):(r=a&&a.ID,l=typeof r===R?r.call(a,{hash:{},data:n}):r),s+=P(l)+')"\n									type="button"\n									aria-label="'+P((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShareAria,typeof l===R?l.apply(a):l))+'"\n							>\n								'+P((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShare,typeof l===R?l.apply(a):l))+'&nbsp;<i class="fa fa-share-alt ii ii-share"></i>\n							</button>\n						</div>\n						'}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var H,_="",U=t.helperMissing,P=this.escapeExpression,R="function",B=this;return _+='<ul class="list-unstyled widget-list has-thumbnail-overlay">\n	',H=t.each.call(n,n&&n.Items,{hash:{},inverse:B.noop,fn:B.programWithDepth(1,s,l,n,r),data:l}),(H||0===H)&&(_+=H),_+="\n</ul>\n"}),n.widgets_content_layout7=a(function(a,n,t,e,l,r){function s(a,n,e,l){var r,s,o,h="";return h+='\n		<li class="is-headline gridster-wac">\n			<article class="card-inline">\n				<div class="card-content">\n					<aside>\n						<ul class="list-unstyled list-inline inner-disc muted is-small">\n							<!-- This will return true if AuthorType is greater than 0, i.e. not a person -->\n							',r=t["if"].call(a,a&&a.AuthorType,{hash:{},inverse:U.program(5,c,n),fn:U.program(2,i,n),data:n}),(r||0===r)&&(h+=r),h+="\n							<li>\n								",s=t.when||a&&a.when,o={hash:{},inverse:U.program(14,m,n),fn:U.program(9,u,n),data:n},r=s?s.call(a,"Type != 'Event'",o):P.call(a,"when","Type != 'Event'",o),(r||0===r)&&(h+=r),h+='\n							</li>\n						</ul>\n					</aside>\n					<header>\n						<a class="is-w-a" target="',(s=t.Target)?r=s.call(a,{hash:{},data:n}):(s=a&&a.Target,r=typeof s===H?s.call(a,{hash:{},data:n}):s),h+=_(r)+'" href="',(s=t.URL)?r=s.call(a,{hash:{},data:n}):(s=a&&a.URL,r=typeof s===H?s.call(a,{hash:{},data:n}):s),h+=_(r)+'" dir="auto" ',r=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:U.noop,fn:U.program(20,S,n),data:n}),(r||0===r)&&(h+=r),h+='>\n							<h5 class="is-ellipsis">',(s=t.Title)?r=s.call(a,{hash:{},data:n}):(s=a&&a.Title,r=typeof s===H?s.call(a,{hash:{},data:n}):s),(r||0===r)&&(h+=r),h+="</h5>\n						</a>\n						",s=t.equals||a&&a.equals,o={hash:{},inverse:U.programWithDepth(25,I,n,e),fn:U.programWithDepth(22,D,n,e),data:n},r=s?s.call(a,a&&a.Type,"Event",o):P.call(a,"equals",a&&a.Type,"Event",o),(r||0===r)&&(h+=r),h+="\n					</header>\n					",r=t["if"].call(a,a&&a.Entity,{hash:{},inverse:U.noop,fn:U.programWithDepth(29,b,n,e,l),data:n}),(r||0===r)&&(h+=r),h+="\n				</div>\n			</article>\n		</li>\n	"
}function i(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,a&&a.Author,{hash:{},inverse:U.noop,fn:U.program(3,o,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function o(a,n){var e,l,r="";return r+='\n									<!-- Display a span instead of a link -->\n									<li class="is-author">\n										<span><strong>',(l=t.Author)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Author,e=typeof l===H?l.call(a,{hash:{},data:n}):l),r+=_(e)+"</strong></span>\n									</li>  \n								"}function c(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,a&&a.Author,{hash:{},inverse:U.noop,fn:U.program(6,h,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function h(a,n){var e,l,r,s="";return s+='\n									<li class="is-author">\n										<a href="'+_((l=t.link||a&&a.link,r={hash:{},data:n},l?l.call(a,"Person",a&&a.AuthorID,r):P.call(a,"link","Person",a&&a.AuthorID,r)))+'" class="author" ',e=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:U.noop,fn:U.program(7,p,n),data:n}),(e||0===e)&&(s+=e),s+=">",(l=t.Author)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Author,e=typeof l===H?l.call(a,{hash:{},data:n}):l),s+=_(e)+"</a>\n									</li>\n								"}function p(a,n){var e,l,r="";return r+=' data-personid="',(l=t.AuthorID)?e=l.call(a,{hash:{},data:n}):(l=a&&a.AuthorID,e=typeof l===H?l.call(a,{hash:{},data:n}):l),r+=_(e)+'" '}function u(a,n){var e,l="";return l+='\n									<time class="timeago" datetime="',e=t["if"].call(a,a&&a.ShowUpdateDate,{hash:{},inverse:U.program(12,f,n),fn:U.program(10,d,n),data:n}),(e||0===e)&&(l+=e),l+='"></time>\n								'}function d(a,n){var e,l,r="";return r+=" ",(l=t.UpdateDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.UpdateDate,e=typeof l===H?l.call(a,{hash:{},data:n}):l),r+=_(e)+" "}function f(a,n){var e,l,r="";return r+=" ",(l=t.StartDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.StartDate,e=typeof l===H?l.call(a,{hash:{},data:n}):l),r+=_(e)+" "}function m(a,n){var e,l,r,s="";return s+="\n									",l=t.equals||a&&a.equals,r={hash:{},inverse:U.program(18,g,n),fn:U.program(15,v,n),data:n},e=l?l.call(a,(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r):P.call(a,"equals",(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r),(e||0===e)&&(s+=e),s+="\n								"}function v(a,n){var e,l,r,s="";return s+='\n										<span class="timeago">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:U.noop,fn:U.program(16,y,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.EndDate,r):P.call(a,"eventTimeString",a&&a.StartDate,a&&a.EndDate,r),(e||0===e)&&(s+=e),s+="</span>\n									"}function y(){var a="";return a}function g(a,n){var e,l,r,s="";return s+='\n										<span class="timeago">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:U.noop,fn:U.program(16,y,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.StartDate,r):P.call(a,"eventTimeString",a&&a.StartDate,a&&a.StartDate,r),(e||0===e)&&(s+=e),s+="</span>\n									"}function S(a,n){var e,l,r,s="";return s+=" ",l=t.hovercard||a&&a.hovercard,r={hash:{},inverse:U.noop,fn:U.program(16,y,n),data:n},e=l?l.call(a,a&&a.Type,a&&a.ID,r):P.call(a,"hovercard",a&&a.Type,a&&a.ID,r),(e||0===e)&&(s+=e),s+=" "}function D(a,n,e){var l,r="";return r+="\n							",l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:U.noop,fn:U.programWithDepth(23,T,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n							"}function T(a,n,t){var e,l="";return l+="\n								<p>"+_((e=t&&t.SystemText,e=null==e||e===!1?e:e.Location,typeof e===H?e.apply(a):e))+": ",e=a&&a.Entity,e=null==e||e===!1?e:e.Location,e=typeof e===H?e.apply(a):e,(e||0===e)&&(l+=e),l+="</p>\n							"}function I(a,n,e){var l,r="";return r+="\n							",l=t["if"].call(a,(l=e&&e.Options,null==l||l===!1?l:l.IncludeSummary),{hash:{},inverse:U.noop,fn:U.program(26,w,n),data:n}),(l||0===l)&&(r+=l),r+="\n						"}function w(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,a&&a.Summary,{hash:{},inverse:U.noop,fn:U.program(27,A,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function A(a,n){var e,l,r,s="";return s+='\n									<p dir="auto">',l=t.truncate||a&&a.truncate,r={hash:{},data:n},e=l?l.call(a,a&&a.Summary,(e=a&&a.Summary,null==e||e===!1?e:e.length),r):P.call(a,"truncate",a&&a.Summary,(e=a&&a.Summary,null==e||e===!1?e:e.length),r),(e||0===e)&&(s+=e),s+="</p>\n								"}function b(a,n,e,l){var r,s,i,o="";return o+='\n					<footer>\n						<ul class="actions is-inline is-muted is-small list-unstyled">\n							<li>\n								<span class="icon is-normal">\n									<i class="ii ii-like" aria-hidden="true"></i>\n								</span>\n								<span aria-label="'+_((r=l&&l.SystemText,r=null==r||r===!1?r:r.haveliked,typeof r===H?r.apply(a):r))+'">',s=t.equals||a&&a.equals,i={hash:{},inverse:U.program(32,q,n),fn:U.program(30,C,n),data:n},r=s?s.call(a,a&&a.LikeCount,"-1",i):P.call(a,"equals",a&&a.LikeCount,"-1",i),(r||0===r)&&(o+=r),o+="</span>\n							</li>\n							",s=t.equals||a&&a.equals,i={hash:{},inverse:U.noop,fn:U.programWithDepth(34,k,n,e),data:n},r=s?s.call(a,(r=a&&a.Entity,null==r||r===!1?r:r.IsCommentsAllowed),"true",i):P.call(a,"equals",(r=a&&a.Entity,null==r||r===!1?r:r.IsCommentsAllowed),"true",i),(r||0===r)&&(o+=r),o+="\n						</ul>\n						",r=t["if"].call(a,a&&a.SocialAdvocacyItem,{hash:{},inverse:U.noop,fn:U.programWithDepth(37,x,n,e),data:n}),(r||0===r)&&(o+=r),o+="\n					</footer>\n					"}function C(){return"0"}function q(a,n){var e,l;return(l=t.LikeCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.LikeCount,e=typeof l===H?l.call(a,{hash:{},data:n}):l),_(e)}function k(a,n,e){var l,r,s,i="";return i+='\n							<li>\n								<span class="icon is-normal">\n									<i class="ii ii-comments" aria-hidden="true"></i>\n								</span>\n								<span aria-label="'+_((l=e&&e.SystemText,l=null==l||l===!1?l:l.havecommented,typeof l===H?l.apply(a):l))+'">',r=t.equals||a&&a.equals,s={hash:{},inverse:U.program(35,E,n),fn:U.program(30,C,n),data:n},l=r?r.call(a,(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s):P.call(a,"equals",(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s),(l||0===l)&&(i+=l),i+="</span>\n							</li>\n							"}function E(a,n){var e,l;return(l=t.CommentCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.CommentCount,e=typeof l===H?l.call(a,{hash:{},data:n}):l),_(e)}function x(a,n,e){var l,r,s="";return s+='\n						<button id="soc-adv-share-btn" \n								class="btn btn-primary btn-small" \n								onclick="Widgets.SocialAdvocacy_ShareClicked(',(r=t.ID)?l=r.call(a,{hash:{},data:n}):(r=a&&a.ID,l=typeof r===H?r.call(a,{hash:{},data:n}):r),s+=_(l)+')"\n								type="button"\n								aria-label="'+_((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShareAria,typeof l===H?l.apply(a):l))+'"\n						>\n							'+_((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShare,typeof l===H?l.apply(a):l))+'&nbsp;<i class="fa fa-share-alt ii ii-share"></i>\n						</button>\n						'}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var L,W="",H="function",_=this.escapeExpression,U=this,P=t.helperMissing;return W+='<ul class="list-unstyled widget-list">\n	',L=t.each.call(n,n&&n.Items,{hash:{},inverse:U.noop,fn:U.programWithDepth(1,s,l,n,r),data:l}),(L||0===L)&&(W+=L),W+="\n</ul>\n"}),n.widgets_content_layout8=a(function(a,n,t,e,l,r){function s(a,n,e,l){var r,s,o,c="";return c+='\n		<li class="gridster-wac">\n			<article class="card-inline">\n				',s=t.when||a&&a.when,o={hash:{},inverse:M.program(7,h,n),fn:M.program(2,i,n),data:n},r=s?s.call(a,"AssetID != -1",o):R.call(a,"when","AssetID != -1",o),(r||0===r)&&(c+=r),c+='\n\n				<div class="card-content">\n					<aside>\n						<ul class="list-unstyled list-inline inner-disc muted is-small">\n							<!-- This will return true if AuthorType is greater than 0, i.e. not a person -->\n							',r=t["if"].call(a,a&&a.AuthorType,{hash:{},inverse:M.program(12,d,n),fn:M.program(9,p,n),data:n}),(r||0===r)&&(c+=r),c+="\n\n							<li>\n								",s=t.when||a&&a.when,o={hash:{},inverse:M.program(21,S,n),fn:M.program(16,v,n),data:n},r=s?s.call(a,"Type != 'Event'",o):R.call(a,"when","Type != 'Event'",o),(r||0===r)&&(c+=r),c+='\n							</li>\n						</ul>\n					</aside>\n					<header dir="auto">\n						<a class="is-w-a" target="',(s=t.Target)?r=s.call(a,{hash:{},data:n}):(s=a&&a.Target,r=typeof s===O?s.call(a,{hash:{},data:n}):s),c+=B(r)+'" href="',(s=t.URL)?r=s.call(a,{hash:{},data:n}):(s=a&&a.URL,r=typeof s===O?s.call(a,{hash:{},data:n}):s),c+=B(r)+'" dir="auto" ',r=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:M.noop,fn:M.program(27,w,n),data:n}),(r||0===r)&&(c+=r),c+=">\n							<h5>",(s=t.Title)?r=s.call(a,{hash:{},data:n}):(s=a&&a.Title,r=typeof s===O?s.call(a,{hash:{},data:n}):s),(r||0===r)&&(c+=r),c+="</h5>\n						</a>\n\n						",s=t.equals||a&&a.equals,o={hash:{},inverse:M.programWithDepth(32,C,n,e),fn:M.programWithDepth(29,A,n,e),data:n},r=s?s.call(a,a&&a.Type,"Event",o):R.call(a,"equals",a&&a.Type,"Event",o),(r||0===r)&&(c+=r),c+="\n					</header>\n					",r=t["if"].call(a,a&&a.Entity,{hash:{},inverse:M.noop,fn:M.programWithDepth(38,x,n,e,l),data:n}),(r||0===r)&&(c+=r),c+="\n				</div>\n			</article>\n		</li>\n	"}function i(a,n){var e,l,r="";return r+='\n				<div class="thumbnail-container">\n					<img src="',e=t["if"].call(a,a&&a.AssetID,{hash:{},inverse:M.program(5,c,n),fn:M.program(3,o,n),data:n}),(e||0===e)&&(r+=e),r+='" style="object-position: 50% ',(l=t.BackgroundYpos)?e=l.call(a,{hash:{},data:n}):(l=a&&a.BackgroundYpos,e=typeof l===O?l.call(a,{hash:{},data:n}):l),r+=B(e)+'%;" alt="" role="presentation" class="thumbnail" data-object-fit="cover" loading="lazy" />\n				</div>\n				'}function o(a,n){var e,l,r;return l=t.asset||a&&a.asset,r={hash:{},data:n},e=l?l.call(a,a&&a.AssetID,7,r):R.call(a,"asset",a&&a.AssetID,7,r),e||0===e?e:""}function c(a,n){var e,l;return B((e=t.avatar||a&&a.avatar,l={hash:{},data:n},e?e.call(a,a&&a.Type,l):R.call(a,"avatar",a&&a.Type,l)))}function h(a,n){var e,l,r="";return r+='\n					<div role="presentation" class="icon-container is-large"><span class="icon is-medium"><i class="ii ',(l=t.AssociatedIcon)?e=l.call(a,{hash:{},data:n}):(l=a&&a.AssociatedIcon,e=typeof l===O?l.call(a,{hash:{},data:n}):l),r+=B(e)+'"></i></span></div>\n				'}function p(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,a&&a.Author,{hash:{},inverse:M.noop,fn:M.program(10,u,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function u(a,n){var e,l,r="";return r+='\n									 <!-- Display a span instead of a link -->\n									<li class="is-author">\n										<span><strong>',(l=t.Author)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Author,e=typeof l===O?l.call(a,{hash:{},data:n}):l),r+=B(e)+"</strong></span>\n									</li>  \n								"}function d(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,a&&a.Author,{hash:{},inverse:M.noop,fn:M.program(13,f,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function f(a,n){var e,l,r,s="";return s+='\n									<li class="is-author">\n										<a href="'+B((l=t.link||a&&a.link,r={hash:{},data:n},l?l.call(a,"Person",a&&a.AuthorID,r):R.call(a,"link","Person",a&&a.AuthorID,r)))+'" class="author" ',e=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:M.noop,fn:M.program(14,m,n),data:n}),(e||0===e)&&(s+=e),s+=">",(l=t.Author)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Author,e=typeof l===O?l.call(a,{hash:{},data:n}):l),s+=B(e)+"</a>\n									</li>\n								"}function m(a,n){var e,l,r="";return r+=' data-personid="',(l=t.AuthorID)?e=l.call(a,{hash:{},data:n}):(l=a&&a.AuthorID,e=typeof l===O?l.call(a,{hash:{},data:n}):l),r+=B(e)+'" '}function v(a,n){var e,l="";return l+='\n									<time class="timeago" datetime="',e=t["if"].call(a,a&&a.ShowUpdateDate,{hash:{},inverse:M.program(19,g,n),fn:M.program(17,y,n),data:n}),(e||0===e)&&(l+=e),l+='"></time>\n								'}function y(a,n){var e,l,r="";return r+=" ",(l=t.UpdateDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.UpdateDate,e=typeof l===O?l.call(a,{hash:{},data:n}):l),r+=B(e)+" "}function g(a,n){var e,l,r="";return r+=" ",(l=t.StartDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.StartDate,e=typeof l===O?l.call(a,{hash:{},data:n}):l),r+=B(e)+" "}function S(a,n){var e,l,r,s="";return s+="\n									",l=t.equals||a&&a.equals,r={hash:{},inverse:M.program(25,I,n),fn:M.program(22,D,n),data:n},e=l?l.call(a,(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r):R.call(a,"equals",(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r),(e||0===e)&&(s+=e),s+="\n								"}function D(a,n){var e,l,r,s="";return s+='\n										<span class="timeago">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:M.noop,fn:M.program(23,T,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.EndDate,r):R.call(a,"eventTimeString",a&&a.StartDate,a&&a.EndDate,r),(e||0===e)&&(s+=e),s+="</span>\n									"}function T(){var a="";return a}function I(a,n){var e,l,r,s="";return s+='\n										<span class="timeago">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:M.noop,fn:M.program(23,T,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.StartDate,r):R.call(a,"eventTimeString",a&&a.StartDate,a&&a.StartDate,r),(e||0===e)&&(s+=e),s+="</span>\n									"}function w(a,n){var e,l,r,s="";return s+=" ",l=t.hovercard||a&&a.hovercard,r={hash:{},inverse:M.noop,fn:M.program(23,T,n),data:n},e=l?l.call(a,a&&a.Type,a&&a.ID,r):R.call(a,"hovercard",a&&a.Type,a&&a.ID,r),(e||0===e)&&(s+=e),s+=" "}function A(a,n,e){var l,r="";return r+="\n							",l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:M.noop,fn:M.programWithDepth(30,b,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n							"}function b(a,n,t){var e,l="";return l+="\n								<p>"+B((e=t&&t.SystemText,e=null==e||e===!1?e:e.Location,typeof e===O?e.apply(a):e))+": ",e=a&&a.Entity,e=null==e||e===!1?e:e.Location,e=typeof e===O?e.apply(a):e,(e||0===e)&&(l+=e),l+="</p>\n							"}function C(a,n,e){var l,r="";return r+="\n							",l=t["if"].call(a,(l=e&&e.Options,null==l||l===!1?l:l.IncludeSummary),{hash:{},inverse:M.noop,fn:M.program(33,q,n),data:n}),(l||0===l)&&(r+=l),r+="\n							",l=t["if"].call(a,a&&a.SocialAdvocacyItem,{hash:{},inverse:M.noop,fn:M.programWithDepth(36,E,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n						"}function q(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,a&&a.Summary,{hash:{},inverse:M.noop,fn:M.program(34,k,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function k(a,n){var e,l,r,s="";return s+='\n									<p dir="auto">',l=t.truncate||a&&a.truncate,r={hash:{},data:n},e=l?l.call(a,a&&a.Summary,(e=a&&a.Summary,null==e||e===!1?e:e.length),r):R.call(a,"truncate",a&&a.Summary,(e=a&&a.Summary,null==e||e===!1?e:e.length),r),(e||0===e)&&(s+=e),s+="</p>\n								"}function E(a,n,e){var l,r,s="";return s+='\n								<button id="soc-adv-share-btn" \n										class="btn btn-primary btn-small" \n										onclick="Widgets.SocialAdvocacy_ShareClicked(',(r=t.ID)?l=r.call(a,{hash:{},data:n}):(r=a&&a.ID,l=typeof r===O?r.call(a,{hash:{},data:n}):r),s+=B(l)+')"\n										type="button"\n										aria-label="'+B((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShareAria,typeof l===O?l.apply(a):l))+'"\n								>\n									'+B((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShare,typeof l===O?l.apply(a):l))+'&nbsp;<i class="fa fa-share-alt ii ii-share"></i>\n								</button>\n							'}function x(a,n,e,l){var r,s,i,o="";return o+='\n						<footer>\n							<ul class="actions is-inline is-muted is-small list-unstyled">\n								<li>\n									<span class="icon is-normal">\n										<i class="ii ii-like" aria-hidden="true"></i>\n									</span>\n									<span aria-label="'+B((r=l&&l.SystemText,r=null==r||r===!1?r:r.haveliked,typeof r===O?r.apply(a):r))+'">',s=t.equals||a&&a.equals,i={hash:{},inverse:M.program(41,W,n),fn:M.program(39,L,n),data:n},r=s?s.call(a,a&&a.LikeCount,"-1",i):R.call(a,"equals",a&&a.LikeCount,"-1",i),(r||0===r)&&(o+=r),o+="</span>\n								</li>\n								",s=t.equals||a&&a.equals,i={hash:{},inverse:M.noop,fn:M.programWithDepth(43,H,n,e),data:n},r=s?s.call(a,(r=a&&a.Entity,null==r||r===!1?r:r.IsCommentsAllowed),"true",i):R.call(a,"equals",(r=a&&a.Entity,null==r||r===!1?r:r.IsCommentsAllowed),"true",i),(r||0===r)&&(o+=r),o+="\n							</ul>\n						</footer>\n					"}function L(){return"0"}function W(a,n){var e,l;return(l=t.LikeCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.LikeCount,e=typeof l===O?l.call(a,{hash:{},data:n}):l),B(e)}function H(a,n,e){var l,r,s,i="";return i+='\n								<li>\n									<span class="icon is-normal">\n										<i class="ii ii-comments" aria-hidden="true"></i>\n									</span>\n									<span aria-label="'+B((l=e&&e.SystemText,l=null==l||l===!1?l:l.havecommented,typeof l===O?l.apply(a):l))+'">',r=t.equals||a&&a.equals,s={hash:{},inverse:M.program(44,_,n),fn:M.program(39,L,n),data:n},l=r?r.call(a,(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s):R.call(a,"equals",(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s),(l||0===l)&&(i+=l),i+="</span>\n								</li>\n								"}function _(a,n){var e,l;return(l=t.CommentCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.CommentCount,e=typeof l===O?l.call(a,{hash:{},data:n}):l),B(e)}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var U,P="",R=t.helperMissing,B=this.escapeExpression,M=this,O="function";return P+='<ul class="list-unstyled widget-list has-thumbnail-overlay">\n	',U=t.each.call(n,n&&n.Items,{hash:{},inverse:M.noop,fn:M.programWithDepth(1,s,l,n,r),data:l}),(U||0===U)&&(P+=U),P+="\n</ul>\n"}),n.widgets_content_layout9=a(function(a,n,t,e,l,r){function s(a,n,e,l){var r,s,o,c="";return c+='\n		<li class="gridster-wac">\n			<article class="card-inline">\n\n				',s=t.when||a&&a.when,o={hash:{},inverse:B.noop,fn:B.program(2,i,n),data:n},r=s?s.call(a,"AssetID != -1",o):P.call(a,"when","AssetID != -1",o),(r||0===r)&&(c+=r),c+='\n				\n				<div class="card-content">\n					<aside>\n						<ul class="list-unstyled list-inline inner-disc muted is-small">\n							<!-- This will return true if AuthorType is greater than 0, i.e. not a person -->\n							',r=t["if"].call(a,a&&a.AuthorType,{hash:{},inverse:B.program(10,u,n),fn:B.program(7,h,n),data:n}),(r||0===r)&&(c+=r),c+="\n\n							<li>\n								",s=t.when||a&&a.when,o={hash:{},inverse:B.program(19,g,n),fn:B.program(14,m,n),data:n},r=s?s.call(a,"Type != 'Event'",o):P.call(a,"when","Type != 'Event'",o),(r||0===r)&&(c+=r),c+='\n							</li>\n						</ul>\n					</aside>\n					<header>\n						<a class="is-w-a" target="',(s=t.Target)?r=s.call(a,{hash:{},data:n}):(s=a&&a.Target,r=typeof s===M?s.call(a,{hash:{},data:n}):s),c+=R(r)+'" href="',(s=t.URL)?r=s.call(a,{hash:{},data:n}):(s=a&&a.URL,r=typeof s===M?s.call(a,{hash:{},data:n}):s),c+=R(r)+'" dir="auto" ',r=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:B.noop,fn:B.program(25,I,n),data:n}),(r||0===r)&&(c+=r),c+='>\n							<h5 class="is-ellipsis">',(s=t.Title)?r=s.call(a,{hash:{},data:n}):(s=a&&a.Title,r=typeof s===M?s.call(a,{hash:{},data:n}):s),(r||0===r)&&(c+=r),c+="</h5>\n						</a>\n\n						",s=t.equals||a&&a.equals,o={hash:{},inverse:B.programWithDepth(30,b,n,e),fn:B.programWithDepth(27,w,n,e),data:n},r=s?s.call(a,a&&a.Type,"Event",o):P.call(a,"equals",a&&a.Type,"Event",o),(r||0===r)&&(c+=r),c+="\n					</header>\n					",r=t["if"].call(a,a&&a.Entity,{hash:{},inverse:B.noop,fn:B.programWithDepth(34,k,n,e,l),data:n}),(r||0===r)&&(c+=r),c+="\n				</div>\n			</article>\n		</li>\n	"}function i(a,n){var e,l,r="";return r+='\n				<div class="thumbnail-container">\n					<img src="',e=t["if"].call(a,a&&a.AssetID,{hash:{},inverse:B.program(5,c,n),fn:B.program(3,o,n),data:n}),(e||0===e)&&(r+=e),r+='" style="object-position: 50% ',(l=t.BackgroundYpos)?e=l.call(a,{hash:{},data:n}):(l=a&&a.BackgroundYpos,e=typeof l===M?l.call(a,{hash:{},data:n}):l),r+=R(e)+'%;" alt="" role="presentation" class="thumbnail" data-object-fit="cover" loading="lazy" />\n				</div>\n				'}function o(a,n){var e,l,r;return l=t.asset||a&&a.asset,r={hash:{},data:n},e=l?l.call(a,a&&a.AssetID,7,r):P.call(a,"asset",a&&a.AssetID,7,r),e||0===e?e:""}function c(a,n){var e,l;return R((e=t.avatar||a&&a.avatar,l={hash:{},data:n},e?e.call(a,a&&a.Type,l):P.call(a,"avatar",a&&a.Type,l)))}function h(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,a&&a.Author,{hash:{},inverse:B.noop,fn:B.program(8,p,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function p(a,n){var e,l,r="";return r+='\n									 <!-- Display a span instead of a link -->\n									<li class="is-author">\n										<span><strong>',(l=t.Author)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Author,e=typeof l===M?l.call(a,{hash:{},data:n}):l),r+=R(e)+"</strong></span>\n									</li>  \n								"}function u(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,a&&a.Author,{hash:{},inverse:B.noop,fn:B.program(11,d,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function d(a,n){var e,l,r,s="";return s+='\n									<li class="is-author">\n										<a href="'+R((l=t.link||a&&a.link,r={hash:{},data:n},l?l.call(a,"Person",a&&a.AuthorID,r):P.call(a,"link","Person",a&&a.AuthorID,r)))+'" class="author" ',e=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:B.noop,fn:B.program(12,f,n),data:n}),(e||0===e)&&(s+=e),s+=">",(l=t.Author)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Author,e=typeof l===M?l.call(a,{hash:{},data:n}):l),s+=R(e)+"</a>\n									</li>\n								"}function f(a,n){var e,l,r="";return r+=' data-personid="',(l=t.AuthorID)?e=l.call(a,{hash:{},data:n}):(l=a&&a.AuthorID,e=typeof l===M?l.call(a,{hash:{},data:n}):l),r+=R(e)+'" '}function m(a,n){var e,l="";return l+='\n									<time class="timeago" datetime="',e=t["if"].call(a,a&&a.ShowUpdateDate,{hash:{},inverse:B.program(17,y,n),fn:B.program(15,v,n),data:n}),(e||0===e)&&(l+=e),l+='"></time>\n								'}function v(a,n){var e,l,r="";return r+=" ",(l=t.UpdateDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.UpdateDate,e=typeof l===M?l.call(a,{hash:{},data:n}):l),r+=R(e)+" "}function y(a,n){var e,l,r="";return r+=" ",(l=t.StartDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.StartDate,e=typeof l===M?l.call(a,{hash:{},data:n}):l),r+=R(e)+" "}function g(a,n){var e,l,r,s="";return s+="\n									",l=t.equals||a&&a.equals,r={hash:{},inverse:B.program(23,T,n),fn:B.program(20,S,n),data:n},e=l?l.call(a,(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r):P.call(a,"equals",(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r),(e||0===e)&&(s+=e),s+="\n								"}function S(a,n){var e,l,r,s="";return s+='\n										<span class="timeago">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:B.noop,fn:B.program(21,D,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.EndDate,r):P.call(a,"eventTimeString",a&&a.StartDate,a&&a.EndDate,r),(e||0===e)&&(s+=e),s+="</span>\n									"}function D(){var a="";return a}function T(a,n){var e,l,r,s="";return s+='\n										<span class="timeago">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:B.noop,fn:B.program(21,D,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.StartDate,r):P.call(a,"eventTimeString",a&&a.StartDate,a&&a.StartDate,r),(e||0===e)&&(s+=e),s+="</span>\n									"}function I(a,n){var e,l,r,s="";return s+=" ",l=t.hovercard||a&&a.hovercard,r={hash:{},inverse:B.noop,fn:B.program(21,D,n),data:n},e=l?l.call(a,a&&a.Type,a&&a.ID,r):P.call(a,"hovercard",a&&a.Type,a&&a.ID,r),(e||0===e)&&(s+=e),s+=" "}function w(a,n,e){var l,r="";return r+="\n							",l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:B.noop,fn:B.programWithDepth(28,A,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n							"}function A(a,n,t){var e,l="";return l+="\n								<p>"+R((e=t&&t.SystemText,e=null==e||e===!1?e:e.Location,typeof e===M?e.apply(a):e))+": ",e=a&&a.Entity,e=null==e||e===!1?e:e.Location,e=typeof e===M?e.apply(a):e,(e||0===e)&&(l+=e),l+="</p>\n							"}function b(a,n,e){var l,r="";return r+="\n							",l=t["if"].call(a,(l=e&&e.Options,null==l||l===!1?l:l.IncludeSummary),{hash:{},inverse:B.noop,fn:B.program(31,C,n),data:n}),(l||0===l)&&(r+=l),r+="\n						"}function C(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,a&&a.Summary,{hash:{},inverse:B.noop,fn:B.program(32,q,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function q(a,n){var e,l,r,s="";return s+='\n									<p dir="auto">',l=t.truncate||a&&a.truncate,r={hash:{},data:n},e=l?l.call(a,a&&a.Summary,(e=a&&a.Summary,null==e||e===!1?e:e.length),r):P.call(a,"truncate",a&&a.Summary,(e=a&&a.Summary,null==e||e===!1?e:e.length),r),(e||0===e)&&(s+=e),s+="</p>\n								"}function k(a,n,e,l){var r,s,i,o="";return o+='\n					<footer>\n						<ul class="actions is-inline is-muted is-small list-unstyled">\n							<li>\n								<span class="icon is-normal">\n									<i class="ii ii-like" aria-hidden="true"></i>\n								</span>\n								<span aria-label="'+R((r=l&&l.SystemText,r=null==r||r===!1?r:r.haveliked,typeof r===M?r.apply(a):r))+'">',s=t.equals||a&&a.equals,i={hash:{},inverse:B.program(37,x,n),fn:B.program(35,E,n),data:n},r=s?s.call(a,a&&a.LikeCount,"-1",i):P.call(a,"equals",a&&a.LikeCount,"-1",i),(r||0===r)&&(o+=r),o+="</span>\n							</li>\n							",s=t.equals||a&&a.equals,i={hash:{},inverse:B.noop,fn:B.programWithDepth(39,L,n,e),data:n},r=s?s.call(a,(r=a&&a.Entity,null==r||r===!1?r:r.IsCommentsAllowed),"true",i):P.call(a,"equals",(r=a&&a.Entity,null==r||r===!1?r:r.IsCommentsAllowed),"true",i),(r||0===r)&&(o+=r),o+="\n						</ul>\n						",r=t["if"].call(a,a&&a.SocialAdvocacyItem,{hash:{},inverse:B.noop,fn:B.programWithDepth(42,H,n,e),data:n}),(r||0===r)&&(o+=r),o+="\n					</footer>\n					"}function E(){return"0"}function x(a,n){var e,l;return(l=t.LikeCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.LikeCount,e=typeof l===M?l.call(a,{hash:{},data:n}):l),R(e)}function L(a,n,e){var l,r,s,i="";return i+='\n							<li>\n								<span class="icon is-normal">\n									<i class="ii ii-comments" aria-hidden="true"></i>\n								</span>\n								<span aria-label="'+R((l=e&&e.SystemText,l=null==l||l===!1?l:l.havecommented,typeof l===M?l.apply(a):l))+'">',r=t.equals||a&&a.equals,s={hash:{},inverse:B.program(40,W,n),fn:B.program(35,E,n),data:n},l=r?r.call(a,(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s):P.call(a,"equals",(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s),(l||0===l)&&(i+=l),i+="</span>\n							</li>\n							"}function W(a,n){var e,l;return(l=t.CommentCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.CommentCount,e=typeof l===M?l.call(a,{hash:{},data:n}):l),R(e)}function H(a,n,e){var l,r,s="";return s+='\n						<button id="soc-adv-share-btn" \n								class="btn btn-primary btn-small" \n								onclick="Widgets.SocialAdvocacy_ShareClicked(',(r=t.ID)?l=r.call(a,{hash:{},data:n}):(r=a&&a.ID,l=typeof r===M?r.call(a,{hash:{},data:n}):r),s+=R(l)+')"\n								type="button"\n								aria-label="'+R((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShareAria,typeof l===M?l.apply(a):l))+'"\n						>\n							'+R((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShare,typeof l===M?l.apply(a):l))+'&nbsp;<i class="fa fa-share-alt ii ii-share"></i>\n						</button>\n						'}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var _,U="",P=t.helperMissing,R=this.escapeExpression,B=this,M="function";return U+='<ul class="list-unstyled widget-list has-thumbnail-overlay">\n	',_=t.each.call(n,n&&n.Items,{hash:{},inverse:B.noop,fn:B.programWithDepth(1,s,l,n,r),data:l}),(_||0===_)&&(U+=_),U+="\n</ul>\n"}),n.widgets_content_list=a(function(a,n,t,e,l){function r(a,n,e){var l,r,c,h="";return h+='\r\n	<li class="',l=t["if"].call(a,a&&a.IsKey,{hash:{},inverse:N.program(4,i,n),fn:N.program(2,s,n),data:n}),(l||0===l)&&(h+=l),h+=' gridster-wac">\r\n		',r=t.when||a&&a.when,c={hash:{},inverse:N.program(11,p,n),fn:N.program(6,o,n),data:n},l=r?r.call(a,"AssetID != -1",c):M.call(a,"when","AssetID != -1",c),(l||0===l)&&(h+=l),h+='\r\n	<div class="content-widget-list-details-container">\r\n		<div dir="auto">\r\n			<a class="is-w-a" target="',(r=t.Target)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Target,l=typeof r===F?r.call(a,{hash:{},data:n}):r),h+=O(l)+'" href="',(r=t.URL)?l=r.call(a,{hash:{},data:n}):(r=a&&a.URL,l=typeof r===F?r.call(a,{hash:{},data:n}):r),h+=O(l)+'" ',l=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:N.noop,fn:N.program(13,u,n),data:n}),(l||0===l)&&(h+=l),h+=">\r\n				",(r=t.Title)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Title,l=typeof r===F?r.call(a,{hash:{},data:n}):r),(l||0===l)&&(h+=l),h+="\r\n			</a>\r\n		</div>\r\n		",r=t.equals||a&&a.equals,c={hash:{},inverse:N.programWithDepth(19,v,n,e),fn:N.programWithDepth(16,f,n,e),data:n},l=r?r.call(a,a&&a.Type,"Event",c):M.call(a,"equals",a&&a.Type,"Event",c),(l||0===l)&&(h+=l),h+="\r\n\r\n		<!-- This will return true if AuthorType is greater than 0, i.e. not a person -->\r\n		",l=t["if"].call(a,a&&a.AuthorType,{hash:{},inverse:N.programWithDepth(26,T,n,e),fn:N.programWithDepth(23,S,n,e),data:n}),(l||0===l)&&(h+=l),h+='\r\n		<div class="social-tools">\r\n			<div class="row-fluid">\r\n				<div class="span5 pull-left">\r\n					',r=t.when||a&&a.when,c={hash:{},inverse:N.program(35,q,n),fn:N.program(30,A,n),data:n},l=r?r.call(a,"Type != 'Event'",c):M.call(a,"when","Type != 'Event'",c),(l||0===l)&&(h+=l),h+='\r\n				</div>\r\n				<div class="span7 pull-right">\r\n					',l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:N.noop,fn:N.programWithDepth(41,L,n,e),data:n}),(l||0===l)&&(h+=l),h+="\r\n				</div>\r\n			</div>\r\n		</div>\r\n	</div>\r\n	</li>\r\n    "}function s(){return"content-widget-item-key"}function i(){return"content-widget-item"}function o(a,n){var e,l,r="";return r+='\r\n			<div class="pull-left content-widget-list-image-container">\r\n				<img src="',e=t["if"].call(a,a&&a.AssetID,{hash:{},inverse:N.program(9,h,n),fn:N.program(7,c,n),data:n}),(e||0===e)&&(r+=e),r+='" style="object-fit: cover; object-position: 50% ',(l=t.BackgroundYpos)?e=l.call(a,{hash:{},data:n}):(l=a&&a.BackgroundYpos,e=typeof l===F?l.call(a,{hash:{},data:n}):l),r+=O(e)+'%;" alt="" role="presentation" loading="lazy" />\r\n			</div>\r\n			'}function c(a,n){var e,l,r;return l=t.asset||a&&a.asset,r={hash:{},data:n},e=l?l.call(a,a&&a.AssetID,3,r):M.call(a,"asset",a&&a.AssetID,3,r),e||0===e?e:""}function h(a,n){var e,l;return O((e=t.avatar||a&&a.avatar,l={hash:{},data:n},e?e.call(a,a&&a.Type,l):M.call(a,"avatar",a&&a.Type,l)))}function p(a,n){var e,l,r="";return r+='\r\n				<div role="presentation" class="icon-container is-medium f-left xs-mr-2" ><span class="icon is-normal"><i class="ii ',(l=t.AssociatedIcon)?e=l.call(a,{hash:{},data:n}):(l=a&&a.AssociatedIcon,e=typeof l===F?l.call(a,{hash:{},data:n}):l),r+=O(e)+'"></i></span></div>\r\n		'}function u(a,n){var e,l,r,s="";return s+=" ",l=t.hovercard||a&&a.hovercard,r={hash:{},inverse:N.noop,fn:N.program(14,d,n),data:n},e=l?l.call(a,a&&a.Type,a&&a.ID,r):M.call(a,"hovercard",a&&a.Type,a&&a.ID,r),(e||0===e)&&(s+=e),s+=" "}function d(){return" "}function f(a,n,e){var l,r="";return r+="\r\n		",l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:N.noop,fn:N.programWithDepth(17,m,n,e),data:n}),(l||0===l)&&(r+=l),r+="\r\n		"}function m(a,n,t){var e,l="";return l+="\r\n		<div>"+O((e=t&&t.SystemText,e=null==e||e===!1?e:e.Location,typeof e===F?e.apply(a):e))+": ",e=a&&a.Entity,e=null==e||e===!1?e:e.Location,e=typeof e===F?e.apply(a):e,(e||0===e)&&(l+=e),l+="</div>\r\n		"}function v(a,n,e){var l,r="";return r+="\r\n		",l=t["if"].call(a,(l=e&&e.Options,null==l||l===!1?l:l.IncludeSummary),{hash:{},inverse:N.noop,fn:N.program(20,y,n),data:n}),(l||0===l)&&(r+=l),r+="\r\n		"}function y(a,n){var e,l="";return l+="\r\n		",e=t["if"].call(a,a&&a.Summary,{hash:{},inverse:N.noop,fn:N.program(21,g,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n		"}function g(a,n){var e,l,r,s="";return s+='\r\n		<div dir="auto">',l=t.truncate||a&&a.truncate,r={hash:{},data:n},e=l?l.call(a,a&&a.Summary,30,r):M.call(a,"truncate",a&&a.Summary,30,r),(e||0===e)&&(s+=e),s+="</div>\r\n		"}function S(a,n,e){var l,r="";return r+="\r\n			",l=t["if"].call(a,a&&a.Author,{hash:{},inverse:N.noop,fn:N.programWithDepth(24,D,n,e),data:n}),(l||0===l)&&(r+=l),r+="\r\n		"}function D(a,n,e){var l,r,s="";return s+='\r\n				<!-- Display a span instead of a link -->\r\n				<div class="is-author">\r\n					'+O((l=e&&e.SystemText,l=null==l||l===!1?l:l.By,typeof l===F?l.apply(a):l))+" <span><strong>",(r=t.Author)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Author,l=typeof r===F?r.call(a,{hash:{},data:n}):r),s+=O(l)+"</strong></span>\r\n				</div>\r\n			"
}function T(a,n,e){var l,r="";return r+="\r\n			",l=t["if"].call(a,a&&a.Author,{hash:{},inverse:N.noop,fn:N.programWithDepth(27,I,n,e),data:n}),(l||0===l)&&(r+=l),r+="\r\n		"}function I(a,n,e){var l,r,s,i="";return i+='\r\n				<div class="is-author">\r\n					'+O((l=e&&e.SystemText,l=null==l||l===!1?l:l.By,typeof l===F?l.apply(a):l))+' <a href="'+O((r=t.link||a&&a.link,s={hash:{},data:n},r?r.call(a,"Person",a&&a.AuthorID,s):M.call(a,"link","Person",a&&a.AuthorID,s)))+'" ',l=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:N.noop,fn:N.program(28,w,n),data:n}),(l||0===l)&&(i+=l),i+=">",(r=t.Author)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Author,l=typeof r===F?r.call(a,{hash:{},data:n}):r),i+=O(l)+"</a>\r\n				</div>\r\n			"}function w(a,n){var e,l,r="";return r+=' data-personid="',(l=t.AuthorID)?e=l.call(a,{hash:{},data:n}):(l=a&&a.AuthorID,e=typeof l===F?l.call(a,{hash:{},data:n}):l),r+=O(e)+'" '}function A(a,n){var e,l="";return l+='\r\n					<time class="timeago pull-left" datetime="',e=t["if"].call(a,a&&a.ShowUpdateDate,{hash:{},inverse:N.program(33,C,n),fn:N.program(31,b,n),data:n}),(e||0===e)&&(l+=e),l+='"></time>\r\n					'}function b(a,n){var e,l,r="";return r+=" ",(l=t.UpdateDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.UpdateDate,e=typeof l===F?l.call(a,{hash:{},data:n}):l),r+=O(e)+" "}function C(a,n){var e,l,r="";return r+=" ",(l=t.StartDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.StartDate,e=typeof l===F?l.call(a,{hash:{},data:n}):l),r+=O(e)+" "}function q(a,n){var e,l,r,s="";return s+="\r\n					",l=t.equals||a&&a.equals,r={hash:{},inverse:N.program(39,x,n),fn:N.program(36,k,n),data:n},e=l?l.call(a,(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r):M.call(a,"equals",(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r),(e||0===e)&&(s+=e),s+="\r\n					"}function k(a,n){var e,l,r,s="";return s+='<span class="pull-left timeago" style="white-space:pre-line;">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:N.noop,fn:N.program(37,E,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.EndDate,r):M.call(a,"eventTimeString",a&&a.StartDate,a&&a.EndDate,r),(e||0===e)&&(s+=e),s+="</span>"}function E(){var a="";return a}function x(a,n){var e,l,r,s="";return s+='<span class="timeago" style="white-space:pre-line;">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:N.noop,fn:N.program(37,E,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.StartDate,r):M.call(a,"eventTimeString",a&&a.StartDate,a&&a.StartDate,r),(e||0===e)&&(s+=e),s+="</span>"}function L(a,n,e){var l,r,s,i="";return i+='\r\n					<span class="pull-right count">\r\n						',l=t["if"].call(a,a&&a.SocialAdvocacyItem,{hash:{},inverse:N.noop,fn:N.programWithDepth(42,W,n,e),data:n}),(l||0===l)&&(i+=l),i+="\r\n						",r=t.equals||a&&a.equals,s={hash:{},inverse:N.noop,fn:N.programWithDepth(44,H,n,e),data:n},l=r?r.call(a,(l=a&&a.Entity,null==l||l===!1?l:l.IsCommentsAllowed),"true",s):M.call(a,"equals",(l=a&&a.Entity,null==l||l===!1?l:l.IsCommentsAllowed),"true",s),(l||0===l)&&(i+=l),i+='\r\n						<span title="',r=t.equals||a&&a.equals,s={hash:{},inverse:N.program(49,P,n),fn:N.program(45,_,n),data:n},l=r?r.call(a,a&&a.LikeCount,"-1",s):M.call(a,"equals",a&&a.LikeCount,"-1",s),(l||0===l)&&(i+=l),i+=" "+O((l=e&&e.SystemText,l=null==l||l===!1?l:l.Likes,typeof l===F?l.apply(a):l))+'">\r\n							<span class="icon is-normal"><i class="iconextra-like ii-like"></i></span>\r\n							',r=t.equals||a&&a.equals,s={hash:{},inverse:N.program(49,P,n),fn:N.program(45,_,n),data:n},l=r?r.call(a,a&&a.LikeCount,"-1",s):M.call(a,"equals",a&&a.LikeCount,"-1",s),(l||0===l)&&(i+=l),i+="\r\n						</span>\r\n					</span>\r\n					"}function W(a,n,e){var l,r,s="";return s+='\r\n						<button id="soc-adv-share-btn" \r\n								class="btn btn-primary btn-small" \r\n								onclick="Widgets.SocialAdvocacy_ShareClicked(',(r=t.ID)?l=r.call(a,{hash:{},data:n}):(r=a&&a.ID,l=typeof r===F?r.call(a,{hash:{},data:n}):r),s+=O(l)+')"\r\n								type="button"\r\n								aria-label="'+O((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShareAria,typeof l===F?l.apply(a):l))+'"\r\n						>\r\n							<i class="fa fa-share-alt ii ii-share"></i>\r\n						</button>\r\n						'}function H(a,n,e){var l,r,s,i="";return i+='\r\n						<span title="',r=t.equals||a&&a.equals,s={hash:{},inverse:N.program(47,U,n),fn:N.program(45,_,n),data:n},l=r?r.call(a,a&&a.CommentCount,"-1",s):M.call(a,"equals",a&&a.CommentCount,"-1",s),(l||0===l)&&(i+=l),i+=" "+O((l=e&&e.SystemText,l=null==l||l===!1?l:l.Comments,typeof l===F?l.apply(a):l))+'">\r\n							<span class="icon is-normal"><i class="iconextra-comment ii-comments"></i></span>\r\n							',r=t.equals||a&&a.equals,s={hash:{},inverse:N.program(47,U,n),fn:N.program(45,_,n),data:n},l=r?r.call(a,(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s):M.call(a,"equals",(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s),(l||0===l)&&(i+=l),i+="\r\n						</span>\r\n						"}function _(){return"0"}function U(a,n){var e,l;return(l=t.CommentCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.CommentCount,e=typeof l===F?l.call(a,{hash:{},data:n}):l),O(e)}function P(a,n){var e,l;return(l=t.LikeCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.LikeCount,e=typeof l===F?l.call(a,{hash:{},data:n}):l),O(e)}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var R,B="",M=t.helperMissing,O=this.escapeExpression,N=this,F="function";return B+='<ul class="unstyled content-widget-items-container has-thumbnail-overlay">\r\n    ',R=t.each.call(n,n&&n.Items,{hash:{},inverse:N.noop,fn:N.programWithDepth(1,r,l,n),data:l}),(R||0===R)&&(B+=R),B+="\r\n</ul>\r\n"}),n.widgets_content_listwithpreview=a(function(a,n,t,e,l){function r(){return"content-widget-item-key"}function s(){return"content-widget-item"}function i(a,n){var e,l,r;return K((l=t.asset||a&&a.asset,r={hash:{},data:n},l?l.call(a,(e=a&&a.Headline,null==e||e===!1?e:e.AssetID),7,r):J.call(a,"asset",(e=a&&a.Headline,null==e||e===!1?e:e.AssetID),7,r)))}function o(){return"/Content/default/images/noImageAvailable300.gif"}function c(a,n){var e,l,r;return K((l=t.asset||a&&a.asset,r={hash:{},data:n},l?l.call(a,(e=a&&a.Headline,null==e||e===!1?e:e.AssetID),5,r):J.call(a,"asset",(e=a&&a.Headline,null==e||e===!1?e:e.AssetID),5,r)))}function h(a,n){var e,l,r,s="";return s+=" ",l=t.hovercard||a&&a.hovercard,r={hash:{},inverse:X.noop,fn:X.program(12,p,n),data:n},e=l?l.call(a,(e=a&&a.Headline,null==e||e===!1?e:e.Type),(e=a&&a.Headline,null==e||e===!1?e:e.ID),r):J.call(a,"hovercard",(e=a&&a.Headline,null==e||e===!1?e:e.Type),(e=a&&a.Headline,null==e||e===!1?e:e.ID),r),(e||0===e)&&(s+=e),s+=" "}function p(){var a="";return a}function u(a,n){var e,l="";return l+="\r\n                    ",e=t["if"].call(a,(e=a&&a.Headline,null==e||e===!1?e:e.Author),{hash:{},inverse:X.noop,fn:X.program(15,d,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n                "}function d(a){var n,t="";return t+="\r\n                        "+K((n=a&&a.SystemText,n=null==n||n===!1?n:n.By,typeof n===Z?n.apply(a):n))+" <span><strong>"+K((n=a&&a.Headline,n=null==n||n===!1?n:n.Author,typeof n===Z?n.apply(a):n))+"</strong></span>\r\n                    "}function f(a,n){var e,l="";return l+="\r\n                    ",e=t["if"].call(a,(e=a&&a.Headline,null==e||e===!1?e:e.Author),{hash:{},inverse:X.noop,fn:X.program(18,m,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n                "}function m(a,n){var e,l="";return l+="\r\n                        "+K((e=a&&a.SystemText,e=null==e||e===!1?e:e.By,typeof e===Z?e.apply(a):e))+' <a href="/Interact/Pages/Modules/Directory/Entry.aspx?person='+K((e=a&&a.Headline,e=null==e||e===!1?e:e.AuthorID,typeof e===Z?e.apply(a):e))+'" ',e=t["if"].call(a,(e=a&&a.Headline,null==e||e===!1?e:e.ShowHoverCard),{hash:{},inverse:X.noop,fn:X.program(19,v,n),data:n}),(e||0===e)&&(l+=e),l+=">"+K((e=a&&a.Headline,e=null==e||e===!1?e:e.Author,typeof e===Z?e.apply(a):e))+"</a>\r\n                    "}function v(a){var n,t="";return t+=' data-personid="'+K((n=a&&a.Headline,n=null==n||n===!1?n:n.AuthorID,typeof n===Z?n.apply(a):n))+'" '}function y(a,n){var e,l="";return l+='\r\n		<time class="timeago pull-left" datetime="',e=t["if"].call(a,(e=a&&a.Headline,null==e||e===!1?e:e.ShowUpdateDate),{hash:{},inverse:X.program(24,S,n),fn:X.program(22,g,n),data:n}),(e||0===e)&&(l+=e),l+='"></time>\r\n		'}function g(a){var n,t="";return t+=" "+K((n=a&&a.Headline,n=null==n||n===!1?n:n.UpdateDate,typeof n===Z?n.apply(a):n))+" "}function S(a){var n,t="";return t+=" "+K((n=a&&a.Headline,n=null==n||n===!1?n:n.StartDate,typeof n===Z?n.apply(a):n))+" "}function D(a){var n,t="";return t+='\r\n		<time class="timeago pull-left" datetime="'+K((n=a&&a.Headline,n=null==n||n===!1?n:n.StartDate,typeof n===Z?n.apply(a):n))+'" preshifted="true"></time>\r\n		'}function T(a){var n,t="";return t+='\r\n            <button id="soc-adv-share-btn" \r\n                    class="btn btn-primary btn-small" \r\n                    onclick="Widgets.SocialAdvocacy_ShareClicked('+K((n=a&&a.Headline,n=null==n||n===!1?n:n.ID,typeof n===Z?n.apply(a):n))+')"\r\n                    type="button"\r\n                    aria-label="'+K((n=a&&a.SystemText,n=null==n||n===!1?n:n.SocialAdvocacyShareAria,typeof n===Z?n.apply(a):n))+'"\r\n            >\r\n                <i class="fa fa-share-alt ii ii-share"></i>\r\n            </button>\r\n            '}function I(a,n){var e,l,r,s="";return s+='\r\n            <span title="',l=t.equals||a&&a.equals,r={hash:{},inverse:X.program(33,A,n),fn:X.program(31,w,n),data:n},e=l?l.call(a,(e=a&&a.Headline,null==e||e===!1?e:e.CommentCount),"-1",r):J.call(a,"equals",(e=a&&a.Headline,null==e||e===!1?e:e.CommentCount),"-1",r),(e||0===e)&&(s+=e),s+=" "+K((e=a&&a.SystemText,e=null==e||e===!1?e:e.Comments,typeof e===Z?e.apply(a):e))+'">\r\n                <span class="icon is-normal"><i class="iconextra-comment ii-comments"></i></span>\r\n                ',l=t.equals||a&&a.equals,r={hash:{},inverse:X.program(33,A,n),fn:X.program(31,w,n),data:n},e=l?l.call(a,(e=a&&a.Headline,null==e||e===!1?e:e.CommentCount),"-1",r):J.call(a,"equals",(e=a&&a.Headline,null==e||e===!1?e:e.CommentCount),"-1",r),(e||0===e)&&(s+=e),s+="\r\n            </span>\r\n            "}function w(){return"0"}function A(a){var n;return K((n=a&&a.Headline,n=null==n||n===!1?n:n.CommentCount,typeof n===Z?n.apply(a):n))}function b(a){var n;return K((n=a&&a.Headline,n=null==n||n===!1?n:n.LikeCount,typeof n===Z?n.apply(a):n))}function C(a,n,e){var l,s,i,o="";return o+='\r\n    <li class="',l=t["if"].call(a,a&&a.IsKey,{hash:{},inverse:X.noop,fn:X.program(1,r,n),data:n}),(l||0===l)&&(o+=l),o+=' gridster-wac">\r\n            <div class="pull-left content-widget-list-image-container">\r\n                <img src="',l=t["if"].call(a,a&&a.AssetID,{hash:{},inverse:X.program(40,k,n),fn:X.program(38,q,n),data:n}),(l||0===l)&&(o+=l),o+='" alt="" role="presentation" loading="lazy" />\r\n            </div>\r\n        <div class="content-widget-list-details-container">\r\n            <div class="contentlist-title">\r\n                <a class="is-w-a d-block" target="',(s=t.Target)?l=s.call(a,{hash:{},data:n}):(s=a&&a.Target,l=typeof s===Z?s.call(a,{hash:{},data:n}):s),o+=K(l)+'" href="',(s=t.URL)?l=s.call(a,{hash:{},data:n}):(s=a&&a.URL,l=typeof s===Z?s.call(a,{hash:{},data:n}):s),o+=K(l)+'" dir="auto" ',l=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:X.noop,fn:X.program(42,E,n),data:n}),(l||0===l)&&(o+=l),o+=">\r\n                    ",(s=t.Title)?l=s.call(a,{hash:{},data:n}):(s=a&&a.Title,l=typeof s===Z?s.call(a,{hash:{},data:n}):s),(l||0===l)&&(o+=l),o+="\r\n                </a>\r\n                <!-- This will return true if AuthorType is greater than 0, i.e. not a person -->\r\n                ",l=t["if"].call(a,a&&a.AuthorType,{hash:{},inverse:X.programWithDepth(47,W,n,e),fn:X.programWithDepth(44,x,n,e),data:n}),(l||0===l)&&(o+=l),o+='\r\n            </div>    \r\n            <div class="social-tools">                \r\n            <div class="row-fluid">\r\n                                  \r\n            <div class="span6 pull-left">\r\n		            ',s=t.when||a&&a.when,i={hash:{},inverse:X.program(56,B,n),fn:X.program(51,U,n),data:n},l=s?s.call(a,"Type != 'Event'",i):J.call(a,"when","Type != 'Event'",i),(l||0===l)&&(o+=l),o+='\r\n            </div>\r\n            <div class="span6 pull-right">\r\n                ',l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:X.noop,fn:X.programWithDepth(58,M,n,e),data:n}),(l||0===l)&&(o+=l),o+="\r\n            </div>\r\n            </div>\r\n        </div>\r\n        </div>\r\n    </li>\r\n    "}function q(a,n){var e,l,r;return l=t.asset||a&&a.asset,r={hash:{},data:n},e=l?l.call(a,a&&a.AssetID,4,r):J.call(a,"asset",a&&a.AssetID,4,r),e||0===e?e:""}function k(a,n){var e,l;return K((e=t.avatar||a&&a.avatar,l={hash:{},data:n},e?e.call(a,a&&a.Type,l):J.call(a,"avatar",a&&a.Type,l)))}function E(a,n){var e,l,r,s="";return s+=" ",l=t.hovercard||a&&a.hovercard,r={hash:{},inverse:X.noop,fn:X.program(12,p,n),data:n},e=l?l.call(a,a&&a.Type,a&&a.ID,r):J.call(a,"hovercard",a&&a.Type,a&&a.ID,r),(e||0===e)&&(s+=e),s+=" "}function x(a,n,e){var l,r="";return r+="\r\n                    ",l=t["if"].call(a,a&&a.Author,{hash:{},inverse:X.noop,fn:X.programWithDepth(45,L,n,e),data:n}),(l||0===l)&&(r+=l),r+="\r\n                "}function L(a,n,e){var l,r,s="";return s+='\r\n                         <!-- Display a span instead of a link -->\r\n                        <div class="auth is-author">\r\n                            '+K((l=e&&e.SystemText,l=null==l||l===!1?l:l.By,typeof l===Z?l.apply(a):l))+" <span><strong>",(r=t.Author)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Author,l=typeof r===Z?r.call(a,{hash:{},data:n}):r),s+=K(l)+"</strong></span>\r\n                        </div>  \r\n                    "}function W(a,n,e){var l,r="";return r+="\r\n                    ",l=t["if"].call(a,a&&a.Author,{hash:{},inverse:X.noop,fn:X.programWithDepth(48,H,n,e),data:n}),(l||0===l)&&(r+=l),r+="\r\n                "}function H(a,n,e){var l,r,s,i="";return i+='\r\n                        <div class="auth is-author">\r\n                            '+K((l=e&&e.SystemText,l=null==l||l===!1?l:l.By,typeof l===Z?l.apply(a):l))+' <a href="'+K((r=t.link||a&&a.link,s={hash:{},data:n},r?r.call(a,"Person",a&&a.AuthorID,s):J.call(a,"link","Person",a&&a.AuthorID,s)))+'" ',l=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:X.noop,fn:X.program(49,_,n),data:n}),(l||0===l)&&(i+=l),i+=">",(r=t.Author)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Author,l=typeof r===Z?r.call(a,{hash:{},data:n}):r),i+=K(l)+"</a>\r\n                        </div>\r\n                    "}function _(a,n){var e,l,r="";return r+=' data-personid="',(l=t.AuthorID)?e=l.call(a,{hash:{},data:n}):(l=a&&a.AuthorID,e=typeof l===Z?l.call(a,{hash:{},data:n}):l),r+=K(e)+'" '}function U(a,n){var e,l="";return l+='\r\n		            <time class="timeago" datetime="',e=t["if"].call(a,a&&a.ShowUpdateDate,{hash:{},inverse:X.program(54,R,n),fn:X.program(52,P,n),data:n}),(e||0===e)&&(l+=e),l+='"></time>\r\n		            '}function P(a,n){var e,l,r="";return r+=" ",(l=t.UpdateDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.UpdateDate,e=typeof l===Z?l.call(a,{hash:{},data:n}):l),r+=K(e)+" "}function R(a,n){var e,l,r="";return r+=" ",(l=t.StartDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.StartDate,e=typeof l===Z?l.call(a,{hash:{},data:n}):l),r+=K(e)+" "}function B(a,n){var e,l,r="";return r+='\r\n		            <time class="timeago" datetime="',(l=t.StartDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.StartDate,e=typeof l===Z?l.call(a,{hash:{},data:n}):l),r+=K(e)+'" preshifted="true"></time>\r\n					'}function M(a,n,e){var l,r,s,i="";return i+='\r\n                <div class="count pull-right">\r\n                    ',l=t["if"].call(a,a&&a.SocialAdvocacyItem,{hash:{},inverse:X.noop,fn:X.programWithDepth(59,O,n,e),data:n}),(l||0===l)&&(i+=l),i+="\r\n                    ",r=t.equals||a&&a.equals,s={hash:{},inverse:X.noop,fn:X.programWithDepth(61,N,n,e),data:n},l=r?r.call(a,(l=a&&a.Entity,null==l||l===!1?l:l.IsCommentsAllowed),"true",s):J.call(a,"equals",(l=a&&a.Entity,null==l||l===!1?l:l.IsCommentsAllowed),"true",s),(l||0===l)&&(i+=l),i+='\r\n                    <span title="',r=t.equals||a&&a.equals,s={hash:{},inverse:X.program(64,z,n),fn:X.program(31,w,n),data:n},l=r?r.call(a,a&&a.LikeCount,"-1",s):J.call(a,"equals",a&&a.LikeCount,"-1",s),(l||0===l)&&(i+=l),i+=" "+K((l=e&&e.SystemText,l=null==l||l===!1?l:l.Likes,typeof l===Z?l.apply(a):l))+'">\r\n                        <span class="icon is-normal"><i class="iconextra-like ii-like"></i></span>\r\n                        ',r=t.equals||a&&a.equals,s={hash:{},inverse:X.program(64,z,n),fn:X.program(31,w,n),data:n},l=r?r.call(a,a&&a.LikeCount,"-1",s):J.call(a,"equals",a&&a.LikeCount,"-1",s),(l||0===l)&&(i+=l),i+="\r\n                    </span>\r\n                </div>\r\n                "}function O(a,n,e){var l,r,s="";return s+='\r\n                    <button id="soc-adv-share-btn" \r\n                            class="btn btn-primary btn-small" \r\n                            onclick="Widgets.SocialAdvocacy_ShareClicked(',(r=t.ID)?l=r.call(a,{hash:{},data:n}):(r=a&&a.ID,l=typeof r===Z?r.call(a,{hash:{},data:n}):r),s+=K(l)+')"\r\n                            type="button"\r\n                            aria-label="'+K((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShareAria,typeof l===Z?l.apply(a):l))+'"\r\n                    >\r\n                        <i class="fa fa-share-alt ii ii-share"></i>\r\n                    </button>\r\n                    '}function N(a,n,e){var l,r,s,i="";return i+='\r\n                    <span title="',r=t.equals||a&&a.equals,s={hash:{},inverse:X.program(62,F,n),fn:X.program(31,w,n),data:n},l=r?r.call(a,a&&a.CommentCount,"-1",s):J.call(a,"equals",a&&a.CommentCount,"-1",s),(l||0===l)&&(i+=l),i+=" "+K((l=e&&e.SystemText,l=null==l||l===!1?l:l.Comments,typeof l===Z?l.apply(a):l))+'">\r\n                          <span class="icon is-normal"><i class="iconextra-comment ii-comments"></i></span>\r\n                          ',r=t.equals||a&&a.equals,s={hash:{},inverse:X.program(62,F,n),fn:X.program(31,w,n),data:n},l=r?r.call(a,a&&a.CommentCount,"-1",s):J.call(a,"equals",a&&a.CommentCount,"-1",s),(l||0===l)&&(i+=l),i+="\r\n                      </span>\r\n                    "}function F(a,n){var e,l;return(l=t.CommentCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.CommentCount,e=typeof l===Z?l.call(a,{hash:{},data:n}):l),K(e)}function z(a,n){var e,l;return(l=t.LikeCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.LikeCount,e=typeof l===Z?l.call(a,{hash:{},data:n}):l),K(e)}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var Y,j,V,G="",J=t.helperMissing,K=this.escapeExpression,X=this,Z="function";return G+='<div class="headline-item ',Y=t["if"].call(n,n&&n.IsKey,{hash:{},inverse:X.program(3,s,l),fn:X.program(1,r,l),data:l}),(Y||0===Y)&&(G+=Y),G+='">\r\n    <section class="Widget">\r\n    <div class="headline-container gridster-wac">\r\n        <div class="headline-image center-cropped" style="background-image: url(\'',Y=t["if"].call(n,(Y=n&&n.Headline,null==Y||Y===!1?Y:Y.AssetID),{hash:{},inverse:X.program(7,o,l),fn:X.program(5,i,l),data:l}),(Y||0===Y)&&(G+=Y),G+="');background-position:0 "+K((Y=n&&n.Headline,Y=null==Y||Y===!1?Y:Y.BackgroundYpos,typeof Y===Z?Y.apply(n):Y))+'%;">\r\n            <div class="IMG_Opacity">\r\n                <img src="',Y=t["if"].call(n,(Y=n&&n.Headline,null==Y||Y===!1?Y:Y.AssetID),{hash:{},inverse:X.program(7,o,l),fn:X.program(9,c,l),data:l}),(Y||0===Y)&&(G+=Y),G+='" alt="" role="presentation">\r\n            </div>\r\n        </div>\r\n        <div class="headline-titleauth">\r\n            <a target="'+K((Y=n&&n.Headline,Y=null==Y||Y===!1?Y:Y.Target,typeof Y===Z?Y.apply(n):Y))+'" class="headline-title is-w-a" href="'+K((Y=n&&n.Headline,Y=null==Y||Y===!1?Y:Y.URL,typeof Y===Z?Y.apply(n):Y))+'" dir="auto" ',Y=t["if"].call(n,(Y=n&&n.Headline,null==Y||Y===!1?Y:Y.ShowHoverCard),{hash:{},inverse:X.noop,fn:X.program(11,h,l),data:l}),(Y||0===Y)&&(G+=Y),G+=">\r\n                <h3>",Y=n&&n.Headline,Y=null==Y||Y===!1?Y:Y.Title,Y=typeof Y===Z?Y.apply(n):Y,(Y||0===Y)&&(G+=Y),G+='</h3>      \r\n            </a>\r\n           <div class="headline-auth is-author">\r\n                <!-- This will return true if AuthorType is greater than 0, i.e. not a person -->\r\n                ',Y=t["if"].call(n,(Y=n&&n.Headline,null==Y||Y===!1?Y:Y.AuthorType),{hash:{},inverse:X.program(17,f,l),fn:X.program(14,u,l),data:l}),(Y||0===Y)&&(G+=Y),G+='\r\n            </div>\r\n        </div>\r\n    </div>\r\n    </section>\r\n<div class="headline-social">\r\n<div class="row-fluid">\r\n    <div class="span5">\r\n		',j=t.when||n&&n.when,V={hash:{},inverse:X.program(26,D,l),fn:X.program(21,y,l),data:l},Y=j?j.call(n,"Headline.Type != 'Event'",V):J.call(n,"when","Headline.Type != 'Event'",V),(Y||0===Y)&&(G+=Y),G+='\r\n    </div>\r\n    <div class="span7">                 \r\n        <span class="pull-right count">\r\n            ',Y=t["if"].call(n,(Y=n&&n.Headline,null==Y||Y===!1?Y:Y.SocialAdvocacyItem),{hash:{},inverse:X.noop,fn:X.program(28,T,l),data:l}),(Y||0===Y)&&(G+=Y),G+="\r\n            ",j=t.equals||n&&n.equals,V={hash:{},inverse:X.noop,fn:X.program(30,I,l),data:l},Y=j?j.call(n,(Y=n&&n.Headline,Y=null==Y||Y===!1?Y:Y.Entity,null==Y||Y===!1?Y:Y.IsCommentsAllowed),"true",V):J.call(n,"equals",(Y=n&&n.Headline,Y=null==Y||Y===!1?Y:Y.Entity,null==Y||Y===!1?Y:Y.IsCommentsAllowed),"true",V),(Y||0===Y)&&(G+=Y),G+='\r\n            <span title="',j=t.equals||n&&n.equals,V={hash:{},inverse:X.program(35,b,l),fn:X.program(31,w,l),data:l},Y=j?j.call(n,(Y=n&&n.Headline,null==Y||Y===!1?Y:Y.LikeCount),"-1",V):J.call(n,"equals",(Y=n&&n.Headline,null==Y||Y===!1?Y:Y.LikeCount),"-1",V),(Y||0===Y)&&(G+=Y),G+=" "+K((Y=n&&n.SystemText,Y=null==Y||Y===!1?Y:Y.Likes,typeof Y===Z?Y.apply(n):Y))+'">\r\n                <span class="icon is-normal"><i class="iconextra-like ii-like"></i></span>\r\n                ',j=t.equals||n&&n.equals,V={hash:{},inverse:X.program(35,b,l),fn:X.program(31,w,l),data:l},Y=j?j.call(n,(Y=n&&n.Headline,null==Y||Y===!1?Y:Y.LikeCount),"-1",V):J.call(n,"equals",(Y=n&&n.Headline,null==Y||Y===!1?Y:Y.LikeCount),"-1",V),(Y||0===Y)&&(G+=Y),G+='\r\n            </span>\r\n        </span>\r\n    </div>\r\n    </div>\r\n    <div class="clearfix"></div>\r\n</div>\r\n</div>\r\n\r\n<ul class="unstyled contentlist-preview">\r\n    ',Y=t.each.call(n,n&&n.Items,{hash:{},inverse:X.noop,fn:X.programWithDepth(37,C,l,n),data:l}),(Y||0===Y)&&(G+=Y),G+="\r\n</ul>"}),n.widgets_content_shortenedlist=a(function(a,n,t,e,l){function r(a,n,e){var l,r,p,d="";return d+='\r\n	<li class="',l=t["if"].call(a,a&&a.IsKey,{hash:{},inverse:T.program(4,i,n),fn:T.program(2,s,n),data:n}),(l||0===l)&&(d+=l),d+=' gridster-wac">\r\n		<div class="pull-left content-widget-list-image-container">\r\n			<img src="',l=t["if"].call(a,a&&a.AssetID,{hash:{},inverse:T.program(8,c,n),fn:T.program(6,o,n),data:n}),(l||0===l)&&(d+=l),d+='" style="object-fit: cover; object-position: 50% ',(r=t.BackgroundYpos)?l=r.call(a,{hash:{},data:n}):(r=a&&a.BackgroundYpos,l=typeof r===I?r.call(a,{hash:{},data:n}):r),d+=D(l)+'%;" alt="" role="presentation" loading="lazy" />\r\n		</div>\r\n		<div class="content-widget-list-details-container">\r\n			<div dir="auto">\r\n				<a class="is-w-a" target="',(r=t.Target)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Target,l=typeof r===I?r.call(a,{hash:{},data:n}):r),d+=D(l)+'" href="',(r=t.URL)?l=r.call(a,{hash:{},data:n}):(r=a&&a.URL,l=typeof r===I?r.call(a,{hash:{},data:n}):r),d+=D(l)+'" ',l=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:T.noop,fn:T.program(10,h,n),data:n}),(l||0===l)&&(d+=l),d+=">",(r=t.Title)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Title,l=typeof r===I?r.call(a,{hash:{},data:n}):r),(l||0===l)&&(d+=l),d+="</a>\r\n			</div>\r\n			",r=t.equals||a&&a.equals,p={hash:{},inverse:T.programWithDepth(16,f,n,e),fn:T.programWithDepth(13,u,n,e),data:n},l=r?r.call(a,a&&a.Type,"Event",p):S.call(a,"equals",a&&a.Type,"Event",p),(l||0===l)&&(d+=l),d+="\r\n		</div>\r\n	</li>\r\n	"}function s(){return"content-widget-item-key"}function i(){return"content-widget-item"}function o(a,n){var e,l,r;return l=t.asset||a&&a.asset,r={hash:{},data:n},e=l?l.call(a,a&&a.AssetID,4,r):S.call(a,"asset",a&&a.AssetID,4,r),e||0===e?e:""}function c(a,n){var e,l;return D((e=t.avatar||a&&a.avatar,l={hash:{},data:n},e?e.call(a,a&&a.Type,l):S.call(a,"avatar",a&&a.Type,l)))}function h(a,n){var e,l,r,s="";return s+=" ",l=t.hovercard||a&&a.hovercard,r={hash:{},inverse:T.noop,fn:T.program(11,p,n),data:n},e=l?l.call(a,a&&a.Type,a&&a.ID,r):S.call(a,"hovercard",a&&a.Type,a&&a.ID,r),(e||0===e)&&(s+=e),s+=" "}function p(){return" "}function u(a,n,e){var l,r="";return r+="\r\n			",l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:T.noop,fn:T.programWithDepth(14,d,n,e),data:n}),(l||0===l)&&(r+=l),r+="\r\n			"}function d(a,n,t){var e,l="";return l+="\r\n			<div>"+D((e=t&&t.SystemText,e=null==e||e===!1?e:e.Location,typeof e===I?e.apply(a):e))+": ",e=a&&a.Entity,e=null==e||e===!1?e:e.Location,e=typeof e===I?e.apply(a):e,(e||0===e)&&(l+=e),l+="</div>\r\n			"}function f(a,n,e){var l,r="";return r+="\r\n			",l=t["if"].call(a,(l=e&&e.Options,null==l||l===!1?l:l.IncludeSummary),{hash:{},inverse:T.noop,fn:T.program(17,m,n),data:n}),(l||0===l)&&(r+=l),r+="\r\n			"}function m(a,n){var e,l="";return l+="\r\n			",e=t["if"].call(a,a&&a.Summary,{hash:{},inverse:T.noop,fn:T.program(18,v,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n			"}function v(a,n){var e,l,r,s="";return s+='\r\n			<div dir="auto">',l=t.truncate||a&&a.truncate,r={hash:{},data:n},e=l?l.call(a,a&&a.Summary,60,r):S.call(a,"truncate",a&&a.Summary,60,r),(e||0===e)&&(s+=e),s+="</div>\r\n			"}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var y,g="",S=t.helperMissing,D=this.escapeExpression,T=this,I="function";return g+='<ul class="unstyled content-widget-items-container striped has-thumbnail-overlay">\r\n	',y=t.each.call(n,n&&n.Items,{hash:{},inverse:T.noop,fn:T.programWithDepth(1,r,l,n),data:l}),(y||0===y)&&(g+=y),g+="\r\n</ul>\r\n"}),n.widgets_content_showcase=a(function(a,n,t,e,l){function r(a,n){var e,l,r;return B((l=t.asset||a&&a.asset,r={hash:{},data:n},l?l.call(a,(e=a&&a.Headline,null==e||e===!1?e:e.AssetID),7,r):R.call(a,"asset",(e=a&&a.Headline,null==e||e===!1?e:e.AssetID),7,r)))}function s(){return"/Content/default/images/noImageAvailable300.gif"}function i(a,n){var e,l,r;return B((l=t.asset||a&&a.asset,r={hash:{},data:n},l?l.call(a,(e=a&&a.Headline,null==e||e===!1?e:e.AssetID),5,r):R.call(a,"asset",(e=a&&a.Headline,null==e||e===!1?e:e.AssetID),5,r)))}function o(a){var n,t="";return t+='\n        <div class="social-advocacy">\n            <button id="soc-adv-share-btn" \n                    class="btn btn-primary btn-small" \n                    onclick="Widgets.SocialAdvocacy_ShareClicked('+B((n=a&&a.Headline,n=null==n||n===!1?n:n.ID,typeof n===M?n.apply(a):n))+')"\n                    type="button"\n                    aria-label="'+B((n=a&&a.SystemText,n=null==n||n===!1?n:n.SocialAdvocacyShareAria,typeof n===M?n.apply(a):n))+'"\n            >\n                <i class="fa fa-share-alt ii ii-share"></i>\n            </button>\n        </div>\n        '}function c(a,n){var e,l,r,s="";return s+='\n            <div class="pull-right">\n                ',l=t.equals||a&&a.equals,r={hash:{},inverse:O.noop,fn:O.program(10,h,n),data:n},e=l?l.call(a,(e=a&&a.Headline,e=null==e||e===!1?e:e.Entity,null==e||e===!1?e:e.IsCommentsAllowed),"true",r):R.call(a,"equals",(e=a&&a.Headline,e=null==e||e===!1?e:e.Entity,null==e||e===!1?e:e.IsCommentsAllowed),"true",r),(e||0===e)&&(s+=e),s+='\n                <span title="',l=t.equals||a&&a.equals,r={hash:{},inverse:O.program(15,d,n),fn:O.program(11,p,n),data:n},e=l?l.call(a,(e=a&&a.Headline,null==e||e===!1?e:e.LikeCount),"-1",r):R.call(a,"equals",(e=a&&a.Headline,null==e||e===!1?e:e.LikeCount),"-1",r),(e||0===e)&&(s+=e),s+=" "+B((e=a&&a.SystemText,e=null==e||e===!1?e:e.Likes,typeof e===M?e.apply(a):e))+'">\n                    <span class="icon is-normal"><i class="iconextra-like iconextra-white ii-like"></i></span>\n                    ',l=t.equals||a&&a.equals,r={hash:{},inverse:O.program(15,d,n),fn:O.program(11,p,n),data:n},e=l?l.call(a,(e=a&&a.Headline,null==e||e===!1?e:e.LikeCount),"-1",r):R.call(a,"equals",(e=a&&a.Headline,null==e||e===!1?e:e.LikeCount),"-1",r),(e||0===e)&&(s+=e),s+="\n                </span>\n            </div>\n            "}function h(a,n){var e,l,r,s="";return s+='\n                <span title="',l=t.equals||a&&a.equals,r={hash:{},inverse:O.program(13,u,n),fn:O.program(11,p,n),data:n},e=l?l.call(a,(e=a&&a.Headline,null==e||e===!1?e:e.CommentCount),"-1",r):R.call(a,"equals",(e=a&&a.Headline,null==e||e===!1?e:e.CommentCount),"-1",r),(e||0===e)&&(s+=e),s+=" "+B((e=a&&a.SystemText,e=null==e||e===!1?e:e.Comments,typeof e===M?e.apply(a):e))+'">\n                    <span class="icon is-normal"><i class="iconextra-comment iconextra-white ii-comments"></i></span>\n                    ',l=t.equals||a&&a.equals,r={hash:{},inverse:O.program(13,u,n),fn:O.program(11,p,n),data:n},e=l?l.call(a,(e=a&&a.Headline,null==e||e===!1?e:e.CommentCount),"-1",r):R.call(a,"equals",(e=a&&a.Headline,null==e||e===!1?e:e.CommentCount),"-1",r),(e||0===e)&&(s+=e),s+="\n                </span>\n                "}function p(){return"0"}function u(a){var n;return B((n=a&&a.Headline,n=null==n||n===!1?n:n.CommentCount,typeof n===M?n.apply(a):n))}function d(a){var n;return B((n=a&&a.Headline,n=null==n||n===!1?n:n.LikeCount,typeof n===M?n.apply(a):n))}function f(a,n){var e,l="";return l+="\n                        ",e=t["if"].call(a,(e=a&&a.Headline,null==e||e===!1?e:e.Author),{hash:{},inverse:O.noop,fn:O.program(18,m,n),data:n}),(e||0===e)&&(l+=e),l+="\n                        "}function m(a){var n,t="";return t+='\n                        <div class="is-author">\n                            '+B((n=a&&a.SystemText,n=null==n||n===!1?n:n.By,typeof n===M?n.apply(a):n))+" <span><strong>"+B((n=a&&a.Headline,n=null==n||n===!1?n:n.Author,typeof n===M?n.apply(a):n))+"</strong></span>\n                        </div>\n                        "}function v(a,n){var e,l="";return l+="\n                        ",e=t["if"].call(a,(e=a&&a.Headline,null==e||e===!1?e:e.Author),{hash:{},inverse:O.noop,fn:O.program(21,y,n),data:n}),(e||0===e)&&(l+=e),l+="\n                        "}function y(a,n){var e,l,r,s="";return s+='\n                        <div class="is-author">\n                            '+B((e=a&&a.SystemText,e=null==e||e===!1?e:e.By,typeof e===M?e.apply(a):e))+' <a href="'+B((l=t.link||a&&a.link,r={hash:{},data:n},l?l.call(a,"Person",(e=a&&a.Headline,null==e||e===!1?e:e.AuthorID),r):R.call(a,"link","Person",(e=a&&a.Headline,null==e||e===!1?e:e.AuthorID),r)))+'" ',e=t["if"].call(a,(e=a&&a.Headline,null==e||e===!1?e:e.ShowHoverCard),{hash:{},inverse:O.noop,fn:O.program(22,g,n),data:n}),(e||0===e)&&(s+=e),s+=">"+B((e=a&&a.Headline,e=null==e||e===!1?e:e.Author,typeof e===M?e.apply(a):e))+"</a>\n                        </div>\n                        "}function g(a){var n,t="";return t+=' data-personid="'+B((n=a&&a.Headline,n=null==n||n===!1?n:n.AuthorID,typeof n===M?n.apply(a):n))+'" '}function S(a){var n,t="";return t+=" "+B((n=a&&a.Headline,n=null==n||n===!1?n:n.UpdateDate,typeof n===M?n.apply(a):n))+" "}function D(a){var n,t="";return t+=" "+B((n=a&&a.Headline,n=null==n||n===!1?n:n.StartDate,typeof n===M?n.apply(a):n))+" "}function T(a,n,e){var l,r,s,i="";return i+='\n    <li class="center-cropped gridster-wac" style="background-image: url(\''+B((r=t.asset||a&&a.asset,s={hash:{},data:n},r?r.call(a,a&&a.AssetID,7,s):R.call(a,"asset",a&&a.AssetID,7,s)))+"');background-position:0 ",(r=t.BackgroundYpos)?l=r.call(a,{hash:{},data:n}):(r=a&&a.BackgroundYpos,l=typeof r===M?r.call(a,{hash:{},data:n}):r),i+=B(l)+'%;">\n        <div class="IMG_Opacity">\n            <img src="'+B((r=t.asset||a&&a.asset,s={hash:{},data:n},r?r.call(a,a&&a.AssetID,5,s):R.call(a,"asset",a&&a.AssetID,5,s)))+'" alt="" role="presentation" loading="lazy">\n        </div>\n        ',l=t["if"].call(a,a&&a.SocialAdvocacyItem,{hash:{},inverse:O.noop,fn:O.programWithDepth(29,I,n,e),data:n}),(l||0===l)&&(i+=l),i+='\n        <div class="social-results">\n            ',l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:O.noop,fn:O.programWithDepth(31,w,n,e),data:n}),(l||0===l)&&(i+=l),i+='\n        </div>\n        <div style="cursor: pointer;" class="headline-image-details">\n            <a class="is-w-a" target="',(r=t.Target)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Target,l=typeof r===M?r.call(a,{hash:{},data:n}):r),i+=B(l)+'" href="',(r=t.URL)?l=r.call(a,{hash:{},data:n}):(r=a&&a.URL,l=typeof r===M?r.call(a,{hash:{},data:n}):r),i+=B(l)+'" dir="auto">\n                <h4>',(r=t.Title)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Title,l=typeof r===M?r.call(a,{hash:{},data:n}):r),(l||0===l)&&(i+=l),i+='</h4>\n            </a>\n            <div class="headline-image-details-author">\n                <div class="row-fluid">\n                    <div class="span7">\n                        ',l=t["if"].call(a,a&&a.Author,{hash:{},inverse:O.noop,fn:O.programWithDepth(37,q,n,e),data:n}),(l||0===l)&&(i+=l),i+='\n                    </div>\n                    <div class="span5">\n                        <time class="timeago pull-left" datetime="',l=t["if"].call(a,a&&a.ShowUpdateDate,{hash:{},inverse:O.program(47,_,n),fn:O.program(45,H,n),data:n}),(l||0===l)&&(i+=l),i+='"></time>\n                    </div>\n                </div>\n            </div>\n        </div>\n    </li>\n    '
}function I(a,n,e){var l,r,s="";return s+='\n        <div class="social-advocacy">\n            <button id="soc-adv-share-btn" \n                    class="btn btn-primary btn-small" \n                    onclick="Widgets.SocialAdvocacy_ShareClicked(',(r=t.ID)?l=r.call(a,{hash:{},data:n}):(r=a&&a.ID,l=typeof r===M?r.call(a,{hash:{},data:n}):r),s+=B(l)+')"\n                    type="button"\n                    aria-label="'+B((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShareAria,typeof l===M?l.apply(a):l))+'"\n            >\n                <i class="fa fa-share-alt ii ii-share"></i>\n            </button>\n        </div>\n        '}function w(a,n,e){var l,r,s,i="";return i+='\n            <span class="pull-right">\n                ',r=t.equals||a&&a.equals,s={hash:{},inverse:O.noop,fn:O.programWithDepth(32,A,n,e),data:n},l=r?r.call(a,(l=a&&a.Entity,null==l||l===!1?l:l.IsCommentsAllowed),"true",s):R.call(a,"equals",(l=a&&a.Entity,null==l||l===!1?l:l.IsCommentsAllowed),"true",s),(l||0===l)&&(i+=l),i+='\n                <span title="',r=t.equals||a&&a.equals,s={hash:{},inverse:O.program(35,C,n),fn:O.program(11,p,n),data:n},l=r?r.call(a,a&&a.LikeCount,"-1",s):R.call(a,"equals",a&&a.LikeCount,"-1",s),(l||0===l)&&(i+=l),i+=" "+B((l=e&&e.SystemText,l=null==l||l===!1?l:l.Likes,typeof l===M?l.apply(a):l))+'">\n                    <span class="icon is-normal"><i class="iconextra-like iconextra-white ii-like"></i></span>\n                    ',r=t.equals||a&&a.equals,s={hash:{},inverse:O.program(35,C,n),fn:O.program(11,p,n),data:n},l=r?r.call(a,a&&a.LikeCount,"-1",s):R.call(a,"equals",a&&a.LikeCount,"-1",s),(l||0===l)&&(i+=l),i+="\n                </span>\n            </span>\n            "}function A(a,n,e){var l,r,s,i="";return i+='\n                <span title="',r=t.equals||a&&a.equals,s={hash:{},inverse:O.program(33,b,n),fn:O.program(11,p,n),data:n},l=r?r.call(a,a&&a.CommentCount,"-1",s):R.call(a,"equals",a&&a.CommentCount,"-1",s),(l||0===l)&&(i+=l),i+=" "+B((l=e&&e.SystemText,l=null==l||l===!1?l:l.Comments,typeof l===M?l.apply(a):l))+'">\n                    <span class="icon is-normal"><i class="iconextra-comment iconextra-white ii-comments"></i></span>\n                    ',r=t.equals||a&&a.equals,s={hash:{},inverse:O.program(33,b,n),fn:O.program(11,p,n),data:n},l=r?r.call(a,a&&a.CommentCount,"-1",s):R.call(a,"equals",a&&a.CommentCount,"-1",s),(l||0===l)&&(i+=l),i+="\n                </span>\n                "}function b(a,n){var e,l;return(l=t.CommentCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.CommentCount,e=typeof l===M?l.call(a,{hash:{},data:n}):l),B(e)}function C(a,n){var e,l;return(l=t.LikeCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.LikeCount,e=typeof l===M?l.call(a,{hash:{},data:n}):l),B(e)}function q(a,n,e){var l,r="";return r+='\n                        <div class="is-author">\n                            <!-- This will return true if AuthorType is greater than 0, i.e. not a person -->\n                            ',l=t["if"].call(a,a&&a.AuthorType,{hash:{},inverse:O.programWithDepth(41,x,n,e),fn:O.programWithDepth(38,k,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n\n                        </div>\n                        "}function k(a,n,e){var l,r="";return r+="\n                            ",l=t["if"].call(a,a&&a.Author,{hash:{},inverse:O.noop,fn:O.programWithDepth(39,E,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n                            "}function E(a,n,e){var l,r,s="";return s+="\n                            <!-- Display a span instead of a link -->\n                            "+B((l=e&&e.SystemText,l=null==l||l===!1?l:l.By,typeof l===M?l.apply(a):l))+" <span><strong>",(r=t.Author)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Author,l=typeof r===M?r.call(a,{hash:{},data:n}):r),s+=B(l)+"</strong></span>\n                            "}function x(a,n,e){var l,r="";return r+="\n                            ",l=t["if"].call(a,a&&a.Author,{hash:{},inverse:O.noop,fn:O.programWithDepth(42,L,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n                            "}function L(a,n,e){var l,r,s,i="";return i+="\n                            "+B((l=e&&e.SystemText,l=null==l||l===!1?l:l.By,typeof l===M?l.apply(a):l))+' <a href="'+B((r=t.link||a&&a.link,s={hash:{},data:n},r?r.call(a,"Person",a&&a.AuthorID,s):R.call(a,"link","Person",a&&a.AuthorID,s)))+'" ',l=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:O.noop,fn:O.program(43,W,n),data:n}),(l||0===l)&&(i+=l),i+=">",(r=t.Author)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Author,l=typeof r===M?r.call(a,{hash:{},data:n}):r),i+=B(l)+"</a>\n                            "}function W(a,n){var e,l,r="";return r+=' data-personid="',(l=t.AuthorID)?e=l.call(a,{hash:{},data:n}):(l=a&&a.AuthorID,e=typeof l===M?l.call(a,{hash:{},data:n}):l),r+=B(e)+'" '}function H(a,n){var e,l,r="";return r+=" ",(l=t.UpdateDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.UpdateDate,e=typeof l===M?l.call(a,{hash:{},data:n}):l),r+=B(e)+" "}function _(a,n){var e,l,r="";return r+=" ",(l=t.StartDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.StartDate,e=typeof l===M?l.call(a,{hash:{},data:n}):l),r+=B(e)+" "}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var U,P="",R=t.helperMissing,B=this.escapeExpression,M="function",O=this;return P+='<section class="Widget">\n    <!-- data-swap-img-styles attribute used to then assign to inline style attribute to simulate lazy loading on document ready handler -->\n    <div class="headline-image center-cropped swap-widget-img gridster-wac"\n         data-swap-img-styles="background-image: url(\'',U=t["if"].call(n,(U=n&&n.Headline,null==U||U===!1?U:U.AssetID),{hash:{},inverse:O.program(3,s,l),fn:O.program(1,r,l),data:l}),(U||0===U)&&(P+=U),P+="');background-position:0 "+B((U=n&&n.Headline,U=null==U||U===!1?U:U.BackgroundYpos,typeof U===M?U.apply(n):U))+'%;">\n        <div class="IMG_Opacity">\n            <img src="',U=t["if"].call(n,(U=n&&n.Headline,null==U||U===!1?U:U.AssetID),{hash:{},inverse:O.program(3,s,l),fn:O.program(5,i,l),data:l}),(U||0===U)&&(P+=U),P+='" alt="" role="presentation" loading="lazy">\n        </div>\n        ',U=t["if"].call(n,(U=n&&n.Headline,null==U||U===!1?U:U.SocialAdvocacyItem),{hash:{},inverse:O.noop,fn:O.program(7,o,l),data:l}),(U||0===U)&&(P+=U),P+='\n        <div class="social-results">\n            ',U=t["if"].call(n,(U=n&&n.Headline,null==U||U===!1?U:U.Entity),{hash:{},inverse:O.noop,fn:O.program(9,c,l),data:l}),(U||0===U)&&(P+=U),P+='\n        </div>\n        <div class="headline-image-details" style="cursor: pointer;">\n            <a class="is-w-a" target="'+B((U=n&&n.Headline,U=null==U||U===!1?U:U.Target,typeof U===M?U.apply(n):U))+'" href="'+B((U=n&&n.Headline,U=null==U||U===!1?U:U.URL,typeof U===M?U.apply(n):U))+'" dir="auto">  \n                <h3>',U=n&&n.Headline,U=null==U||U===!1?U:U.Title,U=typeof U===M?U.apply(n):U,(U||0===U)&&(P+=U),P+='</h3>\n            </a>\n            <div class="headline-image-details-author">\n                <div class="row-fluid">\n                    <div class="span7">\n                        <!-- This will return true if AuthorType is greater than 0, i.e. not a person -->\n                        ',U=t["if"].call(n,(U=n&&n.Headline,null==U||U===!1?U:U.AuthorType),{hash:{},inverse:O.program(20,v,l),fn:O.program(17,f,l),data:l}),(U||0===U)&&(P+=U),P+='\n                    </div>\n                    <div class="span5">\n                        <time class="timeago pull-left" datetime="',U=t["if"].call(n,(U=n&&n.Headline,null==U||U===!1?U:U.ShowUpdateDate),{hash:{},inverse:O.program(26,D,l),fn:O.program(24,S,l),data:l}),(U||0===U)&&(P+=U),P+='"></time>\n                    </div>\n                </div>\n            </div>\n        </div>\n    </div>\n</section>\n\n<ul class="unstyled" id="showcase">\n    ',U=t.each.call(n,n&&n.Items,{hash:{},inverse:O.noop,fn:O.programWithDepth(28,T,l,n),data:l}),(U||0===U)&&(P+=U),P+="\n</ul>"}),n.widgets_content_showcasefull=a(function(a,n,t,e,l){function r(a,n){var e,l,r;return v((l=t.asset||a&&a.asset,r={hash:{},data:n},l?l.call(a,(e=a&&a.Headline,null==e||e===!1?e:e.AssetID),7,r):m.call(a,"asset",(e=a&&a.Headline,null==e||e===!1?e:e.AssetID),7,r)))}function s(){return"/Content/default/images/noImageAvailable300.gif"}function i(a,n){var e,l,r="";return r+='\n			<a class="is-w-a" href="',(l=t.URL)?e=l.call(a,{hash:{},data:n}):(l=a&&a.URL,e=typeof l===y?l.call(a,{hash:{},data:n}):l),r+=v(e)+"#post",(l=t.ID)?e=l.call(a,{hash:{},data:n}):(l=a&&a.ID,e=typeof l===y?l.call(a,{hash:{},data:n}):l),r+=v(e)+'" target="_self">',(l=t.Title)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Title,e=typeof l===y?l.call(a,{hash:{},data:n}):l),(e||0===e)&&(r+=e),r+="</a>\n			"}function o(a,n){var e,l,r,s="";return s+='\n	<li class="center-cropped sub-items pull-left gridster-wac" style="background-image: url(\''+v((l=t.asset||a&&a.asset,r={hash:{},data:n},l?l.call(a,a&&a.AssetID,7,r):m.call(a,"asset",a&&a.AssetID,7,r)))+"');background-position:50% ",(l=t.BackgroundYpos)?e=l.call(a,{hash:{},data:n}):(l=a&&a.BackgroundYpos,e=typeof l===y?l.call(a,{hash:{},data:n}):l),s+=v(e)+'%;">\n		<div class="details">\n			',l=t.when||a&&a.when,r={hash:{},inverse:g.program(10,h,n),fn:g.program(8,c,n),data:n},e=l?l.call(a,"Type == 'TeamBlogPost'",r):m.call(a,"when","Type == 'TeamBlogPost'",r),(e||0===e)&&(s+=e),s+="\n		</div>\n	</li>\n	"}function c(a,n){var e,l,r,s="";return s+='\n			<a class="is-w-a" href="',(l=t.URL)?e=l.call(a,{hash:{},data:n}):(l=a&&a.URL,e=typeof l===y?l.call(a,{hash:{},data:n}):l),s+=v(e)+'" target="',(l=t.Target)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Target,e=typeof l===y?l.call(a,{hash:{},data:n}):l),s+=v(e)+'">\n				<img src="'+v((l=t.asset||a&&a.asset,r={hash:{},data:n},l?l.call(a,a&&a.AssetID,7,r):m.call(a,"asset",a&&a.AssetID,7,r)))+'" alt="" role="presentation" loading="lazy">\n				<h4 dir="auto"><span>',(l=t.Title)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Title,e=typeof l===y?l.call(a,{hash:{},data:n}):l),(e||0===e)&&(s+=e),s+="</span></h4>\n			</a>\n			"}function h(a,n){var e,l,r,s="";return s+='\n			<a class="is-w-a" target="',(l=t.Target)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Target,e=typeof l===y?l.call(a,{hash:{},data:n}):l),s+=v(e)+'" href="',(l=t.URL)?e=l.call(a,{hash:{},data:n}):(l=a&&a.URL,e=typeof l===y?l.call(a,{hash:{},data:n}):l),s+=v(e)+'">\n				<img src="'+v((l=t.asset||a&&a.asset,r={hash:{},data:n},l?l.call(a,a&&a.AssetID,5,r):m.call(a,"asset",a&&a.AssetID,5,r)))+'" alt="" role="presentation" loading="lazy">\n				<h4 dir="auto"><span>',(l=t.Title)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Title,e=typeof l===y?l.call(a,{hash:{},data:n}):l),(e||0===e)&&(s+=e),s+="</span></h4>\n			</a>\n			"}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var p,u,d,f="",m=t.helperMissing,v=this.escapeExpression,y="function",g=this;return f+='<ul class="unstyled pull-left" id="showcasefull">\n	<!-- data-swap-img-styles attribute used to then assign to inline style attribute to simulate lazy loading on document ready handler -->\n	<li class="headline center-cropped pull-left swap-widget-img gridster-wac"\n		data-swap-img-styles="background-image: url(\'',p=t["if"].call(n,(p=n&&n.Headline,null==p||p===!1?p:p.AssetID),{hash:{},inverse:g.program(3,s,l),fn:g.program(1,r,l),data:l}),(p||0===p)&&(f+=p),f+="');background-position:50% "+v((p=n&&n.Headline,p=null==p||p===!1?p:p.BackgroundYpos,typeof p===y?p.apply(n):p))+'%;">\n		<div class="details">\n			',u=t.when||n&&n.when,d={hash:{},inverse:g.noop,fn:g.program(5,i,l),data:l},p=u?u.call(n,"Headline.Type == 'TeamBlogPost'",d):m.call(n,"when","Headline.Type == 'TeamBlogPost'",d),(p||0===p)&&(f+=p),f+='\n			<a class="is-w-a" target="'+v((p=n&&n.Headline,p=null==p||p===!1?p:p.Target,typeof p===y?p.apply(n):p))+'" href="'+v((p=n&&n.Headline,p=null==p||p===!1?p:p.URL,typeof p===y?p.apply(n):p))+'">\n				<img src="',p=t["if"].call(n,(p=n&&n.Headline,null==p||p===!1?p:p.AssetID),{hash:{},inverse:g.program(3,s,l),fn:g.program(1,r,l),data:l}),(p||0===p)&&(f+=p),f+='" alt="" role="presentation" loading="lazy">\n				<h3 dir="auto"><span>',p=n&&n.Headline,p=null==p||p===!1?p:p.Title,p=typeof p===y?p.apply(n):p,(p||0===p)&&(f+=p),f+="</span></h3>\n			</a>\n		</div>\n	</li>\n	",p=t.each.call(n,n&&n.Items,{hash:{},inverse:g.noop,fn:g.program(7,o,l),data:l}),(p||0===p)&&(f+=p),f+="\n</ul>\n"}),n.widgets_content_singlearticle=a(function(a,n,t,e,l){function r(a,n,e){var l,r,c,p="";return p+='\r\n  <li class="gridster-wac">\r\n    <div style="background-image: url(\'',l=t["if"].call(a,a&&a.AssetID,{hash:{},inverse:U.program(4,i,n),fn:U.program(2,s,n),data:n}),(l||0===l)&&(p+=l),p+="'); background-position: 50% ",(r=t.BackgroundYpos)?l=r.call(a,{hash:{},data:n}):(r=a&&a.BackgroundYpos,l=typeof r===P?r.call(a,{hash:{},data:n}):r),p+=_(l)+'%;" class="center-cropped img-bg">\r\n      <div class="img-hover">\r\n        <img src="',l=t["if"].call(a,a&&a.AssetID,{hash:{},inverse:U.program(4,i,n),fn:U.program(2,s,n),data:n}),(l||0===l)&&(p+=l),p+='" alt="" role="presentation" loading="lazy"/>\r\n        <span style="display: none;" class="img-mask no-desc"></span>\r\n      </div>\r\n      <div style="" class="rev">\r\n        <h3 class="hiddentitle">Featured Content</h3>\r\n        <h4 dir="auto">\r\n          <small>\r\n            <a class="is-w-a" target="',(r=t.Target)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Target,l=typeof r===P?r.call(a,{hash:{},data:n}):r),p+=_(l)+'" href="',(r=t.URL)?l=r.call(a,{hash:{},data:n}):(r=a&&a.URL,l=typeof r===P?r.call(a,{hash:{},data:n}):r),p+=_(l)+'" ',l=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:U.noop,fn:U.program(6,o,n),data:n}),(l||0===l)&&(p+=l),p+=">\r\n              ",(r=t.Title)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Title,l=typeof r===P?r.call(a,{hash:{},data:n}):r),(l||0===l)&&(p+=l),p+="\r\n            </a>\r\n          </small>\r\n        </h4>        \r\n        ",r=t.equals||a&&a.equals,c={hash:{},inverse:U.program(12,u,n),fn:U.programWithDepth(9,h,n,e),data:n},l=r?r.call(a,a&&a.Type,"Event",c):H.call(a,"equals",a&&a.Type,"Event",c),(l||0===l)&&(p+=l),p+='    \r\n        <ul class="unstyled">\r\n          <li>\r\n            <div class="row-fluid">\r\n              <div class="span12 pull-left">\r\n                ',r=t.when||a&&a.when,c={hash:{},inverse:U.program(20,y,n),fn:U.program(15,f,n),data:n},l=r?r.call(a,"Type != 'Event'",c):H.call(a,"when","Type != 'Event'",c),(l||0===l)&&(p+=l),p+='\r\n              </div>\r\n            </div>\r\n            <div class="row-fluid">\r\n              <div class="span6" style="opacity: 0; display: none;">\r\n                  <p class="muted is-author">\r\n                    <!-- This will return true if AuthorType is greater than 0, i.e. not a person -->\r\n                    ',l=t["if"].call(a,a&&a.AuthorType,{hash:{},inverse:U.programWithDepth(28,I,n,e),fn:U.programWithDepth(25,D,n,e),data:n}),(l||0===l)&&(p+=l),p+='\r\n                  </p>\r\n              </div>\r\n              <div class="span6 pull-left likes" style="opacity: 0; display: none;">\r\n                ',l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:U.noop,fn:U.programWithDepth(32,b,n,e),data:n}),(l||0===l)&&(p+=l),p+="\r\n              </div>\r\n            </div>\r\n          </li>\r\n        </ul>\r\n      </div>\r\n    </div>\r\n  </li>\r\n  "}function s(a,n){var e,l,r;return l=t.asset||a&&a.asset,r={hash:{},data:n},e=l?l.call(a,a&&a.AssetID,7,r):H.call(a,"asset",a&&a.AssetID,7,r),e||0===e?e:""}function i(a,n){var e,l;return _((e=t.avatar||a&&a.avatar,l={hash:{},data:n},e?e.call(a,a&&a.Type,l):H.call(a,"avatar",a&&a.Type,l)))}function o(a,n){var e,l,r,s="";return s+=" ",l=t.hovercard||a&&a.hovercard,r={hash:{},inverse:U.noop,fn:U.program(7,c,n),data:n},e=l?l.call(a,a&&a.Type,a&&a.ID,r):H.call(a,"hovercard",a&&a.Type,a&&a.ID,r),(e||0===e)&&(s+=e),s+=" "}function c(){var a="";return a}function h(a,n,e){var l,r="";return r+="\r\n          ",l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:U.noop,fn:U.programWithDepth(10,p,n,e),data:n}),(l||0===l)&&(r+=l),r+="\r\n        "}function p(a,n,t){var e,l="";return l+='\r\n            <p class="muted" style="opacity: 0; display: none;"><strong>'+_((e=t&&t.SystemText,e=null==e||e===!1?e:e.Location,typeof e===P?e.apply(a):e))+":</strong> ",e=a&&a.Entity,e=null==e||e===!1?e:e.Location,e=typeof e===P?e.apply(a):e,(e||0===e)&&(l+=e),l+="</p>\r\n          "}function u(a,n){var e,l="";return l+="\r\n          ",e=t["if"].call(a,a&&a.Summary,{hash:{},inverse:U.noop,fn:U.program(13,d,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n        "}function d(a,n){var e,l,r,s="";return s+='\r\n            <p class="muted" style="opacity: 0; display: none;" dir="auto">\r\n              ',l=t.truncate||a&&a.truncate,r={hash:{},data:n},e=l?l.call(a,a&&a.Summary,60,r):H.call(a,"truncate",a&&a.Summary,60,r),(e||0===e)&&(s+=e),s+="\r\n            </p>\r\n          "}function f(a,n){var e,l="";return l+='\r\n			  	<time class="timeago pull-left timeago-date muted" datetime="',e=t["if"].call(a,a&&a.ShowUpdateDate,{hash:{},inverse:U.program(18,v,n),fn:U.program(16,m,n),data:n}),(e||0===e)&&(l+=e),l+='"></time>\r\n                '}function m(a,n){var e,l,r="";return r+=" ",(l=t.UpdateDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.UpdateDate,e=typeof l===P?l.call(a,{hash:{},data:n}):l),r+=_(e)+" "}function v(a,n){var e,l,r="";return r+=" ",(l=t.StartDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.StartDate,e=typeof l===P?l.call(a,{hash:{},data:n}):l),r+=_(e)+" "}function y(a,n){var e,l,r,s="";return s+="\r\n                ",l=t.equals||a&&a.equals,r={hash:{},inverse:U.program(23,S,n),fn:U.program(21,g,n),data:n},e=l?l.call(a,(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r):H.call(a,"equals",(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r),(e||0===e)&&(s+=e),s+="\r\n                "}function g(a,n){var e,l,r,s="";return s+='<span class="pull-left timeago timeago-doubledate muted">\r\n                  ',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:U.noop,fn:U.program(7,c,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.EndDate,r):H.call(a,"eventTimeString",a&&a.StartDate,a&&a.EndDate,r),(e||0===e)&&(s+=e),s+="\r\n                </span>"}function S(a,n){var e,l,r,s="";return s+='<span class="timeago timeago-singledate muted">\r\n                  ',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:U.noop,fn:U.program(7,c,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.StartDate,r):H.call(a,"eventTimeString",a&&a.StartDate,a&&a.StartDate,r),(e||0===e)&&(s+=e),s+="\r\n                </span>"}function D(a,n,e){var l,r="";return r+="\r\n                        ",l=t["if"].call(a,a&&a.Author,{hash:{},inverse:U.noop,fn:U.programWithDepth(26,T,n,e),data:n}),(l||0===l)&&(r+=l),r+="\r\n                    "}function T(a,n,e){var l,r,s="";return s+="\r\n                            <!-- Display a span instead of a link -->\r\n                            "+_((l=e&&e.SystemText,l=null==l||l===!1?l:l.By,typeof l===P?l.apply(a):l))+" <span><strong>",(r=t.Author)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Author,l=typeof r===P?r.call(a,{hash:{},data:n}):r),s+=_(l)+"</strong></span>\r\n                        "}function I(a,n,e){var l,r="";return r+="\r\n                        ",l=t["if"].call(a,a&&a.Author,{hash:{},inverse:U.noop,fn:U.programWithDepth(29,w,n,e),data:n}),(l||0===l)&&(r+=l),r+="\r\n                    "}function w(a,n,e){var l,r,s,i="";return i+="\r\n                            "+_((l=e&&e.SystemText,l=null==l||l===!1?l:l.By,typeof l===P?l.apply(a):l))+' <a href="'+_((r=t.link||a&&a.link,s={hash:{},data:n},r?r.call(a,"Person",a&&a.AuthorID,s):H.call(a,"link","Person",a&&a.AuthorID,s)))+'" ',l=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:U.noop,fn:U.program(30,A,n),data:n}),(l||0===l)&&(i+=l),i+=">",(r=t.Author)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Author,l=typeof r===P?r.call(a,{hash:{},data:n}):r),i+=_(l)+"</a>\r\n                        "}function A(a,n){var e,l,r="";return r+=' data-personid="',(l=t.AuthorID)?e=l.call(a,{hash:{},data:n}):(l=a&&a.AuthorID,e=typeof l===P?l.call(a,{hash:{},data:n}):l),r+=_(e)+'" '}function b(a,n,e){var l,r,s,i="";return i+='\r\n                <span class="pull-right count">\r\n                    ',l=t["if"].call(a,a&&a.SocialAdvocacyItem,{hash:{},inverse:U.noop,fn:U.programWithDepth(33,C,n,e),data:n}),(l||0===l)&&(i+=l),i+="\r\n                    ",r=t.equals||a&&a.equals,s={hash:{},inverse:U.noop,fn:U.programWithDepth(35,q,n,e),data:n},l=r?r.call(a,(l=a&&a.Entity,null==l||l===!1?l:l.IsCommentsAllowed),"true",s):H.call(a,"equals",(l=a&&a.Entity,null==l||l===!1?l:l.IsCommentsAllowed),"true",s),(l||0===l)&&(i+=l),i+='\r\n                    <span title="',r=t.equals||a&&a.equals,s={hash:{},inverse:U.program(40,x,n),fn:U.program(36,k,n),data:n},l=r?r.call(a,a&&a.LikeCount,"-1",s):H.call(a,"equals",a&&a.LikeCount,"-1",s),(l||0===l)&&(i+=l),i+=" "+_((l=e&&e.SystemText,l=null==l||l===!1?l:l.Likes,typeof l===P?l.apply(a):l))+'">\r\n                        <span class="icon is-normal"><i class="iconextra-like ii-like"></i></span>\r\n                        ',r=t.equals||a&&a.equals,s={hash:{},inverse:U.program(40,x,n),fn:U.program(36,k,n),data:n},l=r?r.call(a,a&&a.LikeCount,"-1",s):H.call(a,"equals",a&&a.LikeCount,"-1",s),(l||0===l)&&(i+=l),i+="\r\n                    </span>\r\n                </span>\r\n                "}function C(a,n,e){var l,r,s="";return s+='\r\n                    <button id="soc-adv-share-btn" \r\n                            class="btn btn-primary btn-small" \r\n                            onclick="Widgets.SocialAdvocacy_ShareClicked(',(r=t.ID)?l=r.call(a,{hash:{},data:n}):(r=a&&a.ID,l=typeof r===P?r.call(a,{hash:{},data:n}):r),s+=_(l)+')"\r\n                            type="button"\r\n                            aria-label="'+_((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShareAria,typeof l===P?l.apply(a):l))+'"\r\n                    >\r\n                        <i class="fa fa-share-alt ii ii-share"></i>\r\n                    </button>\r\n                    '}function q(a,n,e){var l,r,s,i="";return i+='\r\n                    <span title="',r=t.equals||a&&a.equals,s={hash:{},inverse:U.program(38,E,n),fn:U.program(36,k,n),data:n},l=r?r.call(a,a&&a.CommentCount,"-1",s):H.call(a,"equals",a&&a.CommentCount,"-1",s),(l||0===l)&&(i+=l),i+=" "+_((l=e&&e.SystemText,l=null==l||l===!1?l:l.Comments,typeof l===P?l.apply(a):l))+'">\r\n                        <span class="icon is-normal"><i class="iconextra-comment ii-comments"></i></span>\r\n                        ',r=t.equals||a&&a.equals,s={hash:{},inverse:U.program(38,E,n),fn:U.program(36,k,n),data:n},l=r?r.call(a,(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s):H.call(a,"equals",(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s),(l||0===l)&&(i+=l),i+="\r\n                    </span>\r\n                    "}function k(){return"0"}function E(a,n){var e,l;return(l=t.CommentCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.CommentCount,e=typeof l===P?l.call(a,{hash:{},data:n}):l),_(e)}function x(a,n){var e,l;return(l=t.LikeCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.LikeCount,e=typeof l===P?l.call(a,{hash:{},data:n}):l),_(e)}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var L,W="",H=t.helperMissing,_=this.escapeExpression,U=this,P="function";return W+='<ul class="unstyled articlesingle">\r\n  ',L=t.each.call(n,n&&n.Items,{hash:{},inverse:U.noop,fn:U.programWithDepth(1,r,l,n),data:l}),(L||0===L)&&(W+=L),W+="\r\n</ul>"}),n.widgets_content_singlehero=a(function(a,n,t,e,l){function r(a,n,e){var l,r,c,p="";return p+='\n		<li class="item gridster-wac">\n			<div style="background-image: url(\'',l=t["if"].call(a,a&&a.AssetID,{hash:{},inverse:L.program(4,i,n),fn:L.program(2,s,n),data:n}),(l||0===l)&&(p+=l),p+="');background-position:center ",(r=t.BackgroundYpos)?l=r.call(a,{hash:{},data:n}):(r=a&&a.BackgroundYpos,l=typeof r===x?r.call(a,{hash:{},data:n}):r),p+=E(l)+'%;" class="center-cropped img-bg">\n				<img src="',l=t["if"].call(a,a&&a.AssetID,{hash:{},inverse:L.program(4,i,n),fn:L.program(2,s,n),data:n}),(l||0===l)&&(p+=l),p+='" alt="" role="presentation" loading="lazy"/>\n			</div>\n			<div class="details">\n				<h3 dir="auto">\n					<a class="is-w-a" target="',(r=t.Target)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Target,l=typeof r===x?r.call(a,{hash:{},data:n}):r),p+=E(l)+'" href="',(r=t.URL)?l=r.call(a,{hash:{},data:n}):(r=a&&a.URL,l=typeof r===x?r.call(a,{hash:{},data:n}):r),p+=E(l)+'">',(r=t.Title)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Title,l=typeof r===x?r.call(a,{hash:{},data:n}):r),(l||0===l)&&(p+=l),p+="</a>\n				</h3>\n				",r=t.equals||a&&a.equals,c={hash:{},inverse:L.programWithDepth(9,h,n,e),fn:L.programWithDepth(6,o,n,e),data:n},l=r?r.call(a,a&&a.Type,"Event",c):k.call(a,"equals",a&&a.Type,"Event",c),(l||0===l)&&(p+=l),p+='\n				<ul class="unstyled">\n					<li>\n						<div class="row-fluid">\n							<div class="span12">\n								<p class="muted">\n									',l=t["if"].call(a,a&&a.AuthorType,{hash:{},inverse:L.programWithDepth(16,m,n,e),fn:L.programWithDepth(13,d,n,e),data:n}),(l||0===l)&&(p+=l),p+="\n\n									",r=t.when||a&&a.when,c={hash:{},inverse:L.program(25,T,n),fn:L.program(20,g,n),data:n},l=r?r.call(a,"Type != 'Event'",c):k.call(a,"when","Type != 'Event'",c),(l||0===l)&&(p+=l),p+="\n\n									",l=t["if"].call(a,a&&a.SocialAdvocacyItem,{hash:{},inverse:L.noop,fn:L.programWithDepth(31,b,n,e),data:n}),(l||0===l)&&(p+=l),p+="\n								</p>\n							</div>\n						</div>\n					</li>\n				</ul>\n			</div>\n		</li>\n		"}function s(a,n){var e,l,r;return l=t.asset||a&&a.asset,r={hash:{},data:n},e=l?l.call(a,a&&a.AssetID,7,r):k.call(a,"asset",a&&a.AssetID,7,r),e||0===e?e:""}function i(a,n){var e,l;return E((e=t.avatar||a&&a.avatar,l={hash:{},data:n},e?e.call(a,a&&a.Type,l):k.call(a,"avatar",a&&a.Type,l)))}function o(a,n,e){var l,r="";return r+="\n				",l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:L.noop,fn:L.programWithDepth(7,c,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n				"}function c(a,n,t){var e,l="";return l+='\n				<p class="muted"><strong>'+E((e=t&&t.SystemText,e=null==e||e===!1?e:e.Location,typeof e===x?e.apply(a):e))+":</strong> ",e=a&&a.Entity,e=null==e||e===!1?e:e.Location,e=typeof e===x?e.apply(a):e,(e||0===e)&&(l+=e),l+="</p>\n				"}function h(a,n,e){var l,r="";return r+="\n				",l=t["if"].call(a,(l=e&&e.Options,null==l||l===!1?l:l.IncludeSummary),{hash:{},inverse:L.noop,fn:L.program(10,p,n),data:n}),(l||0===l)&&(r+=l),r+="\n				"}function p(a,n){var e,l="";return l+="\n				",e=t["if"].call(a,a&&a.Summary,{hash:{},inverse:L.noop,fn:L.program(11,u,n),data:n}),(e||0===e)&&(l+=e),l+="\n				"}function u(a,n){var e,l,r,s="";return s+='\n				<p class="muted" dir="auto">',l=t.truncate||a&&a.truncate,r={hash:{},data:n},e=l?l.call(a,a&&a.Summary,60,r):k.call(a,"truncate",a&&a.Summary,60,r),(e||0===e)&&(s+=e),s+="</p>\n				"}function d(a,n,e){var l,r="";return r+="\n									",l=t["if"].call(a,a&&a.Author,{hash:{},inverse:L.noop,fn:L.programWithDepth(14,f,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n									"}function f(a,n,e){var l,r,s="";return s+='\n									<span class="is-author">\n										'+E((l=e&&e.SystemText,l=null==l||l===!1?l:l.By,typeof l===x?l.apply(a):l))+" <strong>",(r=t.Author)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Author,l=typeof r===x?r.call(a,{hash:{},data:n}):r),s+=E(l)+"</strong>,\n									</span>\n									"}function m(a,n,e){var l,r="";return r+="\n									",l=t["if"].call(a,a&&a.Author,{hash:{},inverse:L.noop,fn:L.programWithDepth(17,v,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n									"}function v(a,n,e){var l,r,s,i="";return i+='\n									<span class="is-author">\n										'+E((l=e&&e.SystemText,l=null==l||l===!1?l:l.By,typeof l===x?l.apply(a):l))+' <a href="'+E((r=t.link||a&&a.link,s={hash:{},data:n},r?r.call(a,"Person",a&&a.AuthorID,s):k.call(a,"link","Person",a&&a.AuthorID,s)))+'" ',l=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:L.noop,fn:L.program(18,y,n),data:n}),(l||0===l)&&(i+=l),i+=">",(r=t.Author)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Author,l=typeof r===x?r.call(a,{hash:{},data:n}):r),i+=E(l)+"</a>,\n									</span>\n									"}function y(a,n){var e,l,r="";return r+=' data-personid="',(l=t.AuthorID)?e=l.call(a,{hash:{},data:n}):(l=a&&a.AuthorID,e=typeof l===x?l.call(a,{hash:{},data:n}):l),r+=E(e)+'" '}function g(a,n){var e,l="";return l+='<time class="timeago timeago-date muted" datetime="',e=t["if"].call(a,a&&a.ShowUpdateDate,{hash:{},inverse:L.program(23,D,n),fn:L.program(21,S,n),data:n}),(e||0===e)&&(l+=e),l+='"></time>\n									'}function S(a,n){var e,l,r="";return r+=" ",(l=t.UpdateDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.UpdateDate,e=typeof l===x?l.call(a,{hash:{},data:n}):l),r+=E(e)+" "}function D(a,n){var e,l,r="";return r+=" ",(l=t.StartDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.StartDate,e=typeof l===x?l.call(a,{hash:{},data:n}):l),r+=E(e)+" "}function T(a,n){var e,l,r,s="";return s+="\n									",l=t.equals||a&&a.equals,r={hash:{},inverse:L.program(29,A,n),fn:L.program(26,I,n),data:n},e=l?l.call(a,(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r):k.call(a,"equals",(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r),(e||0===e)&&(s+=e),s+="\n									"}function I(a,n){var e,l,r,s="";return s+='<span class="timeago timeago-doubledate muted">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:L.noop,fn:L.program(27,w,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.EndDate,r):k.call(a,"eventTimeString",a&&a.StartDate,a&&a.EndDate,r),(e||0===e)&&(s+=e),s+="</span>"}function w(){var a="";return a}function A(a,n){var e,l,r,s="";return s+='<span class="timeago timeago-singledate muted">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:L.noop,fn:L.program(27,w,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.StartDate,r):k.call(a,"eventTimeString",a&&a.StartDate,a&&a.StartDate,r),(e||0===e)&&(s+=e),s+="</span>"}function b(a,n,e){var l,r,s="";return s+='\n									<button id="soc-adv-share-btn" \n											class="btn btn-primary btn-small" \n											onclick="Widgets.SocialAdvocacy_ShareClicked(',(r=t.ID)?l=r.call(a,{hash:{},data:n}):(r=a&&a.ID,l=typeof r===x?r.call(a,{hash:{},data:n}):r),s+=E(l)+')"\n											type="button"\n											aria-label="'+E((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShareAria,typeof l===x?l.apply(a):l))+'"\n									>\n										'+E((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShare,typeof l===x?l.apply(a):l))+'&nbsp;<i class="fa fa-share-alt ii ii-share"></i>\n									</button>\n									'}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var C,q="",k=t.helperMissing,E=this.escapeExpression,x="function",L=this;return q+='<div id="mySingleHero" class="carousel slide">\n	<ul class="unstyled single-hero">\n		',C=t.each.call(n,n&&n.Items,{hash:{},inverse:L.noop,fn:L.programWithDepth(1,r,l,n),data:l}),(C||0===C)&&(q+=C),q+='\n	</ul>\n	<a class="carousel-control left" href="#mySingleHero" data-slide="prev">&lsaquo;</a>\n	<a class="carousel-control right" href="#mySingleHero" data-slide="next">&rsaquo;</a>\n</div>\n'}),n.widgets_content_singleheroinline=a(function(a,n,t,e,l){function r(a,n,e){var l,r,c,p="";return p+='\n		<li class="item gridster-wac">\n			<div class="row-fluid">\n				<div style="background-image: url(\'',l=t["if"].call(a,a&&a.AssetID,{hash:{},inverse:L.program(4,i,n),fn:L.program(2,s,n),data:n}),(l||0===l)&&(p+=l),p+="');background-position:center ",(r=t.BackgroundYpos)?l=r.call(a,{hash:{},data:n}):(r=a&&a.BackgroundYpos,l=typeof r===x?r.call(a,{hash:{},data:n}):r),p+=E(l)+'%;" class="span8 center-cropped img-bg">\n					<img src="',l=t["if"].call(a,a&&a.AssetID,{hash:{},inverse:L.program(4,i,n),fn:L.program(2,s,n),data:n}),(l||0===l)&&(p+=l),p+='" alt="" role="presentation" loading="lazy"/>\n				</div>\n				<div class="span4 details">\n					<h3 dir="auto">\n						<a class="is-w-a" target="',(r=t.Target)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Target,l=typeof r===x?r.call(a,{hash:{},data:n}):r),p+=E(l)+'" href="',(r=t.URL)?l=r.call(a,{hash:{},data:n}):(r=a&&a.URL,l=typeof r===x?r.call(a,{hash:{},data:n}):r),p+=E(l)+'">',(r=t.Title)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Title,l=typeof r===x?r.call(a,{hash:{},data:n}):r),(l||0===l)&&(p+=l),p+="</a>\n					</h3>\n					",r=t.equals||a&&a.equals,c={hash:{},inverse:L.programWithDepth(9,h,n,e),fn:L.programWithDepth(6,o,n,e),data:n},l=r?r.call(a,a&&a.Type,"Event",c):k.call(a,"equals",a&&a.Type,"Event",c),(l||0===l)&&(p+=l),p+='\n					<ul class="unstyled">\n						<li>\n							<div class="row-fluid">\n								<div class="span12">\n									<p class="muted">\n										',l=t["if"].call(a,a&&a.AuthorType,{hash:{},inverse:L.programWithDepth(16,m,n,e),fn:L.programWithDepth(13,d,n,e),data:n}),(l||0===l)&&(p+=l),p+="\n										",r=t.when||a&&a.when,c={hash:{},inverse:L.program(25,T,n),fn:L.program(20,g,n),data:n},l=r?r.call(a,"Type != 'Event'",c):k.call(a,"when","Type != 'Event'",c),(l||0===l)&&(p+=l),p+="\n									</p>\n								</div>\n							</div>\n						</li>\n					</ul>\n					",l=t["if"].call(a,a&&a.SocialAdvocacyItem,{hash:{},inverse:L.noop,fn:L.programWithDepth(31,b,n,e),data:n}),(l||0===l)&&(p+=l),p+="\n				</div>\n			</div>\n		</li>\n		"
}function s(a,n){var e,l,r;return l=t.asset||a&&a.asset,r={hash:{},data:n},e=l?l.call(a,a&&a.AssetID,7,r):k.call(a,"asset",a&&a.AssetID,7,r),e||0===e?e:""}function i(a,n){var e,l;return E((e=t.avatar||a&&a.avatar,l={hash:{},data:n},e?e.call(a,a&&a.Type,l):k.call(a,"avatar",a&&a.Type,l)))}function o(a,n,e){var l,r="";return r+="\n					",l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:L.noop,fn:L.programWithDepth(7,c,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n					"}function c(a,n,t){var e,l="";return l+='\n					<p class="muted"><strong>'+E((e=t&&t.SystemText,e=null==e||e===!1?e:e.Location,typeof e===x?e.apply(a):e))+":</strong> ",e=a&&a.Entity,e=null==e||e===!1?e:e.Location,e=typeof e===x?e.apply(a):e,(e||0===e)&&(l+=e),l+="</p>\n					"}function h(a,n,e){var l,r="";return r+="\n					",l=t["if"].call(a,(l=e&&e.Options,null==l||l===!1?l:l.IncludeSummary),{hash:{},inverse:L.noop,fn:L.program(10,p,n),data:n}),(l||0===l)&&(r+=l),r+="\n					"}function p(a,n){var e,l="";return l+="\n					",e=t["if"].call(a,a&&a.Summary,{hash:{},inverse:L.noop,fn:L.program(11,u,n),data:n}),(e||0===e)&&(l+=e),l+="\n					"}function u(a,n){var e,l,r,s="";return s+='\n					<p class="muted" dir="auto">',l=t.truncate||a&&a.truncate,r={hash:{},data:n},e=l?l.call(a,a&&a.Summary,60,r):k.call(a,"truncate",a&&a.Summary,60,r),(e||0===e)&&(s+=e),s+="</p>\n					"}function d(a,n,e){var l,r="";return r+="\n										",l=t["if"].call(a,a&&a.Author,{hash:{},inverse:L.noop,fn:L.programWithDepth(14,f,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n										"}function f(a,n,e){var l,r,s="";return s+='\n										<span class="is-author">\n											'+E((l=e&&e.SystemText,l=null==l||l===!1?l:l.By,typeof l===x?l.apply(a):l))+" <span>",(r=t.Author)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Author,l=typeof r===x?r.call(a,{hash:{},data:n}):r),s+=E(l)+"</span>,\n										</span>\n										"}function m(a,n,e){var l,r="";return r+="\n										",l=t["if"].call(a,a&&a.Author,{hash:{},inverse:L.noop,fn:L.programWithDepth(17,v,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n										"}function v(a,n,e){var l,r,s,i="";return i+='\n										<span class="is-author">\n											'+E((l=e&&e.SystemText,l=null==l||l===!1?l:l.By,typeof l===x?l.apply(a):l))+' <a href="'+E((r=t.link||a&&a.link,s={hash:{},data:n},r?r.call(a,"Person",a&&a.AuthorID,s):k.call(a,"link","Person",a&&a.AuthorID,s)))+'" ',l=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:L.noop,fn:L.program(18,y,n),data:n}),(l||0===l)&&(i+=l),i+=">",(r=t.Author)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Author,l=typeof r===x?r.call(a,{hash:{},data:n}):r),i+=E(l)+"</a>,\n										</span>\n										"}function y(a,n){var e,l,r="";return r+=' data-personid="',(l=t.AuthorID)?e=l.call(a,{hash:{},data:n}):(l=a&&a.AuthorID,e=typeof l===x?l.call(a,{hash:{},data:n}):l),r+=E(e)+'" '}function g(a,n){var e,l="";return l+='<time class="timeago timeago-date muted" datetime="',e=t["if"].call(a,a&&a.ShowUpdateDate,{hash:{},inverse:L.program(23,D,n),fn:L.program(21,S,n),data:n}),(e||0===e)&&(l+=e),l+='"></time>'}function S(a,n){var e,l,r="";return r+=" ",(l=t.UpdateDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.UpdateDate,e=typeof l===x?l.call(a,{hash:{},data:n}):l),r+=E(e)+" "}function D(a,n){var e,l,r="";return r+=" ",(l=t.StartDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.StartDate,e=typeof l===x?l.call(a,{hash:{},data:n}):l),r+=E(e)+" "}function T(a,n){var e,l,r;return l=t.equals||a&&a.equals,r={hash:{},inverse:L.program(29,A,n),fn:L.program(26,I,n),data:n},e=l?l.call(a,(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r):k.call(a,"equals",(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r),e||0===e?e:""}function I(a,n){var e,l,r,s="";return s+='<span class="timeago timeago-doubledate muted">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:L.noop,fn:L.program(27,w,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.EndDate,r):k.call(a,"eventTimeString",a&&a.StartDate,a&&a.EndDate,r),(e||0===e)&&(s+=e),s+="</span>"}function w(){var a="";return a}function A(a,n){var e,l,r,s="";return s+='<span class="timeago timeago-singledate muted">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:L.noop,fn:L.program(27,w,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.StartDate,r):k.call(a,"eventTimeString",a&&a.StartDate,a&&a.StartDate,r),(e||0===e)&&(s+=e),s+="</span>"}function b(a,n,e){var l,r,s="";return s+='\n					<button id="soc-adv-share-btn" \n							class="btn btn-primary btn-small" \n							onclick="Widgets.SocialAdvocacy_ShareClicked(',(r=t.ID)?l=r.call(a,{hash:{},data:n}):(r=a&&a.ID,l=typeof r===x?r.call(a,{hash:{},data:n}):r),s+=E(l)+')"\n							type="button"\n							aria-label="'+E((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShareAria,typeof l===x?l.apply(a):l))+'"\n					>\n						'+E((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShare,typeof l===x?l.apply(a):l))+'&nbsp;<i class="fa fa-share-alt ii ii-share"></i>\n					</button>\n					'}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var C,q="",k=t.helperMissing,E=this.escapeExpression,x="function",L=this;return q+='<div id="myInlineHero" class="carousel slide">\n	<ul class="unstyled single-hero-inline">\n		',C=t.each.call(n,n&&n.Items,{hash:{},inverse:L.noop,fn:L.programWithDepth(1,r,l,n),data:l}),(C||0===C)&&(q+=C),q+='\n	</ul>\n	<a class="carousel-control left" href="#myInlineHero" data-slide="prev">&lsaquo;</a>\n	<a class="carousel-control right" href="#myInlineHero" data-slide="next">&rsaquo;</a>\n</div>\n'}),n.widgets_content_snippetview=a(function(a,n,t,e,l){function r(a,n,e){var l,r,i,c="";return c+='\n		<li class="item">\n			<a target="',(r=t.Target)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Target,l=typeof r===q?r.call(a,{hash:{},data:n}):r),c+=k(l)+'" href="',(r=t.URL)?l=r.call(a,{hash:{},data:n}):(r=a&&a.URL,l=typeof r===q?r.call(a,{hash:{},data:n}):r),c+=k(l)+'" class="item-entry">\n				<div class="details">\n					<h3 dir="auto">',(r=t.Title)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Title,l=typeof r===q?r.call(a,{hash:{},data:n}):r),(l||0===l)&&(c+=l),c+="</h3>\n					",r=t.equals||a&&a.equals,i={hash:{},inverse:E.programWithDepth(5,o,n,e),fn:E.programWithDepth(2,s,n,e),data:n},l=r?r.call(a,a&&a.Type,"Event",i):x.call(a,"equals",a&&a.Type,"Event",i),(l||0===l)&&(c+=l),c+='\n					<p class="muted">',l=t["if"].call(a,a&&a.Author,{hash:{},inverse:E.noop,fn:E.programWithDepth(9,p,n,e),data:n}),(l||0===l)&&(c+=l),r=t.when||a&&a.when,i={hash:{},inverse:E.program(16,m,n),fn:E.program(11,u,n),data:n},l=r?r.call(a,"Type != 'Event'",i):x.call(a,"when","Type != 'Event'",i),(l||0===l)&&(c+=l),c+='</p>\n				</div>\n			</a>\n			<div class="control-items hidden-phone hidden-tablet social-tools">\n				',l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:E.noop,fn:E.programWithDepth(22,S,n,e),data:n}),(l||0===l)&&(c+=l),c+="\n				",l=t["if"].call(a,a&&a.SocialAdvocacyItem,{hash:{},inverse:E.noop,fn:E.programWithDepth(30,A,n,e),data:n}),(l||0===l)&&(c+=l),c+="\n			</div>\n		</li>\n		"}function s(a,n,e){var l,r="";return r+="\n							",l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:E.noop,fn:E.programWithDepth(3,i,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n						"}function i(a,n,t){var e,l="";return l+='\n							<p class="muted" style="margin:0;"><strong>'+k((e=t&&t.SystemText,e=null==e||e===!1?e:e.Location,typeof e===q?e.apply(a):e))+":</strong> ",e=a&&a.Entity,e=null==e||e===!1?e:e.Location,e=typeof e===q?e.apply(a):e,(e||0===e)&&(l+=e),l+="</p>\n							"}function o(a,n,e){var l,r="";return r+="\n						",l=t["if"].call(a,(l=e&&e.Options,null==l||l===!1?l:l.IncludeSummary),{hash:{},inverse:E.noop,fn:E.program(6,c,n),data:n}),(l||0===l)&&(r+=l),r+="\n					"}function c(a,n){var e,l="";return l+="\n							",e=t["if"].call(a,a&&a.Summary,{hash:{},inverse:E.noop,fn:E.program(7,h,n),data:n}),(e||0===e)&&(l+=e),l+="\n						"}function h(a,n){var e,l,r,s="";return s+='\n							<p class="muted" dir="auto">',l=t.truncate||a&&a.truncate,r={hash:{},data:n},e=l?l.call(a,a&&a.Summary,60,r):x.call(a,"truncate",a&&a.Summary,60,r),(e||0===e)&&(s+=e),s+="</p>\n							"}function p(a,n,e){var l,r,s="";return s+=k((l=e&&e.SystemText,l=null==l||l===!1?l:l.By,typeof l===q?l.apply(a):l))+" ",(r=t.Author)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Author,l=typeof r===q?r.call(a,{hash:{},data:n}):r),s+=k(l)+", "}function u(a,n){var e,l="";return l+='<time class="timeago timeago-date muted" datetime="',e=t["if"].call(a,a&&a.ShowUpdateDate,{hash:{},inverse:E.program(14,f,n),fn:E.program(12,d,n),data:n}),(e||0===e)&&(l+=e),l+='"></time>'}function d(a,n){var e,l,r="";return r+=" ",(l=t.UpdateDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.UpdateDate,e=typeof l===q?l.call(a,{hash:{},data:n}):l),r+=k(e)+" "}function f(a,n){var e,l,r="";return r+=" ",(l=t.StartDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.StartDate,e=typeof l===q?l.call(a,{hash:{},data:n}):l),r+=k(e)+" "}function m(a,n){var e,l,r;return l=t.equals||a&&a.equals,r={hash:{},inverse:E.program(20,g,n),fn:E.program(17,v,n),data:n},e=l?l.call(a,(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r):x.call(a,"equals",(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r),e||0===e?e:""}function v(a,n){var e,l,r,s="";return s+='<span class="timeago timeago-doubledate muted">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:E.noop,fn:E.program(18,y,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.EndDate,r):x.call(a,"eventTimeString",a&&a.StartDate,a&&a.EndDate,r),(e||0===e)&&(s+=e),s+="</span>"}function y(){var a="";return a}function g(a,n){var e,l,r,s="";return s+='<span class="timeago timeago-singledate muted">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:E.noop,fn:E.program(18,y,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.StartDate,r):x.call(a,"eventTimeString",a&&a.StartDate,a&&a.StartDate,r),(e||0===e)&&(s+=e),s+="</span>"}function S(a,n,e){var l,r,s,i="";return i+="\n				",r=t.equals||a&&a.equals,s={hash:{},inverse:E.noop,fn:E.programWithDepth(23,D,n,e),data:n},l=r?r.call(a,(l=a&&a.Entity,null==l||l===!1?l:l.IsCommentsAllowed),"true",s):x.call(a,"equals",(l=a&&a.Entity,null==l||l===!1?l:l.IsCommentsAllowed),"true",s),(l||0===l)&&(i+=l),i+='\n				<span title="',r=t.equals||a&&a.equals,s={hash:{},inverse:E.program(28,w,n),fn:E.program(24,T,n),data:n},l=r?r.call(a,a&&a.LikeCount,"-1=",s):x.call(a,"equals",a&&a.LikeCount,"-1=",s),(l||0===l)&&(i+=l),i+=" "+k((l=e&&e.SystemText,l=null==l||l===!1?l:l.Likes,typeof l===q?l.apply(a):l))+'">\n					<span class="icon is-normal"><i class="iconextra-like ii-like"></i></span>\n					',r=t.equals||a&&a.equals,s={hash:{},inverse:E.program(28,w,n),fn:E.program(24,T,n),data:n},l=r?r.call(a,a&&a.LikeCount,"-1",s):x.call(a,"equals",a&&a.LikeCount,"-1",s),(l||0===l)&&(i+=l),i+="\n				</span>\n				"}function D(a,n,e){var l,r,s,i="";return i+='\n				<span title="',r=t.equals||a&&a.equals,s={hash:{},inverse:E.program(26,I,n),fn:E.program(24,T,n),data:n},l=r?r.call(a,a&&a.CommentCount,"-1=",s):x.call(a,"equals",a&&a.CommentCount,"-1=",s),(l||0===l)&&(i+=l),i+=" "+k((l=e&&e.SystemText,l=null==l||l===!1?l:l.Comments,typeof l===q?l.apply(a):l))+'">\n					<span class="icon is-normal"><i class="iconextra-comment ii-comments"></i></span>\n					',r=t.equals||a&&a.equals,s={hash:{},inverse:E.program(26,I,n),fn:E.program(24,T,n),data:n},l=r?r.call(a,(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s):x.call(a,"equals",(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s),(l||0===l)&&(i+=l),i+="\n				</span>\n				"}function T(){return"0"}function I(a,n){var e,l;return(l=t.CommentCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.CommentCount,e=typeof l===q?l.call(a,{hash:{},data:n}):l),k(e)}function w(a,n){var e,l;return(l=t.LikeCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.LikeCount,e=typeof l===q?l.call(a,{hash:{},data:n}):l),k(e)}function A(a,n,e){var l,r,s="";return s+='\n				<button id="soc-adv-share-btn" \n						class="btn btn-primary btn-small" \n						onclick="Widgets.SocialAdvocacy_ShareClicked(',(r=t.ID)?l=r.call(a,{hash:{},data:n}):(r=a&&a.ID,l=typeof r===q?r.call(a,{hash:{},data:n}):r),s+=k(l)+')"\n						type="button"\n						aria-label="'+k((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShareAria,typeof l===q?l.apply(a):l))+'"\n				>\n					'+k((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShare,typeof l===q?l.apply(a):l))+'&nbsp;<i class="fa fa-share-alt ii ii-share"></i>\n				</button>\n				'}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var b,C="",q="function",k=this.escapeExpression,E=this,x=t.helperMissing;return C+='<div id="mySnippet" class="carousel slide">\n	<ul class="carousel-inner unstyled">\n		',b=t.each.call(n,n&&n.Items,{hash:{},inverse:E.noop,fn:E.programWithDepth(1,r,l,n),data:l}),(b||0===b)&&(C+=b),C+='\n	</ul>\n	<a class="carousel-control left hidden-phone hidden-tablet" href="#mySnippet" data-slide="prev">Prev</a>\n	<a class="carousel-control right" href="#mySnippet" data-slide="next">Next</a>\n</div>'}),n.widgets_content_titlelist=a(function(a,n,t,e,l){function r(a){var n,t="";return t+="\n			<h3>"+u((n=a&&a.SystemText,n=null==n||n===!1?n:n.NoItems,typeof n===p?n.apply(a):n))+"</h3>\n			"}function s(a,n){var e,l,r="";return r+='\n                    <li dir="auto">\n                        <a target="',(l=t.Target)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Target,e=typeof l===p?l.call(a,{hash:{},data:n}):l),r+=u(e)+'" href="',(l=t.URL)?e=l.call(a,{hash:{},data:n}):(l=a&&a.URL,e=typeof l===p?l.call(a,{hash:{},data:n}):l),r+=u(e)+'" ',e=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:d.noop,fn:d.program(4,i,n),data:n}),(e||0===e)&&(r+=e),r+='><span class="text">',(l=t.Title)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Title,e=typeof l===p?l.call(a,{hash:{},data:n}):l),r+=u(e)+"</span></a>\n                    </li>\n                    "}function i(a,n){var e,l,r,s="";return s+=" ",l=t.hovercard||a&&a.hovercard,r={hash:{},inverse:d.noop,fn:d.program(5,o,n),data:n},e=l?l.call(a,a&&a.Type,a&&a.ID,r):f.call(a,"hovercard",a&&a.Type,a&&a.ID,r),(e||0===e)&&(s+=e),s+=" "}function o(){var a="";return a}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var c,h="",p="function",u=this.escapeExpression,d=this,f=t.helperMissing;return h+='<div>\n	<section class="Widget">\n		<div class="titlelist peoplelisting">\n			',c=t["if"].call(n,n&&n.IsEmpty,{hash:{},inverse:d.noop,fn:d.program(1,r,l),data:l}),(c||0===c)&&(h+=c),h+='\n            <div style="width:100%;">\n                <ul class="unstyled striped">\n                    ',c=t.each.call(n,n&&n.Items,{hash:{},inverse:d.noop,fn:d.program(3,s,l),data:l}),(c||0===c)&&(h+=c),h+="\n                </ul>\n            </div>\n		</div>\n	</section>\n</div>"}),n.widgets_content_trends=a(function(a,n,t,e,l){function r(){return'class="active"'}function s(){return"true"}function i(){return"false"}function o(a,n,e){var l,r,s,i="";return i+='\r\n	<li class="',l=t["if"].call(a,a&&a.IsKey,{hash:{},inverse:M.program(10,h,n),fn:M.program(8,c,n),data:n}),(l||0===l)&&(i+=l),i+=' gridster-wac">\r\n		<div class="pull-left content-widget-list-image-container">\r\n			<img src="',l=t["if"].call(a,a&&a.AssetID,{hash:{},inverse:M.program(14,u,n),fn:M.program(12,p,n),data:n}),(l||0===l)&&(i+=l),i+='" style="object-fit: cover; object-position: 50% ',(r=t.BackgroundYpos)?l=r.call(a,{hash:{},data:n}):(r=a&&a.BackgroundYpos,l=typeof r===O?r.call(a,{hash:{},data:n}):r),i+=B(l)+'%;" alt="" role="presentation" loading="lazy"/>\r\n		</div>\r\n		<div class="content-widget-list-details-container">\r\n			<div dir="auto">\r\n				<a class="is-w-a" target="',(r=t.Target)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Target,l=typeof r===O?r.call(a,{hash:{},data:n}):r),i+=B(l)+'" href="',(r=t.URL)?l=r.call(a,{hash:{},data:n}):(r=a&&a.URL,l=typeof r===O?r.call(a,{hash:{},data:n}):r),i+=B(l)+'" ',l=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:M.noop,fn:M.program(16,d,n),data:n}),(l||0===l)&&(i+=l),i+=">",(r=t.Title)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Title,l=typeof r===O?r.call(a,{hash:{},data:n}):r),(l||0===l)&&(i+=l),i+="</a>\r\n			</div>\r\n			<!-- This will return true if AuthorType is greater than 0, i.e. not a person -->\r\n			",l=t["if"].call(a,a&&a.AuthorType,{hash:{},inverse:M.programWithDepth(22,y,n,e),fn:M.programWithDepth(19,m,n,e),data:n}),(l||0===l)&&(i+=l),i+='\r\n			<div class="social-tools">\r\n				<div class="row-fluid">\r\n					<div class="span6 pull-left">\r\n						',r=t.when||a&&a.when,s={hash:{},inverse:M.program(31,w,n),fn:M.program(26,D,n),data:n},l=r?r.call(a,"Type != 'Event'",s):R.call(a,"when","Type != 'Event'",s),(l||0===l)&&(i+=l),i+='\r\n					</div>\r\n					<div class="span6 pull-right">\r\n						',l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:M.noop,fn:M.programWithDepth(37,q,n,e),data:n}),(l||0===l)&&(i+=l),i+="\r\n					</div>\r\n				</div>\r\n			</div>\r\n		</div>\r\n	</li>\r\n    "}function c(){return"content-widget-item-key"}function h(){return"content-widget-item"}function p(a,n){var e,l,r;return l=t.asset||a&&a.asset,r={hash:{},data:n},e=l?l.call(a,a&&a.AssetID,4,r):R.call(a,"asset",a&&a.AssetID,4,r),e||0===e?e:""}function u(a,n){var e,l;return B((e=t.avatar||a&&a.avatar,l={hash:{},data:n},e?e.call(a,a&&a.Type,l):R.call(a,"avatar",a&&a.Type,l)))}function d(a,n){var e,l,r,s="";return s+=" ",l=t.hovercard||a&&a.hovercard,r={hash:{},inverse:M.noop,fn:M.program(17,f,n),data:n},e=l?l.call(a,a&&a.Type,a&&a.ID,r):R.call(a,"hovercard",a&&a.Type,a&&a.ID,r),(e||0===e)&&(s+=e),s+=" "}function f(){return" "}function m(a,n,e){var l,r="";return r+="\r\n				",l=t["if"].call(a,a&&a.Author,{hash:{},inverse:M.noop,fn:M.programWithDepth(20,v,n,e),data:n}),(l||0===l)&&(r+=l),r+="\r\n			"}function v(a,n,e){var l,r,s="";return s+='\r\n					<!-- Display a span instead of a link -->\r\n					<div class="auth is-author">\r\n						'+B((l=e&&e.SystemText,l=null==l||l===!1?l:l.By,typeof l===O?l.apply(a):l))+" <span><strong>",(r=t.Author)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Author,l=typeof r===O?r.call(a,{hash:{},data:n}):r),s+=B(l)+"</strong></span>\r\n					</div>\r\n				"}function y(a,n,e){var l,r="";return r+="\r\n				",l=t["if"].call(a,a&&a.Author,{hash:{},inverse:M.noop,fn:M.programWithDepth(23,g,n,e),data:n}),(l||0===l)&&(r+=l),r+="\r\n			"}function g(a,n,e){var l,r,s,i="";return i+='\r\n					<div class="auth is-author">\r\n						'+B((l=e&&e.SystemText,l=null==l||l===!1?l:l.By,typeof l===O?l.apply(a):l))+' <a href="'+B((r=t.link||a&&a.link,s={hash:{},data:n},r?r.call(a,"Person",a&&a.AuthorID,s):R.call(a,"link","Person",a&&a.AuthorID,s)))+'" ',l=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:M.noop,fn:M.program(24,S,n),data:n}),(l||0===l)&&(i+=l),i+=">",(r=t.Author)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Author,l=typeof r===O?r.call(a,{hash:{},data:n}):r),i+=B(l)+"</a>\r\n					</div>\r\n				"}function S(a,n){var e,l,r="";return r+=' data-personid="',(l=t.AuthorID)?e=l.call(a,{hash:{},data:n}):(l=a&&a.AuthorID,e=typeof l===O?l.call(a,{hash:{},data:n}):l),r+=B(e)+'" '}function D(a,n){var e,l="";return l+='\r\n						<time class="timeago pull-left timeago-date muted" datetime="',e=t["if"].call(a,a&&a.ShowUpdateDate,{hash:{},inverse:M.program(29,I,n),fn:M.program(27,T,n),data:n}),(e||0===e)&&(l+=e),l+='"></time>\r\n						'}function T(a,n){var e,l,r="";return r+=" ",(l=t.UpdateDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.UpdateDate,e=typeof l===O?l.call(a,{hash:{},data:n}):l),r+=B(e)+" "}function I(a,n){var e,l,r="";return r+=" ",(l=t.StartDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.StartDate,e=typeof l===O?l.call(a,{hash:{},data:n}):l),r+=B(e)+" "}function w(a,n){var e,l,r,s="";return s+="\r\n						",l=t.equals||a&&a.equals,r={hash:{},inverse:M.program(35,C,n),fn:M.program(32,A,n),data:n},e=l?l.call(a,(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r):R.call(a,"equals",(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r),(e||0===e)&&(s+=e),s+="\r\n						"}function A(a,n){var e,l,r,s="";return s+='<span class="pull-left timeago timeago-doubledate muted" style="white-space:pre-line;">\r\n							',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:M.noop,fn:M.program(33,b,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.EndDate,r):R.call(a,"eventTimeString",a&&a.StartDate,a&&a.EndDate,r),(e||0===e)&&(s+=e),s+="\r\n						</span>"}function b(){var a="";return a}function C(a,n){var e,l,r,s="";return s+='<span class="timeago timeago-singledate muted" style="white-space:pre-line;">\r\n							',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:M.noop,fn:M.program(33,b,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.StartDate,r):R.call(a,"eventTimeString",a&&a.StartDate,a&&a.StartDate,r),(e||0===e)&&(s+=e),s+="\r\n						</span>"}function q(a,n,e){var l,r,s,i="";return i+='\r\n						<div class="pull-right count">\r\n							',l=t["if"].call(a,a&&a.SocialAdvocacyItem,{hash:{},inverse:M.noop,fn:M.programWithDepth(38,k,n,e),data:n}),(l||0===l)&&(i+=l),i+="\r\n							",r=t.equals||a&&a.equals,s={hash:{},inverse:M.noop,fn:M.programWithDepth(40,E,n,e),data:n},l=r?r.call(a,(l=a&&a.Entity,null==l||l===!1?l:l.IsCommentsAllowed),"true",s):R.call(a,"equals",(l=a&&a.Entity,null==l||l===!1?l:l.IsCommentsAllowed),"true",s),(l||0===l)&&(i+=l),i+='\r\n							<span title="',r=t.equals||a&&a.equals,s={hash:{},inverse:M.program(45,W,n),fn:M.program(41,x,n),data:n},l=r?r.call(a,a&&a.LikeCount,"-1",s):R.call(a,"equals",a&&a.LikeCount,"-1",s),(l||0===l)&&(i+=l),i+=" "+B((l=e&&e.SystemText,l=null==l||l===!1?l:l.Likes,typeof l===O?l.apply(a):l))+'">\r\n								<span class="icon is-normal"><i class="iconextra-like ii-like"></i></span>\r\n								',r=t.equals||a&&a.equals,s={hash:{},inverse:M.program(45,W,n),fn:M.program(41,x,n),data:n},l=r?r.call(a,a&&a.LikeCount,"-1",s):R.call(a,"equals",a&&a.LikeCount,"-1",s),(l||0===l)&&(i+=l),i+="\r\n							</span>\r\n						</div>\r\n						"}function k(a,n,e){var l,r,s="";return s+='\r\n							<button id="soc-adv-share-btn" \r\n									class="btn btn-primary btn-small" \r\n									onclick="Widgets.SocialAdvocacy_ShareClicked(',(r=t.ID)?l=r.call(a,{hash:{},data:n}):(r=a&&a.ID,l=typeof r===O?r.call(a,{hash:{},data:n}):r),s+=B(l)+')"\r\n									type="button"\r\n									aria-label="'+B((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShareAria,typeof l===O?l.apply(a):l))+'"\r\n							>\r\n								<i class="fa fa-share-alt ii ii-share"></i>\r\n							</button>\r\n							'}function E(a,n,e){var l,r,s,i="";return i+='\r\n							<span title="',r=t.equals||a&&a.equals,s={hash:{},inverse:M.program(43,L,n),fn:M.program(41,x,n),data:n},l=r?r.call(a,a&&a.CommentCount,"-1",s):R.call(a,"equals",a&&a.CommentCount,"-1",s),(l||0===l)&&(i+=l),i+=" "+B((l=e&&e.SystemText,l=null==l||l===!1?l:l.Comments,typeof l===O?l.apply(a):l))+'">\r\n								<span class="icon is-normal"><i class="iconextra-comment ii-comments"></i></span>\r\n								',r=t.equals||a&&a.equals,s={hash:{},inverse:M.program(43,L,n),fn:M.program(41,x,n),data:n},l=r?r.call(a,a&&a.CommentCount,"-1",s):R.call(a,"equals",a&&a.CommentCount,"-1",s),(l||0===l)&&(i+=l),i+="\r\n							</span>\r\n							"}function x(){return"0"}function L(a,n){var e,l;return(l=t.CommentCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.CommentCount,e=typeof l===O?l.call(a,{hash:{},data:n}):l),B(e)}function W(a,n){var e,l;return(l=t.LikeCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.LikeCount,e=typeof l===O?l.call(a,{hash:{},data:n}):l),B(e)}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var H,_,U,P="",R=t.helperMissing,B=this.escapeExpression,M=this,O="function";return P+='<div class="pull-right widget-content-trends-controls-order">\r\n    <ul class="nav nav-tabs">\r\n        <li ',_=t.equals||n&&n.equals,U={hash:{},inverse:M.noop,fn:M.program(1,r,l),data:l},H=_?_.call(n,n&&n.Order,"latest",U):R.call(n,"equals",n&&n.Order,"latest",U),(H||0===H)&&(P+=H),P+=' data-order="latest">\r\n			<a href="javascript:void(0)" role="tab" aria-selected="',_=t.equals||n&&n.equals,U={hash:{},inverse:M.program(5,i,l),fn:M.program(3,s,l),data:l},H=_?_.call(n,n&&n.Order,"latest",U):R.call(n,"equals",n&&n.Order,"latest",U),(H||0===H)&&(P+=H),P+='">'+B((H=n&&n.SystemText,H=null==H||H===!1?H:H.Latest,typeof H===O?H.apply(n):H))+"</a>\r\n		</li>\r\n        <li ",_=t.equals||n&&n.equals,U={hash:{},inverse:M.noop,fn:M.program(1,r,l),data:l},H=_?_.call(n,n&&n.Order,"discussed",U):R.call(n,"equals",n&&n.Order,"discussed",U),(H||0===H)&&(P+=H),P+=' data-order="discussed">\r\n			<a href="javascript:void(0)" role="tab" aria-selected="',_=t.equals||n&&n.equals,U={hash:{},inverse:M.program(5,i,l),fn:M.program(3,s,l),data:l},H=_?_.call(n,n&&n.Order,"discussed",U):R.call(n,"equals",n&&n.Order,"discussed",U),(H||0===H)&&(P+=H),P+='">'+B((H=n&&n.SystemText,H=null==H||H===!1?H:H.Discussed,typeof H===O?H.apply(n):H))+"</a>\r\n		</li>\r\n        <li ",_=t.equals||n&&n.equals,U={hash:{},inverse:M.noop,fn:M.program(1,r,l),data:l},H=_?_.call(n,n&&n.Order,"liked",U):R.call(n,"equals",n&&n.Order,"liked",U),(H||0===H)&&(P+=H),P+=' data-order="liked">\r\n			<a href="javascript:void(0)" role="tab" aria-selected="',_=t.equals||n&&n.equals,U={hash:{},inverse:M.program(5,i,l),fn:M.program(3,s,l),data:l},H=_?_.call(n,n&&n.Order,"liked",U):R.call(n,"equals",n&&n.Order,"liked",U),(H||0===H)&&(P+=H),P+='">'+B((H=n&&n.SystemText,H=null==H||H===!1?H:H.Liked,typeof H===O?H.apply(n):H))+'</a>\r\n		</li>\r\n    </ul>\r\n</div>\r\n\r\n<div class="clearfix"></div>\r\n\r\n<ul class="unstyled content-widget-items-container striped">\r\n    ',H=t.each.call(n,n&&n.Items,{hash:{},inverse:M.noop,fn:M.programWithDepth(7,o,l,n),data:l}),(H||0===H)&&(P+=H),P+="\r\n</ul>\r\n"}),n.widgets_custom_app_standard=a(function(a,n,t,e,l){function r(a,n){var e,l;return(l=t.Html)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Html,e=typeof l===c?l.call(a,{hash:{},data:n}):l),e||0===e?e:""}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var s,i,o="",c="function",h=this.escapeExpression,p=this;return o+='<div class="row-fluid">\n	<div class="span12">\n		<div class="tabbable">\n			<div id="CustomAppWidgetHtmlContainer_',(i=t.WidgetInstanceID)?s=i.call(n,{hash:{},data:l}):(i=n&&n.WidgetInstanceID,s=typeof i===c?i.call(n,{hash:{},data:l}):i),o+=h(s)+'">\n				',s=t["if"].call(n,n&&n.Html,{hash:{},inverse:p.noop,fn:p.program(1,r,l),data:l}),(s||0===s)&&(o+=s),o+="\n			</div>\n		</div>\n	</div>\n</div>\n"}),n.widgets_custom_standard=a(function(a,n,t,e,l){this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var r,s,i="",o="function",c=this.escapeExpression;return i+='<div class="row-fluid">\r\n	<div class="span12" id="body',(s=t.widgetinstanceid)?r=s.call(n,{hash:{},data:l}):(s=n&&n.widgetinstanceid,r=typeof s===o?s.call(n,{hash:{},data:l}):s),i+=c(r)+'">\r\n\r\n		\r\n	</div>\r\n</div>'}),n.widgets_delve_standard=a(function(a,n,t,e,l){this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var r,s,i="",o="function",c=this.escapeExpression;return i+='<div class="row-fluid">\n	<div class="span12" id="body',(s=t.widgetinstanceid)?r=s.call(n,{hash:{},data:l}):(s=n&&n.widgetinstanceid,r=typeof s===o?s.call(n,{hash:{},data:l}):s),i+=c(r)+'">\n	</div>\n</div>'}),n.widgets_feed_grid=a(function(a,n,t,e,l){this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var r,s,i,o="",c="function",h=this.escapeExpression,p=t.helperMissing;return o+='<div class="widget-root" id="widget-',(s=t.WidgetInstanceId)?r=s.call(n,{hash:{},data:l}):(s=n&&n.WidgetInstanceId,r=typeof s===c?s.call(n,{hash:{},data:l}):s),o+=h(r)+'"></div>\n\n',s=t.dispatchEvent||n&&n.dispatchEvent,i={hash:{},data:l},r=s?s.call(n,"mountWidget",n&&n.eventDetails,i):p.call(n,"dispatchEvent","mountWidget",n&&n.eventDetails,i),(r||0===r)&&(o+=r),o}),n.widgets_feed_linear=a(function(a,n,t,e,l){this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var r,s,i,o="",c="function",h=this.escapeExpression,p=t.helperMissing;return o+='<div class="widget-root" id="widget-',(s=t.WidgetInstanceId)?r=s.call(n,{hash:{},data:l}):(s=n&&n.WidgetInstanceId,r=typeof s===c?s.call(n,{hash:{},data:l}):s),o+=h(r)+'"></div>\n\n',s=t.dispatchEvent||n&&n.dispatchEvent,i={hash:{},data:l},r=s?s.call(n,"mountWidget",n&&n.eventDetails,i):p.call(n,"dispatchEvent","mountWidget",n&&n.eventDetails,i),(r||0===r)&&(o+=r),o}),n.widgets_footballleague_standard=a(function(a,n,t,e,l){function r(a,n){var e,l,r="";return r+="\r\n	<tr>\r\n		<td>",(l=t.Position)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Position,e=typeof l===c?l.call(a,{hash:{},data:n}):l),r+=h(e)+"</td>\r\n		<td>",(l=t.TeamName)?e=l.call(a,{hash:{},data:n}):(l=a&&a.TeamName,e=typeof l===c?l.call(a,{hash:{},data:n}):l),r+=h(e)+"</td>\r\n		<td>",(l=t.LastWeek)?e=l.call(a,{hash:{},data:n}):(l=a&&a.LastWeek,e=typeof l===c?l.call(a,{hash:{},data:n}):l),r+=h(e)+"</td>\r\n		<td>",(l=t.Points)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Points,e=typeof l===c?l.call(a,{hash:{},data:n}):l),r+=h(e)+"</td>\r\n	</tr>\r\n	"}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var s,i,o="",c="function",h=this.escapeExpression,p=this;return o+='<table class="table table-bordered table-hover table-condensed table-striped">\r\n	<tr>\r\n		<th>'+h((s=n&&n.SystemText,s=null==s||s===!1?s:s.Position,typeof s===c?s.apply(n):s))+"</th>\r\n		<th>"+h((s=n&&n.SystemText,s=null==s||s===!1?s:s.TeamName,typeof s===c?s.apply(n):s))+"</th>\r\n		<th>"+h((s=n&&n.SystemText,s=null==s||s===!1?s:s.LastWeek,typeof s===c?s.apply(n):s))+"</th>\r\n		<th>"+h((s=n&&n.SystemText,s=null==s||s===!1?s:s.Points,typeof s===c?s.apply(n):s))+"</th>\r\n	</tr>\r\n	",s=t.each.call(n,n&&n.Items,{hash:{},inverse:p.noop,fn:p.program(1,r,l),data:l}),(s||0===s)&&(o+=s),o+='\r\n</table>\r\n<div class="well well-small">\r\n	<h4 class="centered-text">'+h((s=n&&n.SystemText,s=null==s||s===!1?s:s.ForthcomingFixtures,typeof s===c?s.apply(n):s))+'</h4>\r\n	<a id="seriesRelocation" href="',(i=t.SeriesHomePage)?s=i.call(n,{hash:{},data:l}):(i=n&&n.SeriesHomePage,s=typeof i===c?i.call(n,{hash:{},data:l}):i),o+=h(s)+'" class="centered-text">\r\n		'+h((s=n&&n.SystemText,s=null==s||s===!1?s:s.GoTo,typeof s===c?s.apply(n):s))+" ",(i=t.SeriesName)?s=i.call(n,{hash:{},data:l}):(i=n&&n.SeriesName,s=typeof i===c?i.call(n,{hash:{},data:l}):i),o+=h(s)+' <i class="icon-circle-arrow-right"></i>\r\n	</a>\r\n</div>'}),n.widgets_forum_standard=a(function(a,n,t,e,l){function r(){return' class="active" '}function s(a,n){var e,l,s,i="";return i+="\r\n		<li ",l=t.equals||a&&a.equals,s={hash:{},inverse:pn.noop,fn:pn.program(1,r,n),data:n},e=l?l.call(a,(e=a&&a.Order,null==e||e===!1?e:e.active),"votes",s):un.call(a,"equals",(e=a&&a.Order,null==e||e===!1?e:e.active),"votes",s),(e||0===e)&&(i+=e),i+=' data-order="votes" rel="tooltip" data-original-title="'+fn((e=a&&a.SystemText,e=null==e||e===!1?e:e.VotesTooltip,typeof e===dn?e.apply(a):e))+'"><a href="#na">'+fn((e=a&&a.SystemText,e=null==e||e===!1?e:e.Votes,typeof e===dn?e.apply(a):e))+"</a></li>\r\n		"}function i(a,n){var e,l="";return l+="\r\n",e=t["if"].call(a,a&&a.IfOneForumInfo,{hash:{},inverse:pn.noop,fn:pn.program(6,o,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n"}function o(a){var n,t="";return t+='<p class="muted">\r\n<small>This information comes from <a href="/Interact/Pages/Modules/Forum/Forum.aspx?id='+fn((n=a&&a.IfOneForumInfo,n=null==n||n===!1?n:n.SectionId,typeof n===dn?n.apply(a):n))+'">'+fn((n=a&&a.IfOneForumInfo,n=null==n||n===!1?n:n.Title,typeof n===dn?n.apply(a):n))+"</a></small></p>"}function c(a,n,e){var l,r,s,i="";return i+='\r\n<li class="thread-section thread-'+fn((l=a&&a.Entity,l=null==l||l===!1?l:l.ID,typeof l===dn?l.apply(a):l))+" ",l=t["if"].call(a,(l=a&&a.Entity,null==l||l===!1?l:l.IsSticky),{hash:{},inverse:pn.noop,fn:pn.program(9,h,n),data:n}),(l||0===l)&&(i+=l),i+=" ",l=t["if"].call(a,(l=a&&a.Entity,null==l||l===!1?l:l.IsClose),{hash:{},inverse:pn.noop,fn:pn.program(11,p,n),data:n}),(l||0===l)&&(i+=l),i+=" ",l=t["if"].call(a,(l=a&&a.Entity,null==l||l===!1?l:l.AllowAnonymous),{hash:{},inverse:pn.noop,fn:pn.program(13,u,n),data:n}),(l||0===l)&&(i+=l),i+=" ",l=t["if"].call(a,(l=a&&a.Entity,null==l||l===!1?l:l.IsImplemented),{hash:{},inverse:pn.noop,fn:pn.program(15,d,n),data:n}),(l||0===l)&&(i+=l),i+='" data-id="'+fn((l=a&&a.Entity,l=null==l||l===!1?l:l.ID,typeof l===dn?l.apply(a):l))+'">\r\n	<div class="container_forum_each ',l=t["if"].call(a,(l=e&&e.DisplayOptions,null==l||l===!1?l:l.DisplayAuthorResponderIcons),{hash:{},inverse:pn.noop,fn:pn.program(18,m,n),data:n}),(l||0===l)&&(i+=l),i+='">\r\n		',l=t["if"].call(a,(l=e&&e.DisplayOptions,null==l||l===!1?l:l.DisplayAuthorResponderIcons),{hash:{},inverse:pn.program(25,S,n),fn:pn.programWithDepth(20,v,n,e),data:n}),(l||0===l)&&(i+=l),i+='\r\n		<div dir="auto">\r\n			<a class="heading" href="/Interact/Pages/Modules/Forum/Thread.aspx?id=',(r=t.SectionId)?l=r.call(a,{hash:{},data:n}):(r=a&&a.SectionId,l=typeof r===dn?r.call(a,{hash:{},data:n}):r),i+=fn(l)+"&fid=",(r=t.ForumId)?l=r.call(a,{hash:{},data:n}):(r=a&&a.ForumId,l=typeof r===dn?r.call(a,{hash:{},data:n}):r),i+=fn(l)+"&tid=",(r=t.ThreadId)?l=r.call(a,{hash:{},data:n}):(r=a&&a.ThreadId,l=typeof r===dn?r.call(a,{hash:{},data:n}):r),i+=fn(l)+'" ',l=t["if"].call(a,(l=e&&e.DisplayOptions,null==l||l===!1?l:l.AllowHovercards),{hash:{},inverse:pn.noop,fn:pn.program(36,C,n),data:n}),(l||0===l)&&(i+=l),i+=">\r\n				"+fn((l=a&&a.Entity,l=null==l||l===!1?l:l.Title,typeof l===dn?l.apply(a):l))+"\r\n				",l=t["if"].call(a,(l=a&&a.Entity,null==l||l===!1?l:l.IsImplemented),{hash:{},inverse:pn.noop,fn:pn.programWithDepth(38,q,n,e),data:n}),(l||0===l)&&(i+=l),i+="\r\n				",l=t["if"].call(a,(l=a&&a.Entity,null==l||l===!1?l:l.IsClose),{hash:{},inverse:pn.noop,fn:pn.programWithDepth(40,k,n,e),data:n}),(l||0===l)&&(i+=l),i+="\r\n			</a>\r\n		</div>\r\n		",l=t["if"].call(a,(l=e&&e.DisplayOptions,null==l||l===!1?l:l.PreviewDescription),{hash:{},inverse:pn.noop,fn:pn.programWithDepth(42,E,n,e),data:n}),(l||0===l)&&(i+=l),i+='\r\n\r\n		<div class="thread-comment-container">\r\n			',l=t["if"].call(a,(l=e&&e.DisplayOptions,null==l||l===!1?l:l.ShowComments),{hash:{},inverse:pn.noop,fn:pn.program(45,L,n),data:n}),(l||0===l)&&(i+=l),i+="\r\n		</div>\r\n\r\n		",r=t.equals||a&&a.equals,s={hash:{},inverse:pn.noop,fn:pn.programWithDepth(50,_,n,e),data:n},l=r?r.call(a,(l=a&&a.Entity,null==l||l===!1?l:l.Type),"3",s):un.call(a,"equals",(l=a&&a.Entity,null==l||l===!1?l:l.Type),"3",s),(l||0===l)&&(i+=l),i+="\r\n\r\n		",l=t.each.call(a,(l=a&&a.Entity,null==l||l===!1?l:l.Posts),{hash:{},inverse:pn.noop,fn:pn.programWithDepth(59,M,n,e),data:n}),(l||0===l)&&(i+=l),i+="\r\n		<div>\r\n			",l=t["if"].call(a,(l=e&&e.DisplayOptions,null==l||l===!1?l:l.DisplayAuthorResponderIcons),{hash:{},inverse:pn.noop,fn:pn.programWithDepth(75,K,n,a,e),data:n}),(l||0===l)&&(i+=l),i+='\r\n			<div class="social-tools">\r\n				<div class="row-fluid">\r\n					<div class="span6">\r\n						<time class="timeago" datetime="',l=t["if"].call(a,(l=a&&a.Entity,l=null==l||l===!1?l:l.LatestPost,null==l||l===!1?l:l.AddedDate),{hash:{},inverse:pn.program(88,en,n),fn:pn.program(86,tn,n),data:n}),(l||0===l)&&(i+=l),i+='">',l=t["if"].call(a,(l=a&&a.Entity,l=null==l||l===!1?l:l.LatestPost,null==l||l===!1?l:l.AddedDate),{hash:{},inverse:pn.program(92,rn,n),fn:pn.program(90,ln,n),data:n}),(l||0===l)&&(i+=l),i+='</time>\r\n					</div>\r\n					<div class="span6 pull-right">\r\n						<div class="pull-right count">\r\n							<span title="'+fn((l=a&&a.Entity,l=null==l||l===!1?l:l.PostCount,typeof l===dn?l.apply(a):l))+" "+fn((l=e&&e.SystemText,l=null==l||l===!1?l:l.CommentsText,typeof l===dn?l.apply(a):l))+'">\r\n								<span class="icon is-normal"><i class="iconextra-comment ii-comments"></i></span>\r\n								'+fn((l=a&&a.Entity,l=null==l||l===!1?l:l.PostCount,typeof l===dn?l.apply(a):l))+'\r\n\r\n							</span>\r\n							<span title="'+fn((l=a&&a.Entity,l=null==l||l===!1?l:l.LikeCount,typeof l===dn?l.apply(a):l))+" "+fn((l=e&&e.SystemText,l=null==l||l===!1?l:l.LikesText,typeof l===dn?l.apply(a):l))+'">\r\n								<span class="icon is-normal"><i class="iconextra-like ii-like"></i></span>\r\n								'+fn((l=a&&a.Entity,l=null==l||l===!1?l:l.LikeCount,typeof l===dn?l.apply(a):l))+"\r\n							</span>\r\n						</div>\r\n					</div>\r\n				</div>\r\n			</div>\r\n		</div>\r\n	</div>\r\n\r\n</li>\r\n"
}function h(){return"sticky"}function p(){return"closed"}function u(){return" anonymous"}function d(a,n){var e,l,r;return l=t.equals||a&&a.equals,r={hash:{},inverse:pn.noop,fn:pn.program(16,f,n),data:n},e=l?l.call(a,(e=a&&a.Entity,null==e||e===!1?e:e.Type),"3",r):un.call(a,"equals",(e=a&&a.Entity,null==e||e===!1?e:e.Type),"3",r),e||0===e?e:""}function f(){return"isImplemented"}function m(){return"avatar-display"}function v(a,n,e){var l,r,s,i="";return i+="\r\n		",r=t.equals||a&&a.equals,s={hash:{},inverse:pn.program(23,g,n),fn:pn.programWithDepth(21,y,n,e),data:n},l=r?r.call(a,(l=a&&a.Entity,l=null==l||l===!1?l:l.AddedBy,null==l||l===!1?l:l.AvatarId),"0",s):un.call(a,"equals",(l=a&&a.Entity,l=null==l||l===!1?l:l.AddedBy,null==l||l===!1?l:l.AvatarId),"0",s),(l||0===l)&&(i+=l),i+="\r\n		"}function y(a,n,t){var e,l="";return l+='\r\n		<img class="ForumAvatar pull-left forum_type_icon" src="/utilities/assets/handler/asset.ashx?asset='+fn((e=t&&t.DefaultAssetId,typeof e===dn?e.apply(a):e))+'&size=4" loading="lazy"/>\r\n		'}function g(a){var n,t="";return t+='\r\n		<img class="ForumAvatar pull-left forum_type_icon" src="'+fn((n=a&&a.Entity,n=null==n||n===!1?n:n.AddedBy,n=null==n||n===!1?n:n.AvatarPath,typeof n===dn?n.apply(a):n))+'" loading="lazy"/>\r\n		'}function S(a,n){var e,l,r,s="";return s+='\r\n		<i class="',l=t.equals||a&&a.equals,r={hash:{},inverse:pn.program(28,T,n),fn:pn.program(26,D,n),data:n},e=l?l.call(a,(e=a&&a.Entity,null==e||e===!1?e:e.Type),"0",r):un.call(a,"equals",(e=a&&a.Entity,null==e||e===!1?e:e.Type),"0",r),(e||0===e)&&(s+=e),s+=' pull-left forum_type_icon"></i>\r\n		'}function D(){return" IForumDiscussion "}function T(a,n){var e,l,r,s="";return s+=" ",l=t.equals||a&&a.equals,r={hash:{},inverse:pn.program(31,w,n),fn:pn.program(29,I,n),data:n},e=l?l.call(a,(e=a&&a.Entity,null==e||e===!1?e:e.Type),"1",r):un.call(a,"equals",(e=a&&a.Entity,null==e||e===!1?e:e.Type),"1",r),(e||0===e)&&(s+=e),s+=" "}function I(){return" IForumIdea "}function w(a,n){var e,l,r,s="";return s+=" ",l=t.equals||a&&a.equals,r={hash:{},inverse:pn.program(34,b,n),fn:pn.program(32,A,n),data:n},e=l?l.call(a,(e=a&&a.Entity,null==e||e===!1?e:e.Type),"2",r):un.call(a,"equals",(e=a&&a.Entity,null==e||e===!1?e:e.Type),"2",r),(e||0===e)&&(s+=e),s+=" "}function A(){return" IForumQuestion "}function b(){return" IForumIdeaList  "}function C(a,n){var e,l,r="";return r+=' data-forumthreadid="',(l=t.ThreadId)?e=l.call(a,{hash:{},data:n}):(l=a&&a.ThreadId,e=typeof l===dn?l.call(a,{hash:{},data:n}):l),r+=fn(e)+'" '}function q(a,n,t){var e,l="";return l+='<div class="label label-success pull-right">'+fn((e=t&&t.SystemText,e=null==e||e===!1?e:e.Implemented,typeof e===dn?e.apply(a):e))+"</div>"}function k(a,n,t){var e,l="";return l+='<div class="label pull-right">'+fn((e=t&&t.SystemText,e=null==e||e===!1?e:e.Closed,typeof e===dn?e.apply(a):e))+"</div>"}function E(a,n,e){var l,r="";return r+="\r\n		",l=t["if"].call(a,a&&a.ThreadShortDescription,{hash:{},inverse:pn.noop,fn:pn.programWithDepth(43,x,n,e),data:n}),(l||0===l)&&(r+=l),r+="\r\n		"}function x(a,n,t){var e,l="";return l+='\r\n		<a class="preview-full-thread-description pull-right" href="#">'+fn((e=t&&t.SystemText,e=null==e||e===!1?e:e.ShowMore,typeof e===dn?e.apply(a):e))+"</a>\r\n		"}function L(a,n){var e,l,r="";return r+="\r\n			",e=t["if"].call(a,a&&a.ThreadShortDescription,{hash:{},inverse:pn.noop,fn:pn.program(46,W,n),data:n}),(e||0===e)&&(r+=e),r+="\r\n			<div ",e=t["if"].call(a,a&&a.ThreadShortDescription,{hash:{},inverse:pn.noop,fn:pn.program(48,H,n),data:n}),(e||0===e)&&(r+=e),r+=' class="threadLongDescription">',(l=t.ThreadDescription)?e=l.call(a,{hash:{},data:n}):(l=a&&a.ThreadDescription,e=typeof l===dn?l.call(a,{hash:{},data:n}):l),(e||0===e)&&(r+=e),r+="</div>\r\n			"}function W(a,n){var e,l,r="";return r+='\r\n			<div class="threadShortDescription">',(l=t.ThreadShortDescription)?e=l.call(a,{hash:{},data:n}):(l=a&&a.ThreadShortDescription,e=typeof l===dn?l.call(a,{hash:{},data:n}):l),(e||0===e)&&(r+=e),r+="</div>\r\n			"}function H(){return' style="display: none;" '}function _(a,n,e){var l,r,s,i="";return i+='\r\n		<div class="pull-left" style="width:100%;display:block;">\r\n			<div class="thread-info vote-area">\r\n				<ul class="unstyled inline">\r\n					<li>\r\n						<button type="button" href="#na" rel="tooltip" data-placement="top" data-original-votecounted="'+fn((l=e&&e.SystemText,l=null==l||l===!1?l:l.VoteCounted,typeof l===dn?l.apply(a):l))+'" data-original-voteremoved="'+fn((l=e&&e.SystemText,l=null==l||l===!1?l:l.VoteRemoved,typeof l===dn?l.apply(a):l))+'" data-original-title="'+fn((l=e&&e.SystemText,l=null==l||l===!1?l:l.VoteBTN,typeof l===dn?l.apply(a):l))+'" ',r=t.equals||a&&a.equals,s={hash:{},inverse:pn.program(53,P,n),fn:pn.program(51,U,n),data:n},l=r?r.call(a,a&&a.ThreadMyVote,"1",s):un.call(a,"equals",a&&a.ThreadMyVote,"1",s),(l||0===l)&&(i+=l),i+='>\r\n							<i class="iconvote-"></i> <span>'+fn((l=e&&e.SystemText,l=null==l||l===!1?l:l.VoteBTN,typeof l===dn?l.apply(a):l))+'</span>\r\n						</button>\r\n					</li>\r\n					<li>\r\n						<span class="vote-up-indicator colored" data-original-attribute="'+fn((l=e&&e.SystemText,l=null==l||l===!1?l:l.VotesUp,typeof l===dn?l.apply(a):l))+'">'+fn((l=a&&a.Entity,l=null==l||l===!1?l:l.UpVotes,typeof l===dn?l.apply(a):l))+'</span>\r\n						<!--<i class="icon-ok-sign"></i>-->\r\n					</li>\r\n				</ul>\r\n				<ul class="unstyled inline">\r\n					<li>\r\n						<button type="button" href="#na" rel="tooltip" data-placement="top" data-original-votecounted="'+fn((l=e&&e.SystemText,l=null==l||l===!1?l:l.VoteCounted,typeof l===dn?l.apply(a):l))+'" data-original-voteremoved="'+fn((l=e&&e.SystemText,l=null==l||l===!1?l:l.VoteRemoved,typeof l===dn?l.apply(a):l))+'" data-original-title="'+fn((l=e&&e.SystemText,l=null==l||l===!1?l:l.VoteBTN,typeof l===dn?l.apply(a):l))+'" ',r=t.equals||a&&a.equals,s={hash:{},inverse:pn.program(57,B,n),fn:pn.program(55,R,n),data:n},l=r?r.call(a,a&&a.ThreadMyVote,"-1",s):un.call(a,"equals",a&&a.ThreadMyVote,"-1",s),(l||0===l)&&(i+=l),i+='>\r\n							<i class="iconvote-"></i><span>'+fn((l=e&&e.SystemText,l=null==l||l===!1?l:l.VoteBTN,typeof l===dn?l.apply(a):l))+'</span>\r\n						</button>\r\n					</li>\r\n					<li>\r\n						<span class="vote-down-indicator colored" data-original-attribute="'+fn((l=e&&e.SystemText,l=null==l||l===!1?l:l.VotesDown,typeof l===dn?l.apply(a):l))+'">'+fn((l=a&&a.Entity,l=null==l||l===!1?l:l.DownVotes,typeof l===dn?l.apply(a):l))+"</span>\r\n					</li>\r\n				</ul>\r\n			</div>\r\n		</div>\r\n		"}function U(){return' class="btn vote-up btn-small alreadyVoted" data-hasvoted="true" '}function P(){return' class="btn btn-small vote-up" data-hasvoted="false" '}function R(){return' class="btn vote-down btn-small alreadyVoted" data-hasvoted="true" '}function B(){return' class="btn vote-down btn-small" data-hasvoted="false" '}function M(a,n,e){var l,r="";return r+="\r\n		",l=t["if"].call(a,a&&a.PostText,{hash:{},inverse:pn.programWithDepth(73,J,n,e),fn:pn.programWithDepth(60,O,n,a,e),data:n}),(l||0===l)&&(r+=l),r+="\r\n		"}function O(a,n,e,l){var r,s,i="";return i+='\r\n		<div class="',r=t["if"].call(a,a&&a.IsAnswer,{hash:{},inverse:pn.noop,fn:pn.program(61,N,n),data:n}),(r||0===r)&&(i+=r),i+='LastPostPreview pull-left" style="width:100%;display:block;">\r\n			<blockquote class="mentioned_quote">\r\n				',r=t["if"].call(a,a&&a.IsAnswer,{hash:{},inverse:pn.program(66,Y,n),fn:pn.programWithDepth(63,F,n,a),data:n}),(r||0===r)&&(i+=r),i+='\r\n				<span></span><a href="/forum/post/',(s=t.ID)?r=s.call(a,{hash:{},data:n}):(s=a&&a.ID,r=typeof s===dn?s.call(a,{hash:{},data:n}):s),i+=fn(r)+'" style="word-wrap: break-word;" dir="auto">',(s=t.PostText)?r=s.call(a,{hash:{},data:n}):(s=a&&a.PostText,r=typeof s===dn?s.call(a,{hash:{},data:n}):s),(r||0===r)&&(i+=r),r=a&&a.Entity,r=null==r||r===!1?r:r.PostUrl,r=typeof r===dn?r.apply(a):r,(r||0===r)&&(i+=r),i+='</a>\r\n			</blockquote>\r\n		</div>\r\n		<div>\r\n			<p class="muted" style="width:100%;display:block;">\r\n				'+fn((r=l&&l.SystemText,r=null==r||r===!1?r:r.ResponseBy,typeof r===dn?r.apply(a):r))+"\r\n				",r=t["if"].call(a,a&&a.IsAnonymous,{hash:{},inverse:pn.programWithDepth(70,V,n,e),fn:pn.programWithDepth(68,j,n,e),data:n}),(r||0===r)&&(i+=r),i+="\r\n			</p>\r\n		</div>\r\n		"}function N(){return"has-answer "}function F(a,n,e){var l,r,s,i="";return i+="\r\n				",r=t.equals||a&&a.equals,s={hash:{},inverse:pn.noop,fn:pn.programWithDepth(64,z,n,e),data:n},l=r?r.call(a,(l=a&&a.Entity,null==l||l===!1?l:l.Type),"1",s):un.call(a,"equals",(l=a&&a.Entity,null==l||l===!1?l:l.Type),"1",s),(l||0===l)&&(i+=l),i+="\r\n				"}function z(a,n,t){var e,l="";return l+='<strong class="pull-left" style="margin: 0 5px 0 0;">'+fn((e=t&&t.SystemText,e=null==e||e===!1?e:e.Solution,typeof e===dn?e.apply(a):e))+"</strong>"}function Y(){return'\r\n				<span class="quote">&ldquo;</span>\r\n				'}function j(a,n,t){var e,l="";return l+="\r\n				"+fn((e=t&&t.SystemText,e=null==e||e===!1?e:e.Anonymous,typeof e===dn?e.apply(a):e))+"\r\n				"}function V(a,n,e){var l,r="";return r+='\r\n				<a href="/Interact/Pages/Modules/Directory/Entry.aspx?person='+fn((l=a&&a.AddedBy,l=null==l||l===!1?l:l.PersonId,typeof l===dn?l.apply(a):l))+'"\r\n			',l=t["if"].call(a,(l=e&&e.DisplayOptions,null==l||l===!1?l:l.AllowHovercards),{hash:{},inverse:pn.noop,fn:pn.program(71,G,n),data:n}),(l||0===l)&&(r+=l),r+=">\r\n					"+fn((l=a&&a.AddedBy,l=null==l||l===!1?l:l.FullName,typeof l===dn?l.apply(a):l))+"\r\n				</a>\r\n				"}function G(a){var n,t="";return t+='\r\n			data-personid="'+fn((n=a&&a.AddedBy,n=null==n||n===!1?n:n.PersonId,typeof n===dn?n.apply(a):n))+'" '}function J(a,n,t){var e,l="";return l+='\r\n		<div class="LastPostPreview pull-left" style="width:100%;display:block;">\r\n			<blockquote class="mentioned_quote">\r\n				<span class="quote">&ldquo;</span>\r\n				<span></span>\r\n				<span class="muted">'+fn((e=t&&t.SystemText,e=null==e||e===!1?e:e.ThreadNoReplies,typeof e===dn?e.apply(a):e))+"</span>\r\n			</blockquote>\r\n		</div>\r\n		"}function K(a,n,e,l){var r,s,i,o="";return o+="\r\n			",s=t.equals||a&&a.equals,i={hash:{},inverse:pn.noop,fn:pn.programWithDepth(76,X,n,l),data:n},r=s?s.call(a,(r=a&&a.Entity,null==r||r===!1?r:r.PostCount),"0",i):un.call(a,"equals",(r=a&&a.Entity,null==r||r===!1?r:r.PostCount),"0",i),(r||0===r)&&(o+=r),o+="\r\n			<div ",s=t.equals||a&&a.equals,i={hash:{},inverse:pn.noop,fn:pn.program(48,H,n),data:n},r=s?s.call(a,(r=a&&a.Entity,null==r||r===!1?r:r.PostCount),"0",i):un.call(a,"equals",(r=a&&a.Entity,null==r||r===!1?r:r.PostCount),"0",i),(r||0===r)&&(o+=r),o+=">\r\n				",r=t["if"].call(a,(r=a&&a.Entity,r=null==r||r===!1?r:r.LatestPost,null==r||r===!1?r:r.IsAnonymous),{hash:{},inverse:pn.programWithDepth(83,an,n,e),fn:pn.programWithDepth(81,$,n,l),data:n}),(r||0===r)&&(o+=r),o+="\r\n			</div>\r\n			"}function X(a,n,e){var l,r,s,i="";return i+="\r\n			",r=t.equals||a&&a.equals,s={hash:{},inverse:pn.program(79,Q,n),fn:pn.programWithDepth(77,Z,n,e),data:n},l=r?r.call(a,(l=a&&a.Entity,l=null==l||l===!1?l:l.AddedBy,null==l||l===!1?l:l.AvatarId),"0",s):un.call(a,"equals",(l=a&&a.Entity,l=null==l||l===!1?l:l.AddedBy,null==l||l===!1?l:l.AvatarId),"0",s),(l||0===l)&&(i+=l),i+="\r\n			"}function Z(a,n,t){var e,l="";return l+='\r\n			<img class="ForumAvatar pull-left" src="/utilities/assets/handler/asset.ashx?asset='+fn((e=t&&t.DefaultAssetId,typeof e===dn?e.apply(a):e))+'&size=4" loading="lazy"/>\r\n			'}function Q(a){var n,t="";return t+='\r\n			<img class="ForumAvatar pull-left" src="'+fn((n=a&&a.Entity,n=null==n||n===!1?n:n.AddedBy,n=null==n||n===!1?n:n.AvatarPath,typeof n===dn?n.apply(a):n))+'" loading="lazy"/>\r\n			'}function $(a,n,t){var e,l="";return l+='\r\n				<img class="ForumAvatar pull-left" style="margin-right: 5px; margin-bottom: 2px;" src="/utilities/assets/handler/asset.ashx?asset='+fn((e=t&&t.DefaultAssetId,typeof e===dn?e.apply(a):e))+'&size=4" loading="lazy"/>\r\n				'}function an(a,n,e){var l,r,s,i="";return i+="\r\n				",r=t.equals||a&&a.equals,s={hash:{},inverse:pn.program(84,nn,n),fn:pn.programWithDepth(81,$,n,e),data:n},l=r?r.call(a,(l=a&&a.Entity,l=null==l||l===!1?l:l.LatestPost,l=null==l||l===!1?l:l.AddedBy,null==l||l===!1?l:l.AvatarId),"0",s):un.call(a,"equals",(l=a&&a.Entity,l=null==l||l===!1?l:l.LatestPost,l=null==l||l===!1?l:l.AddedBy,null==l||l===!1?l:l.AvatarId),"0",s),(l||0===l)&&(i+=l),i+="\r\n				"}function nn(a){var n,t="";return t+='\r\n				<img class="ForumAvatar pull-left" style="margin-right: 5px; margin-bottom: 2px;" src="'+fn((n=a&&a.Entity,n=null==n||n===!1?n:n.LatestPost,n=null==n||n===!1?n:n.AddedBy,n=null==n||n===!1?n:n.AvatarPath,typeof n===dn?n.apply(a):n))+'" loading="lazy"/>\r\n				'}function tn(a){var n;return fn((n=a&&a.Entity,n=null==n||n===!1?n:n.LatestPost,n=null==n||n===!1?n:n.AddedDate,typeof n===dn?n.apply(a):n))}function en(a,n){var e,l;return(l=t.ThreadStartDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.ThreadStartDate,e=typeof l===dn?l.call(a,{hash:{},data:n}):l),fn(e)}function ln(a,n){var e,l,r;return fn((l=t.date||a&&a.date,r={hash:{},data:n},l?l.call(a,(e=a&&a.Entity,e=null==e||e===!1?e:e.LatestPost,null==e||e===!1?e:e.AddedDate),r):un.call(a,"date",(e=a&&a.Entity,e=null==e||e===!1?e:e.LatestPost,null==e||e===!1?e:e.AddedDate),r)))}function rn(a,n){var e,l;return fn((e=t.date||a&&a.date,l={hash:{},data:n},e?e.call(a,a&&a.ThreadStartDate,l):un.call(a,"date",a&&a.ThreadStartDate,l)))}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var sn,on,cn,hn="",pn=this,un=t.helperMissing,dn="function",fn=this.escapeExpression;return hn+='<div class="pull-right widget-forum-tabs-order">\r\n	<ul class="nav nav-tabs">\r\n		<li ',on=t.equals||n&&n.equals,cn={hash:{},inverse:pn.noop,fn:pn.program(1,r,l),data:l},sn=on?on.call(n,(sn=n&&n.Order,null==sn||sn===!1?sn:sn.active),"latest",cn):un.call(n,"equals",(sn=n&&n.Order,null==sn||sn===!1?sn:sn.active),"latest",cn),(sn||0===sn)&&(hn+=sn),hn+=' data-order="latest" rel="tooltip" data-original-title="'+fn((sn=n&&n.SystemText,sn=null==sn||sn===!1?sn:sn.LatestTooltip,typeof sn===dn?sn.apply(n):sn))+'"><a href="#na">'+fn((sn=n&&n.SystemText,sn=null==sn||sn===!1?sn:sn.Latest,typeof sn===dn?sn.apply(n):sn))+"</a></li>\r\n		<li ",on=t.equals||n&&n.equals,cn={hash:{},inverse:pn.noop,fn:pn.program(1,r,l),data:l},sn=on?on.call(n,(sn=n&&n.Order,null==sn||sn===!1?sn:sn.active),"responses",cn):un.call(n,"equals",(sn=n&&n.Order,null==sn||sn===!1?sn:sn.active),"responses",cn),(sn||0===sn)&&(hn+=sn),hn+=' data-order="responses" rel="tooltip" data-original-title="'+fn((sn=n&&n.SystemText,sn=null==sn||sn===!1?sn:sn.ResponsesTooltip,typeof sn===dn?sn.apply(n):sn))+'"><a href="#na">'+fn((sn=n&&n.SystemText,sn=null==sn||sn===!1?sn:sn.Responses,typeof sn===dn?sn.apply(n):sn))+"</a></li>\r\n		<li ",on=t.equals||n&&n.equals,cn={hash:{},inverse:pn.noop,fn:pn.program(1,r,l),data:l},sn=on?on.call(n,(sn=n&&n.Order,null==sn||sn===!1?sn:sn.active),"likes",cn):un.call(n,"equals",(sn=n&&n.Order,null==sn||sn===!1?sn:sn.active),"likes",cn),(sn||0===sn)&&(hn+=sn),hn+=' data-order="likes" rel="tooltip" data-original-title="'+fn((sn=n&&n.SystemText,sn=null==sn||sn===!1?sn:sn.LikesTooltip,typeof sn===dn?sn.apply(n):sn))+'"><a href="#na">'+fn((sn=n&&n.SystemText,sn=null==sn||sn===!1?sn:sn.Likes,typeof sn===dn?sn.apply(n):sn))+"</a></li>\r\n		",sn=t["if"].call(n,(sn=n&&n.Order,null==sn||sn===!1?sn:sn.showVote),{hash:{},inverse:pn.noop,fn:pn.program(3,s,l),data:l}),(sn||0===sn)&&(hn+=sn),hn+='\r\n	</ul>\r\n</div>\r\n<div class="clearfix"></div>\r\n<p style="margin:0;">',(on=t.IntroArea)?sn=on.call(n,{hash:{},data:l}):(on=n&&n.IntroArea,sn=typeof on===dn?on.call(n,{hash:{},data:l}):on),hn+=fn(sn)+"</p>\r\n",sn=t["if"].call(n,(sn=n&&n.DisplayOptions,null==sn||sn===!1?sn:sn.ShowLinks),{hash:{},inverse:pn.noop,fn:pn.program(5,i,l),data:l}),(sn||0===sn)&&(hn+=sn),hn+='\r\n<div class="forum-widget-loader">\r\n	<div class="loading-spinner"></div>\r\n</div>\r\n<ul class="unstyled forum-widget-items-container striped pull-left" width="100%" id="forumWidgetData">\r\n',sn=t.each.call(n,n&&n.Items,{hash:{},inverse:pn.noop,fn:pn.programWithDepth(8,c,l,n),data:l}),(sn||0===sn)&&(hn+=sn),hn+="\r\n</ul>"}),n.widgets_freetext_footer=a(function(a,n,t,e,l){function r(a,n){var e,l,r,i="";return i+="\n	",l=t.loop||a&&a.loop,r={hash:{},inverse:f.noop,fn:f.program(2,s,n),data:n},e=l?l.call(a,a&&a.Data,r):m.call(a,"loop",a&&a.Data,r),(e||0===e)&&(i+=e),i+="\n"}function s(a,n){var e,l="";return l+="\n		",e=t["if"].call(a,a&&a.first,{hash:{},inverse:f.noop,fn:f.program(3,i,n),data:n}),(e||0===e)&&(l+=e),l+="\n	"}function i(a,n){var e,l="";return l+="\n			",e=t["if"].call(a,(e=a&&a.item,null==e||e===!1?e:e.Content),{hash:{},inverse:f.noop,fn:f.program(4,o,n),data:n}),(e||0===e)&&(l+=e),l+="\n		"}function o(a){var n;return n=a&&a.item,n=null==n||n===!1?n:n.Content,n=typeof n===d?n.apply(a):n,n||0===n?n:""}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var c,h,p,u="",d="function",f=this,m=t.helperMissing;return u+="",h=t.equals||n&&n.equals,p={hash:{},inverse:f.noop,fn:f.program(1,r,l),data:l},c=h?h.call(n,n&&n.Type,"Footer",p):m.call(n,"equals",n&&n.Type,"Footer",p),(c||0===c)&&(u+=c),u}),n.widgets_freetext_header=a(function(a,n,t,e,l){function r(a,n){var e,l,r,i="";return i+="\n	",l=t.loop||a&&a.loop,r={hash:{},inverse:f.noop,fn:f.program(2,s,n),data:n},e=l?l.call(a,a&&a.Data,r):m.call(a,"loop",a&&a.Data,r),(e||0===e)&&(i+=e),i+="\n"}function s(a,n){var e,l="";return l+="\n		",e=t["if"].call(a,a&&a.first,{hash:{},inverse:f.noop,fn:f.program(3,i,n),data:n}),(e||0===e)&&(l+=e),l+="\n	"}function i(a,n){var e,l="";return l+="\n			",e=t["if"].call(a,(e=a&&a.item,null==e||e===!1?e:e.Content),{hash:{},inverse:f.noop,fn:f.program(4,o,n),data:n}),(e||0===e)&&(l+=e),l+="\n		"}function o(a){var n;return n=a&&a.item,n=null==n||n===!1?n:n.Content,n=typeof n===d?n.apply(a):n,n||0===n?n:""}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var c,h,p,u="",d="function",f=this,m=t.helperMissing;return u+="",h=t.equals||n&&n.equals,p={hash:{},inverse:f.noop,fn:f.program(1,r,l),data:l},c=h?h.call(n,n&&n.Type,"Header",p):m.call(n,"equals",n&&n.Type,"Header",p),(c||0===c)&&(u+=c),u}),n.widgets_freetext_standard=a(function(a,n,t,e,l){function r(a,n){var e,l,r,o="";return o+='\r\n    <div class="row-fluid" ',e=t["if"].call(a,a&&a.IsScrollable,{hash:{},inverse:y.noop,fn:y.program(2,s,n),data:n}),(e||0===e)&&(o+=e),o+='>\r\n        <div class="span12">\r\n            <div class="tabbable">\r\n                <fieldset>\r\n                    ',l=t.loop||a&&a.loop,r={hash:{},inverse:y.noop,fn:y.program(4,i,n),data:n},e=l?l.call(a,a&&a.Data,r):g.call(a,"loop",a&&a.Data,r),(e||0===e)&&(o+=e),o+="\r\n                </fieldset>\r\n            </div>\r\n        </div>\r\n</div>\r\n"}function s(){return' style="height:inherit; overflow-y:auto"'}function i(a,n){var e,l="";return l+="\r\n                        ",e=t["if"].call(a,a&&a.first,{hash:{},inverse:y.noop,fn:y.program(5,o,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n                    "}function o(a,n){var e,l="";return l+="\r\n                            ",e=t["if"].call(a,(e=a&&a.item,null==e||e===!1?e:e.Title),{hash:{},inverse:y.noop,fn:y.program(6,c,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n                            ",e=t["if"].call(a,(e=a&&a.item,null==e||e===!1?e:e.Content),{hash:{},inverse:y.noop,fn:y.program(8,h,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n                        "}function c(a){var n,t="";return t+="<h4>"+v((n=a&&a.item,n=null==n||n===!1?n:n.Title,typeof n===m?n.apply(a):n))+"</h4>"}function h(a){var n;return n=a&&a.item,n=null==n||n===!1?n:n.Content,n=typeof n===m?n.apply(a):n,n||0===n?n:""}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var p,u,d,f="",m="function",v=this.escapeExpression,y=this,g=t.helperMissing;return f+="",u=t.equals||n&&n.equals,d={hash:{},inverse:y.noop,fn:y.program(1,r,l),data:l},p=u?u.call(n,n&&n.Type,"Standard",d):g.call(n,"equals",n&&n.Type,"Standard",d),(p||0===p)&&(f+=p),f}),n.widgets_freetext_tabbed=a(function(a,n,t,e,l){function r(a,n){var e,l,r,o="";return o+='\r\n<div class="row-fluid" ',e=t["if"].call(a,a&&a.IsScrollable,{hash:{},inverse:m.noop,fn:m.program(2,s,n),data:n}),(e||0===e)&&(o+=e),o+='>\r\n    <div class="span12">\r\n        <div class="tabbable">\r\n            <fieldset>\r\n                <ul class="nav nav-tabs" id="Ul1">\r\n                    ',l=t.loop||a&&a.loop,r={hash:{},inverse:m.noop,fn:m.programWithDepth(4,i,n,a),data:n},e=l?l.call(a,a&&a.Data,r):g.call(a,"loop",a&&a.Data,r),(e||0===e)&&(o+=e),o+='\r\n                </ul>\r\n                <div class="tab-content">\r\n                    ',l=t.loop||a&&a.loop,r={hash:{},inverse:m.noop,fn:m.programWithDepth(7,c,n,a),data:n},e=l?l.call(a,a&&a.Data,r):g.call(a,"loop",a&&a.Data,r),(e||0===e)&&(o+=e),o+="\r\n                </div>\r\n            </fieldset>\r\n        </div>\r\n    </div>\r\n</div>\r\n"}function s(){return' style="height:inherit; overflow-y:auto"'}function i(a,n,e){var l,r,s="";return s+="\r\n                        <li ",l=t["if"].call(a,a&&a.first,{hash:{},inverse:m.noop,fn:m.program(5,o,n),data:n}),(l||0===l)&&(s+=l),s+='><a href="#'+y((l=e&&e.WidgetInstanceId,typeof l===v?l.apply(a):l))+"-",(r=t.index)?l=r.call(a,{hash:{},data:n}):(r=a&&a.index,l=typeof r===v?r.call(a,{hash:{},data:n}):r),s+=y(l)+'" data-toggle="tab">'+y((l=a&&a.item,l=null==l||l===!1?l:l.Title,typeof l===v?l.apply(a):l))+"</a></li>\r\n                    "}function o(){return'class="active"'}function c(a,n,e){var l,r,s="";return s+='\r\n                        <div id="'+y((l=e&&e.WidgetInstanceId,typeof l===v?l.apply(a):l))+"-",(r=t.index)?l=r.call(a,{hash:{},data:n}):(r=a&&a.index,l=typeof r===v?r.call(a,{hash:{},data:n}):r),s+=y(l)+'" class="tab-pane',l=t["if"].call(a,a&&a.first,{hash:{},inverse:m.noop,fn:m.program(8,h,n),data:n}),(l||0===l)&&(s+=l),s+='">\r\n                            ',l=a&&a.item,l=null==l||l===!1?l:l.Content,l=typeof l===v?l.apply(a):l,(l||0===l)&&(s+=l),s+="\r\n                </div>\r\n                    "}function h(){return" active"}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var p,u,d,f="",m=this,v="function",y=this.escapeExpression,g=t.helperMissing;return f+="",u=t.equals||n&&n.equals,d={hash:{},inverse:m.noop,fn:m.program(1,r,l),data:l},p=u?u.call(n,n&&n.Type,"Tabbed",d):g.call(n,"equals",n&&n.Type,"Tabbed",d),(p||0===p)&&(f+=p),f}),n.widgets_freetext_tickatape=a(function(a,n,t,e,l){function r(){return' style="height:inherit; overflow-y:auto"'}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var s,i,o="",c=this,h="function",p=this.escapeExpression;return o+='<div class="row-fluid" ',s=t["if"].call(n,n&&n.IsScrollable,{hash:{},inverse:c.noop,fn:c.program(1,r,l),data:l}),(s||0===s)&&(o+=s),o+='>\r\n  <div class="span12">\r\n    <div id="FreeText_TickaTape',(i=t.WidgetInstanceId)?s=i.call(n,{hash:{},data:l}):(i=n&&n.WidgetInstanceId,s=typeof i===h?i.call(n,{hash:{},data:l}):i),o+=p(s)+'">\r\n      <span class="controls">\r\n        <a href="#na">\r\n			<span class="sr-only">pause</span>\r\n          <i class="" data-placement="bottom" rel="tooltip" data-original-title="pause"></i>\r\n        </a>\r\n        <a href="#na">\r\n			<span class="sr-only">previous</span>\r\n          <i class="icon-backward" data-placement="bottom" rel="tooltip" data-original-title="previous"></i>\r\n        </a>\r\n        <a href="#na">\r\n			<span class="sr-only">next</span>\r\n          <i class="icon-forward" data-placement="bottom" rel="tooltip" data-original-title="next"></i>\r\n        </a>\r\n      </span>\r\n      <span id="textlink"></span>\r\n    </div>\r\n  </div>\r\n</div>'}),n.widgets_freetext_tickatape_item=a(function(a,n,t,e,l){function r(a,n){var e,l,r="";return r+="<h4>",(l=t.Title)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Title,e=typeof l===c?l.call(a,{hash:{},data:n}):l),r+=h(e)+"</h4>"}function s(a,n){var e,l;return(l=t.Content)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Content,e=typeof l===c?l.call(a,{hash:{},data:n}):l),e||0===e?e:""}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var i,o="",c="function",h=this.escapeExpression,p=this;return o+='<div class="widget-ticker-item">\r\n   <div class="ticker-title"> ',i=t["if"].call(n,n&&n.Title,{hash:{},inverse:p.noop,fn:p.program(1,r,l),data:l}),(i||0===i)&&(o+=i),o+='</div>\r\n   <div class="ticker-content">',i=t["if"].call(n,n&&n.Content,{hash:{},inverse:p.noop,fn:p.program(3,s,l),data:l}),(i||0===i)&&(o+=i),o+="</div>\r\n</div>"}),n.widgets_gallery_layout2=a(function(a,n,t,e,l){function r(a,n){var e,l,r="";return r+='\r\n\r\n              <div class="centered layout2">\r\n                    <div style="vertical-align:middle; ">\r\n                    <div class="photocount"><h5>',(l=t.TotalCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.TotalCount,e=typeof l===h?l.call(a,{hash:{},data:n}):l),r+=p(e)+" "+p((e=a&&a.SystemText,e=null==e||e===!1?e:e.Photos,typeof e===h?e.apply(a):e))+'</h5></div>\r\n                    <a href="/Interact/Pages/Modules/Gallery/Gallery.aspx?sectionid=',(l=t.SectionId)?e=l.call(a,{hash:{},data:n}):(l=a&&a.SectionId,e=typeof l===h?l.call(a,{hash:{},data:n}):l),r+=p(e)+'"><img id="mainImage" width="100%" height="100%" src="',(l=t.FirstImageFullName)?e=l.call(a,{hash:{},data:n}):(l=a&&a.FirstImageFullName,e=typeof l===h?l.call(a,{hash:{},data:n}):l),r+=p(e)+'_x1" alt="',(l=t.FirstImageFullName)?e=l.call(a,{hash:{},data:n}):(l=a&&a.FirstImageFullName,e=typeof l===h?l.call(a,{hash:{},data:n}):l),r+=p(e)+' loading="lazy""></img></a>\r\n\r\n                    ',e=t["if"].call(a,a&&a.CommentsAllowed,{hash:{},inverse:u.noop,fn:u.program(2,s,n),data:n}),(e||0===e)&&(r+=e),r+='\r\n                    </div>\r\n                    <div class="widgettitle">\r\n                        <h4>',(l=t.GalleryTitle)?e=l.call(a,{hash:{},data:n}):(l=a&&a.GalleryTitle,e=typeof l===h?l.call(a,{hash:{},data:n}):l),(e||0===e)&&(r+=e),r+="</h4>\r\n                    </div>\r\n                </div>\r\n              "}function s(a,n){var e,l,r="";return r+='\r\n                    <div id="description" style="display: block; filter: alpha(opacity=0);opacity: 0;" class="hidden-phone hidden-tablet hidden-desktop">\r\n                                    <ul class="unstyled inline hidden-phone hidden-tablet">\r\n                                        <li class="pull-right">\r\n                                            <span class="icon is-normal"><i class="iconextra-like iconextra-white ii-like"></i></span><span>',(l=t.LikedCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.LikedCount,e=typeof l===h?l.call(a,{hash:{},data:n}):l),r+=p(e)+'</span>\r\n                                            <span class="icon is-normal"><i class="iconextra-comment iconextra-white ii-comments"></i></span><span>',(l=t.CommentCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.CommentCount,e=typeof l===h?l.call(a,{hash:{},data:n}):l),r+=p(e)+"</span>\r\n                                        </li>\r\n                                    </ul>                                            \r\n                        </div>\r\n                    "}function i(a){var n,t="";return t+='\r\n                <h5 style="margin-top: 40px;">'+p((n=a&&a.SystemText,n=null==n||n===!1?n:n.NoContent,typeof n===h?n.apply(a):n))+"</h5>\r\n              "}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var o,c="",h="function",p=this.escapeExpression,u=this;return c+='<section class="GalleryWidgetConfig Widget">\r\n    <div>\r\n        <div>\r\n            <div id="imagesContent">\r\n\r\n              ',o=t["if"].call(n,n&&n.HasPermission,{hash:{},inverse:u.program(4,i,l),fn:u.program(1,r,l),data:l}),(o||0===o)&&(c+=o),c+="\r\n\r\n            </div>\r\n            </div>\r\n            </div>\r\n</section>\r\n"}),n.widgets_gallery_standard=a(function(a,n,t,e,l){function r(a){var n,t="";return t+='\r\n     <p class="no_content muted">\r\n       '+u((n=a&&a.Data,n=null==n||n===!1?n:n.SystemText,n=null==n||n===!1?n:n.ThisGallery,typeof n===p?n.apply(a):n))+" <strong>"+u((n=a&&a.Data,n=null==n||n===!1?n:n.SystemText,n=null==n||n===!1?n:n.GalleryDoesNotContainPrefix,typeof n===p?n.apply(a):n))+"</strong> "+u((n=a&&a.Data,n=null==n||n===!1?n:n.SystemText,n=null==n||n===!1?n:n.GalleryDoesNotContainOr,typeof n===p?n.apply(a):n))+" <strong>"+u((n=a&&a.Data,n=null==n||n===!1?n:n.SystemText,n=null==n||n===!1?n:n.GalleryDoesNotContainSuffix,typeof n===p?n.apply(a):n))+"</strong> "+u((n=a&&a.Data,n=null==n||n===!1?n:n.SystemText,n=null==n||n===!1?n:n.GalleryDoesNotContainEnding,typeof n===p?n.apply(a):n))+"</p>\r\n      "}function s(a,n){var e,l="";return l+="\r\n        ",e=t["if"].call(a,(e=a&&a.Data,null==e||e===!1?e:e.HasPermission),{hash:{},inverse:d.program(6,o,n),fn:d.program(4,i,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n      "}function i(a,n){var e,l,r="";return r+='\r\n        <div class="centered layout1" style="background-image: url(\''+u((e=a&&a.Data,e=null==e||e===!1?e:e.FirstImageFullName,typeof e===p?e.apply(a):e))+"_",(l=t.ImageSize)?e=l.call(a,{hash:{},data:n}):(l=a&&a.ImageSize,e=typeof l===p?l.call(a,{hash:{},data:n}):l),r+=u(e)+'\');">\r\n          <div class="gallery-toggle-left">\r\n            <a id="prevImage" href="#">\r\n              &#8249;\r\n            </a>\r\n          </div>\r\n          <div class="gallery-toggle-right">\r\n            <a id="nextImage" href="#">\r\n              &#8250;\r\n            </a>\r\n          </div>\r\n\r\n          <!-- New Button -->\r\n          <div class="gallery-widget-play-pause" id="galleryButtons">\r\n            <div class="pull-right gallery-play">\r\n              <div class="btn-group">\r\n                <a class="btn btn-mini btn-success">\r\n                  <i class="icon-play icon-white"></i>'+u((e=a&&a.Data,e=null==e||e===!1?e:e.SystemText,e=null==e||e===!1?e:e.SlideShow,typeof e===p?e.apply(a):e))+'\r\n                </a>\r\n              </div>\r\n            </div>\r\n            <div class="pull-right gallery-stop">\r\n              <div class="btn-group">\r\n                <a class="btn btn-mini btn-success">\r\n                  <i class="icon-pause icon-white"></i>'+u((e=a&&a.Data,e=null==e||e===!1?e:e.SystemText,e=null==e||e===!1?e:e.SlideShow,typeof e===p?e.apply(a):e))+'\r\n                </a>\r\n              </div>\r\n            </div>\r\n          </div>\r\n\r\n          <!--<div class="gallery-widget-play-pause">\r\n            <li class="pull-right gallery-play">\r\n              <div class="btn-group">\r\n                <a class="btn btn-mini btn-success">\r\n                  <i class="icon-play icon-white"></i>Slideshow\r\n                </a>\r\n              </div>\r\n            </li>\r\n            <li class="pull-right gallery-stop">\r\n              <div class="btn-group">\r\n                <a class="btn btn-mini btn-success">\r\n                  <i class="icon-pause icon-white"></i>Slideshow\r\n                </a>\r\n              </div>\r\n            </li>\r\n          </div>-->\r\n          <!-- END -->\r\n          <a id="imgHref" class="IMG_Opacity" href="/Interact/Pages/Modules/Gallery/Gallery.aspx?sectionid='+u((e=a&&a.Data,e=null==e||e===!1?e:e.SectionId,typeof e===p?e.apply(a):e))+"#imageid="+u((e=a&&a.Data,e=null==e||e===!1?e:e.ImgId,typeof e===p?e.apply(a):e))+'" shortlink ="/Interact/Pages/Modules/Gallery/Gallery.aspx?sectionid='+u((e=a&&a.Data,e=null==e||e===!1?e:e.SectionId,typeof e===p?e.apply(a):e))+'#imageid=">\r\n             <img id="mainImage" width="100%" height="100%" src="'+u((e=a&&a.Data,e=null==e||e===!1?e:e.FirstImageFullName,typeof e===p?e.apply(a):e))+"_",(l=t.ImageSize)?e=l.call(a,{hash:{},data:n}):(l=a&&a.ImageSize,e=typeof l===p?l.call(a,{hash:{},data:n}):l),r+=u(e)+'" idimg='+u((e=a&&a.Data,e=null==e||e===!1?e:e.ImgId,typeof e===p?e.apply(a):e))+' alt="'+u((e=a&&a.Data,e=null==e||e===!1?e:e.FirstImageTitle,typeof e===p?e.apply(a):e))+'" loading="lazy"/>\r\n          </a>\r\n          <div id="description" style="display: block; filter: alpha(opacity=0);opacity: 0;">\r\n            <ul class="unstyled inline hidden-phone hidden-tablet">\r\n              <li class="desc gallery_image_MW">\r\n                <span id="gallery_image_title">'+u((e=a&&a.Data,e=null==e||e===!1?e:e.FirstImageTitle,typeof e===p?e.apply(a):e))+'</span>\r\n              </li>\r\n              <li class="social">\r\n                <span class="icon is-normal"><i class="iconextra-like iconextra-white ii-like"></i></span><span id="gallery_image_liked">'+u((e=a&&a.Data,e=null==e||e===!1?e:e.LikedCount,typeof e===p?e.apply(a):e))+'</span>\r\n                <span class="icon is-normal"><i class="iconextra-comment iconextra-white ii-comments"></i></span><span id="gallery_image_comments">'+u((e=a&&a.Data,e=null==e||e===!1?e:e.CommentCount,typeof e===p?e.apply(a):e))+"</span>\r\n              </li>\r\n            </ul>\r\n          </div>\r\n        </div>\r\n        "
}function o(a){var n,t="";return t+='\r\n          <p class="no_content muted"><strong>'+u((n=a&&a.Data,n=null==n||n===!1?n:n.SystemText,n=null==n||n===!1?n:n.NoAccessPrefix,typeof n===p?n.apply(a):n))+"</strong> "+u((n=a&&a.Data,n=null==n||n===!1?n:n.SystemText,n=null==n||n===!1?n:n.NoAccessSuffix,typeof n===p?n.apply(a):n))+"\r\n          </p>\r\n        "}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var c,h="",p="function",u=this.escapeExpression,d=this;return h+='<section class="GalleryWidgetConfig Widget">\r\n\r\n    <div id="imagesContent">\r\n      ',c=t["if"].call(n,(c=n&&n.Data,null==c||c===!1?c:c.NotActive),{hash:{},inverse:d.program(3,s,l),fn:d.program(1,r,l),data:l}),(c||0===c)&&(h+=c),h+="\r\n </div>\r\n</section>\r\n"}),n.widgets_googlecalendar_standard=a(function(a,n,t,e,l){this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var r,s,i="",o="function",c=this.escapeExpression;return i+='<div class="row-fluid">\n	<div class="span12" id="body',(s=t.widgetinstanceid)?r=s.call(n,{hash:{},data:l}):(s=n&&n.widgetinstanceid,r=typeof s===o?s.call(n,{hash:{},data:l}):s),i+=c(r)+'">\n	</div>\n</div>\n'}),n.widgets_googletasks_standard=a(function(a,n,t,e,l){this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var r,s,i="",o="function",c=this.escapeExpression;return i+='<div class="row-fluid">\n	<div class="span12" id="body',(s=t.widgetinstanceid)?r=s.call(n,{hash:{},data:l}):(s=n&&n.widgetinstanceid,r=typeof s===o?s.call(n,{hash:{},data:l}):s),i+=c(r)+'">\n	</div>\n</div>\n'}),n.widgets_iframe_standard=a(function(a,n,t,e,l){function r(a,n){var e,l="";return l+="\r\n	",e=t["if"].call(a,a&&a.Width,{hash:{},inverse:d.program(5,o,n),fn:d.program(2,s,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n"}function s(a,n){var e,l,r="";return r+='\r\n		<iframe src="',(l=t.Source)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Source,e=typeof l===p?l.call(a,{hash:{},data:n}):l),r+=u(e)+'" height="',(l=t.Height)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Height,e=typeof l===p?l.call(a,{hash:{},data:n}):l),r+=u(e)+'" width="',(l=t.Width)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Width,e=typeof l===p?l.call(a,{hash:{},data:n}):l),r+=u(e)+'" id="ifrExternalWebPage" frameborder="0" scrolling="auto" ',e=t["if"].call(a,a&&a.HideUntilLoaded,{hash:{},inverse:d.noop,fn:d.program(3,i,n),data:n}),(e||0===e)&&(r+=e),r+="></iframe>\r\n	"}function i(){return'style="display: none;" onload="this.style.display = \'block\';"'}function o(a,n){var e,l,r="";return r+='\r\n		<iframe src="',(l=t.Source)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Source,e=typeof l===p?l.call(a,{hash:{},data:n}):l),r+=u(e)+'" height="100%" width="100%" id="ifrExternalWebPage" frameborder="0" scrolling="auto" ',e=t["if"].call(a,a&&a.HideUntilLoaded,{hash:{},inverse:d.noop,fn:d.program(3,i,n),data:n}),(e||0===e)&&(r+=e),r+="></iframe>\r\n	"}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var c,h="",p="function",u=this.escapeExpression,d=this;return h+="",c=t.each.call(n,n&&n.Items,{hash:{},inverse:d.noop,fn:d.program(1,r,l),data:l}),(c||0===c)&&(h+=c),h+=" "}),n.widgets_influencescore_inner_data=a(function(a,n,t,e,l){function r(a,n){var e,l,r="";return r+='\r\n    <li class="person ',e=t["if"].call(a,a&&a.PersonLoggedIn,{hash:{},inverse:c.noop,fn:c.program(2,s,n),data:n}),(e||0===e)&&(r+=e),r+='">\r\n        <div class="StaffThumb pull-left">\r\n            <img src="',(l=t.StaffThumbnail)?e=l.call(a,{hash:{},data:n}):(l=a&&a.StaffThumbnail,e=typeof l===h?l.call(a,{hash:{},data:n}):l),r+=p(e)+'" loading="lazy"/>\r\n        </div>\r\n        <div class="expert-details pull-left">\r\n            <ul class="innerBox unstyled">\r\n                <li><a data-personid="',(l=t.PersonID)?e=l.call(a,{hash:{},data:n}):(l=a&&a.PersonID,e=typeof l===h?l.call(a,{hash:{},data:n}):l),r+=p(e)+'" href="/Interact/Pages/Modules/Directory/Entry.aspx?person=',(l=t.PersonID)?e=l.call(a,{hash:{},data:n}):(l=a&&a.PersonID,e=typeof l===h?l.call(a,{hash:{},data:n}):l),r+=p(e)+'">',(l=t.Fullname)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Fullname,e=typeof l===h?l.call(a,{hash:{},data:n}):l),r+=p(e)+"</a></li>\r\n                <li>",(l=t.Department)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Department,e=typeof l===h?l.call(a,{hash:{},data:n}):l),r+=p(e)+"</li>\r\n                <li>",(l=t.Location)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Location,e=typeof l===h?l.call(a,{hash:{},data:n}):l),r+=p(e)+"</li>\r\n                <li>",(l=t.Company)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Company,e=typeof l===h?l.call(a,{hash:{},data:n}):l),r+=p(e)+"</li>\r\n                <li>",(l=t.JobTitle)?e=l.call(a,{hash:{},data:n}):(l=a&&a.JobTitle,e=typeof l===h?l.call(a,{hash:{},data:n}):l),r+=p(e)+'</li>\r\n            </ul>\r\n        </div>\r\n        <div class="container-number pull-right">\r\n            <span class="label">',(l=t.InfluencerScore)?e=l.call(a,{hash:{},data:n}):(l=a&&a.InfluencerScore,e=typeof l===h?l.call(a,{hash:{},data:n}):l),r+=p(e)+"</span>\r\n        </div>\r\n    </li>\r\n    "}function s(){return"ActivePerson"}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var i,o="",c=this,h="function",p=this.escapeExpression;return o+='<ul class="unstyled">\r\n    ',i=t.each.call(n,n&&n.people,{hash:{},inverse:c.noop,fn:c.program(1,r,l),data:l}),(i||0===i)&&(o+=i),o+="\r\n</ul>"}),n.widgets_influencescore_standard=a(function(a,n,t,e,l){function r(a,n){var e,l,r="";return r+='\r\n      <li class="person ',e=t["if"].call(a,a&&a.PersonLoggedIn,{hash:{},inverse:d.noop,fn:d.program(2,s,n),data:n}),(e||0===e)&&(r+=e),r+='">\r\n        <div class="StaffThumb pull-left">\r\n          <img src="',(l=t.StaffThumbnail)?e=l.call(a,{hash:{},data:n}):(l=a&&a.StaffThumbnail,e=typeof l===p?l.call(a,{hash:{},data:n}):l),r+=u(e)+'" alt="',(l=t.Fullname)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Fullname,e=typeof l===p?l.call(a,{hash:{},data:n}):l),r+=u(e)+' avatar" loading="lazy"/>\r\n        </div>\r\n        <div class="expert-details pull-left">\r\n          <ul class="innerBox unstyled">\r\n            <li>\r\n              <a href="/Interact/Pages/Modules/Directory/Entry.aspx?person=',(l=t.PersonID)?e=l.call(a,{hash:{},data:n}):(l=a&&a.PersonID,e=typeof l===p?l.call(a,{hash:{},data:n}):l),r+=u(e)+'" ',e=t["if"].call(a,a&&a.AllowHovercards,{hash:{},inverse:d.noop,fn:d.program(4,i,n),data:n}),(e||0===e)&&(r+=e),r+=">",(l=t.Fullname)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Fullname,e=typeof l===p?l.call(a,{hash:{},data:n}):l),r+=u(e)+"</a>\r\n            </li>\r\n            <li>",(l=t.JobTitle)?e=l.call(a,{hash:{},data:n}):(l=a&&a.JobTitle,e=typeof l===p?l.call(a,{hash:{},data:n}):l),r+=u(e)+'</li>\r\n          </ul>\r\n        </div>\r\n        <div class="container-number pull-right">\r\n          <span class="label">',(l=t.InfluencerScore)?e=l.call(a,{hash:{},data:n}):(l=a&&a.InfluencerScore,e=typeof l===p?l.call(a,{hash:{},data:n}):l),r+=u(e)+"</span>\r\n        </div>\r\n      </li>\r\n      "}function s(){return"ActivePerson"}function i(a,n){var e,l,r="";return r+=' data-personid="',(l=t.PersonID)?e=l.call(a,{hash:{},data:n}):(l=a&&a.PersonID,e=typeof l===p?l.call(a,{hash:{},data:n}):l),r+=u(e)+'" '}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var o,c,h="",p="function",u=this.escapeExpression,d=this;return h+='<div class="influence-border"></div>\r\n\r\n<div id="influence">\r\n  <a href="#na" class="btn btn-link" data-toggle="collapse" data-target="#collsearch_',(c=t.WidgetInstanceID)?o=c.call(n,{hash:{},data:l}):(c=n&&n.WidgetInstanceID,o=typeof c===p?c.call(n,{hash:{},data:l}):c),h+=u(o)+'" aria-label="search">\r\n    <i class="icon-search"></i>\r\n  </a>\r\n  <div class="collapse" id="collsearch_',(c=t.WidgetInstanceID)?o=c.call(n,{hash:{},data:l}):(c=n&&n.WidgetInstanceID,o=typeof c===p?c.call(n,{hash:{},data:l}):c),h+=u(o)+'">\r\n    <div class="well well-small">\r\n      <div class="row-fluid">\r\n\r\n        <div class="span6">\r\n          <select id="SearchOptions" class="pull-left" aria-label="filter">\r\n            <option id="0">'+u((o=n&&n.Data,o=null==o||o===!1?o:o.SystemText,o=null==o||o===!1?o:o.Everyone,typeof o===p?o.apply(n):o))+'</option>\r\n            <option value="D~47885">'+u((o=n&&n.Data,o=null==o||o===!1?o:o.SystemText,o=null==o||o===!1?o:o.MyDepartment,typeof o===p?o.apply(n):o))+'</option>\r\n            <option value="C~141">'+u((o=n&&n.Data,o=null==o||o===!1?o:o.SystemText,o=null==o||o===!1?o:o.MyCompany,typeof o===p?o.apply(n):o))+'</option>\r\n            <option value="F~-1">'+u((o=n&&n.Data,o=null==o||o===!1?o:o.SystemText,o=null==o||o===!1?o:o.MyNetwork,typeof o===p?o.apply(n):o))+'</option>\r\n            <option value="L~47289">'+u((o=n&&n.Data,o=null==o||o===!1?o:o.SystemText,o=null==o||o===!1?o:o.MyLocation,typeof o===p?o.apply(n):o))+'</option>\r\n          </select>\r\n        </div>\r\n        <div class="span6">\r\n          <div class="input-append pull-right">\r\n            <input id="txtSearch" type="text" placeholder="'+u((o=n&&n.Data,o=null==o||o===!1?o:o.SystemText,o=null==o||o===!1?o:o.Search,typeof o===p?o.apply(n):o))+'" autocomplete="off" aria-label="search" />\r\n            <a href="#" class="btn" id="btnInfluencerScoreSearch">'+u((o=n&&n.Data,o=null==o||o===!1?o:o.SystemText,o=null==o||o===!1?o:o.Find,typeof o===p?o.apply(n):o))+'</a>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n  <div id="divScoreReturn" class="WidgetContent pull-left">\r\n    <ul class="unstyled">\r\n      ',o=t.each.call(n,(o=n&&n.Data,null==o||o===!1?o:o.people),{hash:{},inverse:d.noop,fn:d.program(1,r,l),data:l}),(o||0===o)&&(h+=o),h+='\r\n    </ul>\r\n  </div>\r\n  <div class="container-paging pull-left">\r\n    <div class="row-fluid">\r\n      <div class="span6">\r\n        <div class="paging-number pull-left muted">\r\n          '+u((o=n&&n.Data,o=null==o||o===!1?o:o.SystemText,o=null==o||o===!1?o:o.Page,typeof o===p?o.apply(n):o))+' <span id="CurrentPageIndex">'+u((o=n&&n.Data,o=null==o||o===!1?o:o.currentPageIndex,typeof o===p?o.apply(n):o))+"</span> "+u((o=n&&n.Data,o=null==o||o===!1?o:o.SystemText,o=null==o||o===!1?o:o.Of,typeof o===p?o.apply(n):o))+' <span id="PageCount">'+u((o=n&&n.Data,o=null==o||o===!1?o:o.pageCount,typeof o===p?o.apply(n):o))+'</span>\r\n        </div>\r\n      </div>\r\n      <div class="span6">\r\n        <ul class="unstyled inline pull-right">\r\n          <li>\r\n            <a id="GoToTop" data-placement="bottom" rel="tooltip" data-original-title="'+u((o=n&&n.Data,o=null==o||o===!1?o:o.SystemText,o=null==o||o===!1?o:o.DisplayTop,typeof o===p?o.apply(n):o))+'">\r\n              <i class="icon-circle-arrow-up"></i>\r\n            </a>\r\n          </li>\r\n          <li>\r\n            <a id="hypPrev" data-placement="bottom" rel="tooltip" data-original-title="'+u((o=n&&n.Data,o=null==o||o===!1?o:o.SystemText,o=null==o||o===!1?o:o.PreviousPage,typeof o===p?o.apply(n):o))+'">\r\n              <i class="icon-circle-arrow-left"></i>\r\n            </a>\r\n          </li>\r\n          <li>\r\n            <a id="hypNext" data-placement="bottom" rel="tooltip" data-original-title="'+u((o=n&&n.Data,o=null==o||o===!1?o:o.SystemText,o=null==o||o===!1?o:o.NextPage,typeof o===p?o.apply(n):o))+'">\r\n              <i class="icon-circle-arrow-right"></i>\r\n            </a>\r\n          </li>\r\n          <li>\r\n            <a id="GoToBottom" data-placement="bottom" rel="tooltip" data-original-title="'+u((o=n&&n.Data,o=null==o||o===!1?o:o.SystemText,o=null==o||o===!1?o:o.DisplayBottom,typeof o===p?o.apply(n):o))+'">\r\n              <i class="icon-circle-arrow-down"></i>\r\n            </a>\r\n          </li>\r\n        </ul>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>'}),n.widgets_menus_inner_addeditlink=a(function(a,n,t,e,l){function r(a,n){var e,l;return(l=t.LinkTitle)?e=l.call(a,{hash:{},data:n}):(l=a&&a.LinkTitle,e=typeof l===p?l.call(a,{hash:{},data:n}):l),u(e)}function s(){return'<span class="muted">New Menu Item</span>'}function i(){return" selected "}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var o,c,h="",p="function",u=this.escapeExpression,d=this;return h+='<ul class="unstyled link-params"> \r\n	<li class="well well-small">\r\n		<ul class="inline unstyled list-unstyled list-inline" style="margin:0;display:flex;">\r\n			<li>\r\n				<span>',o=t["if"].call(n,n&&n.LinkTitle,{hash:{},inverse:d.program(3,s,l),fn:d.program(1,r,l),data:l}),(o||0===o)&&(h+=o),h+='</span>\r\n			</li>\r\n			<li style="margin-left:auto;">\r\n				<ul class="inline unstyled list-unstyled list-inline">\r\n					<li>\r\n						<a href="#" data-toggle="collapse" data-target="#item_',(c=t.UniqueId)?o=c.call(n,{hash:{},data:l}):(c=n&&n.UniqueId,o=typeof c===p?c.call(n,{hash:{},data:l}):c),h+=u(o)+'">edit</a>\r\n					</li>\r\n					<li>\r\n						<span class="draggerHandle" style="cursor: move;">\r\n							<img src="/Content/default/images/drag-icon.png" alt="'+u((o=n&&n.SystemText,o=null==o||o===!1?o:o.reorderIcon,typeof o===p?o.apply(n):o))+'" loading="lazy">\r\n							<span class="sr-only">'+u((o=n&&n.SystemText,o=null==o||o===!1?o:o.reorderIcon,typeof o===p?o.apply(n):o))+'</span>\r\n						</span>\r\n					</li>\r\n					<li>\r\n						<a href="#" onclick="RemoveChanges(this)" class="muted">\r\n							<span class="icon is-normal">\r\n								<i class="fa fa-trash"></i>\r\n							</span> \r\n							<span class="sr-only">'+u((o=n&&n.SystemText,o=null==o||o===!1?o:o.removeButton,typeof o===p?o.apply(n):o))+'</span>\r\n						</a>\r\n					</li>\r\n				</ul>\r\n			</li>\r\n		</ul>\r\n		<div id="item_',(c=t.UniqueId)?o=c.call(n,{hash:{},data:l}):(c=n&&n.UniqueId,o=typeof c===p?c.call(n,{hash:{},data:l}):c),h+=u(o)+'" class="collapse">\r\n			<div style="padding: 1rem;">\r\n				<label>\r\n					<span>'+u((o=n&&n.SystemText,o=null==o||o===!1?o:o.linkText,typeof o===p?o.apply(n):o))+'</span> \r\n					<a class="whatsthis" href="#" data-placement="right" rel="tooltip" data-target="#" role="button" data-original-title="'+u((o=n&&n.SystemText,o=null==o||o===!1?o:o.linkTextHelp,typeof o===p?o.apply(n):o))+"\">[?]</a>\r\n				</label>\r\n				<input type='text' class='customMenu-link-title' value='",(c=t.LinkTitle)?o=c.call(n,{hash:{},data:l}):(c=n&&n.LinkTitle,o=typeof c===p?c.call(n,{hash:{},data:l}):c),h+=u(o)+"'/>\r\n				<div class='link-title-validation'></div>\r\n				<label>\r\n					<span>"+u((o=n&&n.SystemText,o=null==o||o===!1?o:o.link,typeof o===p?o.apply(n):o))+'</span> <a class="whatsthis" href="#" data-placement="right" rel="tooltip" data-target="#" role="button" data-original-title="'+u((o=n&&n.SystemText,o=null==o||o===!1?o:o.linkHelp,typeof o===p?o.apply(n):o))+"\">[?]</a>\r\n				</label>\r\n				<input type='text' class='customMenu-link-value' value='",(c=t.LinkValue)?o=c.call(n,{hash:{},data:l}):(c=n&&n.LinkValue,o=typeof c===p?c.call(n,{hash:{},data:l}):c),h+=u(o)+"'/>\r\n				<div class='link-value-validation'></div>\r\n				<label>\r\n					<span>"+u((o=n&&n.SystemText,o=null==o||o===!1?o:o.openIn,typeof o===p?o.apply(n):o))+'</span> <a class="whatsthis" href="#" data-placement="right" rel="tooltip" data-target="#" role="button" data-original-title="'+u((o=n&&n.SystemText,o=null==o||o===!1?o:o.openInHelp,typeof o===p?o.apply(n):o))+'">[?]</a>\r\n				</label>\r\n				<select id="OpenIn" class=\'customMenu-link-openIn\'>\r\n					<option value="SameWindow" ',o=t["if"].call(n,n&&n.IsSameWindow,{hash:{},inverse:d.noop,fn:d.program(5,i,l),data:l}),(o||0===o)&&(h+=o),h+=">"+u((o=n&&n.SystemText,o=null==o||o===!1?o:o.openInSameWindow,typeof o===p?o.apply(n):o))+'</option>\r\n					<option value="NewWindow" ',o=t.unless.call(n,n&&n.IsSameWindow,{hash:{},inverse:d.noop,fn:d.program(5,i,l),data:l}),(o||0===o)&&(h+=o),h+=">"+u((o=n&&n.SystemText,o=null==o||o===!1?o:o.openInNewWindow,typeof o===p?o.apply(n):o))+"</option>\r\n				</select>\r\n				<label>\r\n					<span>"+u((o=n&&n.SystemText,o=null==o||o===!1?o:o.summary,typeof o===p?o.apply(n):o))+'</span><a class="whatsthis" href="#" data-placement="right" rel="tooltip" data-target="#" role="button" data-original-title="'+u((o=n&&n.SystemText,o=null==o||o===!1?o:o.summaryHelp,typeof o===p?o.apply(n):o))+'">[?]</a>\r\n				</label>\r\n				<textarea id="WidgetMenuSummaryText" class="customMenu-link-summary ckeditor-loadonly"  rows="3">',(c=t.LinkSummary)?o=c.call(n,{hash:{},data:l}):(c=n&&n.LinkSummary,o=typeof c===p?c.call(n,{hash:{},data:l}):c),h+=u(o)+"</textarea>\r\n			</div>\r\n		</div>\r\n	</li>\r\n</ul>"}),n.widgets_menus_standard=a(function(a,n,t,e,l){function r(a){var n,t="";return t+="\r\n            <h3>"+u((n=a&&a.SystemText,n=null==n||n===!1?n:n.NoItems,typeof n===p?n.apply(a):n))+"</h3>\r\n        "}function s(a,n){var e,l="";return l+='\r\n        <ul class="unstyled nav nav-list">\r\n        ',e=t.each.call(a,a&&a.Items,{hash:{},inverse:d.noop,fn:d.program(4,i,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n        </ul>\r\n        "}function i(a,n){var e,l,r,s="";return s+='\r\n            <li>\r\n                <a class="custom-menu-link-button"\r\n                   href="',l=t.addHttpPrefix||a&&a.addHttpPrefix,r={hash:{},inverse:d.noop,fn:d.program(5,o,n),data:n},e=l?l.call(a,a&&a.LinkValue,r):f.call(a,"addHttpPrefix",a&&a.LinkValue,r),(e||0===e)&&(s+=e),s+='"\r\n                   link="',(l=t.LinkValue)?e=l.call(a,{hash:{},data:n}):(l=a&&a.LinkValue,e=typeof l===p?l.call(a,{hash:{},data:n}):l),s+=u(e)+'"\r\n                   onclick="FollowSpecifiedLink(this); return false"\r\n                   openIn="',(l=t.OpenIn)?e=l.call(a,{hash:{},data:n}):(l=a&&a.OpenIn,e=typeof l===p?l.call(a,{hash:{},data:n}):l),s+=u(e)+'"\r\n                   style=\'word-wrap:break-word;\' rel="tooltip" data-placement="bottom"\r\n                   title="',(l=t.LinkSummary)?e=l.call(a,{hash:{},data:n}):(l=a&&a.LinkSummary,e=typeof l===p?l.call(a,{hash:{},data:n}):l),s+=u(e)+'">\r\n                    ',(l=t.LinkTitle)?e=l.call(a,{hash:{},data:n}):(l=a&&a.LinkTitle,e=typeof l===p?l.call(a,{hash:{},data:n}):l),s+=u(e)+"\r\n                </a>\r\n                ",(l=t.LinkSummary)?e=l.call(a,{hash:{},data:n}):(l=a&&a.LinkSummary,e=typeof l===p?l.call(a,{hash:{},data:n}):l),(e||0===e)&&(s+=e),s+="\r\n            </li>\r\n        "}function o(){var a="";return a}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var c,h="",p="function",u=this.escapeExpression,d=this,f=t.helperMissing;return h+='<section class="Widget">\r\n    <div class="well well-small">\r\n        ',c=t["if"].call(n,n&&n.IsEmpty,{hash:{},inverse:d.program(3,s,l),fn:d.program(1,r,l),data:l}),(c||0===c)&&(h+=c),h+="\r\n    </div>\r\n</section>"}),n.widgets_mobile=a(function(a,n,t,e,l){this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var r,s,i="",o="function",c=this.escapeExpression;return i+='<li class="normal '+c((r=n&&n.widget,r=null==r||r===!1?r:r.ClassName,typeof r===o?r.apply(n):r))+'"\n	data-widgetinstanceid="'+c((r=n&&n.widget,r=null==r||r===!1?r:r.ID,typeof r===o?r.apply(n):r))+'"\n	data-col="'+c((r=n&&n.widget,r=null==r||r===!1?r:r.Col,typeof r===o?r.apply(n):r))+'"\n	data-row="'+c((r=n&&n.widget,r=null==r||r===!1?r:r.Row,typeof r===o?r.apply(n):r))+'"\n	data-sizex="'+c((r=n&&n.widget,r=null==r||r===!1?r:r.SizeX,typeof r===o?r.apply(n):r))+'"\n	data-sizey="'+c((r=n&&n.widget,r=null==r||r===!1?r:r.SizeY,typeof r===o?r.apply(n):r))+'"\n	data-widget="',(s=t.json)?r=s.call(n,{hash:{},data:l}):(s=n&&n.json,r=typeof s===o?s.call(n,{hash:{},data:l}):s),i+=c(r)+'"\n	data-widgettypeid="2">\n	<div class="pull-left">\n		<div>\n			<strong>Type: </strong><span class="mobile-widget-type">'+c((r=n&&n.widget,r=null==r||r===!1?r:r.BaseWidgetTitle,typeof r===o?r.apply(n):r))+'</span>\n		</div>\n		<div>\n			<strong>Layout: </strong><span class="mobile-widget-layout">'+c((r=n&&n.widget,r=null==r||r===!1?r:r.LayoutSubTitle,typeof r===o?r.apply(n):r))+'</span>\n		</div>\n		<div>\n			<strong>Title: </strong><span class="mobile-widget-title">'+c((r=n&&n.widget,r=null==r||r===!1?r:r.Title,typeof r===o?r.apply(n):r))+'</span>\n		</div>\n	</div>\n	<div class="widget-buttons pull-right">\n		<div>\n			<button class="btn btn-mini btn-default widget-up-btn">\n				<span class="icon">\n					<i class="icon-chevron-up ii-chevron-up"></i>\n				</span>\n			</button>\n			<button class="btn btn-mini btn-default widget-down-btn">\n				<span class="icon">\n					<i class="icon-chevron-down ii-chevron-down"></i>\n				</span>\n			</button>\n		</div>\n		<div>\n			<button class="btn btn-mini btn-primary is-solid widget-config-btn">\n				<span class="icon">\n					<i class="icon-cog icon-white ii-settings"></i>\n				</span>\n			</button>\n			<button class="btn btn-mini btn-danger is-solid widget-delete-btn">\n				<span class="icon">\n					<i class="icon-trash icon-white ii-trash-full"></i>\n				</span>\n			</button>\n		</div>\n	</div>\n	<div class="clearfix"></div>\n</li>\n\n\n'}),n.widgets_office365calendar_standard=a(function(a,n,t,e,l){this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var r,s,i="",o="function",c=this.escapeExpression;return i+='<div class="row-fluid">\n  <div class="span12" id="body',(s=t.widgetinstanceid)?r=s.call(n,{hash:{},data:l}):(s=n&&n.widgetinstanceid,r=typeof s===o?s.call(n,{hash:{},data:l}):s),i+=c(r)+'">\n  </div>\n</div>\n'}),n.widgets_office365teams_standard=a(function(a,n,t,e,l){this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var r,s,i="",o="function",c=this.escapeExpression;return i+='<div class="row-fluid">\n	<div class="span12" id="body',(s=t.widgetinstanceid)?r=s.call(n,{hash:{},data:l}):(s=n&&n.widgetinstanceid,r=typeof s===o?s.call(n,{hash:{},data:l}):s),i+=c(r)+'">\n	</div>\n</div>'}),n.widgets_outlooktasks_standard=a(function(a,n,t,e,l){this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var r,s,i="",o="function",c=this.escapeExpression;return i+='<div class="row-fluid">\n	<div class="span12" id="body',(s=t.widgetinstanceid)?r=s.call(n,{hash:{},data:l}):(s=n&&n.widgetinstanceid,r=typeof s===o?s.call(n,{hash:{},data:l}):s),i+=c(r)+'">\n	</div>\n</div>'}),n.widgets_people_information_standard=a(function(a,n,t,e,l){function r(a,n){var e,l="";return l+="\r\n						",e=t["if"].call(a,(e=a&&a.Settings,e=null==e||e===!1?e:e.DisplayOptions,null==e||e===!1?e:e.Title),{hash:{},inverse:ht.program(5,o,n),fn:ht.program(2,s,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n						"}function s(a,n){var e,l="";return l+="\r\n						",e=t["if"].call(a,a&&a.Title,{hash:{},inverse:ht.noop,fn:ht.program(3,i,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n						"}function i(a,n){var e,l,r="";return r+='\r\n						<a href="/Interact/Pages/Modules/Directory/Entry.aspx?person=',(l=t.Id)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Id,e=typeof l===ot?l.call(a,{hash:{},data:n}):l),r+=ct(e)+'">',(l=t.Title)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Title,e=typeof l===ot?l.call(a,{hash:{},data:n}):l),r+=ct(e)+" ",(l=t.FullName)?e=l.call(a,{hash:{},data:n}):(l=a&&a.FullName,e=typeof l===ot?l.call(a,{hash:{},data:n}):l),r+=ct(e)+" </a>\r\n						"}function o(a,n){var e,l,r="";return r+='\r\n						<a href="/Interact/Pages/Modules/Directory/Entry.aspx?person=',(l=t.Id)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Id,e=typeof l===ot?l.call(a,{hash:{},data:n}):l),r+=ct(e)+'">',(l=t.FullName)?e=l.call(a,{hash:{},data:n}):(l=a&&a.FullName,e=typeof l===ot?l.call(a,{hash:{},data:n}):l),r+=ct(e)+" </a>\r\n						"}function c(a,n){var e,l="";return l+="\r\n						",e=t["if"].call(a,(e=a&&a.Settings,e=null==e||e===!1?e:e.DisplayOptions,null==e||e===!1?e:e.Initials),{hash:{},inverse:ht.noop,fn:ht.program(8,h,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n						"}function h(a,n){var e,l="";return l+="\r\n						",e=t["if"].call(a,a&&a.Initials,{hash:{},inverse:ht.noop,fn:ht.program(9,p,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n						"}function p(a,n){var e,l,r="";return r+="\r\n						(",(l=t.Initials)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Initials,e=typeof l===ot?l.call(a,{hash:{},data:n}):l),r+=ct(e)+")\r\n						"}function u(a,n){var e,l="";return l+="\r\n						",e=t["if"].call(a,a&&a.Email,{hash:{},inverse:ht.noop,fn:ht.program(12,d,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n						"}function d(a,n){var e,l,r="";return r+='\r\n						<a data-original-title="Email - ',(l=t.Email)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Email,e=typeof l===ot?l.call(a,{hash:{},data:n}):l),r+=ct(e)+'" rel="tooltip" data-placement="top" href="mailto:',(l=t.Email)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Email,e=typeof l===ot?l.call(a,{hash:{},data:n}):l),r+=ct(e)+'" aria-label="Email - ',(l=t.Email)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Email,e=typeof l===ot?l.call(a,{hash:{},data:n}):l),r+=ct(e)+'">\r\n							<i class="icon-envelope"></i>\r\n						</a>\r\n						'}function f(a,n){var e,l="";return l+="\r\n						",e=t["if"].call(a,(e=a&&a.Settings,e=null==e||e===!1?e:e.DisplayOptions,null==e||e===!1?e:e.Email2),{hash:{},inverse:ht.noop,fn:ht.program(15,m,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n						"}function m(a,n){var e,l="";return l+="\r\n						",e=t["if"].call(a,a&&a.Email2,{hash:{},inverse:ht.noop,fn:ht.program(16,v,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n						"}function v(a,n){var e,l,r="";return r+='\r\n						<a data-original-title="Email - ',(l=t.Email2)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Email2,e=typeof l===ot?l.call(a,{hash:{},data:n}):l),r+=ct(e)+'" rel="tooltip" data-placement="top" href="mailto:',(l=t.Email2)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Email2,e=typeof l===ot?l.call(a,{hash:{},data:n}):l),r+=ct(e)+'" aria-label="Email - ',(l=t.Email2)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Email2,e=typeof l===ot?l.call(a,{hash:{},data:n}):l),r+=ct(e)+'">\r\n							<i class="icon-envelope"></i>\r\n						</a>\r\n						'}function y(a,n){var e,l="";return l+="\r\n						",e=t["if"].call(a,(e=a&&a.Settings,e=null==e||e===!1?e:e.DisplayOptions,null==e||e===!1?e:e.Follow),{hash:{},inverse:ht.noop,fn:ht.program(19,g,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n						"}function g(a,n){var e,l="";return l+="\r\n						",e=t.unless.call(a,a&&a.IsMe,{hash:{},inverse:ht.noop,fn:ht.program(20,S,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n						"}function S(a,n){var e,l="";return l+="\r\n						",e=t["if"].call(a,a&&a.IsFollowing,{hash:{},inverse:ht.program(23,T,n),fn:ht.program(21,D,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n						"}function D(a){var n,t="";return t+='\r\n						<a id="followunfollow" class="btn btn-mini btn-success is-solid" href="#" data-original-follow="'+ct((n=a&&a.Settings,n=null==n||n===!1?n:n.SystemText,n=null==n||n===!1?n:n.FollowAction,typeof n===ot?n.apply(a):n))+'" data-original-following="'+ct((n=a&&a.Settings,n=null==n||n===!1?n:n.SystemText,n=null==n||n===!1?n:n.FollowingAction,typeof n===ot?n.apply(a):n))+'">\r\n							<span class="icon is-normal"><i class="fa fa-check"></i></span>\r\n							<span>'+ct((n=a&&a.Settings,n=null==n||n===!1?n:n.SystemText,n=null==n||n===!1?n:n.FollowingAction,typeof n===ot?n.apply(a):n))+" </span>\r\n						</a>\r\n						"}function T(a){var n,t="";return t+='\r\n						<a id="followunfollow" class="btn btn-mini btn-info is-solid" href="#" data-original-following="'+ct((n=a&&a.Settings,n=null==n||n===!1?n:n.SystemText,n=null==n||n===!1?n:n.FollowingAction,typeof n===ot?n.apply(a):n))+'" data-original-follow="'+ct((n=a&&a.Settings,n=null==n||n===!1?n:n.SystemText,n=null==n||n===!1?n:n.FollowAction,typeof n===ot?n.apply(a):n))+'">\r\n							<span class="icon is-normal"><i class="fa fa-user"></i></span>\r\n							<span>'+ct((n=a&&a.Settings,n=null==n||n===!1?n:n.SystemText,n=null==n||n===!1?n:n.FollowAction,typeof n===ot?n.apply(a):n))+"</span>\r\n						</a>\r\n						"}function I(a,n){var e,l,r="";return r+="\r\n				<li>\r\n					<h4>",(l=t.JobTitle)?e=l.call(a,{hash:{},data:n}):(l=a&&a.JobTitle,e=typeof l===ot?l.call(a,{hash:{},data:n}):l),r+=ct(e)+"</h4>\r\n				</li>\r\n				"}function w(a,n){var e,l="";return l+="\r\n				",e=t["if"].call(a,(e=a&&a.Settings,e=null==e||e===!1?e:e.DisplayOptions,null==e||e===!1?e:e.Manager),{hash:{},inverse:ht.noop,fn:ht.program(28,A,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n				"}function A(a,n){var e,l="";return l+="\r\n				",e=t["if"].call(a,a&&a.Manager,{hash:{},inverse:ht.noop,fn:ht.program(29,b,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n				"}function b(a,n){var e,l,r="";return r+="\r\n				<li><small><strong>"+ct((e=a&&a.Settings,e=null==e||e===!1?e:e.SystemText,e=null==e||e===!1?e:e.ManagedBy,typeof e===ot?e.apply(a):e))+"</strong> ",(l=t.Manager)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Manager,e=typeof l===ot?l.call(a,{hash:{},data:n}):l),r+=ct(e)+"</small></li>\r\n				"}function C(a,n){var e,l="";return l+='\r\n				<li class="minimize">\r\n					',e=t["if"].call(a,a&&a.JobDescription,{hash:{},inverse:ht.program(35,E,n),fn:ht.program(32,q,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n				</li>\r\n				"}function q(a,n){var e,l,r="";return r+="\r\n					",(l=t.JobDescription)?e=l.call(a,{hash:{},data:n}):(l=a&&a.JobDescription,e=typeof l===ot?l.call(a,{hash:{},data:n}):l),(e||0===e)&&(r+=e),r+="\r\n					",e=t["if"].call(a,a&&a.ShowMore,{hash:{},inverse:ht.noop,fn:ht.program(33,k,n),data:n}),(e||0===e)&&(r+=e),r+="\r\n					"}function k(a,n){var e,l,r="";return r+='\r\n					<a href="/Interact/Pages/Modules/Directory/Entry.aspx?person=',(l=t.Id)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Id,e=typeof l===ot?l.call(a,{hash:{},data:n}):l),r+=ct(e)+'&showBio=true">'+ct((e=a&&a.Settings,e=null==e||e===!1?e:e.SystemText,e=null==e||e===!1?e:e.SeeMore,typeof e===ot?e.apply(a):e))+"</a>\r\n					"}function E(a){var n,t="";return t+="\r\n					"+ct((n=a&&a.Settings,n=null==n||n===!1?n:n.SystemText,n=null==n||n===!1?n:n.InfoNotPresent,typeof n===ot?n.apply(a):n))+"\r\n					"}function x(a,n){var e,l="";return l+="\r\n				",e=t["if"].call(a,(e=a&&a.Settings,null==e||e===!1?e:e.ShowFollowUnfollow),{hash:{},inverse:ht.noop,fn:ht.program(38,L,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n				"}function L(a,n){var e,l,r,s="";return s+='\r\n				<ul class="unstyled inline pull-right">\r\n					<li class="muted">\r\n						<small>'+ct((e=a&&a.Settings,e=null==e||e===!1?e:e.SystemText,e=null==e||e===!1?e:e.FollowersCount,typeof e===ot?e.apply(a):e))+'</small>\r\n						<span id="',(l=t.Id)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Id,e=typeof l===ot?l.call(a,{hash:{},data:n}):l),s+=ct(e)+'_followers">\r\n							',l=t.equals||a&&a.equals,r={hash:{},inverse:ht.program(41,H,n),fn:ht.program(39,W,n),data:n},e=l?l.call(a,a&&a.Followers,"0",r):pt.call(a,"equals",a&&a.Followers,"0",r),(e||0===e)&&(s+=e),s+='\r\n						</span>\r\n					</li>\r\n					<li class="muted">\r\n						<small>'+ct((e=a&&a.Settings,e=null==e||e===!1?e:e.SystemText,e=null==e||e===!1?e:e.FollowingCount,typeof e===ot?e.apply(a):e))+'</small>\r\n						<span id="',(l=t.Id)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Id,e=typeof l===ot?l.call(a,{hash:{},data:n}):l),s+=ct(e)+'_following">\r\n							',l=t.equals||a&&a.equals,r={hash:{},inverse:ht.program(45,U,n),fn:ht.program(43,_,n),data:n},e=l?l.call(a,a&&a.Following,"0",r):pt.call(a,"equals",a&&a.Following,"0",r),(e||0===e)&&(s+=e),s+="\r\n						</span>\r\n					</li>\r\n				</ul>\r\n				"}function W(a,n){var e,l,r="";return r+=' <span style="font-size: 16.2px; font-weight: bold; color: #186ab5;">',(l=t.Followers)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Followers,e=typeof l===ot?l.call(a,{hash:{},data:n}):l),r+=ct(e)+"</span>\r\n							"}function H(a,n){var e,l,r="";return r+='\r\n							<a href="#"> <span id="body_profileFollowersCount" data-actiontitle="'+ct((e=a&&a.Settings,e=null==e||e===!1?e:e.SystemText,e=null==e||e===!1?e:e.PeopleWhoFollow,typeof e===ot?e.apply(a):e))+" ",(l=t.FullName)?e=l.call(a,{hash:{},data:n}):(l=a&&a.FullName,e=typeof l===ot?l.call(a,{hash:{},data:n}):l),r+=ct(e)+'" data-personid="',(l=t.Id)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Id,e=typeof l===ot?l.call(a,{hash:{},data:n}):l),r+=ct(e)+'">',(l=t.Followers)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Followers,e=typeof l===ot?l.call(a,{hash:{},data:n}):l),r+=ct(e)+"</span></a>\r\n							"}function _(a,n){var e,l,r="";return r+=' <span style="font-size: 16.2px; font-weight: bold; color: #186ab5;">',(l=t.Following)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Following,e=typeof l===ot?l.call(a,{hash:{},data:n}):l),r+=ct(e)+"</span>\r\n							"
}function U(a,n){var e,l,r="";return r+='\r\n							<a href="#">\r\n								<span id="body_profileFollowingCount" data-actiontitle="'+ct((e=a&&a.Settings,e=null==e||e===!1?e:e.SystemText,e=null==e||e===!1?e:e.PeopleWhoNameFollow,typeof e===ot?e.apply(a):e))+" ",(l=t.FullName)?e=l.call(a,{hash:{},data:n}):(l=a&&a.FullName,e=typeof l===ot?l.call(a,{hash:{},data:n}):l),r+=ct(e)+" "+ct((e=a&&a.Settings,e=null==e||e===!1?e:e.SystemText,e=null==e||e===!1?e:e.PeopleWhoNameFollowSuffix,typeof e===ot?e.apply(a):e))+'" data-personid="',(l=t.Id)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Id,e=typeof l===ot?l.call(a,{hash:{},data:n}):l),r+=ct(e)+'">',(l=t.Following)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Following,e=typeof l===ot?l.call(a,{hash:{},data:n}):l),r+=ct(e)+"</span>\r\n							</a>\r\n							"}function P(a,n){var e;return e=t["if"].call(a,(e=a&&a.Settings,e=null==e||e===!1?e:e.DisplayOptions,null==e||e===!1?e:e.Influence),{hash:{},inverse:ht.noop,fn:ht.program(48,R,n),data:n}),e||0===e?e:""}function R(){return"Influence"}function B(a,n){var e,l="";return l+="\r\n\r\n						",e=t["if"].call(a,(e=a&&a.Settings,e=null==e||e===!1?e:e.DisplayOptions,null==e||e===!1?e:e.Timezone),{hash:{},inverse:ht.noop,fn:ht.program(51,M,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n\r\n						",e=t["if"].call(a,(e=a&&a.Settings,e=null==e||e===!1?e:e.DisplayOptions,null==e||e===!1?e:e.DOBEventID),{hash:{},inverse:ht.noop,fn:ht.program(54,N,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n\r\n						",e=t["if"].call(a,(e=a&&a.Settings,e=null==e||e===!1?e:e.DisplayOptions,null==e||e===!1?e:e.JobStart),{hash:{},inverse:ht.noop,fn:ht.program(57,z,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n\r\n						"}function M(a,n){var e,l="";return l+="\r\n						",e=t["if"].call(a,a&&a.TimeZone,{hash:{},inverse:ht.noop,fn:ht.program(52,O,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n						"}function O(a,n){var e,l,r="";return r+='\r\n						<li>\r\n							<i class="icon-globe" title="time zone"></i>\r\n							',(l=t.TimeZone)?e=l.call(a,{hash:{},data:n}):(l=a&&a.TimeZone,e=typeof l===ot?l.call(a,{hash:{},data:n}):l),r+=ct(e)+"\r\n						</li>\r\n						"}function N(a,n){var e,l="";return l+="\r\n						",e=t["if"].call(a,a&&a.DateOfBirth,{hash:{},inverse:ht.noop,fn:ht.program(55,F,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n						"}function F(a,n){var e,l,r="";return r+='\r\n						<li>\r\n							<i class="iconextra-dob" title="date of birth"></i>\r\n							',(l=t.DateOfBirth)?e=l.call(a,{hash:{},data:n}):(l=a&&a.DateOfBirth,e=typeof l===ot?l.call(a,{hash:{},data:n}):l),r+=ct(e)+"\r\n						</li>\r\n						"}function z(a,n){var e,l="";return l+="\r\n						",e=t["if"].call(a,a&&a.JobStart,{hash:{},inverse:ht.noop,fn:ht.program(58,Y,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n						"}function Y(a,n){var e,l,r="";return r+='\r\n						<li>\r\n							<span class="icon" role="presentation">\r\n								<i class="fa fa-calendar ii ii-calendar"></i>\r\n							</span>\r\n							<small>\r\n								',(l=t.JobStart)?e=l.call(a,{hash:{},data:n}):(l=a&&a.JobStart,e=typeof l===ot?l.call(a,{hash:{},data:n}):l),r+=ct(e)+"\r\n								",e=t["if"].call(a,(e=a&&a.Settings,e=null==e||e===!1?e:e.DisplayOptions,null==e||e===!1?e:e.JobEnd),{hash:{},inverse:ht.noop,fn:ht.program(59,j,n),data:n}),(e||0===e)&&(r+=e),r+="\r\n							</small>\r\n						</li>\r\n						"}function j(a,n){var e,l="";return l+="\r\n								",e=t["if"].call(a,a&&a.JobEnd,{hash:{},inverse:ht.noop,fn:ht.program(60,V,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n								"}function V(a,n){var e,l,r="";return r+=" - ",(l=t.JobEnd)?e=l.call(a,{hash:{},data:n}):(l=a&&a.JobEnd,e=typeof l===ot?l.call(a,{hash:{},data:n}):l),r+=ct(e)}function G(a,n){var e,l="";return l+='\r\n						<li>\r\n							<span class="icon" role="presentation">\r\n								<i class="fa fa-briefcase ii ii-briefcase"></i>\r\n							</span>\r\n							<small>\r\n								',e=t["if"].call(a,a&&a.DepartmentAsLink,{hash:{},inverse:ht.program(68,Z,n),fn:ht.program(63,J,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n							</small>\r\n						</li>\r\n						"}function J(a,n){var e,l="";return l+="\r\n								",e=t["if"].call(a,a&&a.DepartmentMentionRedirectPath,{hash:{},inverse:ht.program(66,X,n),fn:ht.program(64,K,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n								"}function K(a,n){var e,l,r="";return r+='\r\n								<a href="',(l=t.DepartmentMentionRedirectPath)?e=l.call(a,{hash:{},data:n}):(l=a&&a.DepartmentMentionRedirectPath,e=typeof l===ot?l.call(a,{hash:{},data:n}):l),r+=ct(e)+'">',(l=t.Department)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Department,e=typeof l===ot?l.call(a,{hash:{},data:n}):l),r+=ct(e)+" </a>\r\n								"}function X(a,n){var e,l,r="";return r+='\r\n								<a href="/Interact/Pages/Modules/Networkdirectory/Entry.aspx?id=',(l=t.DepartmentId)?e=l.call(a,{hash:{},data:n}):(l=a&&a.DepartmentId,e=typeof l===ot?l.call(a,{hash:{},data:n}):l),r+=ct(e)+'">',(l=t.Department)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Department,e=typeof l===ot?l.call(a,{hash:{},data:n}):l),r+=ct(e)+" </a>\r\n								"}function Z(a,n){var e,l,r="";return r+="\r\n								",(l=t.Department)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Department,e=typeof l===ot?l.call(a,{hash:{},data:n}):l),r+=ct(e)+"\r\n								"}function Q(a,n){var e,l="";return l+="\r\n						",e=t["if"].call(a,(e=a&&a.Settings,e=null==e||e===!1?e:e.DisplayOptions,null==e||e===!1?e:e.OtherDepartments),{hash:{},inverse:ht.noop,fn:ht.program(71,$,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n						"}function $(a,n){var e,l="";return l+="\r\n						",e=t.each.call(a,a&&a.OtherDepartments,{hash:{},inverse:ht.noop,fn:ht.program(72,an,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n						"}function an(a,n){var e,l="";return l+='\r\n						<li>\r\n							<span class="icon" role="presentation">\r\n								<i class="fa fa-user ii-user"></i>\r\n							</span>\r\n							<small>\r\n								',e=t["if"].call(a,a&&a.DisplayLink,{hash:{},inverse:ht.program(75,tn,n),fn:ht.program(73,nn,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n							</small>\r\n						</li>\r\n						"}function nn(a,n){var e,l,r="";return r+='\r\n								<a href="/Interact/Pages/Modules/Networkdirectory/Entry.aspx?id=',(l=t.Id)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Id,e=typeof l===ot?l.call(a,{hash:{},data:n}):l),r+=ct(e)+'">',(l=t.Title)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Title,e=typeof l===ot?l.call(a,{hash:{},data:n}):l),r+=ct(e)+" </a>\r\n								"}function tn(a,n){var e,l,r="";return r+="\r\n								<small>",(l=t.Title)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Title,e=typeof l===ot?l.call(a,{hash:{},data:n}):l),r+=ct(e)+"</small>\r\n								"}function en(a,n){var e,l="";return l+="\r\n						",e=t["if"].call(a,a&&a.WorkPhone,{hash:{},inverse:ht.noop,fn:ht.program(78,ln,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n						"}function ln(a,n){var e,l,r="";return r+='\r\n						<li>\r\n							<span class="icon" role="presentation">\r\n								<i class="fa fa-phone ii ii-phone"></i>\r\n							</span>\r\n							<small dir="ltr">',(l=t.WorkPhone)?e=l.call(a,{hash:{},data:n}):(l=a&&a.WorkPhone,e=typeof l===ot?l.call(a,{hash:{},data:n}):l),r+=ct(e)+"</small>\r\n						</li>\r\n						"}function rn(a,n){var e,l="";return l+='\r\n						<li>\r\n							<span class="icon" role="presentation">\r\n								<i class="fa fa-building ii ii-home-fill"></i>\r\n							</span>\r\n							<small>\r\n								',e=t["if"].call(a,a&&a.CompanyAsLink,{hash:{},inverse:ht.program(86,hn,n),fn:ht.program(81,sn,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n							</small>\r\n						</li>\r\n						"}function sn(a,n){var e,l="";return l+="\r\n								",e=t["if"].call(a,a&&a.CompanyMentionRedirectPath,{hash:{},inverse:ht.program(84,cn,n),fn:ht.program(82,on,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n								"}function on(a,n){var e,l,r="";return r+='\r\n								<a href="',(l=t.CompanyMentionRedirectPath)?e=l.call(a,{hash:{},data:n}):(l=a&&a.CompanyMentionRedirectPath,e=typeof l===ot?l.call(a,{hash:{},data:n}):l),r+=ct(e)+'">',(l=t.Company)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Company,e=typeof l===ot?l.call(a,{hash:{},data:n}):l),r+=ct(e)+" </a>\r\n								"}function cn(a,n){var e,l,r="";return r+='\r\n								<a href="/Interact/Pages/Modules/Networkdirectory/Entry.aspx?id=',(l=t.CompanyId)?e=l.call(a,{hash:{},data:n}):(l=a&&a.CompanyId,e=typeof l===ot?l.call(a,{hash:{},data:n}):l),r+=ct(e)+'">',(l=t.Company)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Company,e=typeof l===ot?l.call(a,{hash:{},data:n}):l),r+=ct(e)+" </a>\r\n								"}function hn(a,n){var e,l,r="";return r+="\r\n								",(l=t.Company)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Company,e=typeof l===ot?l.call(a,{hash:{},data:n}):l),r+=ct(e)+"\r\n								"}function pn(a,n){var e,l="";return l+="\r\n						",e=t["if"].call(a,(e=a&&a.Settings,e=null==e||e===!1?e:e.DisplayOptions,null==e||e===!1?e:e.OtherCompanies),{hash:{},inverse:ht.noop,fn:ht.program(89,un,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n						"}function un(a,n){var e,l="";return l+="\r\n						",e=t.each.call(a,a&&a.OtherCompanies,{hash:{},inverse:ht.noop,fn:ht.program(90,dn,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n						"}function dn(a,n){var e,l="";return l+='\r\n						<li>\r\n							<span class="icon" role="presentation">\r\n								<i class="fa fa-building ii ii-home-fill"></i>\r\n							</span>\r\n							<small>\r\n								',e=t["if"].call(a,a&&a.DisplayLink,{hash:{},inverse:ht.program(91,fn,n),fn:ht.program(73,nn,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n							</small>\r\n						</li>\r\n						"}function fn(a,n){var e,l,r="";return r+="\r\n								",(l=t.Title)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Title,e=typeof l===ot?l.call(a,{hash:{},data:n}):l),r+=ct(e)+"\r\n								"}function mn(a,n){var e,l="";return l+="\r\n						",e=t["if"].call(a,a&&a.MobilePhone,{hash:{},inverse:ht.noop,fn:ht.program(94,vn,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n						"}function vn(a,n){var e,l,r="";return r+='\r\n						<li>\r\n							<span class="icon" role="presentation">\r\n								<i class="fa fa-mobile ii ii-mobile"></i>\r\n							</span>\r\n							<small dir="ltr">',(l=t.MobilePhone)?e=l.call(a,{hash:{},data:n}):(l=a&&a.MobilePhone,e=typeof l===ot?l.call(a,{hash:{},data:n}):l),r+=ct(e)+"</small>\r\n						</li>\r\n						"}function yn(a,n){var e,l="";return l+='\r\n						<li>\r\n							<span class="icon" role="presentation">\r\n								<i class="fa fa-map-marker ii ii-map-pin"></i>\r\n							</span>\r\n							<small>\r\n								',e=t["if"].call(a,a&&a.LocationAsLink,{hash:{},inverse:ht.program(102,Tn,n),fn:ht.program(97,gn,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n							</small>\r\n						</li>\r\n						"}function gn(a,n){var e,l="";return l+="\r\n								",e=t["if"].call(a,a&&a.LocationMentionRedirectPath,{hash:{},inverse:ht.program(100,Dn,n),fn:ht.program(98,Sn,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n								"}function Sn(a,n){var e,l,r="";return r+='\r\n								<a href="',(l=t.LocationMentionRedirectPath)?e=l.call(a,{hash:{},data:n}):(l=a&&a.LocationMentionRedirectPath,e=typeof l===ot?l.call(a,{hash:{},data:n}):l),r+=ct(e)+'">',(l=t.Location)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Location,e=typeof l===ot?l.call(a,{hash:{},data:n}):l),r+=ct(e)+" </a>\r\n								"}function Dn(a,n){var e,l,r="";return r+='\r\n								<a href="/Interact/Pages/Modules/Networkdirectory/Entry.aspx?id=',(l=t.LocationId)?e=l.call(a,{hash:{},data:n}):(l=a&&a.LocationId,e=typeof l===ot?l.call(a,{hash:{},data:n}):l),r+=ct(e)+'">',(l=t.Location)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Location,e=typeof l===ot?l.call(a,{hash:{},data:n}):l),r+=ct(e)+" </a>\r\n								"}function Tn(a,n){var e,l,r="";return r+="\r\n								",(l=t.Location)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Location,e=typeof l===ot?l.call(a,{hash:{},data:n}):l),r+=ct(e)+"\r\n								"}function In(a,n){var e,l="";return l+="\r\n						",e=t["if"].call(a,(e=a&&a.Settings,e=null==e||e===!1?e:e.DisplayOptions,null==e||e===!1?e:e.OtherLocations),{hash:{},inverse:ht.noop,fn:ht.program(105,wn,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n						"}function wn(a,n){var e,l="";return l+="\r\n						",e=t.each.call(a,a&&a.OtherLocations,{hash:{},inverse:ht.noop,fn:ht.program(106,An,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n						"}function An(a,n){var e,l="";return l+='\r\n						<li>\r\n							<span class="icon" role="presentation">\r\n								<i class="fa fa-map-marker ii ii-map-pin"></i>\r\n							</span>\r\n							<small>\r\n								',e=t["if"].call(a,a&&a.DisplayLink,{hash:{},inverse:ht.program(91,fn,n),fn:ht.program(73,nn,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n							</small>\r\n						</li>\r\n						"}function bn(a,n){var e,l="";return l+="\r\n						",e=t["if"].call(a,(e=a&&a.Settings,e=null==e||e===!1?e:e.DisplayOptions,null==e||e===!1?e:e.HomePhone),{hash:{},inverse:ht.noop,fn:ht.program(109,Cn,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n						"}function Cn(a,n){var e,l="";return l+="\r\n						",e=t["if"].call(a,a&&a.HomePhone,{hash:{},inverse:ht.noop,fn:ht.program(110,qn,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n						"}function qn(a,n){var e,l,r="";return r+='\r\n						<li>\r\n							<span class="icon" role="presentation">\r\n								<i class="fa fa-phone ii ii-phone"></i>\r\n							</span>\r\n							<small dir="ltr">',(l=t.HomePhone)?e=l.call(a,{hash:{},data:n}):(l=a&&a.HomePhone,e=typeof l===ot?l.call(a,{hash:{},data:n}):l),r+=ct(e)+"</small>\r\n						</li>\r\n						"}function kn(a,n){var e,l="";return l+="\r\n						",e=t["if"].call(a,a&&a.Extension,{hash:{},inverse:ht.noop,fn:ht.program(113,En,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n						"}function En(a,n){var e,l,r="";return r+='\r\n						<li>\r\n							<span class="icon" role="presentation">\r\n								<i class="fa fa-phone ii ii-phone"></i>\r\n							</span>\r\n							<small>',(l=t.Extension)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Extension,e=typeof l===ot?l.call(a,{hash:{},data:n}):l),r+=ct(e)+"</small>\r\n						</li>\r\n						"}function xn(a,n){var e,l="";return l+="\r\n						",e=t["if"].call(a,(e=a&&a.Settings,e=null==e||e===!1?e:e.DisplayOptions,null==e||e===!1?e:e.Fax),{hash:{},inverse:ht.noop,fn:ht.program(116,Ln,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n						"}function Ln(a,n){var e,l="";return l+="\r\n						",e=t["if"].call(a,a&&a.Fax,{hash:{},inverse:ht.noop,fn:ht.program(117,Wn,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n						"}function Wn(a,n){var e,l,r="";return r+='\r\n						<li>\r\n							<span class="icon" role="presentation">\r\n								<i class="fa fa-fax"></i>\r\n							</span>\r\n							<small dir="ltr">',(l=t.Fax)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Fax,e=typeof l===ot?l.call(a,{hash:{},data:n}):l),r+=ct(e)+"</small>\r\n						</li>\r\n						"}function Hn(a,n){var e,l="";return l+="\r\n						",e=t["if"].call(a,a&&a.Address,{hash:{},inverse:ht.noop,fn:ht.program(120,_n,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n						"}function _n(a,n){var e,l,r="";return r+='\r\n						<li>\r\n							<span class="icon" role="presentation">\r\n								<i class="fa fa-address-book ii ii-map" title="Address"></i>\r\n							</span>\r\n							<small>',(l=t.Address)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Address,e=typeof l===ot?l.call(a,{hash:{},data:n}):l),r+=ct(e)+"</small>\r\n						</li>\r\n						"}function Un(a,n){var e,l="";return l+="\r\n				",e=t["if"].call(a,(e=a&&a.Settings,e=null==e||e===!1?e:e.DisplayOptions,null==e||e===!1?e:e.Influence),{hash:{},inverse:ht.noop,fn:ht.program(123,Pn,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n				"}function Pn(a,n){var e,l,r="";return r+='\r\n				<div class="well-influence">\r\n					<h6>\r\n						'+ct((e=a&&a.Settings,e=null==e||e===!1?e:e.SystemText,e=null==e||e===!1?e:e.InfluencePerc,typeof e===ot?e.apply(a):e))+'\r\n					</h6>\r\n					<div class="influence_container">\r\n						<input id="InfluenceKnob" clientidmode="static" type="text" class="dial" data-width="56" data-height="56" value="',(l=t.InfluenceScore)?e=l.call(a,{hash:{},data:n}):(l=a&&a.InfluenceScore,e=typeof l===ot?l.call(a,{hash:{},data:n}):l),r+=ct(e)+'" data-readonly="true" data-fgcolor="#186AB5" data-bgcolor="#ffffff" data-thickness=".3" rel="tooltip" data-original-title="Influence Score" aria-label="Influence Score" />\r\n					</div>\r\n				</div>\r\n				'}function Rn(a,n){var e,l="";return l+="\r\n			",e=t["if"].call(a,a&&a.Twitter,{hash:{},inverse:ht.noop,fn:ht.program(126,Bn,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n			"}function Bn(a,n){var e,l,r="";return r+='\r\n			<li>\r\n				<a href="',(l=t.Twitter)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Twitter,e=typeof l===ot?l.call(a,{hash:{},data:n}):l),r+=ct(e)+'" target="_blank" title="twitter">\r\n					<span class="icon is-normal" role="presentation">\r\n						<i class="ii ii-twitter"></i>\r\n					</span>\r\n				</a>\r\n			</li>\r\n			'}function Mn(a,n){var e,l="";return l+="\r\n			",e=t["if"].call(a,a&&a.Instagram,{hash:{},inverse:ht.noop,fn:ht.program(129,On,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n			"}function On(a,n){var e,l,r="";return r+='\r\n			<li>\r\n				<a href="',(l=t.Instagram)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Instagram,e=typeof l===ot?l.call(a,{hash:{},data:n}):l),r+=ct(e)+'" target="_blank" title="Instagram">\r\n					<span class="icon is-normal" role="presentation">\r\n						<i class="fa fa-instagram ii ii-instagram"></i>\r\n					</span>\r\n				</a>\r\n			</li>\r\n			'}function Nn(a,n){var e,l="";return l+="\r\n			",e=t["if"].call(a,a&&a.LinkedIn,{hash:{},inverse:ht.noop,fn:ht.program(132,Fn,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n			"}function Fn(a,n){var e,l,r="";return r+='\r\n			<li>\r\n				<a href="',(l=t.LinkedIn)?e=l.call(a,{hash:{},data:n}):(l=a&&a.LinkedIn,e=typeof l===ot?l.call(a,{hash:{},data:n}):l),r+=ct(e)+'" target="_blank" title="Linkedin">\r\n					<span class="icon is-normal" role="presentation">\r\n						<i class="fa fa-linkedin ii ii-linkedin"></i>\r\n					</span>\r\n				</a>\r\n			</li>\r\n			'}function zn(a,n){var e,l="";return l+="\r\n			",e=t["if"].call(a,a&&a.FaceBook,{hash:{},inverse:ht.noop,fn:ht.program(135,Yn,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n			"}function Yn(a,n){var e,l,r="";return r+='\r\n			<li>\r\n				<a href="',(l=t.FaceBook)?e=l.call(a,{hash:{},data:n}):(l=a&&a.FaceBook,e=typeof l===ot?l.call(a,{hash:{},data:n}):l),r+=ct(e)+'" target="_blank" title="Facebook">\r\n					<span class="icon is-normal" role="presentation">\r\n						<i class="fa fa-facebook ii ii-facebook"></i>\r\n					</span>\r\n				</a>\r\n			</li>\r\n			'}function jn(a,n){var e,l="";return l+="\r\n			",e=t["if"].call(a,a&&a.Skype,{hash:{},inverse:ht.noop,fn:ht.program(138,Vn,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n			"}function Vn(a,n){var e,l,r="";return r+='\r\n			<li>\r\n				<a href="',(l=t.Skype)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Skype,e=typeof l===ot?l.call(a,{hash:{},data:n}):l),r+=ct(e)+'" target="_blank" title="skype">\r\n					<span class="icon is-normal" role="presentation">\r\n						<i class="fa fa-skype ii ii-skype"></i>\r\n					</span>\r\n				</a>\r\n			</li>\r\n			'}function Gn(a,n){var e,l="";return l+="\r\n			",e=t["if"].call(a,a&&a.Chat,{hash:{},inverse:ht.noop,fn:ht.program(141,Jn,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n			"}function Jn(a,n){var e,l,r="";return r+='\r\n			<li>\r\n				<a href="',(l=t.Chat)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Chat,e=typeof l===ot?l.call(a,{hash:{},data:n}):l),r+=ct(e)+'" target="_blank">\r\n					<span class="icon is-normal" role="presentation">\r\n						<i class="fa fa-comments ii ii-comments"></i>\r\n					</span>\r\n				</a>\r\n			</li>\r\n			'}function Kn(a,n){var e,l="";return l+="\r\n		",e=t["if"].call(a,a&&a.AdditionalFields,{hash:{},inverse:ht.noop,fn:ht.program(144,Xn,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n		",e=t["if"].call(a,(e=a&&a.Settings,e=null==e||e===!1?e:e.DisplayOptions,null==e||e===!1?e:e.Expertise),{hash:{},inverse:ht.noop,fn:ht.program(151,nt,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n		",e=t["if"].call(a,(e=a&&a.Settings,e=null==e||e===!1?e:e.DisplayOptions,null==e||e===!1?e:e.Interests),{hash:{},inverse:ht.noop,fn:ht.program(154,et,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n		"}function Xn(a,n){var e,l="";return l+="\r\n		<h6>"+ct((e=a&&a.Settings,e=null==e||e===!1?e:e.SystemText,e=null==e||e===!1?e:e.AdditionalFields,typeof e===ot?e.apply(a):e))+'</h6>\r\n		<ul class="unstyled people-widget-quick-results">\r\n			',e=t.each.call(a,a&&a.AdditionalFields,{hash:{},inverse:ht.noop,fn:ht.program(145,Zn,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n		</ul>\r\n		"}function Zn(a,n){var e,l="";return l+="\r\n			",e=t["if"].call(a,a&&a.Viewable,{hash:{},inverse:ht.noop,fn:ht.program(146,Qn,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n			"}function Qn(a,n){var e,l,r="";return r+='\r\n			<li>\r\n				<img src="/utilities/assets/handler/asset.ashx?asset=',(l=t.AssetId)?e=l.call(a,{hash:{},data:n}):(l=a&&a.AssetId,e=typeof l===ot?l.call(a,{hash:{},data:n}):l),r+=ct(e)+'&size=1" alt="',(l=t.Title)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Title,e=typeof l===ot?l.call(a,{hash:{},data:n}):l),r+=ct(e)+'" loading="lazy"/>\r\n				<small>\r\n					',e=t["if"].call(a,a&&a.IsUrl,{hash:{},inverse:ht.program(149,at,n),fn:ht.program(147,$n,n),data:n}),(e||0===e)&&(r+=e),r+="\r\n				</small>\r\n			</li>\r\n			"}function $n(a,n){var e,l,r="";return r+='\r\n					<a alt="',(l=t.Title)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Title,e=typeof l===ot?l.call(a,{hash:{},data:n}):l),r+=ct(e)+"\" target='_blank' href='http://",(l=t.Value)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Value,e=typeof l===ot?l.call(a,{hash:{},data:n}):l),r+=ct(e)+"'>",(l=t.Value)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Value,e=typeof l===ot?l.call(a,{hash:{},data:n}):l),r+=ct(e)+"</a>\r\n					"}function at(a,n){var e,l,r="";return r+="\r\n					",(l=t.Title)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Title,e=typeof l===ot?l.call(a,{hash:{},data:n}):l),r+=ct(e)+"\r\n					"}function nt(a,n){var e,l="";return l+='\r\n		<h6>Expertise</h6>\r\n		<ul class="unstyled inline tags is-small">\r\n			',e=t.each.call(a,a&&a.Expertise,{hash:{},inverse:ht.noop,fn:ht.program(152,tt,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n		</ul>\r\n		"}function tt(a,n){var e,l,r="";return r+='\r\n			<li>\r\n				<span>\r\n					<a href="/Interact/Pages/Modules/directory/default.aspx?expertise=',(l=t.Title)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Title,e=typeof l===ot?l.call(a,{hash:{},data:n}):l),r+=ct(e)+'">',(l=t.Title)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Title,e=typeof l===ot?l.call(a,{hash:{},data:n}):l),r+=ct(e)+" </a>\r\n				</span>\r\n			</li>\r\n			"}function et(a,n){var e,l="";return l+='\r\n		<h6>Interests</h6>\r\n		<ul class="unstyled inline tags is-small">\r\n			',e=t.each.call(a,a&&a.Interests,{hash:{},inverse:ht.noop,fn:ht.program(155,lt,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n		</ul>\r\n		"}function lt(a,n){var e,l,r="";return r+='\r\n			<li>\r\n				<span>\r\n					<a href="/Interact/Pages/Modules/directory/default.aspx?interest=',(l=t.Title)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Title,e=typeof l===ot?l.call(a,{hash:{},data:n}):l),r+=ct(e)+'">',(l=t.Title)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Title,e=typeof l===ot?l.call(a,{hash:{},data:n}):l),r+=ct(e)+" </a>\r\n				</span>\r\n			</li>\r\n			"}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var rt,st,it="",ot="function",ct=this.escapeExpression,ht=this,pt=t.helperMissing;return it+='<div class="slidingDiv" data-personid="',(st=t.Id)?rt=st.call(n,{hash:{},data:l}):(st=n&&n.Id,rt=typeof st===ot?st.call(n,{hash:{},data:l}):st),it+=ct(rt)+'">\r\n	<div class="person_container">\r\n		<div class="main-details">\r\n			<ul class="unstyled overflow">\r\n				<li class="user">\r\n					<h3>\r\n						',rt=t["if"].call(n,(rt=n&&n.Settings,null==rt||rt===!1?rt:rt.ShowNewMeetTheTeamWidget),{hash:{},inverse:ht.program(5,o,l),fn:ht.program(1,r,l),data:l}),(rt||0===rt)&&(it+=rt),it+="\r\n						",rt=t["if"].call(n,(rt=n&&n.Settings,null==rt||rt===!1?rt:rt.ShowNewMeetTheTeamWidget),{hash:{},inverse:ht.noop,fn:ht.program(7,c,l),data:l}),(rt||0===rt)&&(it+=rt),it+="\r\n						",rt=t["if"].call(n,(rt=n&&n.Settings,rt=null==rt||rt===!1?rt:rt.DisplayOptions,null==rt||rt===!1?rt:rt.Email1),{hash:{},inverse:ht.noop,fn:ht.program(11,u,l),data:l}),(rt||0===rt)&&(it+=rt),it+="\r\n						",rt=t["if"].call(n,(rt=n&&n.Settings,null==rt||rt===!1?rt:rt.ShowNewMeetTheTeamWidget),{hash:{},inverse:ht.noop,fn:ht.program(14,f,l),data:l}),(rt||0===rt)&&(it+=rt),it+="\r\n						",rt=t["if"].call(n,(rt=n&&n.Settings,null==rt||rt===!1?rt:rt.ShowFollowUnfollow),{hash:{},inverse:ht.noop,fn:ht.program(18,y,l),data:l}),(rt||0===rt)&&(it+=rt),it+="\r\n					</h3>\r\n				</li>\r\n				",rt=t["if"].call(n,(rt=n&&n.Settings,rt=null==rt||rt===!1?rt:rt.DisplayOptions,null==rt||rt===!1?rt:rt.JobTitle),{hash:{},inverse:ht.noop,fn:ht.program(25,I,l),data:l}),(rt||0===rt)&&(it+=rt),it+="\r\n				",rt=t["if"].call(n,(rt=n&&n.Settings,null==rt||rt===!1?rt:rt.ShowNewMeetTheTeamWidget),{hash:{},inverse:ht.noop,fn:ht.program(27,w,l),data:l}),(rt||0===rt)&&(it+=rt),it+="\r\n				",rt=t["if"].call(n,(rt=n&&n.Settings,rt=null==rt||rt===!1?rt:rt.DisplayOptions,null==rt||rt===!1?rt:rt.JobDescription),{hash:{},inverse:ht.noop,fn:ht.program(31,C,l),data:l}),(rt||0===rt)&&(it+=rt),it+='\r\n			</ul>\r\n		</div>\r\n		<ul class="unstyled">\r\n			<li class="followersetc pull-left">\r\n				<div class="pull-left muted">\r\n					<small>'+ct((rt=n&&n.Settings,rt=null==rt||rt===!1?rt:rt.CurrentIndex,typeof rt===ot?rt.apply(n):rt))+" "+ct((rt=n&&n.Settings,rt=null==rt||rt===!1?rt:rt.SystemText,rt=null==rt||rt===!1?rt:rt.PeopleInThisTeamPrefix,typeof rt===ot?rt.apply(n):rt))+' </small>\r\n					<a style="font-size: 12px; font-weight: normal;" href="#" class="TeamWidgetUsersInfo">\r\n						<small id=\'usersCount\' data-containedIds=\''+ct((rt=n&&n.Settings,rt=null==rt||rt===!1?rt:rt.ContainedIdsList,typeof rt===ot?rt.apply(n):rt))+"' data-actiontitle='"+ct((rt=n&&n.Settings,rt=null==rt||rt===!1?rt:rt.TeamModalTitle,typeof rt===ot?rt.apply(n):rt))+"' data-showdepartment='"+ct((rt=n&&n.Settings,rt=null==rt||rt===!1?rt:rt.DisplayOptions,rt=null==rt||rt===!1?rt:rt.MainDepartment,typeof rt===ot?rt.apply(n):rt))+"' data-showlocation='"+ct((rt=n&&n.Settings,rt=null==rt||rt===!1?rt:rt.DisplayOptions,rt=null==rt||rt===!1?rt:rt.MainLocation,typeof rt===ot?rt.apply(n):rt))+"' data-showcompany='"+ct((rt=n&&n.Settings,rt=null==rt||rt===!1?rt:rt.DisplayOptions,rt=null==rt||rt===!1?rt:rt.MainCompany,typeof rt===ot?rt.apply(n):rt))+"'>"+ct((rt=n&&n.Settings,rt=null==rt||rt===!1?rt:rt.TotalCount,typeof rt===ot?rt.apply(n):rt))+" "+ct((rt=n&&n.Settings,rt=null==rt||rt===!1?rt:rt.SystemText,rt=null==rt||rt===!1?rt:rt.PeopleInThisTeam,typeof rt===ot?rt.apply(n):rt))+"</small>\r\n					</a>\r\n					<small>"+ct((rt=n&&n.Settings,rt=null==rt||rt===!1?rt:rt.SystemText,rt=null==rt||rt===!1?rt:rt.PeopleInThisTeamSuffix,typeof rt===ot?rt.apply(n):rt))+"</small>\r\n				</div>\r\n				",rt=t["if"].call(n,(rt=n&&n.Settings,rt=null==rt||rt===!1?rt:rt.DisplayOptions,null==rt||rt===!1?rt:rt.Follow),{hash:{},inverse:ht.noop,fn:ht.program(37,x,l),data:l}),(rt||0===rt)&&(it+=rt),it+='\r\n			</li>\r\n			<li class="well-container">\r\n				<div class="table_content ',rt=t["if"].call(n,(rt=n&&n.Settings,null==rt||rt===!1?rt:rt.ShowInfluenceScore),{hash:{},inverse:ht.noop,fn:ht.program(47,P,l),data:l}),(rt||0===rt)&&(it+=rt),it+='">\r\n					<ul class="unstyled people-widget-quick-results">\r\n						',rt=t["if"].call(n,(rt=n&&n.Settings,null==rt||rt===!1?rt:rt.ShowNewMeetTheTeamWidget),{hash:{},inverse:ht.noop,fn:ht.program(50,B,l),data:l}),(rt||0===rt)&&(it+=rt),it+="\r\n						",rt=t["if"].call(n,(rt=n&&n.Settings,rt=null==rt||rt===!1?rt:rt.DisplayOptions,null==rt||rt===!1?rt:rt.MainDepartment),{hash:{},inverse:ht.noop,fn:ht.program(62,G,l),data:l}),(rt||0===rt)&&(it+=rt),it+="\r\n\r\n						",rt=t["if"].call(n,(rt=n&&n.Settings,null==rt||rt===!1?rt:rt.ShowNewMeetTheTeamWidget),{hash:{},inverse:ht.noop,fn:ht.program(70,Q,l),data:l}),(rt||0===rt)&&(it+=rt),it+="\r\n						",rt=t["if"].call(n,(rt=n&&n.Settings,rt=null==rt||rt===!1?rt:rt.DisplayOptions,null==rt||rt===!1?rt:rt.WorkPhone),{hash:{},inverse:ht.noop,fn:ht.program(77,en,l),data:l}),(rt||0===rt)&&(it+=rt),it+="\r\n\r\n						",rt=t["if"].call(n,(rt=n&&n.Settings,rt=null==rt||rt===!1?rt:rt.DisplayOptions,null==rt||rt===!1?rt:rt.MainCompany),{hash:{},inverse:ht.noop,fn:ht.program(80,rn,l),data:l}),(rt||0===rt)&&(it+=rt),it+="\r\n\r\n						",rt=t["if"].call(n,(rt=n&&n.Settings,null==rt||rt===!1?rt:rt.ShowNewMeetTheTeamWidget),{hash:{},inverse:ht.noop,fn:ht.program(88,pn,l),data:l}),(rt||0===rt)&&(it+=rt),it+="\r\n\r\n						",rt=t["if"].call(n,(rt=n&&n.Settings,rt=null==rt||rt===!1?rt:rt.DisplayOptions,null==rt||rt===!1?rt:rt.Mobile),{hash:{},inverse:ht.noop,fn:ht.program(93,mn,l),data:l}),(rt||0===rt)&&(it+=rt),it+="\r\n\r\n						",rt=t["if"].call(n,(rt=n&&n.Settings,rt=null==rt||rt===!1?rt:rt.DisplayOptions,null==rt||rt===!1?rt:rt.MainLocation),{hash:{},inverse:ht.noop,fn:ht.program(96,yn,l),data:l}),(rt||0===rt)&&(it+=rt),it+="\r\n\r\n						",rt=t["if"].call(n,(rt=n&&n.Settings,null==rt||rt===!1?rt:rt.ShowNewMeetTheTeamWidget),{hash:{},inverse:ht.noop,fn:ht.program(104,In,l),data:l}),(rt||0===rt)&&(it+=rt),it+="\r\n\r\n						",rt=t["if"].call(n,(rt=n&&n.Settings,null==rt||rt===!1?rt:rt.ShowNewMeetTheTeamWidget),{hash:{},inverse:ht.noop,fn:ht.program(108,bn,l),data:l}),(rt||0===rt)&&(it+=rt),it+="\r\n						",rt=t["if"].call(n,(rt=n&&n.Settings,rt=null==rt||rt===!1?rt:rt.DisplayOptions,null==rt||rt===!1?rt:rt.Extension),{hash:{},inverse:ht.noop,fn:ht.program(112,kn,l),data:l}),(rt||0===rt)&&(it+=rt),it+="\r\n						",rt=t["if"].call(n,(rt=n&&n.Settings,null==rt||rt===!1?rt:rt.ShowNewMeetTheTeamWidget),{hash:{},inverse:ht.noop,fn:ht.program(115,xn,l),data:l}),(rt||0===rt)&&(it+=rt),it+="\r\n\r\n						",rt=t["if"].call(n,(rt=n&&n.Settings,rt=null==rt||rt===!1?rt:rt.DisplayOptions,null==rt||rt===!1?rt:rt.Address),{hash:{},inverse:ht.noop,fn:ht.program(119,Hn,l),data:l}),(rt||0===rt)&&(it+=rt),it+="\r\n					</ul>\r\n				</div>\r\n				",rt=t["if"].call(n,(rt=n&&n.Settings,null==rt||rt===!1?rt:rt.ShowInfluenceScore),{hash:{},inverse:ht.noop,fn:ht.program(122,Un,l),data:l}),(rt||0===rt)&&(it+=rt),it+='\r\n			</li>\r\n		</ul>\r\n\r\n		<ul class="unstyled inline">\r\n			',rt=t["if"].call(n,(rt=n&&n.Settings,rt=null==rt||rt===!1?rt:rt.DisplayOptions,null==rt||rt===!1?rt:rt.TwitterTag),{hash:{},inverse:ht.noop,fn:ht.program(125,Rn,l),data:l}),(rt||0===rt)&&(it+=rt),it+="\r\n			",rt=t["if"].call(n,(rt=n&&n.Settings,rt=null==rt||rt===!1?rt:rt.DisplayOptions,null==rt||rt===!1?rt:rt.InstagramTag),{hash:{},inverse:ht.noop,fn:ht.program(128,Mn,l),data:l}),(rt||0===rt)&&(it+=rt),it+="\r\n			",rt=t["if"].call(n,(rt=n&&n.Settings,rt=null==rt||rt===!1?rt:rt.DisplayOptions,null==rt||rt===!1?rt:rt.LinkedInId),{hash:{},inverse:ht.noop,fn:ht.program(131,Nn,l),data:l}),(rt||0===rt)&&(it+=rt),it+="\r\n			",rt=t["if"].call(n,(rt=n&&n.Settings,rt=null==rt||rt===!1?rt:rt.DisplayOptions,null==rt||rt===!1?rt:rt.FaceBookId),{hash:{},inverse:ht.noop,fn:ht.program(134,zn,l),data:l}),(rt||0===rt)&&(it+=rt),it+="\r\n			",rt=t["if"].call(n,(rt=n&&n.Settings,rt=null==rt||rt===!1?rt:rt.DisplayOptions,null==rt||rt===!1?rt:rt.Skype),{hash:{},inverse:ht.noop,fn:ht.program(137,jn,l),data:l}),(rt||0===rt)&&(it+=rt),it+="\r\n			",rt=t["if"].call(n,(rt=n&&n.Settings,rt=null==rt||rt===!1?rt:rt.DisplayOptions,null==rt||rt===!1?rt:rt.Chat),{hash:{},inverse:ht.noop,fn:ht.program(140,Gn,l),data:l}),(rt||0===rt)&&(it+=rt),it+="\r\n		</ul>\r\n\r\n		",rt=t["if"].call(n,(rt=n&&n.Settings,null==rt||rt===!1?rt:rt.ShowNewMeetTheTeamWidget),{hash:{},inverse:ht.noop,fn:ht.program(143,Kn,l),data:l}),(rt||0===rt)&&(it+=rt),it+="\r\n	</div>\r\n</div>\r\n"}),n.widgets_people_list_team=a(function(a,n,t,e,l){function r(a,n,e){var l,r,o,c="";return c+='\n			<li>\n				<article class="card-content is-center-text">\n					<header class="card-header">\n						<img src="'+p((r=t.asset||a&&a.asset,o={hash:{},data:n},r?r.call(a,a&&a.AssetId,5,o):u.call(a,"asset",a&&a.AssetId,5,o)))+'" class="avatar is-large-x2" alt="',(r=t.FullName)?l=r.call(a,{hash:{},data:n}):(r=a&&a.FullName,l=typeof r===h?r.call(a,{hash:{},data:n}):r),c+=p(l)+'\'s profile image" loading="lazy" />\n						<dl class="card-list-name">\n							<dt class="sr-only">Name</dt>\n							<dd class="name">\n								<h3>',(r=t.FullName)?l=r.call(a,{hash:{},data:n}):(r=a&&a.FullName,l=typeof r===h?r.call(a,{hash:{},data:n}):r),c+=p(l)+"</h3>\n							</dd>\n						</dl>\n						<dl>\n							",l=t["if"].call(a,(l=e&&e.d,l=null==l||l===!1?l:l.DisplayOptions,null==l||l===!1?l:l.JobTitle),{hash:{},inverse:d.noop,fn:d.program(2,s,n),data:n}),(l||0===l)&&(c+=l),c+="\n							",l=t["if"].call(a,(l=e&&e.d,l=null==l||l===!1?l:l.DisplayOptions,null==l||l===!1?l:l.MainDepartment),{hash:{},inverse:d.noop,fn:d.program(4,i,n),data:n}),(l||0===l)&&(c+=l),c+='\n						</dl>\n					</header>\n					<a href="/Interact/Pages/Modules/Directory/Entry.aspx?person=',(r=t.Id)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Id,l=typeof r===h?r.call(a,{hash:{},data:n}):r),c+=p(l)+'" class="button is-primary">\n						View Profile\n						<span class="icon is-normal is-right">\n							<i class="ii ii-arrow-right"></i>\n						</span>\n					</a>\n				</article>\n			</li>\n			'
}function s(a,n){var e,l,r="";return r+='\n							<dt class="sr-only">Job title</dt>\n							<dd class="title">',(l=t.JobTitle)?e=l.call(a,{hash:{},data:n}):(l=a&&a.JobTitle,e=typeof l===h?l.call(a,{hash:{},data:n}):l),r+=p(e)+"</dd>\n							"}function i(a,n){var e,l,r="";return r+='\n							<dt class="sr-only">Department</dt>\n							<dd class="department">',(l=t.Department)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Department,e=typeof l===h?l.call(a,{hash:{},data:n}):l),r+=p(e)+"</dd>\n							"}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var o,c="",h="function",p=this.escapeExpression,u=t.helperMissing,d=this;return c+='<div id="peopleListTeam">\n	<ul class="list-inline widget-controls">\n		<li>\n			<a href="#" class="icon-container jcarousel-control-prev" aria-label="Show previous people in this team">\n				<span class="icon is-normal">\n					<i class="ii ii-chevron-left"></i>\n				</span>\n			</a>\n		</li>\n		\n		<li>\n			<a href="#" class="icon-container jcarousel-control-next" aria-label="Show the next people in this team">\n				<span class="icon is-normal">\n					<i class="ii ii-chevron-right"></i>\n				</span>\n			</a>\n		</li>\n		<li class="view-all">\n			<a id="view-all-button" href="#" aria-label="Show all people in this team">\n				<div id=\'usersCount\' data-containedIds=\''+p((o=n&&n.d,o=null==o||o===!1?o:o.ContainedIdsList,typeof o===h?o.apply(n):o))+"' data-actiontitle='"+p((o=n&&n.d,o=null==o||o===!1?o:o.TeamModalTitle,typeof o===h?o.apply(n):o))+"' data-showdepartment='"+p((o=n&&n.d,o=null==o||o===!1?o:o.DisplayOptions,o=null==o||o===!1?o:o.MainDepartment,typeof o===h?o.apply(n):o))+"' data-showlocation='"+p((o=n&&n.d,o=null==o||o===!1?o:o.DisplayOptions,o=null==o||o===!1?o:o.MainLocation,typeof o===h?o.apply(n):o))+"' data-showcompany='"+p((o=n&&n.d,o=null==o||o===!1?o:o.DisplayOptions,o=null==o||o===!1?o:o.MainCompany,typeof o===h?o.apply(n):o))+'\'>View All</div>\n			</a>\n		</li>\n	</ul>\n	<div class="jcarousel">\n		<ul class="list-unstyled widget-list">\n			',o=t.each.call(n,(o=n&&n.d,null==o||o===!1?o:o.Items),{hash:{},inverse:d.noop,fn:d.programWithDepth(1,r,l,n),data:l}),(o||0===o)&&(c+=o),c+="\n		</ul>\n	</div>\n</div>"}),n.widgets_people_standard=a(function(a,n,t,e,l){function r(a,n){var e,l,r="";return r+='\r\n				<li data-toggle="tooltip" data-placement="top" title="',(l=t.FullName)?e=l.call(a,{hash:{},data:n}):(l=a&&a.FullName,e=typeof l===o?l.call(a,{hash:{},data:n}):l),r+=c(e)+'">\r\n					<a href="#" data-item-index="'+c((e=null==n||n===!1?n:n.index,typeof e===o?e.apply(a):e))+'" data-assetid="',(l=t.AssetId)?e=l.call(a,{hash:{},data:n}):(l=a&&a.AssetId,e=typeof l===o?l.call(a,{hash:{},data:n}):l),r+=c(e)+'">\r\n						<img src="/utilities/assets/handler/asset.ashx?asset=',(l=t.AssetId)?e=l.call(a,{hash:{},data:n}):(l=a&&a.AssetId,e=typeof l===o?l.call(a,{hash:{},data:n}):l),r+=c(e)+'&size=5" alt="',(l=t.FullName)?e=l.call(a,{hash:{},data:n}):(l=a&&a.FullName,e=typeof l===o?l.call(a,{hash:{},data:n}):l),r+=c(e)+' - Profile" loading="lazy">\r\n					</a>\r\n				</li>\r\n				'}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var s,i="",o="function",c=this.escapeExpression,h=this;return i+='<div id="peopleStandard" class="team_container">\r\n	<p class="intro" style="margin:0;">'+c((s=n&&n.d,s=null==s||s===!1?s:s.IntroArea,typeof s===o?s.apply(n):s))+'</p>\r\n	<div class="person-selector-carousel">\r\n		<a href="javascript:void(0)" class="icon-container jcarousel-control-prev" aria-label="Show previous people in this team">\r\n			<span class="icon">\r\n				<i class="fa fa-chevron-left ii-chevron-left"></i>\r\n			</span>\r\n		</a>\r\n		<div class="jcarousel">\r\n			<ul class="list-unstyled carousel-items">\r\n				',s=t.each.call(n,(s=n&&n.d,null==s||s===!1?s:s.Items),{hash:{},inverse:h.noop,fn:h.program(1,r,l),data:l}),(s||0===s)&&(i+=s),i+='\r\n			</ul>\r\n		</div>\r\n		<a href="javascript:void(0)" class="icon-container jcarousel-control-next" aria-label="Show the next people in this team">\r\n			<span class="icon">\r\n				<i class="fa fa-chevron-right ii-chevron-right"></i>\r\n			</span>\r\n		</a>\r\n	</div>\r\n	<div data-people-widget-information="true">\r\n	</div>	\r\n</div>'}),n.widgets_personalcontent_dropdown=a(function(a,n,t,e,l,r){function s(a,n,e){var l,r,s="";return s+='\n					<option value="'+N((l=e&&e.WidgetInstanceId,typeof l===O?l.apply(a):l))+"-",(r=t.index)?l=r.call(a,{hash:{},data:n}):(r=a&&a.index,l=typeof r===O?r.call(a,{hash:{},data:n}):r),s+=N(l)+'">'+N((l=a&&a.item,l=null==l||l===!1?l:l.Term,typeof l===O?l.apply(a):l))+" ("+N((l=a&&a.item,l=null==l||l===!1?l:l.SearchResultCount,typeof l===O?l.apply(a):l))+")</option>\n					"}function i(a,n,e){var l,r,s="";return s+='\n				<div id="'+N((l=e&&e.WidgetInstanceId,typeof l===O?l.apply(a):l))+"-",(r=t.index)?l=r.call(a,{hash:{},data:n}):(r=a&&a.index,l=typeof r===O?r.call(a,{hash:{},data:n}):r),s+=N(l)+'" class="Widget_Content_List tab-pane',l=t["if"].call(a,a&&a.first,{hash:{},inverse:z.noop,fn:z.program(4,o,n),data:n}),(l||0===l)&&(s+=l),s+='">\n					<ul class="unstyled content-widget-items-container">\n						',l=t.each.call(a,(l=a&&a.item,null==l||l===!1?l:l.SearchResults),{hash:{},inverse:z.noop,fn:z.programWithDepth(6,c,n,e),data:n}),(l||0===l)&&(s+=l),s+='\n					</ul>\n\n					<a href="'+N((l=a&&a.item,l=null==l||l===!1?l:l.SearchMoreLinkUrl,typeof l===O?l.apply(a):l))+'" style="display: block; text-align: center; margin-top: 15px;">'+N((l=e&&e.SystemText,l=null==l||l===!1?l:l.allResultsLinkText,typeof l===O?l.apply(a):l))+' "'+N((l=a&&a.item,l=null==l||l===!1?l:l.Term,typeof l===O?l.apply(a):l))+'"</a>\n				</div>\n			'}function o(){return" active"}function c(a,n,e){var l,r,s,i="";return i+='\n						<li class="',l=t["if"].call(a,a&&a.IsKey,{hash:{},inverse:z.program(9,p,n),fn:z.program(7,h,n),data:n}),(l||0===l)&&(i+=l),i+='">\n							<div class="pull-left content-widget-list-image-container">\n								<img src="',l=t["if"].call(a,a&&a.AssetID,{hash:{},inverse:z.program(13,d,n),fn:z.program(11,u,n),data:n}),(l||0===l)&&(i+=l),i+='" loading="lazy"/>\n							</div>\n							<div class="content-widget-list-details-container">\n								<div dir="auto">\n									<a ',r=t.when||a&&a.when,s={hash:{},inverse:z.noop,fn:z.program(15,f,n),data:n},l=r?r.call(a,"Type == 'SearchApplication'",s):F.call(a,"when","Type == 'SearchApplication'",s),(l||0===l)&&(i+=l),i+=' href="',(r=t.URL)?l=r.call(a,{hash:{},data:n}):(r=a&&a.URL,l=typeof r===O?r.call(a,{hash:{},data:n}):r),i+=N(l)+'">',(r=t.Title)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Title,l=typeof r===O?r.call(a,{hash:{},data:n}):r),(l||0===l)&&(i+=l),i+="</a>\n								</div>\n								",r=t.equals||a&&a.equals,s={hash:{},inverse:z.programWithDepth(20,y,n,e),fn:z.programWithDepth(17,m,n,e),data:n},l=r?r.call(a,a&&a.Type,"Event",s):F.call(a,"equals",a&&a.Type,"Event",s),(l||0===l)&&(i+=l),i+="\n\n								<!-- This will return true if AuthorType is greater than 0, i.e. not a person -->\n								",l=t["if"].call(a,a&&a.AuthorType,{hash:{},inverse:z.programWithDepth(27,I,n,e),fn:z.programWithDepth(24,D,n,e),data:n}),(l||0===l)&&(i+=l),i+='\n								<div class="social-tools">\n									<div class="row-fluid">\n										<div class="span7 pull-left">\n											',r=t.when||a&&a.when,s={hash:{},inverse:z.program(35,q,n),fn:z.program(30,A,n),data:n},l=r?r.call(a,"Type != 'Event'",s):F.call(a,"when","Type != 'Event'",s),(l||0===l)&&(i+=l),i+='\n										</div>\n										<div class="span5 pull-right">\n											',l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:z.noop,fn:z.programWithDepth(41,L,n,e),data:n}),(l||0===l)&&(i+=l),i+="\n										</div>\n									</div>\n								</div>\n							</div>\n						</li>\n						"}function h(){return"content-widget-item-key"}function p(){return"content-widget-item"}function u(a,n){var e,l,r;return l=t.asset||a&&a.asset,r={hash:{},data:n},e=l?l.call(a,a&&a.AssetID,3,r):F.call(a,"asset",a&&a.AssetID,3,r),e||0===e?e:""}function d(a,n){var e,l;return N((e=t.avatar||a&&a.avatar,l={hash:{},data:n},e?e.call(a,a&&a.Type,l):F.call(a,"avatar",a&&a.Type,l)))}function f(){return' target="_blank" '}function m(a,n,e){var l,r="";return r+="\n								",l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:z.noop,fn:z.programWithDepth(18,v,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n								"}function v(a,n,t){var e,l="";return l+='\n								<div class="widget-personalcontent-location">'+N((e=t&&t.SystemText,e=null==e||e===!1?e:e.Location,typeof e===O?e.apply(a):e))+": ",e=a&&a.Entity,e=null==e||e===!1?e:e.Location,e=typeof e===O?e.apply(a):e,(e||0===e)&&(l+=e),l+="</div>\n								"}function y(a,n,e){var l,r,s,i="";return i+="\n								",r=t.equals||e&&e.equals,s={hash:{},inverse:z.noop,fn:z.program(21,g,n),data:n},l=r?r.call(a,e&&e.IncludeSummary,"true",s):F.call(a,"equals",e&&e.IncludeSummary,"true",s),(l||0===l)&&(i+=l),i+="\n								"}function g(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,a&&a.Summary,{hash:{},inverse:z.noop,fn:z.program(22,S,n),data:n}),(e||0===e)&&(l+=e),l+="\n								"}function S(a,n){var e,l,r="";return r+='\n								<div>\n									<p class="ellipsis is-ellipsis" dir="auto">\n										',(l=t.Summary)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Summary,e=typeof l===O?l.call(a,{hash:{},data:n}):l),(e||0===e)&&(r+=e),r+="\n									</p>\n								</div>\n								"}function D(a,n,e){var l,r="";return r+="\n									",l=t["if"].call(a,a&&a.Author,{hash:{},inverse:z.noop,fn:z.programWithDepth(25,T,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n								"}function T(a,n,e){var l,r,s="";return s+='\n										<!-- Display a span instead of a link -->\n										<div class="widget-personalcontent-author">\n											'+N((l=e&&e.SystemText,l=null==l||l===!1?l:l.By,typeof l===O?l.apply(a):l))+" <span><strong>",(r=t.Author)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Author,l=typeof r===O?r.call(a,{hash:{},data:n}):r),s+=N(l)+"</strong></span>\n										</div>\n									"}function I(a,n,e){var l,r="";return r+="\n									",l=t["if"].call(a,a&&a.Author,{hash:{},inverse:z.noop,fn:z.programWithDepth(28,w,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n								"}function w(a,n,e){var l,r,s,i="";return i+='\n										<div class="widget-personalcontent-author">\n											'+N((l=e&&e.SystemText,l=null==l||l===!1?l:l.By,typeof l===O?l.apply(a):l))+' <a href="'+N((r=t.link||a&&a.link,s={hash:{},data:n},r?r.call(a,"Person",a&&a.AuthorID,s):F.call(a,"link","Person",a&&a.AuthorID,s)))+'">',(r=t.Author)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Author,l=typeof r===O?r.call(a,{hash:{},data:n}):r),i+=N(l)+"</a>\n										</div>\n									"}function A(a,n){var e,l="";return l+='\n											<time class="timeago pull-left" datetime="',e=t["if"].call(a,a&&a.ShowUpdateDate,{hash:{},inverse:z.program(33,C,n),fn:z.program(31,b,n),data:n}),(e||0===e)&&(l+=e),l+='"></time>\n											'}function b(a,n){var e,l,r="";return r+=" ",(l=t.UpdateDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.UpdateDate,e=typeof l===O?l.call(a,{hash:{},data:n}):l),r+=N(e)+" "}function C(a,n){var e,l,r="";return r+=" ",(l=t.StartDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.StartDate,e=typeof l===O?l.call(a,{hash:{},data:n}):l),r+=N(e)+" "}function q(a,n){var e,l,r,s="";return s+="\n											",l=t.equals||a&&a.equals,r={hash:{},inverse:z.program(39,x,n),fn:z.program(36,k,n),data:n},e=l?l.call(a,(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r):F.call(a,"equals",(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r),(e||0===e)&&(s+=e),s+="\n											"}function k(a,n){var e,l,r,s="";return s+='<span class="pull-left timeago" style="white-space:pre-line;">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:z.noop,fn:z.program(37,E,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.EndDate,r):F.call(a,"eventTimeString",a&&a.StartDate,a&&a.EndDate,r),(e||0===e)&&(s+=e),s+="</span>"}function E(){var a="";return a}function x(a,n){var e,l,r,s="";return s+='<span class="timeago" style="white-space:pre-line;">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:z.noop,fn:z.program(37,E,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.StartDate,r):F.call(a,"eventTimeString",a&&a.StartDate,a&&a.StartDate,r),(e||0===e)&&(s+=e),s+="</span>"}function L(a,n,e){var l,r,s,i="";return i+='\n											<span class="pull-right count">\n												',r=t.equals||a&&a.equals,s={hash:{},inverse:z.noop,fn:z.programWithDepth(42,W,n,e),data:n},l=r?r.call(a,(l=a&&a.Entity,null==l||l===!1?l:l.IsCommentsAllowed),"true",s):F.call(a,"equals",(l=a&&a.Entity,null==l||l===!1?l:l.IsCommentsAllowed),"true",s),(l||0===l)&&(i+=l),i+='\n												<span title="',r=t.equals||a&&a.equals,s={hash:{},inverse:z.program(47,U,n),fn:z.program(43,H,n),data:n},l=r?r.call(a,a&&a.LikeCount,"-1",s):F.call(a,"equals",a&&a.LikeCount,"-1",s),(l||0===l)&&(i+=l),i+=" "+N((l=e&&e.SystemText,l=null==l||l===!1?l:l.Likes,typeof l===O?l.apply(a):l))+'">\n													<span class="icon is-normal"><i class="iconextra-like ii-like"></i></span>\n													',r=t.equals||a&&a.equals,s={hash:{},inverse:z.program(47,U,n),fn:z.program(43,H,n),data:n},l=r?r.call(a,a&&a.LikeCount,"-1",s):F.call(a,"equals",a&&a.LikeCount,"-1",s),(l||0===l)&&(i+=l),i+="\n												</span>\n											</span>\n											"}function W(a,n,e){var l,r,s,i="";return i+='\n												<span title="',r=t.equals||a&&a.equals,s={hash:{},inverse:z.program(45,_,n),fn:z.program(43,H,n),data:n},l=r?r.call(a,a&&a.CommentCount,"-1",s):F.call(a,"equals",a&&a.CommentCount,"-1",s),(l||0===l)&&(i+=l),i+=" "+N((l=e&&e.SystemText,l=null==l||l===!1?l:l.Comments,typeof l===O?l.apply(a):l))+'">\n													<span class="icon is-normal"><i class="iconextra-comment ii-comments"></i></span>\n													',r=t.equals||a&&a.equals,s={hash:{},inverse:z.program(45,_,n),fn:z.program(43,H,n),data:n},l=r?r.call(a,(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s):F.call(a,"equals",(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s),(l||0===l)&&(i+=l),i+="\n												</span>\n												"}function H(){return"0"}function _(a,n){var e,l;return(l=t.CommentCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.CommentCount,e=typeof l===O?l.call(a,{hash:{},data:n}):l),N(e)}function U(a,n){var e,l;return(l=t.LikeCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.LikeCount,e=typeof l===O?l.call(a,{hash:{},data:n}):l),N(e)}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var P,R,B,M="",O="function",N=this.escapeExpression,F=t.helperMissing,z=this;return M+='<div class="row-fluid">\n	<div class="span12">\n		<nav class="sticky-nav">\n			<div class="items">\n				<select class="widget-content-select-option">\n					',R=t.loop||n&&n.loop,B={hash:{},inverse:z.noop,fn:z.programWithDepth(1,s,l,n),data:l},P=R?R.call(n,(P=n&&n.Data,null==P||P===!1?P:P.TermResults),B):F.call(n,"loop",(P=n&&n.Data,null==P||P===!1?P:P.TermResults),B),(P||0===P)&&(M+=P),M+='\n				</select>\n			</div>\n\n			<div class="actions">\n				<button class="btn nav-button personalcontent-edit" data-tab="#',(R=t.WidgetInstanceId)?P=R.call(n,{hash:{},data:l}):(R=n&&n.WidgetInstanceId,P=typeof R===O?R.call(n,{hash:{},data:l}):R),M+=N(P)+'-edit" type="button">\n					<i class="fa fa-ellipsis-v ii-ellipses-v" aria-hidden="true"></i>\n				</button>\n			</div>\n		</nav>\n		<main class="tab-content">\n			',R=t.loop||n&&n.loop,B={hash:{},inverse:z.noop,fn:z.programWithDepth(3,i,l,n),data:l},P=R?R.call(n,(P=n&&n.Data,null==P||P===!1?P:P.TermResults),B):F.call(n,"loop",(P=n&&n.Data,null==P||P===!1?P:P.TermResults),B),(P||0===P)&&(M+=P),M+='\n			<div id="',(R=t.WidgetInstanceId)?P=R.call(n,{hash:{},data:l}):(R=n&&n.WidgetInstanceId,P=typeof R===O?R.call(n,{hash:{},data:l}):R),M+=N(P)+'-edit" class="Widget_Content_List tab-pane ',P=t["if"].call(n,(P=n&&n.Data,null==P||P===!1?P:P.NoTerms),{hash:{},inverse:z.noop,fn:z.program(4,o,l),data:l}),(P||0===P)&&(M+=P),M+='">\n				<div class="alert alert-info">\n					'+N((P=n&&n.SystemText,P=null==P||P===!1?P:P.introText,typeof P===O?P.apply(n):P))+'\n				</div>\n				<input class="personal-widget-search-term-dropdown-select" id="'+N((P=r&&r.WidgetInstanceId,typeof P===O?P.apply(n):P))+'-search-terms" />\n				<hr />\n				<button class="btn btn-primary is-solid personal-widget-search-term-dropdown-save" type="button">'+N((P=n&&n.SystemText,P=null==P||P===!1?P:P.saveTermsButtonText,typeof P===O?P.apply(n):P))+"</button>\n			</div>\n		</main>\n	</div>\n</div>\n"}),n.widgets_personalcontent_tabbed2=a(function(a,n,t,e,l,r){function s(a,n,e){var l,r,s="";return s+="\n								<li ",l=t["if"].call(a,a&&a.first,{hash:{},inverse:N.noop,fn:N.program(2,i,n),data:n}),(l||0===l)&&(s+=l),s+='>\n									<a href="#'+z((l=e&&e.WidgetInstanceId,typeof l===F?l.apply(a):l))+"-",(r=t.index)?l=r.call(a,{hash:{},data:n}):(r=a&&a.index,l=typeof r===F?r.call(a,{hash:{},data:n}):r),s+=z(l)+'" data-tab="',(r=t.index)?l=r.call(a,{hash:{},data:n}):(r=a&&a.index,l=typeof r===F?r.call(a,{hash:{},data:n}):r),s+=z(l)+'" class="widget-content-tabbed-option">'+z((l=a&&a.item,l=null==l||l===!1?l:l.Term,typeof l===F?l.apply(a):l))+" ("+z((l=a&&a.item,l=null==l||l===!1?l:l.SearchResultCount,typeof l===F?l.apply(a):l))+")</a>\n								</li>\n								"}function i(){return' class="active" '}function o(a,n,e){var l,r,s="";return s+='\n				<div id="'+z((l=e&&e.WidgetInstanceId,typeof l===F?l.apply(a):l))+"-",(r=t.index)?l=r.call(a,{hash:{},data:n}):(r=a&&a.index,l=typeof r===F?r.call(a,{hash:{},data:n}):r),s+=z(l)+'" class="Widget_Content_List tab-pane',l=t["if"].call(a,a&&a.first,{hash:{},inverse:N.noop,fn:N.program(5,c,n),data:n}),(l||0===l)&&(s+=l),s+='">\n					<ul class="unstyled content-widget-items-container">\n						',l=t.each.call(a,(l=a&&a.item,null==l||l===!1?l:l.SearchResults),{hash:{},inverse:N.noop,fn:N.programWithDepth(7,h,n,e),data:n}),(l||0===l)&&(s+=l),s+='\n					</ul>\n\n					<a href="'+z((l=a&&a.item,l=null==l||l===!1?l:l.SearchMoreLinkUrl,typeof l===F?l.apply(a):l))+'" style="display: block; text-align: center; margin-top: 15px;">'+z((l=e&&e.SystemText,l=null==l||l===!1?l:l.allResultsLinkText,typeof l===F?l.apply(a):l))+' "'+z((l=a&&a.item,l=null==l||l===!1?l:l.Term,typeof l===F?l.apply(a):l))+'"</a>\n				</div>\n			'}function c(){return" active"}function h(a,n,e){var l,r,s,i="";return i+='\n						<li class="',l=t["if"].call(a,a&&a.IsKey,{hash:{},inverse:N.program(10,u,n),fn:N.program(8,p,n),data:n}),(l||0===l)&&(i+=l),i+='">\n							<div class="pull-left content-widget-list-image-container">\n								<img src="',l=t["if"].call(a,a&&a.AssetID,{hash:{},inverse:N.program(14,f,n),fn:N.program(12,d,n),data:n}),(l||0===l)&&(i+=l),i+='" loading="lazy"/>\n							</div>\n							<div class="content-widget-list-details-container">\n								<div dir="auto">\n									<a ',r=t.when||a&&a.when,s={hash:{},inverse:N.noop,fn:N.program(16,m,n),data:n},l=r?r.call(a,"Type == 'SearchApplication'",s):Y.call(a,"when","Type == 'SearchApplication'",s),(l||0===l)&&(i+=l),i+=' href="',(r=t.URL)?l=r.call(a,{hash:{},data:n}):(r=a&&a.URL,l=typeof r===F?r.call(a,{hash:{},data:n}):r),i+=z(l)+'">',(r=t.Title)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Title,l=typeof r===F?r.call(a,{hash:{},data:n}):r),(l||0===l)&&(i+=l),i+="</a>\n								</div>\n								",r=t.equals||a&&a.equals,s={hash:{},inverse:N.programWithDepth(21,g,n,e),fn:N.programWithDepth(18,v,n,e),data:n},l=r?r.call(a,a&&a.Type,"Event",s):Y.call(a,"equals",a&&a.Type,"Event",s),(l||0===l)&&(i+=l),i+="\n\n								<!-- This will return true if AuthorType is greater than 0, i.e. not a person -->\n								",l=t["if"].call(a,a&&a.AuthorType,{hash:{},inverse:N.programWithDepth(28,w,n,e),fn:N.programWithDepth(25,T,n,e),data:n}),(l||0===l)&&(i+=l),i+='\n\n								<div class="social-tools">\n									<div class="row-fluid">\n										<div class="span7 pull-left">\n											',r=t.when||a&&a.when,s={hash:{},inverse:N.program(36,k,n),fn:N.program(31,b,n),data:n},l=r?r.call(a,"Type != 'Event'",s):Y.call(a,"when","Type != 'Event'",s),(l||0===l)&&(i+=l),i+='\n										</div>\n										<div class="span5 pull-right">\n											',l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:N.noop,fn:N.programWithDepth(42,W,n,e),data:n}),(l||0===l)&&(i+=l),i+="\n										</div>\n									</div>\n								</div>\n							</div>\n						</li>\n						"}function p(){return"content-widget-item-key"}function u(){return"content-widget-item"}function d(a,n){var e,l,r;return l=t.asset||a&&a.asset,r={hash:{},data:n},e=l?l.call(a,a&&a.AssetID,3,r):Y.call(a,"asset",a&&a.AssetID,3,r),e||0===e?e:""}function f(a,n){var e,l;return z((e=t.avatar||a&&a.avatar,l={hash:{},data:n},e?e.call(a,a&&a.Type,l):Y.call(a,"avatar",a&&a.Type,l)))}function m(){return' target="_blank" '}function v(a,n,e){var l,r="";return r+="\n								",l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:N.noop,fn:N.programWithDepth(19,y,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n								"}function y(a,n,t){var e,l="";return l+='\n								<div class="widget-personalcontent-location">'+z((e=t&&t.SystemText,e=null==e||e===!1?e:e.Location,typeof e===F?e.apply(a):e))+": ",e=a&&a.Entity,e=null==e||e===!1?e:e.Location,e=typeof e===F?e.apply(a):e,(e||0===e)&&(l+=e),l+="</div>\n								"}function g(a,n,e){var l,r,s,i="";return i+="\n								",r=t.equals||e&&e.equals,s={hash:{},inverse:N.noop,fn:N.program(22,S,n),data:n},l=r?r.call(a,e&&e.IncludeSummary,"true",s):Y.call(a,"equals",e&&e.IncludeSummary,"true",s),(l||0===l)&&(i+=l),i+="\n								"}function S(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,a&&a.Summary,{hash:{},inverse:N.noop,fn:N.program(23,D,n),data:n}),(e||0===e)&&(l+=e),l+="\n								"}function D(a,n){var e,l,r="";return r+='\n								<div>\n									<p class="ellipsis is-ellipsis" dir="auto">\n										',(l=t.Summary)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Summary,e=typeof l===F?l.call(a,{hash:{},data:n}):l),(e||0===e)&&(r+=e),r+="\n									</p>\n								</div>\n								"}function T(a,n,e){var l,r="";return r+="\n									",l=t["if"].call(a,a&&a.Author,{hash:{},inverse:N.noop,fn:N.programWithDepth(26,I,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n								"}function I(a,n,e){var l,r,s="";return s+='\n										<!-- Display a span instead of a link -->\n										<div class="widget-personalcontent-author">\n											'+z((l=e&&e.SystemText,l=null==l||l===!1?l:l.By,typeof l===F?l.apply(a):l))+" <span><strong>",(r=t.Author)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Author,l=typeof r===F?r.call(a,{hash:{},data:n}):r),s+=z(l)+"</strong></span>\n										</div>\n									"}function w(a,n,e){var l,r="";return r+="\n									",l=t["if"].call(a,a&&a.Author,{hash:{},inverse:N.noop,fn:N.programWithDepth(29,A,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n								"}function A(a,n,e){var l,r,s,i="";return i+='\n										<div class="widget-personalcontent-author">\n											'+z((l=e&&e.SystemText,l=null==l||l===!1?l:l.By,typeof l===F?l.apply(a):l))+' <a href="'+z((r=t.link||a&&a.link,s={hash:{},data:n},r?r.call(a,"Person",a&&a.AuthorID,s):Y.call(a,"link","Person",a&&a.AuthorID,s)))+'">',(r=t.Author)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Author,l=typeof r===F?r.call(a,{hash:{},data:n}):r),i+=z(l)+"</a>\n										</div>\n									"}function b(a,n){var e,l="";return l+='\n											<time class="timeago pull-left" datetime="',e=t["if"].call(a,a&&a.ShowUpdateDate,{hash:{},inverse:N.program(34,q,n),fn:N.program(32,C,n),data:n}),(e||0===e)&&(l+=e),l+='"></time>\n											'}function C(a,n){var e,l,r="";return r+=" ",(l=t.UpdateDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.UpdateDate,e=typeof l===F?l.call(a,{hash:{},data:n}):l),r+=z(e)+" "}function q(a,n){var e,l,r="";return r+=" ",(l=t.StartDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.StartDate,e=typeof l===F?l.call(a,{hash:{},data:n}):l),r+=z(e)+" "}function k(a,n){var e,l,r,s="";return s+="\n											",l=t.equals||a&&a.equals,r={hash:{},inverse:N.program(40,L,n),fn:N.program(37,E,n),data:n},e=l?l.call(a,(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r):Y.call(a,"equals",(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r),(e||0===e)&&(s+=e),s+="\n											"}function E(a,n){var e,l,r,s="";return s+='<span class="pull-left timeago" style="white-space:pre-line;">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:N.noop,fn:N.program(38,x,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.EndDate,r):Y.call(a,"eventTimeString",a&&a.StartDate,a&&a.EndDate,r),(e||0===e)&&(s+=e),s+="</span>"}function x(){var a="";return a}function L(a,n){var e,l,r,s="";return s+='<span class="timeago" style="white-space:pre-line;">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:N.noop,fn:N.program(38,x,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.StartDate,r):Y.call(a,"eventTimeString",a&&a.StartDate,a&&a.StartDate,r),(e||0===e)&&(s+=e),s+="</span>"}function W(a,n,e){var l,r,s,i="";return i+='\n											<span class="pull-right count">\n												',r=t.equals||a&&a.equals,s={hash:{},inverse:N.noop,fn:N.programWithDepth(43,H,n,e),data:n},l=r?r.call(a,(l=a&&a.Entity,null==l||l===!1?l:l.IsCommentsAllowed),"true",s):Y.call(a,"equals",(l=a&&a.Entity,null==l||l===!1?l:l.IsCommentsAllowed),"true",s),(l||0===l)&&(i+=l),i+='\n												<span title="',r=t.equals||a&&a.equals,s={hash:{},inverse:N.program(48,P,n),fn:N.program(44,_,n),data:n},l=r?r.call(a,a&&a.LikeCount,"-1",s):Y.call(a,"equals",a&&a.LikeCount,"-1",s),(l||0===l)&&(i+=l),i+=" "+z((l=e&&e.SystemText,l=null==l||l===!1?l:l.Likes,typeof l===F?l.apply(a):l))+'">\n													<span class="icon is-normal"><i class="iconextra-like ii-like"></i></span>\n													',r=t.equals||a&&a.equals,s={hash:{},inverse:N.program(48,P,n),fn:N.program(44,_,n),data:n},l=r?r.call(a,a&&a.LikeCount,"-1",s):Y.call(a,"equals",a&&a.LikeCount,"-1",s),(l||0===l)&&(i+=l),i+="\n												</span>\n											</span>\n											"}function H(a,n,e){var l,r,s,i="";return i+='\n												<span title="',r=t.equals||a&&a.equals,s={hash:{},inverse:N.program(46,U,n),fn:N.program(44,_,n),data:n},l=r?r.call(a,a&&a.CommentCount,"-1",s):Y.call(a,"equals",a&&a.CommentCount,"-1",s),(l||0===l)&&(i+=l),i+=" "+z((l=e&&e.SystemText,l=null==l||l===!1?l:l.Comments,typeof l===F?l.apply(a):l))+'">\n													<span class="icon is-normal"><i class="iconextra-comment ii-comments"></i></span>\n													',r=t.equals||a&&a.equals,s={hash:{},inverse:N.program(46,U,n),fn:N.program(44,_,n),data:n},l=r?r.call(a,(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s):Y.call(a,"equals",(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s),(l||0===l)&&(i+=l),i+="\n												</span>\n												"}function _(){return"0"}function U(a,n){var e,l;return(l=t.CommentCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.CommentCount,e=typeof l===F?l.call(a,{hash:{},data:n}):l),z(e)}function P(a,n){var e,l;return(l=t.LikeCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.LikeCount,e=typeof l===F?l.call(a,{hash:{},data:n}):l),z(e)}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var R,B,M,O="",N=this,F="function",z=this.escapeExpression,Y=t.helperMissing;return O+='<div class="row-fluid">\n	<div class="span12">\n		<nav class="sticky-nav">\n				<div class="items">\n					<div class="tab-slider">\n						<div class="tab-slider-left">\n							<button id="',(B=t.WidgetInstanceId)?R=B.call(n,{hash:{},data:l}):(B=n&&n.WidgetInstanceId,R=typeof B===F?B.call(n,{hash:{},data:l}):B),O+=z(R)+'-left-button" class="btn nav-button" type="button" aria-label="show tabs left">\n								<i class="fa fa-angle-left ii-chevron-left" aria-hidden="true"></i>\n							</button>\n						</div>\n						<div class="tab-slider-main">\n							<ul class="nav nav-tabs">\n								',B=t.loop||n&&n.loop,M={hash:{},inverse:N.noop,fn:N.programWithDepth(1,s,l,n),data:l},R=B?B.call(n,(R=n&&n.Data,null==R||R===!1?R:R.TermResults),M):Y.call(n,"loop",(R=n&&n.Data,null==R||R===!1?R:R.TermResults),M),(R||0===R)&&(O+=R),O+='\n							</ul>\n						</div>\n						<div class="tab-slider-right">\n							<button id="',(B=t.WidgetInstanceId)?R=B.call(n,{hash:{},data:l}):(B=n&&n.WidgetInstanceId,R=typeof B===F?B.call(n,{hash:{},data:l}):B),O+=z(R)+'-right-button" class="btn nav-button" type="button" aria-label="show tabs right">\n								<i class="fa fa-angle-right ii-chevron-right" aria-hidden="true"></i>\n							</button>\n						</div>\n						<div class="tab-slider-actions">\n							<button class="btn nav-button personalcontent-edit" data-tab="#',(B=t.WidgetInstanceId)?R=B.call(n,{hash:{},data:l}):(B=n&&n.WidgetInstanceId,R=typeof B===F?B.call(n,{hash:{},data:l}):B),O+=z(R)+'-edit" type="button" aria-label="edit">\n								<i class="fa fa-ellipsis-v ii-ellipses-v" aria-hidden="true"></i>\n							</button>\n						</div>\n					</div>\n				</div>\n			</nav>\n			<main class="tab-content">\n			',B=t.loop||n&&n.loop,M={hash:{},inverse:N.noop,fn:N.programWithDepth(4,o,l,n),data:l},R=B?B.call(n,(R=n&&n.Data,null==R||R===!1?R:R.TermResults),M):Y.call(n,"loop",(R=n&&n.Data,null==R||R===!1?R:R.TermResults),M),(R||0===R)&&(O+=R),O+='\n			<div id="',(B=t.WidgetInstanceId)?R=B.call(n,{hash:{},data:l}):(B=n&&n.WidgetInstanceId,R=typeof B===F?B.call(n,{hash:{},data:l}):B),O+=z(R)+'-edit" class="Widget_Content_List tab-pane ',R=t["if"].call(n,(R=n&&n.Data,null==R||R===!1?R:R.NoTerms),{hash:{},inverse:N.noop,fn:N.program(5,c,l),data:l}),(R||0===R)&&(O+=R),O+='">\n				<div class="alert alert-info" style="align-items: inherit;">\n					'+z((R=n&&n.SystemText,R=null==R||R===!1?R:R.introText,typeof R===F?R.apply(n):R))+'\n				</div>\n				<span id="'+z((R=r&&r.WidgetInstanceId,typeof R===F?R.apply(n):R))+'-search-terms-label" class="sr-only">Search</span>\n				<input class="personal-widget-search-term-tabbed-select" id="'+z((R=r&&r.WidgetInstanceId,typeof R===F?R.apply(n):R))+'-search-terms" aria-labelledby="'+z((R=r&&r.WidgetInstanceId,typeof R===F?R.apply(n):R))+'-search-terms-label" />\n				<hr />\n				<button class="btn btn-primary is-solid personal-widget-search-term-tabbed-save" type="button">'+z((R=n&&n.SystemText,R=null==R||R===!1?R:R.saveTermsButtonText,typeof R===F?R.apply(n):R))+"</button>\n			</div>\n		</main>\n	</div>\n</div>\n"}),n.widgets_polls_standard=a(function(a,n,t,e,l){function r(a){var n,t="";return t+="\r\n		<span>"+T((n=a&&a.SystemText,n=null==n||n===!1?n:n.NoPoll,typeof n===D?n.apply(a):n))+"</span>\r\n		"}function s(a,n){var e,l,r="";return r+="\r\n\r\n		",e=t["if"].call(a,a&&a.Question,{hash:{},inverse:I.program(6,o,n),fn:I.program(4,i,n),data:n}),(e||0===e)&&(r+=e),r+='\r\n			<div class="well well-small">\r\n				',e=t["if"].call(a,a&&a.Answer1,{hash:{},inverse:I.noop,fn:I.program(8,c,n),data:n}),(e||0===e)&&(r+=e),r+="\r\n				",e=t["if"].call(a,a&&a.Answer2,{hash:{},inverse:I.noop,fn:I.program(10,h,n),data:n}),(e||0===e)&&(r+=e),r+="\r\n				",e=t["if"].call(a,a&&a.Answer3,{hash:{},inverse:I.noop,fn:I.program(12,p,n),data:n}),(e||0===e)&&(r+=e),r+="\r\n				",e=t["if"].call(a,a&&a.Answer4,{hash:{},inverse:I.noop,fn:I.program(14,u,n),data:n}),(e||0===e)&&(r+=e),r+="\r\n				",e=t["if"].call(a,a&&a.Answer5,{hash:{},inverse:I.noop,fn:I.program(16,d,n),data:n}),(e||0===e)&&(r+=e),r+='\r\n			</div>\r\n			<div class="row-fluid">\r\n				<div class="span12">\r\n					<button class="btn btn-primary pull-right btn-small" id="submit',(l=t.UniqueId)?e=l.call(a,{hash:{},data:n}):(l=a&&a.UniqueId,e=typeof l===D?l.call(a,{hash:{},data:n}):l),r+=T(e)+'">'+T((e=a&&a.SystemText,e=null==e||e===!1?e:e.Submit,typeof e===D?e.apply(a):e))+"</button>\r\n				</div>\r\n			</div>\r\n		",e=t["if"].call(a,a&&a.Question,{hash:{},inverse:I.program(20,m,n),fn:I.program(18,f,n),data:n}),(e||0===e)&&(r+=e),r+="\r\n	</div>\r\n	"}function i(a,n){var e,l,r="";return r+='\r\n		<fieldset class="QuestionForm">\r\n			<legend id="label',(l=t.UniqueId)?e=l.call(a,{hash:{},data:n}):(l=a&&a.UniqueId,e=typeof l===D?l.call(a,{hash:{},data:n}):l),r+=T(e)+'">',(l=t.Question)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Question,e=typeof l===D?l.call(a,{hash:{},data:n}):l),r+=T(e)+"</legend>\r\n		"}function o(){return'\r\n		<div class="QuestionForm" role="radiogroup">\r\n		'}function c(a,n){var e,l,r="";return r+='\r\n				<label for="Poll_Answer1_',(l=t.UniqueId)?e=l.call(a,{hash:{},data:n}):(l=a&&a.UniqueId,e=typeof l===D?l.call(a,{hash:{},data:n}):l),r+=T(e)+'">\r\n					<input type="radio" name="pollAnswer_',(l=t.UniqueId)?e=l.call(a,{hash:{},data:n}):(l=a&&a.UniqueId,e=typeof l===D?l.call(a,{hash:{},data:n}):l),r+=T(e)+'" id="Poll_Answer1_',(l=t.UniqueId)?e=l.call(a,{hash:{},data:n}):(l=a&&a.UniqueId,e=typeof l===D?l.call(a,{hash:{},data:n}):l),r+=T(e)+'" value="1" />\r\n					',(l=t.Answer1)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Answer1,e=typeof l===D?l.call(a,{hash:{},data:n}):l),r+=T(e)+"\r\n				</label>\r\n				"
}function h(a,n){var e,l,r="";return r+='\r\n				<label for="Poll_Answer2_',(l=t.UniqueId)?e=l.call(a,{hash:{},data:n}):(l=a&&a.UniqueId,e=typeof l===D?l.call(a,{hash:{},data:n}):l),r+=T(e)+'">\r\n					<input type="radio" name="pollAnswer_',(l=t.UniqueId)?e=l.call(a,{hash:{},data:n}):(l=a&&a.UniqueId,e=typeof l===D?l.call(a,{hash:{},data:n}):l),r+=T(e)+'" id="Poll_Answer2_',(l=t.UniqueId)?e=l.call(a,{hash:{},data:n}):(l=a&&a.UniqueId,e=typeof l===D?l.call(a,{hash:{},data:n}):l),r+=T(e)+'" value="2" />\r\n					',(l=t.Answer2)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Answer2,e=typeof l===D?l.call(a,{hash:{},data:n}):l),r+=T(e)+"\r\n				</label>\r\n				"}function p(a,n){var e,l,r="";return r+='\r\n				<label for="Poll_Answer3_',(l=t.UniqueId)?e=l.call(a,{hash:{},data:n}):(l=a&&a.UniqueId,e=typeof l===D?l.call(a,{hash:{},data:n}):l),r+=T(e)+'">\r\n					<input type="radio" name="pollAnswer_',(l=t.UniqueId)?e=l.call(a,{hash:{},data:n}):(l=a&&a.UniqueId,e=typeof l===D?l.call(a,{hash:{},data:n}):l),r+=T(e)+'" id="Poll_Answer3_',(l=t.UniqueId)?e=l.call(a,{hash:{},data:n}):(l=a&&a.UniqueId,e=typeof l===D?l.call(a,{hash:{},data:n}):l),r+=T(e)+'" value="3" />\r\n					',(l=t.Answer3)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Answer3,e=typeof l===D?l.call(a,{hash:{},data:n}):l),r+=T(e)+"\r\n				</label>\r\n				"}function u(a,n){var e,l,r="";return r+='\r\n				<label for="Poll_Answer4_',(l=t.UniqueId)?e=l.call(a,{hash:{},data:n}):(l=a&&a.UniqueId,e=typeof l===D?l.call(a,{hash:{},data:n}):l),r+=T(e)+'">\r\n					<input type="radio" name="pollAnswer_',(l=t.UniqueId)?e=l.call(a,{hash:{},data:n}):(l=a&&a.UniqueId,e=typeof l===D?l.call(a,{hash:{},data:n}):l),r+=T(e)+'" id="Poll_Answer4_',(l=t.UniqueId)?e=l.call(a,{hash:{},data:n}):(l=a&&a.UniqueId,e=typeof l===D?l.call(a,{hash:{},data:n}):l),r+=T(e)+'" value="4" />\r\n					',(l=t.Answer4)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Answer4,e=typeof l===D?l.call(a,{hash:{},data:n}):l),r+=T(e)+"\r\n				</label>\r\n				"}function d(a,n){var e,l,r="";return r+='\r\n				<label for="Poll_Answer5_',(l=t.UniqueId)?e=l.call(a,{hash:{},data:n}):(l=a&&a.UniqueId,e=typeof l===D?l.call(a,{hash:{},data:n}):l),r+=T(e)+'">\r\n					<input type="radio" name="pollAnswer_',(l=t.UniqueId)?e=l.call(a,{hash:{},data:n}):(l=a&&a.UniqueId,e=typeof l===D?l.call(a,{hash:{},data:n}):l),r+=T(e)+'" id="Poll_Answer5_',(l=t.UniqueId)?e=l.call(a,{hash:{},data:n}):(l=a&&a.UniqueId,e=typeof l===D?l.call(a,{hash:{},data:n}):l),r+=T(e)+'" value="5" />\r\n					',(l=t.Answer5)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Answer5,e=typeof l===D?l.call(a,{hash:{},data:n}):l),r+=T(e)+"\r\n				</label>\r\n				"}function f(){return"\r\n		</fieldset>\r\n		"}function m(){return"\r\n		</div>\r\n		"}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var v,y,g,S="",D="function",T=this.escapeExpression,I=this,w=t.helperMissing;return S+='<div id="QuestionForm',(y=t.PollID)?v=y.call(n,{hash:{},data:l}):(y=n&&n.PollID,v=typeof y===D?y.call(n,{hash:{},data:l}):y),S+=T(v)+'">\r\n	<div class="QuestionContainer">\r\n		',y=t.when||n&&n.when,g={hash:{},inverse:I.noop,fn:I.program(1,r,l),data:l},v=y?y.call(n,"NoPolls == true",g):w.call(n,"when","NoPolls == true",g),(v||0===v)&&(S+=v),S+="\r\n		",y=t.when||n&&n.when,g={hash:{},inverse:I.noop,fn:I.program(3,s,l),data:l},v=y?y.call(n,"NoPolls == false",g):w.call(n,"when","NoPolls == false",g),(v||0===v)&&(S+=v),S+='\r\n</div>\r\n<div class="ResultContainer" style="display:none;" tabindex="0">\r\n	<div id="Chart',(y=t.PollID)?v=y.call(n,{hash:{},data:l}):(y=n&&n.PollID,v=typeof y===D?y.call(n,{hash:{},data:l}):y),S+=T(v)+'" class="PollChart" data-original-tooltip="'+T((v=n&&n.SystemText,v=null==v||v===!1?v:v.PollVotes,typeof v===D?v.apply(n):v))+'"></div>\r\n</div>'}),n.widgets_powerbi_standard=a(function(a,n,t,e,l){function r(a,n){var e,l="";return l+="\n		",e=t["if"].call(a,a&&a.Width,{hash:{},inverse:u.program(4,i,n),fn:u.program(2,s,n),data:n}),(e||0===e)&&(l+=e),l+="\n"}function s(a,n){var e,l,r="";return r+=' \n			<iframe src="',(l=t.Source)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Source,e=typeof l===h?l.call(a,{hash:{},data:n}):l),r+=p(e)+'" height="',(l=t.Height)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Height,e=typeof l===h?l.call(a,{hash:{},data:n}):l),r+=p(e)+'" width="',(l=t.Width)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Width,e=typeof l===h?l.call(a,{hash:{},data:n}):l),r+=p(e)+'" id="pbiExternalWebPage" frameborder="0" scrolling="auto"></iframe>\n		'}function i(a,n){var e,l,r="";return r+='\n			<iframe src="',(l=t.Source)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Source,e=typeof l===h?l.call(a,{hash:{},data:n}):l),r+=p(e)+'" height="100%" width="100%" id="pbiExternalWebPage" frameborder="0" scrolling="auto"></iframe>\n		'}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var o,c="",h="function",p=this.escapeExpression,u=this;return c+="",o=t.each.call(n,n&&n.Items,{hash:{},inverse:u.noop,fn:u.program(1,r,l),data:l}),(o||0===o)&&(c+=o),c+=" "}),n.widgets_profile_standard=a(function(a,n,t,e,l){function r(a,n){var e,l,r="";return r+='\r\n                <li class="profile_list">\r\n                    <div style="position:absolute;">\r\n                        <img src="',(l=t.ProfileImageURL)?e=l.call(a,{hash:{},data:n}):(l=a&&a.ProfileImageURL,e=typeof l===p?l.call(a,{hash:{},data:n}):l),r+=u(e)+'" width="32px" height="32px" alt="',(l=t.FullName)?e=l.call(a,{hash:{},data:n}):(l=a&&a.FullName,e=typeof l===p?l.call(a,{hash:{},data:n}):l),r+=u(e)+' - profile" loading="lazy"/>\r\n                    </div>\r\n                    <div class="content-widget-list-details-container">\r\n                        <ul class="unstyled">\r\n                            <li><a href="/interact/pages/modules/directory/entry.aspx?person=',(l=t.PersonId)?e=l.call(a,{hash:{},data:n}):(l=a&&a.PersonId,e=typeof l===p?l.call(a,{hash:{},data:n}):l),r+=u(e)+'" ',e=t["if"].call(a,a&&a.AllowHovercards,{hash:{},inverse:d.noop,fn:d.program(2,s,n),data:n}),(e||0===e)&&(r+=e),r+=">",(l=t.FullName)?e=l.call(a,{hash:{},data:n}):(l=a&&a.FullName,e=typeof l===p?l.call(a,{hash:{},data:n}):l),r+=u(e)+"</a></li>\r\n                            ",e=t["if"].call(a,a&&a.JobTitle,{hash:{},inverse:d.noop,fn:d.program(4,i,n),data:n}),(e||0===e)&&(r+=e),r+="\r\n                            <li>",(l=t.EventMessage)?e=l.call(a,{hash:{},data:n}):(l=a&&a.EventMessage,e=typeof l===p?l.call(a,{hash:{},data:n}):l),r+=u(e)+"</li>\r\n                        </ul>\r\n                    </div>\r\n                    </li>\r\n                "}function s(a,n){var e,l,r="";return r+='  data-personid="',(l=t.PersonId)?e=l.call(a,{hash:{},data:n}):(l=a&&a.PersonId,e=typeof l===p?l.call(a,{hash:{},data:n}):l),r+=u(e)+'" '}function i(a,n){var e,l,r="";return r+="\r\n                            <li>",(l=t.JobTitle)?e=l.call(a,{hash:{},data:n}):(l=a&&a.JobTitle,e=typeof l===p?l.call(a,{hash:{},data:n}):l),r+=u(e)+"</li>\r\n                            "}function o(a){var n,t="";return t+='\r\n                    <p class="no_content muted">'+u((n=a&&a.SystemText,n=null==n||n===!1?n:n.NoItems,typeof n===p?n.apply(a):n))+"</p>\r\n            "}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var c,h="",p="function",u=this.escapeExpression,d=this;return h+='<section class="ProfileContainer">\r\n    <ul class="unstyled">\r\n            ',c=t.each.call(n,n&&n.Items,{hash:{},inverse:d.program(6,o,l),fn:d.program(1,r,l),data:l}),(c||0===c)&&(h+=c),h+="  \r\n        </ul>       \r\n</section>"}),n.widgets_questionbank_standard=a(function(a,n,t,e,l){function r(a){var n,t="";return t+="\r\n                <h3>"+h((n=a&&a.SystemText,n=null==n||n===!1?n:n.NoItems,typeof n===c?n.apply(a):n))+"</h3>\r\n            "}function s(a,n){var e,l,r="";return r+='\r\n                <li>\r\n                    <a href="/Interact/Pages/Content/Document.aspx?id=',(l=t.ContentId)?e=l.call(a,{hash:{},data:n}):(l=a&&a.ContentId,e=typeof l===c?l.call(a,{hash:{},data:n}):l),r+=h(e)+'"><i class="icon-question-sign"></i><span class="text">',(l=t.Title)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Title,e=typeof l===c?l.call(a,{hash:{},data:n}):l),r+=h(e)+"</span></a>\r\n                </li>\r\n            "}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var i,o="",c="function",h=this.escapeExpression,p=this;return o+='<div>\r\n    <section class="Widget">\r\n        <div>\r\n                ',i=t["if"].call(n,n&&n.IsEmpty,{hash:{},inverse:p.noop,fn:p.program(1,r,l),data:l}),(i||0===i)&&(o+=i),o+='\r\n            <ol class="unstyled questions">\r\n            ',i=t.each.call(n,n&&n.Items,{hash:{},inverse:p.noop,fn:p.program(3,s,l),data:l}),(i||0===i)&&(o+=i),o+="\r\n            </ol>\r\n        </div>\r\n    </section>\r\n</div>"}),n.widgets_rewards_carousel_list=a(function(a,n,t,e,l){function r(a,n){var e,l,r,i="";return i+='\n	<ul class="list-unstyled list-inline rewards-list carousel-inner">\n		<li class="filler-item" data-slide-no="0">\n		</li>\n		',e=t.each.call(a,a&&a.Items,{hash:{},inverse:T.noop,fn:T.programWithDepth(2,s,n,a),data:n}),(e||0===e)&&(i+=e),i+='\n		<li class="filler-item" data-slide-no="'+D((l=t.inc||a&&a.inc,r={hash:{},data:n},l?l.call(a,(e=a&&a.Items,null==e||e===!1?e:e.length),r):I.call(a,"inc",(e=a&&a.Items,null==e||e===!1?e:e.length),r)))+'">\n		</li>\n	</ul>\n	<ul class="list-unstyled widget-controls">\n		<li>\n			<a href="#myCarousel" data-slide="prev" class="carousel-chevron icon-container is-large is-left" aria-label="previous">\n				<span class="icon is-normal">\n					<i class="ii ii-chevron-left"></i>\n				</span>\n			</a>\n		</li>\n		<li>\n			<a href="#myCarousel" data-slide="next" class="carousel-chevron icon-container is-large is-right" aria-label="next">\n				<span class="icon is-normal">\n					<i class="ii ii-chevron-right"></i>\n				</span>\n			</a>\n		</li>\n	</ul>\n	'}function s(a,n,e){var l,r,s,c="";return c+='\n		<li class="item" data-slide-no="'+D((r=t.inc||a&&a.inc,s={hash:{},data:n},r?r.call(a,null==n||n===!1?n:n.index,s):I.call(a,"inc",null==n||n===!1?n:n.index,s)))+'">\n			<article class="widget-reward">\n				<header>\n					<h4>\n						',l=t["if"].call(a,a&&a.IsZeroAward,{hash:{},inverse:T.program(5,o,n),fn:T.program(3,i,n),data:n}),(l||0===l)&&(c+=l),c+='\n					</h4>\n					<img class="rewards-img" src="'+D((l=e&&e.RewardImagePath,typeof l===S?l.apply(a):l))+'" alt="Rewards icon image - " width="50" height="50" loading="lazy"/>\n					<div class="card-inline">\n						<img src="',(r=t.ProfileImageUrl)?l=r.call(a,{hash:{},data:n}):(r=a&&a.ProfileImageUrl,l=typeof r===S?r.call(a,{hash:{},data:n}):r),c+=D(l)+'" alt="',(r=t.AwardedByFullName)?l=r.call(a,{hash:{},data:n}):(r=a&&a.AwardedByFullName,l=typeof r===S?r.call(a,{hash:{},data:n}):r),c+=D(l)+' avatar" class="avatar" loading="lazy" />\n						',l=t["if"].call(a,a&&a.IsZeroAward,{hash:{},inverse:T.programWithDepth(15,f,n,e),fn:T.program(10,p,n),data:n}),(l||0===l)&&(c+=l),c+="\n					</div>\n				</header>\n				<p>",(r=t.Reason)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Reason,l=typeof r===S?r.call(a,{hash:{},data:n}):r),c+=D(l)+'</p>\n				<footer>\n					<ul class="actions is-inline is-muted is-small">\n						<li>\n							<span class="icon is-normal">\n								<i class="ii ii-like" aria-hidden="true"></i>\n							</span>\n							<span aria-label="People who like this">',(r=t.Likes)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Likes,l=typeof r===S?r.call(a,{hash:{},data:n}):r),c+=D(l)+'</span>\n						</li>\n						<li>\n							<span class="icon is-normal">\n								<i class="ii ii-comments" aria-hidden="true"></i>\n							</span>\n							<span aria-label="People who have commented on this">',(r=t.Comments)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Comments,l=typeof r===S?r.call(a,{hash:{},data:n}):r),c+=D(l)+"</span>\n						</li>\n					</ul>\n				</footer>\n			</article>\n		</li>\n		"}function i(){return"<span>&nbsp;</span>"}function o(a,n){var e,l,r,s="";return s+="<span>",(l=t.Count)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Count,e=typeof l===S?l.call(a,{hash:{},data:n}):l),s+=D(e)+"</span> ",l=t.when||a&&a.when,r={hash:{},inverse:T.program(8,h,n),fn:T.program(6,c,n),data:n},e=l?l.call(a,"Count > 1",r):I.call(a,"when","Count > 1",r),(e||0===e)&&(s+=e),s}function c(a,n){var e,l;return(l=t.AwardTitlePlural)?e=l.call(a,{hash:{},data:n}):(l=a&&a.AwardTitlePlural,e=typeof l===S?l.call(a,{hash:{},data:n}):l),D(e)}function h(a,n){var e,l;return(l=t.AwardTitle)?e=l.call(a,{hash:{},data:n}):(l=a&&a.AwardTitle,e=typeof l===S?l.call(a,{hash:{},data:n}):l),D(e)}function p(a,n){var e,l,r="";return r+='\n						<small>\n							<a href="/interact/pages/modules/directory/entry.aspx?person=',(l=t.AwardedByPersonId)?e=l.call(a,{hash:{},data:n}):(l=a&&a.AwardedByPersonId,e=typeof l===S?l.call(a,{hash:{},data:n}):l),r+=D(e)+'" ',e=t["if"].call(a,a&&a.AllowHovercards,{hash:{},inverse:T.noop,fn:T.program(11,u,n),data:n}),(e||0===e)&&(r+=e),r+=">",(l=t.AwardedByFullName)?e=l.call(a,{hash:{},data:n}):(l=a&&a.AwardedByFullName,e=typeof l===S?l.call(a,{hash:{},data:n}):l),r+=D(e)+"</a>\n							",(l=t.PraiseAwardTitle)?e=l.call(a,{hash:{},data:n}):(l=a&&a.PraiseAwardTitle,e=typeof l===S?l.call(a,{hash:{},data:n}):l),r+=D(e)+' <a href="/interact/pages/modules/directory/entry.aspx?person=',(l=t.PersonId)?e=l.call(a,{hash:{},data:n}):(l=a&&a.PersonId,e=typeof l===S?l.call(a,{hash:{},data:n}):l),r+=D(e)+'"\n											 ',e=t["if"].call(a,a&&a.AllowHovercards,{hash:{},inverse:T.noop,fn:T.program(13,d,n),data:n}),(e||0===e)&&(r+=e),r+=">",(l=t.FullName)?e=l.call(a,{hash:{},data:n}):(l=a&&a.FullName,e=typeof l===S?l.call(a,{hash:{},data:n}):l),r+=D(e)+"</a>\n						</small>\n						"}function u(a,n){var e,l,r="";return r+='\n							   data-personid="',(l=t.AwardedByPersonId)?e=l.call(a,{hash:{},data:n}):(l=a&&a.AwardedByPersonId,e=typeof l===S?l.call(a,{hash:{},data:n}):l),r+=D(e)+'" '}function d(a,n){var e,l,r="";return r+=' data-personid="',(l=t.PersonId)?e=l.call(a,{hash:{},data:n}):(l=a&&a.PersonId,e=typeof l===S?l.call(a,{hash:{},data:n}):l),r+=D(e)+'" '}function f(a,n,e){var l,r,s,i="";return i+='\n					<small>\n						<a href="/interact/pages/modules/directory/entry.aspx?person=',(r=t.AwardedByPersonId)?l=r.call(a,{hash:{},data:n}):(r=a&&a.AwardedByPersonId,l=typeof r===S?r.call(a,{hash:{},data:n}):r),i+=D(l)+'" ',l=t["if"].call(a,a&&a.AllowHovercards,{hash:{},inverse:T.noop,fn:T.program(16,m,n),data:n}),(l||0===l)&&(i+=l),i+=">",(r=t.AwardedByFullName)?l=r.call(a,{hash:{},data:n}):(r=a&&a.AwardedByFullName,l=typeof r===S?r.call(a,{hash:{},data:n}):r),i+=D(l)+"</a> "+D((l=e&&e.SystemText,l=null==l||l===!1?l:l.HasAwarded,typeof l===S?l.apply(a):l))+" ",(r=t.Count)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Count,l=typeof r===S?r.call(a,{hash:{},data:n}):r),i+=D(l)+"\n						",r=t.when||a&&a.when,s={hash:{},inverse:T.program(8,h,n),fn:T.program(6,c,n),data:n},l=r?r.call(a,"Count > 1",s):I.call(a,"when","Count > 1",s),(l||0===l)&&(i+=l),i+=' to <a href="/interact/pages/modules/directory/entry.aspx?person=',(r=t.PersonId)?l=r.call(a,{hash:{},data:n}):(r=a&&a.PersonId,l=typeof r===S?r.call(a,{hash:{},data:n}):r),i+=D(l)+'"\n						',l=t["if"].call(a,a&&a.AllowHovercards,{hash:{},inverse:T.noop,fn:T.program(13,d,n),data:n}),(l||0===l)&&(i+=l),i+=">",(r=t.FullName)?l=r.call(a,{hash:{},data:n}):(r=a&&a.FullName,l=typeof r===S?r.call(a,{hash:{},data:n}):r),i+=D(l)+"</a>\n					</small>\n						"}function m(a,n){var e,l,r="";return r+='\n						   data-personid="',(l=t.AwardedByPersonId)?e=l.call(a,{hash:{},data:n}):(l=a&&a.AwardedByPersonId,e=typeof l===S?l.call(a,{hash:{},data:n}):l),r+=D(e)+'" '}function v(a){var n,t="";return t+="\n	<p>"+D((n=a&&a.SystemText,n=null==n||n===!1?n:n.NoItems,typeof n===S?n.apply(a):n))+"</p>\n	"}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var y,g="",S="function",D=this.escapeExpression,T=this,I=t.helperMissing;return g+='<div class="widget-rewards-carousel carousel" id="myRewardsCarousel">\n	<h3 class="is-rewards is-center-text">Latest Rewards</h3>\n	',y=t["if"].call(n,n&&n.Items,{hash:{},inverse:T.program(18,v,l),fn:T.program(1,r,l),data:l}),(y||0===y)&&(g+=y),g+="\n</div>\n"}),n.widgets_rewards_give=a(function(a,n,t,e,l){function r(){var a="";return a}function s(a,n){var e,l,r,s="";return s+="\n			<div>"+v((e=a&&a.SystemText,e=null==e||e===!1?e:e.YouHave,typeof e===m?e.apply(a):e))+' <strong id="totalRewardGive">',(l=t.ToGive)?e=l.call(a,{hash:{},data:n}):(l=a&&a.ToGive,e=typeof l===m?l.call(a,{hash:{},data:n}):l),s+=v(e)+"</strong> ",l=t.when||a&&a.when,r={hash:{},inverse:y.program(6,o,n),fn:y.program(4,i,n),data:n},e=l?l.call(a,"ToGive > 1",r):g.call(a,"when","ToGive > 1",r),(e||0===e)&&(s+=e),s+=" "+v((e=a&&a.SystemText,e=null==e||e===!1?e:e.ToGive,typeof e===m?e.apply(a):e))+" </div>\n			"}function i(a,n){var e,l;return(l=t.AwardTitlePlural)?e=l.call(a,{hash:{},data:n}):(l=a&&a.AwardTitlePlural,e=typeof l===m?l.call(a,{hash:{},data:n}):l),v(e)}function o(a,n){var e,l;return(l=t.AwardTitle)?e=l.call(a,{hash:{},data:n}):(l=a&&a.AwardTitle,e=typeof l===m?l.call(a,{hash:{},data:n}):l),v(e)}function c(){return'<input type="hidden" class="no-points" value="true" />'}function h(a,n){var e,l,r="";return r+='\n				<ul class="rewards-amount widget-controls list-unstyled list-inline">\n					<li>\n						<a href="#!" id="decreaseRewardGive" class="icon-container" aria-label="decrease reward">\n							<span class="icon is-normal">\n								<i class="ii ii-minus"></i>\n							</span>\n						</a>\n					</li>\n					<li>\n						<span class="amount">',(l=t.DefaultGiveValue)?e=l.call(a,{hash:{},data:n}):(l=a&&a.DefaultGiveValue,e=typeof l===m?l.call(a,{hash:{},data:n}):l),r+=v(e)+'</span>\n					</li>\n					<li>\n						<a href="#!" id="increaseRewardGive" class="icon-container" aria-label="increase reward">\n							<span class="icon is-normal">\n								<i class="ii ii-plus"></i>\n							</span>\n						</a>\n					</li>\n				</ul>\n				'}function p(){return'<input type="hidden" class="require-categories" value="true" /> '}function u(){return"is-required"}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var d,f="",m="function",v=this.escapeExpression,y=this,g=t.helperMissing;return f+='<div class="widget-rewards-container">\n	<div class="row-fluid">\n		<div class="span7">\n			<h3>'+v((d=n&&n.SystemText,d=null==d||d===!1?d:d.GiveRecognition,typeof d===m?d.apply(n):d))+"</h3>\n			",d=t["if"].call(n,n&&n.NoPoints,{hash:{},inverse:y.program(3,s,l),fn:y.program(1,r,l),data:l}),(d||0===d)&&(f+=d),f+='\n		</div>\n		<div class="span5">\n			<div class="field pull-right">\n				',d=t["if"].call(n,n&&n.NoPoints,{hash:{},inverse:y.program(10,h,l),fn:y.program(8,c,l),data:l}),(d||0===d)&&(f+=d),f+="\n				",d=t["if"].call(n,n&&n.RequireCategoriesToBeSelected,{hash:{},inverse:y.noop,fn:y.program(12,p,l),data:l}),(d||0===d)&&(f+=d),f+='\n			</div>\n		</div>\n	</div>\n	<div class="row-fluid">\n		<div class="span12">\n			<div class="field">\n				<label class="is-label is-required">'+v((d=n&&n.SystemText,d=null==d||d===!1?d:d.People,typeof d===m?d.apply(n):d))+'</label>\n				<div class="control">\n					<input id="peopleRewardsGive" type="hidden" class="input-block-level" />\n				</div>\n			</div>\n		</div>\n	</div>\n	<div class="row-fluid">\n		<div class="span12">\n			<div class="field">\n				<label class="is-label is-required">'+v((d=n&&n.SystemText,d=null==d||d===!1?d:d.Reason,typeof d===m?d.apply(n):d))+'</label>\n				<div class="control">\n					<textarea id="reasonRewardsGive" class="input-block-level" rows="3" aria-label="Reason"></textarea>\n				</div>\n			</div>\n		</div>\n	</div>\n	<div class="row-fluid">\n		<div class="span12">\n			<div class="field">\n				<label class="is-label ',d=t["if"].call(n,n&&n.RequireCategoriesToBeSelected,{hash:{},inverse:y.noop,fn:y.program(14,u,l),data:l}),(d||0===d)&&(f+=d),f+='">'+v((d=n&&n.SystemText,d=null==d||d===!1?d:d.Category,typeof d===m?d.apply(n):d))+'</label>\n				<div class="control">\n					<input id="categoryRewardsGive" type="hidden" class="input-block-level" />\n				</div>\n			</div>\n		</div>\n	</div>\n	<div class="row-fluid">\n		<div class="span12">\n			<div id="errorRewardsGive"></div>\n			<div id="successRewardsGive"></div>\n			<div class="text-center">\n				<button class="button is-rewards is-solid" id="spendRewardsGive">'+v((d=n&&n.SystemText,d=null==d||d===!1?d:d.RecogniseNow,typeof d===m?d.apply(n):d))+"</button>\n			</div>\n		</div>\n	</div>\n</div>"}),n.widgets_rewards_standard=a(function(a,n,t,e,l){function r(a,n,e){var l,r,i="";return i+='\r\n    <li>\r\n      <div class="thumb">\r\n        <img src="',(r=t.ProfileImageUrl)?l=r.call(a,{hash:{},data:n}):(r=a&&a.ProfileImageUrl,l=typeof r===v?r.call(a,{hash:{},data:n}):r),i+=y(l)+'" width="35" height="35" alt="',(r=t.FullName)?l=r.call(a,{hash:{},data:n}):(r=a&&a.FullName,l=typeof r===v?r.call(a,{hash:{},data:n}):r),i+=y(l)+' - profile" loading="lazy"/>\r\n      </div>\r\n      <div class="reward pull-left">\r\n        <ul class="unstyled">\r\n            <li>\r\n                ',l=t["if"].call(a,a&&a.IsZeroAward,{hash:{},inverse:g.programWithDepth(7,c,n,e),fn:g.program(2,s,n),data:n}),(l||0===l)&&(i+=l),i+="\r\n            </li>\r\n        </ul>\r\n      </div>\r\n    </li>\r\n    "}function s(a,n){var e,l,r="";return r+='\r\n                <a href="/interact/pages/modules/directory/entry.aspx?person=',(l=t.AwardedByPersonId)?e=l.call(a,{hash:{},data:n}):(l=a&&a.AwardedByPersonId,e=typeof l===v?l.call(a,{hash:{},data:n}):l),r+=y(e)+'" ',e=t["if"].call(a,a&&a.AllowHovercards,{hash:{},inverse:g.noop,fn:g.program(3,i,n),data:n}),(e||0===e)&&(r+=e),r+=">",(l=t.AwardedByFullName)?e=l.call(a,{hash:{},data:n}):(l=a&&a.AwardedByFullName,e=typeof l===v?l.call(a,{hash:{},data:n}):l),r+=y(e)+"</a> ",(l=t.PraiseAwardTitle)?e=l.call(a,{hash:{},data:n}):(l=a&&a.PraiseAwardTitle,e=typeof l===v?l.call(a,{hash:{},data:n}):l),r+=y(e)+'\r\n                <a href="/interact/pages/modules/directory/entry.aspx?person=',(l=t.PersonId)?e=l.call(a,{hash:{},data:n}):(l=a&&a.PersonId,e=typeof l===v?l.call(a,{hash:{},data:n}):l),r+=y(e)+'" ',e=t["if"].call(a,a&&a.AllowHovercards,{hash:{},inverse:g.noop,fn:g.program(5,o,n),data:n}),(e||0===e)&&(r+=e),r+=">",(l=t.FullName)?e=l.call(a,{hash:{},data:n}):(l=a&&a.FullName,e=typeof l===v?l.call(a,{hash:{},data:n}):l),r+=y(e)+"</a> &ldquo;<i>",(l=t.Reason)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Reason,e=typeof l===v?l.call(a,{hash:{},data:n}):l),r+=y(e)+"</i>&rdquo;\r\n                "}function i(a,n){var e,l,r="";return r+=' data-personid="',(l=t.AwardedByPersonId)?e=l.call(a,{hash:{},data:n}):(l=a&&a.AwardedByPersonId,e=typeof l===v?l.call(a,{hash:{},data:n}):l),r+=y(e)+'" '}function o(a,n){var e,l,r="";return r+=' data-personid="',(l=t.PersonId)?e=l.call(a,{hash:{},data:n}):(l=a&&a.PersonId,e=typeof l===v?l.call(a,{hash:{},data:n}):l),r+=y(e)+'" '}function c(a,n,e){var l,r,s,c="";return c+='\r\n                <a href="/interact/pages/modules/directory/entry.aspx?person=',(r=t.AwardedByPersonId)?l=r.call(a,{hash:{},data:n}):(r=a&&a.AwardedByPersonId,l=typeof r===v?r.call(a,{hash:{},data:n}):r),c+=y(l)+'" ',l=t["if"].call(a,a&&a.AllowHovercards,{hash:{},inverse:g.noop,fn:g.program(3,i,n),data:n}),(l||0===l)&&(c+=l),c+=">",(r=t.AwardedByFullName)?l=r.call(a,{hash:{},data:n}):(r=a&&a.AwardedByFullName,l=typeof r===v?r.call(a,{hash:{},data:n}):r),c+=y(l)+"</a> "+y((l=e&&e.SystemText,l=null==l||l===!1?l:l.HasAwarded,typeof l===v?l.apply(a):l))+" <strong>",(r=t.Count)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Count,l=typeof r===v?r.call(a,{hash:{},data:n}):r),c+=y(l)+" ",r=t.when||a&&a.when,s={hash:{},inverse:g.program(10,p,n),fn:g.program(8,h,n),data:n},l=r?r.call(a,"Count > 1",s):S.call(a,"when","Count > 1",s),(l||0===l)&&(c+=l),c+='</strong> to\r\n                <a href="/interact/pages/modules/directory/entry.aspx?person=',(r=t.PersonId)?l=r.call(a,{hash:{},data:n}):(r=a&&a.PersonId,l=typeof r===v?r.call(a,{hash:{},data:n}):r),c+=y(l)+'" ',l=t["if"].call(a,a&&a.AllowHovercards,{hash:{},inverse:g.noop,fn:g.program(5,o,n),data:n}),(l||0===l)&&(c+=l),c+=">",(r=t.FullName)?l=r.call(a,{hash:{},data:n}):(r=a&&a.FullName,l=typeof r===v?r.call(a,{hash:{},data:n}):r),c+=y(l)+"</a> for &ldquo;<i>",(r=t.Reason)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Reason,l=typeof r===v?r.call(a,{hash:{},data:n}):r),c+=y(l)+"</i>&rdquo;\r\n                "}function h(a,n){var e,l,r="";return r+=" ",(l=t.AwardTitlePlural)?e=l.call(a,{hash:{},data:n}):(l=a&&a.AwardTitlePlural,e=typeof l===v?l.call(a,{hash:{},data:n}):l),r+=y(e)+" "}function p(a,n){var e,l,r="";return r+=" ",(l=t.AwardTitle)?e=l.call(a,{hash:{},data:n}):(l=a&&a.AwardTitle,e=typeof l===v?l.call(a,{hash:{},data:n}):l),r+=y(e)+" "}function u(a,n,t){var e,l="";return l+="\r\n    <li>\r\n    <h3>"+y((e=t&&t.NOTIEMSTODISPLAY,typeof e===v?e.apply(a):e))+"</h3>\r\n    </li>\r\n    "}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var d,f,m="",v="function",y=this.escapeExpression,g=this,S=t.helperMissing;return m+='<div class="well rewards-well pull-left">\r\n  <div class="pull-right">\r\n    <a id="body_btnrewards" href="/person/',(f=t.LoggedInPersonId)?d=f.call(n,{hash:{},data:l}):(f=n&&n.LoggedInPersonId,d=typeof f===v?f.call(n,{hash:{},data:l}):f),m+=y(d)+'/reward/give" class="pull-right btn-link" name="">\r\n      <i class="icon-gift"></i>\r\n      <span id="btntxt">'+y((d=n&&n.SystemText,d=null==d||d===!1?d:d.GiveRecognition,typeof d===v?d.apply(n):d))+'</span>\r\n    </a>\r\n  </div>\r\n</div>\r\n<section>\r\n  <ul class="unstyled pull-left Rewards_list">\r\n    ',d=t.each.call(n,n&&n.Items,{hash:{},inverse:g.programWithDepth(12,u,l,n),fn:g.programWithDepth(1,r,l,n),data:l}),(d||0===d)&&(m+=d),m+="\r\n  </ul>\r\n</section>\r\n"}),n.widgets_roomandresource_standard=a(function(a,n,t,e,l){function r(){return" "}function s(a){var n;return v((n=a&&a.SystemText,n=null==n||n===!1?n:n.Booked,typeof n===m?n.apply(a):n))}function i(a){var n;return v((n=a&&a.SystemText,n=null==n||n===!1?n:n.NoVisitors,typeof n===m?n.apply(a):n))}function o(a,n,e){var l,r,s="";return s+='\r\n                <li>\r\n                    <ul class="unstyled" style="text-align: left;padding-bottom:5px;">\r\n                        <li class="muted" style="border-top: 1px dashed #E2E2E2;padding-top: 5px;">'+v((l=e&&e.SystemText,l=null==l||l===!1?l:l.Booked,typeof l===m?l.apply(a):l))+'</li>\r\n                        <li class="text-success">',(r=t.ResourceName)?l=r.call(a,{hash:{},data:n}):(r=a&&a.ResourceName,l=typeof r===m?r.call(a,{hash:{},data:n}):r),s+=v(l)+"</li>\r\n                        <li><strong>",(r=t.VisitTimeFrom)?l=r.call(a,{hash:{},data:n}):(r=a&&a.VisitTimeFrom,l=typeof r===m?r.call(a,{hash:{},data:n}):r),s+=v(l)+"</strong> to <strong>",(r=t.VisitTimeTo)?l=r.call(a,{hash:{},data:n}):(r=a&&a.VisitTimeTo,l=typeof r===m?r.call(a,{hash:{},data:n}):r),s+=v(l)+"</strong></li>\r\n                        <li>",(r=t.BookingDesc)?l=r.call(a,{hash:{},data:n}):(r=a&&a.BookingDesc,l=typeof r===m?r.call(a,{hash:{},data:n}):r),s+=v(l)+"</li>\r\n                        <li>\r\n                            ",l=t.unless.call(a,a&&a.IsPrivateBooking,{hash:{},inverse:y.noop,fn:y.program(8,c,n),data:n}),(l||0===l)&&(s+=l),s+="\r\n                        </li>\r\n                    </ul>\r\n                </li>\r\n            "}function c(a,n){var e,l,r="";return r+="\r\n                                (",(l=t.BookedBy)?e=l.call(a,{hash:{},data:n}):(l=a&&a.BookedBy,e=typeof l===m?l.call(a,{hash:{},data:n}):l),r+=v(e)+")\r\n                            "}function h(a,n){var e,l,r="";return r+='\r\n                <li>\r\n                    <ul class="unstyled" style="text-align: right;padding-bottom:5px;">\r\n                        <li class="muted" style="border-top: 1px dashed #E2E2E2;padding-top: 5px;">'+v((e=a&&a.SystemText,e=null==e||e===!1?e:e.Booked,typeof e===m?e.apply(a):e))+'</li>\r\n                        <li class="text-success">',(l=t.ResourceName)?e=l.call(a,{hash:{},data:n}):(l=a&&a.ResourceName,e=typeof l===m?l.call(a,{hash:{},data:n}):l),r+=v(e)+"</li>\r\n                        <li><strong>",(l=t.VisitTimeFrom)?e=l.call(a,{hash:{},data:n}):(l=a&&a.VisitTimeFrom,e=typeof l===m?l.call(a,{hash:{},data:n}):l),r+=v(e)+"</strong> to <strong>",(l=t.VisitTimeTo)?e=l.call(a,{hash:{},data:n}):(l=a&&a.VisitTimeTo,e=typeof l===m?l.call(a,{hash:{},data:n}):l),r+=v(e)+"</strong></li>\r\n                        <li>",(l=t.BookingDesc)?e=l.call(a,{hash:{},data:n}):(l=a&&a.BookingDesc,e=typeof l===m?l.call(a,{hash:{},data:n}):l),r+=v(e)+"</li>\r\n                        <li>\r\n                            ",e=t.unless.call(a,a&&a.IsPrivateBooking,{hash:{},inverse:y.noop,fn:y.program(8,c,n),data:n}),(e||0===e)&&(r+=e),r+="\r\n                        </li>\r\n                    </ul>\r\n                </li>\r\n            "}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var p,u,d,f="",m="function",v=this.escapeExpression,y=this,g=t.helperMissing;return f+='<div style="width: 100%;">\r\n    <div class="pull-left">\r\n        <p><a href="#" onclick="" class="tab-pill-left" id="RoomAndResource_Decrement"><i class="icon-chevron-left"></i> '+v((p=n&&n.Item,p=null==p||p===!1?p:p.DateDown,typeof p===m?p.apply(n):p))+"</a></p>\r\n        <p>\r\n            <strong>",u=t.when||n&&n.when,d={hash:{},inverse:y.program(3,s,l),fn:y.program(1,r,l),data:l},p=u?u.call(n,"LeftItems.length > 0",d):g.call(n,"when","LeftItems.length > 0",d),(p||0===p)&&(f+=p),f+=" "+v((p=n&&n.Item,p=null==p||p===!1?p:p.CurrentDay,typeof p===m?p.apply(n):p))+'\r\n            </strong>\r\n        </p>\r\n    </div>\r\n    <div class="pull-right" style="text-align: right;">\r\n        <p><a href="#" onclick="" class="tab-pill-right" id="RoomAndResource_Increment">'+v((p=n&&n.Item,p=null==p||p===!1?p:p.DateUp,typeof p===m?p.apply(n):p))+' <i class="icon-chevron-right"></i></a></p>\r\n        <p>\r\n            <strong>',p=t["if"].call(n,n&&n.RightItems,{hash:{},inverse:y.program(5,i,l),fn:y.program(1,r,l),data:l}),(p||0===p)&&(f+=p),f+=" "+v((p=n&&n.Item,p=null==p||p===!1?p:p.NextDay,typeof p===m?p.apply(n):p))+'\r\n            </strong>\r\n        </p>\r\n    </div>\r\n    \r\n</div>\r\n<div class="clearfix"></div>\r\n<div class="row-fluid">\r\n    <div class="span6">\r\n        <ul class="unstyled">\r\n            ',p=t.each.call(n,n&&n.LeftItems,{hash:{},inverse:y.noop,fn:y.programWithDepth(7,o,l,n),data:l}),(p||0===p)&&(f+=p),f+='\r\n        </ul>\r\n    </div>\r\n    <div class="span6">\r\n        <ul class="unstyled">\r\n            ',p=t.each.call(n,n&&n.RightItems,{hash:{},inverse:y.noop,fn:y.program(10,h,l),data:l}),(p||0===p)&&(f+=p),f+="\r\n        </ul>\r\n    </div>\r\n</div>"}),n.widgets_rss_standard=a(function(a,n,t,e,l){function r(a,n){var e,l="";return l+="\r\n    ",e=t["if"].call(a,(e=a&&a.data,null==e||e===!1?e:e.RssTitle),{hash:{},inverse:w.noop,fn:w.program(2,s,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n    "}function s(a){var n,t="";return t+='\r\n    <a href="'+I((n=a&&a.data,n=null==n||n===!1?n:n.Url,typeof n===T?n.apply(a):n))+'">'+I((n=a&&a.data,n=null==n||n===!1?n:n.RssTitle,typeof n===T?n.apply(a):n))+"</a>\r\n    "}function i(a,n){var e,l="";return l+="\r\n    ",e=t["if"].call(a,(e=a&&a.data,null==e||e===!1?e:e.Description),{hash:{},inverse:w.noop,fn:w.program(5,o,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n    "}function o(a){var n,t="";return t+="\r\n    <label>"+I((n=a&&a.data,n=null==n||n===!1?n:n.Description,typeof n===T?n.apply(a):n))+"</label>\r\n    "}function c(a,n){var e,l="";return l+="\r\n    ",e=t["if"].call(a,(e=a&&a.data,null==e||e===!1?e:e.ImageUrl),{hash:{},inverse:w.noop,fn:w.program(8,h,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n    "}function h(a){var n,t="";return t+='\r\n    <a href="'+I((n=a&&a.data,n=null==n||n===!1?n:n.Url,typeof n===T?n.apply(a):n))+'" style="display:block" target="_blank"><img src="'+I((n=a&&a.data,n=null==n||n===!1?n:n.ImageUrl,typeof n===T?n.apply(a):n))+'" loading="lazy"></img></a>\r\n    '
}function p(){return"\r\n      <h3>No items to display.</h3>\r\n    "}function u(a,n,e){var l,r,s="";return s+='\r\n      <li style="margin: 5px;">\r\n        <div class="rss-item">\r\n          ',l=t["if"].call(a,(l=e&&e.options,null==l||l===!1?l:l.displayImageFeed),{hash:{},inverse:w.noop,fn:w.program(13,d,n),data:n}),(l||0===l)&&(s+=l),s+='\r\n          <div class="rss-desc">\r\n            <a href="',(r=t.Url)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Url,l=typeof r===T?r.call(a,{hash:{},data:n}):r),s+=I(l)+'" target="_blank">',(r=t.Title)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Title,l=typeof r===T?r.call(a,{hash:{},data:n}):r),s+=I(l)+"</a>\r\n            ",l=t["if"].call(a,(l=e&&e.options,null==l||l===!1?l:l.displayDescriptionFeed),{hash:{},inverse:w.noop,fn:w.program(16,m,n),data:n}),(l||0===l)&&(s+=l),s+="\r\n            ",l=t["if"].call(a,(l=e&&e.options,null==l||l===!1?l:l.displayPublishDateFeed),{hash:{},inverse:w.noop,fn:w.program(19,y,n),data:n}),(l||0===l)&&(s+=l),s+="\r\n          </div>\r\n        </div>\r\n      </li>\r\n    "}function d(a,n){var e,l="";return l+="\r\n          ",e=t["if"].call(a,a&&a.Media,{hash:{},inverse:w.noop,fn:w.program(14,f,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n          "}function f(a,n){var e,l,r="";return r+='\r\n          <div class="rss-image-cnt">\r\n            <a href="',(l=t.Url)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Url,e=typeof l===T?l.call(a,{hash:{},data:n}):l),r+=I(e)+'" target="_blank">\r\n              <img src="',(l=t.Media)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Media,e=typeof l===T?l.call(a,{hash:{},data:n}):l),r+=I(e)+'" class="rss-image" loading="lazy" />\r\n            </a>\r\n          </div>\r\n          '}function m(a,n){var e,l="";return l+="\r\n            ",e=t["if"].call(a,a&&a.Description,{hash:{},inverse:w.noop,fn:w.program(17,v,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n            "}function v(a,n){var e,l,r="";return r+='\r\n            <p style="margin-top: 5px;">\r\n              ',(l=t.Description)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Description,e=typeof l===T?l.call(a,{hash:{},data:n}):l),(e||0===e)&&(r+=e),r+="\r\n            </p>\r\n            "}function y(a,n){var e,l="";return l+="\r\n            ",e=t["if"].call(a,a&&a.PublishedDate,{hash:{},inverse:w.noop,fn:w.program(20,g,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n            "}function g(a,n){var e,l,r="";return r+="\r\n            <div>\r\n              ",(l=t.PublishedDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.PublishedDate,e=typeof l===T?l.call(a,{hash:{},data:n}):l),r+=I(e)+"\r\n            </div>\r\n            "}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var S,D="",T="function",I=this.escapeExpression,w=this;return D+='<div id="'+I((S=n&&n.data,S=null==S||S===!1?S:S.RssId,typeof S===T?S.apply(n):S))+'" class="rss-feed">\r\n  <section class="Widget">\r\n    ',S=t["if"].call(n,(S=n&&n.options,null==S||S===!1?S:S.displayTitle),{hash:{},inverse:w.noop,fn:w.program(1,r,l),data:l}),(S||0===S)&&(D+=S),D+="\r\n    ",S=t["if"].call(n,(S=n&&n.options,null==S||S===!1?S:S.displayDescription),{hash:{},inverse:w.noop,fn:w.program(4,i,l),data:l}),(S||0===S)&&(D+=S),D+="\r\n    ",S=t["if"].call(n,(S=n&&n.options,null==S||S===!1?S:S.displayImage),{hash:{},inverse:w.noop,fn:w.program(7,c,l),data:l}),(S||0===S)&&(D+=S),D+='\r\n  </section>\r\n  <section class="Widget">\r\n    ',S=t["if"].call(n,(S=n&&n.data,null==S||S===!1?S:S.IsWrongRss),{hash:{},inverse:w.noop,fn:w.program(10,p,l),data:l}),(S||0===S)&&(D+=S),D+='\r\n    <ul class="unstyled">\r\n      ',S=t.each.call(n,(S=n&&n.data,null==S||S===!1?S:S.Items),{hash:{},inverse:w.noop,fn:w.programWithDepth(12,u,l,n),data:l}),(S||0===S)&&(D+=S),D+="\r\n    </ul>\r\n  </section>\r\n</div>"}),n.widgets_salesforce_standard=a(function(a,n,t,e,l){this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var r,s,i="",o="function",c=this.escapeExpression;return i+='<div class="row-fluid">\n	<div class="span12" id="body',(s=t.widgetinstanceid)?r=s.call(n,{hash:{},data:l}):(s=n&&n.widgetinstanceid,r=typeof s===o?s.call(n,{hash:{},data:l}):s),i+=c(r)+'">\n	</div>\n</div>\n'}),n.widgets_searches_standard=a(function(a,n,t,e,l){function r(a,n){var e,l,r="";return r+='\r\n	 	        <li>\r\n              <a target="_blank" href="/search?q=',(l=t.Text)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Text,e=typeof l===o?l.call(a,{hash:{},data:n}):l),r+=c(e)+'" title="',(l=t.Text)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Text,e=typeof l===o?l.call(a,{hash:{},data:n}):l),r+=c(e)+'">\r\n                <span class="pull-left ellipsis">',(l=t.Text)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Text,e=typeof l===o?l.call(a,{hash:{},data:n}):l),r+=c(e)+'</span> \r\n                <span class="pull-right counts">(',(l=t.Count)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Count,e=typeof l===o?l.call(a,{hash:{},data:n}):l),r+=c(e)+')<i class="icon-zoom-in"></i></span></a></li>\r\n'}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var s,i="",o="function",c=this.escapeExpression,h=this;return i+='<section class="SearchesResults">\r\n             <ul class="unstyled">\r\n		        ',s=t.each.call(n,n&&n.Items,{hash:{},inverse:h.noop,fn:h.program(1,r,l),data:l}),(s||0===s)&&(i+=s),i+="\r\n</ul>\r\n</section>\r\n"}),n.widgets_selection=a(function(a,n,t,e,l){function r(a,n,e){var l,r,h="";return h+='       \r\n    <li tabindex="0" data-widgetid="',(r=t.ID)?l=r.call(a,{hash:{},data:n}):(r=a&&a.ID,l=typeof r===u?r.call(a,{hash:{},data:n}):r),h+=d(l)+'" data-templatetitle="',(r=t.TemplateTitle)?l=r.call(a,{hash:{},data:n}):(r=a&&a.TemplateTitle,l=typeof r===u?r.call(a,{hash:{},data:n}):r),h+=d(l)+'" ',l=t["if"].call(a,a&&a.AllowAutoRefresh,{hash:{},inverse:f.noop,fn:f.program(2,s,n),data:n}),(l||0===l)&&(h+=l),h+=" ",l=t["if"].call(a,a&&a.AllowShowMobile,{hash:{},inverse:f.noop,fn:f.program(4,i,n),data:n}),(l||0===l)&&(h+=l),h+=' class="widget-',(r=t.TemplateTitle)?l=r.call(a,{hash:{},data:n}):(r=a&&a.TemplateTitle,l=typeof r===u?r.call(a,{hash:{},data:n}):r),h+=d(l)+'" data-show-existingconfig="',(r=t.ShowExistingConfigurationTab)?l=r.call(a,{hash:{},data:n}):(r=a&&a.ShowExistingConfigurationTab,l=typeof r===u?r.call(a,{hash:{},data:n}):r),h+=d(l)+'" data-can-change-savedconfigs="',(r=t.CanChangeSavedConfigurations)?l=r.call(a,{hash:{},data:n}):(r=a&&a.CanChangeSavedConfigurations,l=typeof r===u?r.call(a,{hash:{},data:n}):r),h+=d(l)+'" ',l=t["if"].call(a,a&&a.AllowTranslation,{hash:{},inverse:f.noop,fn:f.program(6,o,n),data:n}),(l||0===l)&&(h+=l),h+=' data-default-source-language="',(r=t.SourceLanguage)?l=r.call(a,{hash:{},data:n}):(r=a&&a.SourceLanguage,l=typeof r===u?r.call(a,{hash:{},data:n}):r),h+=d(l)+'">\r\n	<div class="widget-selection-desc">\r\n		<div class="header">\r\n			<h2>',(r=t.Title)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Title,l=typeof r===u?r.call(a,{hash:{},data:n}):r),h+=d(l)+"</h2>\r\n			",l=t["if"].call(a,a&&a.HasNewLabel,{hash:{},inverse:f.noop,fn:f.programWithDepth(8,c,n,e),data:n}),(l||0===l)&&(h+=l),h+='\r\n		</div>\r\n		<div class="comment">\r\n			',(r=t.Summary)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Summary,l=typeof r===u?r.call(a,{hash:{},data:n}):r),(l||0===l)&&(h+=l),h+='\r\n			<div class="options">\r\n				<p class="muted">',(r=t.AvailableLayoutsCount)?l=r.call(a,{hash:{},data:n}):(r=a&&a.AvailableLayoutsCount,l=typeof r===u?r.call(a,{hash:{},data:n}):r),h+=d(l)+' <span class="counter">',(r=t.LayoutCount)?l=r.call(a,{hash:{},data:n}):(r=a&&a.LayoutCount,l=typeof r===u?r.call(a,{hash:{},data:n}):r),h+=d(l)+'</span></p>\r\n			</div>\r\n		</div>\r\n		<i class="iconsmall"></i>\r\n	</div>\r\n</li>\r\n'}function s(){return' data-allow-autorefresh="true" '}function i(){return' data-allow-showmobile="true" '}function o(){return' data-allow-translation="true" '}function c(a,n,t){var e,l="";return l+='\r\n			<span class="new">'+d((e=t&&t.newLabel,typeof e===u?e.apply(a):e))+"</span>\r\n			"}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var h,p="",u="function",d=this.escapeExpression,f=this;return p+="",h=t.each.call(n,n&&n.widgetselections,{hash:{},inverse:f.noop,fn:f.programWithDepth(1,r,l,n),data:l}),(h||0===h)&&(p+=h),p}),n.widgets_servicenow_standard=a(function(a,n,t,e,l){this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var r,s,i="",o="function",c=this.escapeExpression;return i+='<div class="row-fluid">\n  <div class="span12" id="body',(s=t.widgetinstanceid)?r=s.call(n,{hash:{},data:l}):(s=n&&n.widgetinstanceid,r=typeof s===o?s.call(n,{hash:{},data:l}):s),i+=c(r)+'">\n  </div>\n</div>\n'}),n.widgets_sharepoint_standard=a(function(a,n,t,e,l){function r(a,n){var e,l;return(l=t.FreeTextContent)?e=l.call(a,{hash:{},data:n}):(l=a&&a.FreeTextContent,e=typeof l===c?l.call(a,{hash:{},data:n}):l),e||0===e?e:""}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var s,i,o="",c="function",h=this.escapeExpression,p=this;return o+='<section class="SharepointWidget">\r\n  <div id="',(i=t.SPDivName)?s=i.call(n,{hash:{},data:l}):(i=n&&n.SPDivName,s=typeof i===c?i.call(n,{hash:{},data:l}):i),o+=h(s)+'" class="sharepointcontainer">\r\n  <div id="SPSearchForm">\r\n    <div class="row-fluid">\r\n      <div class="span12">\r\n        <div class="well well-small">\r\n      \r\n      <div class="input-append">\r\n        <input type="text" id="Sharepoint_search_term" aria-label="search SharePoint" placeholder="" onkeydown="Widgets.Sharepoint_Input_KeyUp(event, \'',(i=t.SPDivName)?s=i.call(n,{hash:{},data:l}):(i=n&&n.SPDivName,s=typeof i===c?i.call(n,{hash:{},data:l}):i),o+=h(s)+'\');" />\r\n        <button id="btSearch" onclick="Widgets.Search_Sharepoint(\'',(i=t.SPDivName)?s=i.call(n,{hash:{},data:l}):(i=n&&n.SPDivName,s=typeof i===c?i.call(n,{hash:{},data:l}):i),o+=h(s)+'\'); return false;" class="btn"></button>\r\n</div>   \r\n      <i class="sharepoint hidden-phone"></i>\r\n    </div>\r\n        <a id="AdditionalInfoButton" onclick="Widgets.OpenAdditionalInfoModal(\'',(i=t.SPDivName)?s=i.call(n,{hash:{},data:l}):(i=n&&n.SPDivName,s=typeof i===c?i.call(n,{hash:{},data:l}):i),o+=h(s)+'\')" href="#na" class="pull-right" style="visibility: hidden;" rel="tooltip">\r\n          <small>Additional Information</small>\r\n        </a>\r\n      </div>\r\n    </div>    \r\n  </div>\r\n  <div id="SPDisplayForm">\r\n    <input value="',(i=t.ServerURL)?s=i.call(n,{hash:{},data:l}):(i=n&&n.ServerURL,s=typeof i===c?i.call(n,{hash:{},data:l}):i),o+=h(s)+'" id="Source" type="hidden" />\r\n    <input value="',(i=t.SpVersion)?s=i.call(n,{hash:{},data:l}):(i=n&&n.SpVersion,s=typeof i===c?i.call(n,{hash:{},data:l}):i),o+=h(s)+'"  id="SpVersion" type="hidden" />\r\n    <input value="',(i=t.displayPerPage)?s=i.call(n,{hash:{},data:l}):(i=n&&n.displayPerPage,s=typeof i===c?i.call(n,{hash:{},data:l}):i),o+=h(s)+'" id="displayPerPage" type="hidden" />\r\n    <input value="',(i=t.showAuthor)?s=i.call(n,{hash:{},data:l}):(i=n&&n.showAuthor,s=typeof i===c?i.call(n,{hash:{},data:l}):i),o+=h(s)+'"  id="showAuthor" type="hidden" />\r\n    <input value="',(i=t.showFileSize)?s=i.call(n,{hash:{},data:l}):(i=n&&n.showFileSize,s=typeof i===c?i.call(n,{hash:{},data:l}):i),o+=h(s)+'"  id="showFileSize" type="hidden" />\r\n    <input value="',(i=t.pageShown)?s=i.call(n,{hash:{},data:l}):(i=n&&n.pageShown,s=typeof i===c?i.call(n,{hash:{},data:l}):i),o+=h(s)+'"  id="pageShown" type="hidden" />\r\n    <input value="',(i=t.FreeTextContent)?s=i.call(n,{hash:{},data:l}):(i=n&&n.FreeTextContent,s=typeof i===c?i.call(n,{hash:{},data:l}):i),o+=h(s)+'"  id="FreeTextContent" type="hidden" />\r\n    <div id="SPResultsForm">\r\n      <fieldset>\r\n        ',s=t["if"].call(n,n&&n.FreeTextContent,{hash:{},inverse:p.noop,fn:p.program(1,r,l),data:l}),(s||0===s)&&(o+=s),o+="\r\n      </fieldset>\r\n    </div>\r\n  </div>\r\n  </div>\r\n</section>\r\n\r\n"}),n.widgets_slackchannel_standard=a(function(a,n,t,e,l){this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var r,s,i="",o="function",c=this.escapeExpression;return i+='<div class="row-fluid">\n  <div class="span12" id="body',(s=t.widgetinstanceid)?r=s.call(n,{hash:{},data:l}):(s=n&&n.widgetinstanceid,r=typeof s===o?s.call(n,{hash:{},data:l}):s),i+=c(r)+'">\n  </div>\n</div>\n'}),n.widgets_socialamplification_item=a(function(a,n,t,e,l){function r(){return'\n						<i class="fa fa-minus-square ii ii-minus"></i>\n						'}function s(){return'\n						<i class="fa fa-plus-square ii ii-plus"></i>\n						'}function i(a){var n;return m((n=a&&a.SystemText,n=null==n||n===!1?n:n.newItem,typeof n===f?n.apply(a):n))}function o(a,n){var e,l;return(l=t.Title)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Title,e=typeof l===f?l.call(a,{hash:{},data:n}):l),m(e)}function c(){return'class="selected"'}function h(){return' checked="checked" '}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var p,u,d="",f="function",m=this.escapeExpression,v=this;return d+='<li class="socamp-item well well-small">\n	<ul class="inline unstyled list-unstyled list-inline" style="margin:0;display:flex;">\n		<li>\n			<span>\n				<a data-toggle="collapse" class="muted" href="#" data-target="#item_',(u=t.UniqueId)?p=u.call(n,{hash:{},data:l}):(u=n&&n.UniqueId,p=typeof u===f?u.call(n,{hash:{},data:l}):u),d+=m(p)+'">\n					<span class="icon">\n						',p=t["if"].call(n,n&&n.IsNewItem,{hash:{},inverse:v.program(3,s,l),fn:v.program(1,r,l),data:l}),(p||0===p)&&(d+=p),d+='\n					</span>\n					<span id="socamp-title_',(u=t.UniqueId)?p=u.call(n,{hash:{},data:l}):(u=n&&n.UniqueId,p=typeof u===f?u.call(n,{hash:{},data:l}):u),d+=m(p)+'">',p=t["if"].call(n,n&&n.IsNewItem,{hash:{},inverse:v.program(7,o,l),fn:v.program(5,i,l),data:l}),(p||0===p)&&(d+=p),d+='</span>\n				</a>\n			</span>\n		</li>\n		<li style="margin-left:auto;">\n			<ul class="inline unstyled list-unstyled list-inline">\n				<li>\n					<span class="draggerHandle" style="cursor: move;">\n						<img src="/Content/default/images/drag-icon.png" alt="'+m((p=n&&n.SystemText,p=null==p||p===!1?p:p.reorderIcon,typeof p===f?p.apply(n):p))+'" loading="lazy">\n						<span class="sr-only">'+m((p=n&&n.SystemText,p=null==p||p===!1?p:p.reorderIcon,typeof p===f?p.apply(n):p))+'</span>\n					</span>\n				</li>\n				<li>\n					<a href="#" onclick="RemoveItem(this)" class="muted">\n						<span class="icon is-normal">\n							<i class="fa fa-trash"></i>\n						</span>\n						<span class="sr-only">'+m((p=n&&n.SystemText,p=null==p||p===!1?p:p.removeButton,typeof p===f?p.apply(n):p))+'</span>\n					</a>\n				</li>\n			</ul>\n		</li>\n	</ul>\n	<div id="item_',(u=t.UniqueId)?p=u.call(n,{hash:{},data:l}):(u=n&&n.UniqueId,p=typeof u===f?u.call(n,{hash:{},data:l}):u),d+=m(p)+'" class="in collapse item-collapsible">\n		<div style="padding: 1rem;">\n			<label>\n				<span>'+m((p=n&&n.SystemText,p=null==p||p===!1?p:p.title,typeof p===f?p.apply(n):p))+'</span>\n				<span style="color: red; margin-right: 8px;">*</span>\n				<a class="whatsthis" href="#" data-placement="right" rel="tooltip" data-target="#" role="button" data-original-title="'+m((p=n&&n.SystemText,p=null==p||p===!1?p:p.titleHelp,typeof p===f?p.apply(n):p))+'">[?]</a>\n			</label>\n			<input type=\'text\' name="item-title" id="SocAmpTitle" class=\'socamp-title\' placeholder="'+m((p=n&&n.SystemText,p=null==p||p===!1?p:p.titlePlaceholder,typeof p===f?p.apply(n):p))+"\" value='",(u=t.Title)?p=u.call(n,{hash:{},data:l}):(u=n&&n.Title,p=typeof u===f?u.call(n,{hash:{},data:l}):u),d+=m(p)+'\' />\n			<div class="hide">\n				<div class="alert alert-error" role="alert">\n					<p>\n						<i class="icon-exclamation-sign"></i>'+m((p=n&&n.SystemText,p=null==p||p===!1?p:p.title,typeof p===f?p.apply(n):p))+" "+m((p=n&&n.SystemText,p=null==p||p===!1?p:p.isRequired,typeof p===f?p.apply(n):p))+".\n					</p>\n				</div>\n			</div>\n\n			<label>\n				<span>"+m((p=n&&n.SystemText,p=null==p||p===!1?p:p.summary,typeof p===f?p.apply(n):p))+'</span><a class="whatsthis" href="#" data-placement="right" rel="tooltip" data-target="#" role="button" data-original-title="'+m((p=n&&n.SystemText,p=null==p||p===!1?p:p.summaryHelp,typeof p===f?p.apply(n):p))+'">[?]</a>\n			</label>\n			<textarea name="item-summary" id="SocAmpSummaryText" class="socamp-summary ckeditor-loadonly" rows="3">',(u=t.Summary)?p=u.call(n,{hash:{},data:l}):(u=n&&n.Summary,p=typeof u===f?u.call(n,{hash:{},data:l}):u),d+=m(p)+'</textarea>\n\n			<div style="margin-top: 1rem; margin-bottom: 1rem; padding-top: 1rem; border-top: solid 2px #fff; border-bottom: solid 2px #fff">\n				<ul class="unstyled socamp-links" id="link_',(u=t.UniqueId)?p=u.call(n,{hash:{},data:l}):(u=n&&n.UniqueId,p=typeof u===f?u.call(n,{hash:{},data:l}):u),d+=m(p)+'"></ul>\n				<div style="margin-top: 1rem; margin-bottom: 1rem;">\n					<a href="#" id="SocAmp_AddLink" class="btn btn-primary is-solid">'+m((p=n&&n.SystemText,p=null==p||p===!1?p:p.addAnotherLinkButton,typeof p===f?p.apply(n):p))+'</a>\n				</div>\n			</div>\n\n			<div style="margin-top: 1rem; margin-bottom: 1rem;">\n				<h6>\n					'+m((p=n&&n.SystemText,p=null==p||p===!1?p:p.selectSocialMediaPlatforms,typeof p===f?p.apply(n):p))+'\n					<a class="whatsthis" href="#" data-placement="right" rel="tooltip" data-target="#" role="button" data-original-title="'+m((p=n&&n.SystemText,p=null==p||p===!1?p:p.selectSocialMediaPlatformsHelp,typeof p===f?p.apply(n):p))+'">[?]</a>\n				</h6>\n				<ul class="social-outlets unstyled">\n					<li name="facebook" ',p=t["if"].call(n,n&&n.Facebook,{hash:{},inverse:v.noop,fn:v.program(9,c,l),data:l}),(p||0===p)&&(d+=p),d+='>\n						<span class="circle-icon facebook">\n							<span class="icon is-large"><i class="fa fa-facebook-f ii ii-facebook"></i></span>\n						</span>\n						<input type="checkbox" name="facebook" hidden ',p=t["if"].call(n,n&&n.Facebook,{hash:{},inverse:v.noop,fn:v.program(11,h,l),data:l}),(p||0===p)&&(d+=p),d+='/>\n						<span class="icon is-medium tick-icon" style=""><i class="fa fa-check-circle ii ii-check-circled"></i></span>\n					</li>\n					<li name="linkedin" ',p=t["if"].call(n,n&&n.LinkedIn,{hash:{},inverse:v.noop,fn:v.program(9,c,l),data:l}),(p||0===p)&&(d+=p),d+='>\n						<span class="circle-icon linkedin">\n							<span class="icon is-large"><i class="fa fa-linkedin ii ii-linkedin"></i></span>\n						</span>\n						<input type="checkbox" name="linkedin" hidden ',p=t["if"].call(n,n&&n.LinkedIn,{hash:{},inverse:v.noop,fn:v.program(11,h,l),data:l}),(p||0===p)&&(d+=p),d+='/>\n						<span class="icon is-medium tick-icon"><i class="fa fa-check-circle ii ii-check-circled"></i></span>\n					</li>\n					<li name="twitter" ',p=t["if"].call(n,n&&n.Twitter,{hash:{},inverse:v.noop,fn:v.program(9,c,l),data:l}),(p||0===p)&&(d+=p),d+='>\n						<span class="circle-icon">\n							<span class="icon is-large"><i class="ii ii-twitter"></i></span>\n						</span>\n						<input type="checkbox" name="twitter" hidden ',p=t["if"].call(n,n&&n.Twitter,{hash:{},inverse:v.noop,fn:v.program(11,h,l),data:l}),(p||0===p)&&(d+=p),d+='/>\n						<span class="icon is-medium tick-icon"><i class="fa fa-check-circle ii ii-check-circled"></i></span>\n					</li>\n				</ul>\n			</div>\n			<label>\n				<span class="muted social-media-text">'+m((p=n&&n.SystemText,p=null==p||p===!1?p:p.linkPrePopulatedMessage,typeof p===f?p.apply(n):p))+'</span>\n			</label>\n			<div class="draft-post-container collapse">\n				<h6>\n					'+m((p=n&&n.SystemText,p=null==p||p===!1?p:p.draftTweet,typeof p===f?p.apply(n):p))+'\n					<a class="whatsthis" href="#" data-placement="right" rel="tooltip" data-target="#" role="button" data-original-title="'+m((p=n&&n.SystemText,p=null==p||p===!1?p:p.draftSocialMediaPostPlaceHolder,typeof p===f?p.apply(n):p))+'">[?]</a>\n				</h6>\n				<textarea name="draft-post" class="hide" ></textarea>\n				<div contenteditable=true name="draft-post" class="socamp-post">\n					',(u=t.DraftPost)?p=u.call(n,{hash:{},data:l}):(u=n&&n.DraftPost,p=typeof u===f?u.call(n,{hash:{},data:l}):u),d+=m(p)+'\n				</div>\n			</div>\n			<div class="hide" style="margin-top: 1rem;">\n				<div class="alert alert-error" role="alert">\n					<p>\n						<i class="icon-exclamation-sign"></i>'+m((p=n&&n.SystemText,p=null==p||p===!1?p:p.draftSocialMediaPost,typeof p===f?p.apply(n):p))+" "+m((p=n&&n.SystemText,p=null==p||p===!1?p:p.isRequired,typeof p===f?p.apply(n):p))+".\n					</p>\n				</div>\n			</div>\n		</div>\n	</div>\n</li>\n"}),n.widgets_socialamplification_link=a(function(a,n,t,e,l){function r(){return'\n							<i class="fa fa-plus-square ii ii-plus"></i>\n						'}function s(){return'\n							<i class="fa fa-minus-square ii ii-minus"></i>\n						'}function i(a,n){var e,l;return(l=t.LinkTitle)?e=l.call(a,{hash:{},data:n}):(l=a&&a.LinkTitle,e=typeof l===m?l.call(a,{hash:{},data:n}):l),v(e)}function o(){return"New Link"}function c(){var a="";return a}function h(){return" in"}function p(){return" selected "}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var u,d,f="",m="function",v=this.escapeExpression,y=this;return f+='<li class="socamp-link">\n	<ul class="inline unstyled list-unstyled list-inline">\n		<li>\n			<span>\n				<a data-toggle="collapse" class="muted" href="#" data-target="#link_',(d=t.LinkUniqueId)?u=d.call(n,{hash:{},data:l}):(d=n&&n.LinkUniqueId,u=typeof d===m?d.call(n,{hash:{},data:l}):d),f+=v(u)+'">\n					<span class="icon">\n						',u=t["if"].call(n,n&&n.LinkTitle,{hash:{},inverse:y.program(3,s,l),fn:y.program(1,r,l),data:l}),(u||0===u)&&(f+=u),f+="\n					</span>\n					<span class='socamp-link-heading'>",u=t["if"].call(n,n&&n.LinkTitle,{hash:{},inverse:y.program(7,o,l),fn:y.program(5,i,l),data:l}),(u||0===u)&&(f+=u),f+='</span>\n				</a>\n			</span>\n		</li>\n		<li style="margin-left:auto;" class="pull-right">\n			<ul class="inline unstyled list-unstyled list-inline">\n				<li>\n					<a href="#" onclick="RemoveLink(this)" class="muted">\n						<span class="icon is-normal">\n							<i class="fa fa-trash"></i>\n						</span>\n						<span class="sr-only">'+v((u=n&&n.SystemText,u=null==u||u===!1?u:u.removeButton,typeof u===m?u.apply(n):u))+'</span>\n					</a>\n				</li>\n			</ul>\n		</li>\n	</ul>\n	<div id="link_',(d=t.LinkUniqueId)?u=d.call(n,{hash:{},data:l}):(d=n&&n.LinkUniqueId,u=typeof d===m?d.call(n,{hash:{},data:l}):d),f+=v(u)+'" class="collapse',u=t["if"].call(n,n&&n.LinkTitle,{hash:{},inverse:y.program(11,h,l),fn:y.program(9,c,l),data:l}),(u||0===u)&&(f+=u),f+='" style="margin-top: 1rem;">\n		<label>\n			<span>'+v((u=n&&n.SystemText,u=null==u||u===!1?u:u.linkName,typeof u===m?u.apply(n):u))+'</span>\n			<span style="color: red; margin-right: 8px;">*</span>\n			<a class="whatsthis" href="#" data-placement="right" rel="tooltip" data-target="#" role="button" data-original-title="'+v((u=n&&n.SystemText,u=null==u||u===!1?u:u.linkNameHelp,typeof u===m?u.apply(n):u))+"\">[?]</a>\n		</label>\n		<input type='text' name=\"link-name\" class='socamp-link-name' value='",(d=t.LinkTitle)?u=d.call(n,{hash:{},data:l}):(d=n&&n.LinkTitle,u=typeof d===m?d.call(n,{hash:{},data:l}):d),f+=v(u)+'\' />\n		<div class="hide">\n			<div class="alert alert-error" role="alert">\n				<p>\n					<i class="icon-exclamation-sign"></i>'+v((u=n&&n.SystemText,u=null==u||u===!1?u:u.linkName,typeof u===m?u.apply(n):u))+" "+v((u=n&&n.SystemText,u=null==u||u===!1?u:u.isRequired,typeof u===m?u.apply(n):u))+".\n				</p>\n			</div>\n		</div>\n\n		<label>\n			<span>"+v((u=n&&n.SystemText,u=null==u||u===!1?u:u.link,typeof u===m?u.apply(n):u))+'</span>\n			<span style="color: red; margin-right: 8px;">*</span>\n			<a class="whatsthis" href="#" data-placement="right" rel="tooltip" data-target="#" role="button" data-original-title="'+v((u=n&&n.SystemText,u=null==u||u===!1?u:u.linkHelp,typeof u===m?u.apply(n):u))+"\">[?]</a>\n		</label>\n		<input type='text' name=\"link-value\" class='socamp-link-value' value='",(d=t.LinkValue)?u=d.call(n,{hash:{},data:l}):(d=n&&n.LinkValue,u=typeof d===m?d.call(n,{hash:{},data:l}):d),f+=v(u)+'\' />\n		<div class="hide">\n			<div class="alert alert-error" role="alert">\n				<p>\n					<i class="icon-exclamation-sign"></i>'+v((u=n&&n.SystemText,u=null==u||u===!1?u:u.link,typeof u===m?u.apply(n):u))+" "+v((u=n&&n.SystemText,u=null==u||u===!1?u:u.isRequired,typeof u===m?u.apply(n):u))+".\n				</p>\n			</div>\n		</div>\n\n		<label>\n			<span>"+v((u=n&&n.SystemText,u=null==u||u===!1?u:u.openIn,typeof u===m?u.apply(n):u))+'</span> <a class="whatsthis" href="#" data-placement="right" rel="tooltip" data-target="#" role="button" data-original-title="'+v((u=n&&n.SystemText,u=null==u||u===!1?u:u.openInHelp,typeof u===m?u.apply(n):u))+'">[?]</a>\n		</label>\n\n		<select id="OpenIn" class=\'socamp-link-openIn\' name="link-openin">\n			<option value="SameWindow" ',u=t["if"].call(n,n&&n.IsSameWindow,{hash:{},inverse:y.noop,fn:y.program(13,p,l),data:l}),(u||0===u)&&(f+=u),f+=">"+v((u=n&&n.SystemText,u=null==u||u===!1?u:u.openInSameWindow,typeof u===m?u.apply(n):u))+'</option>\n			<option value="NewWindow" ',u=t.unless.call(n,n&&n.IsSameWindow,{hash:{},inverse:y.noop,fn:y.program(13,p,l),data:l}),(u||0===u)&&(f+=u),f+=">"+v((u=n&&n.SystemText,u=null==u||u===!1?u:u.openInNewWindow,typeof u===m?u.apply(n):u))+"</option>\n		</select>\n	</div>\n</li>"}),n.widgets_socialamplification_standard=a(function(a,n,t,e,l){function r(a){var n,t="";return t+='\n	<p class="no_content muted">'+S((n=a&&a.SysText,n=null==n||n===!1?n:n.noItems,typeof n===g?n.apply(a):n))+"</p>\n	"}function s(a,n){var e,l="";return l+='\n	<ul class="unstyled">\n		',e=t.each.call(a,a&&a.Items,{hash:{},inverse:D.noop,fn:D.program(4,i,n),data:n}),(e||0===e)&&(l+=e),l+="\n	</ul>\n	"}function i(a,n){var e,l,r="";return r+='\n		<li class="socamp-item">\n			<h5>',(l=t.Title)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Title,e=typeof l===g?l.call(a,{hash:{},data:n}):l),r+=S(e)+"</h5>\n			<p>",(l=t.Summary)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Summary,e=typeof l===g?l.call(a,{hash:{},data:n}):l),(e||0===e)&&(r+=e),r+='</p>\n			<ul class="unstyled list-spaced">\n				',e=t.each.call(a,a&&a.Links,{hash:{},inverse:D.noop,fn:D.programWithDepth(5,o,n,a),data:n}),(e||0===e)&&(r+=e),r+="\n			</ul>\n\n		</li>\n		"}function o(a,n,e){var l,r,s="";return s+='\n				<li>\n				<div class="btn-group dropup s-block">\n					<!-- btn-block -->\n					<button type="button" class="btn btn-primary is-solid s-block ellipsis" link="',(r=t.LinkValue)?l=r.call(a,{hash:{},data:n}):(r=a&&a.LinkValue,l=typeof r===g?r.call(a,{hash:{},data:n}):r),s+=S(l)+'" onclick="FollowSpecifiedLink(this)" openIn="',(r=t.OpenIn)?l=r.call(a,{hash:{},data:n}):(r=a&&a.OpenIn,l=typeof r===g?r.call(a,{hash:{},data:n}):r),s+=S(l)+'">\n						',(r=t.LinkTitle)?l=r.call(a,{hash:{},data:n}):(r=a&&a.LinkTitle,l=typeof r===g?r.call(a,{hash:{},data:n}):r),s+=S(l)+"\n					</button>\n					",l=t["if"].call(a,(l=e&&e.SocialOutlets,null==l||l===!1?l:l.length),{hash:{},inverse:D.noop,fn:D.programWithDepth(6,c,n,e),data:n}),(l||0===l)&&(s+=l),s+="\n				</div>\n				</li>\n				"}function c(a,n,e){var l,r="";return r+='\n					<button type="button" class="btn dropdown-toggle btn-primary is-solid btn-social" data-toggle="dropdown" style="border-left: 1px solid white;" data-outlets="'+S((l=e&&e.SocialOutlets,typeof l===g?l.apply(a):l))+'">\n						<i class="fa fa-share-alt ii ii-share"></i><span class="sr-only">'+S((l=e&&e.SocialOutlets,typeof l===g?l.apply(a):l))+'</span>\n					</button>\n					<ul class="dropdown-menu pull-right social-icon-dropdown">\n						',l=t.each.call(a,e&&e.SocialOutlets,{hash:{},inverse:D.noop,fn:D.programWithDepth(7,h,n,a,e),data:n}),(l||0===l)&&(r+=l),r+="\n					</ul>\n					"}function h(a,n,e,l){var r,s,i,o="";return o+="\n						",s=t.equals||a&&a.equals,i={hash:{},inverse:D.noop,fn:D.programWithDepth(8,p,n,e),data:n},r=s?s.call(a,a,"facebook",i):T.call(a,"equals",a,"facebook",i),(r||0===r)&&(o+=r),o+="\n						",s=t.equals||a&&a.equals,i={hash:{},inverse:D.noop,fn:D.programWithDepth(10,u,n,e),data:n},r=s?s.call(a,a,"linkedin",i):T.call(a,"equals",a,"linkedin",i),(r||0===r)&&(o+=r),o+="\n						",s=t.equals||a&&a.equals,i={hash:{},inverse:D.noop,fn:D.programWithDepth(12,d,n,e,l),data:n},r=s?s.call(a,a,"twitter",i):T.call(a,"equals",a,"twitter",i),(r||0===r)&&(o+=r),o+="\n						"}function p(a,n,t){var e,l="";return l+='\n						<li class="facebook" data-link="'+S((e=t&&t.LinkValue,typeof e===g?e.apply(a):e))+'">\n							<a href="#!" aria-label="share with Facebook"><i class="fa fa-2x fa-facebook-square"></i></a>\n						</li>\n						'}function u(a,n,t){var e,l="";return l+='\n						<li class="linkedin" data-link="'+S((e=t&&t.LinkValue,typeof e===g?e.apply(a):e))+'">\n							<a href="#!" aria-label="share with LinkedIn"><i class="fa fa-2x fa-linkedin-square"></i></a>\n						</li>\n						'}function d(a,n,t,e){var l,r="";return r+='\n						<li class="" data-link="'+S((l=t&&t.LinkValue,typeof l===g?l.apply(a):l))+'" data-text="'+S((l=e&&e.DraftPost,typeof l===g?l.apply(a):l))+'">\n							<a href="#!" aria-label="share with X"><i class="ii-twitter"></i></a>\n						</li>\n						'}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var f,m,v,y="",g="function",S=this.escapeExpression,D=this,T=t.helperMissing;return y+='<section class="Widget">\n	<p class="xs-mt-1">',(m=t.Introduction)?f=m.call(n,{hash:{},data:l}):(m=n&&n.Introduction,f=typeof m===g?m.call(n,{hash:{},data:l}):m),(f||0===f)&&(y+=f),y+="</p>\n	",m=t.equals||n&&n.equals,v={hash:{},inverse:D.program(3,s,l),fn:D.program(1,r,l),data:l},f=m?m.call(n,(f=n&&n.Items,null==f||f===!1?f:f.length),0,v):T.call(n,"equals",(f=n&&n.Items,null==f||f===!1?f:f.length),0,v),(f||0===f)&&(y+=f),y+="\n</section>\n"}),n.widgets_supportdesk_standard=a(function(a,n,t,e,l){function r(a,n){var e,l="";return l+='\r\n    <ul class="unstyled">\r\n        ',e=t.each.call(a,a&&a.AnnouncementItems,{hash:{},inverse:f.noop,fn:f.program(2,s,n),data:n}),(e||0===e)&&(l+=e),l+="       \r\n    </ul>\r\n"}function s(a,n){var e,l="";return l+="\r\n        <li>",e=t["if"].call(a,a&&a.PriorityIcon,{hash:{},inverse:f.program(5,o,n),fn:f.program(3,i,n),data:n}),(e||0===e)&&(l+=e),l+="                           \r\n        </li>\r\n        "}function i(a,n){var e,l,r="";return r+='\r\n            <i class="icon-exclamation-sign"></i>',(l=t.Announcement)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Announcement,e=typeof l===u?l.call(a,{hash:{},data:n}):l),r+=d(e)+"\r\n        "}function o(a,n){var e,l,r="";return r+='\r\n            <i class="icon-comment"></i>',(l=t.Announcement)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Announcement,e=typeof l===u?l.call(a,{hash:{},data:n}):l),r+=d(e)+"\r\n        "}function c(){return"\r\n        There are no Announcements to show\r\n"}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var h,p="",u="function",d=this.escapeExpression,f=this;return p+="",h=t["if"].call(n,n&&n.AnnouncementItems,{hash:{},inverse:f.program(7,c,l),fn:f.program(1,r,l),data:l}),(h||0===h)&&(p+=h),p}),n.widgets_teaminformation_standard=a(function(a,n,t,e,l){function r(a,n){var e,l,r="";return r+="\r\n<li>",(l=t.Description)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Description,e=typeof l===y?l.call(a,{hash:{},data:n}):l),r+=g(e)+"</li>\r\n"}function s(a,n){var e,l,r="";return r+="\r\n    <li><b>"+g((e=a&&a.SystemText,e=null==e||e===!1?e:e.Owner,typeof e===y?e.apply(a):e))+'</b> <a href="/interact/pages/modules/directory/entry.aspx?person=',(l=t.OwnerId)?e=l.call(a,{hash:{},data:n}):(l=a&&a.OwnerId,e=typeof l===y?l.call(a,{hash:{},data:n}):l),r+=g(e)+'" data-personid=',(l=t.OwnerId)?e=l.call(a,{hash:{},data:n}):(l=a&&a.OwnerId,e=typeof l===y?l.call(a,{hash:{},data:n}):l),r+=g(e)+">",(l=t.Owner)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Owner,e=typeof l===y?l.call(a,{hash:{},data:n}):l),r+=g(e)+"</a></li>\r\n    "}function i(a,n){var e,l,r="";return r+="\r\n        <li><b>"+g((e=a&&a.SystemText,e=null==e||e===!1?e:e.Category,typeof e===y?e.apply(a):e))+"</b> ",(l=t.TeamCategoryName)?e=l.call(a,{hash:{},data:n}):(l=a&&a.TeamCategoryName,e=typeof l===y?l.call(a,{hash:{},data:n}):l),r+=g(e)+"</li>\r\n                                "}function o(a,n){var e,l,r="";
return r+="\r\n		<li><b>"+g((e=a&&a.SystemText,e=null==e||e===!1?e:e.Type,typeof e===y?e.apply(a):e))+"</b> ",(l=t.Type)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Type,e=typeof l===y?l.call(a,{hash:{},data:n}):l),r+=g(e)+"</li>\r\n                                "}function c(a,n){var e,l,r="";return r+="\r\n		<li><b>"+g((e=a&&a.SystemText,e=null==e||e===!1?e:e.NumberOfMembers,typeof e===y?e.apply(a):e))+"</b> ",(l=t.Members)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Members,e=typeof l===y?l.call(a,{hash:{},data:n}):l),r+=g(e)+"</li>\r\n                                "}function h(a,n){var e,l,r="";return r+="\r\n		<li><b>"+g((e=a&&a.SystemText,e=null==e||e===!1?e:e.Keywords,typeof e===y?e.apply(a):e))+"</b> ",(l=t.Keywords)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Keywords,e=typeof l===y?l.call(a,{hash:{},data:n}):l),r+=g(e)+"</li>\r\n                                "}function p(a,n){var e,l,r="";return r+='\r\n		<a class="btn" href="/Interact/Controls/Directory/JoinTeam.aspx?ID=',(l=t.TeamId)?e=l.call(a,{hash:{},data:n}):(l=a&&a.TeamId,e=typeof l===y?l.call(a,{hash:{},data:n}):l),r+=g(e)+'" >'+g((e=a&&a.SystemText,e=null==e||e===!1?e:e.Join,typeof e===y?e.apply(a):e))+"</a>\r\n        "}function u(a,n){var e,l,r="";return r+='\r\n            <a class="btn" href="/Interact/Controls/Directory/InviteMembers.aspx?ID=',(l=t.TeamId)?e=l.call(a,{hash:{},data:n}):(l=a&&a.TeamId,e=typeof l===y?l.call(a,{hash:{},data:n}):l),r+=g(e)+"&redirect=/Interact/Pages/Section/Default.aspx?Section=",(l=t.SectionId)?e=l.call(a,{hash:{},data:n}):(l=a&&a.SectionId,e=typeof l===y?l.call(a,{hash:{},data:n}):l),r+=g(e)+'" >'+g((e=a&&a.SystemText,e=null==e||e===!1?e:e.Invite,typeof e===y?e.apply(a):e))+"</a>\r\n            "}function d(a,n){var e,l,r="";return r+='\r\n                <a class="btn" href="/Interact/Controls/Directory/LeaveTeam.aspx?ID=',(l=t.TeamId)?e=l.call(a,{hash:{},data:n}):(l=a&&a.TeamId,e=typeof l===y?l.call(a,{hash:{},data:n}):l),r+=g(e)+'" >'+g((e=a&&a.SystemText,e=null==e||e===!1?e:e.Leave,typeof e===y?e.apply(a):e))+"</a>\r\n                "}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var f,m,v="",y="function",g=this.escapeExpression,S=this;return v+='\r\n        <section class="TeamInformationWidgetConfig TeamInformation_Standard Widget">\r\n                    <div class="teamdesc">\r\n                        <div class="images">\r\n                            <img src="',(m=t.TeamImageUrl)?f=m.call(n,{hash:{},data:l}):(m=n&&n.TeamImageUrl,f=typeof m===y?m.call(n,{hash:{},data:l}):m),v+=g(f)+'" loading="lazy" />\r\n                        </div>\r\n                        <div class="desc">\r\n                            <ul class="unstyled">\r\n                                <li>',(m=t.Title)?f=m.call(n,{hash:{},data:l}):(m=n&&n.Title,f=typeof m===y?m.call(n,{hash:{},data:l}):m),v+=g(f)+"</li>\r\n",f=t["if"].call(n,n&&n.ShowDescription,{hash:{},inverse:S.noop,fn:S.program(1,r,l),data:l}),(f||0===f)&&(v+=f),v+="\r\n\r\n    ",f=t["if"].call(n,n&&n.ShowOwner,{hash:{},inverse:S.noop,fn:S.program(3,s,l),data:l}),(f||0===f)&&(v+=f),v+="\r\n\r\n        ",f=t["if"].call(n,n&&n.ShowTeamCategoryName,{hash:{},inverse:S.noop,fn:S.program(5,i,l),data:l}),(f||0===f)&&(v+=f),v+="\r\n\r\n		",f=t["if"].call(n,n&&n.ShowType,{hash:{},inverse:S.noop,fn:S.program(7,o,l),data:l}),(f||0===f)&&(v+=f),v+="\r\n\r\n		",f=t["if"].call(n,n&&n.ShowMembers,{hash:{},inverse:S.noop,fn:S.program(9,c,l),data:l}),(f||0===f)&&(v+=f),v+="\r\n\r\n		",f=t["if"].call(n,n&&n.ShowKeywords,{hash:{},inverse:S.noop,fn:S.program(11,h,l),data:l}),(f||0===f)&&(v+=f),v+='\r\n                            </ul>\r\n                        </div>\r\n                        <div class="pull-right" style="margin:10px 0 0 0;clear: both;">\r\n                            ',f=t["if"].call(n,n&&n.ShowJoin,{hash:{},inverse:S.noop,fn:S.program(13,p,l),data:l}),(f||0===f)&&(v+=f),v+="\r\n\r\n            ",f=t["if"].call(n,n&&n.ShowInvite,{hash:{},inverse:S.noop,fn:S.program(15,u,l),data:l}),(f||0===f)&&(v+=f),v+="\r\n\r\n                ",f=t["if"].call(n,n&&n.ShowLeave,{hash:{},inverse:S.noop,fn:S.program(17,d,l),data:l}),(f||0===f)&&(v+=f),v+="\r\n\r\n                    \r\n        </div>\r\n</section>"}),n.widgets_teammemberslist_inner_searchresult=a(function(a,n,t,e,l){this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var r,s,i="",o="function",c=this.escapeExpression;return i+='<div style="height: 25px;">\r\n    <img class="ii_widget_result_teamimage pull-left" src="',(s=t.ImageURL)?r=s.call(n,{hash:{},data:l}):(s=n&&n.ImageURL,r=typeof s===o?s.call(n,{hash:{},data:l}):s),i+=c(r)+'" loading="lazy"/>\r\n    <ul>\r\n        <li>\r\n			<a data-personid="',(s=t.PersonID)?r=s.call(n,{hash:{},data:l}):(s=n&&n.PersonID,r=typeof s===o?s.call(n,{hash:{},data:l}):s),i+=c(r)+'" href="',(s=t.EntrypageUrl)?r=s.call(n,{hash:{},data:l}):(s=n&&n.EntrypageUrl,r=typeof s===o?s.call(n,{hash:{},data:l}):s),i+=c(r)+'" style="display: inline-block; margin: 0 !important;">',(s=t.FullName)?r=s.call(n,{hash:{},data:l}):(s=n&&n.FullName,r=typeof s===o?s.call(n,{hash:{},data:l}):s),i+=c(r)+"</a>\r\n        </li>\r\n        <li>",(s=t.Department)?r=s.call(n,{hash:{},data:l}):(s=n&&n.Department,r=typeof s===o?s.call(n,{hash:{},data:l}):s),i+=c(r)+"</li>\r\n        <li>",(s=t.Email)?r=s.call(n,{hash:{},data:l}):(s=n&&n.Email,r=typeof s===o?s.call(n,{hash:{},data:l}):s),i+=c(r)+'</li>\r\n    </ul>\r\n</div>\r\n<br style="clear: both" />'}),n.widgets_teammemberslist_standard=a(function(a,n,t,e,l){function r(a,n){var e,l,r="";return r+='\r\n                <li class="pull-left margin">\r\n                    <a href="',(l=t.EntrypageUrl)?e=l.call(a,{hash:{},data:n}):(l=a&&a.EntrypageUrl,e=typeof l===h?l.call(a,{hash:{},data:n}):l),r+=p(e)+'" rel="tooltip" data-original-title="',(l=t.FullName)?e=l.call(a,{hash:{},data:n}):(l=a&&a.FullName,e=typeof l===h?l.call(a,{hash:{},data:n}):l),r+=p(e)+'" title="',(l=t.FullName)?e=l.call(a,{hash:{},data:n}):(l=a&&a.FullName,e=typeof l===h?l.call(a,{hash:{},data:n}):l),r+=p(e)+'">\r\n                        <img src="',(l=t.ImageURL)?e=l.call(a,{hash:{},data:n}):(l=a&&a.ImageURL,e=typeof l===h?l.call(a,{hash:{},data:n}):l),r+=p(e)+'" alt="Person Name" class="img-circle border" width="35" height="35" loading="lazy"/>\r\n                    </a>\r\n                </li>\r\n            '}function s(a,n){var e,l,r="";return r+='\r\n                <li>\r\n                    <a href="',(l=t.EntrypageUrl)?e=l.call(a,{hash:{},data:n}):(l=a&&a.EntrypageUrl,e=typeof l===h?l.call(a,{hash:{},data:n}):l),r+=p(e)+'" rel="tooltip" data-original-title="',(l=t.FullName)?e=l.call(a,{hash:{},data:n}):(l=a&&a.FullName,e=typeof l===h?l.call(a,{hash:{},data:n}):l),r+=p(e)+'" title="',(l=t.FullName)?e=l.call(a,{hash:{},data:n}):(l=a&&a.FullName,e=typeof l===h?l.call(a,{hash:{},data:n}):l),r+=p(e)+'">',(l=t.FullName)?e=l.call(a,{hash:{},data:n}):(l=a&&a.FullName,e=typeof l===h?l.call(a,{hash:{},data:n}):l),r+=p(e)+"</a>\r\n                </li>\r\n                "}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var i,o,c="",h="function",p=this.escapeExpression,u=this;return c+='<div class="tabbable" id="teammemberslist">\r\n    <!-- Only required for left/right tabs -->\r\n    <ul class="nav nav-tabs">\r\n        <li class="active"><a href="#MembersTab" data-toggle="tab">',(o=t.MembersTabTitle)?i=o.call(n,{hash:{},data:l}):(o=n&&n.MembersTabTitle,i=typeof o===h?o.call(n,{hash:{},data:l}):o),c+=p(i)+'</a></li>\r\n        <li><a href="#SearchTab" data-toggle="tab">',(o=t.SearchTabTitle)?i=o.call(n,{hash:{},data:l}):(o=n&&n.SearchTabTitle,i=typeof o===h?o.call(n,{hash:{},data:l}):o),c+=p(i)+'</a></li>\r\n        <li><a href="#ContributorsTab" data-toggle="tab">',(o=t.ContributorsTabTitle)?i=o.call(n,{hash:{},data:l}):(o=n&&n.ContributorsTabTitle,i=typeof o===h?o.call(n,{hash:{},data:l}):o),c+=p(i)+'</a></li>\r\n    </ul>\r\n    <div class="tab-content">\r\n        <div class="tab-pane active" id="MembersTab"> \r\n            <ul class="pull-left unstyled" style="margin:0;">                 \r\n            ',i=t.each.call(n,n&&n.Members,{hash:{},inverse:u.noop,fn:u.program(1,r,l),data:l}),(i||0===i)&&(c+=i),c+='\r\n            </ul>\r\n        </div>\r\n        <div class="tab-pane" id="SearchTab">\r\n            <input id="txtTeamSearch" type="text" class="search-query"\r\n                placeholder="',(o=t.SearchPlaceholder)?i=o.call(n,{hash:{},data:l}):(o=n&&n.SearchPlaceholder,i=typeof o===h?o.call(n,{hash:{},data:l}):o),c+=p(i)+'" autocomplete="off"\r\n                style="text-overflow: ellipsis;" data-default="150">\r\n        </div>\r\n        <div class="tab-pane" id="ContributorsTab">\r\n            <ol>\r\n                ',i=t.each.call(n,n&&n.Contributors,{hash:{},inverse:u.noop,fn:u.program(3,s,l),data:l}),(i||0===i)&&(c+=i),c+="\r\n            </ol>\r\n        </div>\r\n    </div>\r\n</div>"}),n.widgets_timeline_standard=a(function(a,n,t,e,l){function r(a,n){var e,l,r="";return r+='\r\n        <section id="timelineGlobal',(l=t.widgetinstanceid)?e=l.call(a,{hash:{},data:n}):(l=a&&a.widgetinstanceid,e=typeof l===p?l.call(a,{hash:{},data:n}):l),r+=u(e)+'" style="max-width: 100%;padding-top: 10px;top: 0;">\r\n        </section>\r\n    '}function s(a,n){var e,l="";return l+="\r\n        ",e=t["if"].call(a,a&&a.InTeamSection,{hash:{},inverse:d.program(6,o,n),fn:d.program(4,i,n),data:n}),(e||0===e)&&(l+=e),l+="\r\n    "}function i(a,n){var e,l,r="";return r+='\r\n		<section id="timelineTeam',(l=t.widgetinstanceid)?e=l.call(a,{hash:{},data:n}):(l=a&&a.widgetinstanceid,e=typeof l===p?l.call(a,{hash:{},data:n}):l),r+=u(e)+'" data-teamsectionid="',(l=t.SectionID)?e=l.call(a,{hash:{},data:n}):(l=a&&a.SectionID,e=typeof l===p?l.call(a,{hash:{},data:n}):l),r+=u(e)+'" style="max-width: 100%;padding-top: 10px;top: 0;"></section>\r\n        '}function o(a,n){var e,l,r="";return r+='\r\n            <section id="timelineSection',(l=t.widgetinstanceid)?e=l.call(a,{hash:{},data:n}):(l=a&&a.widgetinstanceid,e=typeof l===p?l.call(a,{hash:{},data:n}):l),r+=u(e)+'" data-sectionid="',(l=t.SectionID)?e=l.call(a,{hash:{},data:n}):(l=a&&a.SectionID,e=typeof l===p?l.call(a,{hash:{},data:n}):l),r+=u(e)+'" style="max-width: 100%;padding-top: 10px;top: 0;">\r\n            </section>\r\n        '}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var c,h="",p="function",u=this.escapeExpression,d=this;return h+='<div class="row-fluid">\r\n    <div class="span12">\r\n    ',c=t["if"].call(n,n&&n.GlobalTimeLine,{hash:{},inverse:d.program(3,s,l),fn:d.program(1,r,l),data:l}),(c||0===c)&&(h+=c),h+="\r\n    </div>\r\n</div>"}),n.widgets_timeline_wide=a(function(a,n,t,e,l){function r(a,n){var e,l,r="";return r+='\n        <section id="timelineGlobal',(l=t.widgetinstanceid)?e=l.call(a,{hash:{},data:n}):(l=a&&a.widgetinstanceid,e=typeof l===p?l.call(a,{hash:{},data:n}):l),r+=u(e)+'" class="masonry-grid layout-timeline-wide" style="max-width: 100%;padding-top: 10px;top: 0;">\n        </section>\n    '}function s(a,n){var e,l="";return l+="\n        ",e=t["if"].call(a,a&&a.InTeamSection,{hash:{},inverse:d.program(6,o,n),fn:d.program(4,i,n),data:n}),(e||0===e)&&(l+=e),l+="\n    "}function i(a,n){var e,l,r="";return r+='\n		<section id="timelineTeam',(l=t.widgetinstanceid)?e=l.call(a,{hash:{},data:n}):(l=a&&a.widgetinstanceid,e=typeof l===p?l.call(a,{hash:{},data:n}):l),r+=u(e)+'" class="masonry-grid" data-teamsectionid="',(l=t.SectionID)?e=l.call(a,{hash:{},data:n}):(l=a&&a.SectionID,e=typeof l===p?l.call(a,{hash:{},data:n}):l),r+=u(e)+'" style="max-width: 100%;padding-top: 10px;top: 0;"></section>\n        '}function o(a,n){var e,l,r="";return r+='\n            <section id="timelineSection',(l=t.widgetinstanceid)?e=l.call(a,{hash:{},data:n}):(l=a&&a.widgetinstanceid,e=typeof l===p?l.call(a,{hash:{},data:n}):l),r+=u(e)+'" class="masonry-grid" data-sectionid="',(l=t.SectionID)?e=l.call(a,{hash:{},data:n}):(l=a&&a.SectionID,e=typeof l===p?l.call(a,{hash:{},data:n}):l),r+=u(e)+'" style="max-width: 100%;padding-top: 10px;top: 0;">\n            </section>\n        '}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var c,h="",p="function",u=this.escapeExpression,d=this;return h+='<div class="row-fluid timeline-wide">\n    <div class="span12">\n    ',c=t["if"].call(n,n&&n.GlobalTimeLine,{hash:{},inverse:d.program(3,s,l),fn:d.program(1,r,l),data:l}),(c||0===c)&&(h+=c),h+="\n    </div>\n</div>"}),n.widgets_topicscontent_articlelist=a(function(a,n,t,e,l){function r(a,n,e){var l,r,h,u="";return u+='\n	<li class="pull-left gridster-wac">\n		<div style="background-image: url(\'',l=t["if"].call(a,a&&a.AssetID,{hash:{},inverse:P.program(4,i,n),fn:P.program(2,s,n),data:n}),(l||0===l)&&(u+=l),u+="'); background-position: 50% ",(r=t.BackgroundYpos)?l=r.call(a,{hash:{},data:n}):(r=a&&a.BackgroundYpos,l=typeof r===U?r.call(a,{hash:{},data:n}):r),u+=_(l)+'%;" class="center-cropped img-bg">\n			<div class="img-hover">\n				<img src="',l=t["if"].call(a,a&&a.AssetID,{hash:{},inverse:P.program(4,i,n),fn:P.program(6,o,n),data:n}),(l||0===l)&&(u+=l),u+='" alt="" role="presentation" loading="lazy" />\n			</div>\n		</div>\n		<div class="content-items">\n			<h3 class="hiddentitle">Featured Content</h3>\n			<h4 dir="auto">\n				<small>\n					<a class="is-w-a" target="',(r=t.Target)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Target,l=typeof r===U?r.call(a,{hash:{},data:n}):r),u+=_(l)+'" href="',(r=t.URL)?l=r.call(a,{hash:{},data:n}):(r=a&&a.URL,l=typeof r===U?r.call(a,{hash:{},data:n}):r),u+=_(l)+'">',(r=t.Title)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Title,l=typeof r===U?r.call(a,{hash:{},data:n}):r),(l||0===l)&&(u+=l),u+="</a>\n				</small>\n			</h4>\n			",r=t.equals||a&&a.equals,h={hash:{},inverse:P.program(11,p,n),fn:P.programWithDepth(8,c,n,e),data:n},l=r?r.call(a,a&&a.Type,"Event",h):H.call(a,"equals",a&&a.Type,"Event",h),(l||0===l)&&(u+=l),u+='\n			<p class="muted is-author">\n				<!-- This will return true if AuthorType is greater than 0, i.e. not a person -->\n				',l=t["if"].call(a,a&&a.AuthorType,{hash:{},inverse:P.programWithDepth(17,m,n,e),fn:P.programWithDepth(14,d,n,e),data:n}),(l||0===l)&&(u+=l),u+='\n			</p>\n			<ul class="unstyled">\n				<li>\n					<div class="row-fluid social">\n						<div class="span4 pull-left">\n							',r=t.when||a&&a.when,h={hash:{},inverse:P.program(26,T,n),fn:P.program(21,g,n),data:n},l=r?r.call(a,"Type != 'Event'",h):H.call(a,"when","Type != 'Event'",h),(l||0===l)&&(u+=l),u+='\n						</div>\n						<div class="span8 pull-left likes">\n							',l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:P.noop,fn:P.programWithDepth(32,b,n,e),data:n}),(l||0===l)&&(u+=l),u+="\n						</div>\n					</div>\n				</li>\n			</ul>\n		</div>\n	</li>\n	"}function s(a,n){var e,l,r;return l=t.asset||a&&a.asset,r={hash:{},data:n},e=l?l.call(a,a&&a.AssetID,5,r):H.call(a,"asset",a&&a.AssetID,5,r),e||0===e?e:""}function i(a,n){var e,l;return _((e=t.avatar||a&&a.avatar,l={hash:{},data:n},e?e.call(a,a&&a.Type,l):H.call(a,"avatar",a&&a.Type,l)))}function o(a,n){var e,l,r;return l=t.asset||a&&a.asset,r={hash:{},data:n},e=l?l.call(a,a&&a.AssetID,8,r):H.call(a,"asset",a&&a.AssetID,8,r),e||0===e?e:""}function c(a,n,e){var l,r="";return r+="\n			",l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:P.noop,fn:P.programWithDepth(9,h,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n			"}function h(a,n,t){var e,l="";return l+='\n			<p class="muted">\n				<strong>'+_((e=t&&t.SystemText,e=null==e||e===!1?e:e.Location,typeof e===U?e.apply(a):e))+":</strong> ",e=a&&a.Entity,e=null==e||e===!1?e:e.Location,e=typeof e===U?e.apply(a):e,(e||0===e)&&(l+=e),l+="\n			</p>\n			"}function p(a,n){var e,l="";return l+="\n			",e=t["if"].call(a,a&&a.Summary,{hash:{},inverse:P.noop,fn:P.program(12,u,n),data:n}),(e||0===e)&&(l+=e),l+="\n			"}function u(a,n){var e,l,r,s="";return s+='\n			<p class="muted" dir="auto">\n				',l=t.truncate||a&&a.truncate,r={hash:{},data:n},e=l?l.call(a,a&&a.Summary,80,r):H.call(a,"truncate",a&&a.Summary,80,r),(e||0===e)&&(s+=e),s+="\n			</p>\n			"}function d(a,n,e){var l,r="";return r+="\n					",l=t["if"].call(a,a&&a.Author,{hash:{},inverse:P.noop,fn:P.programWithDepth(15,f,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n				"}function f(a,n,e){var l,r,s="";return s+="\n						<!-- Display a span instead of a link -->\n						"+_((l=e&&e.SystemText,l=null==l||l===!1?l:l.By,typeof l===U?l.apply(a):l))+" <span><strong>",(r=t.Author)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Author,l=typeof r===U?r.call(a,{hash:{},data:n}):r),s+=_(l)+"</strong></span>\n					"}function m(a,n,e){var l,r="";return r+="\n					",l=t["if"].call(a,a&&a.Author,{hash:{},inverse:P.noop,fn:P.programWithDepth(18,v,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n				"}function v(a,n,e){var l,r,s,i="";return i+="\n						"+_((l=e&&e.SystemText,l=null==l||l===!1?l:l.By,typeof l===U?l.apply(a):l))+' <a href="'+_((r=t.link||a&&a.link,s={hash:{},data:n},r?r.call(a,"Person",a&&a.AuthorID,s):H.call(a,"link","Person",a&&a.AuthorID,s)))+'" ',l=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:P.noop,fn:P.program(19,y,n),data:n}),(l||0===l)&&(i+=l),i+=">",(r=t.Author)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Author,l=typeof r===U?r.call(a,{hash:{},data:n}):r),i+=_(l)+"</a>\n					"}function y(a,n){var e,l,r="";return r+=' data-personid="',(l=t.AuthorID)?e=l.call(a,{hash:{},data:n}):(l=a&&a.AuthorID,e=typeof l===U?l.call(a,{hash:{},data:n}):l),r+=_(e)+'" '}function g(a,n){var e,l="";return l+='\n							<time class="timeago pull-left timeago-date" datetime="',e=t["if"].call(a,a&&a.ShowUpdateDate,{hash:{},inverse:P.program(24,D,n),fn:P.program(22,S,n),data:n}),(e||0===e)&&(l+=e),l+='"></time>\n							'}function S(a,n){var e,l,r="";return r+=" ",(l=t.UpdateDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.UpdateDate,e=typeof l===U?l.call(a,{hash:{},data:n}):l),r+=_(e)+" "}function D(a,n){var e,l,r="";return r+=" ",(l=t.StartDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.StartDate,e=typeof l===U?l.call(a,{hash:{},data:n}):l),r+=_(e)+" "}function T(a,n){var e,l,r,s="";return s+="\n							",l=t.equals||a&&a.equals,r={hash:{},inverse:P.program(30,A,n),fn:P.program(27,I,n),data:n},e=l?l.call(a,(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r):H.call(a,"equals",(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r),(e||0===e)&&(s+=e),s+="\n							"}function I(a,n){var e,l,r,s="";return s+='<span class="pull-left timeago timeago-doubledate muted">\n								',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:P.noop,fn:P.program(28,w,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.EndDate,r):H.call(a,"eventTimeString",a&&a.StartDate,a&&a.EndDate,r),(e||0===e)&&(s+=e),s+="\n							</span>"}function w(){var a="";return a}function A(a,n){var e,l,r,s="";return s+='<span class="timeago timeago-singledate">\n								',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:P.noop,fn:P.program(28,w,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.StartDate,r):H.call(a,"eventTimeString",a&&a.StartDate,a&&a.StartDate,r),(e||0===e)&&(s+=e),s+="\n							</span>"}function b(a,n,e){var l,r,s,i="";return i+='\n							<span class="pull-right count">\n								',l=t["if"].call(a,a&&a.SocialAdvocacyItem,{hash:{},inverse:P.noop,fn:P.programWithDepth(33,C,n,e),data:n}),(l||0===l)&&(i+=l),i+="\n								",r=t.equals||a&&a.equals,s={hash:{},inverse:P.noop,fn:P.programWithDepth(35,q,n,e),data:n},l=r?r.call(a,(l=a&&a.Entity,null==l||l===!1?l:l.IsCommentsAllowed),"true",s):H.call(a,"equals",(l=a&&a.Entity,null==l||l===!1?l:l.IsCommentsAllowed),"true",s),(l||0===l)&&(i+=l),i+='\n								<span title="',r=t.equals||a&&a.equals,s={hash:{},inverse:P.program(40,x,n),fn:P.program(36,k,n),data:n},l=r?r.call(a,a&&a.LikeCount,"-1=",s):H.call(a,"equals",a&&a.LikeCount,"-1=",s),(l||0===l)&&(i+=l),i+=" "+_((l=e&&e.SystemText,l=null==l||l===!1?l:l.Likes,typeof l===U?l.apply(a):l))+'">\n									<span class="icon is-normal"><i class="iconextra-like ii-like"></i></span>\n									',r=t.equals||a&&a.equals,s={hash:{},inverse:P.program(40,x,n),fn:P.program(36,k,n),data:n},l=r?r.call(a,a&&a.LikeCount,"-1",s):H.call(a,"equals",a&&a.LikeCount,"-1",s),(l||0===l)&&(i+=l),i+="\n								</span>\n							</span>\n							"}function C(a,n,e){var l,r,s="";return s+='\n								<button id="soc-adv-share-btn" \n										class="btn btn-primary btn-small" \n										onclick="Widgets.SocialAdvocacy_ShareClicked(',(r=t.ID)?l=r.call(a,{hash:{},data:n}):(r=a&&a.ID,l=typeof r===U?r.call(a,{hash:{},data:n}):r),s+=_(l)+')"\n										type="button"\n										aria-label="'+_((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShareAria,typeof l===U?l.apply(a):l))+'"\n								>\n									<i class="fa fa-share-alt ii ii-share"></i>\n								</button>\n								'}function q(a,n,e){var l,r,s,i="";return i+='\n								<span title="',r=t.equals||a&&a.equals,s={hash:{},inverse:P.program(38,E,n),fn:P.program(36,k,n),data:n},l=r?r.call(a,a&&a.CommentCount,"-1=",s):H.call(a,"equals",a&&a.CommentCount,"-1=",s),(l||0===l)&&(i+=l),i+=" "+_((l=e&&e.SystemText,l=null==l||l===!1?l:l.Comments,typeof l===U?l.apply(a):l))+'">\n									<span class="icon is-normal"><i class="iconextra-comment ii-comments"></i></span>\n									',r=t.equals||a&&a.equals,s={hash:{},inverse:P.program(38,E,n),fn:P.program(36,k,n),data:n},l=r?r.call(a,(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s):H.call(a,"equals",(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s),(l||0===l)&&(i+=l),i+="\n								</span>\n								"}function k(){return"0"}function E(a,n){var e,l;return(l=t.CommentCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.CommentCount,e=typeof l===U?l.call(a,{hash:{},data:n}):l),_(e)}function x(a,n){var e,l;return(l=t.LikeCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.LikeCount,e=typeof l===U?l.call(a,{hash:{},data:n}):l),_(e)}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var L,W="",H=t.helperMissing,_=this.escapeExpression,U="function",P=this;return W+='<ul class="unstyled articlelist">\n	',L=t.each.call(n,n&&n.Items,{hash:{},inverse:P.noop,fn:P.programWithDepth(1,r,l,n),data:l}),(L||0===L)&&(W+=L),W+="\n</ul>\n"}),n.widgets_topicscontent_carousel=a(function(a,n,t,e,l){function r(a,n,e){var l,r,h,p="";return p+='\n		<div class="item center-cropped" style="height:100%;background-image: url(\'',l=t["if"].call(a,a&&a.AssetID,{hash:{},inverse:A.program(4,i,n),fn:A.program(2,s,n),data:n}),(l||0===l)&&(p+=l),p+="');background-position:0 ",(r=t.BackgroundYpos)?l=r.call(a,{hash:{},data:n}):(r=a&&a.BackgroundYpos,l=typeof r===w?r.call(a,{hash:{},data:n}):r),p+=I(l)+'%;">\n			',l=t["if"].call(a,a&&a.SocialAdvocacyItem,{hash:{},inverse:A.noop,fn:A.programWithDepth(6,o,n,e),data:n}),(l||0===l)&&(p+=l),p+='\n			<a target="',(r=t.Target)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Target,l=typeof r===w?r.call(a,{hash:{},data:n}):r),p+=I(l)+'" href="',(r=t.URL)?l=r.call(a,{hash:{},data:n}):(r=a&&a.URL,l=typeof r===w?r.call(a,{hash:{},data:n}):r),p+=I(l)+'" class="item-entry">\n				<div class="social-results">\n					<div class="pull-right">\n						',l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:A.noop,fn:A.programWithDepth(8,c,n,e),data:n}),(l||0===l)&&(p+=l),p+='\n					</div>\n				</div>\n				<div class="carousel-caption">\n					<h3 dir="auto">',(r=t.Title)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Title,l=typeof r===w?r.call(a,{hash:{},data:n}):r),(l||0===l)&&(p+=l),p+="</h3>\n					",r=t.equals||a&&a.equals,h={hash:{},inverse:A.programWithDepth(19,v,n,e),fn:A.programWithDepth(16,f,n,e),data:n},l=r?r.call(a,a&&a.Type,"Event",h):T.call(a,"equals",a&&a.Type,"Event",h),(l||0===l)&&(p+=l),p+='\n				</div>\n				<img src="'+I((r=t.asset||a&&a.asset,h={hash:{},data:n},r?r.call(a,a&&a.AssetID,7,h):T.call(a,"asset",a&&a.AssetID,7,h)))+'" alt="" role="presentation" loading="lazy" />\n			</a>\n		</div>\n		'}function s(a,n){var e,l;return I((e=t.asset||a&&a.asset,l={hash:{},data:n},e?e.call(a,a&&a.AssetID,7,l):T.call(a,"asset",a&&a.AssetID,7,l)))}function i(){return"/Content/default/images/noImageAvailable300.gif"}function o(a,n,e){var l,r,s="";return s+='\n			<div class="social-advocacy">\n				<button id="soc-adv-share-btn" \n						class="btn btn-primary btn-small" \n						onclick="Widgets.SocialAdvocacy_ShareClicked(',(r=t.ID)?l=r.call(a,{hash:{},data:n}):(r=a&&a.ID,l=typeof r===w?r.call(a,{hash:{},data:n}):r),s+=I(l)+')"\n						type="button"\n						aria-label="'+I((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShareAria,typeof l===w?l.apply(a):l))+'"\n				>\n					'+I((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShare,typeof l===w?l.apply(a):l))+'&nbsp;<i class="fa fa-share-alt ii ii-share"></i>\n				</button>\n			</div>\n			'}function c(a,n,e){var l,r,s,i="";return i+="\n						",r=t.equals||a&&a.equals,s={hash:{},inverse:A.noop,fn:A.programWithDepth(9,h,n,e),data:n},l=r?r.call(a,(l=a&&a.Entity,null==l||l===!1?l:l.IsCommentsAllowed),"true",s):T.call(a,"equals",(l=a&&a.Entity,null==l||l===!1?l:l.IsCommentsAllowed),"true",s),(l||0===l)&&(i+=l),i+='\n						<span title="',r=t.equals||a&&a.equals,s={hash:{},inverse:A.program(14,d,n),fn:A.program(10,p,n),data:n},l=r?r.call(a,a&&a.LikeCount,"-1=",s):T.call(a,"equals",a&&a.LikeCount,"-1=",s),(l||0===l)&&(i+=l),i+=" "+I((l=e&&e.SystemText,l=null==l||l===!1?l:l.Likes,typeof l===w?l.apply(a):l))+'">\n							<span class="icon is-normal"><i class="iconextra-like iconextra-white ii-like"></i></span>\n							',r=t.equals||a&&a.equals,s={hash:{},inverse:A.program(14,d,n),fn:A.program(10,p,n),data:n},l=r?r.call(a,a&&a.LikeCount,"-1",s):T.call(a,"equals",a&&a.LikeCount,"-1",s),(l||0===l)&&(i+=l),i+="\n						</span>\n						"}function h(a,n,e){var l,r,s,i="";return i+='\n						<span title="',r=t.equals||a&&a.equals,s={hash:{},inverse:A.program(12,u,n),fn:A.program(10,p,n),data:n},l=r?r.call(a,a&&a.CommentCount,"-1=",s):T.call(a,"equals",a&&a.CommentCount,"-1=",s),(l||0===l)&&(i+=l),i+=" "+I((l=e&&e.SystemText,l=null==l||l===!1?l:l.Comments,typeof l===w?l.apply(a):l))+'">\n							<span class="icon is-normal"><i class="iconextra-comment iconextra-white ii-comments"></i></span>\n							',r=t.equals||a&&a.equals,s={hash:{},inverse:A.program(12,u,n),fn:A.program(10,p,n),data:n},l=r?r.call(a,(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s):T.call(a,"equals",(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s),(l||0===l)&&(i+=l),i+="\n						</span>\n						"}function p(){return"0"}function u(a,n){var e,l;return(l=t.CommentCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.CommentCount,e=typeof l===w?l.call(a,{hash:{},data:n}):l),I(e)}function d(a,n){var e,l;return(l=t.LikeCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.LikeCount,e=typeof l===w?l.call(a,{hash:{},data:n}):l),I(e)}function f(a,n,e){var l,r="";return r+="\n					",l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:A.noop,fn:A.programWithDepth(17,m,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n					"}function m(a,n,t){var e,l="";return l+='\n					<p class="ellipsis">'+I((e=t&&t.SystemText,e=null==e||e===!1?e:e.Location,typeof e===w?e.apply(a):e))+": ",e=a&&a.Entity,e=null==e||e===!1?e:e.Location,e=typeof e===w?e.apply(a):e,(e||0===e)&&(l+=e),l+="</p>\n					"}function v(a,n,e){var l,r="";return r+="\n					",l=t["if"].call(a,(l=e&&e.Options,null==l||l===!1?l:l.IncludeSummary),{hash:{},inverse:A.noop,fn:A.program(20,y,n),data:n}),(l||0===l)&&(r+=l),r+="\n					"}function y(a,n){var e,l="";return l+="\n					",e=t["if"].call(a,a&&a.Summary,{hash:{},inverse:A.noop,fn:A.program(21,g,n),data:n}),(e||0===e)&&(l+=e),l+="\n					"}function g(a,n){var e,l,r="";return r+='\n					<p class="ellipsis" dir="auto">',(l=t.Summary)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Summary,e=typeof l===w?l.call(a,{hash:{},data:n}):l),(e||0===e)&&(r+=e),r+="</p>\n					"}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var S,D="",T=t.helperMissing,I=this.escapeExpression,w="function",A=this;return D+='<div id="myCarousel" class="carousel slide">\n	<div class="carousel-inner">\n		',S=t.each.call(n,n&&n.Items,{hash:{},inverse:A.noop,fn:A.programWithDepth(1,r,l,n),data:l}),(S||0===S)&&(D+=S),D+='\n	</div>\n	<a class="carousel-control left" href="#myCarousel" data-slide="prev" role="button" aria-label="Previous slide">&lsaquo;</a>\n	<a class="carousel-control right" href="#myCarousel" data-slide="next" role="button" aria-label="Next slide">&rsaquo;</a>\n</div>\n'}),n.widgets_topicscontent_circleview=a(function(a,n,t,e,l){function r(a,n,e){var l,r,c,p="";return p+='\n		<li class="item gridster-wac">\n			<div class="details">\n				<img src="',l=t["if"].call(a,a&&a.AssetID,{hash:{},inverse:P.program(4,i,n),fn:P.program(2,s,n),data:n}),(l||0===l)&&(p+=l),p+='" class="img-circle" style="object-position: 50% ',(r=t.BackgroundYpos)?l=r.call(a,{hash:{},data:n}):(r=a&&a.BackgroundYpos,l=typeof r===U?r.call(a,{hash:{},data:n}):r),p+=_(l)+'%;" alt="" role="presentation" loading="lazy" />\n\n				<h3><a class="is-w-a" target="',(r=t.Target)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Target,l=typeof r===U?r.call(a,{hash:{},data:n}):r),p+=_(l)+'" href="',(r=t.URL)?l=r.call(a,{hash:{},data:n}):(r=a&&a.URL,l=typeof r===U?r.call(a,{hash:{},data:n}):r),p+=_(l)+'" dir="auto">',(r=t.Title)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Title,l=typeof r===U?r.call(a,{hash:{},data:n}):r),(l||0===l)&&(p+=l),p+="</a></h3>\n				",r=t.equals||a&&a.equals,c={hash:{},inverse:P.programWithDepth(9,h,n,e),fn:P.programWithDepth(6,o,n,e),data:n},l=r?r.call(a,a&&a.Type,"Event",c):H.call(a,"equals",a&&a.Type,"Event",c),(l||0===l)&&(p+=l),p+='\n				<ul class="unstyled">\n					<li>\n						<div class="row-fluid">\n							<div class="span12">\n								<p class="muted">\n									<!-- This will return true if AuthorType is greater than 0, i.e. not a person -->\n									',l=t["if"].call(a,a&&a.AuthorType,{hash:{},inverse:P.programWithDepth(16,m,n,e),fn:P.programWithDepth(13,d,n,e),data:n}),(l||0===l)&&(p+=l),p+="\n\n									",r=t.when||a&&a.when,c={hash:{},inverse:P.program(25,T,n),fn:P.program(20,g,n),data:n},l=r?r.call(a,"Type != 'Event'",c):H.call(a,"when","Type != 'Event'",c),(l||0===l)&&(p+=l),p+="\n								</p>\n							</div>\n						</div>\n					</li>\n				</ul>\n				",l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:P.noop,fn:P.programWithDepth(31,b,n,e),data:n}),(l||0===l)&&(p+=l),p+="\n			</div>\n		</li>\n		"}function s(a,n){var e,l,r;return l=t.asset||a&&a.asset,r={hash:{},data:n},e=l?l.call(a,a&&a.AssetID,5,r):H.call(a,"asset",a&&a.AssetID,5,r),e||0===e?e:""}function i(a,n){var e,l;return _((e=t.avatar||a&&a.avatar,l={hash:{},data:n},e?e.call(a,a&&a.Type,l):H.call(a,"avatar",a&&a.Type,l)))}function o(a,n,e){var l,r="";return r+="\n				",l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:P.noop,fn:P.programWithDepth(7,c,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n				"}function c(a,n,t){var e,l="";return l+='\n				<p class="muted"><strong>'+_((e=t&&t.SystemText,e=null==e||e===!1?e:e.Location,typeof e===U?e.apply(a):e))+":</strong> ",e=a&&a.Entity,e=null==e||e===!1?e:e.Location,e=typeof e===U?e.apply(a):e,(e||0===e)&&(l+=e),l+="</p>\n				"}function h(a,n,e){var l,r="";return r+="\n				",l=t["if"].call(a,(l=e&&e.Options,null==l||l===!1?l:l.IncludeSummary),{hash:{},inverse:P.noop,fn:P.program(10,p,n),data:n}),(l||0===l)&&(r+=l),r+="\n				"}function p(a,n){var e,l="";return l+="\n				",e=t["if"].call(a,a&&a.Summary,{hash:{},inverse:P.noop,fn:P.program(11,u,n),data:n}),(e||0===e)&&(l+=e),l+="\n				"}function u(a,n){var e,l,r,s="";return s+='\n				<p class="muted" dir="auto">',l=t.truncate||a&&a.truncate,r={hash:{},data:n},e=l?l.call(a,a&&a.Summary,60,r):H.call(a,"truncate",a&&a.Summary,60,r),(e||0===e)&&(s+=e),s+="</p>\n				"}function d(a,n,e){var l,r="";return r+="\n										",l=t["if"].call(a,a&&a.Author,{hash:{},inverse:P.noop,fn:P.programWithDepth(14,f,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n									"}function f(a,n,e){var l,r,s="";return s+='\n											<!-- Display a span instead of a link -->\n											<span class="is-author">\n												'+_((l=e&&e.SystemText,l=null==l||l===!1?l:l.By,typeof l===U?l.apply(a):l))+" <span>",(r=t.Author)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Author,l=typeof r===U?r.call(a,{hash:{},data:n}):r),s+=_(l)+"</span>,\n											</span>\n										"
}function m(a,n,e){var l,r="";return r+="\n										",l=t["if"].call(a,a&&a.Author,{hash:{},inverse:P.noop,fn:P.programWithDepth(17,v,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n									"}function v(a,n,e){var l,r,s,i="";return i+='\n											<span class="is-author">\n												'+_((l=e&&e.SystemText,l=null==l||l===!1?l:l.By,typeof l===U?l.apply(a):l))+' <a href="'+_((r=t.link||a&&a.link,s={hash:{},data:n},r?r.call(a,"Person",a&&a.AuthorID,s):H.call(a,"link","Person",a&&a.AuthorID,s)))+'" ',l=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:P.noop,fn:P.program(18,y,n),data:n}),(l||0===l)&&(i+=l),i+=">",(r=t.Author)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Author,l=typeof r===U?r.call(a,{hash:{},data:n}):r),i+=_(l)+"</a>,\n											</span>\n										"}function y(a,n){var e,l,r="";return r+=' data-personid="',(l=t.AuthorID)?e=l.call(a,{hash:{},data:n}):(l=a&&a.AuthorID,e=typeof l===U?l.call(a,{hash:{},data:n}):l),r+=_(e)+'" '}function g(a,n){var e,l="";return l+='<time class="timeago timeago-date muted" datetime="',e=t["if"].call(a,a&&a.ShowUpdateDate,{hash:{},inverse:P.program(23,D,n),fn:P.program(21,S,n),data:n}),(e||0===e)&&(l+=e),l+='"></time>'}function S(a,n){var e,l,r="";return r+=" ",(l=t.UpdateDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.UpdateDate,e=typeof l===U?l.call(a,{hash:{},data:n}):l),r+=_(e)+" "}function D(a,n){var e,l,r="";return r+=" ",(l=t.StartDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.StartDate,e=typeof l===U?l.call(a,{hash:{},data:n}):l),r+=_(e)+" "}function T(a,n){var e,l,r,s="";return s+="\n									",l=t.equals||a&&a.equals,r={hash:{},inverse:P.program(29,A,n),fn:P.program(26,I,n),data:n},e=l?l.call(a,(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r):H.call(a,"equals",(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r),(e||0===e)&&(s+=e),s}function I(a,n){var e,l,r,s="";return s+='<span class="timeago timeago-doubledate muted">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:P.noop,fn:P.program(27,w,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.EndDate,r):H.call(a,"eventTimeString",a&&a.StartDate,a&&a.EndDate,r),(e||0===e)&&(s+=e),s+="</span>"}function w(){var a="";return a}function A(a,n){var e,l,r,s="";return s+='<span class="timeago timeago-singledate muted">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:P.noop,fn:P.program(27,w,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.StartDate,r):H.call(a,"eventTimeString",a&&a.StartDate,a&&a.StartDate,r),(e||0===e)&&(s+=e),s+="</span>"}function b(a,n,e){var l,r,s,i="";return i+='\n				<ul class="inline unstyled social-tools">\n					<li>\n						',r=t.equals||a&&a.equals,s={hash:{},inverse:P.noop,fn:P.programWithDepth(32,C,n,e),data:n},l=r?r.call(a,(l=a&&a.Entity,null==l||l===!1?l:l.IsCommentsAllowed),"true",s):H.call(a,"equals",(l=a&&a.Entity,null==l||l===!1?l:l.IsCommentsAllowed),"true",s),(l||0===l)&&(i+=l),i+='\n					</li>\n					<li>\n						<span title="',r=t.equals||a&&a.equals,s={hash:{},inverse:P.program(37,E,n),fn:P.program(33,q,n),data:n},l=r?r.call(a,a&&a.LikeCount,"-1",s):H.call(a,"equals",a&&a.LikeCount,"-1",s),(l||0===l)&&(i+=l),i+=" "+_((l=e&&e.SystemText,l=null==l||l===!1?l:l.Likes,typeof l===U?l.apply(a):l))+'">\n							<span class="icon is-normal"><i class="iconextra-like ii-like"></i></span>\n							',r=t.equals||a&&a.equals,s={hash:{},inverse:P.program(37,E,n),fn:P.program(33,q,n),data:n},l=r?r.call(a,a&&a.LikeCount,"-1",s):H.call(a,"equals",a&&a.LikeCount,"-1",s),(l||0===l)&&(i+=l),i+="\n						</span>\n					</li>\n					",l=t["if"].call(a,a&&a.SocialAdvocacyItem,{hash:{},inverse:P.noop,fn:P.programWithDepth(39,x,n,e),data:n}),(l||0===l)&&(i+=l),i+="\n				</ul>\n				"}function C(a,n,e){var l,r,s,i="";return i+='\n						<span title="',r=t.equals||a&&a.equals,s={hash:{},inverse:P.program(35,k,n),fn:P.program(33,q,n),data:n},l=r?r.call(a,a&&a.CommentCount,"-1",s):H.call(a,"equals",a&&a.CommentCount,"-1",s),(l||0===l)&&(i+=l),i+=" "+_((l=e&&e.SystemText,l=null==l||l===!1?l:l.Comments,typeof l===U?l.apply(a):l))+'">\n							<span class="icon is-normal"><i class="iconextra-comment ii-comments"></i></span>\n							',r=t.equals||a&&a.equals,s={hash:{},inverse:P.program(35,k,n),fn:P.program(33,q,n),data:n},l=r?r.call(a,(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s):H.call(a,"equals",(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s),(l||0===l)&&(i+=l),i+="\n						</span>\n						"}function q(){return"0"}function k(a,n){var e,l;return(l=t.CommentCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.CommentCount,e=typeof l===U?l.call(a,{hash:{},data:n}):l),_(e)}function E(a,n){var e,l;return(l=t.LikeCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.LikeCount,e=typeof l===U?l.call(a,{hash:{},data:n}):l),_(e)}function x(a,n,e){var l,r,s="";return s+='\n					<li>\n						<button id="soc-adv-share-btn" \n								class="btn btn-primary btn-small" \n								onclick="Widgets.SocialAdvocacy_ShareClicked(',(r=t.ID)?l=r.call(a,{hash:{},data:n}):(r=a&&a.ID,l=typeof r===U?r.call(a,{hash:{},data:n}):r),s+=_(l)+')"\n								type="button"\n								aria-label="'+_((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShareAria,typeof l===U?l.apply(a):l))+'"\n						>\n							'+_((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShare,typeof l===U?l.apply(a):l))+'&nbsp;<i class="fa fa-share-alt ii ii-share"></i>\n						</button>\n					</li>\n					'}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var L,W="",H=t.helperMissing,_=this.escapeExpression,U="function",P=this;return W+='<div id="myCircle" class="carousel slide">\n	<ul class="unstyled circle-view">\n		',L=t.each.call(n,n&&n.Items,{hash:{},inverse:P.noop,fn:P.programWithDepth(1,r,l,n),data:l}),(L||0===L)&&(W+=L),W+='\n	</ul>\n	<a class="carousel-control left" href="#myCircle" data-slide="prev">&lsaquo;</a>\n	<a class="carousel-control right" href="#myCircle" data-slide="next">&rsaquo;</a>\n</div>\n'}),n.widgets_topicscontent_cleanlist=a(function(a,n,t,e,l){function r(a,n,e){var l,r,i,c="";return c+='\n    <li class="pull-left gridster-wac">\n        <div class="content-widget-list-details-container">\n			<div>\n				<h3 class="hiddentitle">Featured Content</h3>\n				<h4 dir="auto">\n					<small>\n						<a class="is-w-a" target="',(r=t.Target)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Target,l=typeof r===C?r.call(a,{hash:{},data:n}):r),c+=q(l)+'" href="',(r=t.URL)?l=r.call(a,{hash:{},data:n}):(r=a&&a.URL,l=typeof r===C?r.call(a,{hash:{},data:n}):r),c+=q(l)+'">',(r=t.Title)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Title,l=typeof r===C?r.call(a,{hash:{},data:n}):r),(l||0===l)&&(c+=l),c+="</a>\n					</small>\n				</h4>\n			</div>\n            ",r=t.equals||a&&a.equals,i={hash:{},inverse:k.programWithDepth(5,o,n,e),fn:k.programWithDepth(2,s,n,e),data:n},l=r?r.call(a,a&&a.Type,"Event",i):E.call(a,"equals",a&&a.Type,"Event",i),(l||0===l)&&(c+=l),c+='\n\n            <div class="social-tools">\n                <div class="row-fluid">\n                    <div class="span12 pull-left muted">\n                        ',r=t.when||a&&a.when,i={hash:{},inverse:k.program(14,f,n),fn:k.program(9,p,n),data:n},l=r?r.call(a,"Type != 'Event'",i):E.call(a,"when","Type != 'Event'",i),(l||0===l)&&(c+=l),c+='\n                    </div>\n                </div>\n                <div class="row-fluid">\n                    <div class="span12 pull-left likes">\n                        ',l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:k.noop,fn:k.programWithDepth(20,g,n,e),data:n}),(l||0===l)&&(c+=l),c+="\n                    </div>\n                </div>\n            </div>\n        </div>\n    </li>\n    "}function s(a,n,e){var l,r="";return r+="\n                ",l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:k.noop,fn:k.programWithDepth(3,i,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n	        "}function i(a,n,t){var e,l="";return l+='\n                <div class="muted details">\n                    <strong>'+q((e=t&&t.SystemText,e=null==e||e===!1?e:e.Location,typeof e===C?e.apply(a):e))+":</strong> ",e=a&&a.Entity,e=null==e||e===!1?e:e.Location,e=typeof e===C?e.apply(a):e,(e||0===e)&&(l+=e),l+="\n                </div>\n                "}function o(a,n,e){var l,r="";return r+="\n				",l=t["if"].call(a,(l=e&&e.Options,null==l||l===!1?l:l.IncludeSummary),{hash:{},inverse:k.noop,fn:k.program(6,c,n),data:n}),(l||0===l)&&(r+=l),r+="\n            "}function c(a,n){var e,l="";return l+="\n					",e=t["if"].call(a,a&&a.Summary,{hash:{},inverse:k.noop,fn:k.program(7,h,n),data:n}),(e||0===e)&&(l+=e),l+="\n				"}function h(a,n){var e,l,r,s="";return s+='\n					<div class="muted details" dir="auto">\n					    <a target="',(l=t.Target)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Target,e=typeof l===C?l.call(a,{hash:{},data:n}):l),s+=q(e)+'" href="',(l=t.URL)?e=l.call(a,{hash:{},data:n}):(l=a&&a.URL,e=typeof l===C?l.call(a,{hash:{},data:n}):l),s+=q(e)+'">',l=t.truncate||a&&a.truncate,r={hash:{},data:n},e=l?l.call(a,a&&a.Summary,60,r):E.call(a,"truncate",a&&a.Summary,60,r),(e||0===e)&&(s+=e),s+="</a>\n					</div>\n					"}function p(a,n){var e,l="";return l+='\n				        <time class="timeago pull-left" datetime="',e=t["if"].call(a,a&&a.ShowUpdateDate,{hash:{},inverse:k.program(12,d,n),fn:k.program(10,u,n),data:n}),(e||0===e)&&(l+=e),l+='"></time>\n                        '}function u(a,n){var e,l,r="";return r+=" ",(l=t.UpdateDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.UpdateDate,e=typeof l===C?l.call(a,{hash:{},data:n}):l),r+=q(e)+" "}function d(a,n){var e,l,r="";return r+=" ",(l=t.StartDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.StartDate,e=typeof l===C?l.call(a,{hash:{},data:n}):l),r+=q(e)+" "}function f(a,n){var e,l,r,s="";return s+="\n                        ",l=t.equals||a&&a.equals,r={hash:{},inverse:k.program(18,y,n),fn:k.program(15,m,n),data:n},e=l?l.call(a,(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r):E.call(a,"equals",(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r),(e||0===e)&&(s+=e),s+="\n                        "}function m(a,n){var e,l,r,s="";return s+='\n                        <span class="pull-left timeago" style="white-space:pre-line;">\n                        ',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:k.noop,fn:k.program(16,v,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.EndDate,r):E.call(a,"eventTimeString",a&&a.StartDate,a&&a.EndDate,r),(e||0===e)&&(s+=e),s+="\n                        </span>\n                        "}function v(){var a="";return a}function y(a,n){var e,l,r,s="";return s+='\n                        <span class="timeago" style="white-space:pre-line;">\n                        ',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:k.noop,fn:k.program(16,v,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.StartDate,r):E.call(a,"eventTimeString",a&&a.StartDate,a&&a.StartDate,r),(e||0===e)&&(s+=e),s+="\n                        </span>\n                        "}function g(a,n,e){var l,r,s,i="";return i+='\n                        <span class="pull-right count">\n                            ',l=t["if"].call(a,a&&a.SocialAdvocacyItem,{hash:{},inverse:k.noop,fn:k.programWithDepth(21,S,n,e),data:n}),(l||0===l)&&(i+=l),i+="\n                            ",r=t.equals||a&&a.equals,s={hash:{},inverse:k.noop,fn:k.programWithDepth(23,D,n,e),data:n},l=r?r.call(a,(l=a&&a.Entity,null==l||l===!1?l:l.IsCommentsAllowed),"true",s):E.call(a,"equals",(l=a&&a.Entity,null==l||l===!1?l:l.IsCommentsAllowed),"true",s),(l||0===l)&&(i+=l),i+='\n                            <span title="',r=t.equals||a&&a.equals,s={hash:{},inverse:k.program(28,w,n),fn:k.program(24,T,n),data:n},l=r?r.call(a,a&&a.LikeCount,"-1",s):E.call(a,"equals",a&&a.LikeCount,"-1",s),(l||0===l)&&(i+=l),i+=" "+q((l=e&&e.SystemText,l=null==l||l===!1?l:l.Likes,typeof l===C?l.apply(a):l))+'">\n                                <span class="icon is-normal"><i class="iconextra-like ii-like"></i></span>\n                                ',r=t.equals||a&&a.equals,s={hash:{},inverse:k.program(28,w,n),fn:k.program(24,T,n),data:n},l=r?r.call(a,a&&a.LikeCount,"-1",s):E.call(a,"equals",a&&a.LikeCount,"-1",s),(l||0===l)&&(i+=l),i+="\n                            </span>\n                        </span>\n                        "}function S(a,n,e){var l,r,s="";return s+='\n                            <button id="soc-adv-share-btn" \n                                    class="btn btn-primary btn-small" \n                                    onclick="Widgets.SocialAdvocacy_ShareClicked(',(r=t.ID)?l=r.call(a,{hash:{},data:n}):(r=a&&a.ID,l=typeof r===C?r.call(a,{hash:{},data:n}):r),s+=q(l)+')"\n                                    type="button"\n                                    aria-label="'+q((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShareAria,typeof l===C?l.apply(a):l))+'"\n                            >\n                                <i class="fa fa-share-alt ii ii-share"></i>\n                            </button>\n                            '}function D(a,n,e){var l,r,s,i="";return i+='\n                            <span title="',r=t.equals||a&&a.equals,s={hash:{},inverse:k.program(26,I,n),fn:k.program(24,T,n),data:n},l=r?r.call(a,a&&a.CommentCount,"-1",s):E.call(a,"equals",a&&a.CommentCount,"-1",s),(l||0===l)&&(i+=l),i+=" "+q((l=e&&e.SystemText,l=null==l||l===!1?l:l.Comments,typeof l===C?l.apply(a):l))+'">\n                                <span class="icon is-normal"><i class="iconextra-comment ii-comments"></i></span>\n                                ',r=t.equals||a&&a.equals,s={hash:{},inverse:k.program(26,I,n),fn:k.program(24,T,n),data:n},l=r?r.call(a,(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s):E.call(a,"equals",(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s),(l||0===l)&&(i+=l),i+="\n                            </span>\n                            "}function T(){return"0"}function I(a,n){var e,l;return(l=t.CommentCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.CommentCount,e=typeof l===C?l.call(a,{hash:{},data:n}):l),q(e)}function w(a,n){var e,l;return(l=t.LikeCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.LikeCount,e=typeof l===C?l.call(a,{hash:{},data:n}):l),q(e)}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var A,b="",C="function",q=this.escapeExpression,k=this,E=t.helperMissing;return b+='<ul class="unstyled CleanListEach">\n    ',A=t.each.call(n,n&&n.Items,{hash:{},inverse:k.noop,fn:k.programWithDepth(1,r,l,n),data:l}),(A||0===A)&&(b+=A),b+="\n</ul>\n"}),n.widgets_topicscontent_dynamiccarousel1=a(function(a,n,t,e,l){function r(a,n,e){var l,r,i,o="";return o+='\n				<li class="is-headline item" data-slide-no="'+k((l=null==n||n===!1?n:n.index,typeof l===q?l.apply(a):l))+'">\n					<article class="card-inline">\n						<div class="card-content">\n							<aside>\n								<ul class="list-unstyled list-inline inner-disc muted is-small">\n									<li>\n										',r=t.when||a&&a.when,i={hash:{},inverse:E.program(7,c,n),fn:E.program(2,s,n),data:n},l=r?r.call(a,"Type != 'Event'",i):x.call(a,"when","Type != 'Event'",i),(l||0===l)&&(o+=l),o+="\n									</li>\n								</ul>\n							</aside>\n							<header>\n								<a ",r=t.when||a&&a.when,i={hash:{},inverse:E.noop,fn:E.program(13,d,n),data:n},l=r?r.call(a,"Type == 'SearchApplication'",i):x.call(a,"when","Type == 'SearchApplication'",i),(l||0===l)&&(o+=l),o+=' href="',(r=t.URL)?l=r.call(a,{hash:{},data:n}):(r=a&&a.URL,l=typeof r===q?r.call(a,{hash:{},data:n}):r),o+=k(l)+'" ',l=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:E.noop,fn:E.program(15,f,n),data:n}),(l||0===l)&&(o+=l),o+='>\n									<h1 class="truncate">',(r=t.Title)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Title,l=typeof r===q?r.call(a,{hash:{},data:n}):r),(l||0===l)&&(o+=l),o+="</h1>\n								</a>\n							</header>\n							",r=t.equals||a&&a.equals,i={hash:{},inverse:E.programWithDepth(21,g,n,e),fn:E.programWithDepth(18,v,n,e),data:n},l=r?r.call(a,a&&a.Type,"Event",i):x.call(a,"equals",a&&a.Type,"Event",i),(l||0===l)&&(o+=l),o+='\n							<div class="actions">\n								<a aria-label="Read More - ',(r=t.Title)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Title,l=typeof r===q?r.call(a,{hash:{},data:n}):r),(l||0===l)&&(o+=l),o+='" class="button is-medium-button is-primary is-solid read-more-header"\n								   ',r=t.when||a&&a.when,i={hash:{},inverse:E.noop,fn:E.program(13,d,n),data:n},l=r?r.call(a,"Type == 'SearchApplication' || Target == '_blank' ",i):x.call(a,"when","Type == 'SearchApplication' || Target == '_blank' ",i),(l||0===l)&&(o+=l),o+='\n								   href="',(r=t.URL)?l=r.call(a,{hash:{},data:n}):(r=a&&a.URL,l=typeof r===q?r.call(a,{hash:{},data:n}):r),o+=k(l)+'">\n									'+k((l=e&&e.SystemText,l=null==l||l===!1?l:l.ReadMore,typeof l===q?l.apply(a):l))+'\n									<span class="icon is-normal is-right"><i class="ii ii-arrow-right"></i></span>\n								</a>\n								',l=t["if"].call(a,a&&a.SocialAdvocacyItem,{hash:{},inverse:E.noop,fn:E.programWithDepth(25,T,n,e),data:n}),(l||0===l)&&(o+=l),o+='\n							</div>\n						</div>\n						<div class="thumbnail-container">\n							<img src="',l=t["if"].call(a,a&&a.AssetID,{hash:{},inverse:E.program(29,w,n),fn:E.program(27,I,n),data:n}),(l||0===l)&&(o+=l),o+='" style="object-position: 50% ',(r=t.BackgroundYpos)?l=r.call(a,{hash:{},data:n}):(r=a&&a.BackgroundYpos,l=typeof r===q?r.call(a,{hash:{},data:n}):r),o+=k(l)+'%" alt="',(r=t.Title)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Title,l=typeof r===q?r.call(a,{hash:{},data:n}):r),(l||0===l)&&(o+=l),o+='" class="thumbnail" data-object-fit="cover" loading="lazy" />\n						</div>\n					</article>\n				</li>\n				'}function s(a,n){var e,l="";return l+='\n										<time class="timeago" datetime="',e=t["if"].call(a,a&&a.ShowUpdateDate,{hash:{},inverse:E.program(5,o,n),fn:E.program(3,i,n),data:n}),(e||0===e)&&(l+=e),l+='"></time>\n										'}function i(a,n){var e,l,r="";return r+=" ",(l=t.UpdateDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.UpdateDate,e=typeof l===q?l.call(a,{hash:{},data:n}):l),r+=k(e)+" "}function o(a,n){var e,l,r="";return r+=" ",(l=t.StartDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.StartDate,e=typeof l===q?l.call(a,{hash:{},data:n}):l),r+=k(e)+" "}function c(a,n){var e,l,r,s="";return s+="\n										",l=t.equals||a&&a.equals,r={hash:{},inverse:E.program(11,u,n),fn:E.program(8,h,n),data:n},e=l?l.call(a,(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r):x.call(a,"equals",(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r),(e||0===e)&&(s+=e),s+="\n										"}function h(a,n){var e,l,r,s="";return s+='\n										<span class="timeago">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:E.noop,fn:E.program(9,p,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.EndDate,r):x.call(a,"eventTimeString",a&&a.StartDate,a&&a.EndDate,r),(e||0===e)&&(s+=e),s+="</span>\n										"}function p(){var a="";return a}function u(a,n){var e,l,r,s="";return s+='\n										<span class="timeago">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:E.noop,fn:E.program(9,p,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.StartDate,r):x.call(a,"eventTimeString",a&&a.StartDate,a&&a.StartDate,r),(e||0===e)&&(s+=e),s+="</span>\n										"}function d(){return' target="_blank" '}function f(a,n){var e,l,r,s="";return s+=" ",l=t.hovercard||a&&a.hovercard,r={hash:{},inverse:E.noop,fn:E.program(16,m,n),data:n},e=l?l.call(a,a&&a.Type,a&&a.ID,r):x.call(a,"hovercard",a&&a.Type,a&&a.ID,r),(e||0===e)&&(s+=e),s+=" "}function m(){return" "}function v(a,n,e){var l,r="";return r+="\n							",l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:E.noop,fn:E.programWithDepth(19,y,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n							"}function y(a,n,t){var e,l="";return l+='\n							<p class="truncate">'+k((e=t&&t.SystemText,e=null==e||e===!1?e:e.Location,typeof e===q?e.apply(a):e))+": ",e=a&&a.Entity,e=null==e||e===!1?e:e.Location,e=typeof e===q?e.apply(a):e,(e||0===e)&&(l+=e),l+="</p>\n							"}function g(a,n,e){var l,r="";return r+="\n							",l=t["if"].call(a,(l=e&&e.Options,null==l||l===!1?l:l.IncludeSummary),{hash:{},inverse:E.noop,fn:E.program(22,S,n),data:n}),(l||0===l)&&(r+=l),r+="\n							"}function S(a,n){var e,l="";return l+="\n							",e=t["if"].call(a,a&&a.Summary,{hash:{},inverse:E.noop,fn:E.program(23,D,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function D(a,n){var e,l,r="";return r+='\n							<p class="truncate">',(l=t.Summary)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Summary,e=typeof l===q?l.call(a,{hash:{},data:n}):l),(e||0===e)&&(r+=e),r+="</p>\n							"}function T(a,n,e){var l,r,s="";return s+='\n								<button id="soc-adv-share-btn" \n										class="btn btn-secondary is-medium-button" \n										onclick="Widgets.SocialAdvocacy_ShareClicked(',(r=t.ID)?l=r.call(a,{hash:{},data:n}):(r=a&&a.ID,l=typeof r===q?r.call(a,{hash:{},data:n}):r),s+=k(l)+')"\n										type="button"\n										aria-label="'+k((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShareAria,typeof l===q?l.apply(a):l))+'"\n								>\n									'+k((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShare,typeof l===q?l.apply(a):l))+'&nbsp;<i class="fa fa-share-alt ii ii-share"></i>\n								</button>\n								'}function I(a,n){var e,l,r;return l=t.asset||a&&a.asset,r={hash:{},data:n},e=l?l.call(a,a&&a.AssetID,7,r):x.call(a,"asset",a&&a.AssetID,7,r),e||0===e?e:""}function w(a,n){var e,l;return k((e=t.avatar||a&&a.avatar,l={hash:{},data:n},e?e.call(a,a&&a.Type,l):x.call(a,"avatar",a&&a.Type,l)))}function A(a,n){var t,e="";return e+='\n				<li class="myDynamic-target" data-target="#myDynamicCarousel" data-slide-to="'+k((t=null==n||n===!1?n:n.index,typeof t===q?t.apply(a):t))+'" aria-label="Slide to slide '+k((t=null==n||n===!1?n:n.index,typeof t===q?t.apply(a):t))+'">\n					<a href="#myDynamicCarousel" onclick="return false;"><span class="sr-only">Slide to slide '+k((t=null==n||n===!1?n:n.index,typeof t===q?t.apply(a):t))+"</span></a>\n				</li>\n				"}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var b,C="",q="function",k=this.escapeExpression,E=this,x=t.helperMissing;return C+='<div class="dynamic-carousel">\n	<div class="container">\n		<div id="myDynamicCarousel" class="carousel slide">\n			<a href="#myDynamicCarousel" data-slide="prev" class="carousel-chevron icon-container is-medium is-left" aria-label="Previous Slide">\n				<span class="icon is-normal">\n					<i class="ii ii-chevron-left"></i>\n				</span>\n			</a>\n			<a href="#myDynamicCarousel" data-slide="next" class="carousel-chevron icon-container is-medium is-right" aria-label="Next Slide">\n				<span class="icon is-normal">\n					<i class="ii ii-chevron-right"></i>\n				</span>\n			</a>\n			<ul class="list-unstyled widget-list has-thumbnail-overlay carousel-inner">\n				',b=t.each.call(n,n&&n.Items,{hash:{},inverse:E.noop,fn:E.programWithDepth(1,r,l,n),data:l}),(b||0===b)&&(C+=b),C+='\n			</ul>\n			<ol class="carousel-indicators">\n				',b=t.each.call(n,n&&n.Items,{hash:{},inverse:E.noop,fn:E.program(31,A,l),data:l}),(b||0===b)&&(C+=b),C+="\n			</ol>\n		</div>\n	</div>\n</div>"}),n.widgets_topicscontent_dynamiccarousel2=a(function(a,n,t,e,l){function r(a,n,e){var l,r,i,c="";return c+='\n			<li class="is-headline item" data-slide-no="'+_((l=null==n||n===!1?n:n.index,typeof l===H?l.apply(a):l))+'">\n				<article>\n					<div class="container card-inline">\n						<div class="card-content">\n							<aside>\n								<ul class="list-unstyled list-inline inner-disc muted is-small">\n									<!-- This will return true if AuthorType is greater than 0, i.e. not a person -->\n									',l=t["if"].call(a,a&&a.AuthorType,{hash:{},inverse:U.program(5,o,n),fn:U.program(2,s,n),data:n}),(l||0===l)&&(c+=l),c+="\n\n									<li>\n										",r=t.when||a&&a.when,i={hash:{},inverse:U.program(14,f,n),fn:U.program(9,p,n),data:n},l=r?r.call(a,"Type != 'Event'",i):P.call(a,"when","Type != 'Event'",i),(l||0===l)&&(c+=l),c+="\n									</li>\n								</ul>\n							</aside>\n							<header>\n								<a ",r=t.when||a&&a.when,i={hash:{},inverse:U.noop,fn:U.program(20,g,n),data:n},l=r?r.call(a,"Type == 'SearchApplication'",i):P.call(a,"when","Type == 'SearchApplication'",i),(l||0===l)&&(c+=l),c+=' href="',(r=t.URL)?l=r.call(a,{hash:{},data:n}):(r=a&&a.URL,l=typeof r===H?r.call(a,{hash:{},data:n}):r),c+=_(l)+'" ',l=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:U.noop,fn:U.program(22,S,n),data:n}),(l||0===l)&&(c+=l),c+='>\n									<h1 class="truncate">',(r=t.Title)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Title,l=typeof r===H?r.call(a,{hash:{},data:n}):r),(l||0===l)&&(c+=l),c+="</h1>\n								</a>\n							</header>\n							",r=t.equals||a&&a.equals,i={hash:{},inverse:U.programWithDepth(28,w,n,e),fn:U.programWithDepth(25,T,n,e),data:n},l=r?r.call(a,a&&a.Type,"Event",i):P.call(a,"equals",a&&a.Type,"Event",i),(l||0===l)&&(c+=l),c+="\n							",l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:U.noop,fn:U.program(32,C,n),data:n}),(l||0===l)&&(c+=l),c+='\n							<div class="actions">\n								<a aria-label="Read More - ',(r=t.Title)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Title,l=typeof r===H?r.call(a,{hash:{},data:n}):r),(l||0===l)&&(c+=l),c+='" class="button is-medium-button read-more-header"\n								   ',r=t.when||a&&a.when,i={hash:{},inverse:U.noop,fn:U.program(20,g,n),data:n},l=r?r.call(a,"Type == 'SearchApplication' || Target == '_blank' ",i):P.call(a,"when","Type == 'SearchApplication' || Target == '_blank' ",i),(l||0===l)&&(c+=l),c+='\n								   href="',(r=t.URL)?l=r.call(a,{hash:{},data:n}):(r=a&&a.URL,l=typeof r===H?r.call(a,{hash:{},data:n}):r),c+=_(l)+'">\n									'+_((l=e&&e.SystemText,l=null==l||l===!1?l:l.ReadMore,typeof l===H?l.apply(a):l))+'\n									<span class="icon is-normal is-right"><i class="ii ii-arrow-right"></i></span>\n								</a>\n								',l=t["if"].call(a,a&&a.SocialAdvocacyItem,{hash:{},inverse:U.noop,fn:U.programWithDepth(34,q,n,e),data:n}),(l||0===l)&&(c+=l),c+='\n							</div>\n						</div>\n					</div>\n					<div class="thumbnail-container">\n						<img src="',l=t["if"].call(a,a&&a.AssetID,{hash:{},inverse:U.program(38,E,n),fn:U.program(36,k,n),data:n}),(l||0===l)&&(c+=l),c+='" style="object-position: 50% ',(r=t.BackgroundYpos)?l=r.call(a,{hash:{},data:n}):(r=a&&a.BackgroundYpos,l=typeof r===H?r.call(a,{hash:{},data:n}):r),c+=_(l)+'%" alt="',(r=t.Title)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Title,l=typeof r===H?r.call(a,{hash:{},data:n}):r),(l||0===l)&&(c+=l),c+='" class="thumbnail" data-object-fit="cover" loading="lazy"/>\n					</div>\n				</article>\n			</li>\n			'}function s(a,n){var e,l="";return l+="\n									",e=t["if"].call(a,a&&a.Author,{hash:{},inverse:U.noop,fn:U.program(3,i,n),data:n}),(e||0===e)&&(l+=e),l+="\n									"}function i(a,n){var e,l,r="";return r+="\n									<!-- Display a span instead of a link -->\n									<li>\n										<span><strong>",(l=t.Author)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Author,e=typeof l===H?l.call(a,{hash:{},data:n}):l),r+=_(e)+"</strong></span>\n									</li>\n									"}function o(a,n){var e,l="";return l+="\n									",e=t["if"].call(a,a&&a.Author,{hash:{},inverse:U.noop,fn:U.program(6,c,n),data:n}),(e||0===e)&&(l+=e),l+="\n									"}function c(a,n){var e,l,r,s="";return s+='\n									<li>\n										<a href="'+_((l=t.link||a&&a.link,r={hash:{},data:n},l?l.call(a,"Person",a&&a.AuthorID,r):P.call(a,"link","Person",a&&a.AuthorID,r)))+'" class="author" ',e=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:U.noop,fn:U.program(7,h,n),data:n}),(e||0===e)&&(s+=e),s+=">",(l=t.Author)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Author,e=typeof l===H?l.call(a,{hash:{},data:n}):l),s+=_(e)+"</a>\n									</li>\n									"}function h(a,n){var e,l,r="";return r+=' data-personid="',(l=t.AuthorID)?e=l.call(a,{hash:{},data:n}):(l=a&&a.AuthorID,e=typeof l===H?l.call(a,{hash:{},data:n}):l),r+=_(e)+'" '}function p(a,n){var e,l="";return l+='\n										<time class="timeago" datetime="',e=t["if"].call(a,a&&a.ShowUpdateDate,{hash:{},inverse:U.program(12,d,n),fn:U.program(10,u,n),data:n}),(e||0===e)&&(l+=e),l+='"></time>\n										'}function u(a,n){var e,l,r="";return r+=" ",(l=t.UpdateDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.UpdateDate,e=typeof l===H?l.call(a,{hash:{},data:n}):l),r+=_(e)+" "}function d(a,n){var e,l,r="";return r+=" ",(l=t.StartDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.StartDate,e=typeof l===H?l.call(a,{hash:{},data:n}):l),r+=_(e)+" "}function f(a,n){var e,l,r,s="";return s+="\n										",l=t.equals||a&&a.equals,r={hash:{},inverse:U.program(18,y,n),fn:U.program(15,m,n),data:n},e=l?l.call(a,(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r):P.call(a,"equals",(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r),(e||0===e)&&(s+=e),s+="\n										"}function m(a,n){var e,l,r,s="";return s+='\n										<span class="timeago">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:U.noop,fn:U.program(16,v,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.EndDate,r):P.call(a,"eventTimeString",a&&a.StartDate,a&&a.EndDate,r),(e||0===e)&&(s+=e),s+="</span>\n										"}function v(){var a="";return a}function y(a,n){var e,l,r,s="";return s+='\n										<span class="timeago">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:U.noop,fn:U.program(16,v,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.StartDate,r):P.call(a,"eventTimeString",a&&a.StartDate,a&&a.StartDate,r),(e||0===e)&&(s+=e),s+="</span>\n										"}function g(){return' target="_blank" '}function S(a,n){var e,l,r,s="";return s+=" ",l=t.hovercard||a&&a.hovercard,r={hash:{},inverse:U.noop,fn:U.program(23,D,n),data:n},e=l?l.call(a,a&&a.Type,a&&a.ID,r):P.call(a,"hovercard",a&&a.Type,a&&a.ID,r),(e||0===e)&&(s+=e),s+=" "}function D(){return" "}function T(a,n,e){var l,r="";return r+="\n							",l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:U.noop,fn:U.programWithDepth(26,I,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n							"}function I(a,n,t){var e,l="";return l+="\n							<p>"+_((e=t&&t.SystemText,e=null==e||e===!1?e:e.Location,typeof e===H?e.apply(a):e))+": ",e=a&&a.Entity,e=null==e||e===!1?e:e.Location,e=typeof e===H?e.apply(a):e,(e||0===e)&&(l+=e),l+="</p>\n							"}function w(a,n,e){var l,r="";return r+="\n							",l=t["if"].call(a,(l=e&&e.Options,null==l||l===!1?l:l.IncludeSummary),{hash:{},inverse:U.noop,fn:U.program(29,A,n),data:n}),(l||0===l)&&(r+=l),r+="\n							"}function A(a,n){var e,l="";return l+="\n							",e=t["if"].call(a,a&&a.Summary,{hash:{},inverse:U.noop,fn:U.program(30,b,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function b(a,n){var e,l,r="";return r+="\n							<p>",(l=t.Summary)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Summary,e=typeof l===H?l.call(a,{hash:{},data:n}):l),(e||0===e)&&(r+=e),r+="</p>\n							"}function C(){return"\n							"}function q(a,n,e){var l,r,s="";return s+='\n								<button id="soc-adv-share-btn" \n										class="btn is-medium-button" \n										onclick="Widgets.SocialAdvocacy_ShareClicked(',(r=t.ID)?l=r.call(a,{hash:{},data:n}):(r=a&&a.ID,l=typeof r===H?r.call(a,{hash:{},data:n}):r),s+=_(l)+')"\n										type="button"\n										aria-label="'+_((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShareAria,typeof l===H?l.apply(a):l))+'"\n								>\n									'+_((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShare,typeof l===H?l.apply(a):l))+'&nbsp;<i class="fa fa-share-alt ii ii-share"></i>\n								</button>\n								'}function k(a,n){var e,l,r;return l=t.asset||a&&a.asset,r={hash:{},data:n},e=l?l.call(a,a&&a.AssetID,7,r):P.call(a,"asset",a&&a.AssetID,7,r),e||0===e?e:""}function E(a,n){var e,l;return _((e=t.avatar||a&&a.avatar,l={hash:{},data:n},e?e.call(a,a&&a.Type,l):P.call(a,"avatar",a&&a.Type,l)))}function x(a,n){var t,e="";return e+='\n				<li data-target="#myDynamicCarousel" class="myDynamic-target" data-slide-to="'+_((t=null==n||n===!1?n:n.index,typeof t===H?t.apply(a):t))+'" aria-label="Slide to slide '+_((t=null==n||n===!1?n:n.index,typeof t===H?t.apply(a):t))+'"></li>\n				'}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var L,W="",H="function",_=this.escapeExpression,U=this,P=t.helperMissing;return W+='<div class="dynamic-carousel">\n	<div id="myDynamicCarousel" class="carousel slide">\n		<ul class="list-unstyled widget-list has-thumbnail-overlay carousel-inner">\n			',L=t.each.call(n,n&&n.Items,{hash:{},inverse:U.noop,fn:U.programWithDepth(1,r,l,n),data:l}),(L||0===L)&&(W+=L),W+='\n		</ul>\n		<div class="container p-relative h-100">\n			<a href="#myDynamicCarousel" data-slide="prev" class="carousel-chevron icon-container is-medium is-left" aria-label="Previous Slide">\n				<span class="icon is-normal">\n					<i class="ii ii-chevron-left"></i>\n				</span>\n			</a>\n			<a href="#myDynamicCarousel" data-slide="next" class="carousel-chevron icon-container is-medium is-right" aria-label="Next Slide">\n				<span class="icon is-normal">\n					<i class="ii ii-chevron-right"></i>\n				</span>\n			</a>\n			<ol class="carousel-indicators">\n				',L=t.each.call(n,n&&n.Items,{hash:{},inverse:U.noop,fn:U.program(40,x,l),data:l}),(L||0===L)&&(W+=L),W+="\n			</ol>\n		</div>\n	</div>\n	</div>"
}),n.widgets_topicscontent_dynamiccarousel3=a(function(a,n,t,e,l){function r(a,n,e){var l,r,i,o="";return o+='\n			<li class="is-headline item" data-slide-no="'+E((l=null==n||n===!1?n:n.index,typeof l===k?l.apply(a):l))+'">\n				<article>\n					<div class="container card-inline">\n						<div class="card-content">\n							<aside>\n								<ul class="list-unstyled list-inline inner-disc muted is-small">\n									<li>\n										',r=t.when||a&&a.when,i={hash:{},inverse:x.program(7,c,n),fn:x.program(2,s,n),data:n},l=r?r.call(a,"Type != 'Event'",i):L.call(a,"when","Type != 'Event'",i),(l||0===l)&&(o+=l),o+="\n									</li>\n								</ul>\n							</aside>\n							<header>\n								<a ",r=t.when||a&&a.when,i={hash:{},inverse:x.noop,fn:x.program(13,d,n),data:n},l=r?r.call(a,"Type == 'SearchApplication'",i):L.call(a,"when","Type == 'SearchApplication'",i),(l||0===l)&&(o+=l),o+=' href="',(r=t.URL)?l=r.call(a,{hash:{},data:n}):(r=a&&a.URL,l=typeof r===k?r.call(a,{hash:{},data:n}):r),o+=E(l)+'" ',l=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:x.noop,fn:x.program(15,f,n),data:n}),(l||0===l)&&(o+=l),o+='>\n									<h1 class="truncate">',(r=t.Title)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Title,l=typeof r===k?r.call(a,{hash:{},data:n}):r),(l||0===l)&&(o+=l),o+="</h1>\n								</a>\n							</header>\n							",r=t.equals||a&&a.equals,i={hash:{},inverse:x.programWithDepth(21,g,n,e),fn:x.programWithDepth(18,v,n,e),data:n},l=r?r.call(a,a&&a.Type,"Event",i):L.call(a,"equals",a&&a.Type,"Event",i),(l||0===l)&&(o+=l),o+="\n							",l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:x.noop,fn:x.program(25,T,n),data:n}),(l||0===l)&&(o+=l),o+='\n							<div class="actions">\n								<a aria-label="Read More - ',(r=t.Title)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Title,l=typeof r===k?r.call(a,{hash:{},data:n}):r),(l||0===l)&&(o+=l),o+='" class="button"\n								   ',r=t.when||a&&a.when,i={hash:{},inverse:x.noop,fn:x.program(13,d,n),data:n},l=r?r.call(a,"Type == 'SearchApplication' || Target == '_blank' ",i):L.call(a,"when","Type == 'SearchApplication' || Target == '_blank' ",i),(l||0===l)&&(o+=l),o+='\n								   href="',(r=t.URL)?l=r.call(a,{hash:{},data:n}):(r=a&&a.URL,l=typeof r===k?r.call(a,{hash:{},data:n}):r),o+=E(l)+'">\n									'+E((l=e&&e.SystemText,l=null==l||l===!1?l:l.ReadMore,typeof l===k?l.apply(a):l))+'\n									<span class="icon is-normal is-right"><i class="ii ii-arrow-right"></i></span>\n								</a>\n								',l=t["if"].call(a,a&&a.SocialAdvocacyItem,{hash:{},inverse:x.noop,fn:x.programWithDepth(27,I,n,e),data:n}),(l||0===l)&&(o+=l),o+='\n							</div>\n						</div>\n					</div>\n					<div class="row-fluid p-absolute h-100">\n						<div class="span6 offset6 h-100">\n							<div class="thumbnail-container">\n								<img src="',l=t["if"].call(a,a&&a.AssetID,{hash:{},inverse:x.program(31,A,n),fn:x.program(29,w,n),data:n}),(l||0===l)&&(o+=l),o+='" alt="',(r=t.Title)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Title,l=typeof r===k?r.call(a,{hash:{},data:n}):r),(l||0===l)&&(o+=l),o+='" style="object-position: 50% ',(r=t.BackgroundYpos)?l=r.call(a,{hash:{},data:n}):(r=a&&a.BackgroundYpos,l=typeof r===k?r.call(a,{hash:{},data:n}):r),o+=E(l)+'%" class="thumbnail" data-object-fit="cover" loading="lazy"/>\n							</div>\n						</div>\n					</div>\n				</article>\n			</li>\n			'}function s(a,n){var e,l="";return l+='\n										<time class="timeago" datetime="',e=t["if"].call(a,a&&a.ShowUpdateDate,{hash:{},inverse:x.program(5,o,n),fn:x.program(3,i,n),data:n}),(e||0===e)&&(l+=e),l+='"></time>\n										'}function i(a,n){var e,l,r="";return r+=" ",(l=t.UpdateDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.UpdateDate,e=typeof l===k?l.call(a,{hash:{},data:n}):l),r+=E(e)+" "}function o(a,n){var e,l,r="";return r+=" ",(l=t.StartDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.StartDate,e=typeof l===k?l.call(a,{hash:{},data:n}):l),r+=E(e)+" "}function c(a,n){var e,l,r,s="";return s+="\n										",l=t.equals||a&&a.equals,r={hash:{},inverse:x.program(11,u,n),fn:x.program(8,h,n),data:n},e=l?l.call(a,(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r):L.call(a,"equals",(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r),(e||0===e)&&(s+=e),s+="\n										"}function h(a,n){var e,l,r,s="";return s+='\n										<span class="timeago">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:x.noop,fn:x.program(9,p,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.EndDate,r):L.call(a,"eventTimeString",a&&a.StartDate,a&&a.EndDate,r),(e||0===e)&&(s+=e),s+="</span>\n										"}function p(){var a="";return a}function u(a,n){var e,l,r,s="";return s+='\n										<span class="timeago">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:x.noop,fn:x.program(9,p,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.StartDate,r):L.call(a,"eventTimeString",a&&a.StartDate,a&&a.StartDate,r),(e||0===e)&&(s+=e),s+="</span>\n										"}function d(){return' target="_blank" '}function f(a,n){var e,l,r,s="";return s+=" ",l=t.hovercard||a&&a.hovercard,r={hash:{},inverse:x.noop,fn:x.program(16,m,n),data:n},e=l?l.call(a,a&&a.Type,a&&a.ID,r):L.call(a,"hovercard",a&&a.Type,a&&a.ID,r),(e||0===e)&&(s+=e),s+=" "}function m(){return" "}function v(a,n,e){var l,r="";return r+="\n							",l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:x.noop,fn:x.programWithDepth(19,y,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n							"}function y(a,n,t){var e,l="";return l+="\n							<p>"+E((e=t&&t.SystemText,e=null==e||e===!1?e:e.Location,typeof e===k?e.apply(a):e))+": ",e=a&&a.Entity,e=null==e||e===!1?e:e.Location,e=typeof e===k?e.apply(a):e,(e||0===e)&&(l+=e),l+="</p>\n							"}function g(a,n,e){var l,r="";return r+="\n							",l=t["if"].call(a,(l=e&&e.Options,null==l||l===!1?l:l.IncludeSummary),{hash:{},inverse:x.noop,fn:x.program(22,S,n),data:n}),(l||0===l)&&(r+=l),r+="\n							"}function S(a,n){var e,l="";return l+="\n							",e=t["if"].call(a,a&&a.Summary,{hash:{},inverse:x.noop,fn:x.program(23,D,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function D(a,n){var e,l,r="";return r+='\n							<p class="truncate">',(l=t.Summary)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Summary,e=typeof l===k?l.call(a,{hash:{},data:n}):l),(e||0===e)&&(r+=e),r+="</p>\n							"}function T(){return"\n							"}function I(a,n,e){var l,r,s="";return s+='\n								<button id="soc-adv-share-btn" \n										class="button" \n										onclick="Widgets.SocialAdvocacy_ShareClicked(',(r=t.ID)?l=r.call(a,{hash:{},data:n}):(r=a&&a.ID,l=typeof r===k?r.call(a,{hash:{},data:n}):r),s+=E(l)+')"\n										type="button"\n										aria-label="'+E((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShareAria,typeof l===k?l.apply(a):l))+'"\n								>\n									'+E((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShare,typeof l===k?l.apply(a):l))+'&nbsp;<i class="fa fa-share-alt ii ii-share"></i>\n								</button>\n								'}function w(a,n){var e,l,r;return l=t.asset||a&&a.asset,r={hash:{},data:n},e=l?l.call(a,a&&a.AssetID,7,r):L.call(a,"asset",a&&a.AssetID,7,r),e||0===e?e:""}function A(a,n){var e,l;return E((e=t.avatar||a&&a.avatar,l={hash:{},data:n},e?e.call(a,a&&a.Type,l):L.call(a,"avatar",a&&a.Type,l)))}function b(a,n){var t,e="";return e+='\n				<li data-target="#myDynamicCarousel" class="myDynamic-target" data-slide-to="'+E((t=null==n||n===!1?n:n.index,typeof t===k?t.apply(a):t))+'" aria-label="Slide to slide '+E((t=null==n||n===!1?n:n.index,typeof t===k?t.apply(a):t))+'"></li>\n				'}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var C,q="",k="function",E=this.escapeExpression,x=this,L=t.helperMissing;return q+='<div class="dynamic-carousel">\n	<div id="myDynamicCarousel3" class="carousel slide">\n		<ul class="list-unstyled widget-list has-thumbnail-overlay carousel-inner">\n			',C=t.each.call(n,n&&n.Items,{hash:{},inverse:x.noop,fn:x.programWithDepth(1,r,l,n),data:l}),(C||0===C)&&(q+=C),q+='\n		</ul>\n		<div class="container p-relative h-100">\n			<ol class="carousel-indicators">\n				',C=t.each.call(n,n&&n.Items,{hash:{},inverse:x.noop,fn:x.program(33,b,l),data:l}),(C||0===C)&&(q+=C),q+='\n			</ol>\n			<a href="#myDynamicCarousel" data-slide="prev" class="carousel-chevron icon-container is-medium is-left" aria-label="Previous Slide">\n				<span class="icon is-normal">\n					<i class="ii ii-chevron-left"></i>\n				</span>\n			</a>\n			<a href="#myDynamicCarousel" data-slide="next" class="carousel-chevron icon-container is-medium is-right" aria-label="Next Slide">\n				<span class="icon is-normal">\n					<i class="ii ii-chevron-right"></i>\n				</span>\n			</a>\n		</div>\n	</div>\n</div>'}),n.widgets_topicscontent_dynamiccarousel4=a(function(a,n,t,e,l){function r(a,n){var t,e="";return e+='\n				<li data-target="#myDynamicCarousel" class="myDynamic-target" data-slide-to="'+_((t=null==n||n===!1?n:n.index,typeof t===H?t.apply(a):t))+'" aria-label="Slide to slide '+_((t=null==n||n===!1?n:n.index,typeof t===H?t.apply(a):t))+'"></li>\n				'}function s(a,n,e){var l,r,s,o="";return o+='\n			<li class="is-headline item" data-slide-no="'+_((l=null==n||n===!1?n:n.index,typeof l===H?l.apply(a):l))+'">\n				<article>\n					<div class="container card-inline">\n						<div class="card-content">\n							<div class="row-fluid">\n								<div class="span6">\n									<aside>\n										<ul class="list-unstyled list-inline inner-disc muted is-small">\n											<!-- This will return true if AuthorType is greater than 0, i.e. not a person -->\n											',l=t["if"].call(a,a&&a.AuthorType,{hash:{},inverse:U.program(7,c,n),fn:U.program(4,i,n),data:n}),(l||0===l)&&(o+=l),o+="\n\n											<li>\n												",r=t.when||a&&a.when,s={hash:{},inverse:U.program(16,m,n),fn:U.program(11,u,n),data:n},l=r?r.call(a,"Type != 'Event'",s):P.call(a,"when","Type != 'Event'",s),(l||0===l)&&(o+=l),o+="\n											</li>\n										</ul>\n									</aside>\n									<header>\n										<a ",r=t.when||a&&a.when,s={hash:{},inverse:U.noop,fn:U.program(22,S,n),data:n},l=r?r.call(a,"Type == 'SearchApplication'",s):P.call(a,"when","Type == 'SearchApplication'",s),(l||0===l)&&(o+=l),o+=' href="',(r=t.URL)?l=r.call(a,{hash:{},data:n}):(r=a&&a.URL,l=typeof r===H?r.call(a,{hash:{},data:n}):r),o+=_(l)+'" ',l=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:U.noop,fn:U.program(24,D,n),data:n}),(l||0===l)&&(o+=l),o+='>\n											<h1 class="truncate">',(r=t.Title)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Title,l=typeof r===H?r.call(a,{hash:{},data:n}):r),(l||0===l)&&(o+=l),o+='</h1>\n										</a>\n									</header>\n									<div class="actions">\n										<a aria-label="Read More - ',(r=t.Title)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Title,l=typeof r===H?r.call(a,{hash:{},data:n}):r),(l||0===l)&&(o+=l),o+='" class="button"\n										   ',r=t.when||a&&a.when,s={hash:{},inverse:U.noop,fn:U.program(22,S,n),data:n},l=r?r.call(a,"Type == 'SearchApplication' || Target == '_blank' ",s):P.call(a,"when","Type == 'SearchApplication' || Target == '_blank' ",s),(l||0===l)&&(o+=l),o+='\n										   href="',(r=t.URL)?l=r.call(a,{hash:{},data:n}):(r=a&&a.URL,l=typeof r===H?r.call(a,{hash:{},data:n}):r),o+=_(l)+'">\n											'+_((l=e&&e.SystemText,l=null==l||l===!1?l:l.ReadMore,typeof l===H?l.apply(a):l))+'\n											<span class="icon is-normal is-right"><i class="ii ii-arrow-right"></i></span>\n										</a>\n										',l=t["if"].call(a,a&&a.SocialAdvocacyItem,{hash:{},inverse:U.noop,fn:U.programWithDepth(27,I,n,e),data:n}),(l||0===l)&&(o+=l),o+='\n									</div>\n								</div>\n								<div class="span6">\n									',r=t.equals||a&&a.equals,s={hash:{},inverse:U.programWithDepth(32,b,n,e),fn:U.programWithDepth(29,w,n,e),data:n},l=r?r.call(a,a&&a.Type,"Event",s):P.call(a,"equals",a&&a.Type,"Event",s),(l||0===l)&&(o+=l),o+="\n									",l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:U.noop,fn:U.program(36,k,n),data:n}),(l||0===l)&&(o+=l),o+='\n								</div>\n							</div>\n						</div>\n					</div>\n					<div class="thumbnail-container">\n						<img src="',l=t["if"].call(a,a&&a.AssetID,{hash:{},inverse:U.program(40,x,n),fn:U.program(38,E,n),data:n}),(l||0===l)&&(o+=l),o+='" style="object-position: 50% ',(r=t.BackgroundYpos)?l=r.call(a,{hash:{},data:n}):(r=a&&a.BackgroundYpos,l=typeof r===H?r.call(a,{hash:{},data:n}):r),o+=_(l)+'%" alt="',(r=t.Title)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Title,l=typeof r===H?r.call(a,{hash:{},data:n}):r),(l||0===l)&&(o+=l),o+='" class="thumbnail" data-object-fit="cover" loading="lazy"/>\n					</div>\n				</article>\n			</li>\n			'}function i(a,n){var e,l="";return l+="\n											",e=t["if"].call(a,a&&a.Author,{hash:{},inverse:U.noop,fn:U.program(5,o,n),data:n}),(e||0===e)&&(l+=e),l+="\n											"}function o(a,n){var e,l,r="";return r+="\n											<!-- Display a span instead of a link -->\n											<li>\n												<span><strong>",(l=t.Author)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Author,e=typeof l===H?l.call(a,{hash:{},data:n}):l),r+=_(e)+"</strong></span>\n											</li>\n											"}function c(a,n){var e,l="";return l+="\n											",e=t["if"].call(a,a&&a.Author,{hash:{},inverse:U.noop,fn:U.program(8,h,n),data:n}),(e||0===e)&&(l+=e),l+="\n											"}function h(a,n){var e,l,r,s="";return s+='\n											<li>\n												<a href="'+_((l=t.link||a&&a.link,r={hash:{},data:n},l?l.call(a,"Person",a&&a.AuthorID,r):P.call(a,"link","Person",a&&a.AuthorID,r)))+'" class="author" ',e=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:U.noop,fn:U.program(9,p,n),data:n}),(e||0===e)&&(s+=e),s+=">",(l=t.Author)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Author,e=typeof l===H?l.call(a,{hash:{},data:n}):l),s+=_(e)+"</a>\n											</li>\n											"}function p(a,n){var e,l,r="";return r+=' data-personid="',(l=t.AuthorID)?e=l.call(a,{hash:{},data:n}):(l=a&&a.AuthorID,e=typeof l===H?l.call(a,{hash:{},data:n}):l),r+=_(e)+'" '}function u(a,n){var e,l="";return l+='\n												<time class="timeago" datetime="',e=t["if"].call(a,a&&a.ShowUpdateDate,{hash:{},inverse:U.program(14,f,n),fn:U.program(12,d,n),data:n}),(e||0===e)&&(l+=e),l+='"></time>\n												'}function d(a,n){var e,l,r="";return r+=" ",(l=t.UpdateDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.UpdateDate,e=typeof l===H?l.call(a,{hash:{},data:n}):l),r+=_(e)+" "}function f(a,n){var e,l,r="";return r+=" ",(l=t.StartDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.StartDate,e=typeof l===H?l.call(a,{hash:{},data:n}):l),r+=_(e)+" "}function m(a,n){var e,l,r,s="";return s+="\n												",l=t.equals||a&&a.equals,r={hash:{},inverse:U.program(20,g,n),fn:U.program(17,v,n),data:n},e=l?l.call(a,(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r):P.call(a,"equals",(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r),(e||0===e)&&(s+=e),s+="\n												"}function v(a,n){var e,l,r,s="";return s+='\n												<span class="timeago">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:U.noop,fn:U.program(18,y,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.EndDate,r):P.call(a,"eventTimeString",a&&a.StartDate,a&&a.EndDate,r),(e||0===e)&&(s+=e),s+="</span>\n												"}function y(){var a="";return a}function g(a,n){var e,l,r,s="";return s+='\n												<span class="timeago">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:U.noop,fn:U.program(18,y,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.StartDate,r):P.call(a,"eventTimeString",a&&a.StartDate,a&&a.StartDate,r),(e||0===e)&&(s+=e),s+="</span>\n												"}function S(){return' target="_blank" '}function D(a,n){var e,l,r,s="";return s+=" ",l=t.hovercard||a&&a.hovercard,r={hash:{},inverse:U.noop,fn:U.program(25,T,n),data:n},e=l?l.call(a,a&&a.Type,a&&a.ID,r):P.call(a,"hovercard",a&&a.Type,a&&a.ID,r),(e||0===e)&&(s+=e),s+=" "}function T(){return" "}function I(a,n,e){var l,r,s="";return s+='\n										<button id="soc-adv-share-btn" \n												class="button" \n												onclick="Widgets.SocialAdvocacy_ShareClicked(',(r=t.ID)?l=r.call(a,{hash:{},data:n}):(r=a&&a.ID,l=typeof r===H?r.call(a,{hash:{},data:n}):r),s+=_(l)+')"\n												type="button"\n												aria-label="'+_((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShareAria,typeof l===H?l.apply(a):l))+'"\n										>\n											'+_((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShare,typeof l===H?l.apply(a):l))+'&nbsp;<i class="fa fa-share-alt ii ii-share"></i>\n										</button>\n										'}function w(a,n,e){var l,r="";return r+="\n									",l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:U.noop,fn:U.programWithDepth(30,A,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n									"}function A(a,n,t){var e,l="";return l+="\n									<p>"+_((e=t&&t.SystemText,e=null==e||e===!1?e:e.Location,typeof e===H?e.apply(a):e))+": ",e=a&&a.Entity,e=null==e||e===!1?e:e.Location,e=typeof e===H?e.apply(a):e,(e||0===e)&&(l+=e),l+="</p>\n									"}function b(a,n,e){var l,r="";return r+="\n									",l=t["if"].call(a,(l=e&&e.Options,null==l||l===!1?l:l.IncludeSummary),{hash:{},inverse:U.noop,fn:U.program(33,C,n),data:n}),(l||0===l)&&(r+=l),r+="\n									"}function C(a,n){var e,l="";return l+="\n									",e=t["if"].call(a,a&&a.Summary,{hash:{},inverse:U.noop,fn:U.program(34,q,n),data:n}),(e||0===e)&&(l+=e),l+="\n									"}function q(a,n){var e,l,r="";return r+='\n									<p class="truncate">',(l=t.Summary)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Summary,e=typeof l===H?l.call(a,{hash:{},data:n}):l),(e||0===e)&&(r+=e),r+="</p>\n									"}function k(){return"\n									"}function E(a,n){var e,l,r;return l=t.asset||a&&a.asset,r={hash:{},data:n},e=l?l.call(a,a&&a.AssetID,7,r):P.call(a,"asset",a&&a.AssetID,7,r),e||0===e?e:""}function x(a,n){var e,l;return _((e=t.avatar||a&&a.avatar,l={hash:{},data:n},e?e.call(a,a&&a.Type,l):P.call(a,"avatar",a&&a.Type,l)))}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var L,W="",H="function",_=this.escapeExpression,U=this,P=t.helperMissing;return W+='<div class="dynamic-carousel">\n	<div id="myDynamicCarousel" class="carousel slide">\n		<div class="container p-relative h-100">\n			<a href="#myDynamicCarousel" data-slide="prev" class="carousel-chevron icon-container is-medium is-left" aria-label="Previous Slide">\n				<span class="icon is-normal">\n					<i class="ii ii-chevron-left"></i>\n				</span>\n			</a>\n			<a href="#myDynamicCarousel" data-slide="next" class="carousel-chevron icon-container is-medium is-right" aria-label="Next Slide">\n				<span class="icon is-normal">\n					<i class="ii ii-chevron-right"></i>\n				</span>\n			</a>\n			<ol class="carousel-indicators">\n				',L=t.each.call(n,n&&n.Items,{hash:{},inverse:U.noop,fn:U.program(1,r,l),data:l}),(L||0===L)&&(W+=L),W+='\n			</ol>\n		</div>\n		<ul class="list-unstyled widget-list has-thumbnail-overlay carousel-inner">\n			',L=t.each.call(n,n&&n.Items,{hash:{},inverse:U.noop,fn:U.programWithDepth(3,s,l,n),data:l}),(L||0===L)&&(W+=L),W+="\n		</ul>\n	</div>\n</div>"}),n.widgets_topicscontent_empty=a(function(a,n,t,e,l){this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var r,s="",i="function",o=this.escapeExpression;return s+='<p class="no_content muted">\n	'+o((r=n&&n.SysText,r=null==r||r===!1?r:r.noContentAvailable3,typeof r===i?r.apply(n):r))+' <a href="#" data-toggle="modal" data-target="#topicsSelect">'+o((r=n&&n.SysText,r=null==r||r===!1?r:r.noContentAvailable4,typeof r===i?r.apply(n):r))+"</a>\n</p>"}),n.widgets_topicscontent_infooverlay=a(function(a,n,t,e,l){function r(a,n,e){var l,r,c,h="";return h+='\n		<li class="item">\n			<div style="background-image: url(\'',l=t["if"].call(a,a&&a.AssetID,{hash:{},inverse:b.program(4,i,n),fn:b.program(2,s,n),data:n}),(l||0===l)&&(h+=l),h+="');background-position:center ",(r=t.BackgroundYpos)?l=r.call(a,{hash:{},data:n}):(r=a&&a.BackgroundYpos,l=typeof r===A?r.call(a,{hash:{},data:n}):r),h+=w(l)+'%;"\n			 class="center-cropped img-bg">\n				<a class="is-w-a" href="',(r=t.URL)?l=r.call(a,{hash:{},data:n}):(r=a&&a.URL,l=typeof r===A?r.call(a,{hash:{},data:n}):r),h+=w(l)+'" target="',(r=t.Target)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Target,l=typeof r===A?r.call(a,{hash:{},data:n}):r),h+=w(l)+'">\n					<p class="lead">\n						',r=t.when||a&&a.when,c={hash:{},inverse:b.program(11,p,n),fn:b.program(6,o,n),data:n},l=r?r.call(a,"Type != 'Event'",c):I.call(a,"when","Type != 'Event'",c),(l||0===l)&&(h+=l),h+='\n					</p>\n					<div class="title-wrapper">\n						<h3 dir="auto">',(r=t.Title)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Title,l=typeof r===A?r.call(a,{hash:{},data:n}):r),(l||0===l)&&(h+=l),h+="</h3>\n						",r=t.equals||a&&a.equals,c={hash:{},inverse:b.programWithDepth(20,y,n,e),fn:b.programWithDepth(17,m,n,e),data:n},l=r?r.call(a,a&&a.Type,"Event",c):I.call(a,"equals",a&&a.Type,"Event",c),(l||0===l)&&(h+=l),h+='\n					</div>\n					<img src="',l=t["if"].call(a,a&&a.AssetID,{hash:{},inverse:b.program(4,i,n),fn:b.program(2,s,n),data:n}),(l||0===l)&&(h+=l),h+='" alt="" role="presentation" loading="lazy" />\n				</a>\n			</div>\n		</li>\n		'}function s(a,n){var e,l,r;return l=t.asset||a&&a.asset,r={hash:{},data:n},e=l?l.call(a,a&&a.AssetID,7,r):I.call(a,"asset",a&&a.AssetID,7,r),e||0===e?e:""}function i(a,n){var e,l;return w((e=t.avatar||a&&a.avatar,l={hash:{},data:n},e?e.call(a,a&&a.Type,l):I.call(a,"avatar",a&&a.Type,l)))}function o(a,n){var e,l="";return l+='\n						<time class="timeago timeago-date" datetime="',e=t["if"].call(a,a&&a.ShowUpdateDate,{hash:{},inverse:b.program(9,h,n),fn:b.program(7,c,n),data:n}),(e||0===e)&&(l+=e),l+='"></time>\n						'}function c(a,n){var e,l,r="";return r+=" ",(l=t.UpdateDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.UpdateDate,e=typeof l===A?l.call(a,{hash:{},data:n}):l),r+=w(e)+" "}function h(a,n){var e,l,r="";return r+=" ",(l=t.StartDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.StartDate,e=typeof l===A?l.call(a,{hash:{},data:n}):l),r+=w(e)+" "}function p(a,n){var e,l,r,s="";return s+="\n						",l=t.equals||a&&a.equals,r={hash:{},inverse:b.program(15,f,n),fn:b.program(12,u,n),data:n},e=l?l.call(a,(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r):I.call(a,"equals",(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r),(e||0===e)&&(s+=e),s+="\n						"}function u(a,n){var e,l,r,s="";return s+='\n						<span class="timeago timeago-doubledate">\n							',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:b.noop,fn:b.program(13,d,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.EndDate,r):I.call(a,"eventTimeString",a&&a.StartDate,a&&a.EndDate,r),(e||0===e)&&(s+=e),s+="\n						</span>\n						"}function d(){var a="";return a}function f(a,n){var e,l,r,s="";return s+='\n						<span class="timeago timeago-singledate">\n							',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:b.noop,fn:b.program(13,d,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.StartDate,r):I.call(a,"eventTimeString",a&&a.StartDate,a&&a.StartDate,r),(e||0===e)&&(s+=e),s+="\n						</span>\n						"}function m(a,n,e){var l,r="";return r+="\n						",l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:b.noop,fn:b.programWithDepth(18,v,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n						"}function v(a,n,t){var e,l="";return l+='\n						<p class="muted" style="margin:0;"><strong>'+w((e=t&&t.SystemText,e=null==e||e===!1?e:e.Location,typeof e===A?e.apply(a):e))+":</strong> ",e=a&&a.Entity,e=null==e||e===!1?e:e.Location,e=typeof e===A?e.apply(a):e,(e||0===e)&&(l+=e),l+="</p>\n						"}function y(a,n,e){var l,r="";return r+="\n						",l=t["if"].call(a,(l=e&&e.Options,null==l||l===!1?l:l.IncludeSummary),{hash:{},inverse:b.noop,fn:b.program(21,g,n),data:n}),(l||0===l)&&(r+=l),r+="\n						"}function g(a,n){var e,l="";return l+="\n						",e=t["if"].call(a,a&&a.Summary,{hash:{},inverse:b.noop,fn:b.program(22,S,n),data:n}),(e||0===e)&&(l+=e),l+="\n						"}function S(a,n){var e,l,r,s="";return s+='\n						<p class="muted" dir="auto">',l=t.truncate||a&&a.truncate,r={hash:{},data:n},e=l?l.call(a,a&&a.Summary,60,r):I.call(a,"truncate",a&&a.Summary,60,r),(e||0===e)&&(s+=e),s+="</p>\n						"}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var D,T="",I=t.helperMissing,w=this.escapeExpression,A="function",b=this;return T+='<div id="myOverlay" class="carousel slide">\n	<ul class="unstyled info-overlay">\n		',D=t.each.call(n,n&&n.Items,{hash:{},inverse:b.noop,fn:b.programWithDepth(1,r,l,n),data:l}),(D||0===D)&&(T+=D),T+='\n	</ul>\n	<a class="carousel-control left" href="#myOverlay" data-slide="prev">&lsaquo;</a>\n	<a class="carousel-control right" href="#myOverlay" data-slide="next">&rsaquo;</a>\n</div>'}),n.widgets_topicscontent_layout1=a(function(a,n,t,e,l,r){function s(a,n,e,l){var r,s,h,u="";return u+='\n		<li class="gridster-wac">\n			<article class="card-inline">\n				<div class="thumbnail-container">\n					<img src="',r=t["if"].call(a,a&&a.AssetID,{hash:{},inverse:B.program(4,o,n),fn:B.program(2,i,n),data:n}),(r||0===r)&&(u+=r),u+='" style="object-position: 50% ',(s=t.BackgroundYpos)?r=s.call(a,{hash:{},data:n}):(s=a&&a.BackgroundYpos,r=typeof s===R?s.call(a,{hash:{},data:n}):s),u+=P(r)+'%;" alt="" role="presentation" class="thumbnail" data-object-fit="cover" loading="lazy" />\n				</div>\n				<div class="card-content">\n					<aside>\n						<ul class="list-unstyled list-inline inner-disc muted is-small">\n							<!-- This will return true if AuthorType is greater than 0, i.e. not a person -->\n							',r=t["if"].call(a,a&&a.AuthorType,{hash:{},inverse:B.program(9,p,n),fn:B.program(6,c,n),data:n}),(r||0===r)&&(u+=r),u+="\n\n							<li>\n								",s=t.when||a&&a.when,h={hash:{},inverse:B.program(18,y,n),fn:B.program(13,f,n),data:n},r=s?s.call(a,"Type != 'Event'",h):U.call(a,"when","Type != 'Event'",h),(r||0===r)&&(u+=r),u+='\n							</li>\n						</ul>\n					</aside>\n					<header>\n						<a class="is-w-a" target="',(s=t.Target)?r=s.call(a,{hash:{},data:n}):(s=a&&a.Target,r=typeof s===R?s.call(a,{hash:{},data:n}):s),u+=P(r)+'" href="',(s=t.URL)?r=s.call(a,{hash:{},data:n}):(s=a&&a.URL,r=typeof s===R?s.call(a,{hash:{},data:n}):s),u+=P(r)+'" dir="auto" ',r=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:B.noop,fn:B.program(24,T,n),data:n}),(r||0===r)&&(u+=r),u+='>\n							<h5 class="is-ellipsis">',(s=t.Title)?r=s.call(a,{hash:{},data:n}):(s=a&&a.Title,r=typeof s===R?s.call(a,{hash:{},data:n}):s),(r||0===r)&&(u+=r),u+="</h5>\n						</a>\n\n						",s=t.equals||a&&a.equals,h={hash:{},inverse:B.programWithDepth(29,A,n,e),fn:B.programWithDepth(26,I,n,e),data:n},r=s?s.call(a,a&&a.Type,"Event",h):U.call(a,"equals",a&&a.Type,"Event",h),(r||0===r)&&(u+=r),u+="\n\n						",r=t["if"].call(a,a&&a.SocialAdvocacyItem,{hash:{},inverse:B.noop,fn:B.programWithDepth(33,q,n,e),data:n}),(r||0===r)&&(u+=r),u+="\n					</header>\n					",r=t["if"].call(a,a&&a.Entity,{hash:{},inverse:B.noop,fn:B.programWithDepth(35,k,n,e,l),data:n}),(r||0===r)&&(u+=r),u+="\n				</div>\n			</article>\n		</li>\n	"}function i(a,n){var e,l,r;return l=t.asset||a&&a.asset,r={hash:{},data:n},e=l?l.call(a,a&&a.AssetID,5,r):U.call(a,"asset",a&&a.AssetID,5,r),e||0===e?e:""}function o(a,n){var e,l;return P((e=t.avatar||a&&a.avatar,l={hash:{},data:n},e?e.call(a,a&&a.Type,l):U.call(a,"avatar",a&&a.Type,l)))}function c(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,a&&a.Author,{hash:{},inverse:B.noop,fn:B.program(7,h,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function h(a,n){var e,l,r="";return r+='\n									<!-- Display a span instead of a link -->\n									<li class="is-author">\n										<span><strong>',(l=t.Author)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Author,e=typeof l===R?l.call(a,{hash:{},data:n}):l),r+=P(e)+"</strong></span>\n									</li>\n								"}function p(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,a&&a.Author,{hash:{},inverse:B.noop,fn:B.program(10,u,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function u(a,n){var e,l,r,s="";return s+='\n									<li class="is-author">\n										<a href="'+P((l=t.link||a&&a.link,r={hash:{},data:n},l?l.call(a,"Person",a&&a.AuthorID,r):U.call(a,"link","Person",a&&a.AuthorID,r)))+'" class="author" ',e=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:B.noop,fn:B.program(11,d,n),data:n}),(e||0===e)&&(s+=e),s+=">",(l=t.Author)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Author,e=typeof l===R?l.call(a,{hash:{},data:n}):l),s+=P(e)+"</a>\n									</li>\n								"}function d(a,n){var e,l,r="";return r+=' data-personid="',(l=t.AuthorID)?e=l.call(a,{hash:{},data:n}):(l=a&&a.AuthorID,e=typeof l===R?l.call(a,{hash:{},data:n}):l),r+=P(e)+'" '}function f(a,n){var e,l="";return l+='\n								<time class="timeago" datetime="',e=t["if"].call(a,a&&a.ShowUpdateDate,{hash:{},inverse:B.program(16,v,n),fn:B.program(14,m,n),data:n}),(e||0===e)&&(l+=e),l+='"></time>\n								'}function m(a,n){var e,l,r="";return r+=" ",(l=t.UpdateDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.UpdateDate,e=typeof l===R?l.call(a,{hash:{},data:n}):l),r+=P(e)+" "}function v(a,n){var e,l,r="";return r+=" ",(l=t.StartDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.StartDate,e=typeof l===R?l.call(a,{hash:{},data:n}):l),r+=P(e)+" "}function y(a,n){var e,l,r,s="";return s+="\n								",l=t.equals||a&&a.equals,r={hash:{},inverse:B.program(22,D,n),fn:B.program(19,g,n),data:n},e=l?l.call(a,(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r):U.call(a,"equals",(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r),(e||0===e)&&(s+=e),s+="\n								"}function g(a,n){var e,l,r,s="";return s+='\n								<span class="timeago">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:B.noop,fn:B.program(20,S,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.EndDate,r):U.call(a,"eventTimeString",a&&a.StartDate,a&&a.EndDate,r),(e||0===e)&&(s+=e),s+="</span>\n								"}function S(){var a="";return a}function D(a,n){var e,l,r,s="";return s+='\n								<span class="timeago">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:B.noop,fn:B.program(20,S,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.StartDate,r):U.call(a,"eventTimeString",a&&a.StartDate,a&&a.StartDate,r),(e||0===e)&&(s+=e),s+="</span>\n								"}function T(a,n){var e,l,r,s="";return s+=" ",l=t.hovercard||a&&a.hovercard,r={hash:{},inverse:B.noop,fn:B.program(20,S,n),data:n},e=l?l.call(a,a&&a.Type,a&&a.ID,r):U.call(a,"hovercard",a&&a.Type,a&&a.ID,r),(e||0===e)&&(s+=e),s+=" "}function I(a,n,e){var l,r="";return r+="\n							",l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:B.noop,fn:B.programWithDepth(27,w,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n							"}function w(a,n,t){var e,l="";return l+="\n								<p>"+P((e=t&&t.SystemText,e=null==e||e===!1?e:e.Location,typeof e===R?e.apply(a):e))+": ",e=a&&a.Entity,e=null==e||e===!1?e:e.Location,e=typeof e===R?e.apply(a):e,(e||0===e)&&(l+=e),l+="</p>\n							"}function A(a,n,e){var l,r="";return r+="\n							",l=t["if"].call(a,(l=e&&e.Options,null==l||l===!1?l:l.IncludeSummary),{hash:{},inverse:B.noop,fn:B.program(30,b,n),data:n}),(l||0===l)&&(r+=l),r+="\n						"}function b(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,a&&a.Summary,{hash:{},inverse:B.noop,fn:B.program(31,C,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function C(a,n){var e,l,r="";return r+='\n									<p dir="auto">',(l=t.Summary)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Summary,e=typeof l===R?l.call(a,{hash:{},data:n}):l),(e||0===e)&&(r+=e),r+="</p>\n								"}function q(a,n,e){var l,r,s="";return s+='\n						<button id="soc-adv-share-btn" \n								class="btn btn-primary btn-small" \n								onclick="Widgets.SocialAdvocacy_ShareClicked(',(r=t.ID)?l=r.call(a,{hash:{},data:n}):(r=a&&a.ID,l=typeof r===R?r.call(a,{hash:{},data:n}):r),s+=P(l)+')"\n								type="button"\n								aria-label="'+P((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShareAria,typeof l===R?l.apply(a):l))+'"\n						>\n							'+P((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShare,typeof l===R?l.apply(a):l))+'&nbsp;<i class="fa fa-share-alt ii ii-share"></i>\n						</button>\n						'}function k(a,n,e,l){var r,s,i,o="";return o+='\n					<footer>\n						<ul class="actions is-inline is-muted is-small list-unstyled">\n							<li>\n								<span class="icon is-normal">\n									<i class="ii ii-like" aria-hidden="true"></i>\n								</span>\n								<span aria-label="'+P((r=l&&l.SystemText,r=null==r||r===!1?r:r.haveliked,typeof r===R?r.apply(a):r))+'">',s=t.equals||a&&a.equals,i={hash:{},inverse:B.program(38,x,n),fn:B.program(36,E,n),data:n},r=s?s.call(a,a&&a.LikeCount,"-1",i):U.call(a,"equals",a&&a.LikeCount,"-1",i),(r||0===r)&&(o+=r),o+="</span>\n							</li>\n							",s=t.equals||a&&a.equals,i={hash:{},inverse:B.noop,fn:B.programWithDepth(40,L,n,e),data:n},r=s?s.call(a,(r=a&&a.Entity,null==r||r===!1?r:r.IsCommentsAllowed),"true",i):U.call(a,"equals",(r=a&&a.Entity,null==r||r===!1?r:r.IsCommentsAllowed),"true",i),(r||0===r)&&(o+=r),o+="\n						</ul>\n					</footer>\n					"
}function E(){return"0"}function x(a,n){var e,l;return(l=t.LikeCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.LikeCount,e=typeof l===R?l.call(a,{hash:{},data:n}):l),P(e)}function L(a,n,e){var l,r,s,i="";return i+='\n							<li>\n								<span class="icon is-normal">\n									<i class="ii ii-comments" aria-hidden="true"></i>\n								</span>\n								<span aria-label="'+P((l=e&&e.SystemText,l=null==l||l===!1?l:l.havecommented,typeof l===R?l.apply(a):l))+'">',r=t.equals||a&&a.equals,s={hash:{},inverse:B.program(41,W,n),fn:B.program(36,E,n),data:n},l=r?r.call(a,(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s):U.call(a,"equals",(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s),(l||0===l)&&(i+=l),i+="</span>\n							</li>\n							"}function W(a,n){var e,l;return(l=t.CommentCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.CommentCount,e=typeof l===R?l.call(a,{hash:{},data:n}):l),P(e)}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var H,_="",U=t.helperMissing,P=this.escapeExpression,R="function",B=this;return _+='<ul class="list-unstyled widget-list has-thumbnail-overlay">\n	',H=t.each.call(n,n&&n.Items,{hash:{},inverse:B.noop,fn:B.programWithDepth(1,s,l,n,r),data:l}),(H||0===H)&&(_+=H),_+="\n</ul>\n"}),n.widgets_topicscontent_layout10=a(function(a,n,t,e,l,r){function s(a,n,e,l){var r,s,h,u="";return u+='\n		<li class="gridster-wac">\n			<article class="card-inline">\n					<div class="thumbnail-container">\n						<img src="',r=t["if"].call(a,a&&a.AssetID,{hash:{},inverse:B.program(4,o,n),fn:B.program(2,i,n),data:n}),(r||0===r)&&(u+=r),u+='" style="object-position: 50% ',(s=t.BackgroundYpos)?r=s.call(a,{hash:{},data:n}):(s=a&&a.BackgroundYpos,r=typeof s===R?s.call(a,{hash:{},data:n}):s),u+=P(r)+'%;" alt="" role="presentation" class="thumbnail" data-object-fit="cover" loading="lazy"/>\n					</div>\n				<div class="card-content">\n					<aside>\n						<ul class="list-unstyled list-inline inner-disc muted is-small">\n							<!-- This will return true if AuthorType is greater than 0, i.e. not a person -->\n							',r=t["if"].call(a,a&&a.AuthorType,{hash:{},inverse:B.program(9,p,n),fn:B.program(6,c,n),data:n}),(r||0===r)&&(u+=r),u+="\n\n							<li>\n								",s=t.when||a&&a.when,h={hash:{},inverse:B.program(18,y,n),fn:B.program(13,f,n),data:n},r=s?s.call(a,"Type != 'Event'",h):U.call(a,"when","Type != 'Event'",h),(r||0===r)&&(u+=r),u+='\n							</li>\n						</ul>\n					</aside>\n					<header>\n						<a class="is-w-a" target="',(s=t.Target)?r=s.call(a,{hash:{},data:n}):(s=a&&a.Target,r=typeof s===R?s.call(a,{hash:{},data:n}):s),u+=P(r)+'" href="',(s=t.URL)?r=s.call(a,{hash:{},data:n}):(s=a&&a.URL,r=typeof s===R?s.call(a,{hash:{},data:n}):s),u+=P(r)+'" dir="auto" ',r=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:B.noop,fn:B.program(24,T,n),data:n}),(r||0===r)&&(u+=r),u+='>\n							<h5 class="is-ellipsis">',(s=t.Title)?r=s.call(a,{hash:{},data:n}):(s=a&&a.Title,r=typeof s===R?s.call(a,{hash:{},data:n}):s),(r||0===r)&&(u+=r),u+="</h5>\n						</a>\n\n						",s=t.equals||a&&a.equals,h={hash:{},inverse:B.programWithDepth(29,A,n,e),fn:B.programWithDepth(26,I,n,e),data:n},r=s?s.call(a,a&&a.Type,"Event",h):U.call(a,"equals",a&&a.Type,"Event",h),(r||0===r)&&(u+=r),u+="\n					</header>\n					",r=t["if"].call(a,a&&a.Entity,{hash:{},inverse:B.noop,fn:B.programWithDepth(33,q,n,e,l),data:n}),(r||0===r)&&(u+=r),u+="\n				</div>\n			</article>\n		</li>\n	"}function i(a,n){var e,l,r;return l=t.asset||a&&a.asset,r={hash:{},data:n},e=l?l.call(a,a&&a.AssetID,7,r):U.call(a,"asset",a&&a.AssetID,7,r),e||0===e?e:""}function o(a,n){var e,l;return P((e=t.avatar||a&&a.avatar,l={hash:{},data:n},e?e.call(a,a&&a.Type,l):U.call(a,"avatar",a&&a.Type,l)))}function c(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,a&&a.Author,{hash:{},inverse:B.noop,fn:B.program(7,h,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function h(a,n){var e,l,r="";return r+='\n									<!-- Display a span instead of a link -->\n									<li class="is-author">\n										<span><strong>',(l=t.Author)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Author,e=typeof l===R?l.call(a,{hash:{},data:n}):l),r+=P(e)+"</strong></span>\n									</li>\n								"}function p(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,a&&a.Author,{hash:{},inverse:B.noop,fn:B.program(10,u,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function u(a,n){var e,l,r,s="";return s+='\n									<li class="is-author">\n										<a href="'+P((l=t.link||a&&a.link,r={hash:{},data:n},l?l.call(a,"Person",a&&a.AuthorID,r):U.call(a,"link","Person",a&&a.AuthorID,r)))+'" class="author" ',e=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:B.noop,fn:B.program(11,d,n),data:n}),(e||0===e)&&(s+=e),s+=">",(l=t.Author)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Author,e=typeof l===R?l.call(a,{hash:{},data:n}):l),s+=P(e)+"</a>\n									</li>\n								"}function d(a,n){var e,l,r="";return r+=' data-personid="',(l=t.AuthorID)?e=l.call(a,{hash:{},data:n}):(l=a&&a.AuthorID,e=typeof l===R?l.call(a,{hash:{},data:n}):l),r+=P(e)+'" '}function f(a,n){var e,l="";return l+='\n								<time class="timeago" datetime="',e=t["if"].call(a,a&&a.ShowUpdateDate,{hash:{},inverse:B.program(16,v,n),fn:B.program(14,m,n),data:n}),(e||0===e)&&(l+=e),l+='"></time>\n								'}function m(a,n){var e,l,r="";return r+=" ",(l=t.UpdateDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.UpdateDate,e=typeof l===R?l.call(a,{hash:{},data:n}):l),r+=P(e)+" "}function v(a,n){var e,l,r="";return r+=" ",(l=t.StartDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.StartDate,e=typeof l===R?l.call(a,{hash:{},data:n}):l),r+=P(e)+" "}function y(a,n){var e,l,r,s="";return s+="\n								",l=t.equals||a&&a.equals,r={hash:{},inverse:B.program(22,D,n),fn:B.program(19,g,n),data:n},e=l?l.call(a,(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r):U.call(a,"equals",(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r),(e||0===e)&&(s+=e),s+="\n								"}function g(a,n){var e,l,r,s="";return s+='\n								<span class="timeago">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:B.noop,fn:B.program(20,S,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.EndDate,r):U.call(a,"eventTimeString",a&&a.StartDate,a&&a.EndDate,r),(e||0===e)&&(s+=e),s+="</span>\n								"}function S(){var a="";return a}function D(a,n){var e,l,r,s="";return s+='\n								<span class="timeago">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:B.noop,fn:B.program(20,S,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.StartDate,r):U.call(a,"eventTimeString",a&&a.StartDate,a&&a.StartDate,r),(e||0===e)&&(s+=e),s+="</span>\n								"}function T(a,n){var e,l,r,s="";return s+=" ",l=t.hovercard||a&&a.hovercard,r={hash:{},inverse:B.noop,fn:B.program(20,S,n),data:n},e=l?l.call(a,a&&a.Type,a&&a.ID,r):U.call(a,"hovercard",a&&a.Type,a&&a.ID,r),(e||0===e)&&(s+=e),s+=" "}function I(a,n,e){var l,r="";return r+="\n							",l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:B.noop,fn:B.programWithDepth(27,w,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n							"}function w(a,n,t){var e,l="";return l+="\n								<p>"+P((e=t&&t.SystemText,e=null==e||e===!1?e:e.Location,typeof e===R?e.apply(a):e))+": ",e=a&&a.Entity,e=null==e||e===!1?e:e.Location,e=typeof e===R?e.apply(a):e,(e||0===e)&&(l+=e),l+="</p>\n							"}function A(a,n,e){var l,r="";return r+="\n							",l=t["if"].call(a,(l=e&&e.Options,null==l||l===!1?l:l.IncludeSummary),{hash:{},inverse:B.noop,fn:B.program(30,b,n),data:n}),(l||0===l)&&(r+=l),r+="\n						"}function b(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,a&&a.Summary,{hash:{},inverse:B.noop,fn:B.program(31,C,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function C(a,n){var e,l,r="";return r+='\n									<p dir="auto">',(l=t.Summary)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Summary,e=typeof l===R?l.call(a,{hash:{},data:n}):l),(e||0===e)&&(r+=e),r+="</p>\n								"}function q(a,n,e,l){var r,s,i,o="";return o+='\n					<footer>\n						<ul class="actions is-inline is-muted is-small list-unstyled">\n							<li>\n								<span class="icon is-normal">\n									<i class="ii ii-like" aria-hidden="true"></i>\n								</span>\n								<span aria-label="'+P((r=l&&l.SystemText,r=null==r||r===!1?r:r.haveliked,typeof r===R?r.apply(a):r))+'">',s=t.equals||a&&a.equals,i={hash:{},inverse:B.program(36,E,n),fn:B.program(34,k,n),data:n},r=s?s.call(a,a&&a.LikeCount,"-1",i):U.call(a,"equals",a&&a.LikeCount,"-1",i),(r||0===r)&&(o+=r),o+="</span>\n							</li>\n							",s=t.equals||a&&a.equals,i={hash:{},inverse:B.noop,fn:B.programWithDepth(38,x,n,e),data:n},r=s?s.call(a,(r=a&&a.Entity,null==r||r===!1?r:r.IsCommentsAllowed),"true",i):U.call(a,"equals",(r=a&&a.Entity,null==r||r===!1?r:r.IsCommentsAllowed),"true",i),(r||0===r)&&(o+=r),o+="\n						</ul>\n						",r=t["if"].call(a,a&&a.SocialAdvocacyItem,{hash:{},inverse:B.noop,fn:B.programWithDepth(41,W,n,e),data:n}),(r||0===r)&&(o+=r),o+="\n					</footer>\n					"}function k(){return"0"}function E(a,n){var e,l;return(l=t.LikeCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.LikeCount,e=typeof l===R?l.call(a,{hash:{},data:n}):l),P(e)}function x(a,n,e){var l,r,s,i="";return i+='\n							<li>\n								<span class="icon is-normal">\n									<i class="ii ii-comments" aria-hidden="true"></i>\n								</span>\n								<span aria-label="'+P((l=e&&e.SystemText,l=null==l||l===!1?l:l.havecommented,typeof l===R?l.apply(a):l))+'">',r=t.equals||a&&a.equals,s={hash:{},inverse:B.program(39,L,n),fn:B.program(34,k,n),data:n},l=r?r.call(a,(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s):U.call(a,"equals",(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s),(l||0===l)&&(i+=l),i+="</span>\n							</li>\n							"}function L(a,n){var e,l;return(l=t.CommentCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.CommentCount,e=typeof l===R?l.call(a,{hash:{},data:n}):l),P(e)}function W(a,n,e){var l,r,s="";return s+='\n						<button id="soc-adv-share-btn" \n								class="btn btn-primary btn-small" \n								onclick="Widgets.SocialAdvocacy_ShareClicked(',(r=t.ID)?l=r.call(a,{hash:{},data:n}):(r=a&&a.ID,l=typeof r===R?r.call(a,{hash:{},data:n}):r),s+=P(l)+')"\n								type="button"\n								aria-label="'+P((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShareAria,typeof l===R?l.apply(a):l))+'"\n						>\n							'+P((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShare,typeof l===R?l.apply(a):l))+'&nbsp;<i class="fa fa-share-alt ii ii-share"></i>\n						</button>\n						'}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var H,_="",U=t.helperMissing,P=this.escapeExpression,R="function",B=this;return _+='<ul class="list-unstyled widget-list has-thumbnail-overlay">\n	',H=t.each.call(n,n&&n.Items,{hash:{},inverse:B.noop,fn:B.programWithDepth(1,s,l,n,r),data:l}),(H||0===H)&&(_+=H),_+="\n</ul>\n"}),n.widgets_topicscontent_layout11=a(function(a,n,t,e,l,r){function s(a,n){var e,l,r="";return r+='\n			<li data-target="#myLayout11Carousel',(l=t.Id)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Id,e=typeof l===B?l.call(a,{hash:{},data:n}):l),r+=M(e)+'" class="myCarousel-target" data-slide-to="'+M((e=null==n||n===!1?n:n.index,typeof e===B?e.apply(a):e))+'" aria-label="Slide to slide '+M((e=null==n||n===!1?n:n.index,typeof e===B?e.apply(a):e))+'"></li>\n		'}function i(a,n,e,l){var r,s,i,p="";return p+='\n			<li class="is-headline is-inverted item" data-slide-no="'+M((r=null==n||n===!1?n:n.index,typeof r===B?r.apply(a):r))+'">\n				<article class="card-inline">\n					<div class="thumbnail-container">\n						<img src="',r=t["if"].call(a,a&&a.AssetID,{hash:{},inverse:N.program(6,c,n),fn:N.program(4,o,n),data:n}),(r||0===r)&&(p+=r),p+='" style="object-position: 50% ',(s=t.BackgroundYpos)?r=s.call(a,{hash:{},data:n}):(s=a&&a.BackgroundYpos,r=typeof s===B?s.call(a,{hash:{},data:n}):s),p+=M(r)+'%;" alt="" role="presentation" class="thumbnail" data-object-fit="cover" loading="lazy"/>\n					</div>\n					<div class="card-content">\n						<aside>\n							<ul class="list-unstyled list-inline inner-disc muted is-small">\n								<!-- This will return true if AuthorType is greater than 0, i.e. not a person -->\n								',r=t["if"].call(a,a&&a.AuthorType,{hash:{},inverse:N.program(11,u,n),fn:N.program(8,h,n),data:n}),(r||0===r)&&(p+=r),p+="\n\n								<li>\n									",s=t.when||a&&a.when,i={hash:{},inverse:N.program(20,g,n),fn:N.program(15,m,n),data:n},r=s?s.call(a,"Type != 'Event'",i):O.call(a,"when","Type != 'Event'",i),(r||0===r)&&(p+=r),p+='\n								</li>\n							</ul>\n						</aside>\n						<header>\n							<a target="',(s=t.Target)?r=s.call(a,{hash:{},data:n}):(s=a&&a.Target,r=typeof s===B?s.call(a,{hash:{},data:n}):s),p+=M(r)+'" href="',(s=t.URL)?r=s.call(a,{hash:{},data:n}):(s=a&&a.URL,r=typeof s===B?s.call(a,{hash:{},data:n}):s),p+=M(r)+'" dir="auto" ',r=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:N.noop,fn:N.program(26,I,n),data:n}),(r||0===r)&&(p+=r),p+='>\n								<h5 class="is-ellipsis">',(s=t.Title)?r=s.call(a,{hash:{},data:n}):(s=a&&a.Title,r=typeof s===B?s.call(a,{hash:{},data:n}):s),(r||0===r)&&(p+=r),p+="</h5>\n							</a>\n							",s=t.equals||a&&a.equals,i={hash:{},inverse:N.programWithDepth(32,C,n,e),fn:N.programWithDepth(29,A,n,e),data:n},r=s?s.call(a,a&&a.Type,"Event",i):O.call(a,"equals",a&&a.Type,"Event",i),(r||0===r)&&(p+=r),p+="\n						</header>\n						",r=t["if"].call(a,a&&a.Entity,{hash:{},inverse:N.noop,fn:N.programWithDepth(36,E,n,e,l),data:n}),(r||0===r)&&(p+=r),p+="\n					</div>\n				</article>\n			</li>\n		"}function o(a,n){var e,l,r;return l=t.asset||a&&a.asset,r={hash:{},data:n},e=l?l.call(a,a&&a.AssetID,7,r):O.call(a,"asset",a&&a.AssetID,7,r),e||0===e?e:""}function c(a,n){var e,l;return M((e=t.avatar||a&&a.avatar,l={hash:{},data:n},e?e.call(a,a&&a.Type,l):O.call(a,"avatar",a&&a.Type,l)))}function h(a,n){var e,l="";return l+="\n									",e=t["if"].call(a,a&&a.Author,{hash:{},inverse:N.noop,fn:N.program(9,p,n),data:n}),(e||0===e)&&(l+=e),l+="\n								"}function p(a,n){var e,l,r="";return r+='\n										<!-- Display a span instead of a link -->\n										<li class="is-author">\n											<span><strong>',(l=t.Author)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Author,e=typeof l===B?l.call(a,{hash:{},data:n}):l),r+=M(e)+"</strong></span>\n										</li>\n									"}function u(a,n){var e,l="";return l+="\n									",e=t["if"].call(a,a&&a.Author,{hash:{},inverse:N.noop,fn:N.program(12,d,n),data:n}),(e||0===e)&&(l+=e),l+="\n								"}function d(a,n){var e,l,r,s="";return s+='\n										<li class="is-author">\n											<a href="'+M((l=t.link||a&&a.link,r={hash:{},data:n},l?l.call(a,"Person",a&&a.AuthorID,r):O.call(a,"link","Person",a&&a.AuthorID,r)))+'" class="author" ',e=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:N.noop,fn:N.program(13,f,n),data:n}),(e||0===e)&&(s+=e),s+=">",(l=t.Author)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Author,e=typeof l===B?l.call(a,{hash:{},data:n}):l),s+=M(e)+"</a>\n										</li>\n									"}function f(a,n){var e,l,r="";return r+=' data-personid="',(l=t.AuthorID)?e=l.call(a,{hash:{},data:n}):(l=a&&a.AuthorID,e=typeof l===B?l.call(a,{hash:{},data:n}):l),r+=M(e)+'" '}function m(a,n){var e,l="";return l+='\n									<time class="timeago" datetime="',e=t["if"].call(a,a&&a.ShowUpdateDate,{hash:{},inverse:N.program(18,y,n),fn:N.program(16,v,n),data:n}),(e||0===e)&&(l+=e),l+='"></time>\n									'}function v(a,n){var e,l,r="";return r+=" ",(l=t.UpdateDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.UpdateDate,e=typeof l===B?l.call(a,{hash:{},data:n}):l),r+=M(e)+" "}function y(a,n){var e,l,r="";return r+=" ",(l=t.StartDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.StartDate,e=typeof l===B?l.call(a,{hash:{},data:n}):l),r+=M(e)+" "}function g(a,n){var e,l,r,s="";return s+="\n									",l=t.equals||a&&a.equals,r={hash:{},inverse:N.program(24,T,n),fn:N.program(21,S,n),data:n},e=l?l.call(a,(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r):O.call(a,"equals",(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r),(e||0===e)&&(s+=e),s+="\n									"}function S(a,n){var e,l,r,s="";return s+='\n									<span class="timeago">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:N.noop,fn:N.program(22,D,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.EndDate,r):O.call(a,"eventTimeString",a&&a.StartDate,a&&a.EndDate,r),(e||0===e)&&(s+=e),s+="</span>\n									"}function D(){var a="";return a}function T(a,n){var e,l,r,s="";return s+='\n									<span class="timeago">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:N.noop,fn:N.program(22,D,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.StartDate,r):O.call(a,"eventTimeString",a&&a.StartDate,a&&a.StartDate,r),(e||0===e)&&(s+=e),s+="</span>\n									"}function I(a,n){var e,l,r,s="";return s+=" ",l=t.hovercard||a&&a.hovercard,r={hash:{},inverse:N.noop,fn:N.program(27,w,n),data:n},e=l?l.call(a,a&&a.Type,a&&a.ID,r):O.call(a,"hovercard",a&&a.Type,a&&a.ID,r),(e||0===e)&&(s+=e),s+=" "}function w(){return" "}function A(a,n,e){var l,r="";return r+="\n							",l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:N.noop,fn:N.programWithDepth(30,b,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n							"}function b(a,n,t){var e,l="";return l+="\n							<p>"+M((e=t&&t.SystemText,e=null==e||e===!1?e:e.Location,typeof e===B?e.apply(a):e))+": ",e=a&&a.Entity,e=null==e||e===!1?e:e.Location,e=typeof e===B?e.apply(a):e,(e||0===e)&&(l+=e),l+="</p>\n							"}function C(a,n,e){var l,r="";return r+="\n							",l=t["if"].call(a,(l=e&&e.Options,null==l||l===!1?l:l.IncludeSummary),{hash:{},inverse:N.noop,fn:N.program(33,q,n),data:n}),(l||0===l)&&(r+=l),r+="\n							"}function q(a,n){var e,l="";return l+="\n							",e=t["if"].call(a,a&&a.Summary,{hash:{},inverse:N.noop,fn:N.program(34,k,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function k(a,n){var e,l,r="";return r+='\n							<p dir="auto">',(l=t.Summary)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Summary,e=typeof l===B?l.call(a,{hash:{},data:n}):l),(e||0===e)&&(r+=e),r+="</p>\n							"}function E(a,n,e,l){var r,s,i,o="";return o+='\n						<footer>\n							<ul class="actions is-inline is-muted is-small list-unstyled">\n								<li>\n									<span class="icon is-normal">\n										<i class="ii ii-like" aria-hidden="true"></i>\n									</span>\n									<span aria-label="'+M((r=l&&l.SystemText,r=null==r||r===!1?r:r.haveliked,typeof r===B?r.apply(a):r))+'">',s=t.equals||a&&a.equals,i={hash:{},inverse:N.program(39,L,n),fn:N.program(37,x,n),data:n},r=s?s.call(a,a&&a.LikeCount,"-1",i):O.call(a,"equals",a&&a.LikeCount,"-1",i),(r||0===r)&&(o+=r),o+="</span>\n								</li>\n								",s=t.equals||a&&a.equals,i={hash:{},inverse:N.noop,fn:N.programWithDepth(41,W,n,e),data:n},r=s?s.call(a,(r=a&&a.Entity,null==r||r===!1?r:r.IsCommentsAllowed),"true",i):O.call(a,"equals",(r=a&&a.Entity,null==r||r===!1?r:r.IsCommentsAllowed),"true",i),(r||0===r)&&(o+=r),o+="\n							</ul>\n							",r=t["if"].call(a,a&&a.SocialAdvocacyItem,{hash:{},inverse:N.noop,fn:N.programWithDepth(44,_,n,e),data:n}),(r||0===r)&&(o+=r),o+="\n						</footer>\n						"}function x(){return"0"}function L(a,n){var e,l;return(l=t.LikeCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.LikeCount,e=typeof l===B?l.call(a,{hash:{},data:n}):l),M(e)}function W(a,n,e){var l,r,s,i="";return i+='\n								<li>\n									<span class="icon is-normal">\n										<i class="ii ii-comments" aria-hidden="true"></i>\n									</span>\n									<span aria-label="'+M((l=e&&e.SystemText,l=null==l||l===!1?l:l.havecommented,typeof l===B?l.apply(a):l))+'">',r=t.equals||a&&a.equals,s={hash:{},inverse:N.program(42,H,n),fn:N.program(37,x,n),data:n},l=r?r.call(a,(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s):O.call(a,"equals",(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s),(l||0===l)&&(i+=l),i+="</span>\n								</li>\n								"}function H(a,n){var e,l;return(l=t.CommentCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.CommentCount,e=typeof l===B?l.call(a,{hash:{},data:n}):l),M(e)}function _(a,n,e){var l,r,s="";return s+='\n							<div class="social-advocacy">\n								<button id="soc-adv-share-btn" \n										class="btn btn-primary btn-small" \n										onclick="Widgets.SocialAdvocacy_ShareClicked(',(r=t.ID)?l=r.call(a,{hash:{},data:n}):(r=a&&a.ID,l=typeof r===B?r.call(a,{hash:{},data:n}):r),s+=M(l)+')"\n										type="button"\n										aria-label="'+M((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShareAria,typeof l===B?l.apply(a):l))+'"\n								>\n									'+M((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShare,typeof l===B?l.apply(a):l))+'&nbsp;<i class="fa fa-share-alt ii ii-share"></i>\n								</button>\n							</div>\n							'}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var U,P,R="",B="function",M=this.escapeExpression,O=t.helperMissing,N=this;return R+='<div id="myLayout11Carousel',(P=t.Id)?U=P.call(n,{hash:{},data:l}):(P=n&&n.Id,U=typeof P===B?P.call(n,{hash:{},data:l}):P),R+=M(U)+'" class="carousel slide">\n	<ol class="carousel-indicators">\n		',U=t.each.call(n,n&&n.Items,{hash:{},inverse:N.noop,fn:N.program(1,s,l),data:l}),(U||0===U)&&(R+=U),R+='\n	</ol>\n	<ul class="list-unstyled widget-list has-thumbnail-overlay carousel-inner">\n		',U=t.each.call(n,n&&n.Items,{hash:{},inverse:N.noop,fn:N.programWithDepth(3,i,l,n,r),data:l}),(U||0===U)&&(R+=U),R+='\n	</ul>\n	<a href="#myLayout11Carousel',(P=t.Id)?U=P.call(n,{hash:{},data:l}):(P=n&&n.Id,U=typeof P===B?P.call(n,{hash:{},data:l}):P),R+=M(U)+'" data-slide="prev" class="carousel-chevron icon-container is-medium is-left" aria-label="Next Slide">\n		<span class="icon is-normal">\n			<i class="ii ii-chevron-left"></i>\n		</span>\n	</a>\n	<a href="#myLayout11Carousel',(P=t.Id)?U=P.call(n,{hash:{},data:l}):(P=n&&n.Id,U=typeof P===B?P.call(n,{hash:{},data:l}):P),R+=M(U)+'" data-slide="next" class="carousel-chevron icon-container is-medium is-right" aria-label="Previous Slide">\n		<span class="icon is-normal">\n			<i class="ii ii-chevron-right"></i>\n		</span>\n	</a>\n</div>\n'}),n.widgets_topicscontent_layout12=a(function(a,n,t,e,l,r){function s(a,n,e,l){var r,s,h,u="";return u+='\n		<li class="is-headline is-inverted gridster-wac">\n			<article class="card-inline">\n				<div class="thumbnail-container">\n					<img src="',r=t["if"].call(a,a&&a.AssetID,{hash:{},inverse:B.program(4,o,n),fn:B.program(2,i,n),data:n}),(r||0===r)&&(u+=r),u+='" style="object-position: 50% ',(s=t.BackgroundYpos)?r=s.call(a,{hash:{},data:n}):(s=a&&a.BackgroundYpos,r=typeof s===R?s.call(a,{hash:{},data:n}):s),u+=P(r)+'%;" alt="" role="presentation" class="thumbnail" data-object-fit="cover" loading="lazy"/>\n				</div>\n				<div class="card-content">\n					<aside>\n						<ul class="list-unstyled list-inline inner-disc muted is-small">\n							<!-- This will return true if AuthorType is greater than 0, i.e. not a person -->\n							',r=t["if"].call(a,a&&a.AuthorType,{hash:{},inverse:B.program(9,p,n),fn:B.program(6,c,n),data:n}),(r||0===r)&&(u+=r),u+="\n\n							<li>\n								",s=t.when||a&&a.when,h={hash:{},inverse:B.program(18,y,n),fn:B.program(13,f,n),data:n},r=s?s.call(a,"Type != 'Event'",h):U.call(a,"when","Type != 'Event'",h),(r||0===r)&&(u+=r),u+='\n							</li>\n						</ul>\n					</aside>\n					<header>\n						<a class="is-w-a" target="',(s=t.Target)?r=s.call(a,{hash:{},data:n}):(s=a&&a.Target,r=typeof s===R?s.call(a,{hash:{},data:n}):s),u+=P(r)+'" href="',(s=t.URL)?r=s.call(a,{hash:{},data:n}):(s=a&&a.URL,r=typeof s===R?s.call(a,{hash:{},data:n}):s),u+=P(r)+'" dir="auto" ',r=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:B.noop,fn:B.program(24,T,n),data:n}),(r||0===r)&&(u+=r),u+='>\n							<h5 class="is-ellipsis">',(s=t.Title)?r=s.call(a,{hash:{},data:n}):(s=a&&a.Title,r=typeof s===R?s.call(a,{hash:{},data:n}):s),(r||0===r)&&(u+=r),u+="</h5>\n						</a>\n\n						",s=t.equals||a&&a.equals,h={hash:{},inverse:B.programWithDepth(29,A,n,e),fn:B.programWithDepth(26,I,n,e),data:n},r=s?s.call(a,a&&a.Type,"Event",h):U.call(a,"equals",a&&a.Type,"Event",h),(r||0===r)&&(u+=r),u+="\n					</header>\n					",r=t["if"].call(a,a&&a.Entity,{hash:{},inverse:B.noop,fn:B.programWithDepth(33,q,n,e,l),data:n}),(r||0===r)&&(u+=r),u+="\n				</div>\n			</article>\n		</li>\n	"}function i(a,n){var e,l,r;return l=t.asset||a&&a.asset,r={hash:{},data:n},e=l?l.call(a,a&&a.AssetID,7,r):U.call(a,"asset",a&&a.AssetID,7,r),e||0===e?e:""}function o(a,n){var e,l;return P((e=t.avatar||a&&a.avatar,l={hash:{},data:n},e?e.call(a,a&&a.Type,l):U.call(a,"avatar",a&&a.Type,l)))}function c(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,a&&a.Author,{hash:{},inverse:B.noop,fn:B.program(7,h,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function h(a,n){var e,l,r="";return r+='\n									<!-- Display a span instead of a link -->\n									<li class="is-author">\n										<span><strong>',(l=t.Author)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Author,e=typeof l===R?l.call(a,{hash:{},data:n}):l),r+=P(e)+"</strong></span>\n									</li>\n								"}function p(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,a&&a.Author,{hash:{},inverse:B.noop,fn:B.program(10,u,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function u(a,n){var e,l,r,s="";return s+='\n									<li class="is-author">\n										<a href="'+P((l=t.link||a&&a.link,r={hash:{},data:n},l?l.call(a,"Person",a&&a.AuthorID,r):U.call(a,"link","Person",a&&a.AuthorID,r)))+'" class="author" ',e=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:B.noop,fn:B.program(11,d,n),data:n}),(e||0===e)&&(s+=e),s+=">",(l=t.Author)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Author,e=typeof l===R?l.call(a,{hash:{},data:n}):l),s+=P(e)+"</a>\n									</li>\n								"}function d(a,n){var e,l,r="";return r+=' data-personid="',(l=t.AuthorID)?e=l.call(a,{hash:{},data:n}):(l=a&&a.AuthorID,e=typeof l===R?l.call(a,{hash:{},data:n}):l),r+=P(e)+'" '}function f(a,n){var e,l="";return l+='\n								<time class="timeago" datetime="',e=t["if"].call(a,a&&a.ShowUpdateDate,{hash:{},inverse:B.program(16,v,n),fn:B.program(14,m,n),data:n}),(e||0===e)&&(l+=e),l+='"></time>\n								'}function m(a,n){var e,l,r="";return r+=" ",(l=t.UpdateDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.UpdateDate,e=typeof l===R?l.call(a,{hash:{},data:n}):l),r+=P(e)+" "}function v(a,n){var e,l,r="";return r+=" ",(l=t.StartDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.StartDate,e=typeof l===R?l.call(a,{hash:{},data:n}):l),r+=P(e)+" "}function y(a,n){var e,l,r,s="";return s+="\n								",l=t.equals||a&&a.equals,r={hash:{},inverse:B.program(22,D,n),fn:B.program(19,g,n),data:n},e=l?l.call(a,(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r):U.call(a,"equals",(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r),(e||0===e)&&(s+=e),s+="\n								"}function g(a,n){var e,l,r,s="";return s+='\n								<span class="timeago">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:B.noop,fn:B.program(20,S,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.EndDate,r):U.call(a,"eventTimeString",a&&a.StartDate,a&&a.EndDate,r),(e||0===e)&&(s+=e),s+="</span>\n								"}function S(){var a="";return a}function D(a,n){var e,l,r,s="";return s+='\n								<span class="timeago">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:B.noop,fn:B.program(20,S,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.StartDate,r):U.call(a,"eventTimeString",a&&a.StartDate,a&&a.StartDate,r),(e||0===e)&&(s+=e),s+="</span>\n								"}function T(a,n){var e,l,r,s="";return s+=" ",l=t.hovercard||a&&a.hovercard,r={hash:{},inverse:B.noop,fn:B.program(20,S,n),data:n},e=l?l.call(a,a&&a.Type,a&&a.ID,r):U.call(a,"hovercard",a&&a.Type,a&&a.ID,r),(e||0===e)&&(s+=e),s+=" "}function I(a,n,e){var l,r="";return r+="\n							",l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:B.noop,fn:B.programWithDepth(27,w,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n							"}function w(a,n,t){var e,l="";return l+="\n								<p>"+P((e=t&&t.SystemText,e=null==e||e===!1?e:e.Location,typeof e===R?e.apply(a):e))+": ",e=a&&a.Entity,e=null==e||e===!1?e:e.Location,e=typeof e===R?e.apply(a):e,(e||0===e)&&(l+=e),l+="</p>\n							"}function A(a,n,e){var l,r="";return r+="\n							",l=t["if"].call(a,(l=e&&e.Options,null==l||l===!1?l:l.IncludeSummary),{hash:{},inverse:B.noop,fn:B.program(30,b,n),data:n}),(l||0===l)&&(r+=l),r+="\n						"}function b(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,a&&a.Summary,{hash:{},inverse:B.noop,fn:B.program(31,C,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function C(a,n){var e,l,r="";return r+='\n									<p dir="auto">',(l=t.Summary)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Summary,e=typeof l===R?l.call(a,{hash:{},data:n}):l),(e||0===e)&&(r+=e),r+="</p>\n								"}function q(a,n,e,l){var r,s,i,o="";return o+='\n					<footer>\n						<ul class="actions is-inline is-muted is-small list-unstyled">\n							<li>\n								<span class="icon is-normal">\n									<i class="ii ii-like" aria-hidden="true"></i>\n								</span>\n								<span aria-label="'+P((r=l&&l.SystemText,r=null==r||r===!1?r:r.haveliked,typeof r===R?r.apply(a):r))+'">',s=t.equals||a&&a.equals,i={hash:{},inverse:B.program(36,E,n),fn:B.program(34,k,n),data:n},r=s?s.call(a,a&&a.LikeCount,"-1",i):U.call(a,"equals",a&&a.LikeCount,"-1",i),(r||0===r)&&(o+=r),o+="</span>\n							</li>\n							",s=t.equals||a&&a.equals,i={hash:{},inverse:B.noop,fn:B.programWithDepth(38,x,n,e),data:n},r=s?s.call(a,(r=a&&a.Entity,null==r||r===!1?r:r.IsCommentsAllowed),"true",i):U.call(a,"equals",(r=a&&a.Entity,null==r||r===!1?r:r.IsCommentsAllowed),"true",i),(r||0===r)&&(o+=r),o+="\n						</ul>\n						",r=t["if"].call(a,a&&a.SocialAdvocacyItem,{hash:{},inverse:B.noop,fn:B.programWithDepth(41,W,n,e),data:n}),(r||0===r)&&(o+=r),o+="\n					</footer>\n					"}function k(){return"0"}function E(a,n){var e,l;return(l=t.LikeCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.LikeCount,e=typeof l===R?l.call(a,{hash:{},data:n}):l),P(e)}function x(a,n,e){var l,r,s,i="";return i+='\n							<li>\n								<span class="icon is-normal">\n									<i class="ii ii-comments" aria-hidden="true"></i>\n								</span>\n								<span aria-label="'+P((l=e&&e.SystemText,l=null==l||l===!1?l:l.havecommented,typeof l===R?l.apply(a):l))+'">',r=t.equals||a&&a.equals,s={hash:{},inverse:B.program(39,L,n),fn:B.program(34,k,n),data:n},l=r?r.call(a,(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s):U.call(a,"equals",(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s),(l||0===l)&&(i+=l),i+="</span>\n							</li>\n							"}function L(a,n){var e,l;return(l=t.CommentCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.CommentCount,e=typeof l===R?l.call(a,{hash:{},data:n}):l),P(e)}function W(a,n,e){var l,r,s="";return s+='\n						<div class="social-advocacy">\n							<button id="soc-adv-share-btn" \n									class="btn btn-primary btn-small" \n									onclick="Widgets.SocialAdvocacy_ShareClicked(',(r=t.ID)?l=r.call(a,{hash:{},data:n}):(r=a&&a.ID,l=typeof r===R?r.call(a,{hash:{},data:n}):r),s+=P(l)+')"\n									type="button"\n									aria-label="'+P((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShareAria,typeof l===R?l.apply(a):l))+'"\n							>\n								'+P((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShare,typeof l===R?l.apply(a):l))+'&nbsp;<i class="fa fa-share-alt ii ii-share"></i>\n							</button>\n						</div>\n						'}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var H,_="",U=t.helperMissing,P=this.escapeExpression,R="function",B=this;return _+='<ul class="list-unstyled widget-list has-thumbnail-overlay">\n	',H=t.each.call(n,n&&n.Items,{hash:{},inverse:B.noop,fn:B.programWithDepth(1,s,l,n,r),data:l}),(H||0===H)&&(_+=H),_+="\n</ul>\n"}),n.widgets_topicscontent_layout13=a(function(a,n,t,e,l,r){function s(a,n,e,l){var r,s,h,u="";return u+='\n		<li class="is-headline is-inverted gridster-wac">\n			<article class="card-inline">\n				<div class="thumbnail-container">\n					<img src="',r=t["if"].call(a,a&&a.AssetID,{hash:{},inverse:B.program(4,o,n),fn:B.program(2,i,n),data:n}),(r||0===r)&&(u+=r),u+='" style="object-position: 50% ',(s=t.BackgroundYpos)?r=s.call(a,{hash:{},data:n}):(s=a&&a.BackgroundYpos,r=typeof s===R?s.call(a,{hash:{},data:n}):s),u+=P(r)+'%;" alt="" role="presentation" class="thumbnail" data-object-fit="cover" loading="lazy"/>\n				</div>\n				<div class="card-content">\n					<aside>\n						<ul class="list-unstyled list-inline inner-disc muted is-small">\n							<!-- This will return true if AuthorType is greater than 0, i.e. not a person -->\n							',r=t["if"].call(a,a&&a.AuthorType,{hash:{},inverse:B.program(9,p,n),fn:B.programWithDepth(6,c,n,e),data:n}),(r||0===r)&&(u+=r),u+="\n\n							<li>\n								",s=t.when||a&&a.when,h={hash:{},inverse:B.program(18,y,n),fn:B.program(13,f,n),data:n},r=s?s.call(a,"Type != 'Event'",h):U.call(a,"when","Type != 'Event'",h),(r||0===r)&&(u+=r),u+='\n							</li>\n						</ul>\n					</aside>\n					<header>\n						<a class="is-w-a" target="',(s=t.Target)?r=s.call(a,{hash:{},data:n}):(s=a&&a.Target,r=typeof s===R?s.call(a,{hash:{},data:n}):s),u+=P(r)+'" href="',(s=t.URL)?r=s.call(a,{hash:{},data:n}):(s=a&&a.URL,r=typeof s===R?s.call(a,{hash:{},data:n}):s),u+=P(r)+'" dir="auto" ',r=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:B.noop,fn:B.program(24,T,n),data:n}),(r||0===r)&&(u+=r),u+='>\n							<h5 class="is-ellipsis">',(s=t.Title)?r=s.call(a,{hash:{},data:n}):(s=a&&a.Title,r=typeof s===R?s.call(a,{hash:{},data:n}):s),(r||0===r)&&(u+=r),u+="</h5>\n						</a>\n\n						",s=t.equals||a&&a.equals,h={hash:{},inverse:B.programWithDepth(29,A,n,e),fn:B.programWithDepth(26,I,n,e),data:n},r=s?s.call(a,a&&a.Type,"Event",h):U.call(a,"equals",a&&a.Type,"Event",h),(r||0===r)&&(u+=r),u+="\n					</header>\n					",r=t["if"].call(a,a&&a.Entity,{hash:{},inverse:B.noop,fn:B.programWithDepth(33,q,n,e,l),data:n}),(r||0===r)&&(u+=r),u+="\n				</div>\n			</article>\n		</li>\n	"
}function i(a,n){var e,l,r;return l=t.asset||a&&a.asset,r={hash:{},data:n},e=l?l.call(a,a&&a.AssetID,7,r):U.call(a,"asset",a&&a.AssetID,7,r),e||0===e?e:""}function o(a,n){var e,l;return P((e=t.avatar||a&&a.avatar,l={hash:{},data:n},e?e.call(a,a&&a.Type,l):U.call(a,"avatar",a&&a.Type,l)))}function c(a,n,e){var l,r="";return r+="\n								",l=t["if"].call(a,a&&a.Author,{hash:{},inverse:B.noop,fn:B.programWithDepth(7,h,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n							"}function h(a,n,e){var l,r,s="";return s+='\n									<!-- Display a span instead of a link -->\n									<li class="is-author">\n										'+P((l=e&&e.SystemText,l=null==l||l===!1?l:l.By,typeof l===R?l.apply(a):l))+" <span><strong>",(r=t.Author)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Author,l=typeof r===R?r.call(a,{hash:{},data:n}):r),s+=P(l)+"</strong></span>\n									</li>\n								"}function p(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,a&&a.Author,{hash:{},inverse:B.noop,fn:B.program(10,u,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function u(a,n){var e,l,r,s="";return s+='\n									<li class="is-author">\n										<a href="'+P((l=t.link||a&&a.link,r={hash:{},data:n},l?l.call(a,"Person",a&&a.AuthorID,r):U.call(a,"link","Person",a&&a.AuthorID,r)))+'" class="author" ',e=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:B.noop,fn:B.program(11,d,n),data:n}),(e||0===e)&&(s+=e),s+=">",(l=t.Author)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Author,e=typeof l===R?l.call(a,{hash:{},data:n}):l),s+=P(e)+"</a>\n									</li>\n								"}function d(a,n){var e,l,r="";return r+=' data-personid="',(l=t.AuthorID)?e=l.call(a,{hash:{},data:n}):(l=a&&a.AuthorID,e=typeof l===R?l.call(a,{hash:{},data:n}):l),r+=P(e)+'" '}function f(a,n){var e,l="";return l+='\n								<time class="timeago" datetime="',e=t["if"].call(a,a&&a.ShowUpdateDate,{hash:{},inverse:B.program(16,v,n),fn:B.program(14,m,n),data:n}),(e||0===e)&&(l+=e),l+='"></time>\n								'}function m(a,n){var e,l,r="";return r+=" ",(l=t.UpdateDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.UpdateDate,e=typeof l===R?l.call(a,{hash:{},data:n}):l),r+=P(e)+" "}function v(a,n){var e,l,r="";return r+=" ",(l=t.StartDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.StartDate,e=typeof l===R?l.call(a,{hash:{},data:n}):l),r+=P(e)+" "}function y(a,n){var e,l,r,s="";return s+="\n								",l=t.equals||a&&a.equals,r={hash:{},inverse:B.program(22,D,n),fn:B.program(19,g,n),data:n},e=l?l.call(a,(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r):U.call(a,"equals",(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r),(e||0===e)&&(s+=e),s+="\n								"}function g(a,n){var e,l,r,s="";return s+='\n								<span class="timeago">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:B.noop,fn:B.program(20,S,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.EndDate,r):U.call(a,"eventTimeString",a&&a.StartDate,a&&a.EndDate,r),(e||0===e)&&(s+=e),s+="</span>\n								"}function S(){var a="";return a}function D(a,n){var e,l,r,s="";return s+='\n								<span class="timeago">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:B.noop,fn:B.program(20,S,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.StartDate,r):U.call(a,"eventTimeString",a&&a.StartDate,a&&a.StartDate,r),(e||0===e)&&(s+=e),s+="</span>\n								"}function T(a,n){var e,l,r,s="";return s+=" ",l=t.hovercard||a&&a.hovercard,r={hash:{},inverse:B.noop,fn:B.program(20,S,n),data:n},e=l?l.call(a,a&&a.Type,a&&a.ID,r):U.call(a,"hovercard",a&&a.Type,a&&a.ID,r),(e||0===e)&&(s+=e),s+=" "}function I(a,n,e){var l,r="";return r+="\n							",l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:B.noop,fn:B.programWithDepth(27,w,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n							"}function w(a,n,t){var e,l="";return l+="\n								<p>"+P((e=t&&t.SystemText,e=null==e||e===!1?e:e.Location,typeof e===R?e.apply(a):e))+": ",e=a&&a.Entity,e=null==e||e===!1?e:e.Location,e=typeof e===R?e.apply(a):e,(e||0===e)&&(l+=e),l+="</p>\n							"}function A(a,n,e){var l,r="";return r+="\n							",l=t["if"].call(a,(l=e&&e.Options,null==l||l===!1?l:l.IncludeSummary),{hash:{},inverse:B.noop,fn:B.program(30,b,n),data:n}),(l||0===l)&&(r+=l),r+="\n						"}function b(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,a&&a.Summary,{hash:{},inverse:B.noop,fn:B.program(31,C,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function C(a,n){var e,l,r="";return r+='\n									<p dir="auto">',(l=t.Summary)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Summary,e=typeof l===R?l.call(a,{hash:{},data:n}):l),(e||0===e)&&(r+=e),r+="</p>\n								"}function q(a,n,e,l){var r,s,i,o="";return o+='\n					<footer>\n						<ul class="actions is-inline is-muted is-small list-unstyled">\n							<li>\n								<span class="icon is-normal">\n									<i class="ii ii-like" aria-hidden="true"></i>\n								</span>\n								<span aria-label="'+P((r=l&&l.SystemText,r=null==r||r===!1?r:r.haveliked,typeof r===R?r.apply(a):r))+'">',s=t.equals||a&&a.equals,i={hash:{},inverse:B.program(36,E,n),fn:B.program(34,k,n),data:n},r=s?s.call(a,a&&a.LikeCount,"-1",i):U.call(a,"equals",a&&a.LikeCount,"-1",i),(r||0===r)&&(o+=r),o+="</span>\n							</li>\n							",s=t.equals||a&&a.equals,i={hash:{},inverse:B.noop,fn:B.programWithDepth(38,x,n,e),data:n},r=s?s.call(a,(r=a&&a.Entity,null==r||r===!1?r:r.IsCommentsAllowed),"true",i):U.call(a,"equals",(r=a&&a.Entity,null==r||r===!1?r:r.IsCommentsAllowed),"true",i),(r||0===r)&&(o+=r),o+="\n						</ul>\n						",r=t["if"].call(a,a&&a.SocialAdvocacyItem,{hash:{},inverse:B.noop,fn:B.programWithDepth(41,W,n,e),data:n}),(r||0===r)&&(o+=r),o+="\n					</footer>\n					"}function k(){return"0"}function E(a,n){var e,l;return(l=t.LikeCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.LikeCount,e=typeof l===R?l.call(a,{hash:{},data:n}):l),P(e)}function x(a,n,e){var l,r,s,i="";return i+='\n							<li>\n								<span class="icon is-normal">\n									<i class="ii ii-comments" aria-hidden="true"></i>\n								</span>\n								<span aria-label="'+P((l=e&&e.SystemText,l=null==l||l===!1?l:l.havecommented,typeof l===R?l.apply(a):l))+'">',r=t.equals||a&&a.equals,s={hash:{},inverse:B.program(39,L,n),fn:B.program(34,k,n),data:n},l=r?r.call(a,(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s):U.call(a,"equals",(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s),(l||0===l)&&(i+=l),i+="</span>\n							</li>\n							"}function L(a,n){var e,l;return(l=t.CommentCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.CommentCount,e=typeof l===R?l.call(a,{hash:{},data:n}):l),P(e)}function W(a,n,e){var l,r,s="";return s+='\n						<div class="social-advocacy">\n							<button id="soc-adv-share-btn"\n									class="btn btn-primary btn-small" \n									onclick="Widgets.SocialAdvocacy_ShareClicked(',(r=t.ID)?l=r.call(a,{hash:{},data:n}):(r=a&&a.ID,l=typeof r===R?r.call(a,{hash:{},data:n}):r),s+=P(l)+')"\n									type="button"\n									aria-label="'+P((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShareAria,typeof l===R?l.apply(a):l))+'"\n							>\n								'+P((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShare,typeof l===R?l.apply(a):l))+'&nbsp;<i class="fa fa-share-alt ii ii-share"></i>\n							</button>\n						</div>\n						'}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var H,_="",U=t.helperMissing,P=this.escapeExpression,R="function",B=this;return _+='<ul class="list-unstyled widget-list has-thumbnail-overlay">\n	',H=t.each.call(n,n&&n.Items,{hash:{},inverse:B.noop,fn:B.programWithDepth(1,s,l,n,r),data:l}),(H||0===H)&&(_+=H),_+="\n</ul>"}),n.widgets_topicscontent_layout14=a(function(a,n,t,e,l){function r(a,n,e){var l,r,i,c="";return c+='\n		<li>\n			<article class="card-inline">\n				<aside>\n					<span aria-label="Day of event" class="day">\n						'+y((l=a&&a.Start,l=null==l||l===!1?l:l.Date,typeof l===v?l.apply(a):l))+'\n					</span>\n					<span aria-label="Month / Year of event" class="month">\n						'+y((l=a&&a.Start,l=null==l||l===!1?l:l.Month,typeof l===v?l.apply(a):l))+" "+y((l=a&&a.Start,l=null==l||l===!1?l:l.Year,typeof l===v?l.apply(a):l))+'\n					</span>\n				</aside>\n				<div class="card-content">\n					<header dir="auto">\n						<a target="',(r=t.Target)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Target,l=typeof r===v?r.call(a,{hash:{},data:n}):r),c+=y(l)+'" href="',(r=t.URL)?l=r.call(a,{hash:{},data:n}):(r=a&&a.URL,l=typeof r===v?r.call(a,{hash:{},data:n}):r),c+=y(l)+'" ',l=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:f.noop,fn:f.program(2,s,n),data:n}),(l||0===l)&&(c+=l),c+='>\n							<h5 class="is-ellipsis">',(r=t.Title)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Title,l=typeof r===v?r.call(a,{hash:{},data:n}):r),(l||0===l)&&(c+=l),c+='</h5>\n						</a>\n					</header>\n					<footer dir="auto">\n						<ul class="list-unstyled">\n							',r=t.equals||a&&a.equals,i={hash:{},inverse:f.noop,fn:f.programWithDepth(5,o,n,e),data:n},l=r?r.call(a,a&&a.Type,"Event",i):m.call(a,"equals",a&&a.Type,"Event",i),(l||0===l)&&(c+=l),c+='\n						</ul>\n					</footer>\n				</div>\n				<a target="',(r=t.Target)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Target,l=typeof r===v?r.call(a,{hash:{},data:n}):r),c+=y(l)+'" href="',(r=t.URL)?l=r.call(a,{hash:{},data:n}):(r=a&&a.URL,l=typeof r===v?r.call(a,{hash:{},data:n}):r),c+=y(l)+'" class="button is-link read-more">\n					'+y((l=e&&e.SystemText,l=null==l||l===!1?l:l.ReadMore,typeof l===v?l.apply(a):l))+'\n					<span class="icon is-normal is-right">\n						<i class="ii ii-arrow-right"></i>\n					</span>\n				</a>\n			</article>\n		</li>\n	'}function s(a,n){var e,l,r,s="";return s+=" ",l=t.hovercard||a&&a.hovercard,r={hash:{},inverse:f.noop,fn:f.program(3,i,n),data:n},e=l?l.call(a,a&&a.Type,a&&a.ID,r):m.call(a,"hovercard",a&&a.Type,a&&a.ID,r),(e||0===e)&&(s+=e),s+=" "}function i(){var a="";return a}function o(a,n,e){var l,r="";return r+="\n								",l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:f.noop,fn:f.program(6,c,n),data:n}),(l||0===l)&&(r+=l),r+="\n								",l=t["if"].call(a,(l=e&&e.Options,null==l||l===!1?l:l.IncludeSummary),{hash:{},inverse:f.noop,fn:f.program(8,h,n),data:n}),(l||0===l)&&(r+=l),r+="\n							"}function c(a){var n,t="";return t+='\n									<li class="location" aria-label="Event location">\n										<p>',n=a&&a.Entity,n=null==n||n===!1?n:n.Location,n=typeof n===v?n.apply(a):n,(n||0===n)&&(t+=n),t+="</p>\n									</li>\n								"}function h(a,n){var e,l="";return l+="\n									",e=t["if"].call(a,a&&a.TextOnlySummary,{hash:{},inverse:f.noop,fn:f.program(9,p,n),data:n}),(e||0===e)&&(l+=e),l+="\n								"}function p(a,n){var e,l,r="";return r+='\n										<li class="description" aria-label="Event description">\n											<p>',(l=t.TextOnlySummary)?e=l.call(a,{hash:{},data:n}):(l=a&&a.TextOnlySummary,e=typeof l===v?l.call(a,{hash:{},data:n}):l),(e||0===e)&&(r+=e),r+="</p>\n										</li>\n									"}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var u,d="",f=this,m=t.helperMissing,v="function",y=this.escapeExpression;return d+='<ul class="list-unstyled widget-list">\n	',u=t.each.call(n,n&&n.Items,{hash:{},inverse:f.noop,fn:f.programWithDepth(1,r,l,n),data:l}),(u||0===u)&&(d+=u),d+='\n	<li class="is-center-text">\n		<a href="/search?q=*&filters=Event" class="button is-primary is-solid">\n			'+y((u=n&&n.SystemText,u=null==u||u===!1?u:u.ViewAllEvents,typeof u===v?u.apply(n):u))+'\n			<span class="icon is-normal is-right">\n				<i class="ii ii-arrow-right"></i>\n			</span>\n		</a>\n	</li>\n</ul>'}),n.widgets_topicscontent_layout15=a(function(a,n,t,e,l){function r(a,n,e){var l,r,i,c="";return c+='\n	<li>\n		<article class="card-inline">\n			<aside>\n				<span aria-label="Day of event" class="day">\n					'+y((l=a&&a.Start,l=null==l||l===!1?l:l.Date,typeof l===v?l.apply(a):l))+'\n				</span>\n				<span aria-label="Month / Year of event" class="month">\n					'+y((l=a&&a.Start,l=null==l||l===!1?l:l.Month,typeof l===v?l.apply(a):l))+" "+y((l=a&&a.Start,l=null==l||l===!1?l:l.Year,typeof l===v?l.apply(a):l))+'\n				</span>\n			</aside>\n			<div class="card-content">\n				<header dir="auto">\n					<a target="',(r=t.Target)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Target,l=typeof r===v?r.call(a,{hash:{},data:n}):r),c+=y(l)+'" href="',(r=t.URL)?l=r.call(a,{hash:{},data:n}):(r=a&&a.URL,l=typeof r===v?r.call(a,{hash:{},data:n}):r),c+=y(l)+'" ',l=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:f.noop,fn:f.program(2,s,n),data:n}),(l||0===l)&&(c+=l),c+='>\n						<h5 class="is-ellipsis">',(r=t.Title)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Title,l=typeof r===v?r.call(a,{hash:{},data:n}):r),(l||0===l)&&(c+=l),c+='</h5>\n					</a>\n				</header>\n				<footer dir="auto">\n					<ul class="list-unstyled">\n						',r=t.equals||a&&a.equals,i={hash:{},inverse:f.noop,fn:f.programWithDepth(5,o,n,e),data:n},l=r?r.call(a,a&&a.Type,"Event",i):m.call(a,"equals",a&&a.Type,"Event",i),(l||0===l)&&(c+=l),c+="\n					</ul>\n				</footer>\n			</div>\n		</article>\n	</li>\n	"}function s(a,n){var e,l,r,s="";return s+=" ",l=t.hovercard||a&&a.hovercard,r={hash:{},inverse:f.noop,fn:f.program(3,i,n),data:n},e=l?l.call(a,a&&a.Type,a&&a.ID,r):m.call(a,"hovercard",a&&a.Type,a&&a.ID,r),(e||0===e)&&(s+=e),s+=" "}function i(){var a="";return a}function o(a,n,e){var l,r="";return r+="\n							",l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:f.noop,fn:f.program(6,c,n),data:n}),(l||0===l)&&(r+=l),r+="\n							",l=t["if"].call(a,(l=e&&e.Options,null==l||l===!1?l:l.IncludeSummary),{hash:{},inverse:f.noop,fn:f.program(8,h,n),data:n}),(l||0===l)&&(r+=l),r+="\n						"}function c(a){var n,t="";return t+='\n								<li class="location" aria-label="Event location">\n									<p>',n=a&&a.Entity,n=null==n||n===!1?n:n.Location,n=typeof n===v?n.apply(a):n,(n||0===n)&&(t+=n),t+="</p>\n								</li>\n							"}function h(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,a&&a.Summary,{hash:{},inverse:f.noop,fn:f.program(9,p,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function p(a,n){var e,l,r="";return r+='\n									<li class="description" aria-label="Event description">\n										<p>',(l=t.Summary)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Summary,e=typeof l===v?l.call(a,{hash:{},data:n}):l),(e||0===e)&&(r+=e),r+="</p>\n									</li>\n								"}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var u,d="",f=this,m=t.helperMissing,v="function",y=this.escapeExpression;return d+='<ul class="list-inline widget-controls">\n	<li class="view-all">\n		<a href="/search?q=*&filters=Event" aria-label="Show all events">'+y((u=n&&n.SystemText,u=null==u||u===!1?u:u.ViewAll,typeof u===v?u.apply(n):u))+'</a>\n	</li>\n</ul>\n<ul class="list-unstyled widget-list">\n	',u=t.each.call(n,n&&n.Items,{hash:{},inverse:f.noop,fn:f.programWithDepth(1,r,l,n),data:l}),(u||0===u)&&(d+=u),d+="\n</ul>"}),n.widgets_topicscontent_layout2=a(function(a,n,t,e,l,r){function s(a,n){var e,l="";return l+='\n					<div class="thumbnail-container">\n						<img src="',e=t["if"].call(a,(e=a&&a.Headline,null==e||e===!1?e:e.AssetID),{hash:{},inverse:mn.noop,fn:mn.program(2,i,n),data:n}),(e||0===e)&&(l+=e),l+='" style="object-position: 50% '+fn((e=a&&a.Headline,e=null==e||e===!1?e:e.BackgroundYpos,typeof e===vn?e.apply(a):e))+'%;" alt="" role="presentation" class="thumbnail" data-object-fit="cover" loading="lazy">\n					</div>\n				'}function i(a,n){var e,l,r;return fn((l=t.asset||a&&a.asset,r={hash:{},data:n},l?l.call(a,(e=a&&a.Headline,null==e||e===!1?e:e.AssetID),7,r):dn.call(a,"asset",(e=a&&a.Headline,null==e||e===!1?e:e.AssetID),7,r)))}function o(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,(e=a&&a.Headline,null==e||e===!1?e:e.Author),{hash:{},inverse:mn.noop,fn:mn.program(5,c,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function c(a){var n,t="";return t+='\n								<li class="is-author">\n									<span><strong>'+fn((n=a&&a.Headline,n=null==n||n===!1?n:n.Author,typeof n===vn?n.apply(a):n))+"</strong></span>\n								</li>\n								"}function h(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,(e=a&&a.Headline,null==e||e===!1?e:e.Author),{hash:{},inverse:mn.noop,fn:mn.program(8,p,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function p(a,n){var e,l="";return l+='\n									<li class="is-author">\n										<a href="/Interact/Pages/Modules/Directory/Entry.aspx?person='+fn((e=a&&a.Headline,e=null==e||e===!1?e:e.AuthorID,typeof e===vn?e.apply(a):e))+'" class="author" ',e=t["if"].call(a,(e=a&&a.Headline,null==e||e===!1?e:e.ShowHoverCard),{hash:{},inverse:mn.noop,fn:mn.program(9,u,n),data:n}),(e||0===e)&&(l+=e),l+=">"+fn((e=a&&a.Headline,e=null==e||e===!1?e:e.Author,typeof e===vn?e.apply(a):e))+"</a>\n									</li>\n								"}function u(a){var n,t="";return t+=' data-personid="'+fn((n=a&&a.Headline,n=null==n||n===!1?n:n.AuthorID,typeof n===vn?n.apply(a):n))+'" '}function d(a,n){var e,l="";return l+='\n								<time class="timeago" datetime="',e=t["if"].call(a,(e=a&&a.Headline,null==e||e===!1?e:e.ShowUpdateDate),{hash:{},inverse:mn.program(14,m,n),fn:mn.program(12,f,n),data:n}),(e||0===e)&&(l+=e),l+='"></time>\n								'}function f(a){var n,t="";return t+=" "+fn((n=a&&a.Headline,n=null==n||n===!1?n:n.UpdateDate,typeof n===vn?n.apply(a):n))+" "}function m(a){var n,t="";return t+=" "+fn((n=a&&a.Headline,n=null==n||n===!1?n:n.StartDate,typeof n===vn?n.apply(a):n))+" "}function v(a,n){var e,l,r,s="";return s+="\n								",l=t.equals||a&&a.equals,r={hash:{},inverse:mn.program(20,S,n),fn:mn.program(17,y,n),data:n},e=l?l.call(a,(e=a&&a.Headline,e=null==e||e===!1?e:e.Entity,null==e||e===!1?e:e.AllDay),"false",r):dn.call(a,"equals",(e=a&&a.Headline,e=null==e||e===!1?e:e.Entity,null==e||e===!1?e:e.AllDay),"false",r),(e||0===e)&&(s+=e),s+="\n								"}function y(a,n){var e,l,r,s="";return s+='\n								<span class="timeago">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:mn.noop,fn:mn.program(18,g,n),data:n},e=l?l.call(a,(e=a&&a.Headline,null==e||e===!1?e:e.StartDate),(e=a&&a.Headline,null==e||e===!1?e:e.EndDate),r):dn.call(a,"eventTimeString",(e=a&&a.Headline,null==e||e===!1?e:e.StartDate),(e=a&&a.Headline,null==e||e===!1?e:e.EndDate),r),(e||0===e)&&(s+=e),s+="</span>\n								"}function g(){var a="";return a}function S(a,n){var e,l,r,s="";return s+='\n								<span class="timeago">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:mn.noop,fn:mn.program(18,g,n),data:n},e=l?l.call(a,(e=a&&a.Headline,null==e||e===!1?e:e.StartDate),(e=a&&a.Headline,null==e||e===!1?e:e.StartDate),r):dn.call(a,"eventTimeString",(e=a&&a.Headline,null==e||e===!1?e:e.StartDate),(e=a&&a.Headline,null==e||e===!1?e:e.StartDate),r),(e||0===e)&&(s+=e),s+="</span>\n								"}function D(a,n){var e,l,r,s="";return s+=" ",l=t.hovercard||a&&a.hovercard,r={hash:{},inverse:mn.noop,fn:mn.program(23,T,n),data:n},e=l?l.call(a,(e=a&&a.Headline,null==e||e===!1?e:e.Type),(e=a&&a.Headline,null==e||e===!1?e:e.ID),r):dn.call(a,"hovercard",(e=a&&a.Headline,null==e||e===!1?e:e.Type),(e=a&&a.Headline,null==e||e===!1?e:e.ID),r),(e||0===e)&&(s+=e),s+=" "}function T(){return" "}function I(a,n,e){var l,r="";return r+="\n						",l=t["if"].call(a,(l=a&&a.Headline,null==l||l===!1?l:l.Entity),{hash:{},inverse:mn.noop,fn:mn.programWithDepth(26,w,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n						"}function w(a,n,t){var e,l="";return l+="\n						<p>"+fn((e=t&&t.SystemText,e=null==e||e===!1?e:e.Location,typeof e===vn?e.apply(a):e))+": ",e=a&&a.Headline,e=null==e||e===!1?e:e.Entity,e=null==e||e===!1?e:e.Location,e=typeof e===vn?e.apply(a):e,(e||0===e)&&(l+=e),l+="</p>\n						"}function A(a,n,e){var l,r="";return r+="\n						",l=t["if"].call(a,(l=e&&e.Options,null==l||l===!1?l:l.IncludeSummary),{hash:{},inverse:mn.noop,fn:mn.program(29,b,n),data:n}),(l||0===l)&&(r+=l),r+="\n						"}function b(a,n){var e,l="";return l+="\n						",e=t["if"].call(a,(e=a&&a.Headline,null==e||e===!1?e:e.Summary),{hash:{},inverse:mn.noop,fn:mn.program(30,C,n),data:n}),(e||0===e)&&(l+=e),l+="\n						"}function C(a){var n,t="";return t+='\n						<p dir="auto">',n=a&&a.Headline,n=null==n||n===!1?n:n.Summary,n=typeof n===vn?n.apply(a):n,(n||0===n)&&(t+=n),t+="</p>\n						"}function q(a,n,t){var e,l="";return l+='\n						<div class="social-advocacy">\n							<button id="soc-adv-share-btn" \n									class="btn btn-primary btn-small" \n									onclick="Widgets.SocialAdvocacy_ShareClicked('+fn((e=a&&a.Headline,e=null==e||e===!1?e:e.ID,typeof e===vn?e.apply(a):e))+')"\n									type="button"\n									aria-label="'+fn((e=t&&t.SystemText,e=null==e||e===!1?e:e.SocialAdvocacyShareAria,typeof e===vn?e.apply(a):e))+'"\n							>\n								'+fn((e=t&&t.SystemText,e=null==e||e===!1?e:e.SocialAdvocacyShare,typeof e===vn?e.apply(a):e))+'&nbsp;<i class="fa fa-share-alt ii ii-share"></i>\n							</button>\n						</div>\n						'}function k(a,n,e){var l,r,s,i="";return i+='\n					<footer>\n						<ul class="actions is-inline is-muted is-small list-unstyled">\n							<li>\n								<span class="icon is-normal">\n									<i class="ii ii-like" aria-hidden="true"></i>\n								</span>\n								<span aria-label="'+fn((l=e&&e.SystemText,l=null==l||l===!1?l:l.haveliked,typeof l===vn?l.apply(a):l))+'">',r=t.equals||a&&a.equals,s={hash:{},inverse:mn.program(37,x,n),fn:mn.program(35,E,n),data:n},l=r?r.call(a,(l=a&&a.Headline,null==l||l===!1?l:l.LikeCount),"-1",s):dn.call(a,"equals",(l=a&&a.Headline,null==l||l===!1?l:l.LikeCount),"-1",s),(l||0===l)&&(i+=l),i+="</span>\n							</li>\n							",r=t.equals||a&&a.equals,s={hash:{},inverse:mn.noop,fn:mn.programWithDepth(39,L,n,a),data:n},l=r?r.call(a,(l=a&&a.Headline,l=null==l||l===!1?l:l.Entity,null==l||l===!1?l:l.IsCommentsAllowed),"true",s):dn.call(a,"equals",(l=a&&a.Headline,l=null==l||l===!1?l:l.Entity,null==l||l===!1?l:l.IsCommentsAllowed),"true",s),(l||0===l)&&(i+=l),i+="\n						</ul>\n					</footer>\n					"}function E(){return"0"}function x(a){var n;return fn((n=a&&a.Headline,n=null==n||n===!1?n:n.LikeCount,typeof n===vn?n.apply(a):n))}function L(a,n,e){var l,r,s,i="";return i+='\n							<li>\n								<span class="icon is-normal">\n									<i class="ii ii-comments" aria-hidden="true"></i>\n								</span>\n								<span aria-label="'+fn((l=e&&e.SystemText,l=null==l||l===!1?l:l.havecommented,typeof l===vn?l.apply(a):l))+'">',r=t.equals||a&&a.equals,s={hash:{},inverse:mn.program(40,W,n),fn:mn.program(35,E,n),data:n},l=r?r.call(a,(l=a&&a.Headline,l=null==l||l===!1?l:l.Entity,null==l||l===!1?l:l.CommentCount),"-1",s):dn.call(a,"equals",(l=a&&a.Headline,l=null==l||l===!1?l:l.Entity,null==l||l===!1?l:l.CommentCount),"-1",s),(l||0===l)&&(i+=l),i+="</span>\n							</li>\n							"}function W(a){var n;return fn((n=a&&a.Headline,n=null==n||n===!1?n:n.CommentCount,typeof n===vn?n.apply(a):n))}function H(a,n,e){var l,r,s,i="";return i+='\n		<li class="gridster-wac">\n			<article class="card-inline">\n				',l=t["if"].call(a,(l=e&&e.Options,null==l||l===!1?l:l.UseAssociatedIcons),{hash:{},inverse:mn.program(45,U,n),fn:mn.program(43,_,n),data:n}),(l||0===l)&&(i+=l),i+='\n				<li class="card-content">\n					<aside>\n						<ul class="list-unstyled list-inline inner-disc muted is-small">\n							<!-- This will return true if AuthorType is greater than 0, i.e. not a person -->\n							',l=t["if"].call(a,a&&a.AuthorType,{hash:{},inverse:mn.program(56,F,n),fn:mn.program(53,O,n),data:n}),(l||0===l)&&(i+=l),i+="\n\n							<li>\n								",r=t.when||a&&a.when,s={hash:{},inverse:mn.program(65,J,n),fn:mn.program(60,j,n),data:n},l=r?r.call(a,"Type != 'Event'",s):dn.call(a,"when","Type != 'Event'",s),(l||0===l)&&(i+=l),i+='\n							</li>\n						</ul>\n					</aside>\n					<header>\n						<a class="is-w-a" target="',(r=t.Target)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Target,l=typeof r===vn?r.call(a,{hash:{},data:n}):r),i+=fn(l)+'" href="',(r=t.URL)?l=r.call(a,{hash:{},data:n}):(r=a&&a.URL,l=typeof r===vn?r.call(a,{hash:{},data:n}):r),i+=fn(l)+'" dir="auto" ',l=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:mn.noop,fn:mn.program(70,Z,n),data:n}),(l||0===l)&&(i+=l),i+='>\n							<h5 class="is-ellipsis">',(r=t.Title)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Title,l=typeof r===vn?r.call(a,{hash:{},data:n}):r),(l||0===l)&&(i+=l),i+="</h5>\n						</a>\n\n						",r=t.equals||a&&a.equals,s={hash:{},inverse:mn.programWithDepth(75,an,n,e),fn:mn.programWithDepth(72,Q,n,e),data:n},l=r?r.call(a,a&&a.Type,"Event",s):dn.call(a,"equals",a&&a.Type,"Event",s),(l||0===l)&&(i+=l),i+="\n\n						",l=t["if"].call(a,a&&a.SocialAdvocacyItem,{hash:{},inverse:mn.noop,fn:mn.programWithDepth(79,en,n,e),data:n}),(l||0===l)&&(i+=l),i+="\n					</header>\n					",l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:mn.noop,fn:mn.programWithDepth(81,ln,n,a,e),data:n}),(l||0===l)&&(i+=l),i+="\n				</div>\n			</article>\n		</li>\n	"}function _(a,n){var e,l,r="";return r+='\n					<div class="center-cropped img-bg">\n						<div role="presentation" class="icon-container is-large"><span class="icon is-medium"><i class="ii ',(l=t.AssociatedIcon)?e=l.call(a,{hash:{},data:n}):(l=a&&a.AssociatedIcon,e=typeof l===vn?l.call(a,{hash:{},data:n}):l),r+=fn(e)+'"></i></span></div>\n					</div>\n				'}function U(a,n){var e,l,r,s="";return s+="\n					",l=t.when||a&&a.when,r={hash:{},inverse:mn.program(51,M,n),fn:mn.program(46,P,n),data:n},e=l?l.call(a,"AssetID != -1",r):dn.call(a,"when","AssetID != -1",r),(e||0===e)&&(s+=e),s+="\n				"}function P(a,n){var e,l,r="";return r+='\n						<div class="thumbnail-container">\n							<img src="',e=t["if"].call(a,a&&a.AssetID,{hash:{},inverse:mn.program(49,B,n),fn:mn.program(47,R,n),data:n}),(e||0===e)&&(r+=e),r+='" style="object-position: 0% ',(l=t.BackgroundYpos)?e=l.call(a,{hash:{},data:n}):(l=a&&a.BackgroundYpos,e=typeof l===vn?l.call(a,{hash:{},data:n}):l),r+=fn(e)+'%;" alt="" role="presentation" class="thumbnail" data-object-fit="cover" loading="lazy"/>\n						</div>\n					'}function R(a,n){var e,l,r;return l=t.asset||a&&a.asset,r={hash:{},data:n},e=l?l.call(a,a&&a.AssetID,5,r):dn.call(a,"asset",a&&a.AssetID,5,r),e||0===e?e:""}function B(a,n){var e,l;return fn((e=t.avatar||a&&a.avatar,l={hash:{},data:n},e?e.call(a,a&&a.Type,l):dn.call(a,"avatar",a&&a.Type,l)))}function M(a,n){var e,l,r="";return r+='\n						<div role="presentation" class="icon-container is-large"><span class="icon is-medium"><i class="ii ',(l=t.AssociatedIcon)?e=l.call(a,{hash:{},data:n}):(l=a&&a.AssociatedIcon,e=typeof l===vn?l.call(a,{hash:{},data:n}):l),r+=fn(e)+'"></i></span></div>\n					'}function O(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,a&&a.Author,{hash:{},inverse:mn.noop,fn:mn.program(54,N,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function N(a,n){var e,l,r="";return r+='\n									<!-- Display a span instead of a link -->\n									<li class="is-author">\n										<span><strong>',(l=t.Author)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Author,e=typeof l===vn?l.call(a,{hash:{},data:n}):l),r+=fn(e)+"</strong></span>\n									</li>\n								"}function F(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,a&&a.Author,{hash:{},inverse:mn.noop,fn:mn.program(57,z,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function z(a,n){var e,l,r,s="";return s+='\n									<li class="is-author">\n										<a href="'+fn((l=t.link||a&&a.link,r={hash:{},data:n},l?l.call(a,"Person",a&&a.AuthorID,r):dn.call(a,"link","Person",a&&a.AuthorID,r)))+'" class="author" ',e=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:mn.noop,fn:mn.program(58,Y,n),data:n}),(e||0===e)&&(s+=e),s+=">",(l=t.Author)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Author,e=typeof l===vn?l.call(a,{hash:{},data:n}):l),s+=fn(e)+"</a>\n									</li>\n								"}function Y(a,n){var e,l,r="";return r+=' data-personid="',(l=t.AuthorID)?e=l.call(a,{hash:{},data:n}):(l=a&&a.AuthorID,e=typeof l===vn?l.call(a,{hash:{},data:n}):l),r+=fn(e)+'" '}function j(a,n){var e,l="";return l+='\n								<time class="timeago" datetime="',e=t["if"].call(a,a&&a.ShowUpdateDate,{hash:{},inverse:mn.program(63,G,n),fn:mn.program(61,V,n),data:n}),(e||0===e)&&(l+=e),l+='"></time>\n								'}function V(a,n){var e,l,r="";return r+=" ",(l=t.UpdateDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.UpdateDate,e=typeof l===vn?l.call(a,{hash:{},data:n}):l),r+=fn(e)+" "}function G(a,n){var e,l,r="";return r+=" ",(l=t.StartDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.StartDate,e=typeof l===vn?l.call(a,{hash:{},data:n}):l),r+=fn(e)+" "}function J(a,n){var e,l,r,s="";return s+="\n								",l=t.equals||a&&a.equals,r={hash:{},inverse:mn.program(68,X,n),fn:mn.program(66,K,n),data:n},e=l?l.call(a,(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r):dn.call(a,"equals",(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r),(e||0===e)&&(s+=e),s+="\n								"}function K(a,n){var e,l,r,s="";return s+='\n								<span class="timeago">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:mn.noop,fn:mn.program(18,g,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.EndDate,r):dn.call(a,"eventTimeString",a&&a.StartDate,a&&a.EndDate,r),(e||0===e)&&(s+=e),s+="</span>\n								"}function X(a,n){var e,l,r,s="";return s+='\n								<span class="timeago">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:mn.noop,fn:mn.program(18,g,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.StartDate,r):dn.call(a,"eventTimeString",a&&a.StartDate,a&&a.StartDate,r),(e||0===e)&&(s+=e),s+="</span>\n								"}function Z(a,n){var e,l,r,s="";return s+=" ",l=t.hovercard||a&&a.hovercard,r={hash:{},inverse:mn.noop,fn:mn.program(18,g,n),data:n},e=l?l.call(a,a&&a.Type,a&&a.ID,r):dn.call(a,"hovercard",a&&a.Type,a&&a.ID,r),(e||0===e)&&(s+=e),s+=" "}function Q(a,n,e){var l,r="";return r+="\n							",l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:mn.noop,fn:mn.programWithDepth(73,$,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n							"}function $(a,n,t){var e,l="";return l+="\n								<p>"+fn((e=t&&t.SystemText,e=null==e||e===!1?e:e.Location,typeof e===vn?e.apply(a):e))+": ",e=a&&a.Entity,e=null==e||e===!1?e:e.Location,e=typeof e===vn?e.apply(a):e,(e||0===e)&&(l+=e),l+="</p>\n							"}function an(a,n,e){var l,r="";return r+="\n							",l=t["if"].call(a,(l=e&&e.Options,null==l||l===!1?l:l.IncludeSummary),{hash:{},inverse:mn.noop,fn:mn.program(76,nn,n),data:n}),(l||0===l)&&(r+=l),r+="\n						"}function nn(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,a&&a.Summary,{hash:{},inverse:mn.noop,fn:mn.program(77,tn,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function tn(a,n){var e,l,r="";return r+='\n									<p dir="auto">',(l=t.Summary)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Summary,e=typeof l===vn?l.call(a,{hash:{},data:n}):l),(e||0===e)&&(r+=e),r+="</p>\n								"}function en(a,n,e){var l,r,s="";return s+='\n						<button id="soc-adv-share-btn"\n								class="btn btn-primary btn-small" \n								onclick="Widgets.SocialAdvocacy_ShareClicked(',(r=t.ID)?l=r.call(a,{hash:{},data:n}):(r=a&&a.ID,l=typeof r===vn?r.call(a,{hash:{},data:n}):r),s+=fn(l)+')"\n								type="button"\n								aria-label="'+fn((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShareAria,typeof l===vn?l.apply(a):l))+'"\n						>\n							'+fn((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShare,typeof l===vn?l.apply(a):l))+'&nbsp;<i class="fa fa-share-alt ii ii-share"></i>\n						</button>\n						'}function ln(a,n,e,l){var r,s,i,o="";return o+='\n						<footer>\n							<ul class="actions is-inline is-muted is-small list-unstyled">\n								<li>\n									<span class="icon is-normal">\n										<i class="ii ii-like" aria-hidden="true"></i>\n									</span>\n									<span aria-label="'+fn((r=l&&l.SystemText,r=null==r||r===!1?r:r.haveliked,typeof r===vn?r.apply(a):r))+'">',s=t.equals||a&&a.equals,i={hash:{},inverse:mn.program(82,rn,n),fn:mn.program(35,E,n),data:n},r=s?s.call(a,a&&a.LikeCount,"-1",i):dn.call(a,"equals",a&&a.LikeCount,"-1",i),(r||0===r)&&(o+=r),o+="</span>\n								</li>\n								",s=t.equals||a&&a.equals,i={hash:{},inverse:mn.noop,fn:mn.programWithDepth(84,sn,n,e),data:n},r=s?s.call(a,(r=a&&a.Entity,null==r||r===!1?r:r.IsCommentsAllowed),"true",i):dn.call(a,"equals",(r=a&&a.Entity,null==r||r===!1?r:r.IsCommentsAllowed),"true",i),(r||0===r)&&(o+=r),o+="\n							</ul>\n						</footer>\n					"}function rn(a,n){var e,l;return(l=t.LikeCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.LikeCount,e=typeof l===vn?l.call(a,{hash:{},data:n}):l),fn(e)
}function sn(a,n,e){var l,r,s,i="";return i+='\n								<li>\n									<span class="icon is-normal">\n										<i class="ii ii-comments" aria-hidden="true"></i>\n									</span>\n									<span aria-label="'+fn((l=e&&e.SystemText,l=null==l||l===!1?l:l.havecommented,typeof l===vn?l.apply(a):l))+'">',r=t.equals||a&&a.equals,s={hash:{},inverse:mn.program(85,on,n),fn:mn.program(35,E,n),data:n},l=r?r.call(a,(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s):dn.call(a,"equals",(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s),(l||0===l)&&(i+=l),i+="</span>\n								</li>\n								"}function on(a,n){var e,l;return(l=t.CommentCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.CommentCount,e=typeof l===vn?l.call(a,{hash:{},data:n}):l),fn(e)}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var cn,hn,pn,un="",dn=t.helperMissing,fn=this.escapeExpression,mn=this,vn="function";return un+='<ul class="list-unstyled widget-list has-thumbnail-overlay">\n	<li class="is-headline is-inverted gridster-wac">\n			<article class="card-inline">\n				',hn=t.when||n&&n.when,pn={hash:{},inverse:mn.noop,fn:mn.program(1,s,l),data:l},cn=hn?hn.call(n,"Headline.AssetID != -1",pn):dn.call(n,"when","Headline.AssetID != -1",pn),(cn||0===cn)&&(un+=cn),un+='\n				<div class="card-content">\n					<aside>\n						<ul class="list-unstyled list-inline inner-disc muted is-small">\n							<!-- This will return true if AuthorType is greater than 0, i.e. not a person -->\n							',cn=t["if"].call(n,(cn=n&&n.Headline,null==cn||cn===!1?cn:cn.AuthorType),{hash:{},inverse:mn.program(7,h,l),fn:mn.program(4,o,l),data:l}),(cn||0===cn)&&(un+=cn),un+="\n\n							<li>\n								",hn=t.when||n&&n.when,pn={hash:{},inverse:mn.program(16,v,l),fn:mn.program(11,d,l),data:l},cn=hn?hn.call(n,"Headline.Type != 'Event'",pn):dn.call(n,"when","Headline.Type != 'Event'",pn),(cn||0===cn)&&(un+=cn),un+='\n							</li>\n						</ul>\n					</aside>\n					<header>\n						<a class="is-w-a" target="'+fn((cn=n&&n.Headline,cn=null==cn||cn===!1?cn:cn.Target,typeof cn===vn?cn.apply(n):cn))+'" href="'+fn((cn=n&&n.Headline,cn=null==cn||cn===!1?cn:cn.URL,typeof cn===vn?cn.apply(n):cn))+'" dir="auto" ',cn=t["if"].call(n,(cn=n&&n.Headline,null==cn||cn===!1?cn:cn.ShowHoverCard),{hash:{},inverse:mn.noop,fn:mn.program(22,D,l),data:l}),(cn||0===cn)&&(un+=cn),un+='>\n							<h5 class="is-ellipsis">',cn=n&&n.Headline,cn=null==cn||cn===!1?cn:cn.Title,cn=typeof cn===vn?cn.apply(n):cn,(cn||0===cn)&&(un+=cn),un+="</h5>\n						</a>\n						",hn=t.equals||n&&n.equals,pn={hash:{},inverse:mn.programWithDepth(28,A,l,r),fn:mn.programWithDepth(25,I,l,r),data:l},cn=hn?hn.call(n,(cn=n&&n.Headline,null==cn||cn===!1?cn:cn.Type),"Event",pn):dn.call(n,"equals",(cn=n&&n.Headline,null==cn||cn===!1?cn:cn.Type),"Event",pn),(cn||0===cn)&&(un+=cn),un+="\n\n						",cn=t["if"].call(n,(cn=n&&n.Headline,null==cn||cn===!1?cn:cn.SocialAdvocacyItem),{hash:{},inverse:mn.noop,fn:mn.programWithDepth(32,q,l,n),data:l}),(cn||0===cn)&&(un+=cn),un+="\n					</header>\n					",cn=t["if"].call(n,(cn=n&&n.Headline,null==cn||cn===!1?cn:cn.Entity),{hash:{},inverse:mn.noop,fn:mn.programWithDepth(34,k,l,n),data:l}),(cn||0===cn)&&(un+=cn),un+="\n				</div>\n			</article>\n		</li>\n	",cn=t.each.call(n,n&&n.Items,{hash:{},inverse:mn.noop,fn:mn.programWithDepth(42,H,l,n),data:l}),(cn||0===cn)&&(un+=cn),un+="\n</ul>\n"}),n.widgets_topicscontent_layout3=a(function(a,n,t,e,l){function r(a,n,e){var l,r,i,o="";return o+='\n		<li class="gridster-wac">\n			<article class="card-inline">\n				',r=t.when||a&&a.when,i={hash:{},inverse:T.program(7,c,n),fn:T.program(2,s,n),data:n},l=r?r.call(a,"AssetID != -1",i):S.call(a,"when","AssetID != -1",i),(l||0===l)&&(o+=l),o+='\n				<div class="card-content">\n					<header>\n						<a class="is-w-a" target="',(r=t.Target)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Target,l=typeof r===I?r.call(a,{hash:{},data:n}):r),o+=D(l)+'" href="',(r=t.URL)?l=r.call(a,{hash:{},data:n}):(r=a&&a.URL,l=typeof r===I?r.call(a,{hash:{},data:n}):r),o+=D(l)+'" dir="auto" ',l=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:T.noop,fn:T.program(9,h,n),data:n}),(l||0===l)&&(o+=l),o+='>\n							<h5 class="is-ellipsis">',(r=t.Title)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Title,l=typeof r===I?r.call(a,{hash:{},data:n}):r),(l||0===l)&&(o+=l),o+="</h5>\n						</a>\n\n						",r=t.equals||a&&a.equals,i={hash:{},inverse:T.programWithDepth(15,f,n,e),fn:T.programWithDepth(12,u,n,e),data:n},l=r?r.call(a,a&&a.Type,"Event",i):S.call(a,"equals",a&&a.Type,"Event",i),(l||0===l)&&(o+=l),o+="\n					</header>\n				</div>\n			</article>\n		</li>\n	"}function s(a,n){var e,l,r="";return r+='\n				<div class="thumbnail-container">\n					<img src="',e=t["if"].call(a,a&&a.AssetID,{hash:{},inverse:T.program(5,o,n),fn:T.program(3,i,n),data:n}),(e||0===e)&&(r+=e),r+='" style="object-position: 50% ',(l=t.BackgroundYpos)?e=l.call(a,{hash:{},data:n}):(l=a&&a.BackgroundYpos,e=typeof l===I?l.call(a,{hash:{},data:n}):l),r+=D(e)+'%;" alt="" role="presentation" class="thumbnail" data-object-fit="cover" loading="lazy" />\n				</div>\n				'}function i(a,n){var e,l,r;return l=t.asset||a&&a.asset,r={hash:{},data:n},e=l?l.call(a,a&&a.AssetID,5,r):S.call(a,"asset",a&&a.AssetID,5,r),e||0===e?e:""}function o(a,n){var e,l;return D((e=t.avatar||a&&a.avatar,l={hash:{},data:n},e?e.call(a,a&&a.Type,l):S.call(a,"avatar",a&&a.Type,l)))}function c(a,n){var e,l,r="";return r+='\n					<div role="presentation" class="icon-container is-large"><span class="icon is-medium"><i class="ii ',(l=t.AssociatedIcon)?e=l.call(a,{hash:{},data:n}):(l=a&&a.AssociatedIcon,e=typeof l===I?l.call(a,{hash:{},data:n}):l),r+=D(e)+'"></i></span></div>\n				'}function h(a,n){var e,l,r,s="";return s+=" ",l=t.hovercard||a&&a.hovercard,r={hash:{},inverse:T.noop,fn:T.program(10,p,n),data:n},e=l?l.call(a,a&&a.Type,a&&a.ID,r):S.call(a,"hovercard",a&&a.Type,a&&a.ID,r),(e||0===e)&&(s+=e),s+=" "}function p(){var a="";return a}function u(a,n,e){var l,r="";return r+="\n							",l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:T.noop,fn:T.programWithDepth(13,d,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n							"}function d(a,n,t){var e,l="";return l+="\n								<p>"+D((e=t&&t.SystemText,e=null==e||e===!1?e:e.Location,typeof e===I?e.apply(a):e))+": ",e=a&&a.Entity,e=null==e||e===!1?e:e.Location,e=typeof e===I?e.apply(a):e,(e||0===e)&&(l+=e),l+="</p>\n							"}function f(a,n,e){var l,r="";return r+="\n							",l=t["if"].call(a,(l=e&&e.Options,null==l||l===!1?l:l.IncludeSummary),{hash:{},inverse:T.noop,fn:T.program(16,m,n),data:n}),(l||0===l)&&(r+=l),r+="\n						"}function m(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,a&&a.Summary,{hash:{},inverse:T.noop,fn:T.program(17,v,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function v(a,n){var e,l,r="";return r+='\n									<p dir="auto">',(l=t.Summary)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Summary,e=typeof l===I?l.call(a,{hash:{},data:n}):l),(e||0===e)&&(r+=e),r+="</p>\n								"}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var y,g="",S=t.helperMissing,D=this.escapeExpression,T=this,I="function";return g+='<ul class="list-unstyled widget-list has-thumbnail-overlay">\n	',y=t.each.call(n,n&&n.Items,{hash:{},inverse:T.noop,fn:T.programWithDepth(1,r,l,n),data:l}),(y||0===y)&&(g+=y),g+="\n</ul>\n"}),n.widgets_topicscontent_layout4=a(function(a,n,t,e,l,r,s){function i(a,n){var e,l="";return l+='\n				<div class="thumbnail-container">\n					<img src="',e=t["if"].call(a,(e=a&&a.Headline,null==e||e===!1?e:e.AssetID),{hash:{},inverse:fn.noop,fn:fn.program(2,o,n),data:n}),(e||0===e)&&(l+=e),l+='" style="object-position: 50% '+dn((e=a&&a.Headline,e=null==e||e===!1?e:e.BackgroundYpos,typeof e===mn?e.apply(a):e))+'%;" alt="" role="presentation" class="thumbnail" data-object-fit="cover" loading="lazy"/>\n				</div>\n				'}function o(a,n){var e,l,r;return dn((l=t.asset||a&&a.asset,r={hash:{},data:n},l?l.call(a,(e=a&&a.Headline,null==e||e===!1?e:e.AssetID),7,r):un.call(a,"asset",(e=a&&a.Headline,null==e||e===!1?e:e.AssetID),7,r)))}function c(a){var n,t="";return t+='\n					<div role="presentation" class="icon-container is-large">\n						<span class="icon is-medium">\n							<i class="ii '+dn((n=a&&a.Headline,n=null==n||n===!1?n:n.AssociatedIcon,typeof n===mn?n.apply(a):n))+'"></i>\n						</span>\n					</div>\n				'}function h(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,(e=a&&a.Headline,null==e||e===!1?e:e.Author),{hash:{},inverse:fn.noop,fn:fn.program(7,p,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function p(a){var n,t="";return t+="\n									<li>\n										<span><strong>"+dn((n=a&&a.Headline,n=null==n||n===!1?n:n.Author,typeof n===mn?n.apply(a):n))+"</strong></span>\n									</li>\n								"}function u(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,(e=a&&a.Headline,null==e||e===!1?e:e.Author),{hash:{},inverse:fn.noop,fn:fn.program(10,d,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function d(a,n){var e,l="";return l+='\n									<li class="is-author">\n										<a href="/Interact/Pages/Modules/Directory/Entry.aspx?person='+dn((e=a&&a.Headline,e=null==e||e===!1?e:e.AuthorID,typeof e===mn?e.apply(a):e))+'" class="author" ',e=t["if"].call(a,(e=a&&a.Headline,null==e||e===!1?e:e.ShowHoverCard),{hash:{},inverse:fn.noop,fn:fn.program(11,f,n),data:n}),(e||0===e)&&(l+=e),l+=">"+dn((e=a&&a.Headline,e=null==e||e===!1?e:e.Author,typeof e===mn?e.apply(a):e))+"</a>\n									</li>\n								"}function f(a){var n,t="";return t+=' data-personid="'+dn((n=a&&a.Headline,n=null==n||n===!1?n:n.AuthorID,typeof n===mn?n.apply(a):n))+'" '}function m(a,n){var e,l="";return l+='\n								<time class="timeago" datetime="',e=t["if"].call(a,(e=a&&a.Headline,null==e||e===!1?e:e.ShowUpdateDate),{hash:{},inverse:fn.program(16,y,n),fn:fn.program(14,v,n),data:n}),(e||0===e)&&(l+=e),l+='"></time>\n								'}function v(a){var n,t="";return t+=" "+dn((n=a&&a.Headline,n=null==n||n===!1?n:n.UpdateDate,typeof n===mn?n.apply(a):n))+" "}function y(a){var n,t="";return t+=" "+dn((n=a&&a.Headline,n=null==n||n===!1?n:n.StartDate,typeof n===mn?n.apply(a):n))+" "}function g(a,n){var e,l,r,s="";return s+="\n								",l=t.equals||a&&a.equals,r={hash:{},inverse:fn.program(22,T,n),fn:fn.program(19,S,n),data:n},e=l?l.call(a,(e=a&&a.Headline,e=null==e||e===!1?e:e.Entity,null==e||e===!1?e:e.AllDay),"false",r):un.call(a,"equals",(e=a&&a.Headline,e=null==e||e===!1?e:e.Entity,null==e||e===!1?e:e.AllDay),"false",r),(e||0===e)&&(s+=e),s+="\n								"}function S(a,n){var e,l,r,s="";return s+='\n								<span class="timeago">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:fn.noop,fn:fn.program(20,D,n),data:n},e=l?l.call(a,(e=a&&a.Headline,null==e||e===!1?e:e.StartDate),(e=a&&a.Headline,null==e||e===!1?e:e.EndDate),r):un.call(a,"eventTimeString",(e=a&&a.Headline,null==e||e===!1?e:e.StartDate),(e=a&&a.Headline,null==e||e===!1?e:e.EndDate),r),(e||0===e)&&(s+=e),s+="</span>\n								"}function D(){var a="";return a}function T(a,n){var e,l,r,s="";return s+='\n								<span class="timeago">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:fn.noop,fn:fn.program(20,D,n),data:n},e=l?l.call(a,(e=a&&a.Headline,null==e||e===!1?e:e.StartDate),(e=a&&a.Headline,null==e||e===!1?e:e.StartDate),r):un.call(a,"eventTimeString",(e=a&&a.Headline,null==e||e===!1?e:e.StartDate),(e=a&&a.Headline,null==e||e===!1?e:e.StartDate),r),(e||0===e)&&(s+=e),s+="</span>\n								"}function I(a,n){var e,l,r,s="";return s+=" ",l=t.hovercard||a&&a.hovercard,r={hash:{},inverse:fn.noop,fn:fn.program(20,D,n),data:n},e=l?l.call(a,(e=a&&a.Headline,null==e||e===!1?e:e.Type),(e=a&&a.Headline,null==e||e===!1?e:e.ID),r):un.call(a,"hovercard",(e=a&&a.Headline,null==e||e===!1?e:e.Type),(e=a&&a.Headline,null==e||e===!1?e:e.ID),r),(e||0===e)&&(s+=e),s+=" "}function w(a,n,e){var l,r="";return r+="\n							",l=t["if"].call(a,(l=a&&a.Headline,null==l||l===!1?l:l.Entity),{hash:{},inverse:fn.noop,fn:fn.programWithDepth(27,A,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n							"}function A(a,n,t){var e,l="";return l+="\n								<p>"+dn((e=t&&t.SystemText,e=null==e||e===!1?e:e.Location,typeof e===mn?e.apply(a):e))+": ",e=a&&a.Headline,e=null==e||e===!1?e:e.Entity,e=null==e||e===!1?e:e.Location,e=typeof e===mn?e.apply(a):e,(e||0===e)&&(l+=e),l+="</p>\n							"}function b(a,n,e){var l,r="";return r+="\n							",l=t["if"].call(a,(l=e&&e.Options,null==l||l===!1?l:l.IncludeSummary),{hash:{},inverse:fn.noop,fn:fn.program(30,C,n),data:n}),(l||0===l)&&(r+=l),r+="\n						"}function C(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,(e=a&&a.Headline,null==e||e===!1?e:e.Summary),{hash:{},inverse:fn.noop,fn:fn.program(31,q,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function q(a){var n,t="";return t+='\n									<p dir="auto">',n=a&&a.Headline,n=null==n||n===!1?n:n.Summary,n=typeof n===mn?n.apply(a):n,(n||0===n)&&(t+=n),t+="</p>\n								"}function k(a,n,e,l){var r,s,i,o="";return o+='\n					<footer>\n						<ul class="actions is-inline is-muted is-small list-unstyled">\n							<li>\n								<span class="icon is-normal">\n									<i class="ii ii-like" aria-hidden="true"></i>\n								</span>\n								<span aria-label="'+dn((r=l&&l.SystemText,r=null==r||r===!1?r:r.haveliked,typeof r===mn?r.apply(a):r))+'">',s=t.equals||a&&a.equals,i={hash:{},inverse:fn.program(36,x,n),fn:fn.program(34,E,n),data:n},r=s?s.call(a,(r=a&&a.Headline,null==r||r===!1?r:r.LikeCount),"-1",i):un.call(a,"equals",(r=a&&a.Headline,null==r||r===!1?r:r.LikeCount),"-1",i),(r||0===r)&&(o+=r),o+="</span>\n							</li>\n							",s=t.equals||a&&a.equals,i={hash:{},inverse:fn.noop,fn:fn.programWithDepth(38,L,n,e),data:n},r=s?s.call(a,(r=a&&a.Headline,r=null==r||r===!1?r:r.Entity,null==r||r===!1?r:r.IsCommentsAllowed),"true",i):un.call(a,"equals",(r=a&&a.Headline,r=null==r||r===!1?r:r.Entity,null==r||r===!1?r:r.IsCommentsAllowed),"true",i),(r||0===r)&&(o+=r),o+="\n						</ul>\n						",r=t["if"].call(a,(r=a&&a.Headline,null==r||r===!1?r:r.SocialAdvocacyItem),{hash:{},inverse:fn.noop,fn:fn.program(41,H,n),data:n}),(r||0===r)&&(o+=r),o+="\n					</footer>\n					"}function E(){return"0"}function x(a){var n;return dn((n=a&&a.Headline,n=null==n||n===!1?n:n.LikeCount,typeof n===mn?n.apply(a):n))}function L(a,n,e){var l,r,s,i="";return i+='\n							<li>\n								<span class="icon is-normal">\n									<i class="ii ii-comments" aria-hidden="true"></i>\n								</span>\n								<span aria-label="'+dn((l=e&&e.SystemText,l=null==l||l===!1?l:l.havecommented,typeof l===mn?l.apply(a):l))+'">',r=t.equals||a&&a.equals,s={hash:{},inverse:fn.program(39,W,n),fn:fn.program(34,E,n),data:n},l=r?r.call(a,(l=a&&a.Headline,l=null==l||l===!1?l:l.Entity,null==l||l===!1?l:l.CommentCount),"-1",s):un.call(a,"equals",(l=a&&a.Headline,l=null==l||l===!1?l:l.Entity,null==l||l===!1?l:l.CommentCount),"-1",s),(l||0===l)&&(i+=l),i+="</span>\n							</li>\n							"}function W(a){var n;return dn((n=a&&a.Headline,n=null==n||n===!1?n:n.CommentCount,typeof n===mn?n.apply(a):n))}function H(a){var n,t="";return t+='\n						<div class="social-advocacy">	\n							<button id="soc-adv-share-btn"\n									class="btn btn-primary btn-small"\n									onclick="Widgets.SocialAdvocacy_ShareClicked('+dn((n=a&&a.Headline,n=null==n||n===!1?n:n.ID,typeof n===mn?n.apply(a):n))+')"\n									type="button"\n									aria-label="'+dn((n=a&&a.SystemText,n=null==n||n===!1?n:n.SocialAdvocacyShareAria,typeof n===mn?n.apply(a):n))+'"\n							>\n								'+dn((n=a&&a.SystemText,n=null==n||n===!1?n:n.SocialAdvocacyShare,typeof n===mn?n.apply(a):n))+'&nbsp;<i class="fa fa-share-alt ii ii-share"></i>\n							</button>\n						</div>\n						'}function _(a,n,e,l){var r,s,i,o="";return o+='\n		<li class="gridster-wac">\n			<article class="card-inline">\n			',s=t.when||a&&a.when,i={hash:{},inverse:fn.program(49,B,n),fn:fn.program(44,U,n),data:n},r=s?s.call(a,"AssetID != -1",i):un.call(a,"when","AssetID != -1",i),(r||0===r)&&(o+=r),o+='\n				<div class="card-content">\n					<aside>\n						<ul class="list-unstyled list-inline inner-disc muted is-small">\n							<!-- This will return true if AuthorType is greater than 0, i.e. not a person -->\n							',r=t["if"].call(a,a&&a.AuthorType,{hash:{},inverse:fn.program(54,N,n),fn:fn.program(51,M,n),data:n}),(r||0===r)&&(o+=r),o+="\n							<li>\n								",s=t.when||a&&a.when,i={hash:{},inverse:fn.program(63,G,n),fn:fn.program(58,Y,n),data:n},r=s?s.call(a,"Type != 'Event'",i):un.call(a,"when","Type != 'Event'",i),(r||0===r)&&(o+=r),o+='\n							</li>\n						</ul>\n					</aside>\n					<header>\n						<a class="is-w-a" target="',(s=t.Target)?r=s.call(a,{hash:{},data:n}):(s=a&&a.Target,r=typeof s===mn?s.call(a,{hash:{},data:n}):s),o+=dn(r)+'" href="',(s=t.URL)?r=s.call(a,{hash:{},data:n}):(s=a&&a.URL,r=typeof s===mn?s.call(a,{hash:{},data:n}):s),o+=dn(r)+'" dir="auto" ',r=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:fn.noop,fn:fn.program(68,X,n),data:n}),(r||0===r)&&(o+=r),o+='>\n							<h5 class="is-ellipsis">',(s=t.Title)?r=s.call(a,{hash:{},data:n}):(s=a&&a.Title,r=typeof s===mn?s.call(a,{hash:{},data:n}):s),(r||0===r)&&(o+=r),o+="</h5>\n						</a>\n\n						",s=t.equals||a&&a.equals,i={hash:{},inverse:fn.programWithDepth(73,$,n,e),fn:fn.programWithDepth(70,Z,n,e),data:n},r=s?s.call(a,a&&a.Type,"Event",i):un.call(a,"equals",a&&a.Type,"Event",i),(r||0===r)&&(o+=r),o+="\n						",r=t["if"].call(a,a&&a.SocialAdvocacyItem,{hash:{},inverse:fn.noop,fn:fn.programWithDepth(77,tn,n,e),data:n}),(r||0===r)&&(o+=r),o+="\n					</header>\n					",r=t["if"].call(a,a&&a.Entity,{hash:{},inverse:fn.noop,fn:fn.programWithDepth(79,en,n,e,l),data:n}),(r||0===r)&&(o+=r),o+="\n				</div>\n			</article>\n		</li>\n	"}function U(a,n){var e,l,r="";return r+='\n				<div class="thumbnail-container">\n					<img src="',e=t["if"].call(a,a&&a.AssetID,{hash:{},inverse:fn.program(47,R,n),fn:fn.program(45,P,n),data:n}),(e||0===e)&&(r+=e),r+='" style="object-position: 0% ',(l=t.BackgroundYpos)?e=l.call(a,{hash:{},data:n}):(l=a&&a.BackgroundYpos,e=typeof l===mn?l.call(a,{hash:{},data:n}):l),r+=dn(e)+'%;" alt="" role="presentation" class="thumbnail" data-object-fit="cover" loading="lazy"/>\n				</div>\n			'}function P(a,n){var e,l,r;return l=t.asset||a&&a.asset,r={hash:{},data:n},e=l?l.call(a,a&&a.AssetID,5,r):un.call(a,"asset",a&&a.AssetID,5,r),e||0===e?e:""}function R(a,n){var e,l;return dn((e=t.avatar||a&&a.avatar,l={hash:{},data:n},e?e.call(a,a&&a.Type,l):un.call(a,"avatar",a&&a.Type,l)))}function B(a,n){var e,l,r="";return r+='\n				<div role="presentation" class="icon-container is-large"><span class="icon is-medium"><i class="ii ',(l=t.AssociatedIcon)?e=l.call(a,{hash:{},data:n}):(l=a&&a.AssociatedIcon,e=typeof l===mn?l.call(a,{hash:{},data:n}):l),r+=dn(e)+'"></i></span></div>\n			'}function M(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,a&&a.Author,{hash:{},inverse:fn.noop,fn:fn.program(52,O,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function O(a,n){var e,l,r="";return r+='\n									<li class="is-author">\n										<span>',(l=t.Author)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Author,e=typeof l===mn?l.call(a,{hash:{},data:n}):l),r+=dn(e)+"</span>\n									</li>\n								"}function N(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,a&&a.Author,{hash:{},inverse:fn.noop,fn:fn.program(55,F,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function F(a,n){var e,l,r,s="";return s+='\n								<li class="is-author">\n									<a href="'+dn((l=t.link||a&&a.link,r={hash:{},data:n},l?l.call(a,"Person",a&&a.AuthorID,r):un.call(a,"link","Person",a&&a.AuthorID,r)))+'" class="author" ',e=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:fn.noop,fn:fn.program(56,z,n),data:n}),(e||0===e)&&(s+=e),s+=">",(l=t.Author)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Author,e=typeof l===mn?l.call(a,{hash:{},data:n}):l),s+=dn(e)+"</a>\n								</li>\n								 "}function z(a,n){var e,l,r="";return r+=' data-personid="',(l=t.AuthorID)?e=l.call(a,{hash:{},data:n}):(l=a&&a.AuthorID,e=typeof l===mn?l.call(a,{hash:{},data:n}):l),r+=dn(e)+'" '}function Y(a,n){var e,l="";return l+='\n									<time class="timeago" datetime="',e=t["if"].call(a,a&&a.ShowUpdateDate,{hash:{},inverse:fn.program(61,V,n),fn:fn.program(59,j,n),data:n}),(e||0===e)&&(l+=e),l+='"></time>\n								'}function j(a,n){var e,l,r="";return r+=" ",(l=t.UpdateDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.UpdateDate,e=typeof l===mn?l.call(a,{hash:{},data:n}):l),r+=dn(e)+" "}function V(a,n){var e,l,r="";return r+=" ",(l=t.StartDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.StartDate,e=typeof l===mn?l.call(a,{hash:{},data:n}):l),r+=dn(e)+" "}function G(a,n){var e,l,r,s="";return s+="\n									",l=t.equals||a&&a.equals,r={hash:{},inverse:fn.program(66,K,n),fn:fn.program(64,J,n),data:n},e=l?l.call(a,(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r):un.call(a,"equals",(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r),(e||0===e)&&(s+=e),s+="\n								"}function J(a,n){var e,l,r,s="";return s+='\n										<span class="timeago">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:fn.noop,fn:fn.program(20,D,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.EndDate,r):un.call(a,"eventTimeString",a&&a.StartDate,a&&a.EndDate,r),(e||0===e)&&(s+=e),s+="</span>\n									"}function K(a,n){var e,l,r,s="";return s+='\n										<span class="timeago">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:fn.noop,fn:fn.program(20,D,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.StartDate,r):un.call(a,"eventTimeString",a&&a.StartDate,a&&a.StartDate,r),(e||0===e)&&(s+=e),s+="</span>\n									"}function X(a,n){var e,l,r,s="";return s+=" ",l=t.hovercard||a&&a.hovercard,r={hash:{},inverse:fn.noop,fn:fn.program(20,D,n),data:n},e=l?l.call(a,a&&a.Type,a&&a.ID,r):un.call(a,"hovercard",a&&a.Type,a&&a.ID,r),(e||0===e)&&(s+=e),s+=" "}function Z(a,n,e){var l,r="";return r+="\n							",l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:fn.noop,fn:fn.programWithDepth(71,Q,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n							"}function Q(a,n,t){var e,l="";return l+="\n								<p>"+dn((e=t&&t.SystemText,e=null==e||e===!1?e:e.Location,typeof e===mn?e.apply(a):e))+": ",e=a&&a.Entity,e=null==e||e===!1?e:e.Location,e=typeof e===mn?e.apply(a):e,(e||0===e)&&(l+=e),l+="</p>\n							"}function $(a,n,e){var l,r="";return r+="\n							",l=t["if"].call(a,(l=e&&e.Options,null==l||l===!1?l:l.IncludeSummary),{hash:{},inverse:fn.noop,fn:fn.program(74,an,n),data:n}),(l||0===l)&&(r+=l),r+="\n						"}function an(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,a&&a.Summary,{hash:{},inverse:fn.noop,fn:fn.program(75,nn,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function nn(a,n){var e,l,r="";return r+='\n									<p dir="auto">',(l=t.Summary)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Summary,e=typeof l===mn?l.call(a,{hash:{},data:n}):l),(e||0===e)&&(r+=e),r+="</p>\n								"}function tn(a,n,e){var l,r,s="";return s+='\n						<button id="soc-adv-share-btn" \n								class="btn btn-primary btn-small" \n								onclick="Widgets.SocialAdvocacy_ShareClicked(',(r=t.ID)?l=r.call(a,{hash:{},data:n}):(r=a&&a.ID,l=typeof r===mn?r.call(a,{hash:{},data:n}):r),s+=dn(l)+')"\n								type="button"\n								aria-label="'+dn((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShareAria,typeof l===mn?l.apply(a):l))+'"\n						>\n							'+dn((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShare,typeof l===mn?l.apply(a):l))+'&nbsp;<i class="fa fa-share-alt ii ii-share"></i>\n						</button>\n						'}function en(a,n,e,l){var r,s,i,o="";return o+='\n						<footer>\n							<ul class="actions is-inline is-muted is-small list-unstyled">\n								<li>\n									<span class="icon is-normal">\n										<i class="ii ii-like" aria-hidden="true"></i>\n									</span>\n									<span aria-label="'+dn((r=l&&l.SystemText,r=null==r||r===!1?r:r.haveliked,typeof r===mn?r.apply(a):r))+'">',s=t.equals||a&&a.equals,i={hash:{},inverse:fn.program(80,ln,n),fn:fn.program(34,E,n),data:n},r=s?s.call(a,a&&a.LikeCount,"-1",i):un.call(a,"equals",a&&a.LikeCount,"-1",i),(r||0===r)&&(o+=r),o+="</span>\n								</li>\n								",s=t.equals||a&&a.equals,i={hash:{},inverse:fn.noop,fn:fn.programWithDepth(82,rn,n,e),data:n},r=s?s.call(a,(r=a&&a.Entity,null==r||r===!1?r:r.IsCommentsAllowed),"true",i):un.call(a,"equals",(r=a&&a.Entity,null==r||r===!1?r:r.IsCommentsAllowed),"true",i),(r||0===r)&&(o+=r),o+="\n							</ul>\n						</footer>\n					"}function ln(a,n){var e,l;return(l=t.LikeCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.LikeCount,e=typeof l===mn?l.call(a,{hash:{},data:n}):l),dn(e)}function rn(a,n,e){var l,r,s,i="";return i+='\n								<li>\n									<span class="icon is-normal">\n										<i class="ii ii-comments" aria-hidden="true"></i>\n									</span>\n									<span aria-label="'+dn((l=e&&e.SystemText,l=null==l||l===!1?l:l.havecommented,typeof l===mn?l.apply(a):l))+'">',r=t.equals||a&&a.equals,s={hash:{},inverse:fn.program(83,sn,n),fn:fn.program(34,E,n),data:n},l=r?r.call(a,(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s):un.call(a,"equals",(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s),(l||0===l)&&(i+=l),i+="</span>\n								</li>\n								"}function sn(a,n){var e,l;return(l=t.CommentCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.CommentCount,e=typeof l===mn?l.call(a,{hash:{},data:n}):l),dn(e)}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var on,cn,hn,pn="",un=t.helperMissing,dn=this.escapeExpression,fn=this,mn="function";return pn+='<ul class="list-unstyled widget-list has-thumbnail-overlay">\n	<li class="is-headline is-inverted gridster-wac">\n			<article class="card-inline">\n				',cn=t.when||n&&n.when,hn={hash:{},inverse:fn.program(4,c,l),fn:fn.program(1,i,l),data:l},on=cn?cn.call(n,"Headline.AssetID != -1",hn):un.call(n,"when","Headline.AssetID != -1",hn),(on||0===on)&&(pn+=on),pn+='\n				<div class="card-content">\n					<aside>\n						<ul class="list-unstyled list-inline inner-disc muted is-small">\n							<!-- This will return true if AuthorType is greater than 0, i.e. not a person -->\n							',on=t["if"].call(n,(on=n&&n.Headline,null==on||on===!1?on:on.AuthorType),{hash:{},inverse:fn.program(9,u,l),fn:fn.program(6,h,l),data:l}),(on||0===on)&&(pn+=on),pn+="\n\n							<li>\n								",cn=t.when||n&&n.when,hn={hash:{},inverse:fn.program(18,g,l),fn:fn.program(13,m,l),data:l},on=cn?cn.call(n,"Headline.Type != 'Event'",hn):un.call(n,"when","Headline.Type != 'Event'",hn),(on||0===on)&&(pn+=on),pn+='\n							</li>\n						</ul>\n					</aside>\n					<header>\n						<a class="is-w-a" target="'+dn((on=n&&n.Headline,on=null==on||on===!1?on:on.Target,typeof on===mn?on.apply(n):on))+'" href="'+dn((on=n&&n.Headline,on=null==on||on===!1?on:on.URL,typeof on===mn?on.apply(n):on))+'" dir="auto" ',on=t["if"].call(n,(on=n&&n.Headline,null==on||on===!1?on:on.ShowHoverCard),{hash:{},inverse:fn.noop,fn:fn.program(24,I,l),data:l}),(on||0===on)&&(pn+=on),pn+='>\n							<h5 class="is-ellipsis">',on=n&&n.Headline,on=null==on||on===!1?on:on.Title,on=typeof on===mn?on.apply(n):on,(on||0===on)&&(pn+=on),pn+="</h5>\n						</a>\n						",cn=t.equals||n&&n.equals,hn={hash:{},inverse:fn.programWithDepth(29,b,l,r),fn:fn.programWithDepth(26,w,l,r),data:l},on=cn?cn.call(n,(on=n&&n.Headline,null==on||on===!1?on:on.Type),"Event",hn):un.call(n,"equals",(on=n&&n.Headline,null==on||on===!1?on:on.Type),"Event",hn),(on||0===on)&&(pn+=on),pn+="\n					</header>\n					",on=t["if"].call(n,(on=n&&n.Headline,null==on||on===!1?on:on.Entity),{hash:{},inverse:fn.noop,fn:fn.programWithDepth(33,k,l,r,s),data:l}),(on||0===on)&&(pn+=on),pn+="\n				</div>\n			</article>\n		</li>\n	",on=t.each.call(n,n&&n.Items,{hash:{},inverse:fn.noop,fn:fn.programWithDepth(43,_,l,n,r),data:l}),(on||0===on)&&(pn+=on),pn+="\n</ul>\n"}),n.widgets_topicscontent_layout5=a(function(a,n,t,e,l){function r(a,n,e){var l,r,i,c="";return c+='\n		<li>\n			<article class="card-inline">\n				<div class="card-content">\n					<header>\n						<a target="',(r=t.Target)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Target,l=typeof r===y?r.call(a,{hash:{},data:n}):r),c+=g(l)+'" href="',(r=t.URL)?l=r.call(a,{hash:{},data:n}):(r=a&&a.URL,l=typeof r===y?r.call(a,{hash:{},data:n}):r),c+=g(l)+'" dir="auto" ',l=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:m.noop,fn:m.program(2,s,n),data:n}),(l||0===l)&&(c+=l),c+='>\n							<span class="icon">\n								<i class="fa fa-circle-o" role="presentation" aria-hidden="true"></i>\n							</span>\n							<h5 class="is-ellipsis">',(r=t.Title)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Title,l=typeof r===y?r.call(a,{hash:{},data:n}):r),(l||0===l)&&(c+=l),c+="</h5>\n						</a>\n						",r=t.equals||a&&a.equals,i={hash:{},inverse:m.programWithDepth(8,h,n,e),fn:m.programWithDepth(5,o,n,e),data:n},l=r?r.call(a,a&&a.Type,"Event",i):v.call(a,"equals",a&&a.Type,"Event",i),(l||0===l)&&(c+=l),c+="\n					</header>\n				</div>\n			</article>\n		</li>\n	"}function s(a,n){var e,l,r,s="";return s+=" ",l=t.hovercard||a&&a.hovercard,r={hash:{},inverse:m.noop,fn:m.program(3,i,n),data:n},e=l?l.call(a,a&&a.Type,a&&a.ID,r):v.call(a,"hovercard",a&&a.Type,a&&a.ID,r),(e||0===e)&&(s+=e),s+=" "}function i(){var a="";return a}function o(a,n,e){var l,r="";return r+="\n							",l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:m.noop,fn:m.programWithDepth(6,c,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n							"}function c(a,n,t){var e,l="";return l+="\n								<p>"+g((e=t&&t.SystemText,e=null==e||e===!1?e:e.Location,typeof e===y?e.apply(a):e))+": ",e=a&&a.Entity,e=null==e||e===!1?e:e.Location,e=typeof e===y?e.apply(a):e,(e||0===e)&&(l+=e),l+="</p>\n							"}function h(a,n,e){var l,r="";return r+="\n							",l=t["if"].call(a,(l=e&&e.Options,null==l||l===!1?l:l.IncludeSummary),{hash:{},inverse:m.noop,fn:m.program(9,p,n),data:n}),(l||0===l)&&(r+=l),r+="\n						"}function p(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,a&&a.Summary,{hash:{},inverse:m.noop,fn:m.program(10,u,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function u(a,n){var e,l,r="";return r+='\n									<p dir="auto">',(l=t.Summary)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Summary,e=typeof l===y?l.call(a,{hash:{},data:n}):l),(e||0===e)&&(r+=e),r+="</p>\n								"}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var d,f="",m=this,v=t.helperMissing,y="function",g=this.escapeExpression;return f+='<ul class="list-unstyled widget-list">\n	',d=t.each.call(n,n&&n.Items,{hash:{},inverse:m.noop,fn:m.programWithDepth(1,r,l,n),data:l}),(d||0===d)&&(f+=d),f+="\n</ul>\n"}),n.widgets_topicscontent_layout6=a(function(a,n,t,e,l,r){function s(a,n,e,l){var r,s,h,u="";return u+='\n		<li class="is-headline is-inverted gridster-wac">\n			<article class="card-inline">\n				<div class="thumbnail-container">\n					<img src="',r=t["if"].call(a,a&&a.AssetID,{hash:{},inverse:B.program(4,o,n),fn:B.program(2,i,n),data:n}),(r||0===r)&&(u+=r),u+='" style="object-position: 50% ',(s=t.BackgroundYpos)?r=s.call(a,{hash:{},data:n}):(s=a&&a.BackgroundYpos,r=typeof s===R?s.call(a,{hash:{},data:n}):s),u+=P(r)+'%;" alt="" role="presentation" class="thumbnail" data-object-fit="cover" loading="lazy"/>\n				</div>\n				<div class="card-content">\n					<aside>\n						<ul class="list-unstyled list-inline inner-disc muted is-small">\n							<!-- This will return true if AuthorType is greater than 0, i.e. not a person -->\n							',r=t["if"].call(a,a&&a.AuthorType,{hash:{},inverse:B.program(9,p,n),fn:B.program(6,c,n),data:n}),(r||0===r)&&(u+=r),u+="\n\n							<li>\n								",s=t.when||a&&a.when,h={hash:{},inverse:B.program(18,y,n),fn:B.program(13,f,n),data:n},r=s?s.call(a,"Type != 'Event'",h):U.call(a,"when","Type != 'Event'",h),(r||0===r)&&(u+=r),u+='\n							</li>\n						</ul>\n					</aside>\n					<header>\n						<a class="is-w-a" target="',(s=t.Target)?r=s.call(a,{hash:{},data:n}):(s=a&&a.Target,r=typeof s===R?s.call(a,{hash:{},data:n}):s),u+=P(r)+'" href="',(s=t.URL)?r=s.call(a,{hash:{},data:n}):(s=a&&a.URL,r=typeof s===R?s.call(a,{hash:{},data:n}):s),u+=P(r)+'" dir="auto" ',r=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:B.noop,fn:B.program(24,T,n),data:n}),(r||0===r)&&(u+=r),u+='>\n							<h5 class="is-ellipsis">',(s=t.Title)?r=s.call(a,{hash:{},data:n}):(s=a&&a.Title,r=typeof s===R?s.call(a,{hash:{},data:n}):s),(r||0===r)&&(u+=r),u+="</h5>\n						</a>\n\n						",s=t.equals||a&&a.equals,h={hash:{},inverse:B.programWithDepth(29,A,n,e),fn:B.programWithDepth(26,I,n,e),data:n},r=s?s.call(a,a&&a.Type,"Event",h):U.call(a,"equals",a&&a.Type,"Event",h),(r||0===r)&&(u+=r),u+="\n					</header>\n					",r=t["if"].call(a,a&&a.Entity,{hash:{},inverse:B.noop,fn:B.programWithDepth(33,q,n,e,l),data:n}),(r||0===r)&&(u+=r),u+="\n				</div>\n			</article>\n		</li>\n	"
}function i(a,n){var e,l,r;return l=t.asset||a&&a.asset,r={hash:{},data:n},e=l?l.call(a,a&&a.AssetID,7,r):U.call(a,"asset",a&&a.AssetID,7,r),e||0===e?e:""}function o(a,n){var e,l;return P((e=t.avatar||a&&a.avatar,l={hash:{},data:n},e?e.call(a,a&&a.Type,l):U.call(a,"avatar",a&&a.Type,l)))}function c(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,a&&a.Author,{hash:{},inverse:B.noop,fn:B.program(7,h,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function h(a,n){var e,l,r="";return r+='\n									<!-- Display a span instead of a link -->\n									<li class="is-author">\n										<span><strong>',(l=t.Author)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Author,e=typeof l===R?l.call(a,{hash:{},data:n}):l),r+=P(e)+"</strong></span>\n									</li>\n								"}function p(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,a&&a.Author,{hash:{},inverse:B.noop,fn:B.program(10,u,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function u(a,n){var e,l,r,s="";return s+='\n									<li class="is-author">\n										<a href="'+P((l=t.link||a&&a.link,r={hash:{},data:n},l?l.call(a,"Person",a&&a.AuthorID,r):U.call(a,"link","Person",a&&a.AuthorID,r)))+'" class="author" ',e=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:B.noop,fn:B.program(11,d,n),data:n}),(e||0===e)&&(s+=e),s+=">",(l=t.Author)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Author,e=typeof l===R?l.call(a,{hash:{},data:n}):l),s+=P(e)+"</a>\n									</li>\n								"}function d(a,n){var e,l,r="";return r+=' data-personid="',(l=t.AuthorID)?e=l.call(a,{hash:{},data:n}):(l=a&&a.AuthorID,e=typeof l===R?l.call(a,{hash:{},data:n}):l),r+=P(e)+'" '}function f(a,n){var e,l="";return l+='\n								<time class="timeago" datetime="',e=t["if"].call(a,a&&a.ShowUpdateDate,{hash:{},inverse:B.program(16,v,n),fn:B.program(14,m,n),data:n}),(e||0===e)&&(l+=e),l+='"></time>\n								'}function m(a,n){var e,l,r="";return r+=" ",(l=t.UpdateDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.UpdateDate,e=typeof l===R?l.call(a,{hash:{},data:n}):l),r+=P(e)+" "}function v(a,n){var e,l,r="";return r+=" ",(l=t.StartDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.StartDate,e=typeof l===R?l.call(a,{hash:{},data:n}):l),r+=P(e)+" "}function y(a,n){var e,l,r,s="";return s+="\n								",l=t.equals||a&&a.equals,r={hash:{},inverse:B.program(22,D,n),fn:B.program(19,g,n),data:n},e=l?l.call(a,(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r):U.call(a,"equals",(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r),(e||0===e)&&(s+=e),s+="\n								"}function g(a,n){var e,l,r,s="";return s+='\n								<span class="timeago">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:B.noop,fn:B.program(20,S,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.EndDate,r):U.call(a,"eventTimeString",a&&a.StartDate,a&&a.EndDate,r),(e||0===e)&&(s+=e),s+="</span>\n								"}function S(){var a="";return a}function D(a,n){var e,l,r,s="";return s+='\n								<span class="timeago">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:B.noop,fn:B.program(20,S,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.StartDate,r):U.call(a,"eventTimeString",a&&a.StartDate,a&&a.StartDate,r),(e||0===e)&&(s+=e),s+="</span>\n								"}function T(a,n){var e,l,r,s="";return s+=" ",l=t.hovercard||a&&a.hovercard,r={hash:{},inverse:B.noop,fn:B.program(20,S,n),data:n},e=l?l.call(a,a&&a.Type,a&&a.ID,r):U.call(a,"hovercard",a&&a.Type,a&&a.ID,r),(e||0===e)&&(s+=e),s+=" "}function I(a,n,e){var l,r="";return r+="\n							",l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:B.noop,fn:B.programWithDepth(27,w,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n							"}function w(a,n,t){var e,l="";return l+="\n								<p>"+P((e=t&&t.SystemText,e=null==e||e===!1?e:e.Location,typeof e===R?e.apply(a):e))+": ",e=a&&a.Entity,e=null==e||e===!1?e:e.Location,e=typeof e===R?e.apply(a):e,(e||0===e)&&(l+=e),l+="</p>\n							"}function A(a,n,e){var l,r="";return r+="\n							",l=t["if"].call(a,(l=e&&e.Options,null==l||l===!1?l:l.IncludeSummary),{hash:{},inverse:B.noop,fn:B.program(30,b,n),data:n}),(l||0===l)&&(r+=l),r+="\n						"}function b(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,a&&a.Summary,{hash:{},inverse:B.noop,fn:B.program(31,C,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function C(a,n){var e,l,r="";return r+='\n									<p dir="auto">',(l=t.Summary)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Summary,e=typeof l===R?l.call(a,{hash:{},data:n}):l),(e||0===e)&&(r+=e),r+="</p>\n								"}function q(a,n,e,l){var r,s,i,o="";return o+='\n					<footer>\n						<ul class="actions is-inline is-muted is-small list-unstyled">\n							<li>\n								<span class="icon is-normal">\n									<i class="ii ii-like" aria-hidden="true"></i>\n								</span>\n								<span aria-label="'+P((r=l&&l.SystemText,r=null==r||r===!1?r:r.haveliked,typeof r===R?r.apply(a):r))+'">',s=t.equals||a&&a.equals,i={hash:{},inverse:B.program(36,E,n),fn:B.program(34,k,n),data:n},r=s?s.call(a,a&&a.LikeCount,"-1",i):U.call(a,"equals",a&&a.LikeCount,"-1",i),(r||0===r)&&(o+=r),o+="</span>\n							</li>\n							",s=t.equals||a&&a.equals,i={hash:{},inverse:B.noop,fn:B.programWithDepth(38,x,n,e),data:n},r=s?s.call(a,(r=a&&a.Entity,null==r||r===!1?r:r.IsCommentsAllowed),"true",i):U.call(a,"equals",(r=a&&a.Entity,null==r||r===!1?r:r.IsCommentsAllowed),"true",i),(r||0===r)&&(o+=r),o+="\n						</ul>\n						",r=t["if"].call(a,a&&a.SocialAdvocacyItem,{hash:{},inverse:B.noop,fn:B.programWithDepth(41,W,n,e),data:n}),(r||0===r)&&(o+=r),o+="\n					</footer>\n					"}function k(){return"0"}function E(a,n){var e,l;return(l=t.LikeCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.LikeCount,e=typeof l===R?l.call(a,{hash:{},data:n}):l),P(e)}function x(a,n,e){var l,r,s,i="";return i+='\n							<li>\n								<span class="icon is-normal">\n									<i class="ii ii-comments" aria-hidden="true"></i>\n								</span>\n								<span aria-label="'+P((l=e&&e.SystemText,l=null==l||l===!1?l:l.havecommented,typeof l===R?l.apply(a):l))+'">',r=t.equals||a&&a.equals,s={hash:{},inverse:B.program(39,L,n),fn:B.program(34,k,n),data:n},l=r?r.call(a,(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s):U.call(a,"equals",(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s),(l||0===l)&&(i+=l),i+="</span>\n							</li>\n							"}function L(a,n){var e,l;return(l=t.CommentCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.CommentCount,e=typeof l===R?l.call(a,{hash:{},data:n}):l),P(e)}function W(a,n,e){var l,r,s="";return s+='\n						<div class="social-advocacy">\n							<button id="soc-adv-share-btn" \n									class="btn btn-primary btn-small" \n									onclick="Widgets.SocialAdvocacy_ShareClicked(',(r=t.ID)?l=r.call(a,{hash:{},data:n}):(r=a&&a.ID,l=typeof r===R?r.call(a,{hash:{},data:n}):r),s+=P(l)+')"\n									type="button"\n									aria-label="'+P((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShareAria,typeof l===R?l.apply(a):l))+'"\n							>\n								'+P((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShare,typeof l===R?l.apply(a):l))+'&nbsp;<i class="fa fa-share-alt ii ii-share"></i>\n							</button>\n						</div>\n						'}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var H,_="",U=t.helperMissing,P=this.escapeExpression,R="function",B=this;return _+='<ul class="list-unstyled widget-list has-thumbnail-overlay">\n	',H=t.each.call(n,n&&n.Items,{hash:{},inverse:B.noop,fn:B.programWithDepth(1,s,l,n,r),data:l}),(H||0===H)&&(_+=H),_+="\n</ul>\n"}),n.widgets_topicscontent_layout7=a(function(a,n,t,e,l,r){function s(a,n,e,l){var r,s,o,h="";return h+='\n		<li class="is-headline gridster-wac">\n			<article class="card-inline">\n				<div class="card-content">\n					<aside>\n						<ul class="list-unstyled list-inline inner-disc muted is-small">\n							<!-- This will return true if AuthorType is greater than 0, i.e. not a person -->\n							',r=t["if"].call(a,a&&a.AuthorType,{hash:{},inverse:U.program(5,c,n),fn:U.program(2,i,n),data:n}),(r||0===r)&&(h+=r),h+="\n\n							<li>\n								",s=t.when||a&&a.when,o={hash:{},inverse:U.program(14,m,n),fn:U.program(9,u,n),data:n},r=s?s.call(a,"Type != 'Event'",o):P.call(a,"when","Type != 'Event'",o),(r||0===r)&&(h+=r),h+='\n							</li>\n						</ul>\n					</aside>\n					<header>\n						<a class="is-w-a" target="',(s=t.Target)?r=s.call(a,{hash:{},data:n}):(s=a&&a.Target,r=typeof s===H?s.call(a,{hash:{},data:n}):s),h+=_(r)+'" href="',(s=t.URL)?r=s.call(a,{hash:{},data:n}):(s=a&&a.URL,r=typeof s===H?s.call(a,{hash:{},data:n}):s),h+=_(r)+'" dir="auto" ',r=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:U.noop,fn:U.program(20,S,n),data:n}),(r||0===r)&&(h+=r),h+='>\n							<h5 class="is-ellipsis">',(s=t.Title)?r=s.call(a,{hash:{},data:n}):(s=a&&a.Title,r=typeof s===H?s.call(a,{hash:{},data:n}):s),(r||0===r)&&(h+=r),h+="</h5>\n						</a>\n						",s=t.equals||a&&a.equals,o={hash:{},inverse:U.programWithDepth(25,I,n,e),fn:U.programWithDepth(22,D,n,e),data:n},r=s?s.call(a,a&&a.Type,"Event",o):P.call(a,"equals",a&&a.Type,"Event",o),(r||0===r)&&(h+=r),h+="\n					</header>\n					",r=t["if"].call(a,a&&a.Entity,{hash:{},inverse:U.noop,fn:U.programWithDepth(29,b,n,e,l),data:n}),(r||0===r)&&(h+=r),h+="\n				</div>\n			</article>\n		</li>\n	"}function i(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,a&&a.Author,{hash:{},inverse:U.noop,fn:U.program(3,o,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function o(a,n){var e,l,r="";return r+='\n									<!-- Display a span instead of a link -->\n									<li class="auth is-author">\n										<span><strong>',(l=t.Author)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Author,e=typeof l===H?l.call(a,{hash:{},data:n}):l),r+=_(e)+"</strong></span>\n									</li>\n								"}function c(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,a&&a.Author,{hash:{},inverse:U.noop,fn:U.program(6,h,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function h(a,n){var e,l,r,s="";return s+='\n									<li class="is-author">\n										<a href="'+_((l=t.link||a&&a.link,r={hash:{},data:n},l?l.call(a,"Person",a&&a.AuthorID,r):P.call(a,"link","Person",a&&a.AuthorID,r)))+'" class="author" ',e=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:U.noop,fn:U.program(7,p,n),data:n}),(e||0===e)&&(s+=e),s+=">",(l=t.Author)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Author,e=typeof l===H?l.call(a,{hash:{},data:n}):l),s+=_(e)+"</a>\n									</li>\n								"}function p(a,n){var e,l,r="";return r+=' data-personid="',(l=t.AuthorID)?e=l.call(a,{hash:{},data:n}):(l=a&&a.AuthorID,e=typeof l===H?l.call(a,{hash:{},data:n}):l),r+=_(e)+'" '}function u(a,n){var e,l="";return l+='\n								<time class="timeago" datetime="',e=t["if"].call(a,a&&a.ShowUpdateDate,{hash:{},inverse:U.program(12,f,n),fn:U.program(10,d,n),data:n}),(e||0===e)&&(l+=e),l+='"></time>\n								'}function d(a,n){var e,l,r="";return r+=" ",(l=t.UpdateDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.UpdateDate,e=typeof l===H?l.call(a,{hash:{},data:n}):l),r+=_(e)+" "}function f(a,n){var e,l,r="";return r+=" ",(l=t.StartDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.StartDate,e=typeof l===H?l.call(a,{hash:{},data:n}):l),r+=_(e)+" "}function m(a,n){var e,l,r,s="";return s+="\n								",l=t.equals||a&&a.equals,r={hash:{},inverse:U.program(18,g,n),fn:U.program(15,v,n),data:n},e=l?l.call(a,(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r):P.call(a,"equals",(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r),(e||0===e)&&(s+=e),s+="\n								"}function v(a,n){var e,l,r,s="";return s+='\n								<span class="timeago">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:U.noop,fn:U.program(16,y,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.EndDate,r):P.call(a,"eventTimeString",a&&a.StartDate,a&&a.EndDate,r),(e||0===e)&&(s+=e),s+="</span>\n								"}function y(){var a="";return a}function g(a,n){var e,l,r,s="";return s+='\n								<span class="timeago">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:U.noop,fn:U.program(16,y,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.StartDate,r):P.call(a,"eventTimeString",a&&a.StartDate,a&&a.StartDate,r),(e||0===e)&&(s+=e),s+="</span>\n								"}function S(a,n){var e,l,r,s="";return s+=" ",l=t.hovercard||a&&a.hovercard,r={hash:{},inverse:U.noop,fn:U.program(16,y,n),data:n},e=l?l.call(a,a&&a.Type,a&&a.ID,r):P.call(a,"hovercard",a&&a.Type,a&&a.ID,r),(e||0===e)&&(s+=e),s+=" "}function D(a,n,e){var l,r="";return r+="\n							",l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:U.noop,fn:U.programWithDepth(23,T,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n							"}function T(a,n,t){var e,l="";return l+="\n								<p>"+_((e=t&&t.SystemText,e=null==e||e===!1?e:e.Location,typeof e===H?e.apply(a):e))+": ",e=a&&a.Entity,e=null==e||e===!1?e:e.Location,e=typeof e===H?e.apply(a):e,(e||0===e)&&(l+=e),l+="</p>\n							"}function I(a,n,e){var l,r="";return r+="\n							",l=t["if"].call(a,(l=e&&e.Options,null==l||l===!1?l:l.IncludeSummary),{hash:{},inverse:U.noop,fn:U.program(26,w,n),data:n}),(l||0===l)&&(r+=l),r+="\n						"}function w(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,a&&a.Summary,{hash:{},inverse:U.noop,fn:U.program(27,A,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function A(a,n){var e,l,r="";return r+='\n									<p dir="auto">',(l=t.Summary)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Summary,e=typeof l===H?l.call(a,{hash:{},data:n}):l),(e||0===e)&&(r+=e),r+="</p>\n								"}function b(a,n,e,l){var r,s,i,o="";return o+='\n					<footer>\n						<ul class="actions is-inline is-muted is-small list-unstyled">\n							<li>\n								<span class="icon is-normal">\n									<i class="ii ii-like" aria-hidden="true"></i>\n								</span>\n								<span aria-label="'+_((r=l&&l.SystemText,r=null==r||r===!1?r:r.haveliked,typeof r===H?r.apply(a):r))+'">',s=t.equals||a&&a.equals,i={hash:{},inverse:U.program(32,q,n),fn:U.program(30,C,n),data:n},r=s?s.call(a,a&&a.LikeCount,"-1",i):P.call(a,"equals",a&&a.LikeCount,"-1",i),(r||0===r)&&(o+=r),o+="</span>\n							</li>\n							",s=t.equals||a&&a.equals,i={hash:{},inverse:U.noop,fn:U.programWithDepth(34,k,n,e),data:n},r=s?s.call(a,(r=a&&a.Entity,null==r||r===!1?r:r.IsCommentsAllowed),"true",i):P.call(a,"equals",(r=a&&a.Entity,null==r||r===!1?r:r.IsCommentsAllowed),"true",i),(r||0===r)&&(o+=r),o+="\n						</ul>\n						",r=t["if"].call(a,a&&a.SocialAdvocacyItem,{hash:{},inverse:U.noop,fn:U.programWithDepth(37,x,n,e),data:n}),(r||0===r)&&(o+=r),o+="\n					</footer>\n					"}function C(){return"0"}function q(a,n){var e,l;return(l=t.LikeCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.LikeCount,e=typeof l===H?l.call(a,{hash:{},data:n}):l),_(e)}function k(a,n,e){var l,r,s,i="";return i+='\n							<li>\n								<span class="icon is-normal">\n									<i class="ii ii-comments" aria-hidden="true"></i>\n								</span>\n								<span aria-label="'+_((l=e&&e.SystemText,l=null==l||l===!1?l:l.havecommented,typeof l===H?l.apply(a):l))+'">',r=t.equals||a&&a.equals,s={hash:{},inverse:U.program(35,E,n),fn:U.program(30,C,n),data:n},l=r?r.call(a,(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s):P.call(a,"equals",(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s),(l||0===l)&&(i+=l),i+="</span>\n							</li>\n							"}function E(a,n){var e,l;return(l=t.CommentCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.CommentCount,e=typeof l===H?l.call(a,{hash:{},data:n}):l),_(e)}function x(a,n,e){var l,r,s="";return s+='\n						<button id="soc-adv-share-btn" \n								class="btn btn-primary btn-small" \n								onclick="Widgets.SocialAdvocacy_ShareClicked(',(r=t.ID)?l=r.call(a,{hash:{},data:n}):(r=a&&a.ID,l=typeof r===H?r.call(a,{hash:{},data:n}):r),s+=_(l)+')"\n								type="button"\n								aria-label="'+_((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShareAria,typeof l===H?l.apply(a):l))+'"\n						>\n							'+_((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShare,typeof l===H?l.apply(a):l))+'&nbsp;<i class="fa fa-share-alt ii ii-share"></i>\n						</button>\n						'}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var L,W="",H="function",_=this.escapeExpression,U=this,P=t.helperMissing;return W+='<ul class="list-unstyled widget-list">\n	',L=t.each.call(n,n&&n.Items,{hash:{},inverse:U.noop,fn:U.programWithDepth(1,s,l,n,r),data:l}),(L||0===L)&&(W+=L),W+="\n</ul>\n"}),n.widgets_topicscontent_layout8=a(function(a,n,t,e,l,r){function s(a,n,e,l){var r,s,o,c="";return c+='\n		<li class="gridster-wac">\n			<article class="card-inline">\n				\n				',s=t.when||a&&a.when,o={hash:{},inverse:M.program(7,h,n),fn:M.program(2,i,n),data:n},r=s?s.call(a,"AssetID != -1",o):R.call(a,"when","AssetID != -1",o),(r||0===r)&&(c+=r),c+='\n\n				<div class="card-content">\n					<aside>\n						<ul class="list-unstyled list-inline inner-disc muted is-small">\n							<!-- This will return true if AuthorType is greater than 0, i.e. not a person -->\n							',r=t["if"].call(a,a&&a.AuthorType,{hash:{},inverse:M.program(12,d,n),fn:M.program(9,p,n),data:n}),(r||0===r)&&(c+=r),c+="\n\n							<li>\n								",s=t.when||a&&a.when,o={hash:{},inverse:M.program(21,S,n),fn:M.program(16,v,n),data:n},r=s?s.call(a,"Type != 'Event'",o):R.call(a,"when","Type != 'Event'",o),(r||0===r)&&(c+=r),c+='\n							</li>\n						</ul>\n					</aside>\n					<header>\n						<a class="is-w-a" target="',(s=t.Target)?r=s.call(a,{hash:{},data:n}):(s=a&&a.Target,r=typeof s===O?s.call(a,{hash:{},data:n}):s),c+=B(r)+'" href="',(s=t.URL)?r=s.call(a,{hash:{},data:n}):(s=a&&a.URL,r=typeof s===O?s.call(a,{hash:{},data:n}):s),c+=B(r)+'" dir="auto" ',r=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:M.noop,fn:M.program(27,w,n),data:n}),(r||0===r)&&(c+=r),c+=">\n							<h5>",(s=t.Title)?r=s.call(a,{hash:{},data:n}):(s=a&&a.Title,r=typeof s===O?s.call(a,{hash:{},data:n}):s),(r||0===r)&&(c+=r),c+="</h5>\n						</a>\n\n						",s=t.equals||a&&a.equals,o={hash:{},inverse:M.programWithDepth(32,C,n,e),fn:M.programWithDepth(29,A,n,e),data:n},r=s?s.call(a,a&&a.Type,"Event",o):R.call(a,"equals",a&&a.Type,"Event",o),(r||0===r)&&(c+=r),c+="\n					</header>\n					",r=t["if"].call(a,a&&a.Entity,{hash:{},inverse:M.noop,fn:M.programWithDepth(38,x,n,e,l),data:n}),(r||0===r)&&(c+=r),c+="\n				</div>\n			</article>\n		</li>\n	"}function i(a,n){var e,l,r="";return r+='\n				<div class="thumbnail-container">\n					<img src="',e=t["if"].call(a,a&&a.AssetID,{hash:{},inverse:M.program(5,c,n),fn:M.program(3,o,n),data:n}),(e||0===e)&&(r+=e),r+='" style="object-position: 50% ',(l=t.BackgroundYpos)?e=l.call(a,{hash:{},data:n}):(l=a&&a.BackgroundYpos,e=typeof l===O?l.call(a,{hash:{},data:n}):l),r+=B(e)+'%;" alt="" role="presentation" class="thumbnail" data-object-fit="cover" loading="lazy" />\n				</div>\n				'}function o(a,n){var e,l,r;return l=t.asset||a&&a.asset,r={hash:{},data:n},e=l?l.call(a,a&&a.AssetID,7,r):R.call(a,"asset",a&&a.AssetID,7,r),e||0===e?e:""}function c(a,n){var e,l;return B((e=t.avatar||a&&a.avatar,l={hash:{},data:n},e?e.call(a,a&&a.Type,l):R.call(a,"avatar",a&&a.Type,l)))}function h(a,n){var e,l,r="";return r+='\n					<div role="presentation" class="icon-container is-large"><span class="icon is-medium"><i class="ii ',(l=t.AssociatedIcon)?e=l.call(a,{hash:{},data:n}):(l=a&&a.AssociatedIcon,e=typeof l===O?l.call(a,{hash:{},data:n}):l),r+=B(e)+'"></i></span></div>\n				'}function p(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,a&&a.Author,{hash:{},inverse:M.noop,fn:M.program(10,u,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function u(a,n){var e,l,r="";return r+='\n									<!-- Display a span instead of a link -->\n									<li class="is-author">\n										<span><strong>',(l=t.Author)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Author,e=typeof l===O?l.call(a,{hash:{},data:n}):l),r+=B(e)+"</strong></span>\n									</li>\n								"}function d(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,a&&a.Author,{hash:{},inverse:M.noop,fn:M.program(13,f,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function f(a,n){var e,l,r,s="";return s+='\n									<li class="is-author">\n										<a href="'+B((l=t.link||a&&a.link,r={hash:{},data:n},l?l.call(a,"Person",a&&a.AuthorID,r):R.call(a,"link","Person",a&&a.AuthorID,r)))+'" class="author" ',e=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:M.noop,fn:M.program(14,m,n),data:n}),(e||0===e)&&(s+=e),s+=">",(l=t.Author)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Author,e=typeof l===O?l.call(a,{hash:{},data:n}):l),s+=B(e)+"</a>\n									</li>\n								"}function m(a,n){var e,l,r="";return r+=' data-personid="',(l=t.AuthorID)?e=l.call(a,{hash:{},data:n}):(l=a&&a.AuthorID,e=typeof l===O?l.call(a,{hash:{},data:n}):l),r+=B(e)+'" '}function v(a,n){var e,l="";return l+='\n								<time class="timeago" datetime="',e=t["if"].call(a,a&&a.ShowUpdateDate,{hash:{},inverse:M.program(19,g,n),fn:M.program(17,y,n),data:n}),(e||0===e)&&(l+=e),l+='"></time>\n								'}function y(a,n){var e,l,r="";return r+=" ",(l=t.UpdateDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.UpdateDate,e=typeof l===O?l.call(a,{hash:{},data:n}):l),r+=B(e)+" "}function g(a,n){var e,l,r="";return r+=" ",(l=t.StartDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.StartDate,e=typeof l===O?l.call(a,{hash:{},data:n}):l),r+=B(e)+" "}function S(a,n){var e,l,r,s="";return s+="\n								",l=t.equals||a&&a.equals,r={hash:{},inverse:M.program(25,I,n),fn:M.program(22,D,n),data:n},e=l?l.call(a,(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r):R.call(a,"equals",(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r),(e||0===e)&&(s+=e),s+="\n								"}function D(a,n){var e,l,r,s="";return s+='\n								<span class="timeago">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:M.noop,fn:M.program(23,T,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.EndDate,r):R.call(a,"eventTimeString",a&&a.StartDate,a&&a.EndDate,r),(e||0===e)&&(s+=e),s+="</span>\n								"}function T(){var a="";return a}function I(a,n){var e,l,r,s="";return s+='\n								<span class="timeago">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:M.noop,fn:M.program(23,T,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.StartDate,r):R.call(a,"eventTimeString",a&&a.StartDate,a&&a.StartDate,r),(e||0===e)&&(s+=e),s+="</span>\n								"}function w(a,n){var e,l,r,s="";return s+=" ",l=t.hovercard||a&&a.hovercard,r={hash:{},inverse:M.noop,fn:M.program(23,T,n),data:n},e=l?l.call(a,a&&a.Type,a&&a.ID,r):R.call(a,"hovercard",a&&a.Type,a&&a.ID,r),(e||0===e)&&(s+=e),s+=" "}function A(a,n,e){var l,r="";return r+="\n							",l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:M.noop,fn:M.programWithDepth(30,b,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n							"}function b(a,n,t){var e,l="";return l+="\n								<p>"+B((e=t&&t.SystemText,e=null==e||e===!1?e:e.Location,typeof e===O?e.apply(a):e))+": ",e=a&&a.Entity,e=null==e||e===!1?e:e.Location,e=typeof e===O?e.apply(a):e,(e||0===e)&&(l+=e),l+="</p>\n							"}function C(a,n,e){var l,r="";return r+="\n							",l=t["if"].call(a,(l=e&&e.Options,null==l||l===!1?l:l.IncludeSummary),{hash:{},inverse:M.noop,fn:M.program(33,q,n),data:n}),(l||0===l)&&(r+=l),r+="\n							",l=t["if"].call(a,a&&a.SocialAdvocacyItem,{hash:{},inverse:M.noop,fn:M.programWithDepth(36,E,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n						"}function q(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,a&&a.Summary,{hash:{},inverse:M.noop,fn:M.program(34,k,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function k(a,n){var e,l,r="";return r+='\n									<p dir="auto">',(l=t.Summary)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Summary,e=typeof l===O?l.call(a,{hash:{},data:n}):l),(e||0===e)&&(r+=e),r+="</p>\n								"}function E(a,n,e){var l,r,s="";return s+='\n								<button id="soc-adv-share-btn"\n										class="btn btn-primary btn-small" \n										onclick="Widgets.SocialAdvocacy_ShareClicked(',(r=t.ID)?l=r.call(a,{hash:{},data:n}):(r=a&&a.ID,l=typeof r===O?r.call(a,{hash:{},data:n}):r),s+=B(l)+')"\n										type="button"\n										aria-label="'+B((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShareAria,typeof l===O?l.apply(a):l))+'"\n								>\n									'+B((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShare,typeof l===O?l.apply(a):l))+'&nbsp;<i class="fa fa-share-alt ii ii-share"></i>\n								</button>\n							'}function x(a,n,e,l){var r,s,i,o="";return o+='\n						<footer>\n							<ul class="actions is-inline is-muted is-small list-unstyled">\n								<li>\n									<span class="icon is-normal">\n										<i class="ii ii-like" aria-hidden="true"></i>\n									</span>\n									<span aria-label="'+B((r=l&&l.SystemText,r=null==r||r===!1?r:r.haveliked,typeof r===O?r.apply(a):r))+'">',s=t.equals||a&&a.equals,i={hash:{},inverse:M.program(41,W,n),fn:M.program(39,L,n),data:n},r=s?s.call(a,a&&a.LikeCount,"-1",i):R.call(a,"equals",a&&a.LikeCount,"-1",i),(r||0===r)&&(o+=r),o+="</span>\n								</li>\n								",s=t.equals||a&&a.equals,i={hash:{},inverse:M.noop,fn:M.programWithDepth(43,H,n,e),data:n},r=s?s.call(a,(r=a&&a.Entity,null==r||r===!1?r:r.IsCommentsAllowed),"true",i):R.call(a,"equals",(r=a&&a.Entity,null==r||r===!1?r:r.IsCommentsAllowed),"true",i),(r||0===r)&&(o+=r),o+="\n							</ul>\n						</footer>\n					"}function L(){return"0"}function W(a,n){var e,l;return(l=t.LikeCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.LikeCount,e=typeof l===O?l.call(a,{hash:{},data:n}):l),B(e)}function H(a,n,e){var l,r,s,i="";return i+='\n								<li>\n									<span class="icon is-normal">\n										<i class="ii ii-comments" aria-hidden="true"></i>\n									</span>\n									<span aria-label="'+B((l=e&&e.SystemText,l=null==l||l===!1?l:l.havecommented,typeof l===O?l.apply(a):l))+'">',r=t.equals||a&&a.equals,s={hash:{},inverse:M.program(44,_,n),fn:M.program(39,L,n),data:n},l=r?r.call(a,(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s):R.call(a,"equals",(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s),(l||0===l)&&(i+=l),i+="</span>\n								</li>\n								"}function _(a,n){var e,l;return(l=t.CommentCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.CommentCount,e=typeof l===O?l.call(a,{hash:{},data:n}):l),B(e)}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var U,P="",R=t.helperMissing,B=this.escapeExpression,M=this,O="function";return P+='<ul class="list-unstyled widget-list has-thumbnail-overlay">\n	',U=t.each.call(n,n&&n.Items,{hash:{},inverse:M.noop,fn:M.programWithDepth(1,s,l,n,r),data:l}),(U||0===U)&&(P+=U),P+="\n</ul>\n"}),n.widgets_topicscontent_layout9=a(function(a,n,t,e,l,r){function s(a,n,e,l){var r,s,o,c="";return c+='\n		<li class="gridster-wac">\n			<article class="card-inline">\n\n				',s=t.when||a&&a.when,o={hash:{},inverse:B.noop,fn:B.program(2,i,n),data:n},r=s?s.call(a,"AssetID != -1",o):P.call(a,"when","AssetID != -1",o),(r||0===r)&&(c+=r),c+='\n				\n				<div class="card-content">\n					<aside>\n						<ul class="list-unstyled list-inline inner-disc muted is-small">\n\n							<!-- This will return true if AuthorType is greater than 0, i.e. not a person -->\n							',r=t["if"].call(a,a&&a.AuthorType,{hash:{},inverse:B.program(10,u,n),fn:B.program(7,h,n),data:n}),(r||0===r)&&(c+=r),c+="\n\n							<li>\n								",s=t.when||a&&a.when,o={hash:{},inverse:B.program(19,g,n),fn:B.program(14,m,n),data:n},r=s?s.call(a,"Type != 'Event'",o):P.call(a,"when","Type != 'Event'",o),(r||0===r)&&(c+=r),c+='\n							</li>\n						</ul>\n					</aside>\n					<header>\n						<a class="is-w-a" target="',(s=t.Target)?r=s.call(a,{hash:{},data:n}):(s=a&&a.Target,r=typeof s===M?s.call(a,{hash:{},data:n}):s),c+=R(r)+'" href="',(s=t.URL)?r=s.call(a,{hash:{},data:n}):(s=a&&a.URL,r=typeof s===M?s.call(a,{hash:{},data:n}):s),c+=R(r)+'" dir="auto" ',r=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:B.noop,fn:B.program(25,I,n),data:n}),(r||0===r)&&(c+=r),c+='>\n							<h5 class="is-ellipsis">',(s=t.Title)?r=s.call(a,{hash:{},data:n}):(s=a&&a.Title,r=typeof s===M?s.call(a,{hash:{},data:n}):s),(r||0===r)&&(c+=r),c+="</h5>\n						</a>\n\n						",s=t.equals||a&&a.equals,o={hash:{},inverse:B.programWithDepth(30,b,n,e),fn:B.programWithDepth(27,w,n,e),data:n},r=s?s.call(a,a&&a.Type,"Event",o):P.call(a,"equals",a&&a.Type,"Event",o),(r||0===r)&&(c+=r),c+="\n					</header>\n					",r=t["if"].call(a,a&&a.Entity,{hash:{},inverse:B.noop,fn:B.programWithDepth(34,k,n,e,l),data:n}),(r||0===r)&&(c+=r),c+="\n				</div>\n			</article>\n		</li>\n	"}function i(a,n){var e,l,r="";return r+='\n					<div class="thumbnail-container">\n						<img src="',e=t["if"].call(a,a&&a.AssetID,{hash:{},inverse:B.program(5,c,n),fn:B.program(3,o,n),data:n}),(e||0===e)&&(r+=e),r+='" style="object-position: 50% ',(l=t.BackgroundYpos)?e=l.call(a,{hash:{},data:n}):(l=a&&a.BackgroundYpos,e=typeof l===M?l.call(a,{hash:{},data:n}):l),r+=R(e)+'%;" alt="" role="presentation" class="thumbnail" data-object-fit="cover" loading="lazy"/>\n					</div>\n				'}function o(a,n){var e,l,r;return l=t.asset||a&&a.asset,r={hash:{},data:n},e=l?l.call(a,a&&a.AssetID,7,r):P.call(a,"asset",a&&a.AssetID,7,r),e||0===e?e:""}function c(a,n){var e,l;return R((e=t.avatar||a&&a.avatar,l={hash:{},data:n},e?e.call(a,a&&a.Type,l):P.call(a,"avatar",a&&a.Type,l)))}function h(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,a&&a.Author,{hash:{},inverse:B.noop,fn:B.program(8,p,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function p(a,n){var e,l,r="";return r+='\n									<!-- Display a span instead of a link -->\n									<li class="is-author">\n										<span><strong>',(l=t.Author)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Author,e=typeof l===M?l.call(a,{hash:{},data:n}):l),r+=R(e)+"</strong></span>\n									</li>\n								"}function u(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,a&&a.Author,{hash:{},inverse:B.noop,fn:B.program(11,d,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function d(a,n){var e,l,r,s="";return s+='\n									<li class="is-author">\n										<a href="'+R((l=t.link||a&&a.link,r={hash:{},data:n},l?l.call(a,"Person",a&&a.AuthorID,r):P.call(a,"link","Person",a&&a.AuthorID,r)))+'" class="author" ',e=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:B.noop,fn:B.program(12,f,n),data:n}),(e||0===e)&&(s+=e),s+=">",(l=t.Author)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Author,e=typeof l===M?l.call(a,{hash:{},data:n}):l),s+=R(e)+"</a>\n									</li>\n								"}function f(a,n){var e,l,r="";return r+=' data-personid="',(l=t.AuthorID)?e=l.call(a,{hash:{},data:n}):(l=a&&a.AuthorID,e=typeof l===M?l.call(a,{hash:{},data:n}):l),r+=R(e)+'" '}function m(a,n){var e,l="";return l+='\n								<time class="timeago" datetime="',e=t["if"].call(a,a&&a.ShowUpdateDate,{hash:{},inverse:B.program(17,y,n),fn:B.program(15,v,n),data:n}),(e||0===e)&&(l+=e),l+='"></time>\n								'}function v(a,n){var e,l,r="";return r+=" ",(l=t.UpdateDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.UpdateDate,e=typeof l===M?l.call(a,{hash:{},data:n}):l),r+=R(e)+" "}function y(a,n){var e,l,r="";return r+=" ",(l=t.StartDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.StartDate,e=typeof l===M?l.call(a,{hash:{},data:n}):l),r+=R(e)+" "}function g(a,n){var e,l,r,s="";return s+="\n								",l=t.equals||a&&a.equals,r={hash:{},inverse:B.program(23,T,n),fn:B.program(20,S,n),data:n},e=l?l.call(a,(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r):P.call(a,"equals",(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r),(e||0===e)&&(s+=e),s+="\n								"}function S(a,n){var e,l,r,s="";return s+='\n								<span class="timeago">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:B.noop,fn:B.program(21,D,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.EndDate,r):P.call(a,"eventTimeString",a&&a.StartDate,a&&a.EndDate,r),(e||0===e)&&(s+=e),s+="</span>\n								"}function D(){var a="";return a}function T(a,n){var e,l,r,s="";return s+='\n								<span class="timeago">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:B.noop,fn:B.program(21,D,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.StartDate,r):P.call(a,"eventTimeString",a&&a.StartDate,a&&a.StartDate,r),(e||0===e)&&(s+=e),s+="</span>\n								"}function I(a,n){var e,l,r,s="";return s+=" ",l=t.hovercard||a&&a.hovercard,r={hash:{},inverse:B.noop,fn:B.program(21,D,n),data:n},e=l?l.call(a,a&&a.Type,a&&a.ID,r):P.call(a,"hovercard",a&&a.Type,a&&a.ID,r),(e||0===e)&&(s+=e),s+=" "}function w(a,n,e){var l,r="";return r+="\n							",l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:B.noop,fn:B.programWithDepth(28,A,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n							"
}function A(a,n,t){var e,l="";return l+="\n								<p>"+R((e=t&&t.SystemText,e=null==e||e===!1?e:e.Location,typeof e===M?e.apply(a):e))+": ",e=a&&a.Entity,e=null==e||e===!1?e:e.Location,e=typeof e===M?e.apply(a):e,(e||0===e)&&(l+=e),l+="</p>\n							"}function b(a,n,e){var l,r="";return r+="\n							",l=t["if"].call(a,(l=e&&e.Options,null==l||l===!1?l:l.IncludeSummary),{hash:{},inverse:B.noop,fn:B.program(31,C,n),data:n}),(l||0===l)&&(r+=l),r+="\n						"}function C(a,n){var e,l="";return l+="\n								",e=t["if"].call(a,a&&a.Summary,{hash:{},inverse:B.noop,fn:B.program(32,q,n),data:n}),(e||0===e)&&(l+=e),l+="\n							"}function q(a,n){var e,l,r="";return r+='\n									<p dir="auto">',(l=t.Summary)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Summary,e=typeof l===M?l.call(a,{hash:{},data:n}):l),(e||0===e)&&(r+=e),r+="</p>\n								"}function k(a,n,e,l){var r,s,i,o="";return o+='\n					<footer>\n						<ul class="actions is-inline is-muted is-small list-unstyled">\n							<li>\n								<span class="icon is-normal">\n									<i class="ii ii-like" aria-hidden="true"></i>\n								</span>\n								<span aria-label="'+R((r=l&&l.SystemText,r=null==r||r===!1?r:r.haveliked,typeof r===M?r.apply(a):r))+'">',s=t.equals||a&&a.equals,i={hash:{},inverse:B.program(37,x,n),fn:B.program(35,E,n),data:n},r=s?s.call(a,a&&a.LikeCount,"-1",i):P.call(a,"equals",a&&a.LikeCount,"-1",i),(r||0===r)&&(o+=r),o+="</span>\n							</li>\n							",s=t.equals||a&&a.equals,i={hash:{},inverse:B.noop,fn:B.programWithDepth(39,L,n,e),data:n},r=s?s.call(a,(r=a&&a.Entity,null==r||r===!1?r:r.IsCommentsAllowed),"true",i):P.call(a,"equals",(r=a&&a.Entity,null==r||r===!1?r:r.IsCommentsAllowed),"true",i),(r||0===r)&&(o+=r),o+="\n						</ul>\n						",r=t["if"].call(a,a&&a.SocialAdvocacyItem,{hash:{},inverse:B.noop,fn:B.programWithDepth(42,H,n,e),data:n}),(r||0===r)&&(o+=r),o+="\n					</footer>\n					"}function E(){return"0"}function x(a,n){var e,l;return(l=t.LikeCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.LikeCount,e=typeof l===M?l.call(a,{hash:{},data:n}):l),R(e)}function L(a,n,e){var l,r,s,i="";return i+='\n							<li>\n								<span class="icon is-normal">\n									<i class="ii ii-comments" aria-hidden="true"></i>\n								</span>\n								<span aria-label="'+R((l=e&&e.SystemText,l=null==l||l===!1?l:l.havecommented,typeof l===M?l.apply(a):l))+'">',r=t.equals||a&&a.equals,s={hash:{},inverse:B.program(40,W,n),fn:B.program(35,E,n),data:n},l=r?r.call(a,(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s):P.call(a,"equals",(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s),(l||0===l)&&(i+=l),i+="</span>\n							</li>\n							"}function W(a,n){var e,l;return(l=t.CommentCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.CommentCount,e=typeof l===M?l.call(a,{hash:{},data:n}):l),R(e)}function H(a,n,e){var l,r,s="";return s+='\n						<button id="soc-adv-share-btn"\n								class="btn btn-primary btn-small" \n								onclick="Widgets.SocialAdvocacy_ShareClicked(',(r=t.ID)?l=r.call(a,{hash:{},data:n}):(r=a&&a.ID,l=typeof r===M?r.call(a,{hash:{},data:n}):r),s+=R(l)+')"\n								type="button"\n								aria-label="'+R((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShareAria,typeof l===M?l.apply(a):l))+'"\n						>\n							'+R((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShare,typeof l===M?l.apply(a):l))+'&nbsp;<i class="fa fa-share-alt ii ii-share"></i>\n						</button>\n						'}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var _,U="",P=t.helperMissing,R=this.escapeExpression,B=this,M="function";return U+='<ul class="list-unstyled widget-list has-thumbnail-overlay">\n	',_=t.each.call(n,n&&n.Items,{hash:{},inverse:B.noop,fn:B.programWithDepth(1,s,l,n,r),data:l}),(_||0===_)&&(U+=_),U+="\n</ul>\n"}),n.widgets_topicscontent_list=a(function(a,n,t,e,l){function r(a,n,e){var l,r,c,h="";return h+='\n	<li class="',l=t["if"].call(a,a&&a.IsKey,{hash:{},inverse:N.program(4,i,n),fn:N.program(2,s,n),data:n}),(l||0===l)&&(h+=l),h+=' gridster-wac">\n		',r=t.when||a&&a.when,c={hash:{},inverse:N.program(11,p,n),fn:N.program(6,o,n),data:n},l=r?r.call(a,"AssetID != -1",c):M.call(a,"when","AssetID != -1",c),(l||0===l)&&(h+=l),h+='\n		<div class="content-widget-list-details-container">\n			<div dir="auto">\n				<a class="is-w-a" target="',(r=t.Target)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Target,l=typeof r===F?r.call(a,{hash:{},data:n}):r),h+=O(l)+'" href="',(r=t.URL)?l=r.call(a,{hash:{},data:n}):(r=a&&a.URL,l=typeof r===F?r.call(a,{hash:{},data:n}):r),h+=O(l)+'" ',l=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:N.noop,fn:N.program(13,u,n),data:n}),(l||0===l)&&(h+=l),h+=">\n					",(r=t.Title)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Title,l=typeof r===F?r.call(a,{hash:{},data:n}):r),(l||0===l)&&(h+=l),h+="\n				</a>\n			</div>\n			",r=t.equals||a&&a.equals,c={hash:{},inverse:N.programWithDepth(19,v,n,e),fn:N.programWithDepth(16,f,n,e),data:n},l=r?r.call(a,a&&a.Type,"Event",c):M.call(a,"equals",a&&a.Type,"Event",c),(l||0===l)&&(h+=l),h+="\n\n			<!-- This will return true if AuthorType is greater than 0, i.e. not a person -->\n            ",l=t["if"].call(a,a&&a.AuthorType,{hash:{},inverse:N.programWithDepth(26,T,n,e),fn:N.programWithDepth(23,S,n,e),data:n}),(l||0===l)&&(h+=l),h+='\n\n			<div class="social-tools">\n				<div class="row-fluid">\n					<div class="span5 pull-left">\n						',r=t.when||a&&a.when,c={hash:{},inverse:N.program(35,q,n),fn:N.program(30,A,n),data:n},l=r?r.call(a,"Type != 'Event'",c):M.call(a,"when","Type != 'Event'",c),(l||0===l)&&(h+=l),h+='\n					</div>\n					<div class="span7 pull-right">\n						',l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:N.noop,fn:N.programWithDepth(41,L,n,e),data:n}),(l||0===l)&&(h+=l),h+="\n					</div>\n				</div>\n			</div>\n		</div>\n	</li>\n    "}function s(){return"content-widget-item-key"}function i(){return"content-widget-item"}function o(a,n){var e,l,r="";return r+='\n				<div class="pull-left content-widget-list-image-container">\n					<img src="',e=t["if"].call(a,a&&a.AssetID,{hash:{},inverse:N.program(9,h,n),fn:N.program(7,c,n),data:n}),(e||0===e)&&(r+=e),r+='" style="object-fit: cover; object-position: 50% ',(l=t.BackgroundYpos)?e=l.call(a,{hash:{},data:n}):(l=a&&a.BackgroundYpos,e=typeof l===F?l.call(a,{hash:{},data:n}):l),r+=O(e)+'%;" alt="" role="presentation" loading="lazy" />\n				</div>\n			'}function c(a,n){var e,l,r;return l=t.asset||a&&a.asset,r={hash:{},data:n},e=l?l.call(a,a&&a.AssetID,3,r):M.call(a,"asset",a&&a.AssetID,3,r),e||0===e?e:""}function h(a,n){var e,l;return O((e=t.avatar||a&&a.avatar,l={hash:{},data:n},e?e.call(a,a&&a.Type,l):M.call(a,"avatar",a&&a.Type,l)))}function p(a,n){var e,l,r="";return r+='\n				<div role="presentation" class="icon-container is-medium f-left xs-mr-2" ><span class="icon is-normal"><i class="ii ',(l=t.AssociatedIcon)?e=l.call(a,{hash:{},data:n}):(l=a&&a.AssociatedIcon,e=typeof l===F?l.call(a,{hash:{},data:n}):l),r+=O(e)+'"></i></span></div>\n		'}function u(a,n){var e,l,r,s="";return s+=" ",l=t.hovercard||a&&a.hovercard,r={hash:{},inverse:N.noop,fn:N.program(14,d,n),data:n},e=l?l.call(a,a&&a.Type,a&&a.ID,r):M.call(a,"hovercard",a&&a.Type,a&&a.ID,r),(e||0===e)&&(s+=e),s+=" "}function d(){return" "}function f(a,n,e){var l,r="";return r+="\n			",l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:N.noop,fn:N.programWithDepth(17,m,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n			"}function m(a,n,t){var e,l="";return l+="\n			<div>"+O((e=t&&t.SystemText,e=null==e||e===!1?e:e.Location,typeof e===F?e.apply(a):e))+": ",e=a&&a.Entity,e=null==e||e===!1?e:e.Location,e=typeof e===F?e.apply(a):e,(e||0===e)&&(l+=e),l+="</div>\n			"}function v(a,n,e){var l,r="";return r+="\n			",l=t["if"].call(a,(l=e&&e.Options,null==l||l===!1?l:l.IncludeSummary),{hash:{},inverse:N.noop,fn:N.program(20,y,n),data:n}),(l||0===l)&&(r+=l),r+="\n			"}function y(a,n){var e,l="";return l+="\n			",e=t["if"].call(a,a&&a.Summary,{hash:{},inverse:N.noop,fn:N.program(21,g,n),data:n}),(e||0===e)&&(l+=e),l+="\n			"}function g(a,n){var e,l,r,s="";return s+='\n			<div dir="auto">',l=t.truncate||a&&a.truncate,r={hash:{},data:n},e=l?l.call(a,a&&a.Summary,30,r):M.call(a,"truncate",a&&a.Summary,30,r),(e||0===e)&&(s+=e),s+="</div>\n			"}function S(a,n,e){var l,r="";return r+="\n                ",l=t["if"].call(a,a&&a.Author,{hash:{},inverse:N.noop,fn:N.programWithDepth(24,D,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n            "}function D(a,n,e){var l,r,s="";return s+='\n                     <!-- Display a span instead of a link -->\n                    <div class="is-author">\n                        '+O((l=e&&e.SystemText,l=null==l||l===!1?l:l.By,typeof l===F?l.apply(a):l))+" <span><strong>",(r=t.Author)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Author,l=typeof r===F?r.call(a,{hash:{},data:n}):r),s+=O(l)+"</strong></span>\n                    </div>  \n                "}function T(a,n,e){var l,r="";return r+="\n                ",l=t["if"].call(a,a&&a.Author,{hash:{},inverse:N.noop,fn:N.programWithDepth(27,I,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n            "}function I(a,n,e){var l,r,s,i="";return i+='\n					<div class="is-author">\n						'+O((l=e&&e.SystemText,l=null==l||l===!1?l:l.By,typeof l===F?l.apply(a):l))+' <a href="'+O((r=t.link||a&&a.link,s={hash:{},data:n},r?r.call(a,"Person",a&&a.AuthorID,s):M.call(a,"link","Person",a&&a.AuthorID,s)))+'" ',l=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:N.noop,fn:N.program(28,w,n),data:n}),(l||0===l)&&(i+=l),i+=">",(r=t.Author)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Author,l=typeof r===F?r.call(a,{hash:{},data:n}):r),i+=O(l)+"</a>\n					</div>\n                "}function w(a,n){var e,l,r="";return r+=' data-personid="',(l=t.AuthorID)?e=l.call(a,{hash:{},data:n}):(l=a&&a.AuthorID,e=typeof l===F?l.call(a,{hash:{},data:n}):l),r+=O(e)+'" '}function A(a,n){var e,l="";return l+='\n						<time class="timeago pull-left" datetime="',e=t["if"].call(a,a&&a.ShowUpdateDate,{hash:{},inverse:N.program(33,C,n),fn:N.program(31,b,n),data:n}),(e||0===e)&&(l+=e),l+='"></time>\n						'}function b(a,n){var e,l,r="";return r+=" ",(l=t.UpdateDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.UpdateDate,e=typeof l===F?l.call(a,{hash:{},data:n}):l),r+=O(e)+" "}function C(a,n){var e,l,r="";return r+=" ",(l=t.StartDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.StartDate,e=typeof l===F?l.call(a,{hash:{},data:n}):l),r+=O(e)+" "}function q(a,n){var e,l,r,s="";return s+="\n						",l=t.equals||a&&a.equals,r={hash:{},inverse:N.program(39,x,n),fn:N.program(36,k,n),data:n},e=l?l.call(a,(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r):M.call(a,"equals",(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r),(e||0===e)&&(s+=e),s+="\n						"}function k(a,n){var e,l,r,s="";return s+='<span class="pull-left timeago" style="white-space:pre-line;">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:N.noop,fn:N.program(37,E,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.EndDate,r):M.call(a,"eventTimeString",a&&a.StartDate,a&&a.EndDate,r),(e||0===e)&&(s+=e),s+="</span>"}function E(){var a="";return a}function x(a,n){var e,l,r,s="";return s+='<span class="timeago" style="white-space:pre-line;">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:N.noop,fn:N.program(37,E,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.StartDate,r):M.call(a,"eventTimeString",a&&a.StartDate,a&&a.StartDate,r),(e||0===e)&&(s+=e),s+="</span>"}function L(a,n,e){var l,r,s,i="";return i+='\n						<span class="pull-right count">\n							',l=t["if"].call(a,a&&a.SocialAdvocacyItem,{hash:{},inverse:N.noop,fn:N.programWithDepth(42,W,n,e),data:n}),(l||0===l)&&(i+=l),i+="\n							",r=t.equals||a&&a.equals,s={hash:{},inverse:N.noop,fn:N.programWithDepth(44,H,n,e),data:n},l=r?r.call(a,(l=a&&a.Entity,null==l||l===!1?l:l.IsCommentsAllowed),"true",s):M.call(a,"equals",(l=a&&a.Entity,null==l||l===!1?l:l.IsCommentsAllowed),"true",s),(l||0===l)&&(i+=l),i+='\n							<span title="',r=t.equals||a&&a.equals,s={hash:{},inverse:N.program(49,P,n),fn:N.program(45,_,n),data:n},l=r?r.call(a,a&&a.LikeCount,"-1",s):M.call(a,"equals",a&&a.LikeCount,"-1",s),(l||0===l)&&(i+=l),i+=" "+O((l=e&&e.SystemText,l=null==l||l===!1?l:l.Likes,typeof l===F?l.apply(a):l))+'">\n								<span class="icon is-normal"><i class="iconextra-like ii-like"></i></span>\n								',r=t.equals||a&&a.equals,s={hash:{},inverse:N.program(49,P,n),fn:N.program(45,_,n),data:n},l=r?r.call(a,a&&a.LikeCount,"-1",s):M.call(a,"equals",a&&a.LikeCount,"-1",s),(l||0===l)&&(i+=l),i+="\n							</span>\n						</span>\n						"}function W(a,n,e){var l,r,s="";return s+='\n							<button id="soc-adv-share-btn" \n									class="btn btn-primary btn-small" \n									onclick="Widgets.SocialAdvocacy_ShareClicked(',(r=t.ID)?l=r.call(a,{hash:{},data:n}):(r=a&&a.ID,l=typeof r===F?r.call(a,{hash:{},data:n}):r),s+=O(l)+')"\n									type="button"\n									aria-label="'+O((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShareAria,typeof l===F?l.apply(a):l))+'"\n							>\n								<i class="fa fa-share-alt ii ii-share"></i>\n							</button>\n							'}function H(a,n,e){var l,r,s,i="";return i+='\n							<span title="',r=t.equals||a&&a.equals,s={hash:{},inverse:N.program(47,U,n),fn:N.program(45,_,n),data:n},l=r?r.call(a,a&&a.CommentCount,"-1",s):M.call(a,"equals",a&&a.CommentCount,"-1",s),(l||0===l)&&(i+=l),i+=" "+O((l=e&&e.SystemText,l=null==l||l===!1?l:l.Comments,typeof l===F?l.apply(a):l))+'">\n								<span class="icon is-normal"><i class="iconextra-comment ii-comments"></i></span>\n								',r=t.equals||a&&a.equals,s={hash:{},inverse:N.program(47,U,n),fn:N.program(45,_,n),data:n},l=r?r.call(a,(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s):M.call(a,"equals",(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s),(l||0===l)&&(i+=l),i+="\n							</span>\n							"}function _(){return"0"}function U(a,n){var e,l;return(l=t.CommentCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.CommentCount,e=typeof l===F?l.call(a,{hash:{},data:n}):l),O(e)}function P(a,n){var e,l;return(l=t.LikeCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.LikeCount,e=typeof l===F?l.call(a,{hash:{},data:n}):l),O(e)}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var R,B="",M=t.helperMissing,O=this.escapeExpression,N=this,F="function";return B+='<ul class="unstyled content-widget-items-container has-thumbnail-overlay">\n    ',R=t.each.call(n,n&&n.Items,{hash:{},inverse:N.noop,fn:N.programWithDepth(1,r,l,n),data:l}),(R||0===R)&&(B+=R),B+="\n</ul>\n"}),n.widgets_topicscontent_listwithpreview=a(function(a,n,t,e,l){function r(){return"content-widget-item-key"}function s(){return"content-widget-item"}function i(a,n){var e,l,r;return K((l=t.asset||a&&a.asset,r={hash:{},data:n},l?l.call(a,(e=a&&a.Headline,null==e||e===!1?e:e.AssetID),7,r):J.call(a,"asset",(e=a&&a.Headline,null==e||e===!1?e:e.AssetID),7,r)))}function o(){return"/Content/default/images/noImageAvailable300.gif"}function c(a,n){var e,l,r;return K((l=t.asset||a&&a.asset,r={hash:{},data:n},l?l.call(a,(e=a&&a.Headline,null==e||e===!1?e:e.AssetID),5,r):J.call(a,"asset",(e=a&&a.Headline,null==e||e===!1?e:e.AssetID),5,r)))}function h(a,n){var e,l,r,s="";return s+=" ",l=t.hovercard||a&&a.hovercard,r={hash:{},inverse:X.noop,fn:X.program(12,p,n),data:n},e=l?l.call(a,(e=a&&a.Headline,null==e||e===!1?e:e.Type),(e=a&&a.Headline,null==e||e===!1?e:e.ID),r):J.call(a,"hovercard",(e=a&&a.Headline,null==e||e===!1?e:e.Type),(e=a&&a.Headline,null==e||e===!1?e:e.ID),r),(e||0===e)&&(s+=e),s+=" "}function p(){var a="";return a}function u(a,n){var e,l="";return l+="\n                ",e=t["if"].call(a,(e=a&&a.Headline,null==e||e===!1?e:e.Author),{hash:{},inverse:X.noop,fn:X.program(15,d,n),data:n}),(e||0===e)&&(l+=e),l+="\n            "}function d(a){var n,t="";return t+="\n                    "+K((n=a&&a.SystemText,n=null==n||n===!1?n:n.By,typeof n===Z?n.apply(a):n))+" <span><strong>"+K((n=a&&a.Headline,n=null==n||n===!1?n:n.Author,typeof n===Z?n.apply(a):n))+"</strong></span>\n                "}function f(a,n){var e,l="";return l+="\n                ",e=t["if"].call(a,(e=a&&a.Headline,null==e||e===!1?e:e.Author),{hash:{},inverse:X.noop,fn:X.program(18,m,n),data:n}),(e||0===e)&&(l+=e),l+="\n            "}function m(a,n){var e,l="";return l+="\n                    "+K((e=a&&a.SystemText,e=null==e||e===!1?e:e.By,typeof e===Z?e.apply(a):e))+' <a href="/Interact/Pages/Modules/Directory/Entry.aspx?person='+K((e=a&&a.Headline,e=null==e||e===!1?e:e.AuthorID,typeof e===Z?e.apply(a):e))+'" ',e=t["if"].call(a,(e=a&&a.Headline,null==e||e===!1?e:e.ShowHoverCard),{hash:{},inverse:X.noop,fn:X.program(19,v,n),data:n}),(e||0===e)&&(l+=e),l+=">"+K((e=a&&a.Headline,e=null==e||e===!1?e:e.Author,typeof e===Z?e.apply(a):e))+"</a>\n                "}function v(a){var n,t="";return t+=' data-personid="'+K((n=a&&a.Headline,n=null==n||n===!1?n:n.AuthorID,typeof n===Z?n.apply(a):n))+'" '}function y(a,n){var e,l="";return l+='\n		<time class="timeago pull-left" datetime="',e=t["if"].call(a,(e=a&&a.Headline,null==e||e===!1?e:e.ShowUpdateDate),{hash:{},inverse:X.program(24,S,n),fn:X.program(22,g,n),data:n}),(e||0===e)&&(l+=e),l+='"></time>\n		'}function g(a){var n,t="";return t+=" "+K((n=a&&a.Headline,n=null==n||n===!1?n:n.UpdateDate,typeof n===Z?n.apply(a):n))+" "}function S(a){var n,t="";return t+=" "+K((n=a&&a.Headline,n=null==n||n===!1?n:n.StartDate,typeof n===Z?n.apply(a):n))+" "}function D(a){var n,t="";return t+='\n		<time class="timeago pull-left" datetime="'+K((n=a&&a.Headline,n=null==n||n===!1?n:n.Entity,n=null==n||n===!1?n:n.StartDate,typeof n===Z?n.apply(a):n))+'"></time>\n		'}function T(a){var n,t="";return t+='\n            <button id="soc-adv-share-btn" \n                    class="btn btn-primary btn-small" \n                    onclick="Widgets.SocialAdvocacy_ShareClicked('+K((n=a&&a.Headline,n=null==n||n===!1?n:n.ID,typeof n===Z?n.apply(a):n))+')"\n                    type="button"\n                    aria-label="'+K((n=a&&a.SystemText,n=null==n||n===!1?n:n.SocialAdvocacyShareAria,typeof n===Z?n.apply(a):n))+'"\n            >\n                <i class="fa fa-share-alt ii ii-share"></i>\n            </button>\n            '}function I(a,n){var e,l,r,s="";return s+='\n            <span title="',l=t.equals||a&&a.equals,r={hash:{},inverse:X.program(33,A,n),fn:X.program(31,w,n),data:n},e=l?l.call(a,(e=a&&a.Headline,null==e||e===!1?e:e.CommentCount),"-1",r):J.call(a,"equals",(e=a&&a.Headline,null==e||e===!1?e:e.CommentCount),"-1",r),(e||0===e)&&(s+=e),s+=" "+K((e=a&&a.SystemText,e=null==e||e===!1?e:e.Comments,typeof e===Z?e.apply(a):e))+'">\n                <span class="icon is-normal"><i class="iconextra-comment ii-comments"></i></span>\n                ',l=t.equals||a&&a.equals,r={hash:{},inverse:X.program(33,A,n),fn:X.program(31,w,n),data:n},e=l?l.call(a,(e=a&&a.Headline,null==e||e===!1?e:e.CommentCount),"-1",r):J.call(a,"equals",(e=a&&a.Headline,null==e||e===!1?e:e.CommentCount),"-1",r),(e||0===e)&&(s+=e),s+="\n            </span>\n            "}function w(){return"0"}function A(a){var n;return K((n=a&&a.Headline,n=null==n||n===!1?n:n.CommentCount,typeof n===Z?n.apply(a):n))}function b(a){var n;return K((n=a&&a.Headline,n=null==n||n===!1?n:n.LikeCount,typeof n===Z?n.apply(a):n))}function C(a,n,e){var l,s,i,o="";return o+='\n    <li class="',l=t["if"].call(a,a&&a.IsKey,{hash:{},inverse:X.noop,fn:X.program(1,r,n),data:n}),(l||0===l)&&(o+=l),o+=' gridster-wac">\n        <div class="pull-left content-widget-list-image-container">\n            <img src="',l=t["if"].call(a,a&&a.AssetID,{hash:{},inverse:X.program(40,k,n),fn:X.program(38,q,n),data:n}),(l||0===l)&&(o+=l),o+='" alt="" role="presentation" loading="lazy" />\n        </div>\n        <div class="content-widget-list-details-container">\n            <div class="contentlist-title">\n                <a class="is-w-a d-block" target="',(s=t.Target)?l=s.call(a,{hash:{},data:n}):(s=a&&a.Target,l=typeof s===Z?s.call(a,{hash:{},data:n}):s),o+=K(l)+'" href="',(s=t.URL)?l=s.call(a,{hash:{},data:n}):(s=a&&a.URL,l=typeof s===Z?s.call(a,{hash:{},data:n}):s),o+=K(l)+'" dir="auto" ',l=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:X.noop,fn:X.program(42,E,n),data:n}),(l||0===l)&&(o+=l),o+=">",(s=t.Title)?l=s.call(a,{hash:{},data:n}):(s=a&&a.Title,l=typeof s===Z?s.call(a,{hash:{},data:n}):s),(l||0===l)&&(o+=l),o+="</a>\n                <!-- This will return true if AuthorType is greater than 0, i.e. not a person -->\n				",l=t["if"].call(a,a&&a.AuthorType,{hash:{},inverse:X.programWithDepth(47,W,n,e),fn:X.programWithDepth(44,x,n,e),data:n}),(l||0===l)&&(o+=l),o+='\n            </div>    \n            <div class="social-tools">                \n            <div class="row-fluid">\n                                  \n            <div class="span6 pull-left">\n		            ',s=t.when||a&&a.when,i={hash:{},inverse:X.program(56,B,n),fn:X.program(51,U,n),data:n},l=s?s.call(a,"Type != 'Event'",i):J.call(a,"when","Type != 'Event'",i),(l||0===l)&&(o+=l),o+='\n            </div>\n            <div class="span6 pull-right">\n                ',l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:X.noop,fn:X.programWithDepth(58,M,n,e),data:n}),(l||0===l)&&(o+=l),o+="\n            </div>\n            </div>\n        </div>\n        </div>\n    </li>\n    "}function q(a,n){var e,l,r;return l=t.asset||a&&a.asset,r={hash:{},data:n},e=l?l.call(a,a&&a.AssetID,4,r):J.call(a,"asset",a&&a.AssetID,4,r),e||0===e?e:""}function k(a,n){var e,l;return K((e=t.avatar||a&&a.avatar,l={hash:{},data:n},e?e.call(a,a&&a.Type,l):J.call(a,"avatar",a&&a.Type,l)))}function E(a,n){var e,l,r,s="";return s+=" ",l=t.hovercard||a&&a.hovercard,r={hash:{},inverse:X.noop,fn:X.program(12,p,n),data:n},e=l?l.call(a,a&&a.Type,a&&a.ID,r):J.call(a,"hovercard",a&&a.Type,a&&a.ID,r),(e||0===e)&&(s+=e),s+=" "}function x(a,n,e){var l,r="";return r+="\n					",l=t["if"].call(a,a&&a.Author,{hash:{},inverse:X.noop,fn:X.programWithDepth(45,L,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n                "}function L(a,n,e){var l,r,s="";return s+='\n                        <div class="auth is-author">\n                            '+K((l=e&&e.SystemText,l=null==l||l===!1?l:l.By,typeof l===Z?l.apply(a):l))+" <span>",(r=t.Author)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Author,l=typeof r===Z?r.call(a,{hash:{},data:n}):r),s+=K(l)+"</span>\n                        </div>\n                    "}function W(a,n,e){var l,r="";return r+="\n                    ",l=t["if"].call(a,a&&a.Author,{hash:{},inverse:X.noop,fn:X.programWithDepth(48,H,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n                "}function H(a,n,e){var l,r,s,i="";return i+='\n                        <div class="auth is-author">\n                            '+K((l=e&&e.SystemText,l=null==l||l===!1?l:l.By,typeof l===Z?l.apply(a):l))+' <a href="'+K((r=t.link||a&&a.link,s={hash:{},data:n},r?r.call(a,"Person",a&&a.AuthorID,s):J.call(a,"link","Person",a&&a.AuthorID,s)))+'" ',l=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:X.noop,fn:X.program(49,_,n),data:n}),(l||0===l)&&(i+=l),i+=">",(r=t.Author)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Author,l=typeof r===Z?r.call(a,{hash:{},data:n}):r),i+=K(l)+"</a>\n                        </div>\n                    "}function _(a,n){var e,l,r="";return r+=' data-personid="',(l=t.AuthorID)?e=l.call(a,{hash:{},data:n}):(l=a&&a.AuthorID,e=typeof l===Z?l.call(a,{hash:{},data:n}):l),r+=K(e)+'" '}function U(a,n){var e,l="";return l+='\n		            <time class="timeago" datetime="',e=t["if"].call(a,a&&a.ShowUpdateDate,{hash:{},inverse:X.program(54,R,n),fn:X.program(52,P,n),data:n}),(e||0===e)&&(l+=e),l+='"></time>\n		            '}function P(a,n){var e,l,r="";return r+=" ",(l=t.UpdateDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.UpdateDate,e=typeof l===Z?l.call(a,{hash:{},data:n}):l),r+=K(e)+" "}function R(a,n){var e,l,r="";return r+=" ",(l=t.StartDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.StartDate,e=typeof l===Z?l.call(a,{hash:{},data:n}):l),r+=K(e)+" "}function B(a,n){var e,l,r="";return r+='\n		            <time class="timeago" datetime="',(l=t.StartDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.StartDate,e=typeof l===Z?l.call(a,{hash:{},data:n}):l),r+=K(e)+'"></time>\n					'}function M(a,n,e){var l,r,s,i="";return i+='\n                <div class="count pull-right">\n                    ',l=t["if"].call(a,a&&a.SocialAdvocacyItem,{hash:{},inverse:X.noop,fn:X.programWithDepth(59,O,n,e),data:n}),(l||0===l)&&(i+=l),i+="\n                    ",r=t.equals||a&&a.equals,s={hash:{},inverse:X.noop,fn:X.programWithDepth(61,N,n,e),data:n},l=r?r.call(a,(l=a&&a.Entity,null==l||l===!1?l:l.IsCommentsAllowed),"true",s):J.call(a,"equals",(l=a&&a.Entity,null==l||l===!1?l:l.IsCommentsAllowed),"true",s),(l||0===l)&&(i+=l),i+='\n                    <span title="',r=t.equals||a&&a.equals,s={hash:{},inverse:X.program(64,z,n),fn:X.program(31,w,n),data:n},l=r?r.call(a,a&&a.LikeCount,"-1",s):J.call(a,"equals",a&&a.LikeCount,"-1",s),(l||0===l)&&(i+=l),i+=" "+K((l=e&&e.SystemText,l=null==l||l===!1?l:l.Likes,typeof l===Z?l.apply(a):l))+'">\n                        <span class="icon is-normal"><i class="iconextra-like ii-like"></i></span>\n                        ',r=t.equals||a&&a.equals,s={hash:{},inverse:X.program(64,z,n),fn:X.program(31,w,n),data:n},l=r?r.call(a,a&&a.LikeCount,"-1",s):J.call(a,"equals",a&&a.LikeCount,"-1",s),(l||0===l)&&(i+=l),i+="\n                    </span>\n                </div>\n                "}function O(a,n,e){var l,r,s="";return s+='\n                    <button id="soc-adv-share-btn" \n                            class="btn btn-primary btn-small" \n                            onclick="Widgets.SocialAdvocacy_ShareClicked(',(r=t.ID)?l=r.call(a,{hash:{},data:n}):(r=a&&a.ID,l=typeof r===Z?r.call(a,{hash:{},data:n}):r),s+=K(l)+')"\n                            type="button"\n                            aria-label="'+K((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShareAria,typeof l===Z?l.apply(a):l))+'"\n                    >\n                        <i class="fa fa-share-alt ii ii-share"></i>\n                    </button>\n                    '}function N(a,n,e){var l,r,s,i="";return i+='\n                    <span title="',r=t.equals||a&&a.equals,s={hash:{},inverse:X.program(62,F,n),fn:X.program(31,w,n),data:n},l=r?r.call(a,a&&a.CommentCount,"-1",s):J.call(a,"equals",a&&a.CommentCount,"-1",s),(l||0===l)&&(i+=l),i+=" "+K((l=e&&e.SystemText,l=null==l||l===!1?l:l.Comments,typeof l===Z?l.apply(a):l))+'">\n                          <span class="icon is-normal"><i class="iconextra-comment ii-comments"></i></span>\n                          ',r=t.equals||a&&a.equals,s={hash:{},inverse:X.program(62,F,n),fn:X.program(31,w,n),data:n},l=r?r.call(a,a&&a.CommentCount,"-1",s):J.call(a,"equals",a&&a.CommentCount,"-1",s),(l||0===l)&&(i+=l),i+="\n                      </span>\n                    "}function F(a,n){var e,l;return(l=t.CommentCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.CommentCount,e=typeof l===Z?l.call(a,{hash:{},data:n}):l),K(e)}function z(a,n){var e,l;return(l=t.LikeCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.LikeCount,e=typeof l===Z?l.call(a,{hash:{},data:n}):l),K(e)}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var Y,j,V,G="",J=t.helperMissing,K=this.escapeExpression,X=this,Z="function";return G+='<div class="headline-item ',Y=t["if"].call(n,n&&n.IsKey,{hash:{},inverse:X.program(3,s,l),fn:X.program(1,r,l),data:l}),(Y||0===Y)&&(G+=Y),G+='">\n    <section class="Widget">\n    <div class="headline-container gridster-wac">\n    <div class="headline-image center-cropped" style="background-image: url(\'',Y=t["if"].call(n,(Y=n&&n.Headline,null==Y||Y===!1?Y:Y.AssetID),{hash:{},inverse:X.program(7,o,l),fn:X.program(5,i,l),data:l}),(Y||0===Y)&&(G+=Y),G+="');background-position:0 "+K((Y=n&&n.Headline,Y=null==Y||Y===!1?Y:Y.BackgroundYpos,typeof Y===Z?Y.apply(n):Y))+'%;">\n          <div class="IMG_Opacity">\n            <img src="',Y=t["if"].call(n,(Y=n&&n.Headline,null==Y||Y===!1?Y:Y.AssetID),{hash:{},inverse:X.program(7,o,l),fn:X.program(9,c,l),data:l}),(Y||0===Y)&&(G+=Y),G+='" alt="" role="presentation">\n              </div>\n    </div>\n    <div class="headline-titleauth">\n    <a target="'+K((Y=n&&n.Headline,Y=null==Y||Y===!1?Y:Y.Target,typeof Y===Z?Y.apply(n):Y))+'" class="headline-title is-w-a" href="'+K((Y=n&&n.Headline,Y=null==Y||Y===!1?Y:Y.URL,typeof Y===Z?Y.apply(n):Y))+'" dir="auto" ',Y=t["if"].call(n,(Y=n&&n.Headline,null==Y||Y===!1?Y:Y.ShowHoverCard),{hash:{},inverse:X.noop,fn:X.program(11,h,l),data:l}),(Y||0===Y)&&(G+=Y),G+=">\n        <h3>",Y=n&&n.Headline,Y=null==Y||Y===!1?Y:Y.Title,Y=typeof Y===Z?Y.apply(n):Y,(Y||0===Y)&&(G+=Y),G+='</h3>      \n    </a>\n       <div class="headline-auth is-author">\n\n            <!-- This will return true if AuthorType is greater than 0, i.e. not a person -->\n            ',Y=t["if"].call(n,(Y=n&&n.Headline,null==Y||Y===!1?Y:Y.AuthorType),{hash:{},inverse:X.program(17,f,l),fn:X.program(14,u,l),data:l}),(Y||0===Y)&&(G+=Y),G+='\n\n       </div>\n    </div>\n    </div>\n    </section>\n<div class="headline-social">\n<div class="row-fluid">\n    <div class="span5">\n		',j=t.when||n&&n.when,V={hash:{},inverse:X.program(26,D,l),fn:X.program(21,y,l),data:l},Y=j?j.call(n,"Headline.Type != 'Event'",V):J.call(n,"when","Headline.Type != 'Event'",V),(Y||0===Y)&&(G+=Y),G+='\n    </div>\n    <div class="span7">                 \n        <span class="pull-right count">\n            ',Y=t["if"].call(n,(Y=n&&n.Headline,null==Y||Y===!1?Y:Y.SocialAdvocacyItem),{hash:{},inverse:X.noop,fn:X.program(28,T,l),data:l}),(Y||0===Y)&&(G+=Y),G+="\n            ",j=t.equals||n&&n.equals,V={hash:{},inverse:X.noop,fn:X.program(30,I,l),data:l},Y=j?j.call(n,(Y=n&&n.Headline,Y=null==Y||Y===!1?Y:Y.Entity,null==Y||Y===!1?Y:Y.IsCommentsAllowed),"true",V):J.call(n,"equals",(Y=n&&n.Headline,Y=null==Y||Y===!1?Y:Y.Entity,null==Y||Y===!1?Y:Y.IsCommentsAllowed),"true",V),(Y||0===Y)&&(G+=Y),G+='\n            <span title="',j=t.equals||n&&n.equals,V={hash:{},inverse:X.program(35,b,l),fn:X.program(31,w,l),data:l},Y=j?j.call(n,(Y=n&&n.Headline,null==Y||Y===!1?Y:Y.LikeCount),"-1",V):J.call(n,"equals",(Y=n&&n.Headline,null==Y||Y===!1?Y:Y.LikeCount),"-1",V),(Y||0===Y)&&(G+=Y),G+=" "+K((Y=n&&n.SystemText,Y=null==Y||Y===!1?Y:Y.Likes,typeof Y===Z?Y.apply(n):Y))+'">\n                <span class="icon is-normal"><i class="iconextra-like ii-like"></i></span>\n                ',j=t.equals||n&&n.equals,V={hash:{},inverse:X.program(35,b,l),fn:X.program(31,w,l),data:l},Y=j?j.call(n,(Y=n&&n.Headline,null==Y||Y===!1?Y:Y.LikeCount),"-1",V):J.call(n,"equals",(Y=n&&n.Headline,null==Y||Y===!1?Y:Y.LikeCount),"-1",V),(Y||0===Y)&&(G+=Y),G+='\n            </span>\n        </span>\n    </div>\n    </div>\n    <div class="clearfix"></div>\n</div>\n</div>\n\n<ul class="unstyled contentlist-preview">\n    ',Y=t.each.call(n,n&&n.Items,{hash:{},inverse:X.noop,fn:X.programWithDepth(37,C,l,n),data:l}),(Y||0===Y)&&(G+=Y),G+="\n</ul>"}),n.widgets_topicscontent_shortenedlist=a(function(a,n,t,e,l){function r(a,n,e){var l,r,p,d="";return d+='\n	<li class="',l=t["if"].call(a,a&&a.IsKey,{hash:{},inverse:T.program(4,i,n),fn:T.program(2,s,n),data:n}),(l||0===l)&&(d+=l),d+=' gridster-wac">\n		<div class="pull-left content-widget-list-image-container">\n			<img src="',l=t["if"].call(a,a&&a.AssetID,{hash:{},inverse:T.program(8,c,n),fn:T.program(6,o,n),data:n}),(l||0===l)&&(d+=l),d+='" style="object-fit: cover; object-position: 50% ',(r=t.BackgroundYpos)?l=r.call(a,{hash:{},data:n}):(r=a&&a.BackgroundYpos,l=typeof r===I?r.call(a,{hash:{},data:n}):r),d+=D(l)+'%;" alt="" role="presentation" loading="lazy" />\n		</div>\n		<div class="content-widget-list-details-container">\n			<div dir="auto">\n				<a class="is-w-a" target="',(r=t.Target)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Target,l=typeof r===I?r.call(a,{hash:{},data:n}):r),d+=D(l)+'" href="',(r=t.URL)?l=r.call(a,{hash:{},data:n}):(r=a&&a.URL,l=typeof r===I?r.call(a,{hash:{},data:n}):r),d+=D(l)+'" ',l=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:T.noop,fn:T.program(10,h,n),data:n}),(l||0===l)&&(d+=l),d+=">",(r=t.Title)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Title,l=typeof r===I?r.call(a,{hash:{},data:n}):r),(l||0===l)&&(d+=l),d+="</a>\n			</div>\n			",r=t.equals||a&&a.equals,p={hash:{},inverse:T.programWithDepth(16,f,n,e),fn:T.programWithDepth(13,u,n,e),data:n},l=r?r.call(a,a&&a.Type,"Event",p):S.call(a,"equals",a&&a.Type,"Event",p),(l||0===l)&&(d+=l),d+="\n		</div>\n	</li>\n	"
}function s(){return"content-widget-item-key"}function i(){return"content-widget-item"}function o(a,n){var e,l,r;return l=t.asset||a&&a.asset,r={hash:{},data:n},e=l?l.call(a,a&&a.AssetID,4,r):S.call(a,"asset",a&&a.AssetID,4,r),e||0===e?e:""}function c(a,n){var e,l;return D((e=t.avatar||a&&a.avatar,l={hash:{},data:n},e?e.call(a,a&&a.Type,l):S.call(a,"avatar",a&&a.Type,l)))}function h(a,n){var e,l,r,s="";return s+=" ",l=t.hovercard||a&&a.hovercard,r={hash:{},inverse:T.noop,fn:T.program(11,p,n),data:n},e=l?l.call(a,a&&a.Type,a&&a.ID,r):S.call(a,"hovercard",a&&a.Type,a&&a.ID,r),(e||0===e)&&(s+=e),s+=" "}function p(){return" "}function u(a,n,e){var l,r="";return r+="\n			",l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:T.noop,fn:T.programWithDepth(14,d,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n			"}function d(a,n,t){var e,l="";return l+="\n			<div>"+D((e=t&&t.SystemText,e=null==e||e===!1?e:e.Location,typeof e===I?e.apply(a):e))+": ",e=a&&a.Entity,e=null==e||e===!1?e:e.Location,e=typeof e===I?e.apply(a):e,(e||0===e)&&(l+=e),l+="</div>\n			"}function f(a,n,e){var l,r="";return r+="\n			",l=t["if"].call(a,(l=e&&e.Options,null==l||l===!1?l:l.IncludeSummary),{hash:{},inverse:T.noop,fn:T.program(17,m,n),data:n}),(l||0===l)&&(r+=l),r+="\n			"}function m(a,n){var e,l="";return l+="\n			",e=t["if"].call(a,a&&a.Summary,{hash:{},inverse:T.noop,fn:T.program(18,v,n),data:n}),(e||0===e)&&(l+=e),l+="\n			"}function v(a,n){var e,l,r,s="";return s+='\n			<div dir="auto">',l=t.truncate||a&&a.truncate,r={hash:{},data:n},e=l?l.call(a,a&&a.Summary,60,r):S.call(a,"truncate",a&&a.Summary,60,r),(e||0===e)&&(s+=e),s+="</div>\n			"}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var y,g="",S=t.helperMissing,D=this.escapeExpression,T=this,I="function";return g+='<ul class="unstyled content-widget-items-container striped has-thumbnail-overlay">\n	',y=t.each.call(n,n&&n.Items,{hash:{},inverse:T.noop,fn:T.programWithDepth(1,r,l,n),data:l}),(y||0===y)&&(g+=y),g+="\n</ul>\n"}),n.widgets_topicscontent_showcase=a(function(a,n,t,e,l){function r(a,n){var e,l,r;return R((l=t.asset||a&&a.asset,r={hash:{},data:n},l?l.call(a,(e=a&&a.Headline,null==e||e===!1?e:e.AssetID),7,r):P.call(a,"asset",(e=a&&a.Headline,null==e||e===!1?e:e.AssetID),7,r)))}function s(){return"/Content/default/images/noImageAvailable300.gif"}function i(a,n){var e,l,r;return R((l=t.asset||a&&a.asset,r={hash:{},data:n},l?l.call(a,(e=a&&a.Headline,null==e||e===!1?e:e.AssetID),5,r):P.call(a,"asset",(e=a&&a.Headline,null==e||e===!1?e:e.AssetID),5,r)))}function o(a){var n,t="";return t+='\n        <div class="social-advocacy">\n            <button id="soc-adv-share-btn" \n                    class="btn btn-primary btn-small" \n                    onclick="Widgets.SocialAdvocacy_ShareClicked('+R((n=a&&a.Headline,n=null==n||n===!1?n:n.ID,typeof n===B?n.apply(a):n))+')"\n                    type="button"\n                    aria-label="'+R((n=a&&a.SystemText,n=null==n||n===!1?n:n.SocialAdvocacyShareAria,typeof n===B?n.apply(a):n))+'"\n            >\n                <i class="fa fa-share-alt ii ii-share"></i>\n            </button>\n        </div>\n        '}function c(a,n){var e,l,r,s="";return s+='\n            <div class="pull-right">\n                ',l=t.equals||a&&a.equals,r={hash:{},inverse:M.noop,fn:M.program(10,h,n),data:n},e=l?l.call(a,(e=a&&a.Headline,e=null==e||e===!1?e:e.Entity,null==e||e===!1?e:e.IsCommentsAllowed),"true",r):P.call(a,"equals",(e=a&&a.Headline,e=null==e||e===!1?e:e.Entity,null==e||e===!1?e:e.IsCommentsAllowed),"true",r),(e||0===e)&&(s+=e),s+='\n                <span title="',l=t.equals||a&&a.equals,r={hash:{},inverse:M.program(15,d,n),fn:M.program(11,p,n),data:n},e=l?l.call(a,(e=a&&a.Headline,null==e||e===!1?e:e.LikeCount),"-1",r):P.call(a,"equals",(e=a&&a.Headline,null==e||e===!1?e:e.LikeCount),"-1",r),(e||0===e)&&(s+=e),s+=" "+R((e=a&&a.SystemText,e=null==e||e===!1?e:e.Likes,typeof e===B?e.apply(a):e))+'">\n                    <span class="icon is-normal"><i class="iconextra-like iconextra-white ii-like"></i></span>\n                    ',l=t.equals||a&&a.equals,r={hash:{},inverse:M.program(15,d,n),fn:M.program(11,p,n),data:n},e=l?l.call(a,(e=a&&a.Headline,null==e||e===!1?e:e.LikeCount),"-1",r):P.call(a,"equals",(e=a&&a.Headline,null==e||e===!1?e:e.LikeCount),"-1",r),(e||0===e)&&(s+=e),s+="\n                </span>\n            </div>\n            "}function h(a,n){var e,l,r,s="";return s+='\n                <span title="',l=t.equals||a&&a.equals,r={hash:{},inverse:M.program(13,u,n),fn:M.program(11,p,n),data:n},e=l?l.call(a,(e=a&&a.Headline,null==e||e===!1?e:e.CommentCount),"-1",r):P.call(a,"equals",(e=a&&a.Headline,null==e||e===!1?e:e.CommentCount),"-1",r),(e||0===e)&&(s+=e),s+=" "+R((e=a&&a.SystemText,e=null==e||e===!1?e:e.Comments,typeof e===B?e.apply(a):e))+'">\n                    <span class="icon is-normal"><i class="iconextra-comment iconextra-white ii-comments"></i></span>\n                    ',l=t.equals||a&&a.equals,r={hash:{},inverse:M.program(13,u,n),fn:M.program(11,p,n),data:n},e=l?l.call(a,(e=a&&a.Headline,null==e||e===!1?e:e.CommentCount),"-1",r):P.call(a,"equals",(e=a&&a.Headline,null==e||e===!1?e:e.CommentCount),"-1",r),(e||0===e)&&(s+=e),s+="\n                </span>\n                "}function p(){return"0"}function u(a){var n;return R((n=a&&a.Headline,n=null==n||n===!1?n:n.CommentCount,typeof n===B?n.apply(a):n))}function d(a){var n;return R((n=a&&a.Headline,n=null==n||n===!1?n:n.LikeCount,typeof n===B?n.apply(a):n))}function f(a,n){var e,l="";return l+="\n                        ",e=t["if"].call(a,(e=a&&a.Headline,null==e||e===!1?e:e.Author),{hash:{},inverse:M.noop,fn:M.program(18,m,n),data:n}),(e||0===e)&&(l+=e),l+="\n                        "}function m(a){var n,t="";return t+='\n                        <div class="is-author">\n                            '+R((n=a&&a.SystemText,n=null==n||n===!1?n:n.By,typeof n===B?n.apply(a):n))+" <span><strong>"+R((n=a&&a.Headline,n=null==n||n===!1?n:n.Author,typeof n===B?n.apply(a):n))+"</strong></span>\n                        </div>\n                        "}function v(a,n){var e,l="";return l+="\n                        ",e=t["if"].call(a,(e=a&&a.Headline,null==e||e===!1?e:e.Author),{hash:{},inverse:M.noop,fn:M.program(21,y,n),data:n}),(e||0===e)&&(l+=e),l+="\n                        "}function y(a,n){var e,l,r,s="";return s+='\n                        <div class="is-author">\n                            '+R((e=a&&a.SystemText,e=null==e||e===!1?e:e.By,typeof e===B?e.apply(a):e))+' <a href="'+R((l=t.link||a&&a.link,r={hash:{},data:n},l?l.call(a,"Person",(e=a&&a.Headline,null==e||e===!1?e:e.AuthorID),r):P.call(a,"link","Person",(e=a&&a.Headline,null==e||e===!1?e:e.AuthorID),r)))+'" ',e=t["if"].call(a,(e=a&&a.Headline,null==e||e===!1?e:e.ShowHoverCard),{hash:{},inverse:M.noop,fn:M.program(22,g,n),data:n}),(e||0===e)&&(s+=e),s+=">"+R((e=a&&a.Headline,e=null==e||e===!1?e:e.Author,typeof e===B?e.apply(a):e))+"</a>\n                        </div>\n                        "}function g(a){var n,t="";return t+=' data-personid="'+R((n=a&&a.Headline,n=null==n||n===!1?n:n.AuthorID,typeof n===B?n.apply(a):n))+'" '}function S(a){var n,t="";return t+=" "+R((n=a&&a.Headline,n=null==n||n===!1?n:n.UpdateDate,typeof n===B?n.apply(a):n))+" "}function D(a){var n,t="";return t+=" "+R((n=a&&a.Headline,n=null==n||n===!1?n:n.StartDate,typeof n===B?n.apply(a):n))+" "}function T(a,n,e){var l,r,s,i="";return i+='\n    <li class="center-cropped gridster-wac" style="background-image: url(\''+R((r=t.asset||a&&a.asset,s={hash:{},data:n},r?r.call(a,a&&a.AssetID,7,s):P.call(a,"asset",a&&a.AssetID,7,s)))+"');background-position:0 ",(r=t.BackgroundYpos)?l=r.call(a,{hash:{},data:n}):(r=a&&a.BackgroundYpos,l=typeof r===B?r.call(a,{hash:{},data:n}):r),i+=R(l)+'%;">\n        <div class="IMG_Opacity">\n            <img src="'+R((r=t.asset||a&&a.asset,s={hash:{},data:n},r?r.call(a,a&&a.AssetID,5,s):P.call(a,"asset",a&&a.AssetID,5,s)))+'" alt="" role="presentation" loading="lazy">\n        </div>\n        ',l=t["if"].call(a,a&&a.SocialAdvocacyItem,{hash:{},inverse:M.noop,fn:M.programWithDepth(29,I,n,e),data:n}),(l||0===l)&&(i+=l),i+='\n        <div class="social-results">\n            ',l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:M.noop,fn:M.programWithDepth(31,w,n,e),data:n}),(l||0===l)&&(i+=l),i+='\n        </div>\n        <div style="cursor: pointer;" onclick="window.location.href=\'',(r=t.Target)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Target,l=typeof r===B?r.call(a,{hash:{},data:n}):r),i+=R(l)+'\'" class="headline-image-details">\n            <a class="is-w-a" target="',(r=t.Target)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Target,l=typeof r===B?r.call(a,{hash:{},data:n}):r),i+=R(l)+'" href="',(r=t.URL)?l=r.call(a,{hash:{},data:n}):(r=a&&a.URL,l=typeof r===B?r.call(a,{hash:{},data:n}):r),i+=R(l)+'" dir="auto">\n                <h4>',(r=t.Title)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Title,l=typeof r===B?r.call(a,{hash:{},data:n}):r),(l||0===l)&&(i+=l),i+='</h4>\n            </a>\n            <div class="headline-image-details-author">\n                <div class="row-fluid">\n                    <div class="span7">\n                        <!-- This will return true if AuthorType is greater than 0, i.e. not a person -->\n                        ',l=t["if"].call(a,a&&a.AuthorType,{hash:{},inverse:M.programWithDepth(40,E,n,e),fn:M.programWithDepth(37,q,n,e),data:n}),(l||0===l)&&(i+=l),i+='\n\n                    </div>\n                    <div class="span5">\n                        <time class="timeago pull-left" datetime="',l=t["if"].call(a,a&&a.ShowUpdateDate,{hash:{},inverse:M.program(46,H,n),fn:M.program(44,W,n),data:n}),(l||0===l)&&(i+=l),i+='"></time>\n                    </div>\n                </div>\n            </div>\n        </div>\n    </li>\n    '}function I(a,n,e){var l,r,s="";return s+='\n        <div class="social-advocacy">\n            <button id="soc-adv-share-btn" \n                    class="btn btn-primary btn-small" \n                    onclick="Widgets.SocialAdvocacy_ShareClicked(',(r=t.ID)?l=r.call(a,{hash:{},data:n}):(r=a&&a.ID,l=typeof r===B?r.call(a,{hash:{},data:n}):r),s+=R(l)+')"\n                    type="button"\n                    aria-label="'+R((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShareAria,typeof l===B?l.apply(a):l))+'"\n            >\n                <i class="fa fa-share-alt ii ii-share"></i>\n            </button>\n        </div>\n        '}function w(a,n,e){var l,r,s,i="";return i+='\n            <span class="pull-right">\n                ',r=t.equals||a&&a.equals,s={hash:{},inverse:M.noop,fn:M.programWithDepth(32,A,n,e),data:n},l=r?r.call(a,(l=a&&a.Entity,null==l||l===!1?l:l.IsCommentsAllowed),"true",s):P.call(a,"equals",(l=a&&a.Entity,null==l||l===!1?l:l.IsCommentsAllowed),"true",s),(l||0===l)&&(i+=l),i+='\n                <span title="',r=t.equals||a&&a.equals,s={hash:{},inverse:M.program(35,C,n),fn:M.program(11,p,n),data:n},l=r?r.call(a,a&&a.LikeCount,"-1",s):P.call(a,"equals",a&&a.LikeCount,"-1",s),(l||0===l)&&(i+=l),i+=" "+R((l=e&&e.SystemText,l=null==l||l===!1?l:l.Likes,typeof l===B?l.apply(a):l))+'">\n                    <span class="icon is-normal"><i class="iconextra-like iconextra-white ii-like"></i></span>\n                    ',r=t.equals||a&&a.equals,s={hash:{},inverse:M.program(35,C,n),fn:M.program(11,p,n),data:n},l=r?r.call(a,a&&a.LikeCount,"-1",s):P.call(a,"equals",a&&a.LikeCount,"-1",s),(l||0===l)&&(i+=l),i+="\n                </span>\n            </span>\n            "}function A(a,n,e){var l,r,s,i="";return i+='\n                <span title="',r=t.equals||a&&a.equals,s={hash:{},inverse:M.program(33,b,n),fn:M.program(11,p,n),data:n},l=r?r.call(a,a&&a.CommentCount,"-1",s):P.call(a,"equals",a&&a.CommentCount,"-1",s),(l||0===l)&&(i+=l),i+=" "+R((l=e&&e.SystemText,l=null==l||l===!1?l:l.Comments,typeof l===B?l.apply(a):l))+'">\n                    <span class="icon is-normal"><i class="iconextra-comment iconextra-white ii-comments"></i></span>\n                    ',r=t.equals||a&&a.equals,s={hash:{},inverse:M.program(33,b,n),fn:M.program(11,p,n),data:n},l=r?r.call(a,a&&a.CommentCount,"-1",s):P.call(a,"equals",a&&a.CommentCount,"-1",s),(l||0===l)&&(i+=l),i+="\n                </span>\n                "}function b(a,n){var e,l;return(l=t.CommentCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.CommentCount,e=typeof l===B?l.call(a,{hash:{},data:n}):l),R(e)}function C(a,n){var e,l;return(l=t.LikeCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.LikeCount,e=typeof l===B?l.call(a,{hash:{},data:n}):l),R(e)}function q(a,n,e){var l,r="";return r+="\n                        ",l=t["if"].call(a,a&&a.Author,{hash:{},inverse:M.noop,fn:M.programWithDepth(38,k,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n                        "}function k(a,n,e){var l,r,s="";return s+='\n                        <!-- Display a span instead of a link -->\n                        <div class="is-author">\n                            '+R((l=e&&e.SystemText,l=null==l||l===!1?l:l.By,typeof l===B?l.apply(a):l))+" <span><strong>",(r=t.Author)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Author,l=typeof r===B?r.call(a,{hash:{},data:n}):r),s+=R(l)+"</strong></span>\n                        </div>\n                        "}function E(a,n,e){var l,r="";return r+="\n                        ",l=t["if"].call(a,a&&a.Author,{hash:{},inverse:M.noop,fn:M.programWithDepth(41,x,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n                        "}function x(a,n,e){var l,r,s,i="";return i+='\n                        <div class="is-author">\n                            '+R((l=e&&e.SystemText,l=null==l||l===!1?l:l.By,typeof l===B?l.apply(a):l))+' <a href="'+R((r=t.link||a&&a.link,s={hash:{},data:n},r?r.call(a,"Person",a&&a.AuthorID,s):P.call(a,"link","Person",a&&a.AuthorID,s)))+'" ',l=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:M.noop,fn:M.program(42,L,n),data:n}),(l||0===l)&&(i+=l),i+=">",(r=t.Author)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Author,l=typeof r===B?r.call(a,{hash:{},data:n}):r),i+=R(l)+"</a>\n                        </div>\n                        "}function L(a,n){var e,l,r="";return r+=' data-personid="',(l=t.AuthorID)?e=l.call(a,{hash:{},data:n}):(l=a&&a.AuthorID,e=typeof l===B?l.call(a,{hash:{},data:n}):l),r+=R(e)+'" '}function W(a,n){var e,l,r="";return r+=" ",(l=t.UpdateDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.UpdateDate,e=typeof l===B?l.call(a,{hash:{},data:n}):l),r+=R(e)+" "}function H(a,n){var e,l,r="";return r+=" ",(l=t.StartDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.StartDate,e=typeof l===B?l.call(a,{hash:{},data:n}):l),r+=R(e)+" "}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var _,U="",P=t.helperMissing,R=this.escapeExpression,B="function",M=this;return U+='<section class="Widget">\n    <!-- data-swap-img-styles attribute used to then assign to inline style attribute to simulate lazy loading on document ready handler -->\n    <div class="headline-image center-cropped swap-widget-img gridster-wac"\n         data-swap-img-styles="background-image: url(\'',_=t["if"].call(n,(_=n&&n.Headline,null==_||_===!1?_:_.AssetID),{hash:{},inverse:M.program(3,s,l),fn:M.program(1,r,l),data:l}),(_||0===_)&&(U+=_),U+="');background-position:0 "+R((_=n&&n.Headline,_=null==_||_===!1?_:_.BackgroundYpos,typeof _===B?_.apply(n):_))+'%;">\n        <div class="IMG_Opacity">\n            <img src="',_=t["if"].call(n,(_=n&&n.Headline,null==_||_===!1?_:_.AssetID),{hash:{},inverse:M.program(3,s,l),fn:M.program(5,i,l),data:l}),(_||0===_)&&(U+=_),U+='" alt="" role="presentation" loading="lazy">\n        </div>\n        ',_=t["if"].call(n,(_=n&&n.Headline,null==_||_===!1?_:_.SocialAdvocacyItem),{hash:{},inverse:M.noop,fn:M.program(7,o,l),data:l}),(_||0===_)&&(U+=_),U+='\n        <div class="social-results">\n            ',_=t["if"].call(n,(_=n&&n.Headline,null==_||_===!1?_:_.Entity),{hash:{},inverse:M.noop,fn:M.program(9,c,l),data:l}),(_||0===_)&&(U+=_),U+='\n        </div>\n        <div class="headline-image-details" style="cursor: pointer;" onclick="window.location.href=\''+R((_=n&&n.Headline,_=null==_||_===!1?_:_.URL,typeof _===B?_.apply(n):_))+'\'">\n            <a class="is-w-a" target="'+R((_=n&&n.Headline,_=null==_||_===!1?_:_.Target,typeof _===B?_.apply(n):_))+'" href="'+R((_=n&&n.Headline,_=null==_||_===!1?_:_.URL,typeof _===B?_.apply(n):_))+'" dir="auto">\n                <h3>',_=n&&n.Headline,_=null==_||_===!1?_:_.Title,_=typeof _===B?_.apply(n):_,(_||0===_)&&(U+=_),U+='</h3>\n            </a>\n            <div class="headline-image-details-author">\n                <div class="row-fluid">\n                    <div class="span7">\n                        <!-- This will return true if AuthorType is greater than 0, i.e. not a person -->\n                        ',_=t["if"].call(n,(_=n&&n.Headline,null==_||_===!1?_:_.AuthorType),{hash:{},inverse:M.program(20,v,l),fn:M.program(17,f,l),data:l}),(_||0===_)&&(U+=_),U+='\n\n                    </div>\n                    <div class="span5">\n                        <time class="timeago pull-left" datetime="',_=t["if"].call(n,(_=n&&n.Headline,null==_||_===!1?_:_.ShowUpdateDate),{hash:{},inverse:M.program(26,D,l),fn:M.program(24,S,l),data:l}),(_||0===_)&&(U+=_),U+='"></time>\n                    </div>\n                </div>\n            </div>\n        </div>\n    </div>\n</section>\n\n<ul class="unstyled" id="showcase">\n    ',_=t.each.call(n,n&&n.Items,{hash:{},inverse:M.noop,fn:M.programWithDepth(28,T,l,n),data:l}),(_||0===_)&&(U+=_),U+="\n</ul>"}),n.widgets_topicscontent_showcasefull=a(function(a,n,t,e,l){function r(a,n){var e,l,r;return d((l=t.asset||a&&a.asset,r={hash:{},data:n},l?l.call(a,(e=a&&a.Headline,null==e||e===!1?e:e.AssetID),7,r):u.call(a,"asset",(e=a&&a.Headline,null==e||e===!1?e:e.AssetID),7,r)))}function s(){return"/Content/default/images/noImageAvailable300.gif"}function i(a,n){var e,l,r,s="";return s+='\n	<li class="center-cropped sub-items pull-left gridster-wac" style="background-image: url(\''+d((l=t.asset||a&&a.asset,r={hash:{},data:n},l?l.call(a,a&&a.AssetID,7,r):u.call(a,"asset",a&&a.AssetID,7,r)))+"');background-position:50% ",(l=t.BackgroundYpos)?e=l.call(a,{hash:{},data:n}):(l=a&&a.BackgroundYpos,e=typeof l===f?l.call(a,{hash:{},data:n}):l),s+=d(e)+'%;">\n		<div class="details">\n			',l=t.when||a&&a.when,r={hash:{},inverse:m.program(8,c,n),fn:m.program(6,o,n),data:n},e=l?l.call(a,"Type == 'TeamBlogPost'",r):u.call(a,"when","Type == 'TeamBlogPost'",r),(e||0===e)&&(s+=e),s+="\n		</div>\n	</li>\n	"}function o(a,n){var e,l,r,s="";return s+='\n			<a class="is-w-a" href="',(l=t.URL)?e=l.call(a,{hash:{},data:n}):(l=a&&a.URL,e=typeof l===f?l.call(a,{hash:{},data:n}):l),s+=d(e)+'" target="',(l=t.Target)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Target,e=typeof l===f?l.call(a,{hash:{},data:n}):l),s+=d(e)+'">\n				<img src="'+d((l=t.asset||a&&a.asset,r={hash:{},data:n},l?l.call(a,a&&a.AssetID,7,r):u.call(a,"asset",a&&a.AssetID,7,r)))+'" alt="" role="presentation" loading="lazy">\n				<h4 dir="auto"><span>',(l=t.Title)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Title,e=typeof l===f?l.call(a,{hash:{},data:n}):l),(e||0===e)&&(s+=e),s+="</span></h4>\n			</a>\n			"}function c(a,n){var e,l,r,s="";return s+='\n			<a class="is-w-a" target="',(l=t.Target)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Target,e=typeof l===f?l.call(a,{hash:{},data:n}):l),s+=d(e)+'" href="',(l=t.URL)?e=l.call(a,{hash:{},data:n}):(l=a&&a.URL,e=typeof l===f?l.call(a,{hash:{},data:n}):l),s+=d(e)+'">\n				<img src="'+d((l=t.asset||a&&a.asset,r={hash:{},data:n},l?l.call(a,a&&a.AssetID,5,r):u.call(a,"asset",a&&a.AssetID,5,r)))+'" alt="" role="presentation" loading="lazy">\n				<h4 dir="auto"><span>',(l=t.Title)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Title,e=typeof l===f?l.call(a,{hash:{},data:n}):l),(e||0===e)&&(s+=e),s+="</span></h4>\n			</a>\n			"}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var h,p="",u=t.helperMissing,d=this.escapeExpression,f="function",m=this;return p+='<ul class="unstyled pull-left" id="showcasefull">\n	<!-- data-swap-img-styles attribute used to then assign to inline style attribute to simulate lazy loading on document ready handler -->\n	<li class="headline center-cropped pull-left swap-widget-img gridster-wac"\n		data-swap-img-styles="background-image: url(\'',h=t["if"].call(n,(h=n&&n.Headline,null==h||h===!1?h:h.AssetID),{hash:{},inverse:m.program(3,s,l),fn:m.program(1,r,l),data:l}),(h||0===h)&&(p+=h),p+="');background-position:50% "+d((h=n&&n.Headline,h=null==h||h===!1?h:h.BackgroundYpos,typeof h===f?h.apply(n):h))+'%;">\n		<div class="details">\n			<a class="is-w-a" target="'+d((h=n&&n.Headline,h=null==h||h===!1?h:h.Target,typeof h===f?h.apply(n):h))+'" href="'+d((h=n&&n.Headline,h=null==h||h===!1?h:h.URL,typeof h===f?h.apply(n):h))+'">\n				<img src="',h=t["if"].call(n,(h=n&&n.Headline,null==h||h===!1?h:h.AssetID),{hash:{},inverse:m.program(3,s,l),fn:m.program(1,r,l),data:l}),(h||0===h)&&(p+=h),p+='" alt="" role="presentation" loading="lazy">\n				<h3 dir="auto"><span>',h=n&&n.Headline,h=null==h||h===!1?h:h.Title,h=typeof h===f?h.apply(n):h,(h||0===h)&&(p+=h),p+="</span></h3>\n			</a>\n		</div>\n	</li>\n	",h=t.each.call(n,n&&n.Items,{hash:{},inverse:m.noop,fn:m.program(5,i,l),data:l}),(h||0===h)&&(p+=h),p+="\n</ul>\n"}),n.widgets_topicscontent_singlearticle=a(function(a,n,t,e,l){function r(a,n,e){var l,r,c,p="";return p+='\n    <li class="gridster-wac">\n        <div style="background-image: url(\'',l=t["if"].call(a,a&&a.AssetID,{hash:{},inverse:U.program(4,i,n),fn:U.program(2,s,n),data:n}),(l||0===l)&&(p+=l),p+="'); background-position: 50% ",(r=t.BackgroundYpos)?l=r.call(a,{hash:{},data:n}):(r=a&&a.BackgroundYpos,l=typeof r===P?r.call(a,{hash:{},data:n}):r),p+=_(l)+'%;" class="center-cropped img-bg">\n            <div class="img-hover">\n                <img src="',l=t["if"].call(a,a&&a.AssetID,{hash:{},inverse:U.program(4,i,n),fn:U.program(2,s,n),data:n}),(l||0===l)&&(p+=l),p+='" alt="" role="presentation" loading="lazy"/>\n                <span style="display: none;" class="img-mask no-desc"></span>\n            </div>\n            <div style="" class="rev">\n                <h3 class="hiddentitle">Featured Content</h3>\n                <h4 dir="auto">\n                    <small>\n                        <a class="is-w-a" target="',(r=t.Target)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Target,l=typeof r===P?r.call(a,{hash:{},data:n}):r),p+=_(l)+'" href="',(r=t.URL)?l=r.call(a,{hash:{},data:n}):(r=a&&a.URL,l=typeof r===P?r.call(a,{hash:{},data:n}):r),p+=_(l)+'" ',l=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:U.noop,fn:U.program(6,o,n),data:n}),(l||0===l)&&(p+=l),p+=">\n                            ",(r=t.Title)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Title,l=typeof r===P?r.call(a,{hash:{},data:n}):r),(l||0===l)&&(p+=l),p+="\n                        </a>\n                    </small>\n                </h4>        \n                ",r=t.equals||a&&a.equals,c={hash:{},inverse:U.program(12,u,n),fn:U.programWithDepth(9,h,n,e),data:n},l=r?r.call(a,a&&a.Type,"Event",c):H.call(a,"equals",a&&a.Type,"Event",c),(l||0===l)&&(p+=l),p+='    \n                <ul class="unstyled">\n                    <li>\n                    <div class="row-fluid">\n                        <div class="span12 pull-left">\n                        ',r=t.when||a&&a.when,c={hash:{},inverse:U.program(20,y,n),fn:U.program(15,f,n),data:n},l=r?r.call(a,"Type != 'Event'",c):H.call(a,"when","Type != 'Event'",c),(l||0===l)&&(p+=l),p+='\n                        </div>\n                    </div>\n                    <div class="row-fluid">\n                        <div class="span6" style="opacity: 0; display: none;">\n                            <p class="muted is-author">\n                                <!-- This will return true if AuthorType is greater than 0, i.e. not a person -->\n                                ',l=t["if"].call(a,a&&a.AuthorType,{hash:{},inverse:U.programWithDepth(28,I,n,a),fn:U.programWithDepth(25,D,n,e),data:n}),(l||0===l)&&(p+=l),p+='\n                            </p>\n                        </div>\n                        <div class="span6 pull-left likes" style="opacity: 0; display: none;">\n                        ',l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:U.noop,fn:U.programWithDepth(32,b,n,e),data:n}),(l||0===l)&&(p+=l),p+="\n                        </div>\n                    </div>\n                    </li>\n                </ul>\n            </div>\n        </div>\n    </li>\n    "}function s(a,n){var e,l,r;return l=t.asset||a&&a.asset,r={hash:{},data:n},e=l?l.call(a,a&&a.AssetID,7,r):H.call(a,"asset",a&&a.AssetID,7,r),e||0===e?e:""}function i(a,n){var e,l;return _((e=t.avatar||a&&a.avatar,l={hash:{},data:n},e?e.call(a,a&&a.Type,l):H.call(a,"avatar",a&&a.Type,l)))}function o(a,n){var e,l,r,s="";return s+=" ",l=t.hovercard||a&&a.hovercard,r={hash:{},inverse:U.noop,fn:U.program(7,c,n),data:n},e=l?l.call(a,a&&a.Type,a&&a.ID,r):H.call(a,"hovercard",a&&a.Type,a&&a.ID,r),(e||0===e)&&(s+=e),s+=" "}function c(){var a="";return a}function h(a,n,e){var l,r="";return r+="\n                    ",l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:U.noop,fn:U.programWithDepth(10,p,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n                "}function p(a,n,t){var e,l="";return l+='\n                    <p class="muted" style="opacity: 0; display: none;"><strong>'+_((e=t&&t.SystemText,e=null==e||e===!1?e:e.Location,typeof e===P?e.apply(a):e))+":</strong> ",e=a&&a.Entity,e=null==e||e===!1?e:e.Location,e=typeof e===P?e.apply(a):e,(e||0===e)&&(l+=e),l+="</p>\n                    "}function u(a,n){var e,l="";return l+="\n                    ",e=t["if"].call(a,a&&a.Summary,{hash:{},inverse:U.noop,fn:U.program(13,d,n),data:n}),(e||0===e)&&(l+=e),l+="\n                "}function d(a,n){var e,l,r,s="";return s+='\n                    <p class="muted" style="opacity: 0; display: none;" dir="auto">\n                        ',l=t.truncate||a&&a.truncate,r={hash:{},data:n},e=l?l.call(a,a&&a.Summary,60,r):H.call(a,"truncate",a&&a.Summary,60,r),(e||0===e)&&(s+=e),s+="\n                    </p>\n                    "}function f(a,n){var e,l="";return l+='\n			            <time class="timeago pull-left timeago-date muted" datetime="',e=t["if"].call(a,a&&a.ShowUpdateDate,{hash:{},inverse:U.program(18,v,n),fn:U.program(16,m,n),data:n}),(e||0===e)&&(l+=e),l+='"></time>\n                        '}function m(a,n){var e,l,r="";return r+=" ",(l=t.UpdateDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.UpdateDate,e=typeof l===P?l.call(a,{hash:{},data:n}):l),r+=_(e)+" "}function v(a,n){var e,l,r="";return r+=" ",(l=t.StartDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.StartDate,e=typeof l===P?l.call(a,{hash:{},data:n}):l),r+=_(e)+" "}function y(a,n){var e,l,r,s="";return s+="\n                        ",l=t.equals||a&&a.equals,r={hash:{},inverse:U.program(23,S,n),fn:U.program(21,g,n),data:n},e=l?l.call(a,(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r):H.call(a,"equals",(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r),(e||0===e)&&(s+=e),s+="\n                        "}function g(a,n){var e,l,r,s="";return s+='<span class="pull-left timeago timeago-doubledate muted">\n                            ',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:U.noop,fn:U.program(7,c,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.EndDate,r):H.call(a,"eventTimeString",a&&a.StartDate,a&&a.EndDate,r),(e||0===e)&&(s+=e),s+="\n                        </span>"}function S(a,n){var e,l,r,s="";return s+='<span class="timeago timeago-singledate muted">\n                            ',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:U.noop,fn:U.program(7,c,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.StartDate,r):H.call(a,"eventTimeString",a&&a.StartDate,a&&a.StartDate,r),(e||0===e)&&(s+=e),s+="\n                        </span>"}function D(a,n,e){var l,r="";return r+="\n                                    ",l=t["if"].call(a,a&&a.Author,{hash:{},inverse:U.noop,fn:U.programWithDepth(26,T,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n                                "}function T(a,n,e){var l,r,s="";return s+="\n                                        <!-- Display a span instead of a link -->\n                                        "+_((l=e&&e.SystemText,l=null==l||l===!1?l:l.By,typeof l===P?l.apply(a):l))+" <span><strong>",(r=t.Author)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Author,l=typeof r===P?r.call(a,{hash:{},data:n}):r),s+=_(l)+"</strong></span>\n                                    "}function I(a,n,e){var l,r="";return r+="\n                                    ",l=t["if"].call(a,a&&a.Author,{hash:{},inverse:U.noop,fn:U.programWithDepth(29,w,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n                                "}function w(a,n,e){var l,r,s,i="";return i+="\n                                        "+_((l=e&&e.SystemText,l=null==l||l===!1?l:l.By,typeof l===P?l.apply(a):l))+' <a href="'+_((r=t.link||a&&a.link,s={hash:{},data:n},r?r.call(a,"Person",a&&a.AuthorID,s):H.call(a,"link","Person",a&&a.AuthorID,s)))+'" ',l=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:U.noop,fn:U.program(30,A,n),data:n}),(l||0===l)&&(i+=l),i+=">",(r=t.Author)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Author,l=typeof r===P?r.call(a,{hash:{},data:n}):r),i+=_(l)+"</a>\n                                    "}function A(a,n){var e,l,r="";return r+=' data-personid="',(l=t.AuthorID)?e=l.call(a,{hash:{},data:n}):(l=a&&a.AuthorID,e=typeof l===P?l.call(a,{hash:{},data:n}):l),r+=_(e)+'" '}function b(a,n,e){var l,r,s,i="";return i+='\n                            <span class="pull-right count">\n                                ',l=t["if"].call(a,a&&a.SocialAdvocacyItem,{hash:{},inverse:U.noop,fn:U.programWithDepth(33,C,n,e),data:n}),(l||0===l)&&(i+=l),i+="\n                                ",r=t.equals||a&&a.equals,s={hash:{},inverse:U.noop,fn:U.programWithDepth(35,q,n,e),data:n},l=r?r.call(a,(l=a&&a.Entity,null==l||l===!1?l:l.IsCommentsAllowed),"true",s):H.call(a,"equals",(l=a&&a.Entity,null==l||l===!1?l:l.IsCommentsAllowed),"true",s),(l||0===l)&&(i+=l),i+='\n                                <span title="',r=t.equals||a&&a.equals,s={hash:{},inverse:U.program(40,x,n),fn:U.program(36,k,n),data:n},l=r?r.call(a,a&&a.LikeCount,"-1",s):H.call(a,"equals",a&&a.LikeCount,"-1",s),(l||0===l)&&(i+=l),i+=" "+_((l=e&&e.SystemText,l=null==l||l===!1?l:l.Likes,typeof l===P?l.apply(a):l))+'">\n                                    <span class="icon is-normal"><i class="iconextra-like ii-like"></i></span>\n                                    ',r=t.equals||a&&a.equals,s={hash:{},inverse:U.program(40,x,n),fn:U.program(36,k,n),data:n},l=r?r.call(a,a&&a.LikeCount,"-1",s):H.call(a,"equals",a&&a.LikeCount,"-1",s),(l||0===l)&&(i+=l),i+="\n                                </span>\n                            </span>\n                        "}function C(a,n,e){var l,r,s="";return s+='\n                                <button id="soc-adv-share-btn" \n                                        class="btn btn-primary btn-small" \n                                        onclick="Widgets.SocialAdvocacy_ShareClicked(',(r=t.ID)?l=r.call(a,{hash:{},data:n}):(r=a&&a.ID,l=typeof r===P?r.call(a,{hash:{},data:n}):r),s+=_(l)+')"\n                                        type="button"\n                                        aria-label="'+_((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShareAria,typeof l===P?l.apply(a):l))+'"\n                                >\n                                    <i class="fa fa-share-alt ii ii-share"></i>\n                                </button>\n                                '}function q(a,n,e){var l,r,s,i="";return i+='\n                                <span title="',r=t.equals||a&&a.equals,s={hash:{},inverse:U.program(38,E,n),fn:U.program(36,k,n),data:n},l=r?r.call(a,a&&a.CommentCount,"-1",s):H.call(a,"equals",a&&a.CommentCount,"-1",s),(l||0===l)&&(i+=l),i+=" "+_((l=e&&e.SystemText,l=null==l||l===!1?l:l.Comments,typeof l===P?l.apply(a):l))+'">\n                                    <span class="icon is-normal"><i class="iconextra-comment ii-comments"></i></span>\n                                    ',r=t.equals||a&&a.equals,s={hash:{},inverse:U.program(38,E,n),fn:U.program(36,k,n),data:n},l=r?r.call(a,(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s):H.call(a,"equals",(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s),(l||0===l)&&(i+=l),i+="\n                                </span>\n                                "
}function k(){return"0"}function E(a,n){var e,l;return(l=t.CommentCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.CommentCount,e=typeof l===P?l.call(a,{hash:{},data:n}):l),_(e)}function x(a,n){var e,l;return(l=t.LikeCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.LikeCount,e=typeof l===P?l.call(a,{hash:{},data:n}):l),_(e)}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var L,W="",H=t.helperMissing,_=this.escapeExpression,U=this,P="function";return W+='<ul class="unstyled articlesingle">\n    ',L=t.each.call(n,n&&n.Items,{hash:{},inverse:U.noop,fn:U.programWithDepth(1,r,l,n),data:l}),(L||0===L)&&(W+=L),W+="\n</ul>"}),n.widgets_topicscontent_singlehero=a(function(a,n,t,e,l){function r(a,n,e){var l,r,c,p="";return p+='\n		<li class="item gridster-wac">\n			<div style="background-image: url(\'',l=t["if"].call(a,a&&a.AssetID,{hash:{},inverse:L.program(4,i,n),fn:L.program(2,s,n),data:n}),(l||0===l)&&(p+=l),p+="');background-position:center ",(r=t.BackgroundYpos)?l=r.call(a,{hash:{},data:n}):(r=a&&a.BackgroundYpos,l=typeof r===x?r.call(a,{hash:{},data:n}):r),p+=E(l)+'%;" class="center-cropped img-bg">\n				<img src="',l=t["if"].call(a,a&&a.AssetID,{hash:{},inverse:L.program(4,i,n),fn:L.program(2,s,n),data:n}),(l||0===l)&&(p+=l),p+='" alt="" role="presentation" loading="lazy" />\n			</div>\n			<div class="details">\n				<h3 dir="auto">\n					<a class="is-w-a" target="',(r=t.Target)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Target,l=typeof r===x?r.call(a,{hash:{},data:n}):r),p+=E(l)+'" href="',(r=t.URL)?l=r.call(a,{hash:{},data:n}):(r=a&&a.URL,l=typeof r===x?r.call(a,{hash:{},data:n}):r),p+=E(l)+'">',(r=t.Title)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Title,l=typeof r===x?r.call(a,{hash:{},data:n}):r),(l||0===l)&&(p+=l),p+="</a>\n				</h3>\n				",r=t.equals||a&&a.equals,c={hash:{},inverse:L.programWithDepth(9,h,n,e),fn:L.programWithDepth(6,o,n,e),data:n},l=r?r.call(a,a&&a.Type,"Event",c):k.call(a,"equals",a&&a.Type,"Event",c),(l||0===l)&&(p+=l),p+='\n				<ul class="unstyled">\n					<li>\n						<div class="row-fluid">\n							<div class="span12">\n								<p class="muted">\n									<!-- This will return true if AuthorType is greater than 0, i.e. not a person -->\n									',l=t["if"].call(a,a&&a.AuthorType,{hash:{},inverse:L.programWithDepth(16,m,n,e),fn:L.programWithDepth(13,d,n,e),data:n}),(l||0===l)&&(p+=l),p+="\n\n									",r=t.when||a&&a.when,c={hash:{},inverse:L.program(25,T,n),fn:L.program(20,g,n),data:n},l=r?r.call(a,"Type != 'Event'",c):k.call(a,"when","Type != 'Event'",c),(l||0===l)&&(p+=l),p+="\n\n									",l=t["if"].call(a,a&&a.SocialAdvocacyItem,{hash:{},inverse:L.noop,fn:L.programWithDepth(31,b,n,e),data:n}),(l||0===l)&&(p+=l),p+="\n								</p>\n							</div>\n						</div>\n					</li>\n				</ul>\n			</div>\n		</li>\n		"}function s(a,n){var e,l,r;return l=t.asset||a&&a.asset,r={hash:{},data:n},e=l?l.call(a,a&&a.AssetID,7,r):k.call(a,"asset",a&&a.AssetID,7,r),e||0===e?e:""}function i(a,n){var e,l;return E((e=t.avatar||a&&a.avatar,l={hash:{},data:n},e?e.call(a,a&&a.Type,l):k.call(a,"avatar",a&&a.Type,l)))}function o(a,n,e){var l,r="";return r+="\n				",l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:L.noop,fn:L.programWithDepth(7,c,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n				"}function c(a,n,t){var e,l="";return l+='\n				<p class="muted"><strong>'+E((e=t&&t.SystemText,e=null==e||e===!1?e:e.Location,typeof e===x?e.apply(a):e))+":</strong> ",e=a&&a.Entity,e=null==e||e===!1?e:e.Location,e=typeof e===x?e.apply(a):e,(e||0===e)&&(l+=e),l+="</p>\n				"}function h(a,n,e){var l,r="";return r+="\n				",l=t["if"].call(a,(l=e&&e.Options,null==l||l===!1?l:l.IncludeSummary),{hash:{},inverse:L.noop,fn:L.program(10,p,n),data:n}),(l||0===l)&&(r+=l),r+="\n				"}function p(a,n){var e,l="";return l+="\n				",e=t["if"].call(a,a&&a.Summary,{hash:{},inverse:L.noop,fn:L.program(11,u,n),data:n}),(e||0===e)&&(l+=e),l+="\n				"}function u(a,n){var e,l,r,s="";return s+='\n				<p class="muted" dir="auto">',l=t.truncate||a&&a.truncate,r={hash:{},data:n},e=l?l.call(a,a&&a.Summary,60,r):k.call(a,"truncate",a&&a.Summary,60,r),(e||0===e)&&(s+=e),s+="</p>\n				"}function d(a,n,e){var l,r="";return r+="\n									",l=t["if"].call(a,a&&a.Author,{hash:{},inverse:L.noop,fn:L.programWithDepth(14,f,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n									"}function f(a,n,e){var l,r,s="";return s+='\n									<!-- Display a span instead of a link -->\n									<span class="is-author">\n										'+E((l=e&&e.SystemText,l=null==l||l===!1?l:l.By,typeof l===x?l.apply(a):l))+" <strong>",(r=t.Author)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Author,l=typeof r===x?r.call(a,{hash:{},data:n}):r),s+=E(l)+"</strong>\n									</span>\n									"}function m(a,n,e){var l,r="";return r+="\n									",l=t["if"].call(a,a&&a.Author,{hash:{},inverse:L.noop,fn:L.programWithDepth(17,v,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n									"}function v(a,n,e){var l,r,s,i="";return i+='\n									<span class="is-author">\n										'+E((l=e&&e.SystemText,l=null==l||l===!1?l:l.By,typeof l===x?l.apply(a):l))+' <a href="'+E((r=t.link||a&&a.link,s={hash:{},data:n},r?r.call(a,"Person",a&&a.AuthorID,s):k.call(a,"link","Person",a&&a.AuthorID,s)))+'" ',l=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:L.noop,fn:L.program(18,y,n),data:n}),(l||0===l)&&(i+=l),i+=">",(r=t.Author)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Author,l=typeof r===x?r.call(a,{hash:{},data:n}):r),i+=E(l)+"</a>,\n									</span>\n									"}function y(a,n){var e,l,r="";return r+=' data-personid="',(l=t.AuthorID)?e=l.call(a,{hash:{},data:n}):(l=a&&a.AuthorID,e=typeof l===x?l.call(a,{hash:{},data:n}):l),r+=E(e)+'" '}function g(a,n){var e,l="";return l+='<time class="timeago timeago-date muted" datetime="',e=t["if"].call(a,a&&a.ShowUpdateDate,{hash:{},inverse:L.program(23,D,n),fn:L.program(21,S,n),data:n}),(e||0===e)&&(l+=e),l+='"></time>\n									'}function S(a,n){var e,l,r="";return r+=" ",(l=t.UpdateDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.UpdateDate,e=typeof l===x?l.call(a,{hash:{},data:n}):l),r+=E(e)+" "}function D(a,n){var e,l,r="";return r+=" ",(l=t.StartDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.StartDate,e=typeof l===x?l.call(a,{hash:{},data:n}):l),r+=E(e)+" "}function T(a,n){var e,l,r,s="";return s+="\n									",l=t.equals||a&&a.equals,r={hash:{},inverse:L.program(29,A,n),fn:L.program(26,I,n),data:n},e=l?l.call(a,(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r):k.call(a,"equals",(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r),(e||0===e)&&(s+=e),s+="\n									"}function I(a,n){var e,l,r,s="";return s+='<span class="timeago timeago-doubledate muted">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:L.noop,fn:L.program(27,w,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.EndDate,r):k.call(a,"eventTimeString",a&&a.StartDate,a&&a.EndDate,r),(e||0===e)&&(s+=e),s+="</span>"}function w(){var a="";return a}function A(a,n){var e,l,r,s="";return s+='<span class="timeago timeago-singledate muted">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:L.noop,fn:L.program(27,w,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.StartDate,r):k.call(a,"eventTimeString",a&&a.StartDate,a&&a.StartDate,r),(e||0===e)&&(s+=e),s+="</span>"}function b(a,n,e){var l,r,s="";return s+='\n									<button id="soc-adv-share-btn" \n											class="btn btn-primary btn-small" \n											onclick="Widgets.SocialAdvocacy_ShareClicked(',(r=t.ID)?l=r.call(a,{hash:{},data:n}):(r=a&&a.ID,l=typeof r===x?r.call(a,{hash:{},data:n}):r),s+=E(l)+')"\n											type="button"\n											aria-label="'+E((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShareAria,typeof l===x?l.apply(a):l))+'"\n									>\n										'+E((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShare,typeof l===x?l.apply(a):l))+'&nbsp;<i class="fa fa-share-alt ii ii-share"></i>\n									</button>\n									'}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var C,q="",k=t.helperMissing,E=this.escapeExpression,x="function",L=this;return q+='<div id="mySingleHero" class="carousel slide">\n	<ul class="unstyled single-hero">\n		',C=t.each.call(n,n&&n.Items,{hash:{},inverse:L.noop,fn:L.programWithDepth(1,r,l,n),data:l}),(C||0===C)&&(q+=C),q+='\n	</ul>\n	<a class="carousel-control left" href="#mySingleHero" data-slide="prev">&lsaquo;</a>\n	<a class="carousel-control right" href="#mySingleHero" data-slide="next">&rsaquo;</a>\n</div>\n'}),n.widgets_topicscontent_singleheroinline=a(function(a,n,t,e,l){function r(a,n,e){var l,r,c,p="";return p+='\n		<li class="item gridster-wac">\n			<div class="row-fluid">\n				<div style="background-image: url(\'',l=t["if"].call(a,a&&a.AssetID,{hash:{},inverse:L.program(4,i,n),fn:L.program(2,s,n),data:n}),(l||0===l)&&(p+=l),p+="');background-position:center ",(r=t.BackgroundYpos)?l=r.call(a,{hash:{},data:n}):(r=a&&a.BackgroundYpos,l=typeof r===x?r.call(a,{hash:{},data:n}):r),p+=E(l)+'%;" class="span8 center-cropped img-bg">\n					<img src="',l=t["if"].call(a,a&&a.AssetID,{hash:{},inverse:L.program(4,i,n),fn:L.program(2,s,n),data:n}),(l||0===l)&&(p+=l),p+='" alt="" role="presentation" loading="lazy"/>\n				</div>\n				<div class="span4 details">\n					<h3 dir="auto">\n						<a class="is-w-a" target="',(r=t.Target)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Target,l=typeof r===x?r.call(a,{hash:{},data:n}):r),p+=E(l)+'" href="',(r=t.URL)?l=r.call(a,{hash:{},data:n}):(r=a&&a.URL,l=typeof r===x?r.call(a,{hash:{},data:n}):r),p+=E(l)+'">',(r=t.Title)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Title,l=typeof r===x?r.call(a,{hash:{},data:n}):r),(l||0===l)&&(p+=l),p+="</a>\n					</h3>\n					",r=t.equals||a&&a.equals,c={hash:{},inverse:L.programWithDepth(9,h,n,e),fn:L.programWithDepth(6,o,n,e),data:n},l=r?r.call(a,a&&a.Type,"Event",c):k.call(a,"equals",a&&a.Type,"Event",c),(l||0===l)&&(p+=l),p+='\n					<ul class="unstyled">\n						<li>\n							<div class="row-fluid">\n								<div class="span12">\n									<p class="muted">\n										<!-- This will return true if AuthorType is greater than 0, i.e. not a person -->\n										',l=t["if"].call(a,a&&a.AuthorType,{hash:{},inverse:L.programWithDepth(16,m,n,e),fn:L.programWithDepth(13,d,n,e),data:n}),(l||0===l)&&(p+=l),p+="\n\n										",r=t.when||a&&a.when,c={hash:{},inverse:L.program(25,T,n),fn:L.program(20,g,n),data:n},l=r?r.call(a,"Type != 'Event'",c):k.call(a,"when","Type != 'Event'",c),(l||0===l)&&(p+=l),p+="\n									</p>\n								</div>\n							</div>\n						</li>\n					</ul>\n					",l=t["if"].call(a,a&&a.SocialAdvocacyItem,{hash:{},inverse:L.noop,fn:L.programWithDepth(31,b,n,e),data:n}),(l||0===l)&&(p+=l),p+="\n				</div>\n			</div>\n		</li>\n		"}function s(a,n){var e,l,r;return l=t.asset||a&&a.asset,r={hash:{},data:n},e=l?l.call(a,a&&a.AssetID,7,r):k.call(a,"asset",a&&a.AssetID,7,r),e||0===e?e:""}function i(a,n){var e,l;return E((e=t.avatar||a&&a.avatar,l={hash:{},data:n},e?e.call(a,a&&a.Type,l):k.call(a,"avatar",a&&a.Type,l)))}function o(a,n,e){var l,r="";return r+="\n					",l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:L.noop,fn:L.programWithDepth(7,c,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n					"}function c(a,n,t){var e,l="";return l+='\n					<p class="muted"><strong>'+E((e=t&&t.SystemText,e=null==e||e===!1?e:e.Location,typeof e===x?e.apply(a):e))+":</strong> ",e=a&&a.Entity,e=null==e||e===!1?e:e.Location,e=typeof e===x?e.apply(a):e,(e||0===e)&&(l+=e),l+="</p>\n					"}function h(a,n,e){var l,r="";return r+="\n					",l=t["if"].call(a,(l=e&&e.Options,null==l||l===!1?l:l.IncludeSummary),{hash:{},inverse:L.noop,fn:L.program(10,p,n),data:n}),(l||0===l)&&(r+=l),r+="\n					"}function p(a,n){var e,l="";return l+="\n					",e=t["if"].call(a,a&&a.Summary,{hash:{},inverse:L.noop,fn:L.program(11,u,n),data:n}),(e||0===e)&&(l+=e),l+="\n					"}function u(a,n){var e,l,r,s="";return s+='\n					<p class="muted" dir="auto">',l=t.truncate||a&&a.truncate,r={hash:{},data:n},e=l?l.call(a,a&&a.Summary,60,r):k.call(a,"truncate",a&&a.Summary,60,r),(e||0===e)&&(s+=e),s+="</p>\n					"}function d(a,n,e){var l,r="";return r+="\n										",l=t["if"].call(a,a&&a.Author,{hash:{},inverse:L.noop,fn:L.programWithDepth(14,f,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n										"}function f(a,n,e){var l,r,s="";return s+='\n										<!-- Display a span instead of a link -->\n										<span class="is-author">\n											'+E((l=e&&e.SystemText,l=null==l||l===!1?l:l.By,typeof l===x?l.apply(a):l))+" <span><strong>",(r=t.Author)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Author,l=typeof r===x?r.call(a,{hash:{},data:n}):r),s+=E(l)+"</strong></span>\n										</span>\n										"}function m(a,n,e){var l,r="";return r+="\n										",l=t["if"].call(a,a&&a.Author,{hash:{},inverse:L.noop,fn:L.programWithDepth(17,v,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n										"}function v(a,n,e){var l,r,s,i="";return i+='\n										<span class="is-author">\n											'+E((l=e&&e.SystemText,l=null==l||l===!1?l:l.By,typeof l===x?l.apply(a):l))+' <a href="'+E((r=t.link||a&&a.link,s={hash:{},data:n},r?r.call(a,"Person",a&&a.AuthorID,s):k.call(a,"link","Person",a&&a.AuthorID,s)))+'" ',l=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:L.noop,fn:L.program(18,y,n),data:n}),(l||0===l)&&(i+=l),i+=">",(r=t.Author)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Author,l=typeof r===x?r.call(a,{hash:{},data:n}):r),i+=E(l)+"</a>,\n										</span>\n										"}function y(a,n){var e,l,r="";return r+=' data-personid="',(l=t.AuthorID)?e=l.call(a,{hash:{},data:n}):(l=a&&a.AuthorID,e=typeof l===x?l.call(a,{hash:{},data:n}):l),r+=E(e)+'" '}function g(a,n){var e,l="";return l+='<time class="timeago timeago-date muted" datetime="',e=t["if"].call(a,a&&a.ShowUpdateDate,{hash:{},inverse:L.program(23,D,n),fn:L.program(21,S,n),data:n}),(e||0===e)&&(l+=e),l+='"></time>'}function S(a,n){var e,l,r="";return r+=" ",(l=t.UpdateDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.UpdateDate,e=typeof l===x?l.call(a,{hash:{},data:n}):l),r+=E(e)+" "}function D(a,n){var e,l,r="";return r+=" ",(l=t.StartDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.StartDate,e=typeof l===x?l.call(a,{hash:{},data:n}):l),r+=E(e)+" "}function T(a,n){var e,l,r;return l=t.equals||a&&a.equals,r={hash:{},inverse:L.program(29,A,n),fn:L.program(26,I,n),data:n},e=l?l.call(a,(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r):k.call(a,"equals",(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r),e||0===e?e:""}function I(a,n){var e,l,r,s="";return s+='<span class="timeago timeago-doubledate muted">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:L.noop,fn:L.program(27,w,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.EndDate,r):k.call(a,"eventTimeString",a&&a.StartDate,a&&a.EndDate,r),(e||0===e)&&(s+=e),s+="</span>"}function w(){var a="";return a}function A(a,n){var e,l,r,s="";return s+='<span class="timeago timeago-singledate muted">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:L.noop,fn:L.program(27,w,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.StartDate,r):k.call(a,"eventTimeString",a&&a.StartDate,a&&a.StartDate,r),(e||0===e)&&(s+=e),s+="</span>"}function b(a,n,e){var l,r,s="";return s+='\n					<button id="soc-adv-share-btn" \n							class="btn btn-primary btn-small" \n							onclick="Widgets.SocialAdvocacy_ShareClicked(',(r=t.ID)?l=r.call(a,{hash:{},data:n}):(r=a&&a.ID,l=typeof r===x?r.call(a,{hash:{},data:n}):r),s+=E(l)+')"\n							type="button"\n							aria-label="'+E((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShareAria,typeof l===x?l.apply(a):l))+'"\n					>\n						'+E((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShare,typeof l===x?l.apply(a):l))+'&nbsp;<i class="fa fa-share-alt ii ii-share"></i>\n					</button>\n					'}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var C,q="",k=t.helperMissing,E=this.escapeExpression,x="function",L=this;return q+='<div id="myInlineHero" class="carousel slide">\n	<ul class="unstyled single-hero-inline">\n		',C=t.each.call(n,n&&n.Items,{hash:{},inverse:L.noop,fn:L.programWithDepth(1,r,l,n),data:l}),(C||0===C)&&(q+=C),q+='\n	</ul>\n	<a class="carousel-control left" href="#myInlineHero" data-slide="prev">&lsaquo;</a>\n	<a class="carousel-control right" href="#myInlineHero" data-slide="next">&rsaquo;</a>\n</div>\n'}),n.widgets_topicscontent_snippetview=a(function(a,n,t,e,l){function r(a,n,e){var l,r,i,c="";return c+='\n		<li class="item">\n			<a target="',(r=t.Target)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Target,l=typeof r===q?r.call(a,{hash:{},data:n}):r),c+=k(l)+'" href="',(r=t.URL)?l=r.call(a,{hash:{},data:n}):(r=a&&a.URL,l=typeof r===q?r.call(a,{hash:{},data:n}):r),c+=k(l)+'" class="item-entry">\n				<div class="details">\n					<h3 dir="auto">',(r=t.Title)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Title,l=typeof r===q?r.call(a,{hash:{},data:n}):r),(l||0===l)&&(c+=l),c+="</h3>\n					",r=t.equals||a&&a.equals,i={hash:{},inverse:E.programWithDepth(5,o,n,e),fn:E.programWithDepth(2,s,n,e),data:n},l=r?r.call(a,a&&a.Type,"Event",i):x.call(a,"equals",a&&a.Type,"Event",i),(l||0===l)&&(c+=l),c+='\n					<p class="muted">',l=t["if"].call(a,a&&a.Author,{hash:{},inverse:E.noop,fn:E.programWithDepth(9,p,n,e),data:n}),(l||0===l)&&(c+=l),r=t.when||a&&a.when,i={hash:{},inverse:E.program(16,m,n),fn:E.program(11,u,n),data:n},l=r?r.call(a,"Type != 'Event'",i):x.call(a,"when","Type != 'Event'",i),(l||0===l)&&(c+=l),c+='</p>\n				</div>\n			</a>\n			<div class="control-items hidden-phone hidden-tablet social-tools">\n				',l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:E.noop,fn:E.programWithDepth(22,S,n,e),data:n}),(l||0===l)&&(c+=l),c+="\n				",l=t["if"].call(a,a&&a.SocialAdvocacyItem,{hash:{},inverse:E.noop,fn:E.programWithDepth(30,A,n,e),data:n}),(l||0===l)&&(c+=l),c+="\n			</div>\n		</li>\n		"}function s(a,n,e){var l,r="";return r+="\n							",l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:E.noop,fn:E.programWithDepth(3,i,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n						"}function i(a,n,t){var e,l="";return l+='\n							<p class="muted" style="margin:0;"><strong>'+k((e=t&&t.SystemText,e=null==e||e===!1?e:e.Location,typeof e===q?e.apply(a):e))+":</strong> ",e=a&&a.Entity,e=null==e||e===!1?e:e.Location,e=typeof e===q?e.apply(a):e,(e||0===e)&&(l+=e),l+="</p>\n							"}function o(a,n,e){var l,r="";return r+="\n						",l=t["if"].call(a,(l=e&&e.Options,null==l||l===!1?l:l.IncludeSummary),{hash:{},inverse:E.noop,fn:E.program(6,c,n),data:n}),(l||0===l)&&(r+=l),r+="\n					"}function c(a,n){var e,l="";return l+="\n							",e=t["if"].call(a,a&&a.Summary,{hash:{},inverse:E.noop,fn:E.program(7,h,n),data:n}),(e||0===e)&&(l+=e),l+="\n						"}function h(a,n){var e,l,r,s="";return s+='\n							<p class="muted" dir="auto">',l=t.truncate||a&&a.truncate,r={hash:{},data:n},e=l?l.call(a,a&&a.Summary,60,r):x.call(a,"truncate",a&&a.Summary,60,r),(e||0===e)&&(s+=e),s+="</p>\n							"}function p(a,n,e){var l,r,s="";return s+=k((l=e&&e.SystemText,l=null==l||l===!1?l:l.By,typeof l===q?l.apply(a):l))+" ",(r=t.Author)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Author,l=typeof r===q?r.call(a,{hash:{},data:n}):r),s+=k(l)+", "}function u(a,n){var e,l="";return l+='<time class="timeago timeago-date muted" datetime="',e=t["if"].call(a,a&&a.ShowUpdateDate,{hash:{},inverse:E.program(14,f,n),fn:E.program(12,d,n),data:n}),(e||0===e)&&(l+=e),l+='"></time>'}function d(a,n){var e,l,r="";return r+=" ",(l=t.UpdateDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.UpdateDate,e=typeof l===q?l.call(a,{hash:{},data:n}):l),r+=k(e)+" "}function f(a,n){var e,l,r="";return r+=" ",(l=t.StartDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.StartDate,e=typeof l===q?l.call(a,{hash:{},data:n}):l),r+=k(e)+" "}function m(a,n){var e,l,r;return l=t.equals||a&&a.equals,r={hash:{},inverse:E.program(20,g,n),fn:E.program(17,v,n),data:n},e=l?l.call(a,(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r):x.call(a,"equals",(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r),e||0===e?e:""}function v(a,n){var e,l,r,s="";return s+='<span class="timeago timeago-doubledate muted">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:E.noop,fn:E.program(18,y,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.EndDate,r):x.call(a,"eventTimeString",a&&a.StartDate,a&&a.EndDate,r),(e||0===e)&&(s+=e),s+="</span>"}function y(){var a="";return a}function g(a,n){var e,l,r,s="";return s+='<span class="timeago timeago-singledate muted">',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:E.noop,fn:E.program(18,y,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.StartDate,r):x.call(a,"eventTimeString",a&&a.StartDate,a&&a.StartDate,r),(e||0===e)&&(s+=e),s+="</span>"}function S(a,n,e){var l,r,s,i="";return i+="\n				",r=t.equals||a&&a.equals,s={hash:{},inverse:E.noop,fn:E.programWithDepth(23,D,n,e),data:n},l=r?r.call(a,(l=a&&a.Entity,null==l||l===!1?l:l.IsCommentsAllowed),"true",s):x.call(a,"equals",(l=a&&a.Entity,null==l||l===!1?l:l.IsCommentsAllowed),"true",s),(l||0===l)&&(i+=l),i+='\n				<span title="',r=t.equals||a&&a.equals,s={hash:{},inverse:E.program(28,w,n),fn:E.program(24,T,n),data:n},l=r?r.call(a,a&&a.LikeCount,"-1=",s):x.call(a,"equals",a&&a.LikeCount,"-1=",s),(l||0===l)&&(i+=l),i+=" "+k((l=e&&e.SystemText,l=null==l||l===!1?l:l.Likes,typeof l===q?l.apply(a):l))+'">\n					<span class="icon is-normal"><i class="iconextra-like ii-like"></i></span>\n					',r=t.equals||a&&a.equals,s={hash:{},inverse:E.program(28,w,n),fn:E.program(24,T,n),data:n},l=r?r.call(a,a&&a.LikeCount,"-1",s):x.call(a,"equals",a&&a.LikeCount,"-1",s),(l||0===l)&&(i+=l),i+="\n				</span>\n				"}function D(a,n,e){var l,r,s,i="";return i+='\n				<span title="',r=t.equals||a&&a.equals,s={hash:{},inverse:E.program(26,I,n),fn:E.program(24,T,n),data:n},l=r?r.call(a,a&&a.CommentCount,"-1=",s):x.call(a,"equals",a&&a.CommentCount,"-1=",s),(l||0===l)&&(i+=l),i+=" "+k((l=e&&e.SystemText,l=null==l||l===!1?l:l.Comments,typeof l===q?l.apply(a):l))+'">\n					<span class="icon is-normal"><i class="iconextra-comment ii-comments"></i></span>\n					',r=t.equals||a&&a.equals,s={hash:{},inverse:E.program(26,I,n),fn:E.program(24,T,n),data:n},l=r?r.call(a,(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s):x.call(a,"equals",(l=a&&a.Entity,null==l||l===!1?l:l.CommentCount),"-1",s),(l||0===l)&&(i+=l),i+="\n				</span>\n				"}function T(){return"0"}function I(a,n){var e,l;return(l=t.CommentCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.CommentCount,e=typeof l===q?l.call(a,{hash:{},data:n}):l),k(e)}function w(a,n){var e,l;return(l=t.LikeCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.LikeCount,e=typeof l===q?l.call(a,{hash:{},data:n}):l),k(e)}function A(a,n,e){var l,r,s="";return s+='\n				<button id="soc-adv-share-btn" \n						class="btn btn-primary btn-small" \n						onclick="Widgets.SocialAdvocacy_ShareClicked(',(r=t.ID)?l=r.call(a,{hash:{},data:n}):(r=a&&a.ID,l=typeof r===q?r.call(a,{hash:{},data:n}):r),s+=k(l)+')"\n						type="button"\n						aria-label="'+k((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShareAria,typeof l===q?l.apply(a):l))+'"\n				>\n					'+k((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShare,typeof l===q?l.apply(a):l))+'&nbsp;<i class="fa fa-share-alt ii ii-share"></i>\n				</button>\n				'}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var b,C="",q="function",k=this.escapeExpression,E=this,x=t.helperMissing;return C+='<div id="mySnippet" class="carousel slide">\n	<ul class="carousel-inner unstyled">\n		',b=t.each.call(n,n&&n.Items,{hash:{},inverse:E.noop,fn:E.programWithDepth(1,r,l,n),data:l}),(b||0===b)&&(C+=b),C+='\n	</ul>\n	<a class="carousel-control left hidden-phone hidden-tablet" href="#mySnippet" data-slide="prev">Prev</a>\n	<a class="carousel-control right" href="#mySnippet" data-slide="next">Next</a>\n</div>'}),n.widgets_topicscontent_titlelist=a(function(a,n,t,e,l){function r(a){var n,t="";return t+="\n			<h3>"+u((n=a&&a.SystemText,n=null==n||n===!1?n:n.NoItems,typeof n===p?n.apply(a):n))+"</h3>\n			"}function s(a,n){var e,l,r="";return r+='\n                    <li dir="auto">\n                        <a target="',(l=t.Target)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Target,e=typeof l===p?l.call(a,{hash:{},data:n}):l),r+=u(e)+'" href="',(l=t.URL)?e=l.call(a,{hash:{},data:n}):(l=a&&a.URL,e=typeof l===p?l.call(a,{hash:{},data:n}):l),r+=u(e)+'" ',e=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:d.noop,fn:d.program(4,i,n),data:n}),(e||0===e)&&(r+=e),r+='><span class="text">',(l=t.Title)?e=l.call(a,{hash:{},data:n}):(l=a&&a.Title,e=typeof l===p?l.call(a,{hash:{},data:n}):l),r+=u(e)+"</span></a>\n                    </li>\n                    "}function i(a,n){var e,l,r,s="";return s+=" ",l=t.hovercard||a&&a.hovercard,r={hash:{},inverse:d.noop,fn:d.program(5,o,n),data:n},e=l?l.call(a,a&&a.Type,a&&a.ID,r):f.call(a,"hovercard",a&&a.Type,a&&a.ID,r),(e||0===e)&&(s+=e),s+=" "}function o(){var a="";return a}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var c,h="",p="function",u=this.escapeExpression,d=this,f=t.helperMissing;return h+='<div>\n	<section class="Widget">\n		<div class="titlelist peoplelisting">\n			',c=t["if"].call(n,n&&n.IsEmpty,{hash:{},inverse:d.noop,fn:d.program(1,r,l),data:l}),(c||0===c)&&(h+=c),h+='\n            <div style="width:100%;">\n                <ul class="unstyled striped">\n                    ',c=t.each.call(n,n&&n.Items,{hash:{},inverse:d.noop,fn:d.program(3,s,l),data:l}),(c||0===c)&&(h+=c),h+="\n                </ul>\n            </div>\n		</div>\n	</section>\n</div>"}),n.widgets_topicscontent_topicsubscriptionspanel=a(function(a,n,t,e,l){this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var r,s="",i="function",o=this.escapeExpression;return s+="<div aria-hidden='true' aria-labelledby='topicsLabel' class='modal hide fade' id='topicsSelect' role='dialog'\n	 tabindex='-1'>\n	<div class='modal-inner'>\n		<div class='modal-header'>\n			<h3 id='topicsLabel' class=\"modal-title\">"+o((r=n&&n.SystemText,r=null==r||r===!1?r:r.topicsSubscriptionsModal,r=null==r||r===!1?r:r.modalTitle,typeof r===i?r.apply(n):r))+"</h3>\n			<button aria-hidden='true' class='close icon is-large pclose' data-dismiss='modal' type='button' aria-label='Close panel'>\n				<span class=\"icon is-large pclose\" title=\"Close panel\">\n					<i class=\"ii ii-cross fa fa-remove\"></i>\n				</span>\n			</button>\n			<a href='#' id=\"changeTopicsButton\" class='button is-info'>\n				<span class='icon'><i class='ii ii-plus-circle'></i></span> <span id=\"changeTopicsButtonText\">"+o((r=n&&n.SystemText,r=null==r||r===!1?r:r.topicsSubscriptionsModal,r=null==r||r===!1?r:r.changeTopicsButtonText,typeof r===i?r.apply(n):r))+'</span>\n				<span id="backButtonText" class="hidden">'+o((r=n&&n.SystemText,r=null==r||r===!1?r:r.topicsSubscriptionsModal,r=null==r||r===!1?r:r.backButtonText,typeof r===i?r.apply(n):r))+"</span>\n			</a>\n		</div>\n		<div class='modal-body'>\n			<div class='standard-wrapper'>\n				<div id='myTopics' class='tab-content'>\n					<div class='tab-pane fade active in' id='addTopic'>\n						<p><b>"+o((r=n&&n.SystemText,r=null==r||r===!1?r:r.topicsSubscriptionsModal,r=null==r||r===!1?r:r.subscribedTopicsListTitle,typeof r===i?r.apply(n):r))+"</b></p>\n						<ul class='tags subscribedTopics'>\n							<li>"+o((r=n&&n.SystemText,r=null==r||r===!1?r:r.topicsSubscriptionsModal,r=null==r||r===!1?r:r.loadingMessage,typeof r===i?r.apply(n):r))+'</li>\n						</ul>\n						<div id="subscribedTopicsMessages"></div>\n						<div id="availableTopicsSection" class="hidden" aria-live="polite">\n							<hr />\n							<label for="searchTopics"><b>'+o((r=n&&n.SystemText,r=null==r||r===!1?r:r.topicsSubscriptionsModal,r=null==r||r===!1?r:r.availableTopicsListTitle,typeof r===i?r.apply(n):r))+'</b></label>\n							<!--<input type="text" id="searchTopics" placeholder="'+o((r=n&&n.SystemText,r=null==r||r===!1?r:r.topicsSubscriptionsModal,r=null==r||r===!1?r:r.SEARCHTOPICPLACEHOLDER,typeof r===i?r.apply(n):r))+'" class="span12" style="margin-bottom: 5px;" />-->\n							<input type="text" id="searchTopics" placeholder="Search to find topics..." class="input-block-level" style="margin-bottom: 5px;" />\n							<ul class=\'tags notSubscribedTopics\'>\n								<li>'+o((r=n&&n.SystemText,r=null==r||r===!1?r:r.topicsSubscriptionsModal,r=null==r||r===!1?r:r.loadingMessage,typeof r===i?r.apply(n):r))+'</li>\n							</ul>\n						</div>\n						<div id="suggestedTopicsSection">\n							<hr />\n							<p><b>'+o((r=n&&n.SystemText,r=null==r||r===!1?r:r.topicsSubscriptionsModal,r=null==r||r===!1?r:r.suggestedTopicsListTitle,typeof r===i?r.apply(n):r))+"</b></p>\n							<ul class='tags topicSuggestions'>\n								<li>"+o((r=n&&n.SystemText,r=null==r||r===!1?r:r.topicsSubscriptionsModal,r=null==r||r===!1?r:r.loadingMessage,typeof r===i?r.apply(n):r))+'</li>\n							</ul>\n						</div>\n						<div id="subscribedContentPreviewSection">\n							<hr />\n							<p><b>'+o((r=n&&n.SystemText,r=null==r||r===!1?r:r.topicsSubscriptionsModal,r=null==r||r===!1?r:r.contentPreviewTitle,typeof r===i?r.apply(n):r))+'</b></p>\n							<div id="subscribedContentPreview" style="width: 100%;">\n							</div>\n						</div>\n					</div>\n				</div>\n			</div>\n		</div>\n	</div>\n</div>'}),n.widgets_topicscontent_trends=a(function(a,n,t,e,l){function r(){return' class="active" '}function s(a,n,e){var l,r,s,u="";return u+='\n	<li class="',l=t["if"].call(a,a&&a.IsKey,{hash:{},inverse:R.program(6,o,n),fn:R.program(4,i,n),data:n}),(l||0===l)&&(u+=l),u+=' gridster-wac">\n		<div class="pull-left content-widget-list-image-container">\n			<img src="',l=t["if"].call(a,a&&a.AssetID,{hash:{},inverse:R.program(10,h,n),fn:R.program(8,c,n),data:n}),(l||0===l)&&(u+=l),u+='" style="object-fit: cover; object-position: 50% ',(r=t.BackgroundYpos)?l=r.call(a,{hash:{},data:n}):(r=a&&a.BackgroundYpos,l=typeof r===B?r.call(a,{hash:{},data:n}):r),u+=P(l)+'%;" alt="" role="presentation" loading="lazy"/>\n		</div>\n		<div class="content-widget-list-details-container">\n			<div dir="auto">\n				<a class="is-w-a" target="',(r=t.Target)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Target,l=typeof r===B?r.call(a,{hash:{},data:n}):r),u+=P(l)+'" href="',(r=t.URL)?l=r.call(a,{hash:{},data:n}):(r=a&&a.URL,l=typeof r===B?r.call(a,{hash:{},data:n}):r),u+=P(l)+'" ',l=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:R.noop,fn:R.program(12,p,n),data:n}),(l||0===l)&&(u+=l),u+=">",(r=t.Title)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Title,l=typeof r===B?r.call(a,{hash:{},data:n}):r),(l||0===l)&&(u+=l),u+="</a>\n			</div>\n\n			<!-- This will return true if AuthorType is greater than 0, i.e. not a person -->\n			",l=t["if"].call(a,a&&a.AuthorType,{hash:{},inverse:R.programWithDepth(18,m,n,e),fn:R.programWithDepth(15,d,n,e),data:n}),(l||0===l)&&(u+=l),u+='\n\n			<div class="social-tools">\n				<div class="row-fluid">\n					<div class="span6 pull-left">\n						',r=t.when||a&&a.when,s={hash:{},inverse:R.program(27,T,n),fn:R.program(22,g,n),data:n},l=r?r.call(a,"Type != 'Event'",s):U.call(a,"when","Type != 'Event'",s),(l||0===l)&&(u+=l),u+='\n					</div>\n					<div class="span6 pull-right">\n						',l=t["if"].call(a,a&&a.Entity,{hash:{},inverse:R.noop,fn:R.programWithDepth(33,b,n,e),data:n}),(l||0===l)&&(u+=l),u+="\n					</div>\n				</div>\n			</div>\n		</div>\n	</li>\n    "}function i(){return"content-widget-item-key"}function o(){return"content-widget-item"}function c(a,n){var e,l,r;return l=t.asset||a&&a.asset,r={hash:{},data:n},e=l?l.call(a,a&&a.AssetID,4,r):U.call(a,"asset",a&&a.AssetID,4,r),e||0===e?e:""}function h(a,n){var e,l;return P((e=t.avatar||a&&a.avatar,l={hash:{},data:n},e?e.call(a,a&&a.Type,l):U.call(a,"avatar",a&&a.Type,l)))}function p(a,n){var e,l,r,s="";return s+=" ",l=t.hovercard||a&&a.hovercard,r={hash:{},inverse:R.noop,fn:R.program(13,u,n),data:n},e=l?l.call(a,a&&a.Type,a&&a.ID,r):U.call(a,"hovercard",a&&a.Type,a&&a.ID,r),(e||0===e)&&(s+=e),s+=" "}function u(){return" "}function d(a,n,e){var l,r="";return r+="\n				",l=t["if"].call(a,a&&a.Author,{hash:{},inverse:R.noop,fn:R.programWithDepth(16,f,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n			"}function f(a,n,e){var l,r,s="";return s+='\n					<!-- Display a span instead of a link -->\n					<div class="is-author">\n						'+P((l=e&&e.SystemText,l=null==l||l===!1?l:l.By,typeof l===B?l.apply(a):l))+" <span><strong>",(r=t.Author)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Author,l=typeof r===B?r.call(a,{hash:{},data:n}):r),s+=P(l)+"</strong></span>\n					</div>\n				"
}function m(a,n,e){var l,r="";return r+="\n				",l=t["if"].call(a,a&&a.Author,{hash:{},inverse:R.noop,fn:R.programWithDepth(19,v,n,e),data:n}),(l||0===l)&&(r+=l),r+="\n			"}function v(a,n,e){var l,r,s,i="";return i+='\n					<div class="is-author">\n						'+P((l=e&&e.SystemText,l=null==l||l===!1?l:l.By,typeof l===B?l.apply(a):l))+' <a href="'+P((r=t.link||a&&a.link,s={hash:{},data:n},r?r.call(a,"Person",a&&a.AuthorID,s):U.call(a,"link","Person",a&&a.AuthorID,s)))+'" ',l=t["if"].call(a,a&&a.ShowHoverCard,{hash:{},inverse:R.noop,fn:R.program(20,y,n),data:n}),(l||0===l)&&(i+=l),i+=">",(r=t.Author)?l=r.call(a,{hash:{},data:n}):(r=a&&a.Author,l=typeof r===B?r.call(a,{hash:{},data:n}):r),i+=P(l)+"</a>\n					</div>\n				"}function y(a,n){var e,l,r="";return r+=' data-personid="',(l=t.AuthorID)?e=l.call(a,{hash:{},data:n}):(l=a&&a.AuthorID,e=typeof l===B?l.call(a,{hash:{},data:n}):l),r+=P(e)+'" '}function g(a,n){var e,l="";return l+='\n						<time class="timeago pull-left timeago-date muted" datetime="',e=t["if"].call(a,a&&a.ShowUpdateDate,{hash:{},inverse:R.program(25,D,n),fn:R.program(23,S,n),data:n}),(e||0===e)&&(l+=e),l+='"></time>\n						'}function S(a,n){var e,l,r="";return r+=" ",(l=t.UpdateDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.UpdateDate,e=typeof l===B?l.call(a,{hash:{},data:n}):l),r+=P(e)+" "}function D(a,n){var e,l,r="";return r+=" ",(l=t.StartDate)?e=l.call(a,{hash:{},data:n}):(l=a&&a.StartDate,e=typeof l===B?l.call(a,{hash:{},data:n}):l),r+=P(e)+" "}function T(a,n){var e,l,r,s="";return s+="\n						",l=t.equals||a&&a.equals,r={hash:{},inverse:R.program(31,A,n),fn:R.program(28,I,n),data:n},e=l?l.call(a,(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r):U.call(a,"equals",(e=a&&a.Entity,null==e||e===!1?e:e.AllDay),"false",r),(e||0===e)&&(s+=e),s+="\n						"}function I(a,n){var e,l,r,s="";return s+='<span class="pull-left timeago timeago-doubledate muted" style="white-space:pre-line;">\n							',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:R.noop,fn:R.program(29,w,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.EndDate,r):U.call(a,"eventTimeString",a&&a.StartDate,a&&a.EndDate,r),(e||0===e)&&(s+=e),s+="\n						</span>"}function w(){var a="";return a}function A(a,n){var e,l,r,s="";return s+='<span class="timeago timeago-singledate muted" style="white-space:pre-line;">\n							',l=t.eventTimeString||a&&a.eventTimeString,r={hash:{},inverse:R.noop,fn:R.program(29,w,n),data:n},e=l?l.call(a,a&&a.StartDate,a&&a.StartDate,r):U.call(a,"eventTimeString",a&&a.StartDate,a&&a.StartDate,r),(e||0===e)&&(s+=e),s+="\n						</span>"}function b(a,n,e){var l,r,s,i="";return i+='\n						<div class="pull-right count">\n							',l=t["if"].call(a,a&&a.SocialAdvocacyItem,{hash:{},inverse:R.noop,fn:R.programWithDepth(34,C,n,e),data:n}),(l||0===l)&&(i+=l),i+="\n							",r=t.equals||a&&a.equals,s={hash:{},inverse:R.noop,fn:R.programWithDepth(36,q,n,e),data:n},l=r?r.call(a,(l=a&&a.Entity,null==l||l===!1?l:l.IsCommentsAllowed),"true",s):U.call(a,"equals",(l=a&&a.Entity,null==l||l===!1?l:l.IsCommentsAllowed),"true",s),(l||0===l)&&(i+=l),i+='\n							<span title="',r=t.equals||a&&a.equals,s={hash:{},inverse:R.program(41,x,n),fn:R.program(37,k,n),data:n},l=r?r.call(a,a&&a.LikeCount,"-1",s):U.call(a,"equals",a&&a.LikeCount,"-1",s),(l||0===l)&&(i+=l),i+=" "+P((l=e&&e.SystemText,l=null==l||l===!1?l:l.Likes,typeof l===B?l.apply(a):l))+'">\n								<span class="icon is-normal"><i class="iconextra-like ii-like"></i></span>\n								',r=t.equals||a&&a.equals,s={hash:{},inverse:R.program(41,x,n),fn:R.program(37,k,n),data:n},l=r?r.call(a,a&&a.LikeCount,"-1",s):U.call(a,"equals",a&&a.LikeCount,"-1",s),(l||0===l)&&(i+=l),i+="\n							</span>\n						</div>\n						"}function C(a,n,e){var l,r,s="";return s+='\n							<button id="soc-adv-share-btn" \n									class="btn btn-primary btn-small" \n									onclick="Widgets.SocialAdvocacy_ShareClicked(',(r=t.ID)?l=r.call(a,{hash:{},data:n}):(r=a&&a.ID,l=typeof r===B?r.call(a,{hash:{},data:n}):r),s+=P(l)+')"\n									type="button"\n									aria-label="'+P((l=e&&e.SystemText,l=null==l||l===!1?l:l.SocialAdvocacyShareAria,typeof l===B?l.apply(a):l))+'"\n							>\n								<i class="fa fa-share-alt ii ii-share"></i>\n							</button>\n							'}function q(a,n,e){var l,r,s,i="";return i+='\n							<span title="',r=t.equals||a&&a.equals,s={hash:{},inverse:R.program(39,E,n),fn:R.program(37,k,n),data:n},l=r?r.call(a,a&&a.CommentCount,"-1",s):U.call(a,"equals",a&&a.CommentCount,"-1",s),(l||0===l)&&(i+=l),i+=" "+P((l=e&&e.SystemText,l=null==l||l===!1?l:l.Comments,typeof l===B?l.apply(a):l))+'">\n								<span class="icon is-normal"><i class="iconextra-comment ii-comments"></i></span>\n								',r=t.equals||a&&a.equals,s={hash:{},inverse:R.program(39,E,n),fn:R.program(37,k,n),data:n},l=r?r.call(a,a&&a.CommentCount,"-1",s):U.call(a,"equals",a&&a.CommentCount,"-1",s),(l||0===l)&&(i+=l),i+="\n							</span>\n							"}function k(){return"0"}function E(a,n){var e,l;return(l=t.CommentCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.CommentCount,e=typeof l===B?l.call(a,{hash:{},data:n}):l),P(e)}function x(a,n){var e,l;return(l=t.LikeCount)?e=l.call(a,{hash:{},data:n}):(l=a&&a.LikeCount,e=typeof l===B?l.call(a,{hash:{},data:n}):l),P(e)}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var L,W,H,_="",U=t.helperMissing,P=this.escapeExpression,R=this,B="function";return _+='<div class="pull-right widget-content-trends-controls-order">\n	<ul class="nav nav-tabs">\n		<li ',W=t.equals||n&&n.equals,H={hash:{},inverse:R.noop,fn:R.program(1,r,l),data:l},L=W?W.call(n,n&&n.Order,"latest",H):U.call(n,"equals",n&&n.Order,"latest",H),(L||0===L)&&(_+=L),_+=' data-order="latest"><a href="#na">'+P((L=n&&n.SystemText,L=null==L||L===!1?L:L.Latest,typeof L===B?L.apply(n):L))+"</a></li>\n		<li ",W=t.equals||n&&n.equals,H={hash:{},inverse:R.noop,fn:R.program(1,r,l),data:l},L=W?W.call(n,n&&n.Order,"discussed",H):U.call(n,"equals",n&&n.Order,"discussed",H),(L||0===L)&&(_+=L),_+=' data-order="discussed"><a href="#na">'+P((L=n&&n.SystemText,L=null==L||L===!1?L:L.Discussed,typeof L===B?L.apply(n):L))+"</a></li>\n		<li ",W=t.equals||n&&n.equals,H={hash:{},inverse:R.noop,fn:R.program(1,r,l),data:l},L=W?W.call(n,n&&n.Order,"liked",H):U.call(n,"equals",n&&n.Order,"liked",H),(L||0===L)&&(_+=L),_+=' data-order="liked"><a href="#na">'+P((L=n&&n.SystemText,L=null==L||L===!1?L:L.Liked,typeof L===B?L.apply(n):L))+'</a></li>\n	</ul>\n</div>\n\n<div class="clearfix"></div>\n\n<ul class="unstyled content-widget-items-container striped">\n    ',L=t.each.call(n,n&&n.Items,{hash:{},inverse:R.noop,fn:R.programWithDepth(3,s,l,n),data:l}),(L||0===L)&&(_+=L),_+="\n</ul>\n"}),n.widgets_trelloboard_standard=a(function(a,n,t,e,l){this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var r,s,i="",o="function",c=this.escapeExpression;return i+='<div class="row-fluid">\n  <div class="span12" id="body',(s=t.widgetinstanceid)?r=s.call(n,{hash:{},data:l}):(s=n&&n.widgetinstanceid,r=typeof s===o?s.call(n,{hash:{},data:l}):s),i+=c(r)+'">\n  </div>\n</div>\n'}),n.widgets_twitter_standard=a(function(a,n,t,e,l){return this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{},""}),n.widgets_websearch_standard=a(function(a,n,t,e,l){this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var r,s,i="",o="function",c=this.escapeExpression;return i+='<section class="WebSearchWidgetConfig">\r\n    <div id="searchContent">\r\n        <div id="searchSite" site="',(s=t.Site)?r=s.call(n,{hash:{},data:l}):(s=n&&n.Site,r=typeof s===o?s.call(n,{hash:{},data:l}):s),i+=c(r)+'">\r\n        <section id="SectionImage">\r\n            <img src="/Content/default/images/widget-logo-',(s=t.Site)?r=s.call(n,{hash:{},data:l}):(s=n&&n.Site,r=typeof s===o?s.call(n,{hash:{},data:l}):s),i+=c(r)+'.png" alt="',(s=t.Site)?r=s.call(n,{hash:{},data:l}):(s=n&&n.Site,r=typeof s===o?s.call(n,{hash:{},data:l}):s),i+=c(r)+' logo" loading="lazy"/>\r\n        </section>\r\n        <div class="input-append">\r\n            <input type="text" id="query" class="widget-web-search-input" aria-label="',(s=t.Site)?r=s.call(n,{hash:{},data:l}):(s=n&&n.Site,r=typeof s===o?s.call(n,{hash:{},data:l}):s),i+=c(r)+' search query" />\r\n            <a href="#" class="btn" id="submit" onclick="WebSearch_Redirect(this)">'+c((r=n&&n.SystemText,r=null==r||r===!1?r:r.Search,typeof r===o?r.apply(n):r))+"</a>\r\n        </div>\r\n    </div>\r\n</section>"}),n.widgets_zendesktickets_standard=a(function(a,n,t,e,l){this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,a.helpers),l=l||{};var r,s,i="",o="function",c=this.escapeExpression;return i+='<div class="row-fluid">\n  <div class="span12" id="body',(s=t.widgetinstanceid)?r=s.call(n,{hash:{},data:l}):(s=n&&n.widgetinstanceid,r=typeof s===o?s.call(n,{hash:{},data:l}):s),i+=c(r)+'">\n  </div>\n</div>\n'})}();
;
!function(){var n=Handlebars.template,i=Handlebars.templates=Handlebars.templates||{};i.emailnotifications_loading=n(function(n,i,t,a,s){function e(){return'\r\n<ul id="notifications" data-emailnotification-items="loading" class="unstyled">\r\n	'}function o(){return"\r\n</ul>\r\n"}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,n.helpers),s=s||{};var r,l="",c=this;return l+="",r=t["if"].call(i,i&&i.AsList,{hash:{},inverse:c.noop,fn:c.program(1,e,s),data:s}),(r||0===r)&&(l+=r),l+='\r\n	<li class="notification-item loading-message">\r\n		<h4 class="muted">Populating Email...</h4>\r\n	</li>\r\n	<li class="notification-item loading"></li>\r\n	',r=t["if"].call(i,i&&i.AsList,{hash:{},inverse:c.noop,fn:c.program(3,o,s),data:s}),(r||0===r)&&(l+=r),l}),i.notifications_empty=n(function(n,i,t,a,s){this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,n.helpers),s=s||{};var e,o="",r="function",l=this.escapeExpression;return o+='<li>\r\n	<span class="empty-message">'+l((e=i&&i.Resources,e=null==e||e===!1?e:e.EmptyMessage,typeof e===r?e.apply(i):e))+"</span>\r\n</li>"}),i.notifications_loading=n(function(n,i,t,a,s){function e(){return'\r\n<ul id="notifications" data-notification-items="loading" class="unstyled">\r\n'}function o(){return"\r\n</ul>\r\n"}this.compilerInfo=[4,">= 1.0.0"],t=this.merge(t,n.helpers),s=s||{};var r,l="",c=this;return l+="",r=t["if"].call(i,i&&i.AsList,{hash:{},inverse:c.noop,fn:c.program(1,e,s),data:s}),(r||0===r)&&(l+=r),l+='\r\n	<li class="notification-item loading-message">\r\n		<h4 class="muted">Populating Notifications...</h4>\r\n	</li>\r\n	<li class="notification-item loading"></li>\r\n',r=t["if"].call(i,i&&i.AsList,{hash:{},inverse:c.noop,fn:c.program(3,o,s),data:s}),(r||0===r)&&(l+=r),l})}();
;


(function ($) {
 	if(typeof $.fn.each2 == "undefined"){
 		$.fn.extend({
			each2 : function (c) {
				var j = $([0]), i = -1, l = this.length;
				while (
					++i < l
					&& (j.context = j[0] = this[i])
					&& c.call(j[0], i, j) !== false //"this"=DOM, i=index, j=jQuery object
				);
				return this;
			}
 		});
 	}
})(jQuery);

(function ($, undefined) {
    "use strict";
    /*global document, window, jQuery, console */

    if (window.Select2 !== undefined) {
        return;
    }

    var KEY, AbstractSelect2, SingleSelect2, MultiSelect2, nextUid, sizer,
        lastMousePosition, $document;

    KEY = {
        TAB: 9,
        ENTER: 13,
        ESC: 27,
        SPACE: 32,
        LEFT: 37,
        UP: 38,
        RIGHT: 39,
        DOWN: 40,
        SHIFT: 16,
        CTRL: 17,
        ALT: 18,
        PAGE_UP: 33,
        PAGE_DOWN: 34,
        HOME: 36,
        END: 35,
        BACKSPACE: 8,
        DELETE: 46,
        isArrow: function (k) {
            k = k.which ? k.which : k;
            switch (k) {
            case KEY.LEFT:
            case KEY.RIGHT:
            case KEY.UP:
            case KEY.DOWN:
                return true;
            }
            return false;
        },
        isControl: function (e) {
            var k = e.which;
            switch (k) {
            case KEY.SHIFT:
            case KEY.CTRL:
            case KEY.ALT:
                return true;
            }

            if (e.metaKey) return true;

            return false;
        },
        isFunctionKey: function (k) {
            k = k.which ? k.which : k;
            return k >= 112 && k <= 123;
        }
    };

    $document = $(document);

    nextUid=(function() { var counter=1; return function() { return counter++; }; }());

    function indexOf(value, array) {
        var i = 0, l = array.length, v;

        if (typeof value === "undefined") {
          return -1;
        }

        if (value.constructor === String) {
            for (; i < l; i = i + 1) if (value.toLowerCase().localeCompare(array[i].toLowerCase()) === 0) return i;
        } else {
            for (; i < l; i = i + 1) {
                v = array[i];
                if (v.constructor === String) {
                    if (v.localeCompare(value) === 0) return i;
                } else {
                    if (v === value) return i;
                }
            }
        }
        return -1;
    }

    /**
     * Compares equality of a and b taking into account that a and b may be strings, in which case localeCompare is used
     * @param a
     * @param b
     */
    function equal(a, b) {
        if (a === b) return true;
        if (a === undefined || b === undefined) return false;
        if (a === null || b === null) return false;
        if (a.constructor === String) return a.localeCompare(b) === 0;
        if (b.constructor === String) return b.localeCompare(a) === 0;
        return false;
    }

    /**
     * Splits the string into an array of values, trimming each value. An empty array is returned for nulls or empty
     * strings
     * @param string
     * @param separator
     */
    function splitVal(string, separator) {
        var val, i, l;
        if (string === null || string.length < 1) return [];
        val = string.split(separator);
        for (i = 0, l = val.length; i < l; i = i + 1) val[i] = $.trim(val[i]);
        return val;
    }

    function getSideBorderPadding(element) {
        return element.outerWidth(false) - element.width();
    }

    function installKeyUpChangeEvent(element) {
        var key="keyup-change-value";
        element.bind("keydown", function () {
            if ($.data(element, key) === undefined) {
                $.data(element, key, element.val());
            }
        });
        element.bind("keyup", function () {
            var val= $.data(element, key);
            if (val !== undefined && element.val() !== val) {
                $.removeData(element, key);
                element.trigger("keyup-change");
            }
        });
    }

    $document.bind("mousemove", function (e) {
        lastMousePosition = {x: e.pageX, y: e.pageY};
    });

    /**
     * filters mouse events so an event is fired only if the mouse moved.
     *
     * filters out mouse events that occur when mouse is stationary but
     * the elements under the pointer are scrolled.
     */
    function installFilteredMouseMove(element) {
	    element.bind("mousemove", function (e) {
            var lastpos = lastMousePosition;
            if (lastpos === undefined || lastpos.x !== e.pageX || lastpos.y !== e.pageY) {
                $(e.target).trigger("mousemove-filtered", e);
            }
        });
    }

    /**
     * Debounces a function. Returns a function that calls the original fn function only if no invocations have been made
     * within the last quietMillis milliseconds.
     *
     * @param quietMillis number of milliseconds to wait before invoking fn
     * @param fn function to be debounced
     * @param ctx object to be used as this reference within fn
     * @return debounced version of fn
     */
    function debounce(quietMillis, fn, ctx) {
        ctx = ctx || undefined;
        var timeout;
        return function () {
            var args = arguments;
            window.clearTimeout(timeout);
            timeout = window.setTimeout(function() {
                fn.apply(ctx, args);
            }, quietMillis);
        };
    }

    /**
     * A simple implementation of a thunk
     * @param formula function used to lazily initialize the thunk
     * @return {Function}
     */
    function thunk(formula) {
        var evaluated = false,
            value;
        return function() {
            if (evaluated === false) { value = formula(); evaluated = true; }
            return value;
        };
    };

    function installDebouncedScroll(threshold, element) {
        var notify = debounce(threshold, function (e) { element.trigger("scroll-debounced", e);});
        element.bind("scroll", function (e) {
            if (indexOf(e.target, element.get()) >= 0) notify(e);
        });
    }

    function killEvent(event) {
        event.preventDefault();
        event.stopPropagation();
    }
    function killEventImmediately(event) {
        event.preventDefault();
        event.stopImmediatePropagation();
    }

    function measureTextWidth(e) {
        if (!sizer){
        	var style = e[0].currentStyle || window.getComputedStyle(e[0], null);
        	sizer = $("<div></div>").css({
	            position: "absolute",
	            left: "-10000px",
	            top: "-10000px",
	            display: "none",
	            fontSize: style.fontSize,
	            fontFamily: style.fontFamily,
	            fontStyle: style.fontStyle,
	            fontWeight: style.fontWeight,
	            letterSpacing: style.letterSpacing,
	            textTransform: style.textTransform,
	            whiteSpace: "nowrap"
	        });
        	$("body").append(sizer);
        }
        sizer.text(e.val());
        return sizer.width();
    }

    function markMatch(text, term, markup) {
        var match=text.toUpperCase().indexOf(term.toUpperCase()),
            tl=term.length;

        if (match<0) {
            markup.push(text);
            return;
        }

        markup.push(text.substring(0, match));
        markup.push("<span class='select2-match'>");
        markup.push(text.substring(match, match + tl));
        markup.push("</span>");
        markup.push(text.substring(match + tl, text.length));
    }

    function applyBindings(options) {
        return function (results) {
            options.bind(options.viewModel, results[0]);
        }
    }

    /**
     * Produces an ajax-based query function
     *
     * @param options object containing configuration paramters
     * @param options.transport function that will be used to execute the ajax request. must be compatible with parameters supported by $.ajax
     * @param options.url url for the data
     * @param options.data a function(searchTerm, pageNumber, context) that should return an object containing query string parameters for the above url.
     * @param options.dataType request data type: ajax, jsonp, other datatatypes supported by jQuery's $.ajax function or the transport function if specified
     * @param options.traditional a boolean flag that should be true if you wish to use the traditional style of param serialization for the ajax request
     * @param options.quietMillis (optional) milliseconds to wait before making the ajaxRequest, helps debounce the ajax function if invoked too often
     * @param options.results a function(remoteData, pageNumber) that converts data returned form the remote request to the format expected by Select2.
     *      The expected format is an object containing the following keys:
     *      results array of objects that will be used as choices
     *      more (optional) boolean indicating whether there are more results available
     *      Example: {results:[{id:1, text:'Red'},{id:2, text:'Blue'}], more:true}
     */
    function ajax(options) {
        var timeout, // current scheduled but not yet executed request
            requestSequence = 0, // sequence used to drop out-of-order responses
            handler = null,
            quietMillis = options.quietMillis || 100;

        return function (query) {
            window.clearTimeout(timeout);
            timeout = window.setTimeout(function () {
                requestSequence += 1; // increment the sequence
                var requestNumber = requestSequence, // this request's sequence number
                    data = options.data, // ajax data function
                    transport = options.transport || $.ajax,
                    traditional = options.traditional || false,
                    type = options.type || 'GET'; // set type of request (GET or POST)

                data = data.call(this, query.term, query.page, query.context);

                if( null !== handler) { handler.abort(); }

                handler = transport.call(null, {
                    url: options.url,
                    dataType: options.dataType,
                    data: data,
                    type: type,
                    traditional: traditional,
                    contentType: options.contentType,
                    success: function (data) {
                        if (requestNumber < requestSequence) {
                            return;
                        }
                        // TODO 3.0 - replace query.page with query so users have access to term, page, etc.
                        var results = options.results(data, query.page);
                        query.callback(results);
                    }
                });
            }, quietMillis);
        };
    }

    /**
     * Produces a query function that works with a local array
     *
     * @param options object containing configuration parameters. The options parameter can either be an array or an
     * object.
     *
     * If the array form is used it is assumed that it contains objects with 'id' and 'text' keys.
     *
     * If the object form is used ti is assumed that it contains 'data' and 'text' keys. The 'data' key should contain
     * an array of objects that will be used as choices. These objects must contain at least an 'id' key. The 'text'
     * key can either be a String in which case it is expected that each element in the 'data' array has a key with the
     * value of 'text' which will be used to match choices. Alternatively, text can be a function(item) that can extract
     * the text.
     */
    function local(options) {
        var data = options, // data elements
            dataText,
            text = function (item) { return ""+item.text; }; // function used to retrieve the text portion of a data item that is matched against the search

        if (!$.isArray(data)) {
            text = data.text;
            // if text is not a function we assume it to be a key name
            if (!$.isFunction(text)) {
              dataText = data.text; // we need to store this in a separate variable because in the next step data gets reset and data.text is no longer available
              text = function (item) { return item[dataText]; };
            }
            data = data.results;
        }

        return function (query) {
            var t = query.term, filtered = { results: [] }, process;
            if (t === "") {
                query.callback({results: data});
                return;
            }

            process = function(datum, collection) {
                var group, attr;
                datum = datum[0];
                if (datum.children) {
                    group = {};
                    for (attr in datum) {
                        if (datum.hasOwnProperty(attr)) group[attr]=datum[attr];
                    }
                    group.children=[];
                    $(datum.children).each2(function(i, childDatum) { process(childDatum, group.children); });
                    if (group.children.length || query.matcher(t, text(group))) {
                        collection.push(group);
                    }
                } else {
                    if (query.matcher(t, text(datum))) {
                        collection.push(datum);
                    }
                }
            };

            $(data).each2(function(i, datum) { process(datum, filtered.results); });
            query.callback(filtered);
        };
    }

    // TODO javadoc
    function tags(data) {
        // TODO even for a function we should probably return a wrapper that does the same object/string check as
        // the function for arrays. otherwise only functions that return objects are supported.
        if ($.isFunction(data)) {
            return data;
        }

        // if not a function we assume it to be an array

        return function (query) {
            var t = query.term, filtered = {results: []};
            $(data).each(function () {
                var isObject = this.text !== undefined,
                    text = isObject ? this.text : this;
                if (t === "" || query.matcher(t, text)) {
                    filtered.results.push(isObject ? this : {id: this, text: this});
                }
            });
            query.callback(filtered);
        };
    }

    /**
     * Checks if the formatter function should be used.
     *
     * Throws an error if it is not a function. Returns true if it should be used,
     * false if no formatting should be performed.
     *
     * @param formatter
     */
    function checkFormatter(formatter, formatterName) {
        if ($.isFunction(formatter)) return true;
        if (!formatter) return false;
        throw new Error("formatterName must be a function or a falsy value");
    }

    function evaluate(val) {
        return $.isFunction(val) ? val() : val;
    }

    function countResults(results) {
        var count = 0;
        $.each(results, function(i, item) {
            if (item.children) {
                count += countResults(item.children);
            } else {
                count++;
            }
        });
        return count;
    }

    /**
     * Default tokenizer. This function uses breaks the input on substring match of any string from the
     * opts.tokenSeparators array and uses opts.createSearchChoice to create the choice object. Both of those
     * two options have to be defined in order for the tokenizer to work.
     *
     * @param input text user has typed so far or pasted into the search field
     * @param selection currently selected choices
     * @param selectCallback function(choice) callback tho add the choice to selection
     * @param opts select2's opts
     * @return undefined/null to leave the current input unchanged, or a string to change the input to the returned value
     */
    function defaultTokenizer(input, selection, selectCallback, opts) {
        var original = input, // store the original so we can compare and know if we need to tell the search to update its text
            dupe = false, // check for whether a token we extracted represents a duplicate selected choice
            token, // token
            index, // position at which the separator was found
            i, l, // looping variables
            separator; // the matched separator

        if (!opts.createSearchChoice || !opts.tokenSeparators || opts.tokenSeparators.length < 1) return undefined;

        while (true) {
            index = -1;

            for (i = 0, l = opts.tokenSeparators.length; i < l; i++) {
                separator = opts.tokenSeparators[i];
                index = input.indexOf(separator);
                if (index >= 0) break;
            }

            if (index < 0) break; // did not find any token separator in the input string, bail

            token = input.substring(0, index);
            input = input.substring(index + separator.length);

            if (token.length > 0) {
                token = opts.createSearchChoice(token, selection);
                if (token !== undefined && token !== null && opts.id(token) !== undefined && opts.id(token) !== null) {
                    dupe = false;
                    for (i = 0, l = selection.length; i < l; i++) {
                        if (equal(opts.id(token), opts.id(selection[i]))) {
                            dupe = true; break;
                        }
                    }

                    if (!dupe) selectCallback(token);
                }
            }
        }

        if (original.localeCompare(input) != 0) return input;
    }

    /**
     * blurs any Select2 container that has focus when an element outside them was clicked or received focus
     *
     * also takes care of clicks on label tags that point to the source element
     */
    $document.ready(function () {
        $document.bind("mousedown touchend", function (e) {
            var target = $(e.target).closest("div.select2-container").get(0), attr;
            if (target) {
                $document.find("div.select2-container-active").each(function () {
                    if (this !== target) $(this).data("select2").blur();
                });
            } else {
                target = $(e.target).closest("div.select2-drop").get(0);
                $document.find("div.select2-drop-active").each(function () {
                    if (this !== target) $(this).data("select2").blur();
                });
            }

            target=$(e.target);
            attr = target.attr("for");
            if ("LABEL" === e.target.tagName && attr && attr.length > 0) {
                attr = attr.replace(/([\[\].])/g,'\\$1'); /* escapes [, ], and . so properly selects the id */
                target = $("#"+attr);
                target = target.data("select2");
                if (target !== undefined) { target.focus(); e.preventDefault();}
            }
        });
    });

    /**
     * Creates a new class
     *
     * @param superClass
     * @param methods
     */
    function clazz(SuperClass, methods) {
        var constructor = function () {};
        constructor.prototype = new SuperClass;
        constructor.prototype.constructor = constructor;
        constructor.prototype.parent = SuperClass.prototype;
        constructor.prototype = $.extend(constructor.prototype, methods);
        return constructor;
    }

    AbstractSelect2 = clazz(Object, {

        // abstract
        bind: function (func) {
            var self = this;
            return function () {
                func.apply(self, arguments);
            };
        },

        // abstract
		init: function (opts) {
			// key elements
			var container, search, dropdown, results;

            // prepare options
            this.opts = opts = this.prepareOpts(opts);

            this.id=opts.id;

            // destroy if called on an existing component
            if (opts.element.data("select2") !== undefined &&
                opts.element.data("select2") !== null) {
                this.destroy();
            }

			this.enabled = true;

			// cache the body so future lookups are cheap
			this.body = thunk(function () { return opts.element.closest("body"); });

			// set up search <div> container
            this.container = container = this.createContainer();
            this.containerId = "s2id_"+(opts.element.attr("id") || "autogen"+nextUid());
			this.containerSelector = "#" + this.containerId.replace(/([;&,\.\+\*\~':"\!\^#$%@\[\]\(\)=>\|])/g, '\\$1');

			container.attr("id", this.containerId);
			container.find("input").attr("id", this.containerId + "_input");
			container.css(evaluate(opts.containerCss));
			container.addClass(evaluate(opts.containerCssClass));

            if (opts.element.attr("class") !== undefined) {
                container.addClass(opts.element.attr("class").replace(/validate\[[\S ]+] ?/, ''));
            }

			// set up search <input>
			this.search = search = container.find("input.select2-input");
			this.searchId = this.containerId + "_search"

			search.attr("id", this.searchId);
			search.attr("tabIndex", this.opts.element.attr("tabIndex"));
			search.attr("role", "combobox");
			search.attr("aria-autocomplete", "list");
			search.attr("aria-haspopup", "true");

			// set up drop down <div> container
			this.dropdown = dropdown = container.find(".select2-drop");
			this.dropdownId = this.containerId + "_dropdown"

			dropdown.attr("id", this.dropdownId);
			dropdown.addClass(evaluate(opts.dropdownCssClass));
			dropdown.data("select2", this);

			// set up results <ul> container
			this.results = results = container.find(".select2-results");
			this.resultsId = this.containerId + "_results";

			results.attr("id", this.resultsId);
			results.attr("role", "listbox");  // Important ARIA tag - allows NVDA to read it as a list
			search.attr("aria-controls", this.dropdownId);  // link results to the respective input

            // swap container for the element
            this.opts.element
                .data("select2", this)
                .hide()
				.before(container);
			container.data("select2", this);

            this.resultsPage = 0;
            this.context = null;

            // init the container
            this.initContainer();
            this.initContainerWidth();

            installFilteredMouseMove(this.results);
			this.dropdown.delegate(results, "mousemove-filtered", this.bind(this.highlightUnderEvent));

            installDebouncedScroll(80, this.results);
			this.dropdown.delegate(results, "scroll-debounced", this.bind(this.loadMoreIfNeeded));

            // if jquery.mousewheel plugin is installed we can prevent out-of-bounds scrolling of results via mousewheel
            if ($.fn.mousewheel) {
                results.mousewheel(function (e, delta, deltaX, deltaY) {
                    var top = results.scrollTop(), height;
                    if (deltaY > 0 && top - deltaY <= 0) {
                        results.scrollTop(0);
                        killEvent(e);
                    } else if (deltaY < 0 && results.get(0).scrollHeight - results.scrollTop() + deltaY <= results.height()) {
                        results.scrollTop(results.get(0).scrollHeight - results.height());
                        killEvent(e);
                    }
                });
            }

            installKeyUpChangeEvent(search);
            search.bind("keyup-change", this.bind(this.updateResults));
            search.bind("focus", function () { search.addClass("select2-focused"); if (search.val() === " ") search.val(""); });
            search.bind("blur", function () { search.removeClass("select2-focused");});

			this.dropdown.delegate(results, "mouseup", this.bind(function (e) {
                if ($(e.target).closest(".select2-result-selectable:not(.select2-disabled)").length > 0) {
                    this.highlightUnderEvent(e);
                    this.selectHighlighted(e);
                } else {
                    this.focusSearch();
                }
                killEvent(e);
            }));

            // trap all mouse events from leaving the dropdown. sometimes there may be a modal that is listening
            // for mouse events outside of itself so it can close itself. since the dropdown is now outside the select2's
            // dom it will trigger the popup close, which is not what we want
            this.dropdown.bind("click mouseup mousedown", function (e) { e.stopPropagation(); });

            if ($.isFunction(this.opts.initSelection)) {
                // initialize selection based on the current value of the source element
                this.initSelection();

                // if the user has provided a function that can set selection based on the value of the source element
                // we monitor the change event on the element and trigger it, allowing for two way synchronization
                this.monitorSource();
            }

			if (opts.element.is(":disabled") || opts.element.is("[readonly='readonly']")) this.disable();
        },

        // abstract
        destroy: function () {
            var select2 = this.opts.element.data("select2");
            if (select2 !== undefined) {
                select2.container.remove();
                select2.dropdown.remove();
                select2.opts.element
                    .removeData("select2")
                    .unbind(".select2")
                    .show();
            }
        },

        // abstract
        prepareOpts: function (opts) {
            var element, select, idKey, ajaxUrl;

            element = opts.element;

            if (element.get(0).tagName.toLowerCase() === "select") {
                this.select = select = opts.element;
            }

            if (select) {
                // these options are not allowed when attached to a select because they are picked up off the element itself
                $.each(["id", "multiple", "ajax", "query", "createSearchChoice", "initSelection", "data", "tags"], function () {
                    if (this in opts) {
                        throw new Error("Option '" + this + "' is not allowed for Select2 when attached to a <select> element.");
                    }
                });
            }

            opts = $.extend({}, {
                populateResults: function(container, results, query) {
					var populate, id = this.opts.id, self = this;

					populate = function (results, container, depth) {
						for (var i = 0; i < results.length; i = i + 1) {
							// result properties
                            var result = results[i];
							var selectable = id(result) !== undefined;
							var isCompound = result.children && result.children.length > 0;
							var containerId = (depth > 0) ? container.attr("parent_id") : container.attr("id");
							var unique_result_id = containerId + "_" + i;

							// markup generation
                            var node = $("<li></li>");
                            node.addClass("select2-results-dept-"+depth);
							node.addClass("select2-result");
							node.addClass(selectable ? "select2-result-selectable" : "select2-result-unselectable");
							node.addClass(self.opts.formatResultCssClass(result));
							node.attr("role", "option");  // Important - allows NVDA to read the highlighted option
							node.attr("id", unique_result_id);

							var label = $("<div></div>");
							label.addClass("select2-result-label");

							var formatted = opts.formatResult(result, label, query);
							if (formatted !== undefined) {
								label.html(self.opts.escapeMarkup(formatted));
							}

							if (isCompound) {
								node.addClass("select2-result-with-children");

								// NVDA accessibility - aria NEU-18846
								// Important - allows NVDA to read the subheaders
								node.attr("aria-label", label.text().trim());  
								node.attr("role", "group");
								// ----------------------------------------------
							}

							// 1: Add <div> label to <li> node
                            node.append(label);

							if (isCompound) {
								var innerContainer = $("<ul></ul>");
								innerContainer.attr("id", unique_result_id + "_sublist")
								innerContainer.attr("parent_id", unique_result_id);
								innerContainer.addClass("select2-result-sub");
								innerContainer.attr("role", "none");  // Important - allows NVDA to annouce the position of the subitems
								
								// 2: Generate sub-results using recursion
								populate(result.children, innerContainer, depth + 1);

								// 3: Add <ul> inner container to <li> node
                                node.append(innerContainer);
                            }

							node.data("select2-data", result);

							// 4: Add <li> node to top-level results container
                            container.append(node);
                        }
                    };

					populate(results, container, 0);
                }
            }, $.fn.select2.defaults, opts);

            if (typeof(opts.id) !== "function") {
                idKey = opts.id;
                opts.id = function (e) { return e[idKey]; };
            }

            if (select) {
                opts.query = this.bind(function (query) {
                    var data = { results: [], more: false },
                        term = query.term,
                        children, firstChild, process;

                    process=function(element, collection) {
                        var group;
                        if (element.is("option")) {
                            if (query.matcher(term, element.text(), element)) {
                                collection.push({id:element.attr("value"), text:element.text(), element: element.get(), css: element.attr("class")});
                            }
                        } else if (element.is("optgroup")) {
                            group={text:element.attr("label"), children:[], element: element.get(), css: element.attr("class")};
                            element.children().each2(function(i, elm) { process(elm, group.children); });
                            if (group.children.length>0) {
                                collection.push(group);
                            }
                        }
                    };

                    children=element.children();

                    // ignore the placeholder option if there is one
                    if (this.getPlaceholder() !== undefined && children.length > 0) {
                        firstChild = children[0];
                        if ($(firstChild).text() === "") {
                            children=children.not(firstChild);
                        }
                    }

                    children.each2(function(i, elm) { process(elm, data.results); });

                    query.callback(data);
                });
                // this is needed because inside val() we construct choices from options and there id is hardcoded
                opts.id=function(e) { return e.id; };
                opts.formatResultCssClass = function(data) { return data.css; }
            } else {
                if (!("query" in opts)) {
                    if ("ajax" in opts) {
                        ajaxUrl = opts.element.data("ajax-url");
                        if (ajaxUrl && ajaxUrl.length > 0) {
                            opts.ajax.url = ajaxUrl;
                        }
                        opts.query = ajax(opts.ajax);
                    } else if ("data" in opts) {
                        opts.query = local(opts.data);
                    } else if ("tags" in opts) {
                        opts.query = tags(opts.tags);
                        opts.createSearchChoice = function (term) { return {id: term, text: term}; };
                        opts.initSelection = function (element, callback) {
                            var data = [];
                            $(splitVal(element.val(), opts.separator)).each(function () {
                                var id = this, text = this, tags=opts.tags;
                                if ($.isFunction(tags)) tags=tags();
                                $(tags).each(function() { if (equal(this.id, id)) { text = this.text; return false; } });
                                data.push({id: id, text: text});
                            });

                            callback(data);
                        };
                    }
                }
            }
            if (typeof(opts.query) !== "function") {
                throw "query function not defined for Select2 " + opts.element.attr("id");
            }

            if ("applyBindings" in opts) {
                opts.bind = applyBindings(opts.applyBindings);
            }

            return opts;
        },

        /**
         * Monitor the original element for changes and update select2 accordingly
         */
        // abstract
        monitorSource: function () {
            this.opts.element.bind("change.select2", this.bind(function (e) {
                if (this.opts.element.data("select2-change-triggered") !== true) {
                    this.initSelection();
                }
            }));
        },

        /**
         * Triggers the change event on the source element
         */
        // abstract
        triggerChange: function (details) {

            details = details || {};
            details= $.extend({}, details, { type: "change", val: this.val() });
            // prevents recursive triggering
            this.opts.element.data("select2-change-triggered", true);
            this.opts.element.trigger(details);
            this.opts.element.data("select2-change-triggered", false);

            // some validation frameworks ignore the change event and listen instead to keyup, click for selects
            // so here we trigger the click event manually
            this.opts.element.click();

            // ValidationEngine ignorea the change event and listens instead to blur
            // so here we trigger the blur event manually if so desired
            if (this.opts.blurOnChange)
                this.opts.element.blur();
        },


        // abstract
        enable: function() {
            if (this.enabled) return;

            this.enabled=true;
            this.container.removeClass("select2-container-disabled");
            this.opts.element.removeAttr("disabled");
        },

        // abstract
        disable: function() {
            if (!this.enabled) return;

            this.close();

            this.enabled=false;
            this.container.addClass("select2-container-disabled");
            this.opts.element.attr("disabled", "disabled");
        },

        // abstract
        opened: function () {
            return this.container.hasClass("select2-dropdown-open");
        },

        // abstract
        positionDropdown: function() {
            var offset = this.container.offset(),
                height = this.container.outerHeight(false),
                width = this.container.outerWidth(false),
                dropHeight = this.dropdown.outerHeight(false),
                viewportBottom = $(window).scrollTop() + document.documentElement.clientHeight,
                dropTop = offset.top + height,
                dropLeft = offset.left,
                enoughRoomBelow = dropTop + dropHeight <= viewportBottom,
                enoughRoomAbove = (offset.top - dropHeight) >= this.body().scrollTop(),
                aboveNow = this.dropdown.hasClass("select2-drop-above"),
                bodyOffset,
                above,
				css;

            // fix positioning when body has an offset and is not position: static
            if (this.body().css('position') !== 'static') {
                bodyOffset = this.body().offset();
                dropTop -= bodyOffset.top;
                dropLeft -= bodyOffset.left;
            }

            // always prefer the current above/below alignment, unless there is not enough room

            if (aboveNow) {
                above = true;
                if (!enoughRoomAbove && enoughRoomBelow) above = false;
            } else {
                above = false;
                if (!enoughRoomBelow && enoughRoomAbove) above = true;
            }

            if (above) {
                dropTop = offset.top - dropHeight;
                this.container.addClass("select2-drop-above");
                this.dropdown.addClass("select2-drop-above");
            }
            else {
                this.container.removeClass("select2-drop-above");
                this.dropdown.removeClass("select2-drop-above");
            }

            css = $.extend({
                top: dropTop,
                left: dropLeft,
                width: width
            }, evaluate(this.opts.dropdownCss));

            this.dropdown.css(css);
        },

        // abstract
        shouldOpen: function() {
            var event;

            if (this.opened()) return false;

            event = $.Event("open");
            this.opts.element.trigger(event);
            return !event.isDefaultPrevented();
        },

        // abstract
        clearDropdownAlignmentPreference: function() {
            // clear the classes used to figure out the preference of where the dropdown should be opened
            this.container.removeClass("select2-drop-above");
            this.dropdown.removeClass("select2-drop-above");
        },

        /**
         * Opens the dropdown
         *
         * @return {Boolean} whether or not dropdown was opened. This method will return false if, for example,
         * the dropdown is already open, or if the 'open' event listener on the element called preventDefault().
         */
        // abstract
        open: function () {

            if (!this.shouldOpen()) return false;

			window.setTimeout(this.bind(this.opening), 1);

			// NVDA accessibility - aria NEU-18846
			this.search.attr("aria-expanded", true);
            return true;
        },

        /**
         * Performs the opening of the dropdown
         */
        // abstract
        opening: function() {
            var cid = this.containerId, selector = this.containerSelector,
                scroll = "scroll." + cid, resize = "resize." + cid;

            this.container.parents().each(function() {
                $(this).bind(scroll, function() {
                    var s2 = $(selector);
                    if (s2.length == 0) {
                        $(this).unbind(scroll);
                    }
                    s2.select2("close");
                });
            });

            window.setTimeout(function() {
                // this is done inside a timeout because IE will sometimes fire a resize event while opening
                // the dropdown and that causes this handler to immediately close it. this way the dropdown
                // has a chance to fully open before we start listening to resize events
                $(window).bind(resize, function() {
                    var s2 = $(selector);
                    if (s2.length == 0) {
                        $(window).unbind(resize);
                    }
                    s2.select2("close");
                })
            }, 10);

            this.clearDropdownAlignmentPreference();

            if (this.search.val() === " ") { this.search.val(""); }

            this.container.addClass("select2-dropdown-open").addClass("select2-container-active");

            this.updateResults(true);

            if(this.dropdown[0] !== this.body().children().last()[0]) {
                this.dropdown.detach().appendTo(this.body());
            }

            this.dropdown.show();

            this.positionDropdown();
            this.dropdown.addClass("select2-drop-active");

            this.ensureHighlightVisible();

            this.focusSearch();
        },

        // abstract
        close: function () {
            if (!this.opened()) return;

            var self = this;

            this.container.parents().each(function() {
                $(this).unbind("scroll." + self.containerId);
            });
            $(window).unbind("resize." + this.containerId);

            this.clearDropdownAlignmentPreference();

            this.dropdown.hide();
            this.container.removeClass("select2-dropdown-open").removeClass("select2-container-active");
            this.results.empty();
			this.clearSearch();

			// NVDA accessibility - aria NEU-18846
			this.search.attr("aria-activedescendant", "");
			this.search.attr("aria-expanded", false);
			this.search.removeAttr("aria-description");  // used to annouce the dropdown status/description

            this.opts.element.trigger($.Event("close"));
        },

        // abstract
        clearSearch: function () {

        },

        // abstract
        ensureHighlightVisible: function () {
            var results = this.results, children, index, child, hb, rb, y, more;

            index = this.highlight();

            if (index < 0) return;

            if (index == 0) {

                // if the first element is highlighted scroll all the way to the top,
                // that way any unselectable headers above it will also be scrolled
                // into view

                results.scrollTop(0);
                return;
            }

            children = results.find(".select2-result-selectable");

            child = $(children[index]);

            hb = child.offset().top + child.outerHeight(true);

            // if this is the last child lets also make sure select2-more-results is visible
            if (index === children.length - 1) {
                more = results.find("li.select2-more-results");
                if (more.length > 0) {
                    hb = more.offset().top + more.outerHeight(true);
                }
            }

            rb = results.offset().top + results.outerHeight(true);
            if (hb > rb) {
                results.scrollTop(results.scrollTop() + (hb - rb));
            }
            y = child.offset().top - results.offset().top;

            // make sure the top of the element is visible
            if (y < 0) {
                results.scrollTop(results.scrollTop() + y); // y is negative
			}
        },

        // abstract
        moveHighlight: function (delta) {
            var choices = this.results.find(".select2-result-selectable"),
				index = this.highlight();

            while (index > -1 && index < choices.length) {
                index += delta;
                var choice = $(choices[index]);
                if (choice.hasClass("select2-result-selectable") && !choice.hasClass("select2-disabled")) {
					this.highlight(index);
                    break;
                }
            }
        },

        // abstract
        highlight: function (index) {
            var choices = this.results.find(".select2-result-selectable").not(".select2-disabled");

            if (arguments.length === 0) {
                return indexOf(choices.filter(".select2-highlighted")[0], choices.get());
            }

            if (index >= choices.length) index = choices.length - 1;
            if (index < 0) index = 0;

			choices.removeClass("select2-highlighted");
			choices.removeAttr("aria-selected");  // NVDA accessibility - aria NEU-18846

			var focused_choice = $(choices[index])
			focused_choice.addClass("select2-highlighted");
			focused_choice.attr("aria-selected", true);  // NVDA accessibility - aria NEU-18846

			this.ensureHighlightVisible();

			// NVDA accessibility - aria NEU-18846
			var focused_choice_id = focused_choice.length === 0 ? "" : focused_choice[0].id;
			this.search.attr("aria-activedescendant", focused_choice_id);  // Important - allows NVDA to read the highlighted option
        },

        // abstract
        countSelectableResults: function() {
            return this.results.find(".select2-result-selectable").not(".select2-disabled").length;
        },

        // abstract
        highlightUnderEvent: function (event) {
            var el = $(event.target).closest(".select2-result-selectable");
            if (el.length > 0 && !el.is(".select2-highlighted")) {
        		var choices = this.results.find('.select2-result-selectable');
                this.highlight(choices.index(el));
            } else if (el.length == 0) {
                // if we are over an unselectable item remove al highlights
                this.results.find(".select2-highlighted").removeClass("select2-highlighted");
            }
        },

        // abstract
        loadMoreIfNeeded: function () {
            var results = this.results,
                more = results.find("li.select2-more-results"),
                below, // pixels the element is below the scroll fold, below==0 is when the element is starting to be visible
                offset = -1, // index of first element without data
                page = this.resultsPage + 1,
                self=this,
                term=this.search.val(),
                context=this.context;

            if (more.length === 0) return;
            below = more.offset().top - results.offset().top - results.height();

            if (below <= 0) {
                more.addClass("select2-active");
                this.opts.query({
                        term: term,
                        page: page,
                        context: context,
                        matcher: this.opts.matcher,
                        callback: this.bind(function (data) {

                    // ignore a response if the select2 has been closed before it was received
                    if (!self.opened()) return;


                    self.opts.populateResults.call(this, results, data.results, {term: term, page: page, context:context});

                    if (data.more===true) {
                        more.detach().appendTo(results).text(self.opts.formatLoadMore(page+1));
                        window.setTimeout(function() { self.loadMoreIfNeeded(); }, 10);
                    } else {
                        more.remove();
                    }
                    self.positionDropdown();
                    self.resultsPage = page;
                })});
            }
        },

        /**
         * Default tokenizer function which does nothing
         */
        tokenize: function() {

        },

        /**
         * @param initial whether or not this is the call to this method right after the dropdown has been opened
         */
        // abstract
        updateResults: function (initial) {
			var search = this.search, results = this.results, opts = this.opts, data, self = this, input;

			function postRender() {
				results.scrollTop(0);
				search.removeClass("select2-active");
				self.positionDropdown();

				if (opts.bind) {
					opts.bind(results);
				}
			}

			function render(html) {
				results.html(self.opts.escapeMarkup(html));
				postRender();
			}

			// NEU-18846 : remove last outdated dropdown status/description
			this.search.removeAttr("aria-description");

            // if the search is currently hidden we do not alter the results
            if (initial !== true && (this.showSearchInput === false || !this.opened())) {
                return;
            }

            search.addClass("select2-active");

            if (opts.maximumSelectionSize >=1) {
                data = this.data();
                if ($.isArray(data) && data.length >= opts.maximumSelectionSize && checkFormatter(opts.formatSelectionTooBig, "formatSelectionTooBig")) {
					render("<li class='select2-selection-limit'>" + opts.formatSelectionTooBig(opts.maximumSelectionSize) + "</li>");
					this.search.attr("aria-description", opts.formatSelectionTooBig(opts.maximumSelectionSize));  // NEU-18846 : you can only select...  
            	    return;
                }
            }

            if (search.val().length < opts.minimumInputLength) {
                if (checkFormatter(opts.formatInputTooShort, "formatInputTooShort")) {
					render("<li class='select2-no-results'>" + opts.formatInputTooShort(search.val(), opts.minimumInputLength) + "</li>");
					this.search.attr("aria-description", opts.formatInputTooShort(search.val(), opts.minimumInputLength));  // NEU-18846 : please enter * more characters
                } else {
                    render("");
                }
                return;
            }
            else if (opts.formatSearching()) {
				render("<li class='select2-searching'>" + opts.formatSearching() + "</li>");
            }

            // give the tokenizer a chance to pre-process the input
            input = this.tokenize();
            if (input != undefined && input != null) {
                search.val(input);
            }

            this.resultsPage = 1;
            opts.query({
                    term: search.val(),
                    page: this.resultsPage,
                    context: null,
                    matcher: opts.matcher,
                    callback: this.bind(function (data) {
                var def; // default choice

                // ignore a response if the select2 has been closed before it was received
                if (!this.opened()) return;

                // save context, if any
                this.context = (data.context===undefined) ? null : data.context;

                // create a default choice and prepend it to the list
                if (this.opts.createSearchChoice && search.val() !== "") {
                    def = this.opts.createSearchChoice.call(null, search.val(), data.results);
                    if (def !== undefined && def !== null && self.id(def) !== undefined && self.id(def) !== null) {
                        if ($(data.results).filter(
                            function () {
                                return equal(self.id(this), self.id(def));
                            }).length === 0) {
                            data.results.unshift(def);
                        }
                    }
                }

                if (data.results.length === 0 && checkFormatter(opts.formatNoMatches, "formatNoMatches")) {
					render("<li role='alert' aria-live='polite' class='select2-no-results'>" + opts.formatNoMatches(search.val()) + "</li>");  // NEU-18846 : no matches found
                    return;
                }

                results.empty();
                self.opts.populateResults.call(this, results, data.results, {term: search.val(), page: this.resultsPage, context:null});

                if (data.more === true && checkFormatter(opts.formatLoadMore, "formatLoadMore")) {
                    results.append("<li class='select2-more-results'>" + self.opts.escapeMarkup(opts.formatLoadMore(this.resultsPage)) + "</li>");
                    window.setTimeout(function() { self.loadMoreIfNeeded(); }, 10);
                }

                this.postprocessResults(data, initial);

                postRender();
            })});
        },

        // abstract
        cancel: function () {
            this.close();
        },

        // abstract
        blur: function () {
            this.close();
            this.container.removeClass("select2-container-active");
            this.dropdown.removeClass("select2-drop-active");
            // synonymous to .is(':focus'), which is available in jquery >= 1.6
            if (this.search[0] === document.activeElement) { this.search.blur(); }
            this.clearSearch();
            this.selection.find(".select2-search-choice-focus").removeClass("select2-search-choice-focus");
            this.opts.element.triggerHandler("blur");
        },

        // abstract
        focusSearch: function () {
            // need to do it here as well as in timeout so it works in IE
            this.search.show();
            this.search.focus();

            /* we do this in a timeout so that current event processing can complete before this code is executed.
             this makes sure the search field is focussed even if the current event would blur it */
            window.setTimeout(this.bind(function () {
                // reset the value so IE places the cursor at the end of the input box
                this.search.show();
                this.search.focus();
                this.search.val(this.search.val());
            }), 10);
        },

        // abstract
        selectHighlighted: function () {
            var index=this.highlight(),
                highlighted=this.results.find(".select2-highlighted").not(".select2-disabled"),
                data = highlighted.closest('.select2-result-selectable').data("select2-data");
            if (data) {
				highlighted.addClass("select2-disabled");
                this.highlight(index);
                this.onSelect(data);
            }
        },

        // abstract
        getPlaceholder: function () {
            return this.opts.element.attr("placeholder") ||
                this.opts.element.attr("data-placeholder") || // jquery 1.4 compat
                this.opts.element.data("placeholder") ||
                this.opts.placeholder;
        },

        /**
         * Get the desired width for the container element.  This is
         * derived first from option `width` passed to select2, then
         * the inline 'style' on the original element, and finally
         * falls back to the jQuery calculated element width.
         */
        // abstract
        initContainerWidth: function () {
            function resolveContainerWidth() {
                var style, attrs, matches, i, l;

                if (this.opts.width === "off") {
                    return null;
                } else if (this.opts.width === "element"){
                    return this.opts.element.outerWidth(false) === 0 ? 'auto' : this.opts.element.outerWidth(false) + 'px';
                } else if (this.opts.width === "copy" || this.opts.width === "resolve") {
                    // check if there is inline style on the element that contains width
                    style = this.opts.element.attr('style');
                    if (style !== undefined) {
                        attrs = style.split(';');
                        for (i = 0, l = attrs.length; i < l; i = i + 1) {
                            matches = attrs[i].replace(/\s/g, '')
                                .match(/width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/);
                            if (matches !== null && matches.length >= 1)
                                return matches[1];
                        }
                    }

                    if (this.opts.width === "resolve") {
                        // next check if css('width') can resolve a width that is percent based, this is sometimes possible
                        // when attached to input type=hidden or elements hidden via css
                        style = this.opts.element.css('width');
                        if (style.indexOf("%") > 0) return style;

                        // finally, fallback on the calculated width of the element
                        return (this.opts.element.outerWidth(false) === 0 ? 'auto' : this.opts.element.outerWidth(false) + 'px');
                    }

                    return null;
                } else if ($.isFunction(this.opts.width)) {
                    return this.opts.width();
                } else {
                    return this.opts.width;
               }
            };

            var width = resolveContainerWidth.call(this);
            if (width !== null) {
                this.container.attr("style", "width: "+width);
            }
        }
    });

    SingleSelect2 = clazz(AbstractSelect2, {

        // single

		createContainer: function () {
            var container = $("<div></div>", {
                "class": "select2-container"
            }).html([
                "<a href='javascript:void(0)' onclick='return false;' class='select2-choice'>",
                "<span></span><abbr class='select2-search-choice-close' style='display:none;'></abbr>",
                "<div><b></b></div>" ,
                "</a>",
                "<div class='select2-drop select2-offscreen'>" ,
                "	<div class='select2-search'>" ,
                "		<input type='text' autocomplete='off' class='select2-input' aria-activedescendant aria-expanded='false'/>" ,
                "   </div>" ,
                "   <ul class='select2-results'>" ,
                "   </ul>" ,
                "</div>"].join(""));
            return container;
        },

        // single
        opening: function () {
            this.search.show();
            this.parent.opening.apply(this, arguments);
            this.dropdown.removeClass("select2-offscreen");
        },

        // single
        close: function () {
            if (!this.opened()) return;
            this.parent.close.apply(this, arguments);
            this.dropdown.removeAttr("style").addClass("select2-offscreen").insertAfter(this.selection).show();
        },

        // single
        focus: function () {
            this.close();
            this.selection.focus();
        },

        // single
        isFocused: function () {
            return this.selection[0] === document.activeElement;
        },

        // single
        cancel: function () {
            this.parent.cancel.apply(this, arguments);
            this.selection.focus();
        },

        // single
        initContainer: function () {
			var selection;
			var container = this.container;
			var dropdown = this.dropdown;

            this.selection = selection = container.find(".select2-choice");

            this.search.bind("keydown", this.bind(function (e) {
                if (!this.enabled) return;

                if (e.which === KEY.PAGE_UP || e.which === KEY.PAGE_DOWN) {
                    // prevent the page from scrolling
                    killEvent(e);
                    return;
                }

                if (this.opened()) {
                    switch (e.which) {
                        case KEY.UP:
                        case KEY.DOWN:
                            this.moveHighlight((e.which === KEY.UP) ? -1 : 1);
                            killEvent(e);
                            return;
						case KEY.TAB:
							this.close();
							return;
                        case KEY.ENTER:
                            this.selectHighlighted();
                            killEvent(e);
                            return;
                        case KEY.ESC:
                            this.cancel(e);
                            killEvent(e);
                            return;
                    }
                } else {

                    if (e.which === KEY.TAB || KEY.isControl(e) || KEY.isFunctionKey(e) || e.which === KEY.ESC) {
                        return;
                    }

                    if (this.opts.openOnEnter === false && e.which === KEY.ENTER) {
                        return;
                    }

                    this.open();

                    if (e.which === KEY.ENTER) {
                        // do not propagate the event otherwise we open, and propagate enter which closes
                        return;
                    }
                }
            }));

            this.search.bind("focus", this.bind(function() {
                this.selection.attr("tabIndex", "-1");
            }));
            this.search.bind("blur", this.bind(function() {
                if (!this.opened()) this.container.removeClass("select2-container-active");
                window.setTimeout(this.bind(function() {
                    // restore original tab index
                    var ti=this.opts.element.attr("tabIndex");
                    if (ti) {
                        this.selection.attr("tabIndex", ti);
                    } else {
                        this.selection.removeAttr("tabIndex");
                    }
                }), 10);
            }));

            selection.delegate("abbr", "mousedown", this.bind(function (e) {
                if (!this.enabled) return;
                this.clear();
                killEventImmediately(e);
                this.close();
                this.triggerChange();
                this.selection.focus();
            }));

            selection.bind("mousedown", this.bind(function (e) {
                if (this.opened()) {
                    this.close();
                    this.selection.focus();
                } else if (this.enabled) {
                    this.open();
                }
            }));

            dropdown.bind("mousedown", this.bind(function() { this.search.focus(); }));

            selection.bind("focus", this.bind(function() {
                this.container.addClass("select2-container-active");
                // hide the search so the tab key does not focus on it
                this.search.attr("tabIndex", "-1");
            }));

            selection.bind("blur", this.bind(function() {
                if (!this.opened()) {
                    this.container.removeClass("select2-container-active");
                }
                window.setTimeout(this.bind(function() { this.search.attr("tabIndex", this.opts.element.attr("tabIndex")); }), 10);
            }));

            selection.bind("keydown", this.bind(function(e) {
                if (!this.enabled) return;

                if (e.which == KEY.DOWN || e.which == KEY.UP
                    || (e.which == KEY.ENTER && this.opts.openOnEnter)) {
                    this.open();
                    killEvent(e);
                    return;
                }

                if (e.which == KEY.DELETE || e.which == KEY.BACKSPACE) {
                    if (this.opts.allowClear) {
                        this.clear();
                    }
                    killEvent(e);
                    return;
                }
            }));
            selection.bind("keypress", this.bind(function(e) {
                var key = String.fromCharCode(e.which);
                this.search.val(key);
                this.open();
            }));

            this.setPlaceholder();

            this.search.bind("focus", this.bind(function() {
                this.container.addClass("select2-container-active");
            }));
        },

        // single
        clear: function() {
            this.opts.element.val("");
            this.selection.find("span").empty();
            this.selection.removeData("select2-data");
            this.setPlaceholder();
        },

        /**
         * Sets selection based on source element's value
         */
        // single
        initSelection: function () {
            var selected;
            if (this.opts.element.val() === "" && this.opts.element.text() === "") {
                this.close();
                this.setPlaceholder();
            } else {
                var self = this;
                this.opts.initSelection.call(null, this.opts.element, function(selected){
                    if (selected !== undefined && selected !== null) {
                        self.updateSelection(selected);
                        self.close();
                        self.setPlaceholder();
                    }
                });
            }
        },

        // single
        prepareOpts: function () {
            var opts = this.parent.prepareOpts.apply(this, arguments);

            if (opts.element.get(0).tagName.toLowerCase() === "select") {
                // install the selection initializer
                opts.initSelection = function (element, callback) {
                    var selected = element.find(":selected");
                    // a single select box always has a value, no need to null check 'selected'
                    if ($.isFunction(callback))
                        callback({id: selected.attr("value"), text: selected.text(), element:selected});
                };
            }

            return opts;
        },

        // single
        setPlaceholder: function () {
            var placeholder = this.getPlaceholder();

            if (this.opts.element.val() === "" && placeholder !== undefined) {

                // check for a first blank option if attached to a select
                if (this.select && this.select.find("option:first").text() !== "") return;

                this.selection.find("span").html(this.opts.escapeMarkup(placeholder));

                this.selection.addClass("select2-default");

                this.selection.find("abbr").hide();
            }
        },

        // single
        postprocessResults: function (data, initial) {
            var selected = 0, self = this, showSearchInput = true;

            // find the selected element in the result list

            this.results.find(".select2-result-selectable").each2(function (i, elm) {
                if (equal(self.id(elm.data("select2-data")), self.opts.element.val())) {
                    selected = i;
                    return false;
                }
            });

            // and highlight it

            this.highlight(selected);

            // hide the search box if this is the first we got the results and there are a few of them

            if (initial === true) {
                showSearchInput = this.showSearchInput = countResults(data.results) >= this.opts.minimumResultsForSearch;
                this.dropdown.find(".select2-search")[showSearchInput ? "removeClass" : "addClass"]("select2-search-hidden");

                //add "select2-with-searchbox" to the container if search box is shown
                $(this.dropdown, this.container)[showSearchInput ? "addClass" : "removeClass"]("select2-with-searchbox");
            }

        },

        // single
        onSelect: function (data) {
            var old = this.opts.element.val();

            this.opts.element.val(this.id(data));
            this.updateSelection(data);
            this.close();
            this.selection.focus();

            if (!equal(old, this.id(data))) { this.triggerChange(); }
        },

        // single
        updateSelection: function (data) {

            var container=this.selection.find("span"), formatted;

            this.selection.data("select2-data", data);

            container.empty();
            formatted=this.opts.formatSelection(data, container);
            if (formatted !== undefined) {
                container.append(this.opts.escapeMarkup(formatted));
            }

            this.selection.removeClass("select2-default");

            if (this.opts.allowClear && this.getPlaceholder() !== undefined) {
                this.selection.find("abbr").show();
            }
        },

        // single
        val: function () {
            var val, data = null, self = this;

            if (arguments.length === 0) {
                return this.opts.element.val();
            }

            val = arguments[0];

            if (this.select) {
                this.select
                    .val(val)
                    .find(":selected").each2(function (i, elm) {
                        data = {id: elm.attr("value"), text: elm.text()};
                        return false;
                    });
                this.updateSelection(data);
                this.setPlaceholder();
            } else {
                if (this.opts.initSelection === undefined) {
                    throw new Error("cannot call val() if initSelection() is not defined");
                }
                // val is an id. !val is true for [undefined,null,'']
                if (!val) {
                    this.clear();
                    return;
                }
                this.opts.element.val(val);
                this.opts.initSelection(this.opts.element, function(data){
                    self.opts.element.val(!data ? "" : self.id(data));
                    self.updateSelection(data);
                    self.setPlaceholder();
                });
            }
        },

        // single
        clearSearch: function () {
            this.search.val("");
        },

        // single
        data: function(value) {
            var data;

            if (arguments.length === 0) {
                data = this.selection.data("select2-data");
                if (data == undefined) data = null;
                return data;
            } else {
                if (!value || value === "") {
                    this.clear();
                } else {
                    this.opts.element.val(!value ? "" : this.id(value));
                    this.updateSelection(value);
                }
            }
        }
    });

    MultiSelect2 = clazz(AbstractSelect2, {

        // multi
        createContainer: function () {
            var container = $("<div></div>", {
                "class": "select2-container select2-container-multi"
            }).html([
                "<ul class='select2-choices unstyled'>",
                "	<li class='select2-search-field'>" ,
                "		<input type='text' autocomplete='off' class='select2-input' aria-activedescendant aria-expanded='false'>",
                "	</li>" ,
                "</ul>" ,
                "<div class='select2-drop select2-drop-multi' style='display:none;'>" ,
                "	<ul class='select2-results'>" ,
                "	</ul>" ,
                "</div>"].join(""));
			return container;
        },

        // multi
        prepareOpts: function () {
            var opts = this.parent.prepareOpts.apply(this, arguments);

            // TODO validate placeholder is a string if specified

            if (opts.element.get(0).tagName.toLowerCase() === "select") {
                // install sthe selection initializer
                opts.initSelection = function (element,callback) {

                    var data = [];
                    element.find(":selected").each2(function (i, elm) {
                        data.push({id: elm.attr("value"), text: elm.text(), element: elm});
                    });

                    if ($.isFunction(callback))
                        callback(data);
                };
            }

            return opts;
        },

        // multi
        initContainer: function () {

            var selector = ".select2-choices", selection;

            this.searchContainer = this.container.find(".select2-search-field");
            this.selection = selection = this.container.find(selector);

            this.search.bind("keydown", this.bind(function (e) {
                if (!this.enabled) return;

                if (e.which === KEY.BACKSPACE && this.search.val() === "") {
                    this.close();

                    var choices,
                        selected = selection.find(".select2-search-choice-focus");
                    if (selected.length > 0) {
                        this.unselect(selected.first());
                        this.search.width(10);
                        killEvent(e);
                        return;
                    }

                    choices = selection.find(".select2-search-choice");
                    if (choices.length > 0) {
                        choices.last().addClass("select2-search-choice-focus");
                    }
                } else {
                    selection.find(".select2-search-choice-focus").removeClass("select2-search-choice-focus");
                }

                if (this.opened()) {
                    switch (e.which) {
						case KEY.UP:
						case KEY.DOWN:
							this.moveHighlight((e.which === KEY.UP) ? -1 : 1);
							killEvent(e);
							return;
						case KEY.ENTER:
							this.selectHighlighted();
							killEvent(e);
							return;
						case KEY.TAB:
							this.close();
							return;
						case KEY.ESC:
							this.cancel(e);
							killEvent(e);
							return;
                    }
                }

                if (e.which === KEY.TAB || KEY.isControl(e) || KEY.isFunctionKey(e)
                 || e.which === KEY.BACKSPACE || e.which === KEY.ESC) {
                    return;
                }

                if (this.opts.openOnEnter === false && e.which === KEY.ENTER) {
                    return;
                }

                this.open();

                if (e.which === KEY.PAGE_UP || e.which === KEY.PAGE_DOWN) {
                    // prevent the page from scrolling
                    killEvent(e);
                }
            }));

            this.search.bind("keyup", this.bind(this.resizeSearch));

            this.search.bind("blur", this.bind(function(e) {
                this.container.removeClass("select2-container-active");
                this.search.removeClass("select2-focused");
                this.clearSearch();
                e.stopImmediatePropagation();
            }));

            this.container.delegate(selector, "mousedown", this.bind(function (e) {
                if (!this.enabled) return;
                if ($(e.target).closest(".select2-search-choice").length > 0) {
                    // clicked inside a select2 search choice, do not open
                    return;
                }
                this.clearPlaceholder();
                this.open();
                this.focusSearch();
                e.preventDefault();
            }));

            this.container.delegate(selector, "focus", this.bind(function () {
                if (!this.enabled) return;
                this.container.addClass("select2-container-active");
                this.dropdown.addClass("select2-drop-active");
                this.clearPlaceholder();
            }));

            // set the placeholder if necessary
            this.clearSearch();
        },

        // multi
        enable: function() {
            if (this.enabled) return;

            this.parent.enable.apply(this, arguments);

            this.search.removeAttr("disabled");
        },

        // multi
        disable: function() {
            if (!this.enabled) return;

            this.parent.disable.apply(this, arguments);

            this.search.attr("disabled", true);
        },

        // multi
        initSelection: function () {
            var data;
            if (this.opts.element.val() === "" && this.opts.element.text() === "") {
                this.updateSelection([]);
                this.close();
                // set the placeholder if necessary
                this.clearSearch();
            }
            if (this.select || this.opts.element.val() !== "") {
                var self = this;
                this.opts.initSelection.call(null, this.opts.element, function(data){
                    if (data !== undefined && data !== null) {
                        self.updateSelection(data);
                        self.close();
                        // set the placeholder if necessary
                        self.clearSearch();
                    }
                });
            }
        },

        // multi
        clearSearch: function () {
            var placeholder = this.getPlaceholder();

            if (placeholder !== undefined  && this.getVal().length === 0 && this.search.hasClass("select2-focused") === false) {
                this.search.val(placeholder).addClass("select2-default");
                // stretch the search box to full width of the container so as much of the placeholder is visible as possible
                this.resizeSearch();
            } else {
                // we set this to " " instead of "" and later clear it on focus() because there is a firefox bug
                // that does not properly render the caret when the field starts out blank
                this.search.val(" ").width(10);
            }
        },

        // multi
        clearPlaceholder: function () {
            if (this.search.hasClass("select2-default")) {
                this.search.val("").removeClass("select2-default");
            } else {
                // work around for the space character we set to avoid firefox caret bug
                if (this.search.val() === " ") this.search.val("");
            }
        },

        // multi
        opening: function () {
            this.parent.opening.apply(this, arguments);

            this.clearPlaceholder();
			this.resizeSearch();
            this.focusSearch();
        },

        // multi
        close: function () {
            if (!this.opened()) return;
            this.parent.close.apply(this, arguments);
        },

        // multi
        focus: function () {
            this.close();
            this.search.focus();
        },

        // multi
        isFocused: function () {
            return this.search.hasClass("select2-focused");
        },

        // multi
        updateSelection: function (data) {
            var ids = [], filtered = [], self = this;

            // filter out duplicates
            $(data).each(function () {
                if (indexOf(self.id(this), ids) < 0) {
                    ids.push(self.id(this));
                    filtered.push(this);
                }
            });
            data = filtered;

            this.selection.find(".select2-search-choice").remove();
            $(data).each(function () {
                self.addSelectedChoice(this);
            });
            self.postprocessResults();
        },

        tokenize: function() {
            var input = this.search.val();
            input = this.opts.tokenizer(input, this.data(), this.bind(this.onSelect), this.opts);
            if (input != null && input != undefined) {
                this.search.val(input);
                if (input.length > 0) {
                    this.open();
                }
            }

        },

        // multi
        onSelect: function (data) {
            this.addSelectedChoice(data);
            if (this.select || !this.opts.closeOnSelect) this.postprocessResults();

            if (this.opts.closeOnSelect) {
                this.close();
                this.search.width(10);
            } else {
                if (this.countSelectableResults()>0) {
                    this.search.width(10);
                    this.resizeSearch();
                    this.positionDropdown();
                } else {
                    // if nothing left to select close
                    this.close();
                }
            }

            // since its not possible to select an element that has already been
            // added we do not need to check if this is a new element before firing change
            this.triggerChange({ added: data });

            this.focusSearch();
        },

        // multi
        cancel: function () {
            this.close();
            this.focusSearch();
        },

        // multi
        addSelectedChoice: function (data) {
            var choice=$(
                    "<li class='select2-search-choice'>" +
                    "    <div></div>" +
                    "    <a href='javascript:void(0)' onclick='return false;' class='select2-search-choice-close' tabindex='-1' aria-label='remove'></a>" +
                    "</li>"),
                id = this.id(data),
                val = this.getVal(),
                formatted;
             
            if (this.opts.addSelection) {
                var contentId = this.container[0].parentElement.children[this.container[0].parentElement.children.length - 1].attributes['data-contentid'].value;                
                this.opts.addSelection(data, contentId);
            }

            formatted=this.opts.formatSelection(data, choice.find("div"));
            if (formatted != undefined) {
                choice.find("div").replaceWith("<div>"+this.opts.escapeMarkup(formatted)+"</div>");
            }
            if (data.AddNewClass == true) {
                choice.addClass("select2-new");
            }
            choice.find(".select2-search-choice-close")
                .bind("mousedown", killEvent)
                .bind("click dblclick", this.bind(function (e) {
                if (!this.enabled) return;

                $(e.target).closest(".select2-search-choice").fadeOut('fast', this.bind(function(){
                    this.unselect($(e.target));
                    this.selection.find(".select2-search-choice-focus").removeClass("select2-search-choice-focus");
                    this.close();
                    this.focusSearch();
                })).dequeue();
                killEvent(e);
            })).bind("focus", this.bind(function () {
                if (!this.enabled) return;
                this.container.addClass("select2-container-active");
                this.dropdown.addClass("select2-drop-active");
            }));

            choice.data("select2-data", data);
            choice.insertBefore(this.searchContainer);

            val.push(id);
            this.setVal(val);
        },

        // multi
        unselect: function (selected) {
            var val = this.getVal(),
                data,
                index;

            selected = selected.closest(".select2-search-choice");

            if (this.opts.removeSelection) {
                 var contentId = this.container[0].parentElement.children[this.container[0].parentElement.children.length - 1].attributes['data-contentid'].value;

                 var removed = this.opts.removeSelection(selected, contentId);
            }

            if (selected.length === 0) {
                throw "Invalid argument: " + selected + ". Must be .select2-search-choice";
            }

            data = selected.data("select2-data");

            index = indexOf(this.id(data), val);

            if (index >= 0) {
                val.splice(index, 1);
                this.setVal(val);
                if (this.select) this.postprocessResults();
            }
            selected.remove();
            this.triggerChange({ removed: data });
        },

        // multi
        postprocessResults: function () {
            var val = this.getVal(),
                choices = this.results.find(".select2-result-selectable"),
                compound = this.results.find(".select2-result-with-children"),
                self = this;

            choices.each2(function (i, choice) {
                var id = self.id(choice.data("select2-data"));
                if (indexOf(id, val) >= 0) {
                    choice.addClass("select2-disabled").removeClass("select2-result-selectable");
                } else {
                    choice.removeClass("select2-disabled").addClass("select2-result-selectable");
                }
            });

            compound.each2(function(i, e) {
                if (!e.is('.select2-result-selectable') && e.find(".select2-result-selectable").length==0) {  // FIX FOR HIRECHAL DATA
                    e.addClass("select2-disabled");
                } else {
                    e.removeClass("select2-disabled");
                }
            });

            choices.each2(function (i, choice) {
                if (!choice.hasClass("select2-disabled") && choice.hasClass("select2-result-selectable")) {
                    self.highlight(0);
                    return false;
                }
            });

        },

        // multi
        resizeSearch: function () {

            var minimumWidth, left, maxWidth, containerLeft, searchWidth,
            	sideBorderPadding = getSideBorderPadding(this.search);

            minimumWidth = measureTextWidth(this.search) + 10;

            left = this.search.offset().left;

            maxWidth = this.selection.width();
            containerLeft = this.selection.offset().left;

            searchWidth = maxWidth - (left - containerLeft) - sideBorderPadding;
            if (searchWidth < minimumWidth) {
                searchWidth = minimumWidth;
            }

            if (searchWidth < minimumWidth) {
                searchWidth = maxWidth - sideBorderPadding;
            }

            if (searchWidth < 40) {
                searchWidth = maxWidth - sideBorderPadding;
            }

            if (searchWidth <= 0) {
                searchWidth = minimumWidth
            }

            this.search.width(searchWidth);
        },

        // multi
        getVal: function () {
            var val;
            if (this.select) {
                val = this.select.val();
                return val === null ? [] : val;
            } else {
                val = this.opts.element.val();
                return splitVal(val, this.opts.separator);
            }
        },

        // multi
        setVal: function (val) {
            var unique;
            if (this.select) {
                this.select.val(val);
            } else {
                unique = [];
                // filter out duplicates
                $(val).each(function () {
                    if (indexOf(this, unique) < 0) unique.push(this);
                });
                this.opts.element.val(unique.length === 0 ? "" : unique.join(this.opts.separator));
            }
        },

        // multi
        val: function () {
            var val, data = [], self=this;

            if (arguments.length === 0) {
                return this.getVal();
            }

            val = arguments[0];

            if (!val) {
                this.opts.element.val("");
                this.updateSelection([]);
                this.clearSearch();
                return;
            }

            // val is a list of ids
            this.setVal(val);

            if (this.select) {
                this.select.find(":selected").each(function () {
                    data.push({id: $(this).attr("value"), text: $(this).text()});
                });
                this.updateSelection(data);
            } else {
                if (this.opts.initSelection === undefined) {
                    throw new Error("val() cannot be called if initSelection() is not defined")
                }

                this.opts.initSelection(this.opts.element, function(data){
                    var ids=$(data).map(self.id);
                    self.setVal(ids);
                    self.updateSelection(data);
                    self.clearSearch();
                });
            }
            this.clearSearch();
        },

        // multi
        onSortStart: function() {
            if (this.select) {
                throw new Error("Sorting of elements is not supported when attached to <select>. Attach to <input type='hidden'/> instead.");
            }

            // collapse search field into 0 width so its container can be collapsed as well
            this.search.width(0);
            // hide the container
            this.searchContainer.hide();
        },

        // multi
        onSortEnd:function() {

            var val=[], self=this;

            // show search and move it to the end of the list
            this.searchContainer.show();
            // make sure the search container is the last item in the list
            this.searchContainer.appendTo(this.searchContainer.parent());
            // since we collapsed the width in dragStarted, we resize it here
            this.resizeSearch();

            // update selection

            this.selection.find(".select2-search-choice").each(function() {
                val.push(self.opts.id($(this).data("select2-data")));
            });
            this.setVal(val);
            this.triggerChange();
        },

        // multi
        data: function(values) {
            var self=this, ids;
            if (arguments.length === 0) {
                 return this.selection
                     .find(".select2-search-choice")
                     .map(function() { return $(this).data("select2-data"); })
                     .get();
            } else {
                if (!values) { values = []; }
                ids = $.map(values, function(e) { return self.opts.id(e)});
                this.setVal(ids);
                this.updateSelection(values);
                this.clearSearch();
            }
        }
    });

    $.fn.select2 = function () {

        var args = Array.prototype.slice.call(arguments, 0),
            opts,
            select2,
            value, multiple, allowedMethods = ["val", "destroy", "opened", "open", "close", "focus", "isFocused", "container", "onSortStart", "onSortEnd", "enable", "disable", "positionDropdown", "data"];

        this.each(function () {
            if (args.length === 0 || typeof(args[0]) === "object") {
                opts = args.length === 0 ? {} : $.extend({}, args[0]);
                opts.element = $(this);

                if (opts.element.get(0).tagName.toLowerCase() === "select") {
                    multiple = opts.element.attr("multiple");
                } else {
                    multiple = opts.multiple || false;
                    if ("tags" in opts) {opts.multiple = multiple = true;}
                }

                select2 = multiple ? new MultiSelect2() : new SingleSelect2();
                select2.init(opts);
            } else if (typeof(args[0]) === "string") {

                if (indexOf(args[0], allowedMethods) < 0) {
                    throw "Unknown method: " + args[0];
                }

                value = undefined;
                select2 = $(this).data("select2");
                if (select2 === undefined) return;
                if (args[0] === "container") {
                    value=select2.container;
                } else {
                    value = select2[args[0]].apply(select2, args.slice(1));
                }
                if (value !== undefined) {return false;}
            } else {
                throw "Invalid arguments to select2 plugin: " + args;
            }
        });
        return (value === undefined) ? this : value;
    };

    // plugin defaults, accessible to users
    $.fn.select2.defaults = {
        width: "copy",
        closeOnSelect: true,
        openOnEnter: true,
        containerCss: {},
        dropdownCss: {},
        containerCssClass: "",
        dropdownCssClass: "",
        formatResult: function(result, container, query) {
            var markup=[];
            markMatch(result.text, query.term, markup);
            return markup.join("");
        },
        formatSelection: function (data, container) {
            return data ? data.text : undefined;
        },
        formatResultCssClass: function(data) {return undefined;},
        formatNoMatches: function () { return "No matches found"; },
        formatInputTooShort: function (input, min) { return "Please enter " + (min - input.length) + " more characters"; },
        formatSelectionTooBig: function (limit) { return "You can only select " + limit + " item" + (limit == 1 ? "" : "s"); },
        formatLoadMore: function (pageNumber) { return "Loading more results..."; },
        formatSearching: function () { return "Searching..."; },
        minimumResultsForSearch: 0,
        minimumInputLength: 0,
        maximumSelectionSize: 0,
        id: function (e) { return e.id; },
        matcher: function(term, text) {
            return text.toUpperCase().indexOf(term.toUpperCase()) >= 0;
        },
        separator: ",",
        tokenSeparators: [],
        tokenizer: defaultTokenizer,
        escapeMarkup: function (markup) {
            if (markup && typeof(markup) === "string") {
                return markup.replace(/&/g, "&amp;");
            }
            return markup;
        },
        blurOnChange: false
    };

    // exports
    window.Select2 = {
        query: {
            ajax: ajax,
            local: local,
            tags: tags
        }, util: {
            debounce: debounce,
            markMatch: markMatch
        }, "class": {
            "abstract": AbstractSelect2,
            "single": SingleSelect2,
            "multi": MultiSelect2
        }
    };

}(jQuery));

//Fix below as discussed  http://photon:9090/wiki-scripts/index.php?title=NeutrinoWebApplication:Select2

// Patch the select2 library so that text in dropdown options are escaped.
(function ($) {
    if (typeof ($.fn.select2) == 'undefined') {
        return;
    }

    var originalFormatResult = $.fn.select2.defaults.formatResult;

    if (typeof originalFormatResult != 'function') {
        if (console && console.error) {
            console.error('Cannot patch select2 because interface changed.');
            return;
        }
    }

    var saferFormatResult = function (result, container, query) {
        var optionText = result.text;
        if (typeof optionText == 'string') {
            optionText = optionText
                .replace(/&/g, '&amp;')
                .replace(/</g, '&lt;')
                .replace(/>/g, '&gt;')
                .replace(/"/g, '&quot;')
                .replace(/'/g, '&#x27;')
                .replace(/\//g, '&#x2F;');
            result.text = optionText;
        }
        return originalFormatResult(result, container, query);
    };
    $.fn.select2.defaults.formatResult = saferFormatResult;

    // Default implementation of escape breaks option text escaping, it
    // replaces valid ampersands with &amp;
    $.fn.select2.defaults.escapeMarkup = function (markup) {
        return markup;
    };

}).call(this, window.jQuery);






;
(function (a) { a.uniform = { options: { selectClass: "selector", radioClass: "radio", checkboxClass: "checker", fileClass: "uploader", filenameClass: "filename", fileBtnClass: "action", fileDefaultText: "No file selected", fileBtnText: "Choose File", checkedClass: "checked", focusClass: "focus", disabledClass: "disabled", buttonClass: "button", activeClass: "active", hoverClass: "hover", useID: true, idPrefix: "uniform", resetSelector: false, autoHide: true }, elements: [] }; if (a.browser.msie && a.browser.version < 7) { a.support.selectOpacity = false } else { a.support.selectOpacity = true } a.fn.uniform = function (k) { k = a.extend(a.uniform.options, k); var d = this; if (k.resetSelector != false) { a(k.resetSelector).mouseup(function () { function l() { a.uniform.update(d) } setTimeout(l, 10) }) } function j(l) { $el = a(l); $el.addClass($el.attr("type")); b(l) } function g(l) { a(l).addClass("uniform"); b(l) } function i(o) { var m = a(o); var p = a("<div>"), l = a("<span>"); p.addClass(k.buttonClass); if (k.useID && m.attr("id") != "") { p.attr("id", k.idPrefix + "-" + m.attr("id")) } var n; if (m.is("a") || m.is("button")) { n = m.text() } else { if (m.is(":submit") || m.is(":reset") || m.is("input[type=button]")) { n = m.attr("value") } } n = n == "" ? m.is(":reset") ? "Reset" : "Submit" : n; l.html(n); m.css("opacity", 0); m.wrap(p); m.wrap(l); p = m.closest("div"); l = m.closest("span"); if (m.is(":disabled")) { p.addClass(k.disabledClass) } p.bind({ "mouseenter.uniform": function () { p.addClass(k.hoverClass) }, "mouseleave.uniform": function () { p.removeClass(k.hoverClass); p.removeClass(k.activeClass) }, "mousedown.uniform touchbegin.uniform": function () { p.addClass(k.activeClass) }, "mouseup.uniform touchend.uniform": function () { p.removeClass(k.activeClass) }, "click.uniform touchend.uniform": function (r) { if (a(r.target).is("span") || a(r.target).is("div")) { if (o[0].dispatchEvent) { var q = document.createEvent("MouseEvents"); q.initEvent("click", true, true); o[0].dispatchEvent(q) } else { o[0].click() } } } }); o.bind({ "focus.uniform": function () { p.addClass(k.focusClass) }, "blur.uniform": function () { p.removeClass(k.focusClass) } }); a.uniform.noSelect(p); b(o) } function e(o) { var m = a(o); var p = a("<div />"), l = a("<span />"); if (!m.css("display") == "none" && k.autoHide) { p.hide() } p.addClass(k.selectClass); if (k.useID && o.attr("id") != "") { p.attr("id", k.idPrefix + "-" + o.attr("id")) } var n = o.find(":selected:first"); if (n.length == 0) { n = o.find("option:first") } l.html(n.html()); o.css("opacity", 0); o.wrap(p); o.before(l); p = o.parent("div"); l = o.siblings("span"); o.bind({ "change.uniform": function () { l.text(o.find(":selected").html()); p.removeClass(k.activeClass) }, "focus.uniform": function () { p.addClass(k.focusClass) }, "blur.uniform": function () { p.removeClass(k.focusClass); p.removeClass(k.activeClass) }, "mousedown.uniform touchbegin.uniform": function () { p.addClass(k.activeClass) }, "mouseup.uniform touchend.uniform": function () { p.removeClass(k.activeClass) }, "click.uniform touchend.uniform": function () { p.removeClass(k.activeClass) }, "mouseenter.uniform": function () { p.addClass(k.hoverClass) }, "mouseleave.uniform": function () { p.removeClass(k.hoverClass); p.removeClass(k.activeClass) }, "keyup.uniform": function () { l.text(o.find(":selected").html()) } }); if (a(o).attr("disabled")) { p.addClass(k.disabledClass) } a.uniform.noSelect(l); b(o) } function f(n) { var m = a(n); var o = a("<div />"), l = a("<span />"); if (!m.css("display") == "none" && k.autoHide) { o.hide() } o.addClass(k.checkboxClass); if (k.useID && n.attr("id") != "") { o.attr("id", k.idPrefix + "-" + n.attr("id")) } a(n).wrap(o); a(n).wrap(l); l = n.parent(); o = l.parent(); a(n).css("opacity", 0).bind({ "focus.uniform": function () { o.addClass(k.focusClass) }, "blur.uniform": function () { o.removeClass(k.focusClass) }, "click.uniform touchend.uniform": function () { if (!a(n).attr("checked")) { l.removeClass(k.checkedClass) } else { l.addClass(k.checkedClass) } }, "mousedown.uniform touchbegin.uniform": function () { o.addClass(k.activeClass) }, "mouseup.uniform touchend.uniform": function () { o.removeClass(k.activeClass) }, "mouseenter.uniform": function () { o.addClass(k.hoverClass) }, "mouseleave.uniform": function () { o.removeClass(k.hoverClass); o.removeClass(k.activeClass) } }); if (a(n).attr("checked")) { l.addClass(k.checkedClass) } if (a(n).attr("disabled")) { o.addClass(k.disabledClass) } b(n) } function c(n) { var m = a(n); var o = a("<div />"), l = a("<span />"); if (!m.css("display") == "none" && k.autoHide) { o.hide() } o.addClass(k.radioClass); if (k.useID && n.attr("id") != "") { o.attr("id", k.idPrefix + "-" + n.attr("id")) } a(n).wrap(o); a(n).wrap(l); l = n.parent(); o = l.parent(); a(n).css("opacity", 0).bind({ "focus.uniform": function () { o.addClass(k.focusClass) }, "blur.uniform": function () { o.removeClass(k.focusClass) }, "click.uniform touchend.uniform": function () { if (!a(n).attr("checked")) { l.removeClass(k.checkedClass) } else { var p = k.radioClass.split(" ")[0]; a("." + p + " span." + k.checkedClass + ":has([name='" + a(n).attr("name") + "'])").removeClass(k.checkedClass); l.addClass(k.checkedClass) } }, "mousedown.uniform touchend.uniform": function () { if (!a(n).is(":disabled")) { o.addClass(k.activeClass) } }, "mouseup.uniform touchbegin.uniform": function () { o.removeClass(k.activeClass) }, "mouseenter.uniform touchend.uniform": function () { o.addClass(k.hoverClass) }, "mouseleave.uniform": function () { o.removeClass(k.hoverClass); o.removeClass(k.activeClass) } }); if (a(n).attr("checked")) { l.addClass(k.checkedClass) } if (a(n).attr("disabled")) { o.addClass(k.disabledClass) } b(n) } function h(q) { var o = a(q); var r = a("<div />"), p = a("<span>" + k.fileDefaultText + "</span>"), m = a("<span>" + k.fileBtnText + "</span>"); if (!o.css("display") == "none" && k.autoHide) { r.hide() } r.addClass(k.fileClass); p.addClass(k.filenameClass); m.addClass(k.fileBtnClass); if (k.useID && o.attr("id") != "") { r.attr("id", k.idPrefix + "-" + o.attr("id")) } o.wrap(r); o.after(m); o.after(p); r = o.closest("div"); p = o.siblings("." + k.filenameClass); m = o.siblings("." + k.fileBtnClass); if (!o.attr("size")) { var l = r.width(); o.attr("size", l / 10) } var n = function () { var s = o.val(); if (s === "") { s = k.fileDefaultText } else { s = s.split(/[\/\\]+/); s = s[(s.length - 1)] } p.text(s) }; n(); o.css("opacity", 0).bind({ "focus.uniform": function () { r.addClass(k.focusClass) }, "blur.uniform": function () { r.removeClass(k.focusClass) }, "mousedown.uniform": function () { if (!a(q).is(":disabled")) { r.addClass(k.activeClass) } }, "mouseup.uniform": function () { r.removeClass(k.activeClass) }, "mouseenter.uniform": function () { r.addClass(k.hoverClass) }, "mouseleave.uniform": function () { r.removeClass(k.hoverClass); r.removeClass(k.activeClass) } }); if (a.browser.msie) { o.bind("click.uniform.ie7", function () { setTimeout(n, 0) }) } else { o.bind("change.uniform", n) } if (o.attr("disabled")) { r.addClass(k.disabledClass) } a.uniform.noSelect(p); a.uniform.noSelect(m); b(q) } a.uniform.restore = function (l) { if (l == undefined) { l = a(a.uniform.elements) } a(l).each(function () { if (a(this).is(":checkbox")) { a(this).unwrap().unwrap() } else { if (a(this).is("select")) { a(this).siblings("span").remove(); a(this).unwrap() } else { if (a(this).is(":radio")) { a(this).unwrap().unwrap() } else { if (a(this).is(":file")) { a(this).siblings("span").remove(); a(this).unwrap() } else { if (a(this).is("button, :submit, :reset, a, input[type='button']")) { a(this).unwrap().unwrap() } } } } } a(this).unbind(".uniform"); a(this).css("opacity", "1"); var m = a.inArray(a(l), a.uniform.elements); a.uniform.elements.splice(m, 1) }) }; function b(l) { l = a(l).get(); if (l.length > 1) { a.each(l, function (m, n) { a.uniform.elements.push(n) }) } else { a.uniform.elements.push(l) } } a.uniform.noSelect = function (l) { function m() { return false } a(l).each(function () { this.onselectstart = this.ondragstart = m; a(this).mousedown(m).css({ MozUserSelect: "none" }) }) }; a.uniform.update = function (l) { if (l == undefined) { l = a(a.uniform.elements) } l = a(l); l.each(function () { var n = a(this); if (n.is("select")) { var m = n.siblings("span"); var p = n.parent("div"); p.removeClass(k.hoverClass + " " + k.focusClass + " " + k.activeClass); m.html(n.find(":selected").html()); if (n.is(":disabled")) { p.addClass(k.disabledClass) } else { p.removeClass(k.disabledClass) } } else { if (n.is(":checkbox")) { var m = n.closest("span"); var p = n.closest("div"); p.removeClass(k.hoverClass + " " + k.focusClass + " " + k.activeClass); m.removeClass(k.checkedClass); if (n.is(":checked")) { m.addClass(k.checkedClass) } if (n.is(":disabled")) { p.addClass(k.disabledClass) } else { p.removeClass(k.disabledClass) } } else { if (n.is(":radio")) { var m = n.closest("span"); var p = n.closest("div"); p.removeClass(k.hoverClass + " " + k.focusClass + " " + k.activeClass); m.removeClass(k.checkedClass); if (n.is(":checked")) { m.addClass(k.checkedClass) } if (n.is(":disabled")) { p.addClass(k.disabledClass) } else { p.removeClass(k.disabledClass) } } else { if (n.is(":file")) { var p = n.parent("div"); var o = n.siblings(k.filenameClass); btnTag = n.siblings(k.fileBtnClass); p.removeClass(k.hoverClass + " " + k.focusClass + " " + k.activeClass); o.text(n.val()); if (n.is(":disabled")) { p.addClass(k.disabledClass) } else { p.removeClass(k.disabledClass) } } else { if (n.is(":submit") || n.is(":reset") || n.is("button") || n.is("a") || l.is("input[type=button]")) { var p = n.closest("div"); p.removeClass(k.hoverClass + " " + k.focusClass + " " + k.activeClass); if (n.is(":disabled")) { p.addClass(k.disabledClass) } else { p.removeClass(k.disabledClass) } } } } } } }) }; return this.each(function () { if (a.support.selectOpacity) { var l = a(this); if (l.is("select")) { if (l.attr("multiple") != true) { if (l.attr("size") == undefined || l.attr("size") <= 1) { e(l) } } } else { if (l.is(":checkbox")) { f(l) } else { if (l.is(":radio")) { c(l) } else { if (l.is(":file")) { h(l) } else { if (l.is(":text, :password, input[type='email']")) { j(l) } else { if (l.is("textarea")) { g(l) } else { if (l.is("a") || l.is(":submit") || l.is(":reset") || l.is("button") || l.is("input[type=button]")) { i(l) } } } } } } } } }) } })(jQuery);;

if (typeof JSON !== 'object') {
    JSON = {};
}

(function () {
    'use strict';

    function f(n) {
        // Format integers to have at least two digits.
        return n < 10 ? '0' + n : n;
    }

    if (typeof Date.prototype.toJSON !== 'function') {

        Date.prototype.toJSON = function (key) {

            return isFinite(this.valueOf())
                ? this.getUTCFullYear()     + '-' +
                    f(this.getUTCMonth() + 1) + '-' +
                    f(this.getUTCDate())      + 'T' +
                    f(this.getUTCHours())     + ':' +
                    f(this.getUTCMinutes())   + ':' +
                    f(this.getUTCSeconds())   + 'Z'
                : null;
        };

        String.prototype.toJSON      =
            Number.prototype.toJSON  =
            Boolean.prototype.toJSON = function (key) {
                return this.valueOf();
            };
    }

    var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
        escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
        gap,
        indent,
        meta = {    // table of character substitutions
            '\b': '\\b',
            '\t': '\\t',
            '\n': '\\n',
            '\f': '\\f',
            '\r': '\\r',
            '"' : '\\"',
            '\\': '\\\\'
        },
        rep;


    function quote(string) {

// If the string contains no control characters, no quote characters, and no
// backslash characters, then we can safely slap some quotes around it.
// Otherwise we must also replace the offending characters with safe escape
// sequences.

        escapable.lastIndex = 0;
        return escapable.test(string) ? '"' + string.replace(escapable, function (a) {
            var c = meta[a];
            return typeof c === 'string'
                ? c
                : '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4);
        }) + '"' : '"' + string + '"';
    }


    function str(key, holder) {

// Produce a string from holder[key].

        var i,          // The loop counter.
            k,          // The member key.
            v,          // The member value.
            length,
            mind = gap,
            partial,
            value = holder[key];

// If the value has a toJSON method, call it to obtain a replacement value.

        if (value && typeof value === 'object' &&
                typeof value.toJSON === 'function') {
            value = value.toJSON(key);
        }

// If we were called with a replacer function, then call the replacer to
// obtain a replacement value.

        if (typeof rep === 'function') {
            value = rep.call(holder, key, value);
        }

// What happens next depends on the value's type.

        switch (typeof value) {
        case 'string':
            return quote(value);

        case 'number':

// JSON numbers must be finite. Encode non-finite numbers as null.

            return isFinite(value) ? String(value) : 'null';

        case 'boolean':
        case 'null':

// If the value is a boolean or null, convert it to a string. Note:
// typeof null does not produce 'null'. The case is included here in
// the remote chance that this gets fixed someday.

            return String(value);

// If the type is 'object', we might be dealing with an object or an array or
// null.

        case 'object':

// Due to a specification blunder in ECMAScript, typeof null is 'object',
// so watch out for that case.

            if (!value) {
                return 'null';
            }

// Make an array to hold the partial results of stringifying this object value.

            gap += indent;
            partial = [];

// Is the value an array?

            if (Object.prototype.toString.apply(value) === '[object Array]') {

// The value is an array. Stringify every element. Use null as a placeholder
// for non-JSON values.

                length = value.length;
                for (i = 0; i < length; i += 1) {
                    partial[i] = str(i, value) || 'null';
                }

// Join all of the elements together, separated with commas, and wrap them in
// brackets.

                v = partial.length === 0
                    ? '[]'
                    : gap
                    ? '[\n' + gap + partial.join(',\n' + gap) + '\n' + mind + ']'
                    : '[' + partial.join(',') + ']';
                gap = mind;
                return v;
            }

// If the replacer is an array, use it to select the members to be stringified.

            if (rep && typeof rep === 'object') {
                length = rep.length;
                for (i = 0; i < length; i += 1) {
                    if (typeof rep[i] === 'string') {
                        k = rep[i];
                        v = str(k, value);
                        if (v) {
                            partial.push(quote(k) + (gap ? ': ' : ':') + v);
                        }
                    }
                }
            } else {

// Otherwise, iterate through all of the keys in the object.

                for (k in value) {
                    if (Object.prototype.hasOwnProperty.call(value, k)) {
                        v = str(k, value);
                        if (v) {
                            partial.push(quote(k) + (gap ? ': ' : ':') + v);
                        }
                    }
                }
            }

// Join all of the member texts together, separated with commas,
// and wrap them in braces.

            v = partial.length === 0
                ? '{}'
                : gap
                ? '{\n' + gap + partial.join(',\n' + gap) + '\n' + mind + '}'
                : '{' + partial.join(',') + '}';
            gap = mind;
            return v;
        }
    }

// If the JSON object does not yet have a stringify method, give it one.

    if (typeof JSON.stringify !== 'function') {
        JSON.stringify = function (value, replacer, space) {

// The stringify method takes a value and an optional replacer, and an optional
// space parameter, and returns a JSON text. The replacer can be a function
// that can replace values, or an array of strings that will select the keys.
// A default replacer method can be provided. Use of the space parameter can
// produce text that is more easily readable.

            var i;
            gap = '';
            indent = '';

// If the space parameter is a number, make an indent string containing that
// many spaces.

            if (typeof space === 'number') {
                for (i = 0; i < space; i += 1) {
                    indent += ' ';
                }

// If the space parameter is a string, it will be used as the indent string.

            } else if (typeof space === 'string') {
                indent = space;
            }

// If there is a replacer, it must be a function or an array.
// Otherwise, throw an error.

            rep = replacer;
            if (replacer && typeof replacer !== 'function' &&
                    (typeof replacer !== 'object' ||
                    typeof replacer.length !== 'number')) {
                throw new Error('JSON.stringify');
            }

// Make a fake root object containing our value under the key of ''.
// Return the result of stringifying the value.

            return str('', {'': value});
        };
    }


// If the JSON object does not yet have a parse method, give it one.

    if (typeof JSON.parse !== 'function') {
        JSON.parse = function (text, reviver) {

// The parse method takes a text and an optional reviver function, and returns
// a JavaScript value if the text is a valid JSON text.

            var j;

            function walk(holder, key) {

// The walk method is used to recursively walk the resulting structure so
// that modifications can be made.

                var k, v, value = holder[key];
                if (value && typeof value === 'object') {
                    for (k in value) {
                        if (Object.prototype.hasOwnProperty.call(value, k)) {
                            v = walk(value, k);
                            if (v !== undefined) {
                                value[k] = v;
                            } else {
                                delete value[k];
                            }
                        }
                    }
                }
                return reviver.call(holder, key, value);
            }


// Parsing happens in four stages. In the first stage, we replace certain
// Unicode characters with escape sequences. JavaScript handles many characters
// incorrectly, either silently deleting them, or treating them as line endings.

            text = String(text);
            cx.lastIndex = 0;
            if (cx.test(text)) {
                text = text.replace(cx, function (a) {
                    return '\\u' +
                        ('0000' + a.charCodeAt(0).toString(16)).slice(-4);
                });
            }

// In the second stage, we run the text against regular expressions that look
// for non-JSON patterns. We are especially concerned with '()' and 'new'
// because they can cause invocation, and '=' because it can cause mutation.
// But just to be safe, we want to reject all unexpected forms.

// We split the second stage into 4 regexp operations in order to work around
// crippling inefficiencies in IE's and Safari's regexp engines. First we
// replace the JSON backslash pairs with '@' (a non-JSON character). Second, we
// replace all simple value tokens with ']' characters. Third, we delete all
// open brackets that follow a colon or comma or that begin the text. Finally,
// we look to see that the remaining characters are only whitespace or ']' or
// ',' or ':' or '{' or '}'. If that is so, then the text is safe for eval.

            if (/^[\],:{}\s]*$/
                    .test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, '@')
                        .replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']')
                        .replace(/(?:^|:|,)(?:\s*\[)+/g, ''))) {

// In the third stage we use the eval function to compile the text into a
// JavaScript structure. The '{' operator is subject to a syntactic ambiguity
// in JavaScript: it can begin a block or an object literal. We wrap the text
// in parens to eliminate the ambiguity.

                j = eval('(' + text + ')');

// In the optional fourth stage, we recursively walk the new structure, passing
// each name/value pair to a reviver function for possible transformation.

                return typeof reviver === 'function'
                    ? walk({'': j}, '')
                    : j;
            }

// If the text is not JSON parseable, then a SyntaxError is thrown.

            throw new SyntaxError('JSON.parse');
        };
    }
}());
;
/*
 *
 * Copyright (c) 2010 C. F., Wong (<a href="http://cloudgen.w0ng.hk">Cloudgen Examplet Store</a>)
 * Licensed under the MIT License:
 * http://www.opensource.org/licenses/mit-license.php
 *
 */
﻿(function(k,e,i,j){k.fn.caret=function(b,l){var a,c,f=this[0],d=k.browser.msie;if(typeof b==="object"&&typeof b.start==="number"&&typeof b.end==="number"){a=b.start;c=b.end}else if(typeof b==="number"&&typeof l==="number"){a=b;c=l}else if(typeof b==="string")if((a=f.value.indexOf(b))>-1)c=a+b[e];else a=null;else if(Object.prototype.toString.call(b)==="[object RegExp]"){b=b.exec(f.value);if(b!=null){a=b.index;c=a+b[0][e]}}if(typeof a!="undefined"){if(d){d=this[0].createTextRange();d.collapse(true);
d.moveStart("character",a);d.moveEnd("character",c-a);d.select()}else{this[0].selectionStart=a;this[0].selectionEnd=c}this[0].focus();return this}else{if(d){c=document.selection;if(this[0].tagName.toLowerCase()!="textarea"){d=this.val();a=c[i]()[j]();a.moveEnd("character",d[e]);var g=a.text==""?d[e]:d.lastIndexOf(a.text);a=c[i]()[j]();a.moveStart("character",-d[e]);var h=a.text[e]}else{a=c[i]();c=a[j]();c.moveToElementText(this[0]);c.setEndPoint("EndToEnd",a);g=c.text[e]-a.text[e];h=g+a.text[e]}}else{g=
f.selectionStart;h=f.selectionEnd}a=f.value.substring(g,h);return{start:g,end:h,text:a,replace:function(m){return f.value.substring(0,g)+m+f.value.substring(h,f.value[e])}}}}})(jQuery,"length","createRange","duplicate");;
//     Underscore.js 1.4.2
//     http://underscorejs.org
//     (c) 2009-2012 Jeremy Ashkenas, DocumentCloud Inc.
//     Underscore may be freely distributed under the MIT license.
(function(){var e=this,t=e._,n={},r=Array.prototype,i=Object.prototype,s=Function.prototype,o=r.push,u=r.slice,a=r.concat,f=r.unshift,l=i.toString,c=i.hasOwnProperty,h=r.forEach,p=r.map,d=r.reduce,v=r.reduceRight,m=r.filter,g=r.every,y=r.some,b=r.indexOf,w=r.lastIndexOf,E=Array.isArray,S=Object.keys,x=s.bind,T=function(e){if(e instanceof T)return e;if(!(this instanceof T))return new T(e);this._wrapped=e};typeof exports!="undefined"?(typeof module!="undefined"&&module.exports&&(exports=module.exports=T),exports._=T):e._=T,T.VERSION="1.4.2";var N=T.each=T.forEach=function(e,t,r){if(e==null)return;if(h&&e.forEach===h)e.forEach(t,r);else if(e.length===+e.length){for(var i=0,s=e.length;i<s;i++)if(t.call(r,e[i],i,e)===n)return}else for(var o in e)if(T.has(e,o)&&t.call(r,e[o],o,e)===n)return};T.map=T.collect=function(e,t,n){var r=[];return e==null?r:p&&e.map===p?e.map(t,n):(N(e,function(e,i,s){r[r.length]=t.call(n,e,i,s)}),r)},T.reduce=T.foldl=T.inject=function(e,t,n,r){var i=arguments.length>2;e==null&&(e=[]);if(d&&e.reduce===d)return r&&(t=T.bind(t,r)),i?e.reduce(t,n):e.reduce(t);N(e,function(e,s,o){i?n=t.call(r,n,e,s,o):(n=e,i=!0)});if(!i)throw new TypeError("Reduce of empty array with no initial value");return n},T.reduceRight=T.foldr=function(e,t,n,r){var i=arguments.length>2;e==null&&(e=[]);if(v&&e.reduceRight===v)return r&&(t=T.bind(t,r)),arguments.length>2?e.reduceRight(t,n):e.reduceRight(t);var s=e.length;if(s!==+s){var o=T.keys(e);s=o.length}N(e,function(u,a,f){a=o?o[--s]:--s,i?n=t.call(r,n,e[a],a,f):(n=e[a],i=!0)});if(!i)throw new TypeError("Reduce of empty array with no initial value");return n},T.find=T.detect=function(e,t,n){var r;return C(e,function(e,i,s){if(t.call(n,e,i,s))return r=e,!0}),r},T.filter=T.select=function(e,t,n){var r=[];return e==null?r:m&&e.filter===m?e.filter(t,n):(N(e,function(e,i,s){t.call(n,e,i,s)&&(r[r.length]=e)}),r)},T.reject=function(e,t,n){var r=[];return e==null?r:(N(e,function(e,i,s){t.call(n,e,i,s)||(r[r.length]=e)}),r)},T.every=T.all=function(e,t,r){t||(t=T.identity);var i=!0;return e==null?i:g&&e.every===g?e.every(t,r):(N(e,function(e,s,o){if(!(i=i&&t.call(r,e,s,o)))return n}),!!i)};var C=T.some=T.any=function(e,t,r){t||(t=T.identity);var i=!1;return e==null?i:y&&e.some===y?e.some(t,r):(N(e,function(e,s,o){if(i||(i=t.call(r,e,s,o)))return n}),!!i)};T.contains=T.include=function(e,t){var n=!1;return e==null?n:b&&e.indexOf===b?e.indexOf(t)!=-1:(n=C(e,function(e){return e===t}),n)},T.invoke=function(e,t){var n=u.call(arguments,2);return T.map(e,function(e){return(T.isFunction(t)?t:e[t]).apply(e,n)})},T.pluck=function(e,t){return T.map(e,function(e){return e[t]})},T.where=function(e,t){return T.isEmpty(t)?[]:T.filter(e,function(e){for(var n in t)if(t[n]!==e[n])return!1;return!0})},T.max=function(e,t,n){if(!t&&T.isArray(e)&&e[0]===+e[0]&&e.length<65535)return Math.max.apply(Math,e);if(!t&&T.isEmpty(e))return-Infinity;var r={computed:-Infinity};return N(e,function(e,i,s){var o=t?t.call(n,e,i,s):e;o>=r.computed&&(r={value:e,computed:o})}),r.value},T.min=function(e,t,n){if(!t&&T.isArray(e)&&e[0]===+e[0]&&e.length<65535)return Math.min.apply(Math,e);if(!t&&T.isEmpty(e))return Infinity;var r={computed:Infinity};return N(e,function(e,i,s){var o=t?t.call(n,e,i,s):e;o<r.computed&&(r={value:e,computed:o})}),r.value},T.shuffle=function(e){var t,n=0,r=[];return N(e,function(e){t=T.random(n++),r[n-1]=r[t],r[t]=e}),r};var k=function(e){return T.isFunction(e)?e:function(t){return t[e]}};T.sortBy=function(e,t,n){var r=k(t);return T.pluck(T.map(e,function(e,t,i){return{value:e,index:t,criteria:r.call(n,e,t,i)}}).sort(function(e,t){var n=e.criteria,r=t.criteria;if(n!==r){if(n>r||n===void 0)return 1;if(n<r||r===void 0)return-1}return e.index<t.index?-1:1}),"value")};var L=function(e,t,n,r){var i={},s=k(t);return N(e,function(t,o){var u=s.call(n,t,o,e);r(i,u,t)}),i};T.groupBy=function(e,t,n){return L(e,t,n,function(e,t,n){(T.has(e,t)?e[t]:e[t]=[]).push(n)})},T.countBy=function(e,t,n){return L(e,t,n,function(e,t,n){T.has(e,t)||(e[t]=0),e[t]++})},T.sortedIndex=function(e,t,n,r){n=n==null?T.identity:k(n);var i=n.call(r,t),s=0,o=e.length;while(s<o){var u=s+o>>>1;n.call(r,e[u])<i?s=u+1:o=u}return s},T.toArray=function(e){return e?e.length===+e.length?u.call(e):T.values(e):[]},T.size=function(e){return e.length===+e.length?e.length:T.keys(e).length},T.first=T.head=T.take=function(e,t,n){return t!=null&&!n?u.call(e,0,t):e[0]},T.initial=function(e,t,n){return u.call(e,0,e.length-(t==null||n?1:t))},T.last=function(e,t,n){return t!=null&&!n?u.call(e,Math.max(e.length-t,0)):e[e.length-1]},T.rest=T.tail=T.drop=function(e,t,n){return u.call(e,t==null||n?1:t)},T.compact=function(e){return T.filter(e,function(e){return!!e})};var A=function(e,t,n){return N(e,function(e){T.isArray(e)?t?o.apply(n,e):A(e,t,n):n.push(e)}),n};T.flatten=function(e,t){return A(e,t,[])},T.without=function(e){return T.difference(e,u.call(arguments,1))},T.uniq=T.unique=function(e,t,n,r){var i=n?T.map(e,n,r):e,s=[],o=[];return N(i,function(n,r){if(t?!r||o[o.length-1]!==n:!T.contains(o,n))o.push(n),s.push(e[r])}),s},T.union=function(){return T.uniq(a.apply(r,arguments))},T.intersection=function(e){var t=u.call(arguments,1);return T.filter(T.uniq(e),function(e){return T.every(t,function(t){return T.indexOf(t,e)>=0})})},T.difference=function(e){var t=a.apply(r,u.call(arguments,1));return T.filter(e,function(e){return!T.contains(t,e)})},T.zip=function(){var e=u.call(arguments),t=T.max(T.pluck(e,"length")),n=new Array(t);for(var r=0;r<t;r++)n[r]=T.pluck(e,""+r);return n},T.object=function(e,t){var n={};for(var r=0,i=e.length;r<i;r++)t?n[e[r]]=t[r]:n[e[r][0]]=e[r][1];return n},T.indexOf=function(e,t,n){if(e==null)return-1;var r=0,i=e.length;if(n){if(typeof n!="number")return r=T.sortedIndex(e,t),e[r]===t?r:-1;r=n<0?Math.max(0,i+n):n}if(b&&e.indexOf===b)return e.indexOf(t,n);for(;r<i;r++)if(e[r]===t)return r;return-1},T.lastIndexOf=function(e,t,n){if(e==null)return-1;var r=n!=null;if(w&&e.lastIndexOf===w)return r?e.lastIndexOf(t,n):e.lastIndexOf(t);var i=r?n:e.length;while(i--)if(e[i]===t)return i;return-1},T.range=function(e,t,n){arguments.length<=1&&(t=e||0,e=0),n=arguments[2]||1;var r=Math.max(Math.ceil((t-e)/n),0),i=0,s=new Array(r);while(i<r)s[i++]=e,e+=n;return s};var O=function(){};T.bind=function(t,n){var r,i;if(t.bind===x&&x)return x.apply(t,u.call(arguments,1));if(!T.isFunction(t))throw new TypeError;return i=u.call(arguments,2),r=function(){if(this instanceof r){O.prototype=t.prototype;var e=new O,s=t.apply(e,i.concat(u.call(arguments)));return Object(s)===s?s:e}return t.apply(n,i.concat(u.call(arguments)))}},T.bindAll=function(e){var t=u.call(arguments,1);return t.length==0&&(t=T.functions(e)),N(t,function(t){e[t]=T.bind(e[t],e)}),e},T.memoize=function(e,t){var n={};return t||(t=T.identity),function(){var r=t.apply(this,arguments);return T.has(n,r)?n[r]:n[r]=e.apply(this,arguments)}},T.delay=function(e,t){var n=u.call(arguments,2);return setTimeout(function(){return e.apply(null,n)},t)},T.defer=function(e){return T.delay.apply(T,[e,1].concat(u.call(arguments,1)))},T.throttle=function(e,t){var n,r,i,s,o,u,a=T.debounce(function(){o=s=!1},t);return function(){n=this,r=arguments;var f=function(){i=null,o&&(u=e.apply(n,r)),a()};return i||(i=setTimeout(f,t)),s?o=!0:(s=!0,u=e.apply(n,r)),a(),u}},T.debounce=function(e,t,n){var r,i;return function(){var s=this,o=arguments,u=function(){r=null,n||(i=e.apply(s,o))},a=n&&!r;return clearTimeout(r),r=setTimeout(u,t),a&&(i=e.apply(s,o)),i}},T.once=function(e){var t=!1,n;return function(){return t?n:(t=!0,n=e.apply(this,arguments),e=null,n)}},T.wrap=function(e,t){return function(){var n=[e];return o.apply(n,arguments),t.apply(this,n)}},T.compose=function(){var e=arguments;return function(){var t=arguments;for(var n=e.length-1;n>=0;n--)t=[e[n].apply(this,t)];return t[0]}},T.after=function(e,t){return e<=0?t():function(){if(--e<1)return t.apply(this,arguments)}},T.keys=S||function(e){if(e!==Object(e))throw new TypeError("Invalid object");var t=[];for(var n in e)T.has(e,n)&&(t[t.length]=n);return t},T.values=function(e){var t=[];for(var n in e)T.has(e,n)&&t.push(e[n]);return t},T.pairs=function(e){var t=[];for(var n in e)T.has(e,n)&&t.push([n,e[n]]);return t},T.invert=function(e){var t={};for(var n in e)T.has(e,n)&&(t[e[n]]=n);return t},T.functions=T.methods=function(e){var t=[];for(var n in e)T.isFunction(e[n])&&t.push(n);return t.sort()},T.extend=function(e){return N(u.call(arguments,1),function(t){for(var n in t)e[n]=t[n]}),e},T.pick=function(e){var t={},n=a.apply(r,u.call(arguments,1));return N(n,function(n){n in e&&(t[n]=e[n])}),t},T.omit=function(e){var t={},n=a.apply(r,u.call(arguments,1));for(var i in e)T.contains(n,i)||(t[i]=e[i]);return t},T.defaults=function(e){return N(u.call(arguments,1),function(t){for(var n in t)e[n]==null&&(e[n]=t[n])}),e},T.clone=function(e){return T.isObject(e)?T.isArray(e)?e.slice():T.extend({},e):e},T.tap=function(e,t){return t(e),e};var M=function(e,t,n,r){if(e===t)return e!==0||1/e==1/t;if(e==null||t==null)return e===t;e instanceof T&&(e=e._wrapped),t instanceof T&&(t=t._wrapped);var i=l.call(e);if(i!=l.call(t))return!1;switch(i){case"[object String]":return e==String(t);case"[object Number]":return e!=+e?t!=+t:e==0?1/e==1/t:e==+t;case"[object Date]":case"[object Boolean]":return+e==+t;case"[object RegExp]":return e.source==t.source&&e.global==t.global&&e.multiline==t.multiline&&e.ignoreCase==t.ignoreCase}if(typeof e!="object"||typeof t!="object")return!1;var s=n.length;while(s--)if(n[s]==e)return r[s]==t;n.push(e),r.push(t);var o=0,u=!0;if(i=="[object Array]"){o=e.length,u=o==t.length;if(u)while(o--)if(!(u=M(e[o],t[o],n,r)))break}else{var a=e.constructor,f=t.constructor;if(a!==f&&!(T.isFunction(a)&&a instanceof a&&T.isFunction(f)&&f instanceof f))return!1;for(var c in e)if(T.has(e,c)){o++;if(!(u=T.has(t,c)&&M(e[c],t[c],n,r)))break}if(u){for(c in t)if(T.has(t,c)&&!(o--))break;u=!o}}return n.pop(),r.pop(),u};T.isEqual=function(e,t){return M(e,t,[],[])},T.isEmpty=function(e){if(e==null)return!0;if(T.isArray(e)||T.isString(e))return e.length===0;for(var t in e)if(T.has(e,t))return!1;return!0},T.isElement=function(e){return!!e&&e.nodeType===1},T.isArray=E||function(e){return l.call(e)=="[object Array]"},T.isObject=function(e){return e===Object(e)},N(["Arguments","Function","String","Number","Date","RegExp"],function(e){T["is"+e]=function(t){return l.call(t)=="[object "+e+"]"}}),T.isArguments(arguments)||(T.isArguments=function(e){return!!e&&!!T.has(e,"callee")}),typeof /./!="function"&&(T.isFunction=function(e){return typeof e=="function"}),T.isFinite=function(e){return T.isNumber(e)&&isFinite(e)},T.isNaN=function(e){return T.isNumber(e)&&e!=+e},T.isBoolean=function(e){return e===!0||e===!1||l.call(e)=="[object Boolean]"},T.isNull=function(e){return e===null},T.isUndefined=function(e){return e===void 0},T.has=function(e,t){return c.call(e,t)},T.noConflict=function(){return e._=t,this},T.identity=function(e){return e},T.times=function(e,t,n){for(var r=0;r<e;r++)t.call(n,r)},T.random=function(e,t){return t==null&&(t=e,e=0),e+(0|Math.random()*(t-e+1))};var _={escape:{"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","/":"&#x2F;"}};_.unescape=T.invert(_.escape);var D={escape:new RegExp("["+T.keys(_.escape).join("")+"]","g"),unescape:new RegExp("("+T.keys(_.unescape).join("|")+")","g")};T.each(["escape","unescape"],function(e){T[e]=function(t){return t==null?"":(""+t).replace(D[e],function(t){return _[e][t]})}}),T.result=function(e,t){if(e==null)return null;var n=e[t];return T.isFunction(n)?n.call(e):n},T.mixin=function(e){N(T.functions(e),function(t){var n=T[t]=e[t];T.prototype[t]=function(){var e=[this._wrapped];return o.apply(e,arguments),F.call(this,n.apply(T,e))}})};var P=0;T.uniqueId=function(e){var t=P++;return e?e+t:t},T.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var H=/(.)^/,B={"'":"'","\\":"\\","\r":"r","\n":"n","	":"t","\u2028":"u2028","\u2029":"u2029"},j=/\\|'|\r|\n|\t|\u2028|\u2029/g;T.template=function(e,t,n){n=T.defaults({},n,T.templateSettings);var r=new RegExp([(n.escape||H).source,(n.interpolate||H).source,(n.evaluate||H).source].join("|")+"|$","g"),i=0,s="__p+='";e.replace(r,function(t,n,r,o,u){s+=e.slice(i,u).replace(j,function(e){return"\\"+B[e]}),s+=n?"'+\n((__t=("+n+"))==null?'':_.escape(__t))+\n'":r?"'+\n((__t=("+r+"))==null?'':__t)+\n'":o?"';\n"+o+"\n__p+='":"",i=u+t.length}),s+="';\n",n.variable||(s="with(obj||{}){\n"+s+"}\n"),s="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+s+"return __p;\n";try{var o=new Function(n.variable||"obj","_",s)}catch(u){throw u.source=s,u}if(t)return o(t,T);var a=function(e){return o.call(this,e,T)};return a.source="function("+(n.variable||"obj")+"){\n"+s+"}",a},T.chain=function(e){return T(e).chain()};var F=function(e){return this._chain?T(e).chain():e};T.mixin(T),N(["pop","push","reverse","shift","sort","splice","unshift"],function(e){var t=r[e];T.prototype[e]=function(){var n=this._wrapped;return t.apply(n,arguments),(e=="shift"||e=="splice")&&n.length===0&&delete n[0],F.call(this,n)}}),N(["concat","join","slice"],function(e){var t=r[e];T.prototype[e]=function(){return F.call(this,t.apply(this._wrapped,arguments))}}),T.extend(T.prototype,{chain:function(){return this._chain=!0,this},value:function(){return this._wrapped}})}).call(this);;
/*
    jQuery `input` special event v1.0

    http://whattheheadsaid.com/projects/input-special-event

    (c) 2010-2011 Andy Earnshaw
    MIT license
    www.opensource.org/licenses/mit-license.php

    Modified by Kenneth Auchenberg
    * Disabled usage of onPropertyChange event in IE, since its a bit delayed, if you type really fast.
*/

(function($) {
  // Handler for propertychange events only
  function propHandler() {
    var $this = $(this);
    if (window.event.propertyName == "value" && !$this.data("triggering.inputEvent")) {
      $this.data("triggering.inputEvent", true).trigger("input");
      window.setTimeout(function () {
        $this.data("triggering.inputEvent", false);
      }, 0);
    }
  }

  $.event.special.input = {
    setup: function(data, namespaces) {
      var timer,
        // Get a reference to the element
        elem = this,
        // Store the current state of the element
        state = elem.value,
        // Create a dummy element that we can use for testing event support
        tester = document.createElement(this.tagName),
        // Check for native oninput
        oninput = "oninput" in tester || checkEvent(tester),
        // Check for onpropertychange
        onprop = "onpropertychange" in tester,
        // Generate a random namespace for event bindings
        ns = "inputEventNS" + ~~(Math.random() * 10000000),
        // Last resort event names
        evts = ["focus", "blur", "paste", "cut", "keydown", "drop", ""].join("." + ns + " ");

      function checkState() {
        var $this = $(elem);
        if (elem.value != state && !$this.data("triggering.inputEvent")) {
          state = elem.value;

          $this.data("triggering.inputEvent", true).trigger("input");
          window.setTimeout(function () {
            $this.data("triggering.inputEvent", false);
          }, 0);
        }
      }

      // Set up a function to handle the different events that may fire
      function handler(e) {
        // When focusing, set a timer that polls for changes to the value
        if (e.type == "focus") {
          checkState();
          clearInterval(timer);
          timer = window.setInterval(checkState, 250);
        } else if (e.type == "blur") {
          // When blurring, cancel the aforeset timer
          window.clearInterval(timer);
        } else {
          // For all other events, queue a timer to check state ASAP
          window.setTimeout(checkState, 0);
        }
      }

      // Bind to native event if available
      if (oninput) {
        return false;
//      } else if (onprop) {
//        // Else fall back to propertychange if available
//        $(this).find("input, textarea").andSelf().filter("input, textarea").bind("propertychange." + ns, propHandler);
      } else {
        // Else clutch at straws!
        $(this).find("input, textarea").andSelf().filter("input, textarea").bind(evts, handler);
      }
      $(this).data("inputEventHandlerNS", ns);
    },
    teardown: function () {
      var elem = $(this);
      elem.find("input, textarea").unbind(elem.data("inputEventHandlerNS"));
      elem.data("inputEventHandlerNS", "");
    }
  };

  // Setup our jQuery shorthand method
  $.fn.input = function (handler) {
    return handler ? this.bind("input", handler) : this.trigger("input");
  };

  /*
   The following function tests the element for oninput support in Firefox.  Many thanks to
   http://blog.danielfriesen.name/2010/02/16/html5-browser-maze-oninput-support/
   */
  function checkEvent(el) {
    // First check, for if Firefox fixes its issue with el.oninput = function
    el.setAttribute("oninput", "return");
    if (typeof el.oninput == "function") {
      return true;
    }
    // Second check, because Firefox doesn't map oninput attribute to oninput property
    try {

      // "* Note * : Disabled focus and dispatch of keypress event due to conflict with DOMready, which resulted in scrolling down to the bottom of the page, possibly because layout wasn't finished rendering.
      var e = document.createEvent("KeyboardEvent"),
        ok = false,
        tester = function(e) {
          ok = true;
          e.preventDefault();
          e.stopPropagation();
      };

      // e.initKeyEvent("keypress", true, true, window, false, false, false, false, 0, "e".charCodeAt(0));

      document.body.appendChild(el);
      el.addEventListener("input", tester, false);
      // el.focus();
      // el.dispatchEvent(e);
      el.removeEventListener("input", tester, false);
      document.body.removeChild(el);
      return ok;

    } catch(error) {

    }
  }
})(jQuery);;
/**
*  @name							Elastic
*	@descripton						Elastic is jQuery plugin that grow and shrink your textareas automatically
*	@version						1.6.11
*	@requires						jQuery 1.2.6+
*
*	@author							Jan Jarfalk
*	@author-email					jan.jarfalk@unwrongest.com
*	@author-website					http://www.unwrongest.com
*
*	@licence						MIT License - http://www.opensource.org/licenses/mit-license.php
*/

(function($){ 
	jQuery.fn.extend({  
		elastic: function() {
		
			//	We will create a div clone of the textarea
			//	by copying these attributes from the textarea to the div.
			var mimics = [
				'paddingTop',
				'paddingRight',
				'paddingBottom',
				'paddingLeft',
				'fontSize',
				'lineHeight',
				'fontFamily',
				'fontWeight',
				'border-top-width',
				'border-right-width',
				'border-bottom-width',
				'border-left-width',
				'borderTopStyle',
				'borderTopColor',
				'borderRightStyle',
				'borderRightColor',
				'borderBottomStyle',
				'borderBottomColor',
				'borderLeftStyle',
				'borderLeftColor'
				];
			
			return this.each( function() {

				// Elastic only works on textareas
				if ( this.type !== 'textarea' ) {
					return false;
				}
					
			var $textarea	= jQuery(this),
				$twin		= jQuery('<div />').css({
					'position'		: 'absolute',
					'display'		: 'none',
					'word-wrap'		: 'break-word',
					'white-space'	:'pre-wrap'
				}),
				lineHeight	= parseInt($textarea.css('line-height'),10) || parseInt($textarea.css('font-size'),'10'),
				minheight	= parseInt($textarea.css('height'),10) || lineHeight*3,
				maxheight	= parseInt($textarea.css('max-height'),10) || Number.MAX_VALUE,
				goalheight	= 0;
				
				// Opera returns max-height of -1 if not set
				if (maxheight < 0) { maxheight = Number.MAX_VALUE; }
					
				// Append the twin to the DOM
				// We are going to meassure the height of this, not the textarea.
				$twin.appendTo($textarea.parent());
				
				// Copy the essential styles (mimics) from the textarea to the twin
				var i = mimics.length;
				while(i--){
					$twin.css(mimics[i].toString(),$textarea.css(mimics[i].toString()));
				}
				
				// Updates the width of the twin. (solution for textareas with widths in percent)
				function setTwinWidth(){
					var curatedWidth = Math.floor(parseInt($textarea.width(),10));
					if($twin.width() !== curatedWidth){
						$twin.css({'width': curatedWidth + 'px'});
						
						// Update height of textarea
						update(true);
					}
				}
				
				// Sets a given height and overflow state on the textarea
				function setHeightAndOverflow(height, overflow){
				
					var curratedHeight = Math.floor(parseInt(height,10));
					if($textarea.height() !== curratedHeight){
						$textarea.css({'height': curratedHeight + 'px','overflow':overflow});
					}
				}
				
				// This function will update the height of the textarea if necessary 
				function update(forced) {
					
					// Get curated content from the textarea.
					var textareaContent = $textarea.val().replace(/&/g,'&amp;').replace(/ {2}/g, '&nbsp;').replace(/<|>/g, '&gt;').replace(/\n/g, '<br />');
					
					// Compare curated content with curated twin.
					var twinContent = $twin.html().replace(/<br>/ig,'<br />');
					
					if(forced || textareaContent+'&nbsp;' !== twinContent){
					
						// Add an extra white space so new rows are added when you are at the end of a row.
						$twin.html(textareaContent+'&nbsp;');
						
						// Change textarea height if twin plus the height of one line differs more than 3 pixel from textarea height
						if(Math.abs($twin.height() + lineHeight - $textarea.height()) > 3){
							
						    var goalheight = $twin.height() + lineHeight;
							if(goalheight >= maxheight) {
								setHeightAndOverflow(maxheight,'auto');
							} else if(goalheight <= minheight) {
								setHeightAndOverflow(minheight,'hidden');
							} else {
								setHeightAndOverflow(goalheight,'hidden');
							}
							
						}
						
					}
					
				}
				
				// Hide scrollbars
				$textarea.css({'overflow':'hidden'});
				
				// Update textarea size on keyup, change, cut and paste
				$textarea.bind('keyup change cut paste', function(){
					update(); 
				});
				
				// Update width of twin if browser or textarea is resized (solution for textareas with widths in percent)
				$(window).bind('resize', setTwinWidth);
				$textarea.bind('resize', setTwinWidth);
				$textarea.bind('update', update);
				
				// Compact textarea on blur
				$textarea.bind('blur',function(){
					if($twin.height() < maxheight){
						if($twin.height() > minheight) {
							$textarea.height($twin.height());
						} else {
							$textarea.height(minheight);
						}
					}
				});
				
				// And this line is to catch the browser paste event
				$textarea.bind('input paste',function(e){ setTimeout( update, 250); });				
				
				// Run update once when elastic is initialized
				update();
				
			});
			
        } 
    }); 
})(jQuery);;
(function(f,x){function S(M,b){function i(a,r,s){s=G(s)?s:b.speed;r&&w&&(r=T(a),F?(a=l[r.centerItem].offCenter,g[B?"activate":"toCenter"](r.centerItem,1)):a>c.min&&a<c.max&&(a=l[r.firstItem].offStart));if(!D||!b.elasticBounds)a=a<c.min?c.min:a,a=a>c.max?c.max:a;a!==c.cur&&(c.cur=a,f.extend(d,T(c.cur)),U(),V(),!D&&j.trigger(o+":move",[c,m,d]),a=b.horizontal?{left:-c.cur+"px"}:{top:-c.cur+"px"},16<s?h.animate(a,s,D?"swing":b.easing,function(){!D&&j.trigger(o+":moveEnd",[c,m,d])}):(h.css(a),!D&&j.trigger(o+
":moveEnd",[c,m,d])))}function z(a){p&&(e.cur=Math.round((c.cur-c.min)/(c.max-c.min)*e.max),e.cur=e.cur<e.min?e.min:e.cur>e.max?e.max:e.cur,p.stop().animate(b.horizontal?{left:e.cur+"px"}:{top:e.cur+"px"},G(a)?a:b.speed,b.easing));X()}function X(){N.length&&N.removeClass(b.activeClass).eq(d.activePage).addClass(b.activeClass)}function V(){h.add(p).stop()}function E(a){return G(a)?0>a?0:a>l.length-1?l.length-1:a:a===x?-1:m.index(a)}function n(a,b){return parseInt(a.css(b),10)}function T(a){for(var b=
{},s=B?0:t/2,d=0;d<u.length;d++){if(a>=c.max||d===u.length-1){b.activePage=u.length-1;break}if(a<=u[d]+s){b.activePage=d;break}}if(w){for(var f=d=s=!1,e=0;e<l.length;e++){!1===s&&a<=l[e].offStart&&(s=e);!1===f&&a-l[e].size/2<=l[e].offCenter&&(f=e);if(e===l.length-1||!1===d&&a<l[e+1].offEnd)d=e;if(!1!==d)break}b.firstItem=G(s)?s:0;b.centerItem=G(f)?f:b.firstItem;b.lastItem=G(d)?d:b.centerItem}return b}function U(){if(w){var a=0===d.activeItem,r=d.activeItem>=l.length-1;H.is("button,input")&&H.prop("disabled",
a);I.is("button,input")&&I.prop("disabled",r);H[a?"removeClass":"addClass"](b.disabledClass);I[r?"removeClass":"addClass"](b.disabledClass)}N.length&&(a=c.cur<=c.min,r=c.cur>=c.max,O.is("button,input")&&O.prop("disabled",a),P.is("button,input")&&P.prop("disabled",r),O[a?"removeClass":"addClass"](b.disabledClass),P[r?"removeClass":"addClass"](b.disabledClass))}function v(a,b){var c=a||window.event;c.preventDefault?c.preventDefault():c.returnValue=!1;b&&c.stopPropagation?c.stopPropagation():c.cancelBubble=
!0}function G(a){return!isNaN(parseFloat(a))&&isFinite(a)}var g=this,j=f(M),h=j.children().eq(0),t=0,k=0,c={cur:0,max:0,min:0},J=f(b.scrollBar).eq(0),p=J.length?J.children().eq(0):0,K=0,A=0,e={cur:0,max:0,min:0},W=f(b.pagesBar),N=0,u=[],Y="smart"===b.itemNav,B="forceCentered"===b.itemNav,F="centered"===b.itemNav||B,w="basic"===b.itemNav||Y||F||B,m=0,l=[],d={firstItem:0,lastItem:1,centerItem:1,activeItem:-1,activePage:0,items:0,pages:0},Z=b.scrollSource?f(b.scrollSource):j,S=b.dragSource?f(b.dragSource):
j,H=f(b.prev),I=f(b.next),O=f(b.prevPage),P=f(b.nextPage),L=0,$=0,D=0,fa=this.reload=function(){var a=0,r=f.extend({},c);clearTimeout(L);t=b.horizontal?j.width():j.height();K=b.horizontal?J.width():J.height();k=b.horizontal?h.outerWidth():h.outerHeight();m=h.children();l=[];u=[];c.min=0;c.max=k>t?k-t:0;d.items=m.length;if(w){var s=n(m,b.horizontal?"marginLeft":"marginTop"),C=n(m.slice(-1),b.horizontal?"marginRight":"marginBottom"),v=0,M=n(h,b.horizontal?"paddingLeft":"paddingTop"),ba=n(h,b.horizontal?
"paddingRight":"paddingBottom"),ca="none"!==m.css("float"),a=s?0:C;k=0;m.each(function(a,c){var d=f(c),r=b.horizontal?d.outerWidth(!0):d.outerHeight(!0),e=n(d,"marginTop"),i=n(d,"marginBottom"),g=n(d,"marginLeft"),d=n(d,"marginRight"),g={size:r,offStart:k-(!a||b.horizontal?0:e),offCenter:k-Math.round(t/2-r/2),offEnd:k-t+r-(s?0:d),margins:{top:e,bottom:i,left:g,right:d}};a||(v=-(B?Math.round(t/2-r/2):0)+M,k+=M);k+=r;!b.horizontal&&!ca&&i&&(e&&0<a)&&(k-=e<i?e:i);a===m.length-1&&(k+=ba);l.push(g)});
h.css(b.horizontal?{width:k+"px"}:{height:k+"px"});k-=a;c.min=v;c.max=B?l[l.length-1].offCenter:k>t?k-t:0;d.activeItem>=l.length&&g.activate(l.length-1)}f.extend(d,T(c.cur));p&&(A=b.dynamicHandle?Math.round(K*t/k):b.horizontal?p.width():p.height(),A=A>K?K:A,A=A<b.minHandleSize?b.minHandleSize:A,e.max=K-A,p.css(b.horizontal?{width:A+"px"}:{height:A+"px"}));var y=0,C="",ea=0;if(B)u=f.map(l,function(a){return a.offCenter});else for(;y-t<c.max;){var aa=y>c.max?c.max:y;u.push(aa);y+=t;if(y>c.max&&w&&c.max-
aa<(l[l.length-1].size-a)/2){u[u.length-1]=c.max;break}}if(W.length){for(a=0;a<u.length;a++)C+=b.pageBuilder(ea++);N=f(C).bind("click."+q,function(){g.activatePage(N.index(this))}).appendTo(W.empty())}m.unbind("."+q).bind("mouseup."+q,function(a){a.which===1&&!D&&g.activate(this)});c.cur<c.min&&i(c.min);c.cur>c.max&&i(c.max);d.pages=u.length;d.slideeSize=k;d.frameSize=t;d.sbSize=K;d.handleSize=A;z(0);U();w&&b.cycleBy&&(C="mouseenter."+q+" mouseleave."+q,b.pauseOnHover&&j.unbind(C).bind(C,function(a){!$&&
g.cycle(a.type==="mouseenter",1)}),g.cycle(b.startPaused));j.trigger(o+":load",[f.extend({},c,{old:r}),m,d])};this.prev=function(){g.activate(d.activeItem-1)};this.next=function(){g.activate(d.activeItem+1)};this.prevPage=function(){g.activatePage(d.activePage-1)};this.nextPage=function(){g.activatePage(d.activePage+1)};this.toStart=function(a){if(w){var d=E(a);if(a===x)i(c.min,1);else if(-1!==d){if(F)return;-1!==d&&i(l[d].offStart)}}else a===x?i(c.min):(a=h.find(a).eq(0),a.length&&(a=b.horizontal?
a.offset().left-h.offset().left:a.offset().top-h.offset().top,i(a)));z()};this.toEnd=function(a){if(w){var d=E(a);if(a===x)i(c.max,1);else if(-1!==d){if(F)return;i(l[d].offEnd)}}else a===x?i(c.max):(a=h.find(a).eq(0),a.length&&(d=b.horizontal?a.offset().left-h.offset().left:a.offset().top-h.offset().top,i(d-t+a[b.horizontal?"outerWidth":"outerHeight"]())));z()};this.toCenter=function(a){if(w){var d=E(a);a===x?i(Math.round(c.max/2+c.min/2),1):-1!==d&&(i(l[d].offCenter),B&&g.activate(d,1))}else a===
x?i(Math.round(c.max/2)):(a=h.find(a).eq(0),a.length&&(d=b.horizontal?a.offset().left-h.offset().left:a.offset().top-h.offset().top,i(d-t/2+a[b.horizontal?"outerWidth":"outerHeight"]()/2)));z()};this.activate=function(a,c){if(w&&a!==x){var e=E(a),f=d.activeItem;d.activeItem=e;m.removeClass(b.activeClass).eq(e).addClass(b.activeClass);e!==f&&m.eq(e).trigger(o+":active",[m,d]);c||(F?g.toCenter(e):Y&&(e>=d.lastItem?g.toStart(e):e<=d.firstItem&&g.toEnd(e)));U()}};this.activatePage=function(a){a=0>a?0:
a>=u.length?u.length-1:a;i(u[a],w);z()};this.cycle=function(a,e){w&&b.cycleBy&&(e||($=!!a),a?L&&(L=clearTimeout(L),j.trigger(o+":cyclePause",[c,m,d])):L||(j.trigger(o+":cycleStart",[c,m,d]),function C(){0!==b.cycleInterval&&(L=setTimeout(function(){if(!D)switch(b.cycleBy){case "items":g.activate(d.activeItem>=l.length-1?0:d.activeItem+1);break;case "pages":g.activatePage(d.activePage>=u.length-1?0:d.activePage+1)}j.trigger(o+":cycle",[c,m,d]);C()},b.cycleInterval))}()))};this.set=function(a,c){f.isPlainObject(a)?
b=f.extend({},b,a):"string"===typeof a&&(b[a]=c)};this.destroy=function(){j.add(document).add(h).add(m).add(Z).add(p).add(H).add(I).add(O).add(P).unbind("."+q);h.add(p).css(b.horizontal?{left:0}:{top:0});H.add(I).removeClass(b.disabledClass);W.empty();f.removeData(M,q)};var Q=f(document),R="mousemove."+q+" mouseup."+q,b=f.extend({},f.fn[o].defaults,b);"static"===j.css({overflow:"hidden"}).css("position")&&j.css({position:"relative"});"static"===J.css("position")&&J.css({position:"relative"});h.add(p).css(b.horizontal?
{position:"absolute",left:0}:{position:"absolute",top:0});fa();w?g.activate(b.startAt):i(b.startAt);z();b.scrollBy&&Z.bind("DOMMouseScroll."+q+" mousewheel."+q,function(a){if(c.min!==c.max){v(a,1);var a=a.originalEvent,e=0;a.wheelDelta&&(e=a.wheelDelta/120);a.detail&&(e=-a.detail/3);a=0>e;w?(a=E((F?B?d.activeItem:d.centerItem:d.firstItem)+(a?b.scrollBy:-b.scrollBy)),g[F?B?"activate":"toCenter":"toStart"](a)):i(c.cur+(a?b.scrollBy:-b.scrollBy));z()}});b.keyboardNav&&Q.bind("keydown."+q,function(a){switch(a.keyCode||
a.which){case b.horizontal?37:38:v(a);b.keyboardNavByPages?g.prevPage():g.prev();break;case b.horizontal?39:40:v(a),b.keyboardNavByPages?g.nextPage():g.next()}});b.prev&&H.bind("click."+q,function(a){v(a);g.prev()});b.next&&I.bind("click."+q,function(a){v(a);g.next()});b.prevPage&&O.bind("click."+q,function(a){v(a);g.prevPage()});b.nextPage&&P.bind("click."+q,function(a){v(a);g.nextPage()});b.dragContent&&S.bind("mousedown."+q,function(a){if(1===a.which){v(a);var d=a.clientX,e=a.clientY,g=c.cur,l=
+new Date,k=a.target,m=0;h.addClass(b.draggedClass);V();Q.bind(R,function(a){var y="mouseup"===a.type,p=b.horizontal?a.clientX-d:a.clientY-e,j=g-p;!m&&10<Math.abs(p)&&(m=1,h.trigger(o+":dragStart",[c]));j>c.max?j=b.elasticBounds?c.max+(j-c.max)/6:c.max:j<c.min&&(j=b.elasticBounds?c.min+(j-c.min)/6:c.min);if(y){Q.unbind(R);h.removeClass(b.draggedClass);var n=+new Date-l,n=300>n?Math.ceil(Math.pow(6/(n/300),2)*Math.abs(p)/120):0,j=j+(0<p?-n:n)}m&&(v(a),k&&(f(k).bind("click."+q,function da(a){v(a,true);
f(this).unbind("click."+q,da)}),k=0),D=!y,i(j,y,y?b.speed:0),z(y?null:0),m&&h.trigger(o+":drag",[c]),y&&h.trigger(o+":dragEnd",[c]))})}});p&&b.dragHandle&&p.bind("mousedown."+q,function(a){if(1===a.which){v(a);var d=a.clientX,f=a.clientY,g=e.cur,k=-e.cur,l=e.max-e.cur,j=0;p.addClass(b.draggedClass);V();Q.bind(R,function(a){v(a);var h="mouseup"===a.type,a=b.horizontal?a.clientX-d:a.clientY-f,m=g+a,n=+new Date;D=!h;h&&(Q.unbind(R),p.removeClass(b.draggedClass));if(a<l+5&&a>k-5||h){e.cur=m>e.max?e.max:
m<e.min?e.min:m;p.stop().css(b.horizontal?{left:e.cur+"px"}:{top:e.cur+"px"});j||p.trigger(o+":dragStart",[e]);p.trigger(o+":drag",[e]);h&&p.trigger(o+":dragEnd",[e]);if(j<=n||h||a>l||a<k)j=n+50,i(Math.round(e.cur/e.max*(c.max-c.min))+c.min,h,h?b.speed:50);X()}})}})}var o="sly",q="plugin_"+o;f.fn[o]=function(o,b){var i=!1,z,x=[];"undefined"!==typeof o&&!f.isPlainObject(o)&&(i=!1===o?"destroy":o,z=arguments,Array.prototype.shift.call(z));this.each(function(b,E){var n=f.data(E,q);n&&i?n[i]&&n[i].apply(n,
z):!n&&!i&&(n=f.data(E,q,new S(E,o)));x.push(n)});return b&&!i?1<x.length?x:x[0]:this};f.fn[o].defaults={horizontal:0,itemNav:0,scrollBar:null,dynamicHandle:1,dragHandle:1,minHandleSize:50,pagesBar:null,pageBuilder:function(f){return"<li>"+(f+1)+"</li>"},prev:null,next:null,prevPage:null,nextPage:null,cycleBy:0,cycleInterval:5E3,pauseOnHover:1,startPaused:0,scrollBy:0,dragContent:0,elasticBounds:0,speed:300,easing:"swing",scrollSource:null,dragSource:null,startAt:0,keyboardNav:0,keyboardNavByPages:0,
draggedClass:"dragged",activeClass:"active",disabledClass:"disabled"}})(jQuery);
;
/*
 * Mentions Input
 * Version 1.0.2
 * Written by: Kenneth Auchenberg (Podio)
 *
 * Using underscore.js
 *
 * License: MIT License - http://www.opensource.org/licenses/mit-license.php
 */

(function ($, _, undefined) {

    // Settings
    var FiringValue;
    var KEY = { BACKSPACE: 8, TAB: 9, RETURN: 13, ESC: 27, LEFT: 37, UP: 38, RIGHT: 39, DOWN: 40, DELETE: 46, COMMA: 188, SPACE: 32, HOME: 36, END: 35 }; // Keys "enum"
    var defaultSettings = {
        type: 'status',
        showFilter: true,
        triggerChar: '@',
        fullNameTrigger: false,
        onDatafoRequest: $.noop,
        onItemSelect: $.noop,
        onInitialInputFocus: $.noop,
        minChars: 2,
        maxChars: 280,
        showCounter: false,
        showAvatars: true,
        elastic: true,
        classes: {
            autoCompleteItemActive: "active"
        },
        templates: {
            wrapper: _.template('<div class="mentions-input-box"></div>'),
            preview: _.template('<div class="mentions-preview"></div>'),
            previewImageWrapper: _.template('<div class="mentions-preview-image"></div>'),
            previewContentWrapper: _.template('<div class="mentions-preview-content"></div>'),
            previewImage: _.template('<img  src="<%= image %>" />'),
            previewVideo: _.template('<video style="width:100%; height:100%" src="<%= video %>" />'),
            previewItemContainer: _.template('<ul><li></li></ul>'),
            previewPagerWrapper: _.template('<div class="sly-pager"></div>'),
            previewPagerItemContainer: _.template('<ul class="pages"></ul>'),
            previewItem: _.template('<li></li>'),
            previewHeader: _.template('<h4><%= header %></h4>'),
            previewDescription: _.template('<p><%= description %></p>'),
			previewLink: _.template('<a href="<%= path %>" target="_blank" rel="noopener">View Attachment</a>'),
            previewLinkRemove: _.template('<button type="button" class="close" aria-hidden="true">&times;</button>'),
            previewClear: _.template('<div style="clear: both;"></div>'),
            autocompleteList: _.template('<div class="mentions-autocomplete-list"></div>'),
            autocompleteListItem: _.template('<li class="<%= itemClass %>" data-ref-id="<%= id %>" data-ref-type="<%= type %>" data-display="<%= display %>"><%= content %></li>'),
            autocompleteListItemAvatar: _.template('<img  src="<%= avatar %>" />'),
            autocompleteListItemIcon: _.template('<i class="icon <%= icon %> <%= iconWhite %> icon-gray"></i>'),
            autocompleteListFilter: _.template('<div class="mentions-autocomplete-list-filter"></div>'),
            autocompleteListFilterItem: _.template('<li id="<%= id %>" data-filter="<%= itemtype %>" rel="tooltip" data-original-title="<%= tooltip %>""><i class="<%= iconclass %> icon-white icon-gray"></i></li>'),
            mentionsOverlay: _.template('<div class="mentions"><div></div></div>'),
            mentionItemSyntax: _.template('@[<%= value %>](<%= Type %>:<% if (Type == "Forum") { %><%= SectionID %><% } else { %><%= ID %><% } %>)'),
            mentionItemHighlight: _.template('<strong><span><%= value %></span></strong>'),
            controls: _.template('<div class="mentions-controls"></div>'),
            controlsItemContainer: _.template('<ul></ul>'),
			controlsItemMention: _.template('<li><a href="#!" aria-label="@mention"><span><i class="fa fa-at ii ii-at-sign"></i></span></a></li>'),
			controlsHelpText: _.template('<span class="mentions-controls-help">Continue typing to mention something or someone...</span>'),
            controlsHelpCounter: _.template('<span class="mentions-controls-help-counter">320</span>'),
			uploadContainer: _.template('<div class="mentions-controls-upload-container"><div class="uploader" style="height: 35px; width:36px;"><div class="qq-upload-button primary-brand-color"><div aria-label="Attach" style="padding: 7px 0 0 0"><i class="fa fa-paperclip ii ii-paper-clip"></i></div></div><ul class="qq-upload-list"></ul></div></div>')
        }
    };
    var clicky;
    $(document).mousedown(function (e) {
      // The latest element clicked
      clicky = $(e.target);
    });

    var utils = {
        htmlEncode: function (str) {
            return _.escape(str);
        },
        highlightTerm: function (value, term) {
            if (!term && !term.length) {
                return value;
            }
            return value.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)(" + term + ")(?![^<>]*>)(?![^&;]+;)", "gi"), "<b>$1</b>");
        },
        setCaratPosition: function (domNode, caretPos) {
            if (domNode.createTextRange) {
                var range = domNode.createTextRange();
                range.move('character', caretPos);
                range.select();
            } else {
                if (domNode.selectionStart) {
                    domNode.focus();
                    domNode.setSelectionRange(caretPos, caretPos);
                } else {
                    domNode.focus();
                }
            }
        },
        rtrim: function (string) {
            return string.replace(/\s+$/, "");
        }
    };

    var MentionsInput = function (settings) {
        var document, domInput, elmInputBox, elmControls, elmControlItemContainer, elmControlItemMention, elmControlHelpText, elmControlHelpCounter, elmPreview, elmPreviewItemContainer, elmPreviewPagerWrapper, elmPreviewPagerItemContainer, elmPreviewImageWrapper, elmPreviewContentWrapper, elmInputWrapper, elmAutocompleteList, elmResultsDropDownList, elmAutocompleteListFilter, elmWrapperBox, elmMentionsOverlay, elmActiveAutoCompleteItem, elmUploadContainer;
        var mentionsCollection = [];
        var mentionsPreviewCollection = [];
        var autocompleteItemCollection = {};
        var inputBuffer = [];
        var currentDataQuery;
        var filterItemCollection = [];
        var defaultFilterItemCollection = ['Person', 'Document', 'Team', 'Event', 'Forum', 'ForumDiscussion', 'ForumQuestion', 'ForumIdea', 'ForumIdeaList', 'Blog', 'BlogPost', 'Workflow', 'Department', 'Location', 'Company', 'SearchApplication'];
        var uploadedFilesCollection = [];
		var NewSearch = true;
		var oldInputValue = '';
		var physicalKeyboard = false;
        FiringValue = AtMentionFiringValue;
        settings = $.extend(true, {}, defaultSettings, settings);

        function initTextarea() {
            elmInputBox = $(domInput);
            defaultSettings.type = elmInputBox.attr('data-type');
            NewSearch = true;
            if (elmInputBox.attr('data-mentions-input') == 'true') {
                return;
            }

            if (elmInputBox.attr('data-type') != null) {
                settings.type = elmInputBox.attr('data-type');
            }

            if (elmInputBox.attr('data-mode') != null) {
                settings.mode = elmInputBox.attr('data-mode');
            }

            switch (settings.type) {

                case 'status':
                    elmInputBox.addClass('mentions-status');

                    break;

                case 'comment':
                    settings.submitOnEnter = true;
                    break;
            }

            elmInputWrapper = elmInputBox.parent();
            elmWrapperBox = $(settings.templates.wrapper());
            elmInputBox.wrapAll(elmWrapperBox);
            elmWrapperBox = elmInputWrapper.find('> div');

			oldInputValue = elmInputBox.val();

            elmInputBox.attr('data-mentions-input', 'true');
            elmInputBox.bind('keydown', onInputBoxKeyDown);
            elmInputBox.bind('keypress', onInputBoxKeyPress); // deprecated - https://developer.mozilla.org/en-US/docs/Web/API/Document/keypress_event
            elmInputBox.bind('input', onInputBoxInput);
            elmInputBox.bind('click', onInputBoxClick);
            elmInputBox.bind('blur', onInputBoxBlur);
            elmInputBox.bind('focusin', onInputBoxFocus);

            // Elastic textareas, internal setting for the Dispora guys
            if (settings.elastic) {
                elmInputBox.elastic();
            }
        }

        function initControls() {
            elmControls = $(settings.templates.controls());
            elmControls.appendTo(elmWrapperBox);

            elmControlItemContainer = $(settings.templates.controlsItemContainer());
            elmControlItemContainer.appendTo(elmControls);

            elmControlItemMention = $(settings.templates.controlsItemMention());
            elmControlItemMention.appendTo(elmControlItemContainer);

            initUploader();

            elmControlHelpText = $(settings.templates.controlsHelpText());
            elmControlHelpText.appendTo(elmControls);

            if (settings.showCounter) {
                elmControlHelpCounter = $(settings.templates.controlsHelpCounter());
                elmControlHelpCounter.appendTo(elmControls);

                $(elmControlHelpCounter).text(settings.maxChars);
            }

            if (settings.mode == 'collapsed') {
                elmControls.hide();
            }

            elmControlItemMention.bind('click', onControlMentionClick);
		}

        function initUploader() {
            var isIEbelow10 = ($.browser.msie && parseInt($.browser.version, 10) <= 10);

            elmUploadContainer = $(settings.templates.uploadContainer());
            elmUploadContainer.appendTo(elmControls);
            if (isIEbelow10) {
                $(elmUploadContainer).fineUploader({
                    uploaderType: "basic",
                    button: $(elmControls).find(".qq-upload-button" ),
                    request: {
                        endpoint: "/Utilities/Uploads/Handler/Uploader.ashx",
                        paramsInBody: true,
                        params: {
                            area: 'timeline'
                        }
                    },
                    retry: {
                        enableAuto: true,
                        showButton: true
                    },
					callbacks: {
						onCancel: function (id, name) {
							$(".mentions-input-box").LoadingOverlay("hide");
						},
						onError: function (id, name, errorReason, xhr) {
							if (errorReason === 403) {
								alert(globalSysText.alerts.fileUploaderForbidden.replace('{{filename}}', name));
								this.cancelAll();
							}
						}
                    }
                }).on('complete', addMentionUpload);
            }
            else {
                $(elmUploadContainer).fineUploader({
                    uploaderType: "basic",
                    button: $(elmControls).find(".qq-upload-button" ),
                    request: {
                        endpoint: "/Utilities/Uploads/Handler/Uploader.ashx",
                        paramsInBody: true,
                        params: {
                            area: 'timeline'
                        }
                    },
                    chunking: {
                        enabled: true,
                        concurrent: {
                            enabled: true
                        },
                        success: {
                            endpoint: "/Resource/UploadComplete"
                        }
					},
                    multiple: true,
                    retry: {
                        enableAuto: true,
                        showButton: true
                    },
                    callbacks: {
                        onSubmit: function(fileId) {
							$(".mentions-input-box").LoadingOverlay("show");
                        },
                        onComplete: function(id, fileName, response) {
                            $(".mentions-input-box").LoadingOverlay("hide");
                        },
                        onValidate: function (data, element) {
						},
						onCancel: function (id, name) {
							$(".mentions-input-box").LoadingOverlay("hide");
						},
						onError: function (id, name, errorReason, xhr) {
							if (errorReason === 403) {
								alert(globalSysText.alerts.fileUploaderForbidden.replace('{{filename}}', name));
								this.cancelAll();
							}
						}
                    }
                }).on('complete', addMentionUpload);
            }
            elmUploadContainer.delegate('div.qq-upload-button input', 'click', resetUploader);
        }

        function onUploaderUpload(id, name) {
            resetUploader();
        }

        function addMentionUpload(event, id, fileName, responseJSON) {
            if (responseJSON.success) {
                var file = $(elmUploadContainer).fineUploader('getFile', id);

                var filePath = responseJSON.filegetpath;
                var fileDeletePath = responseJSON.filedeletepath;
                var fileThumb2Path = responseJSON.filethumb2path;
                var fileguid = responseJSON.guid;

                // Details
                if (file) {
                    var fileSize = file.size;
                    var fileLastModifiedDate = file.lastModifiedDate;
                }
                uploadedFilesCollection.push({ 'Title': fileName, 'Path': filePath, 'ThumbPath': fileThumb2Path, 'DeletePath': fileDeletePath, 'FileGuid': fileguid });

                updateMentionsPreview();
            }
        }

        function initPreview() {
            elmPreview = $(settings.templates.preview());
            elmPreview.appendTo(elmWrapperBox);

            elmPreviewItemContainer = $(settings.templates.previewItemContainer());
            elmPreviewItemContainer.appendTo(elmPreview);

            elmPreviewPagerWrapper = $(settings.templates.previewPagerWrapper());
            elmPreviewPagerWrapper.appendTo(elmWrapperBox);

            elmPreviewPagerItemContainer = $(settings.templates.previewPagerItemContainer());
            elmPreviewPagerItemContainer.appendTo(elmPreviewPagerWrapper);
        }

        function initAutocomplete() {
            elmAutocompleteList = $(settings.templates.autocompleteList());
            elmAutocompleteList.appendTo(elmWrapperBox);
            elmAutocompleteList.delegate('ul.autocomplete-list-items li', 'mousedown', onAutoCompleteMouseDown);
            elmAutocompleteList.delegate('div.mentions-autocomplete-list-filter ul li', 'mousedown', onAutoCompleteMouseDown);
            elmAutocompleteList.delegate('ul.autocomplete-list-items li', 'click', onAutoCompleteItemClick);
            elmAutocompleteList.delegate('div.mentions-autocomplete-list-filter ul li', 'click', onFilterItemClick);

            if (settings.showFilter) {
                elmAutocompleteListFilter = $(settings.templates.autocompleteListFilter());
                elmAutocompleteListFilter.appendTo(elmAutocompleteList);

                var elmFilterDropDownList = $('<ul>').appendTo(elmAutocompleteListFilter);

                var elmFilterItemPerson = $(settings.templates.autocompleteListFilterItem({ 'itemtype': 'Person', 'id': 'Person', 'iconclass': Utilities.GetIcon('Person'), 'tooltip': $.fn.mentionsInput.settings.strings.tooltips.person }));
                elmFilterItemPerson.appendTo(elmFilterDropDownList);

                var elmFilterItemDocument = $(settings.templates.autocompleteListFilterItem({ 'itemtype': 'Document', 'id': 'Document', 'iconclass': Utilities.GetIcon('Document'), 'tooltip': $.fn.mentionsInput.settings.strings.tooltips.document }));
                elmFilterItemDocument.appendTo(elmFilterDropDownList);

                var elmFilterItemTeam = $(settings.templates.autocompleteListFilterItem({ 'itemtype': 'Team', 'id': 'Team', 'iconclass': Utilities.GetIcon('Team'), 'tooltip': $.fn.mentionsInput.settings.strings.tooltips.team }));
                elmFilterItemTeam.appendTo(elmFilterDropDownList);

                var elmFilterItemEvent = $(settings.templates.autocompleteListFilterItem({ 'itemtype': 'Event', 'id': 'Event', 'iconclass': Utilities.GetIcon('Event'), 'tooltip': $.fn.mentionsInput.settings.strings.tooltips.event }));
                elmFilterItemEvent.appendTo(elmFilterDropDownList);

                var elmFilterItemForum = $(settings.templates.autocompleteListFilterItem({ 'itemtype': 'Forum', 'id': 'Forum', 'iconclass': Utilities.GetIcon('Forum'), 'tooltip': $.fn.mentionsInput.settings.strings.tooltips.forum }));
                elmFilterItemForum.appendTo(elmFilterDropDownList);

                var elmFilterItemForumThread = $(settings.templates.autocompleteListFilterItem({ 'itemtype': 'ForumDiscussion', 'id': 'ForumDiscussion', 'iconclass': Utilities.GetIcon('ForumDiscussion'), 'tooltip': $.fn.mentionsInput.settings.strings.tooltips.forumDiscussion }));
                elmFilterItemForumThread.appendTo(elmFilterDropDownList);

                var elmFilterItemForum = $(settings.templates.autocompleteListFilterItem({ 'itemtype': 'ForumQuestion', 'id': 'ForumQuestion', 'iconclass': Utilities.GetIcon('ForumQuestion'), 'tooltip': $.fn.mentionsInput.settings.strings.tooltips.forumQuestion }));
                elmFilterItemForum.appendTo(elmFilterDropDownList);

                var elmFilterItemForum = $(settings.templates.autocompleteListFilterItem({ 'itemtype': 'ForumIdea', 'id': 'ForumIdea', 'iconclass': Utilities.GetIcon('ForumIdea'), 'tooltip': $.fn.mentionsInput.settings.strings.tooltips.forumIdea }));
                elmFilterItemForum.appendTo(elmFilterDropDownList);

                var elmFilterItemForum = $(settings.templates.autocompleteListFilterItem({ 'itemtype': 'ForumIdeaList', 'id': 'ForumIdeaList', 'iconclass': Utilities.GetIcon('ForumIdeaList'), 'tooltip': $.fn.mentionsInput.settings.strings.tooltips.forumIdeaList }));
                elmFilterItemForum.appendTo(elmFilterDropDownList);

                var elmFilterItemBlog = $(settings.templates.autocompleteListFilterItem({ 'itemtype': 'Blog', 'id': 'Blog', 'iconclass': Utilities.GetIcon('Blog'), 'tooltip': $.fn.mentionsInput.settings.strings.tooltips.blog }));
                elmFilterItemBlog.appendTo(elmFilterDropDownList);

                var elmFilterItemBlogPost = $(settings.templates.autocompleteListFilterItem({ 'itemtype': 'BlogPost', 'id': 'BlogPost', 'iconclass': Utilities.GetIcon('BlogPost'), 'tooltip': $.fn.mentionsInput.settings.strings.tooltips.blogPost }));
                elmFilterItemBlogPost.appendTo(elmFilterDropDownList);

                var elmFilterItemWorkflow = $(settings.templates.autocompleteListFilterItem({ 'itemtype': 'Workflow', 'id': 'Workflow', 'iconclass': Utilities.GetIcon('Workflow'), 'tooltip': $.fn.mentionsInput.settings.strings.tooltips.workflow }));
                elmFilterItemWorkflow.appendTo(elmFilterDropDownList);

				var elmFilterItemCompanyDepartmentLocation = $(settings.templates.autocompleteListFilterItem({ 'itemtype': 'Company,Department,Location', 'id': 'CompanyDepartmentLocation', 'iconclass': Utilities.GetIcon('CompanyDepartmentLocation'), 'tooltip': $.fn.mentionsInput.settings.strings.tooltips.companyDepartmentLocation }));
                elmFilterItemCompanyDepartmentLocation.appendTo(elmFilterDropDownList);

                var elmFilterItemOther = $(settings.templates.autocompleteListFilterItem({ 'itemtype': 'SearchApplication', 'id': 'SearchApplication', 'iconclass': Utilities.GetIcon('Other'), 'tooltip': $.fn.mentionsInput.settings.strings.tooltips.other }));
                elmFilterItemOther.appendTo(elmFilterDropDownList);
            }
         }

        function initMentionsOverlay() {
            elmMentionsOverlay = $(settings.templates.mentionsOverlay());
            elmMentionsOverlay.prependTo(elmWrapperBox);
        }

        function updateValues() {
            var syntaxMessage = getInputBoxValue();

            _.each(mentionsCollection, function (mention) {
                var textSyntax = settings.templates.mentionItemSyntax(mention);
                syntaxMessage = syntaxMessage.replace(mention.value, textSyntax);
            });

            var mentionText = utils.htmlEncode(syntaxMessage);

            _.each(mentionsCollection, function (mention) {
                var formattedMention = _.extend({}, mention, { value: utils.htmlEncode(mention.value) });
                var textSyntax = settings.templates.mentionItemSyntax(formattedMention);
                var textHighlight = settings.templates.mentionItemHighlight(formattedMention);

                mentionText = mentionText.replace(textSyntax, textHighlight);
            });

            mentionText = mentionText.replace(/\n/g, '<br />');
            mentionText = mentionText.replace(/ {2}/g, '&nbsp; ');

            elmInputBox.data('messageText', syntaxMessage);
            elmMentionsOverlay.find('div').html(mentionText);
        }

        function resetBuffer() {
            inputBuffer = [];
        }

        function updateMentionsCollection() {
            var inputText = getInputBoxValue();

            mentionsCollection = _.reject(mentionsCollection, function (mention, index) {
                return !mention.value || inputText.indexOf(mention.value) == -1;
            });

            mentionsCollection = _.compact(mentionsCollection);
        }

        function updateMentionsPreviewCollection() {
            mentionsPreviewCollection = mentionsCollection.slice();
        }

        function addMention(mention) {
            var currentMessage = getInputBoxValue();

            if (settings.fullNameTrigger) {
                // Get the actual carat position using some black magic
                var currentCaretPosition = $(elmInputBox).caret().end;
                var startCaretPosition = currentCaretPosition - currentDataQuery.length;

                // Find where to start inserting mention
                var matchLen = mention.value.indexOf(currentDataQuery) + currentDataQuery.length;
                var curMessage = currentMessage.substring(0, currentCaretPosition);
                if (curMessage.substring(curMessage.length - matchLen) == mention.value.substring(0, matchLen)) {
                    startCaretPosition -= mention.value.indexOf(currentDataQuery);
                }
            }
            else {
                // Using a regex to figure out positions
                var regex = new RegExp("\\" + settings.triggerChar + currentDataQuery, "gi");
                regex.exec(currentMessage);

                var startCaretPosition = regex.lastIndex - currentDataQuery.length - 1;
                var currentCaretPosition = regex.lastIndex;
            }

            var start = currentMessage.substr(0, startCaretPosition);
            var end = currentMessage.substr(currentCaretPosition, currentMessage.length);
            var startEndIndex = (start + mention.value).length + 1;

            mentionsCollection.push(mention);

            // Cleaning before inserting the value, otherwise auto-complete would be triggered with "old" inputbuffer
            resetBuffer();
            currentDataQuery = '';
            hideAutoComplete();

            // Mentions & syntax message
            var updatedMessageText = start + mention.value + end;
            elmInputBox.val(updatedMessageText);
            updateValues();

            // Set correct focus and selection
            elmInputBox.focus();

            utils.setCaratPosition(elmInputBox[0], startEndIndex);

            elmInputBox.trigger('change');

            if (settings.type == 'status') {
                updateMentionsPreview();

                hideMentionHelpText();

                updateHelpCounter();
            }

        }

        function getInputBoxValue() {
           return $.trim(elmInputBox.val());
        }

        function getInputBoxValueNoTrim() {
            return $(elmInputBox).val();
        }

        function onFilterItemClick(e) {
            var clickObject = $(e.target),
                filterItem,
                filterId = '';

            if ($(clickObject).is('li')) {
                filterItem = $(clickObject);
				filterId = $(filterItem).attr('data-filter');
            } else {
                filterItem = $(clickObject).parent()
				filterId = $(filterItem).attr('data-filter');
            }

            $(filterItem).toggleClass('active');

            if ($(filterItem).hasClass('active')) {
                filterItemCollection.push(filterId);
            } else {
                filterItemCollection = _.reject(filterItemCollection, function (filterItem) {
                    return filterItem == filterId;
                });
            }

            _.defer(_.bind(doSearch, this, currentDataQuery));

            e.stopPropagation();

            e.preventDefault();

            // return focus back to input so that interface actions are still possible
            elmInputBox.focus();
        }

        function onControlMentionClick(e) {
            var currentMessage = getInputBoxValueNoTrim(),
                inputValue = '@';

            var startCaretPosition = $(elmInputBox).caret().start,
                currentCaretPosition = $(elmInputBox).caret().end;

            var start = currentMessage.substr(0, startCaretPosition),
                end = currentMessage.substr(currentCaretPosition, currentMessage.length),
                startEndIndex = (start + inputValue).length;

            // Mentions & syntax message
            var updatedMessageText = start + inputValue + end;
            elmInputBox.val(updatedMessageText);

            var typedValue = inputValue;
            inputBuffer.push(typedValue);

            updateValues();
            updateMentionsCollection();
            hideAutoComplete();

            var triggerCharIndex = _.lastIndexOf(inputBuffer, settings.triggerChar);
            if (triggerCharIndex > -1) {
                currentDataQuery = inputBuffer.slice(triggerCharIndex + 1).join('');
                currentDataQuery = utils.rtrim(currentDataQuery);

                _.defer(_.bind(doSearch, this, currentDataQuery));
            }

            // Set correct focus and selection
            elmInputBox.focus();
            elmInputBox.caret({ start: startEndIndex, end: startEndIndex })

            showMentionHelpText();
          }

        function onAutoCompleteMouseDown(e) {
            $(elmAutocompleteList).attr('data-stayopen', true);
        }

        function onAutoCompleteItemClick(e) {
            var elmTarget = $(this);
            var mention = autocompleteItemCollection[elmTarget.attr('data-uid')];

            addMention(mention);

            return false;
        }

        function onInputBoxClick(e) {
            NewSearch = true;
            resetBuffer();
        }

        function onInputBoxFocus(e) {
            // check if controls are already showing

            //   if (defaultSettings.type != 'comment') {
            //   if (elmControls == undefined) initControls(); A FIX
            if (elmControls && !elmControls.is(':visible')) {
                // show controls
                elmControls.slideDown('fast');

                // execute callback
                settings.onInitialInputFocus();
            }
            //  }

        }

        function onInputBoxBlur(e) {
          if ($(elmAutocompleteList).attr('data-stayopen') == null) {
            var isInModal = (clicky[0].className == "modal-body" || clicky[0].className == "autocomplete-list-items");
            if (!isInModal) {
              hideAutoComplete();
            }
          }
        }

		function onInputBoxInput(e) {
			// Capture input for Android
			if ($.browser.android && $.browser.chrome && !physicalKeyboard) {
				var newInputValue = e.target.value;
				if (newInputValue.length > oldInputValue.length) {
					var lastChar = e.target.value.slice(-1)
					inputBuffer.push(lastChar);
				}
				else if (newInputValue.length < oldInputValue.length) {
					inputBuffer.splice(-1);
				}
				oldInputValue = newInputValue;
			}

            updateValues();
            updateMentionsCollection();
            hideAutoComplete();
            updateHelpCounter();

            if (settings.fullNameTrigger)
                currentDataQuery = inputBuffer.join('');
            else {
                var triggerCharIndex = _.lastIndexOf(inputBuffer, settings.triggerChar);
                if (triggerCharIndex > -1) {
                    currentDataQuery = inputBuffer.slice(triggerCharIndex + 1).join('');
                    //currentDataQuery = utils.rtrim(currentDataQuery);

                    if (settings.type == 'status') {
                        showMentionHelpText();
                    }
                } else {
                    currentDataQuery = '';
                    hideMentionHelpText();
                }
            }

            _.defer(_.bind(doSearch, this, currentDataQuery));
        }

        function onInputBoxKeyPress(e) {
            if (e.keyCode !== KEY.BACKSPACE) {
                var typedValue = String.fromCharCode(e.which || e.keyCode);
                inputBuffer.push(typedValue);
            }
        }

        function ieDelegateUpdateValues() {
            // IE9 doesn't fire the oninput event when backspace or delete is pressed. This causes the highlighting
            // to stay on the screen whenever backspace is pressed after a highlighed word. This is simply a hack
            // to force updateValues() to fire when backspace/delete is pressed in IE9.
            if (navigator.userAgent.indexOf("MSIE 9") > -1) {
                _.defer(updateValues);
                _.defer(updateMentionsCollection);
            }
        }

		function onInputBoxKeyDown(e) {
			// Test for Android virtual keyboard
			physicalKeyboard = e.keyCode !== 229

            // This also matches HOME/END on OSX which is CMD+LEFT, CMD+RIGHT
            if (e.keyCode == KEY.LEFT || e.keyCode == KEY.RIGHT || e.keyCode == KEY.HOME || e.keyCode == KEY.END) {
                // Defer execution to ensure carat pos has changed after HOME/END keys
                _.defer(resetBuffer);
                return;
            }

            if (e.keyCode == KEY.DELETE) {
                ieDelegateUpdateValues();
            }

            if (e.keyCode == KEY.BACKSPACE) {
                ieDelegateUpdateValues();

                inputBuffer = inputBuffer.slice(0, -1 + inputBuffer.length); // Can't use splice, not available in IE
                return;
            }

            if (e.keyCode == KEY.ESC) {
                resetBuffer();

                hideAutoComplete();
            }

            if (!elmAutocompleteList.is(':visible')) {
                return true;
            }

            switch (e.keyCode) {
                case KEY.UP:
                case KEY.DOWN:
                    var elmCurrentAutoCompleteItem = null;
                    if (e.keyCode == KEY.DOWN) {
                        if (elmActiveAutoCompleteItem && elmActiveAutoCompleteItem.length && !elmActiveAutoCompleteItem.is(':last-child')) {
                            elmCurrentAutoCompleteItem = elmActiveAutoCompleteItem.next();
                        } else {
                            elmCurrentAutoCompleteItem = elmResultsDropDownList.find('li').first();
                        }
                    } else {
                        if (!elmActiveAutoCompleteItem.is(':first-child')) {
                            elmCurrentAutoCompleteItem = $(elmActiveAutoCompleteItem).prev();
                        } else {
                            elmCurrentAutoCompleteItem = elmResultsDropDownList.find('li').last();
                        }
                    }

                    if (elmCurrentAutoCompleteItem.length) {
                        selectAutoCompleteItem(elmCurrentAutoCompleteItem);
                    }

                    return false;
                    break;
                case KEY.RETURN:
                case KEY.TAB:
                    if (elmActiveAutoCompleteItem && elmActiveAutoCompleteItem.length) {
                        elmActiveAutoCompleteItem.trigger('click');
                        return false;
                    }

                    break;
            }

            return true;
        }

        function hideAutoComplete() {
            elmActiveAutoCompleteItem = null;
            elmAutocompleteList.children('ul').remove();
            elmAutocompleteList.hide();

            resetFilter();
        }

        function showMentionHelpText() {
            $(elmControlHelpText).show();

            resetUploader();
        }

        function hideMentionHelpText() {
            $(elmControlHelpText).hide();
        }

        function selectAutoCompleteItem(elmItem) {
            elmItem.addClass(settings.classes.autoCompleteItemActive);
            elmItem.siblings().removeClass(settings.classes.autoCompleteItemActive);

            elmActiveAutoCompleteItem = elmItem;
          }

        function populateDropdown(query, results, documentHeight) {
            elmAutocompleteList.show();

            // Filter items that has already been mentioned
            var mentionValues = _.pluck(mentionsCollection, 'value');
            results = _.reject(results, function (item) {
                return _.include(mentionValues, item.Name);
            });

            elmAutocompleteList.children('ul').remove();
            elmResultsDropDownList = $('<ul class="autocomplete-list-items">').appendTo(elmAutocompleteList).hide();

            var elmIcon;

            // add empty state if theer are no results
            if (!results.length) {
                // create empty state element
                var elmListItem = $(settings.templates.autocompleteListItem({
                    'id': '',
                    'itemClass': '',
                    'display': '',
                    'type': 'empty',
                    'content': 'No results available (Press Esc to cancel)'
                }));

                // create empty state icon element
                elmIcon = $(settings.templates.autocompleteListItemIcon({ icon: 'icon-remove', iconWhite: 'icon-white' }));

                elmIcon.prependTo(elmListItem);

                // add element to result list
                elmListItem = elmListItem.appendTo(elmResultsDropDownList);
            }

            _.each(results, function (item, index) {
                var itemUid = _.uniqueId('mention_');

				var itemID;
				var combinedNameAndSuffix = item.Name;
				if (item.JobTitle)
					combinedNameAndSuffix += ' (' + item.JobTitle + ')';
				else if (item.OrgLabel)
					combinedNameAndSuffix += ' (' + item.OrgLabel + ')';

                switch (item.Type) {
                    case 'Blog':
                        itemID = $.parseJSON(item.Entity).Owner.PersonID;
                        break;
                    case 'Team':
						itemID = item.SectionID;
                        break;
                    case 'Forum':
                        itemID = item.SectionID;
                        break;
                    default:
                        itemID = item.ID;
                        break;
                }

                item.ID = itemID;

                autocompleteItemCollection[itemUid] = _.extend({}, item, { value: item.Name });

                var elmListItem = $(settings.templates.autocompleteListItem({
                    'id': utils.htmlEncode(item.ID),
                    'itemClass': 'selectable',
                    'display': ((item.Type === "BlogPost" || item.Type === "Document" || item.Type === "Event") ? item.Name : utils.htmlEncode(item.Name)),
                    'type': utils.htmlEncode(item.Type),
					'content': utils.highlightTerm(((item.Type === "BlogPost" || item.Type === "Document" || item.Type === "Event") ? item.Name : utils.htmlEncode(combinedNameAndSuffix)), query)
                })).attr('data-uid', itemUid);

                if (index === 0) {
                    selectAutoCompleteItem(elmListItem);
                }

                if (settings.showAvatars) {
                    if (Utilities.IsAsset(item.Avatar)) {
                        elmIcon = $(settings.templates.autocompleteListItemAvatar({ avatar: Utilities.GetAsset(item.Avatar, 1) }));
                    } else {

                        if (Utilities.IsIconExtra(item.Icon)) {
                            elmIcon = $(settings.templates.autocompleteListItemIcon({ icon: item.Icon, iconWhite: 'iconextra-white' }));
                        } else {
                            elmIcon = $(settings.templates.autocompleteListItemIcon({ icon: item.Icon, iconWhite: 'icon-white' }));
                        }

                    }
                    elmIcon.prependTo(elmListItem);
                }

                elmListItem = elmListItem.appendTo(elmResultsDropDownList);
            });

            $(elmAutocompleteList).removeAttr('data-stayopen');
            elmAutocompleteList.show();
            elmResultsDropDownList.show();
            if (typeof ko !== 'undefined') {
                ko.applyBindings(MasterPage.ViewModel);
            }

            // prevent box drops below the page causing all items from being visible
            var mentionPopUp = $(elmAutocompleteList);
            var mentionsHeight = mentionPopUp.height();
            var offSet = mentionPopUp.offset();
            var scrollTop = $(window).scrollTop();
            var bot = documentHeight + scrollTop - offSet.top - 150;

            if (!!window.document.getElementsByClassName("widgetBody"))
                $(elmAutocompleteList).css("bottom", "");
            else
                if (NewSearch) {
                    if (bot - mentionsHeight < 0) {
                        $(elmAutocompleteList).css("bottom", "100%");
                    } else {
                        $(elmAutocompleteList).css("bottom", "");
                    }
                    NewSearch = false;
                }

            Utilities.ApplyTooltips();
        }

        function updateMentionsPreview() {
            var newMentions = [];

            _.each(mentionsCollection, function (mention) {
                var exists = false;

                _.each(mentionsPreviewCollection, function (mentionPreview) {
                    if (_.isEqual(mentionPreview, mention)) {
                        exists = true;
                    }
                });

                if (!exists) {
                    newMentions.push(mention);
                }
            });

            var mentionsPreviewChanged = false;

            $(elmPreviewItemContainer).empty();

            for (var n = 0; n < mentionsCollection.length; n++) {
                if (mentionsCollection[n].Type == 'Document' || mentionsCollection[n].Type == 'BlogPost' || mentionsCollection[n].Type == 'ProfilePost') {
                    $.ajax({
                        async: false,
                        global: false,
                        type: "POST",
                        datatype: 'json',
                        url: "/InteractV7/Search/TaggingDetailsSearch",
                        data: JSON.stringify({ id: mentionsCollection[n].ID, type: mentionsCollection[n].Type }),
                        contentType: 'application/json; charset=utf-8',
                        success: function (data) {
                            var item = data.SearchResults[0];

                            if (item != null) {
                                var elmItem,
                                    elmClear,
                                    elmImage,
                                    elmHeader,
                                    elmDescription;

                                var itemWidth = elmPreview.width() - 30;

                                elmItem = $(settings.templates.previewItem());
                                $(elmItem).css('width', itemWidth);
                                $(elmItem).appendTo(elmPreviewItemContainer);

                                elmPreviewImageWrapper = $(settings.templates.previewImageWrapper());
                                elmPreviewImageWrapper.appendTo(elmItem);

                                elmPreviewContentWrapper = $(settings.templates.previewContentWrapper());
                                elmPreviewContentWrapper.appendTo(elmItem);

                                elmClear = $(settings.templates.previewClear());
                                elmClear.appendTo(elmItem);

                                elmImage = $(settings.templates.previewImage({ image: Utilities.GetAsset(item.Avatar, 5) }));
                                $(elmImage).appendTo(elmPreviewImageWrapper);

                                elmHeader = $(settings.templates.previewHeader({ header: item.Title }));
                                $(elmHeader).appendTo(elmPreviewContentWrapper);

                                var descText = '';

                                switch (mentionsCollection[n].Type) {
                                    case 'Document':
                                        if (item.Summary) {
                                            descText = Utilities.ParseContent(item.Summary);

                                            descText = Utilities.StripHTMLTags(descText);
                                            descText = Utilities.TruncateToWord(descText, 230, Utilities.APPENDER_HELLIP);
                                        }

                                        break;

                                    default:
                                        if (item.Body != null) {
                                            descText = Utilities.ParseContent(item.Body);

                                            descText = Utilities.StripHTMLTags(descText);
                                            descText = Utilities.TruncateToWord(descText, 230, Utilities.APPENDER_HELLIP);
                                        }

                                        break;
                                }

                                elmDescription = $(settings.templates.previewDescription({ description: descText }));
                                $(elmDescription).appendTo(elmPreviewContentWrapper);

                                mentionsPreviewChanged = true;
                            }
                        }
                    });
                }

            }

            for (var n = 0; n < uploadedFilesCollection.length; n++) {
                var item = uploadedFilesCollection[n];

                var elmItem,
                    elmClear,
                    elmImage,
                    elmHeader,
                    elmDescription,
                    elmLink,
                    elmLinkRemove;

                var itemWidth = elmPreview.width() - 30;

                elmItem = $(settings.templates.previewItem());
                $(elmItem).css('width', itemWidth);
                $(elmItem).appendTo(elmPreviewItemContainer);

                elmPreviewImageWrapper = $(settings.templates.previewImageWrapper());
                elmPreviewImageWrapper.appendTo(elmItem);

                elmPreviewContentWrapper = $(settings.templates.previewContentWrapper());
                elmPreviewContentWrapper.appendTo(elmItem);

                elmClear = $(settings.templates.previewClear());
				elmClear.appendTo(elmItem);

                //var imagePath = '/Content/default/images/timeline-attachment-file.png';
                var imagePath;
                if (item.ThumbPath != null) {
                    imagePath = item.ThumbPath;
                }
                else {
                    imagePath = (function () {
                        var imgType = "genericattach";
                        var idx = item.Title.lastIndexOf('.');
                        if (idx !== undefined && idx > -1) {
                            switch (item.Title.substring(idx)) {
                                case ".pdf":
                                    imgType = "pdf";
                                    break;
                                case ".doc":
                                case ".docx":
                                    imgType = "msword";
                                    break;
                                case ".xls":
                                case ".xlsx":
                                    imgType = "msexcel";
                                    break;
                                case ".ppt":
                                case ".pps":
                                case ".pptx":
                                case ".ppsx":
                                    imgType = "mspowerpoint";
                                    break;
                                default:
                                    imgType = 'genericattach';
                                    break;
                            }
						};
                        return '/Content/default/images/timeline-' + imgType + ".png";
                    })();
                }

                var isVideoAttachment = isVideo(item.Title);

                if (isVideoAttachment) {
                    elmImage = $(settings.templates.previewVideo({ video: item.Path }));
                } else {
                    elmImage = $(settings.templates.previewImage({ image: imagePath }));
                }

                $(elmImage).appendTo(elmPreviewImageWrapper);

                elmHeader = $(settings.templates.previewHeader({ header: item.Title }));
                $(elmHeader).appendTo(elmPreviewContentWrapper);

                elmDescription = $(settings.templates.previewDescription({ description: 'This file will now be attached to your status update.' }));
                $(elmDescription).appendTo(elmPreviewContentWrapper);

                elmLink = $(settings.templates.previewLink({ path: item.Path }));
                $(elmLink).appendTo(elmPreviewContentWrapper);

                elmLinkRemove = $(settings.templates.previewLinkRemove());
                $(elmLinkRemove).appendTo(elmPreviewContentWrapper);

                $(elmPreviewItemContainer).on('click', 'button.close', onPreviewItemRemoveClick);

                mentionsPreviewChanged = true;
            }

            if (mentionsPreviewChanged) {
                $(elmPreview).sly('reload');
                $(elmPreview).sly('toEnd');
            }

            var mentionPreviewCount = $(elmPreviewItemContainer).children().length;

            if (mentionPreviewCount > 1 && (mentionsCollection.length > 0 || uploadedFilesCollection.length > 0)) {
                $(elmPreview).show();
                $(elmPreviewPagerWrapper).show();
                $(elmPreviewPagerItemContainer).show();
            } else if (mentionPreviewCount > 0 && (mentionsCollection.length > 0 || uploadedFilesCollection.length > 0)) {
                $(elmPreview).show();
                $(elmPreviewPagerWrapper).show();
                $(elmPreviewPagerItemContainer).hide();
            } else {
                $(elmPreview).hide();
                $(elmPreviewPagerWrapper).hide();
                $(elmPreviewPagerItemContainer).hide();
            }

            updateMentionsPreviewCollection();
        }

        function onPreviewItemRemoveClick() {
            var title = $(this).siblings('h4').text();
            var path = $(this).siblings('a').attr('href');

            uploadedFilesCollection = _.reject(uploadedFilesCollection, function (upload, index) {
                if (upload.Title == title && upload.Path == path) {
                    deletePreviewItem(upload);
                    return true;
                }
                else {
                    return false;
                }

            });

            updateMentionsPreview();
        }

        function deletePreviewItem(upload) {
            $.ajax({
                type: "DELETE",
                url: upload.DeletePath
            });
        }

		function isVideo(fileName) {

            var result = false;

            if (typeof fileName !== 'undefined' && fileName !== null) {

                var ext = fileName.split('.').pop();

                ext = ext.toLowerCase();

                switch (ext) {
                case "mp4":
                case "webm":
                case "ogv":
                    result = true;
                    break;
                }
            }

            return result;
        }

        function getNewPreviewMentionsCollection() {
            // Make hashtable of ids in B
            var bIds = {}
            b.forEach(function (obj) {
                bIds[obj.id] = obj;
            });

            // Return all elements in A, unless in B
            return a.filter(function (obj) {
                return !(obj.id in bIds);
            });
        }

        function updateHelpCounter() {
            var charCount = settings.maxChars - getInputBoxValueNoTrim().length;

            $(elmControlHelpCounter).text(charCount);

            if (charCount < 0) {
                $(elmControlHelpCounter).addClass('mentions-controls-help-counter-limit');
            } else {
                $(elmControlHelpCounter).removeClass('mentions-controls-help-counter-limit');
            }
        }

        function initScrollNavigation() {
            $(elmPreview).sly({
                pagesBar: elmPreviewPagerItemContainer,
                horizontal: 1,
                itemNav: 'forceCentered',
                dragContent: 1,
                scrollBy: 1
            });
        }

        function doSearch(query) {
            if (query && query.length && query.length >= FiringValue) {
                var innerFilterItemCollection = [];

                if (filterItemCollection.length > 0) {
                    innerFilterItemCollection = filterItemCollection;
                } else {
                    innerFilterItemCollection = defaultFilterItemCollection;
                }

                if (settings.fullNameTrigger) {
                    doSearchFullNameTrigger(query, innerFilterItemCollection);
                } else {
                  settings.onDataRequest.call(this, 'search', query, function (responseData, documentHeight) {
                    populateDropdown(query, responseData, documentHeight);
                    }, innerFilterItemCollection);
                }
            }
          }

        function doSearchFullNameTrigger(query, innerFilterItemCollection) {
            query = query.substring(query.lastIndexOf(" ") + 1);
            if (query) {
                if (query.length < FiringValue) { return; }
                settings.onDataRequest.call(this, 'search', query, function (responseData) {
                    currentDataQuery = query;
                    populateDropdown(query, responseData);
                }, innerFilterItemCollection);
            }
        }

        function resetUploader() {
            $(elmUploadContainer).fineUploader('reset');
        }

        function resetInput() {
            elmInputBox.val('');
            elmInputBox.trigger('change');
            mentionsCollection = [];
            mentionsPreviewCollection = [];
            uploadedFilesCollection = [];
            filterItemCollection = [];
            updateValues();
            updateMentionsPreview();
            resetUploader();
        }

        function resetFilter() {
            filterItemCollection = [];
            $('div.mentions-autocomplete-list div.mentions-autocomplete-list-filter ul li').removeClass('active');
        }

        function resetCounter() {
            $(elmControlHelpCounter).text(settings.maxChars);

            $(elmControlHelpCounter).removeClass('mentions-controls-help-counter-limit');
        }

        function parseInput() {
            var content = getInputBoxValueNoTrim();

            if (content.length > 0) {

                var regExp = new RegExp(/@\[(.*?)\]\(([a-zA-Z]*?)\:(\d*?)\)/gi);

                content = content.replace(regExp, function (fullText, $1, $2, $3) {
                    var icon = "icon-flag";

                    if (typeof (Utilities) !== 'undefined') {
                        icon = Utilities.GetIcon($2);
                    }

                    var mention = {
                        ID: $3,
                        Name: $1,
                        value: $1,
                        Type: $2,
                        Avatar: "0",
                        Icon: icon
                    }

                    mentionsCollection.push(mention);

                    return mention.value;
                });

                elmInputBox.val(content);

                updateValues();

                if (settings.type == 'status') {
                    hideMentionHelpText();

                    updateHelpCounter();
                }
            }
        }

        function setInputBoxValue(str) {
            resetInput();
            elmInputBox.val(str);
            parseInput();
        }

        // Public methods
        return {
            init: function (domTarget) {
                domInput = domTarget;

                initTextarea();
                initAutocomplete();
                if (settings.type == 'status') {
                    initControls();
                    initPreview();
                }
                initMentionsOverlay();
                initScrollNavigation();

                parseInput();

                if (settings.prefillMention) {
                    addMention(settings.prefillMention);
                }

            },

            val: function (callback) {

                if (_.isFunction(callback)) {
                    var value = mentionsCollection.length ? elmInputBox.data('messageText') : getInputBoxValue();

                    callback.call(this, value, uploadedFilesCollection);
                    return;
                }

                if (typeof (callback) == "string") {
                    setInputBoxValue(callback);
                    return;
                }

                if (callback == undefined) {
                    return mentionsCollection.length ? elmInputBox.data('messageText') : getInputBoxValue();
                }
            },

            reset: function () {
                resetInput();
                resetCounter();
            },

            getMentions: function (callback) {
                if (!_.isFunction(callback)) {
                    return;
                }

                callback.call(this, mentionsCollection);
            },

            focus: function () {
                focusInputBox();
            },

            update: function () {
                var messageText = getInputBoxValue();
                // Strip codes
                // add each mention to mentionsCollection
                // And update

                var mentionText = getInputBoxValue();
                var re = /@\[(.*?)\]\((.*?):(.*?)\)+/g; // Searches through @[value](type:id)

                var match;
                var newMentionText = mentionText;
                while ((match = re.exec(mentionText)) != null) {    // Find all matches in a string
                    console.log(match);
                    newMentionText = newMentionText.replace(match[0], match[1]);
                    mentionsCollection.push({   // Btw: match[0] is the complete match
                        'id': match[3],
                        'type': match[2],
                        'value': match[1]
                    });
                }
                elmInputBox.val(newMentionText);
                updateValues();
            },
        };
    };

    $.fn.mentionsInput = function (method, settings) {

        var outerArguments = arguments;

        if (typeof method === 'object' || !method) {
            settings = method;
        }

        return this.each(function () {
            var instance = $.data(this, 'mentionsInput') || $.data(this, 'mentionsInput', new MentionsInput(settings));

            if (_.isFunction(instance[method])) {
                return instance[method].apply(this, Array.prototype.slice.call(outerArguments, 1));

            } else if (typeof method === 'object' || !method) {
                return instance.init.call(this, this);

            } else {
                $.error('Method ' + method + ' does not exist');
            }

        });
    };

})(jQuery, _);
;
$(function () {
    ApplyMentionsInputs();
});

function ApplyMentionsInputs(context) {
    $('textarea.mention', context).filter(function () {
        return $(this).attr('data-mentions-input') != 'true';
    }).each(function () {
        switch ($(this).attr('data-type')) {
            case 'status':
            case 'comment':
            default:
                InitGenericMentionsInput(this);

                break;
        }
    });
}

function InitGenericMentionsInput(control) {
    $(control).mentionsInput({
        onDataRequest: function (mode, query, callback, filterItemCollection) {
            filterItemCollection = UnpackFilterItemList(filterItemCollection);
            $.ajax({
                type: "POST",
                datatype: 'json',
                url: "/InteractV7/Search/MentionSearch",
                data: JSON.stringify({ query: query, filterItems: filterItemCollection }),
                contentType: 'application/json; charset=utf-8',
                success: function (data) {
                    var filteredData = _.filter(data.SearchResults, function (item) { return item.Name.toLowerCase().indexOf(query.toLowerCase()) > -1 });
                    callback.call(this, filteredData);
                }
            });
        }
    });
}

function InitTimelineMentionsInput(control, callback) {
    $(control).mentionsInput({
        onDataRequest: function (mode, query, callback, filterItemCollection) {
            filterItemCollection = UnpackFilterItemList(filterItemCollection);
            $.ajax({
                type: "POST",
                datatype: 'json',
                url: "/InteractV7/Search/MentionSearch",
                data: JSON.stringify({ query: query, filterItems: filterItemCollection }),
                contentType: 'application/json; charset=utf-8',
				success: function (data) {

                    var filteredData = data.SearchResults;
                    var docHeight = $(document).height();
                    callback.call(this, filteredData, docHeight);
                }
            });
        },
        onInitialInputFocus: function () {
            callback.call();
        }
    });
}

// Some items in in the filterItemCollection may be multiple comma separated types.
// This function extracts them into individual items in a single list.
function UnpackFilterItemList(filterItemCollection) {
	var fullList = [];
	for (var i = 0; i < filterItemCollection.length; i++) {
		var splitItems = filterItemCollection[i].split(',');
		fullList.push.apply(fullList, splitItems);
	}
	return fullList;
}

function ParseMentionsOutput(txt) {
    var wrapper = _.template('<div class="status-output-item"><%= contents%></div>'),
        regExp = new RegExp(/@\[(.*?)\]\(([a-zA-Z]*?)\:(\d*?)\)/gi);

    var outputContents = txt.replace(regExp, function (fullText, $1, $2, $3) {
        var prependUrl = '';

        switch ($2) {
            case 'Person':
                prependUrl = '/Interact/Pages/Modules/Directory/Entry.aspx?person=';
                break;

            default:
                break;
        }

		return '<a data-personid="' + $3 + '" ' + 'href="' + prependUrl + $3 + '  target="_blank">' + $1 + '</a>';
    });

    var reNewLines = /[\n\r]/g;

    outputContents = outputContents.replace(reNewLines, '<br />');

    return outputContents;
};
/**
 * Timeago is a jQuery plugin that makes it easy to support automatically
 * updating fuzzy timestamps (e.g. "4 minutes ago" or "about 1 day ago").
 *
 * @name timeago
 * @version 1.3.0
 * @requires jQuery v1.2.3+
 * @author Ryan McGeary
 * @license MIT License - http://www.opensource.org/licenses/mit-license.php
 *
 * For usage and examples, visit:
 * http://timeago.yarp.com/
 *
 * Copyright (c) 2008-2013, Ryan McGeary (ryan -[at]- mcgeary [*dot*] org)
 * 
 * ----------------------------------------------
 * UPDATED from original library internally: DP 2020
 * [JIRA] NEU-14206 / NEU-14195
 * > Added comparisonDate property
 * > Added check in distance to use comparisonDate property
 * ----------------------------------------------
 */

(function (factory) {
	if (typeof define === 'function' && define.amd) {
		// AMD. Register as an anonymous module.
		define(['jquery'], factory);
	} else {
		// Browser globals
		factory(jQuery);
	}
}(function ($) {
	$.timeago = function (timestamp) {
		if (timestamp instanceof Date) {
			return inWords(timestamp);
		} else if (typeof timestamp === "string") {
			return inWords($.timeago.parse(timestamp));
		} else if (typeof timestamp === "number") {
			return inWords(new Date(timestamp));
		} else {
			return inWords($.timeago.datetime(timestamp));
		}
	};
	var $t = $.timeago;

	$.extend($.timeago, {
		settings: {
			refreshMillis: 60000,
			allowFuture: false,
			localeTitle: false,
			cutoff: 0,
			comparisonDate: null,
			strings: {
				prefixAgo: null,
				prefixFromNow: null,
				suffixAgo: "ago",
				suffixFromNow: "from now",
				seconds: "less than a minute",
				minute: "a minute",
				minutes: "%d minutes",
				hour: "an hour",
				hours: "%d hours",
				day: "a day",
				days: "%d days",
				mnth: "a month",
				months: "%d months",
				year: "a year",
				years: "%d years",
				wordSeparator: " ",
				numbers: [],
				userTimezone: 0,
				userCulture: "en-GB",				
			}
		},
		inWords: function (distanceMillis) {
			var $l = this.settings.strings;
			var prefix = $l.prefixAgo;
			var suffix = $l.suffixAgo;
			if (this.settings.allowFuture) {
				if (distanceMillis < 0) {
					prefix = $l.prefixFromNow;
					suffix = $l.suffixFromNow;
				}
			}

			var seconds = Math.abs(distanceMillis) / 1000;
			var minutes = seconds / 60;
			var hours = minutes / 60;
			var days = hours / 24;
			var years = days / 365;

			function substitute(stringOrFunction, number) {
				var string = $.isFunction(stringOrFunction) ? stringOrFunction(number, distanceMillis) : stringOrFunction;
				var value = ($l.numbers && $l.numbers[number]) || number;
				return string.replace(/%d/i, value);
			}

			var words = seconds < 45 && substitute($l.seconds, Math.round(seconds)) ||
				seconds < 90 && substitute($l.minute, 1) ||
				minutes < 45 && substitute($l.minutes, Math.round(minutes)) ||
				minutes < 90 && substitute($l.hour, 1) ||
				hours < 24 && substitute($l.hours, Math.round(hours)) ||
				hours < 42 && substitute($l.day, 1) ||
				days < 30 && substitute($l.days, Math.round(days)) ||
				days < 45 && substitute($l.mnth, 1) ||
				days < 365 && substitute($l.months, Math.round(days / 30)) ||
				years < 1.5 && substitute($l.year, 1) ||
				substitute($l.years, Math.round(years));

			var separator = $l.wordSeparator || "";
			if ($l.wordSeparator === undefined) {
				separator = " ";
			}
			return $.trim([prefix, words, suffix].join(separator));
		},
		parse: function (iso8601) {
			var s = $.trim(iso8601);
			s = s.replace(/\.\d+/, ""); // remove milliseconds
			s = s.replace(/-/, "/").replace(/-/, "/");
			s = s.replace(/T/, " ").replace(/Z/, " UTC");
			s = s.replace(/([\+\-]\d\d)\:?(\d\d)/, ""); // -04:00 -> -0400
			return new Date(s);
		},
		datetime: function (elem) {
			var iso8601 = $t.isTime(elem) ? $(elem).attr("datetime") : $(elem).attr("title");
			return $t.parse(iso8601);
		},
		isTime: function (elem) {
			// jQuery's `is()` doesn't play well with HTML5 in IE
			return $(elem).get(0).tagName.toLowerCase() === "time"; // $(elem).is("time");
		},
		userTimezone: function () {
			return this.settings.strings.userTimezone;
		},
		userCulture: function () {
			return this.settings.strings.userCulture;
		}
	});

	// functions that can be called via $(el).timeago('action')
	// init is default when no action is given
	// functions are called with context of a single element
	var functions = {
		init: function () {
			var refresh_el = $.proxy(refresh, this);
			var $s = $t.settings;
			if ($s.refreshMillis > 0) {
				setInterval(refresh_el, $s.refreshMillis, [false]);
			}

			// DP: [JIRA] NEU-14669
			// True param will only hit on init so we don't do the 
			// adding of time interval sine our comparisonTime
			refresh_el(true);
		},
		update: function (time) {
			$(this).data('timeago', { datetime: $t.parse(time) });
			var refresh_el = $.proxy(refresh, this);
			refresh_el(false);
		},
		updateFromDOM: function () {
			$(this).data('timeago', { datetime: $t.parse($t.isTime(this) ? $(this).attr("datetime") : $(this).attr("title")) });
			var refresh_el = $.proxy(refresh, this);
			refresh_el(false);
		}
	};

	$.fn.timeago = function (action, options) {

		var fn = action ? functions[action] : functions.init;
		if (!fn) {
			throw new Error("Unknown function name '" + action + "' for timeago");
		}
		// each over objects here and call the requested function
		this.each(function () {
			if ($(this).attr("datetime")) {
				// wrap the application of the timeago functionality so it only applies
				// when given the datetime attribute (in keeping with pre-Vue implementation)
				fn.call(this, options);
			}
		});
		return this;
	};

	// DP: [JIRA] NEU-14669
	// isInit will be true set on init / undefined / falsy otherwise
	// adding of interval on init
	function refresh(isInit) {

		// needs to be sent to the distance function if present for the calc
		// is an optional parameter in the inWords and distance methods
		// that account for empty / falsey vars
		var serverDate = '';

		// so that we have a 'per-instance' comparison date with increases in polling
		// we can store it as an attribute on the element (as JSON date string)
		// first check to see if the attribute value is there / has a date
		// if not, set it
		if (!$(this).attr('data-comparison-date')) {
			$(this).attr('data-comparison-date', new Date($t.settings.comparisonDate).toJSON());
		}

		// check the datetime string attribute - is it in an 'unambiguous' format?
		// let's change it if not
		if ($(this).attr('datetime')) {
			datestring = $(this).attr('datetime');
			datestring = datetimeStringAmbiguityConverter(datestring);
			$(this).attr('datetime', datestring);
		}

		// on refresh, add the milliseconds to the comparisonDate if we have one
		// that way we can get an updated read on the friendly string
		if (!isInit && $t.settings.comparisonDate) {
			serverDate = updateComparisonDate(this);
		} else {
			serverDate = $t.settings.comparisonDate;
		}

		var data = prepareData(this);
		var $s = $t.settings;

		if (!isNaN(data.datetime)) {
			if ($s.cutoff == 0 || distance(data.datetime, serverDate) < $s.cutoff) {
				$(this).text(inWords(data.datetime, serverDate));
			}
		}
		return this;
	}

	// This verbosely named method has the job of adding our refresh time 
	// on to the comparison snapshot date / time - that way if we leave the 
	// UI running, the 'time ago' readout should update
	// assumes called with the timeago DOM element
	// returns the formatted date string for 'distance' recalculation
	function updateComparisonDate(element) {		

		// get the attribute value as Date object
		var serverDate = new Date($(element).attr('data-comparison-date'));

		// add the refresh milliseconds
		serverDate.setTime(serverDate.getTime() + $t.settings.refreshMillis);

		// now re-save it as a JSON date string (ensures correct retrieval)
		// and store on the attribute
		serverDateAttribute = new Date(serverDate).toJSON();

		// LR: Write the updated server date back to the comparison date attribute on the element
		$(element).attr('data-comparison-date', serverDateAttribute);

		return serverDateAttribute;
	}

	function prepareData(element) {
		element = $(element);
		if (!element.data("timeago")) {
			element.data("timeago", { datetime: $t.datetime(element) });
			var text = $.trim(element.text());
			if ($t.settings.localeTitle) {
				element.attr("title", element.data('timeago').datetime.toLocaleString());
			} else if (text.length > 0 && !($t.isTime(element) && element.attr("title"))) {
				element.attr("title", text);
			}			

			var convertedDate = new Date(element.data('timeago').datetime.getTime() + ($t.settings.strings.userTimezone * 60000));

			// don't apply the calculation for userTimezone if marked as pre-shifted
			// works for Event displays
			if ($(element).attr("preshifted")) {
				convertedDate = new Date(element.data('timeago').datetime);
			}

			element.attr("title", formatDateForValue(convertedDate, $t.settings.strings.userCulture));
		}
		return element.data("timeago");
	}

	// added updatedComparisonDate as optional parameter 
	// so it can be compared against if needed
	function inWords(date, updatedComparisonDate) {
		return $t.inWords(distance(date, updatedComparisonDate));
	}

	// added updatedComparisonDate as optional parameter 
	// so it can be compared against if needed
	function distance(date, updatedComparisonDate) {
		
		// have we stored a comparison date on the attribute first and updated it?  
		// If so, use it, if not, use the initial setting
		var comparisonDate = updatedComparisonDate ? updatedComparisonDate : $t.settings.comparisonDate;

		// if we have sent a comparison date (hence falsey check) then we use that
		// otherwise we use 'now' (default behaviour)
		var now = comparisonDate ? new Date(comparisonDate) : new Date();

		var nowUtc = new Date(now.getUTCFullYear(),
			now.getUTCMonth(),
			now.getUTCDate(),
			now.getUTCHours(),
			now.getUTCMinutes(),
			now.getUTCSeconds());

		return (nowUtc.getTime() - date.getTime());
	}

	function formatDateForValue(dt, culture) {
		var result;
		var yyyy = dt.getFullYear().toString();
		var mm = (dt.getMonth() + 1).toString();
		var dd = dt.getDate().toString();
		if (culture == "en-GB") {
			var hh = dt.getHours().toString();
			var min = dt.getMinutes().toString();
			result = ((dd[1] ? dd : "0" + dd[0]) + '/' + (mm[1] ? mm : "0" + mm[0]) + '/' + yyyy + " " + (hh[1] ? hh : "0" + hh[0]) + ":" + (min[1] ? min : "0" + min[0]));
		}
		else {
			var hours = dt.getHours();
			var minutes = dt.getMinutes();
			var ampm = hours >= 12 ? 'PM' : 'AM';
			hours = hours % 12;
			hours = hours ? hours : 12; // the hour '0' should be '12'
			minutes = minutes < 10 ? '0' + minutes : minutes;
			var strTime = hours + ':' + minutes + ' ' + ampm;
			result = (mm[1] ? mm : "0" + mm[0]) + '/' + (dd[1] ? dd : "0" + dd[0]) + '/' + yyyy + " " + strTime;
		}

		return result;
	}

	// DP: Restructure the JS time string to turn the 'ambiguous'
	// to the 'unambiguous' (strip the Z and add a TZ adjustment)
	// (assumes we are getting date strings in valid formats)
	function datetimeStringAmbiguityConverter(dateString) {

		// falsy check
		if (!dateString)
			return;

		// is there a Z? 
		if (dateString.toLowerCase().indexOf('z') > -1) {

			//  If so, strip it and all to the right of it
			dateString = dateString.substring(0, dateString.toLowerCase().indexOf('z'));
		}

		// if we don't have a timezone adjustment suffix, add one
		// (RegEx matches valid tz adjustment strings)
		const tzAdjustmentRegEx = /(?:[+-](?:2[0-3]|[01][0-9]):[0-5][0-9])/;
		if (!dateString.match(tzAdjustmentRegEx)) {
			dateString += '+00:00';
		}

		return dateString;

	}

	// fix for IE6 suckage
	document.createElement("abbr");
	document.createElement("time");
}));;
(function (jQuery) {

    var daysInWeek = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
    var shortMonthsInYear = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
    var longMonthsInYear = ["January", "February", "March", "April", "May", "June",
                                                    "July", "August", "September", "October", "November", "December"];
    var shortMonthsToNumber = [];
    shortMonthsToNumber["Jan"] = "01";
    shortMonthsToNumber["Feb"] = "02";
    shortMonthsToNumber["Mar"] = "03";
    shortMonthsToNumber["Apr"] = "04";
    shortMonthsToNumber["May"] = "05";
    shortMonthsToNumber["Jun"] = "06";
    shortMonthsToNumber["Jul"] = "07";
    shortMonthsToNumber["Aug"] = "08";
    shortMonthsToNumber["Sep"] = "09";
    shortMonthsToNumber["Oct"] = "10";
    shortMonthsToNumber["Nov"] = "11";
    shortMonthsToNumber["Dec"] = "12";

    jQuery.format = (function () {
        function strDay(value) {
            return daysInWeek[parseInt(value, 10)] || value;
        }

        function strMonth(value) {
            var monthArrayIndex = parseInt(value, 10) - 1;
            return shortMonthsInYear[monthArrayIndex] || value;
        }

        function strLongMonth(value) {
            var monthArrayIndex = parseInt(value, 10) - 1;
            return longMonthsInYear[monthArrayIndex] || value;
        }

        var parseMonth = function (value) {
            return shortMonthsToNumber[value] || value;
        };

        var parseTime = function (value) {
            var retValue = value;
            var millis = "";
            if (retValue.indexOf(".") !== -1) {
                var delimited = retValue.split('.');
                retValue = delimited[0];
                millis = delimited[1];
            }

            var values3 = retValue.split(":");

            if (values3.length === 3) {
                hour = values3[0];
                minute = values3[1];
                second = values3[2];

                return {
                    time: retValue,
                    hour: hour,
                    minute: minute,
                    second: second,
                    millis: millis
                };
            } else {
                return {
                    time: "",
                    hour: "",
                    minute: "",
                    second: "",
                    millis: ""
                };
            }
        };

        return {
            date: function (value, format) {
                /*
					value = new java.util.Date()
                 	2009-12-18 10:54:50.546
				*/
                try {
                    var date = null;
                    var year = null;
                    var month = null;
                    var dayOfMonth = null;
                    var dayOfWeek = null;
                    var time = null;
                    if (typeof value == "number") {
                        return this.date(new Date(value), format);
                    } else if (typeof value.getFullYear == "function") {
                        year = value.getFullYear();
                        month = value.getMonth() + 1;
                        dayOfMonth = value.getDate();
                        dayOfWeek = value.getDay();
                        time = parseTime(value.toTimeString());
                    } else if (value.search(/\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.?\d{0,3}[Z\-+]?(\d{2}:?\d{2})?/) != -1) {
                        /* 2009-04-19T16:11:05+02:00 || 2009-04-19T16:11:05Z */
                        var values = value.split(/[T\+-]/);
                        year = values[0];
                        month = values[1];
                        dayOfMonth = values[2];
                        time = parseTime(values[3].split(".")[0]);
                        date = new Date(year, month - 1, dayOfMonth);
                        dayOfWeek = date.getDay();
                    } else {
                        var values = value.split(" ");
                        switch (values.length) {
                            case 6:
                                /* Wed Jan 13 10:43:41 CET 2010 */
                                year = values[5];
                                month = parseMonth(values[1]);
                                dayOfMonth = values[2];
                                time = parseTime(values[3]);
                                date = new Date(year, month - 1, dayOfMonth);
                                dayOfWeek = date.getDay();
                                break;
                            case 2:
                                /* 2009-12-18 10:54:50.546 */
                                var values2 = values[0].split("-");
                                year = values2[0];
                                month = values2[1];
                                dayOfMonth = values2[2];
                                time = parseTime(values[1]);
                                date = new Date(year, month - 1, dayOfMonth);
                                dayOfWeek = date.getDay();
                                break;
                            case 7:
                                /* Tue Mar 01 2011 12:01:42 GMT-0800 (PST) */
                            case 9:
                                /*added by Larry, for Fri Apr 08 2011 00:00:00 GMT+0800 (China Standard Time) */
                            case 10:
                                /* added by Larry, for Fri Apr 08 2011 00:00:00 GMT+0200 (W. Europe Daylight Time) */
                                year = values[3];
                                month = parseMonth(values[1]);
                                dayOfMonth = values[2];
                                time = parseTime(values[4]);
                                date = new Date(year, month - 1, dayOfMonth);
                                dayOfWeek = date.getDay();
                                break;
                            case 1:
                                /* added by Jonny, for 2012-02-07CET00:00:00 (Doctrine Entity -> Json Serializer) */
                                var values2 = values[0].split("");
                                year = values2[0] + values2[1] + values2[2] + values2[3];
                                month = values2[5] + values2[6];
                                dayOfMonth = values2[8] + values2[9];
                                time = parseTime(values2[13] + values2[14] + values2[15] + values2[16] + values2[17] + values2[18] + values2[19] + values2[20])
                                date = new Date(year, month - 1, dayOfMonth);
                                dayOfWeek = date.getDay();
                                break;
                            default:
                                return value;
                        }
                    }

                    var pattern = "";
                    var retValue = "";
                    var unparsedRest = "";
                    /*
						Issue 1 - variable scope issue in format.date
                    	Thanks jakemonO
					*/
                    for (var i = 0; i < format.length; i++) {
                        var currentPattern = format.charAt(i);
                        pattern += currentPattern;
                        unparsedRest = "";
                        switch (pattern) {
                            case "dddd":
                                var suffix = "";
                                if (String(dayOfMonth).length === 1) {
                                    dayOfMonth = '0' + dayOfMonth;
                                }
                                switch (dayOfMonth) {
                                    case '01': case '21': case '31': suffix = 'st'; break;
                                    case '02': case '22': suffix = 'nd'; break;
                                    case '03': case '23': suffix = 'rd'; break;
                                    default: suffix = 'th';
                                }
                                retValue += parseInt(dayOfMonth, 10).toString() + suffix;
                                pattern = "";
                                break;
                            case "ddd":
                                if (format.charAt(i + 1) == "d") {
                                    break;
                                }
                                retValue += strDay(dayOfWeek);
                                pattern = "";
                                break;
                            case "dd":
                                if (format.charAt(i + 1) == "d") {
                                    break;
                                }
                                if (String(dayOfMonth).length === 1) {
                                    dayOfMonth = '0' + dayOfMonth;
                                }
                                retValue += dayOfMonth;
                                pattern = "";
                                break;
                            case "d":
                                if (format.charAt(i + 1) == "d") {
                                    break;
                                }
                                retValue += parseInt(dayOfMonth, 10);
                                pattern = "";
                                break;
                            case "MMMM":
                                retValue += strLongMonth(month);
                                pattern = "";
                                break;
                            case "MMM":
                                if (format.charAt(i + 1) === "M") {
                                    break;
                                }
                                retValue += strMonth(month);
                                pattern = "";
                                break;
                            case "MM":
                                if (format.charAt(i + 1) == "M") {
                                    break;
                                }
                                if (String(month).length === 1) {
                                    month = '0' + month;
                                }
                                retValue += month;
                                pattern = "";
                                break;
                            case "M":
                                if (format.charAt(i + 1) == "M") {
                                    break;
                                }
                                retValue += parseInt(month, 10);
                                pattern = "";
                                break;
                            case "y":
                            case "yyy":
                                if (format.charAt(i + 1) == "y") {
                                    break;
                                }
                                retValue += pattern;
                                pattern = "";
                                break;
                            case "yy":
                                if (format.charAt(i + 1) == "y" &&
                                format.charAt(i + 2) == "y") {
                                    break;
                                }
                                retValue += String(year).slice(-2);
                                pattern = "";
                                break;
                            case "yyyy":
                                retValue += year;
                                pattern = "";
                                break;
                            case "H":
                                if (format.charAt(i + 1) == "H") {
                                    break;
                                }
                                retValue += pattern;
                                pattern = "";
                                break;
                            case "HH":
                                retValue += time.hour;
                                pattern = "";
                                break;
                            case "hh":
                                /* time.hour is "00" as string == is used instead of === */
                                var hour = (time.hour == 0 ? 12 : time.hour < 13 ? time.hour : time.hour - 12);
                                hour = String(hour).length == 1 ? '0' + hour : hour;
                                retValue += hour;
                                pattern = "";
                                break;
                            case "h":
                                if (format.charAt(i + 1) == "h") {
                                    break;
                                }
                                var hour = (time.hour == 0 ? 12 : time.hour < 13 ? time.hour : time.hour - 12);
                                retValue += parseInt(hour, 10);
                                // Fixing issue https://github.com/phstc/jquery-dateFormat/issues/21
                                // retValue = parseInt(retValue, 10);
                                pattern = "";
                                break;
                            case "m":
                                if (format.charAt(i + 1) == "m") {
                                    break;
                                }
                                retValue += pattern;
                                pattern = "";
                                break;
                            case "mm":
                                retValue += time.minute;
                                pattern = "";
                                break;
                            case "s":
                                if (format.charAt(i + 1) == "s") {
                                    break;
                                }
                                retValue += pattern;
                                pattern = "";
                                break;
                            case "ss":
                                /* ensure only seconds are added to the return string */
                                retValue += time.second.substring(0, 2);
                                pattern = "";
                                break;
                            case "S":
                            case "SS":
                                if (format.charAt(i + 1) == "S") {
                                    break;
                                }
                                retValue += pattern;
                                pattern = "";
                                break;
                            case "SSS":
                                retValue += time.millis.substring(0, 3);
                                pattern = "";
                                break;
                            case "a":
                                if (format.charAt(i + 1) == "a") {
                                    break;
                                }
                                retValue += time.hour >= 12 ? "PM" : "AM";
                                pattern = "";
                                break;
                            case "aa": 
                                retValue += time.hour >= 12 ? "pm" : "am";
                                pattern = "";
                                break;
                            default:
                                retValue += currentPattern;
                                pattern = "";
                                break;
                        }
                    }
                    retValue += unparsedRest;
                    return retValue;
                } catch (e) {
                    log(e);
                    return value;
                }
            }
        };
    }());
}(jQuery));

jQuery.format.date.defaultShortDateFormat = "dd/MM/yyyy";
jQuery.format.date.defaultLongDateFormat = "dd/MM/yyyy hh:mm:ss";

jQuery(document).ready(function () {
    jQuery(".shortDateFormat").each(function (idx, elem) {
        if (jQuery(elem).is(":input")) {
            jQuery(elem).val(jQuery.format.date(jQuery(elem).val(), jQuery.format.date.defaultShortDateFormat));
        } else {
            jQuery(elem).text(jQuery.format.date(jQuery(elem).text(), jQuery.format.date.defaultShortDateFormat));
        }
    });
    jQuery(".longDateFormat").each(function (idx, elem) {
        if (jQuery(elem).is(":input")) {
            jQuery(elem).val(jQuery.format.date(jQuery(elem).val(), jQuery.format.date.defaultLongDateFormat));
        } else {
            jQuery(elem).text(jQuery.format.date(jQuery(elem).text(), jQuery.format.date.defaultLongDateFormat));
        }
    });
});;
/*!
 * jQuery Cookie Plugin v1.3.1
 * https://github.com/carhartl/jquery-cookie
 *
 * Copyright 2013 Klaus Hartl
 * Released under the MIT license
 */
(function (factory) {
    if (typeof define === 'function' && define.amd && define.amd.jQuery) {
        // AMD. Register as anonymous module.
        define(['jquery'], factory);
    } else {
        // Browser globals.
        factory(jQuery);
    }
}(function ($) {

    var pluses = /\+/g;

    function raw(s) {
        return s;
    }

    function decoded(s) {
        return decodeURIComponent(s.replace(pluses, ' '));
    }

    function converted(s) {
        if (s.indexOf('"') === 0) {
            // This is a quoted cookie as according to RFC2068, unescape
            s = s.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, '\\');
        }
        try {
            return config.json ? JSON.parse(s) : s;
        } catch (er) { }
    }

    var config = $.cookie = function (key, value, options) {

        // write
        if (value !== undefined) {
            options = $.extend({}, config.defaults, options);

            if (typeof options.expires === 'number') {
                var days = options.expires, t = options.expires = new Date();
                t.setDate(t.getDate() + days);
            }

            value = config.json ? JSON.stringify(value) : String(value);

            return (document.cookie = [
				encodeURIComponent(key), '=', config.raw ? value : encodeURIComponent(value),
				options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE
				options.path ? '; path=' + options.path : '',
				options.domain ? '; domain=' + options.domain : '',
				options.secure ? '; secure' : ''
            ].join(''));
        }

        // read
        var decode = config.raw ? raw : decoded;
        var cookies = document.cookie.split('; ');
        var result = key ? undefined : {};
        for (var i = 0, l = cookies.length; i < l; i++) {
            var parts = cookies[i].split('=');
            var name = decode(parts.shift());
            var cookie = decode(parts.join('='));

            if (key && key === name) {
                result = converted(cookie);
                break;
            }

            if (!key) {
                result[name] = converted(cookie);
            }
        }

        return result;
    };

    config.defaults = {};

    $.removeCookie = function (key, options) {
        if ($.cookie(key) !== undefined) {
            $.cookie(key, '', $.extend(options, { expires: -1 }));
            return true;
        }
        return false;
    };

}));;
(function(n,t){typeof exports=="object"?module.exports=t():typeof define=="function"&&define.amd?define(t):n.Spinner=t()})(this,function(){"use strict";function r(n,t){var r=document.createElement(n||"div"),i;for(i in t)r[i]=t[i];return r}function t(n){for(var t=1,i=arguments.length;t<i;t++)n.appendChild(arguments[t]);return n}function a(n,t,i,r){var f=["opacity",t,~~(n*100),i,r].join("-"),o=.01+i/r*100,s=Math.max(1-(1-n)/t*(100-o),n),c=u.substring(0,u.indexOf("Animation")).toLowerCase(),l=c&&"-"+c+"-"||"";return h[f]||(e.insertRule("@"+l+"keyframes "+f+"{0%{opacity:"+s+"}"+o+"%{opacity:"+n+"}"+(o+.01)+"%{opacity:1}"+(o+t)%100+"%{opacity:"+n+"}100%{opacity:"+s+"}}",e.cssRules.length),h[f]=1),f}function o(n,t){var u=n.style,r,i;if(u[t]!==undefined)return t;for(t=t.charAt(0).toUpperCase()+t.slice(1),i=0;i<s.length;i++)if(r=s[i]+t,u[r]!==undefined)return r}function n(n,t){for(var i in t)n.style[o(n,i)||i]=t[i];return n}function c(n){for(var r,i,t=1;t<arguments.length;t++){r=arguments[t];for(i in r)n[i]===undefined&&(n[i]=r[i])}return n}function l(n){for(var t={x:n.offsetLeft,y:n.offsetTop};n=n.offsetParent;)t.x+=n.offsetLeft,t.y+=n.offsetTop;return t}function i(n){if(typeof this=="undefined")return new i(n);this.opts=c(n||{},i.defaults,v)}function y(){function u(n,t){return r("<"+n+' xmlns="urn:schemas-microsoft.com:vml" class="spin-vml">',t)}e.addRule(".spin-vml","behavior:url(#default#VML)"),i.prototype.lines=function(i,r){function s(){return n(u("group",{coordsize:o+" "+o,coordorigin:-e+" "+-e}),{width:o,height:o})}function l(i,f,o){t(c,t(n(s(),{rotation:360/r.lines*i+"deg",left:~~f}),t(n(u("roundrect",{arcsize:r.corners}),{width:e,height:r.width,left:r.radius,top:-r.width>>1,filter:o}),u("fill",{color:r.color,opacity:r.opacity}),u("stroke",{opacity:0}))))}var e=r.length+r.width,o=2*e,h=-(r.width+r.length)*2+"px",c=n(s(),{position:"absolute",top:h,left:h}),f;if(r.shadow)for(f=1;f<=r.lines;f++)l(f,-2,"progid:DXImageTransform.Microsoft.Blur(pixelradius=2,makeshadow=1,shadowopacity=.3)");for(f=1;f<=r.lines;f++)l(f);return t(i,c)},i.prototype.opacity=function(n,t,i,r){var u=n.firstChild;r=r.shadow&&r.lines||0,u&&t+r<u.childNodes.length&&(u=u.childNodes[t+r],u=u&&u.firstChild,u=u&&u.firstChild,u&&(u.opacity=i))}}var s=["webkit","Moz","ms","O"],h={},u,e=function(){var n=r("style",{type:"text/css"});return t(document.getElementsByTagName("head")[0],n),n.sheet||n.styleSheet}(),v={lines:13,length:0,width:2,radius:10,rotate:0,corners:1,color:"#000",direction:1,speed:1.4,trail:75,opacity:1/4,fps:20,zIndex:2e9,className:"spinner",top:"auto",left:"auto",position:"relative"},f;return i.defaults={},c(i.prototype,{spin:function(t){this.stop();var f=this,i=f.opts,e=f.el=n(r(0,{className:i.className}),{position:i.position,width:0,zIndex:i.zIndex}),c=i.radius+i.length+i.width,o,s;if(t&&(t.insertBefore(e,t.firstChild||null),s=l(t),o=l(e),n(e,{left:(i.left=="auto"?s.x-o.x+(t.offsetWidth>>1):parseInt(i.left,10)+c)+"px",top:(i.top=="auto"?s.y-o.y+(t.offsetHeight>>1):parseInt(i.top,10)+c)+"px"})),e.setAttribute("role","progressbar"),f.lines(e,f.opts),!u){var a=0,p=(i.lines-1)*(1-i.direction)/2,v,y=i.fps,h=y/i.speed,w=(1-i.opacity)/(h*i.trail/100),b=h/i.lines;(function k(){a++;for(var n=0;n<i.lines;n++)v=Math.max(1-(a+(i.lines-n)*b)%h*w,i.opacity),f.opacity(e,n*i.direction+p,v,i);f.timeout=f.el&&setTimeout(k,~~(1e3/y))})()}return f},stop:function(){var n=this.el;return n&&(clearTimeout(this.timeout),n.parentNode&&n.parentNode.removeChild(n),this.el=undefined),this},lines:function(i,f){function s(t,i){return n(r(),{position:"absolute",width:f.length+f.width+"px",height:f.width+"px",background:t,boxShadow:i,transformOrigin:"left",transform:"rotate("+~~(360/f.lines*e+f.rotate)+"deg) translate("+f.radius+"px,0)",borderRadius:(f.corners*f.width>>1)+"px"})}for(var e=0,h=(f.lines-1)*(1-f.direction)/2,o;e<f.lines;e++)o=n(r(),{position:"absolute",top:1+~(f.width/2)+"px",transform:f.hwaccel?"translate3d(0,0,0)":"",opacity:f.opacity,animation:u&&a(f.opacity,f.trail,h+e*f.direction,f.lines)+" "+1/f.speed+"s linear infinite"}),f.shadow&&t(o,n(s("#000","0 0 4px #000"),{top:"2px"})),t(i,t(o,s(f.color,"0 0 1px rgba(0,0,0,.1)")));return i},opacity:function(n,t,i){t<n.childNodes.length&&(n.childNodes[t].style.opacity=i)}}),f=n(r("group"),{behavior:"url(#default#VML)"}),!o(f,"transform")&&f.adj?y():u=o(f,"animation"),i});
/**
 * Copyright (c) 2011-2013 Felix Gnass
 * Licensed under the MIT license
 */

/*

Basic Usage:
============

$('#el').spin(); // Creates a default Spinner using the text color of #el.
$('#el').spin({ ... }); // Creates a Spinner using the provided options.

$('#el').spin(false); // Stops and removes the spinner.

Using Presets:
==============

$('#el').spin('small'); // Creates a 'small' Spinner using the text color of #el.
$('#el').spin('large', '#fff'); // Creates a 'large' white Spinner.

Adding a custom preset:
=======================

$.fn.spin.presets.flower = {
  lines: 9
  length: 10
  width: 20
  radius: 0
}

$('#el').spin('flower', 'red');

*/

(function(factory) {

  if (typeof exports == 'object') {
    // CommonJS
    factory(require('jquery'), require('spin'))
  }
  else if (typeof define == 'function' && define.amd) {
    // AMD, register as anonymous module
    define(['jquery', 'spin'], factory)
  }
  else {
    // Browser globals
    if (!window.Spinner) throw new Error('Spin.js not present')
    factory(window.jQuery, window.Spinner)
  }

}(function($, Spinner) {

  $.fn.spin = function(opts, color) {

    return this.each(function() {
      var $this = $(this),
        data = $this.data();

      if (data.spinner) {
        data.spinner.stop();
        delete data.spinner;
      }
      if (opts !== false) {
        opts = $.extend(
          { color: color || $this.css('color') },
          $.fn.spin.presets[opts] || opts
        )
        data.spinner = new Spinner(opts).spin(this)
      }
    })
  }

  $.fn.spin.presets = {
    tiny: { lines: 8, length: 2, width: 2, radius: 3 },
    small: { lines: 8, length: 4, width: 3, radius: 5 },
    large: { lines: 10, length: 8, width: 4, radius: 8 }
  }

}));
;
/*
 Highcharts JS v3.0.5 (2013-08-23)

 (c) 2009-2013 Torstein Hønsi

 License: www.highcharts.com/license
*/
(function(){function s(a,b){var c;a||(a={});for(c in b)a[c]=b[c];return a}function x(){var a,b=arguments.length,c={},d=function(a,b){var c,h;typeof a!=="object"&&(a={});for(h in b)b.hasOwnProperty(h)&&(c=b[h],a[h]=c&&typeof c==="object"&&Object.prototype.toString.call(c)!=="[object Array]"&&typeof c.nodeType!=="number"?d(a[h]||{},c):b[h]);return a};for(a=0;a<b;a++)c=d(c,arguments[a]);return c}function A(a,b){return parseInt(a,b||10)}function ea(a){return typeof a==="string"}function T(a){return typeof a===
"object"}function Ha(a){return Object.prototype.toString.call(a)==="[object Array]"}function qa(a){return typeof a==="number"}function na(a){return R.log(a)/R.LN10}function fa(a){return R.pow(10,a)}function ga(a,b){for(var c=a.length;c--;)if(a[c]===b){a.splice(c,1);break}}function t(a){return a!==v&&a!==null}function w(a,b,c){var d,e;if(ea(b))t(c)?a.setAttribute(b,c):a&&a.getAttribute&&(e=a.getAttribute(b));else if(t(b)&&T(b))for(d in b)a.setAttribute(d,b[d]);return e}function ia(a){return Ha(a)?
a:[a]}function p(){var a=arguments,b,c,d=a.length;for(b=0;b<d;b++)if(c=a[b],typeof c!=="undefined"&&c!==null)return c}function L(a,b){if(ra&&b&&b.opacity!==v)b.filter="alpha(opacity="+b.opacity*100+")";s(a.style,b)}function U(a,b,c,d,e){a=z.createElement(a);b&&s(a,b);e&&L(a,{padding:0,border:S,margin:0});c&&L(a,c);d&&d.appendChild(a);return a}function ha(a,b){var c=function(){};c.prototype=new a;s(c.prototype,b);return c}function za(a,b,c,d){var e=M.lang,a=+a||0,f=b===-1?(a.toString().split(".")[1]||
"").length:isNaN(b=O(b))?2:b,b=c===void 0?e.decimalPoint:c,d=d===void 0?e.thousandsSep:d,e=a<0?"-":"",c=String(A(a=O(a).toFixed(f))),g=c.length>3?c.length%3:0;return e+(g?c.substr(0,g)+d:"")+c.substr(g).replace(/(\d{3})(?=\d)/g,"$1"+d)+(f?b+O(a-c).toFixed(f).slice(2):"")}function Aa(a,b){return Array((b||2)+1-String(a).length).join(0)+a}function Bb(a,b,c){var d=a[b];a[b]=function(){var a=Array.prototype.slice.call(arguments);a.unshift(d);return c.apply(this,a)}}function Ba(a,b){for(var c="{",d=!1,
e,f,g,h,i,j=[];(c=a.indexOf(c))!==-1;){e=a.slice(0,c);if(d){f=e.split(":");g=f.shift().split(".");i=g.length;e=b;for(h=0;h<i;h++)e=e[g[h]];if(f.length)f=f.join(":"),g=/\.([0-9])/,h=M.lang,i=void 0,/f$/.test(f)?(i=(i=f.match(g))?i[1]:-1,e=za(e,i,h.decimalPoint,f.indexOf(",")>-1?h.thousandsSep:"")):e=Xa(f,e)}j.push(e);a=a.slice(c+1);c=(d=!d)?"}":"{"}j.push(a);return j.join("")}function lb(a){return R.pow(10,P(R.log(a)/R.LN10))}function mb(a,b,c,d){var e,c=p(c,1);e=a/c;b||(b=[1,2,2.5,5,10],d&&d.allowDecimals===
!1&&(c===1?b=[1,2,5,10]:c<=0.1&&(b=[1/c])));for(d=0;d<b.length;d++)if(a=b[d],e<=(b[d]+(b[d+1]||b[d]))/2)break;a*=c;return a}function Cb(a,b){var c=b||[[Db,[1,2,5,10,20,25,50,100,200,500]],[nb,[1,2,5,10,15,30]],[Ya,[1,2,5,10,15,30]],[Qa,[1,2,3,4,6,8,12]],[sa,[1,2]],[Za,[1,2]],[Ra,[1,2,3,4,6]],[ta,null]],d=c[c.length-1],e=H[d[0]],f=d[1],g;for(g=0;g<c.length;g++)if(d=c[g],e=H[d[0]],f=d[1],c[g+1]&&a<=(e*f[f.length-1]+H[c[g+1][0]])/2)break;e===H[ta]&&a<5*e&&(f=[1,2,5]);e===H[ta]&&a<5*e&&(f=[1,2,5]);c=
mb(a/e,f,d[0]===ta?lb(a/e):1);return{unitRange:e,count:c,unitName:d[0]}}function Eb(a,b,c,d){var e=[],f={},g=M.global.useUTC,h,i=new Date(b),j=a.unitRange,k=a.count;if(t(b)){j>=H[nb]&&(i.setMilliseconds(0),i.setSeconds(j>=H[Ya]?0:k*P(i.getSeconds()/k)));if(j>=H[Ya])i[Fb](j>=H[Qa]?0:k*P(i[ob]()/k));if(j>=H[Qa])i[Gb](j>=H[sa]?0:k*P(i[pb]()/k));if(j>=H[sa])i[qb](j>=H[Ra]?1:k*P(i[Sa]()/k));j>=H[Ra]&&(i[Hb](j>=H[ta]?0:k*P(i[$a]()/k)),h=i[ab]());j>=H[ta]&&(h-=h%k,i[Ib](h));if(j===H[Za])i[qb](i[Sa]()-i[rb]()+
p(d,1));b=1;h=i[ab]();for(var d=i.getTime(),l=i[$a](),m=i[Sa](),o=g?0:(864E5+i.getTimezoneOffset()*6E4)%864E5;d<c;)e.push(d),j===H[ta]?d=bb(h+b*k,0):j===H[Ra]?d=bb(h,l+b*k):!g&&(j===H[sa]||j===H[Za])?d=bb(h,l,m+b*k*(j===H[sa]?1:7)):d+=j*k,b++;e.push(d);n(sb(e,function(a){return j<=H[Qa]&&a%H[sa]===o}),function(a){f[a]=sa})}e.info=s(a,{higherRanks:f,totalRange:j*k});return e}function Jb(){this.symbol=this.color=0}function Kb(a,b){var c=a.length,d,e;for(e=0;e<c;e++)a[e].ss_i=e;a.sort(function(a,c){d=
b(a,c);return d===0?a.ss_i-c.ss_i:d});for(e=0;e<c;e++)delete a[e].ss_i}function Ia(a){for(var b=a.length,c=a[0];b--;)a[b]<c&&(c=a[b]);return c}function ua(a){for(var b=a.length,c=a[0];b--;)a[b]>c&&(c=a[b]);return c}function Ja(a,b){for(var c in a)a[c]&&a[c]!==b&&a[c].destroy&&a[c].destroy(),delete a[c]}function Ta(a){cb||(cb=U(Ca));a&&cb.appendChild(a);cb.innerHTML=""}function ja(a,b){var c="Highcharts error #"+a+": www.highcharts.com/errors/"+a;if(b)throw c;else N.console&&console.log(c)}function ka(a){return parseFloat(a.toPrecision(14))}
function Ka(a,b){Da=p(a,b.animation)}function Lb(){var a=M.global.useUTC,b=a?"getUTC":"get",c=a?"setUTC":"set";bb=a?Date.UTC:function(a,b,c,g,h,i){return(new Date(a,b,p(c,1),p(g,0),p(h,0),p(i,0))).getTime()};ob=b+"Minutes";pb=b+"Hours";rb=b+"Day";Sa=b+"Date";$a=b+"Month";ab=b+"FullYear";Fb=c+"Minutes";Gb=c+"Hours";qb=c+"Date";Hb=c+"Month";Ib=c+"FullYear"}function va(){}function La(a,b,c,d){this.axis=a;this.pos=b;this.type=c||"";this.isNew=!0;!c&&!d&&this.addLabel()}function tb(a,b){this.axis=a;if(b)this.options=
b,this.id=b.id}function Mb(a,b,c,d,e,f){var g=a.chart.inverted;this.axis=a;this.isNegative=c;this.options=b;this.x=d;this.total=null;this.points={};this.stack=e;this.percent=f==="percent";this.alignOptions={align:b.align||(g?c?"left":"right":"center"),verticalAlign:b.verticalAlign||(g?"middle":c?"bottom":"top"),y:p(b.y,g?4:c?14:-6),x:p(b.x,g?c?-6:6:0)};this.textAlign=b.textAlign||(g?c?"right":"left":"center")}function db(){this.init.apply(this,arguments)}function ub(){this.init.apply(this,arguments)}
function vb(a,b){this.init(a,b)}function wb(a,b){this.init(a,b)}function xb(){this.init.apply(this,arguments)}var v,z=document,N=window,R=Math,u=R.round,P=R.floor,wa=R.ceil,r=R.max,C=R.min,O=R.abs,W=R.cos,ca=R.sin,Ma=R.PI,Ua=Ma*2/360,Ea=navigator.userAgent,Nb=N.opera,ra=/msie/i.test(Ea)&&!Nb,eb=z.documentMode===8,fb=/AppleWebKit/.test(Ea),gb=/Firefox/.test(Ea),Ob=/(Mobile|Android|Windows Phone)/.test(Ea),xa="http://www.w3.org/2000/svg",Z=!!z.createElementNS&&!!z.createElementNS(xa,"svg").createSVGRect,
Ub=gb&&parseInt(Ea.split("Firefox/")[1],10)<4,$=!Z&&!ra&&!!z.createElement("canvas").getContext,Va,hb=z.documentElement.ontouchstart!==v,Pb={},yb=0,cb,M,Xa,Da,zb,H,ya=function(){},Fa=[],Ca="div",S="none",Qb="rgba(192,192,192,"+(Z?1.0E-4:0.002)+")",Db="millisecond",nb="second",Ya="minute",Qa="hour",sa="day",Za="week",Ra="month",ta="year",Rb="stroke-width",bb,ob,pb,rb,Sa,$a,ab,Fb,Gb,qb,Hb,Ib,aa={};N.Highcharts=N.Highcharts?ja(16,!0):{};Xa=function(a,b,c){if(!t(b)||isNaN(b))return"Invalid date";var a=
p(a,"%Y-%m-%d %H:%M:%S"),d=new Date(b),e,f=d[pb](),g=d[rb](),h=d[Sa](),i=d[$a](),j=d[ab](),k=M.lang,l=k.weekdays,d=s({a:l[g].substr(0,3),A:l[g],d:Aa(h),e:h,b:k.shortMonths[i],B:k.months[i],m:Aa(i+1),y:j.toString().substr(2,2),Y:j,H:Aa(f),I:Aa(f%12||12),l:f%12||12,M:Aa(d[ob]()),p:f<12?"AM":"PM",P:f<12?"am":"pm",S:Aa(d.getSeconds()),L:Aa(u(b%1E3),3)},Highcharts.dateFormats);for(e in d)for(;a.indexOf("%"+e)!==-1;)a=a.replace("%"+e,typeof d[e]==="function"?d[e](b):d[e]);return c?a.substr(0,1).toUpperCase()+
a.substr(1):a};Jb.prototype={wrapColor:function(a){if(this.color>=a)this.color=0},wrapSymbol:function(a){if(this.symbol>=a)this.symbol=0}};H=function(){for(var a=0,b=arguments,c=b.length,d={};a<c;a++)d[b[a++]]=b[a];return d}(Db,1,nb,1E3,Ya,6E4,Qa,36E5,sa,864E5,Za,6048E5,Ra,26784E5,ta,31556952E3);zb={init:function(a,b,c){var b=b||"",d=a.shift,e=b.indexOf("C")>-1,f=e?7:3,g,b=b.split(" "),c=[].concat(c),h,i,j=function(a){for(g=a.length;g--;)a[g]==="M"&&a.splice(g+1,0,a[g+1],a[g+2],a[g+1],a[g+2])};e&&
(j(b),j(c));a.isArea&&(h=b.splice(b.length-6,6),i=c.splice(c.length-6,6));if(d<=c.length/f)for(;d--;)c=[].concat(c).splice(0,f).concat(c);a.shift=0;if(b.length)for(a=c.length;b.length<a;)d=[].concat(b).splice(b.length-f,f),e&&(d[f-6]=d[f-2],d[f-5]=d[f-1]),b=b.concat(d);h&&(b=b.concat(h),c=c.concat(i));return[b,c]},step:function(a,b,c,d){var e=[],f=a.length;if(c===1)e=d;else if(f===b.length&&c<1)for(;f--;)d=parseFloat(a[f]),e[f]=isNaN(d)?a[f]:c*parseFloat(b[f]-d)+d;else e=b;return e}};(function(a){N.HighchartsAdapter=
N.HighchartsAdapter||a&&{init:function(b){var c=a.fx,d=c.step,e,f=a.Tween,g=f&&f.propHooks;e=a.cssHooks.opacity;a.extend(a.easing,{easeOutQuad:function(a,b,c,d,e){return-d*(b/=e)*(b-2)+c}});a.each(["cur","_default","width","height","opacity"],function(a,b){var e=d,k,l;b==="cur"?e=c.prototype:b==="_default"&&f&&(e=g[b],b="set");(k=e[b])&&(e[b]=function(c){c=a?c:this;l=c.elem;return l.attr?l.attr(c.prop,b==="cur"?v:c.now):k.apply(this,arguments)})});Bb(e,"get",function(a,b,c){return b.attr?b.opacity||
0:a.call(this,b,c)});e=function(a){var c=a.elem,d;if(!a.started)d=b.init(c,c.d,c.toD),a.start=d[0],a.end=d[1],a.started=!0;c.attr("d",b.step(a.start,a.end,a.pos,c.toD))};f?g.d={set:e}:d.d=e;this.each=Array.prototype.forEach?function(a,b){return Array.prototype.forEach.call(a,b)}:function(a,b){for(var c=0,d=a.length;c<d;c++)if(b.call(a[c],a[c],c,a)===!1)return c};a.fn.highcharts=function(){var a="Chart",b=arguments,c,d;ea(b[0])&&(a=b[0],b=Array.prototype.slice.call(b,1));c=b[0];if(c!==v)c.chart=c.chart||
{},c.chart.renderTo=this[0],new Highcharts[a](c,b[1]),d=this;c===v&&(d=Fa[w(this[0],"data-highcharts-chart")]);return d}},getScript:a.getScript,inArray:a.inArray,adapterRun:function(b,c){return a(b)[c]()},grep:a.grep,map:function(a,c){for(var d=[],e=0,f=a.length;e<f;e++)d[e]=c.call(a[e],a[e],e,a);return d},offset:function(b){return a(b).offset()},addEvent:function(b,c,d){a(b).bind(c,d)},removeEvent:function(b,c,d){var e=z.removeEventListener?"removeEventListener":"detachEvent";z[e]&&b&&!b[e]&&(b[e]=
function(){});a(b).unbind(c,d)},fireEvent:function(b,c,d,e){var f=a.Event(c),g="detached"+c,h;!ra&&d&&(delete d.layerX,delete d.layerY);s(f,d);b[c]&&(b[g]=b[c],b[c]=null);a.each(["preventDefault","stopPropagation"],function(a,b){var c=f[b];f[b]=function(){try{c.call(f)}catch(a){b==="preventDefault"&&(h=!0)}}});a(b).trigger(f);b[g]&&(b[c]=b[g],b[g]=null);e&&!f.isDefaultPrevented()&&!h&&e(f)},washMouseEvent:function(a){var c=a.originalEvent||a;if(c.pageX===v)c.pageX=a.pageX,c.pageY=a.pageY;return c},
animate:function(b,c,d){var e=a(b);if(!b.style)b.style={};if(c.d)b.toD=c.d,c.d=1;e.stop();c.opacity!==v&&b.attr&&(c.opacity+="px");e.animate(c,d)},stop:function(b){a(b).stop()}}})(N.jQuery);var X=N.HighchartsAdapter,F=X||{};X&&X.init.call(X,zb);var ib=F.adapterRun,Vb=F.getScript,oa=F.inArray,n=F.each,sb=F.grep,Wb=F.offset,Na=F.map,J=F.addEvent,ba=F.removeEvent,K=F.fireEvent,Sb=F.washMouseEvent,Ab=F.animate,Wa=F.stop,F={enabled:!0,x:0,y:15,style:{color:"#666",cursor:"default",fontSize:"11px",lineHeight:"14px"}};
M={colors:"#2f7ed8,#0d233a,#8bbc21,#910000,#1aadce,#492970,#f28f43,#77a1e5,#c42525,#a6c96a".split(","),symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:"January,February,March,April,May,June,July,August,September,October,November,December".split(","),shortMonths:"Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec".split(","),weekdays:"Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday".split(","),decimalPoint:".",numericSymbols:"k,M,G,T,P,E".split(","),
resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:","},global:{useUTC:!0,canvasToolsURL:"http://code.highcharts.com/3.0.5/modules/canvas-tools.js",VMLRadialGradientURL:"http://code.highcharts.com/3.0.5/gfx/vml-radial-gradient.png"},chart:{borderColor:"#4572A7",borderRadius:5,defaultSeriesType:"line",ignoreHiddenSeries:!0,spacingTop:10,spacingRight:10,spacingBottom:15,spacingLeft:10,style:{fontFamily:'"Lucida Grande", "Lucida Sans Unicode", Verdana, Arial, Helvetica, sans-serif',
fontSize:"12px"},backgroundColor:"#FFFFFF",plotBorderColor:"#C0C0C0",resetZoomButton:{theme:{zIndex:20},position:{align:"right",x:-10,y:10}}},title:{text:"Chart title",align:"center",margin:15,style:{color:"#274b6d",fontSize:"16px"}},subtitle:{text:"",align:"center",style:{color:"#4d759e"}},plotOptions:{line:{allowPointSelect:!1,showCheckbox:!1,animation:{duration:1E3},events:{},lineWidth:2,marker:{enabled:!0,lineWidth:0,radius:4,lineColor:"#FFFFFF",states:{hover:{enabled:!0},select:{fillColor:"#FFFFFF",
lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:x(F,{align:"center",enabled:!1,formatter:function(){return this.y===null?"":za(this.y,-1)},verticalAlign:"bottom",y:0}),cropThreshold:300,pointRange:0,showInLegend:!0,states:{hover:{marker:{}},select:{marker:{}}},stickyTracking:!0}},labels:{style:{position:"absolute",color:"#3E576F"}},legend:{enabled:!0,align:"center",layout:"horizontal",labelFormatter:function(){return this.name},borderWidth:1,borderColor:"#909090",borderRadius:5,navigation:{activeColor:"#274b6d",
inactiveColor:"#CCC"},shadow:!1,itemStyle:{cursor:"pointer",color:"#274b6d",fontSize:"12px"},itemHoverStyle:{color:"#000"},itemHiddenStyle:{color:"#CCC"},itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},symbolWidth:16,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"1em"},style:{position:"absolute",backgroundColor:"white",opacity:0.5,textAlign:"center"}},tooltip:{enabled:!0,animation:Z,
backgroundColor:"rgba(255, 255, 255, .85)",borderWidth:1,borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %b %e, %H:%M:%S.%L",second:"%A, %b %e, %H:%M:%S",minute:"%A, %b %e, %H:%M",hour:"%A, %b %e, %H:%M",day:"%A, %b %e, %Y",week:"Week from %A, %b %e, %Y",month:"%B %Y",year:"%Y"},headerFormat:'<span style="font-size: 10px">{point.key}</span><br/>',pointFormat:'<span style="color:{series.color}">{series.name}</span>: <b>{point.y}</b><br/>',shadow:!0,snap:Ob?25:10,style:{color:"#333333",cursor:"default",
fontSize:"12px",padding:"8px",whiteSpace:"nowrap"}},credits:{enabled:!0,text:"",href:"",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#909090",fontSize:"9px"}}};var Y=M.plotOptions,X=Y.line;Lb();var pa=function(a){var b=[],c,d;(function(a){a&&a.stops?d=Na(a.stops,function(a){return pa(a[1])}):(c=/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]?(?:\.[0-9]+)?)\s*\)/.exec(a))?b=[A(c[1]),A(c[2]),
A(c[3]),parseFloat(c[4],10)]:(c=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(a))?b=[A(c[1],16),A(c[2],16),A(c[3],16),1]:(c=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(a))&&(b=[A(c[1]),A(c[2]),A(c[3]),1])})(a);return{get:function(c){var f;d?(f=x(a),f.stops=[].concat(f.stops),n(d,function(a,b){f.stops[b]=[f.stops[b][0],a.get(c)]})):f=b&&!isNaN(b[0])?c==="rgb"?"rgb("+b[0]+","+b[1]+","+b[2]+")":c==="a"?b[3]:"rgba("+b.join(",")+")":a;return f},brighten:function(a){if(d)n(d,
function(b){b.brighten(a)});else if(qa(a)&&a!==0){var c;for(c=0;c<3;c++)b[c]+=A(a*255),b[c]<0&&(b[c]=0),b[c]>255&&(b[c]=255)}return this},rgba:b,setOpacity:function(a){b[3]=a;return this}}};va.prototype={init:function(a,b){this.element=b==="span"?U(b):z.createElementNS(xa,b);this.renderer=a;this.attrSetters={}},opacity:1,animate:function(a,b,c){b=p(b,Da,!0);Wa(this);if(b){b=x(b);if(c)b.complete=c;Ab(this,a,b)}else this.attr(a),c&&c()},attr:function(a,b){var c,d,e,f,g=this.element,h=g.nodeName.toLowerCase(),
i=this.renderer,j,k=this.attrSetters,l=this.shadows,m,o,q=this;ea(a)&&t(b)&&(c=a,a={},a[c]=b);if(ea(a))c=a,h==="circle"?c={x:"cx",y:"cy"}[c]||c:c==="strokeWidth"&&(c="stroke-width"),q=w(g,c)||this[c]||0,c!=="d"&&c!=="visibility"&&(q=parseFloat(q));else{for(c in a)if(j=!1,d=a[c],e=k[c]&&k[c].call(this,d,c),e!==!1){e!==v&&(d=e);if(c==="d")d&&d.join&&(d=d.join(" ")),/(NaN| {2}|^$)/.test(d)&&(d="M 0 0");else if(c==="x"&&h==="text")for(e=0;e<g.childNodes.length;e++)f=g.childNodes[e],w(f,"x")===w(g,"x")&&
w(f,"x",d);else if(this.rotation&&(c==="x"||c==="y"))o=!0;else if(c==="fill")d=i.color(d,g,c);else if(h==="circle"&&(c==="x"||c==="y"))c={x:"cx",y:"cy"}[c]||c;else if(h==="rect"&&c==="r")w(g,{rx:d,ry:d}),j=!0;else if(c==="translateX"||c==="translateY"||c==="rotation"||c==="verticalAlign"||c==="scaleX"||c==="scaleY")j=o=!0;else if(c==="stroke")d=i.color(d,g,c);else if(c==="dashstyle")if(c="stroke-dasharray",d=d&&d.toLowerCase(),d==="solid")d=S;else{if(d){d=d.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot",
"3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(e=d.length;e--;)d[e]=A(d[e])*p(a["stroke-width"],this["stroke-width"]);d=d.join(",")}}else if(c==="width")d=A(d);else if(c==="align")c="text-anchor",d={left:"start",center:"middle",right:"end"}[d];else if(c==="title")e=g.getElementsByTagName("title")[0],e||(e=z.createElementNS(xa,"title"),g.appendChild(e)),e.textContent=d;c==="strokeWidth"&&
(c="stroke-width");if(c==="stroke-width"||c==="stroke"){this[c]=d;if(this.stroke&&this["stroke-width"])w(g,"stroke",this.stroke),w(g,"stroke-width",this["stroke-width"]),this.hasStroke=!0;else if(c==="stroke-width"&&d===0&&this.hasStroke)g.removeAttribute("stroke"),this.hasStroke=!1;j=!0}this.symbolName&&/^(x|y|width|height|r|start|end|innerR|anchorX|anchorY)/.test(c)&&(m||(this.symbolAttr(a),m=!0),j=!0);if(l&&/^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(c))for(e=l.length;e--;)w(l[e],
c,c==="height"?r(d-(l[e].cutHeight||0),0):d);if((c==="width"||c==="height")&&h==="rect"&&d<0)d=0;this[c]=d;c==="text"?(d!==this.textStr&&delete this.bBox,this.textStr=d,this.added&&i.buildText(this)):j||w(g,c,d)}o&&this.updateTransform()}return q},addClass:function(a){var b=this.element,c=w(b,"class")||"";c.indexOf(a)===-1&&w(b,"class",c+" "+a);return this},symbolAttr:function(a){var b=this;n("x,y,r,start,end,width,height,innerR,anchorX,anchorY".split(","),function(c){b[c]=p(a[c],b[c])});b.attr({d:b.renderer.symbols[b.symbolName](b.x,
b.y,b.width,b.height,b)})},clip:function(a){return this.attr("clip-path",a?"url("+this.renderer.url+"#"+a.id+")":S)},crisp:function(a,b,c,d,e){var f,g={},h={},i,a=a||this.strokeWidth||this.attr&&this.attr("stroke-width")||0;i=u(a)%2/2;h.x=P(b||this.x||0)+i;h.y=P(c||this.y||0)+i;h.width=P((d||this.width||0)-2*i);h.height=P((e||this.height||0)-2*i);h.strokeWidth=a;for(f in h)this[f]!==h[f]&&(this[f]=g[f]=h[f]);return g},css:function(a){var b=this.element,c=a&&a.width&&b.nodeName.toLowerCase()==="text",
d,e="",f=function(a,b){return"-"+b.toLowerCase()};if(a&&a.color)a.fill=a.color;this.styles=a=s(this.styles,a);$&&c&&delete a.width;if(ra&&!Z)c&&delete a.width,L(this.element,a);else{for(d in a)e+=d.replace(/([A-Z])/g,f)+":"+a[d]+";";w(b,"style",e)}c&&this.added&&this.renderer.buildText(this);return this},on:function(a,b){var c=this.element;if(hb&&a==="click")c.ontouchstart=function(a){a.preventDefault();b.call(c,a)};c["on"+a]=b;return this},setRadialReference:function(a){this.element.radialReference=
a;return this},translate:function(a,b){return this.attr({translateX:a,translateY:b})},invert:function(){this.inverted=!0;this.updateTransform();return this},htmlCss:function(a){var b=this.element;if(b=a&&b.tagName==="SPAN"&&a.width)delete a.width,this.textWidth=b,this.updateTransform();this.styles=s(this.styles,a);L(this.element,a);return this},htmlGetBBox:function(){var a=this.element,b=this.bBox;if(!b){if(a.nodeName==="text")a.style.position="absolute";b=this.bBox={x:a.offsetLeft,y:a.offsetTop,
width:a.offsetWidth,height:a.offsetHeight}}return b},htmlUpdateTransform:function(){if(this.added){var a=this.renderer,b=this.element,c=this.translateX||0,d=this.translateY||0,e=this.x||0,f=this.y||0,g=this.textAlign||"left",h={left:0,center:0.5,right:1}[g],i=g&&g!=="left",j=this.shadows;L(b,{marginLeft:c,marginTop:d});j&&n(j,function(a){L(a,{marginLeft:c+1,marginTop:d+1})});this.inverted&&n(b.childNodes,function(c){a.invertChild(c,b)});if(b.tagName==="SPAN"){var k,l,j=this.rotation,m;k=0;var o=1,
q=0,la;m=A(this.textWidth);var y=this.xCorr||0,V=this.yCorr||0,r=[j,g,b.innerHTML,this.textWidth].join(",");if(r!==this.cTT){t(j)&&(k=j*Ua,o=W(k),q=ca(k),this.setSpanRotation(j,q,o));k=p(this.elemWidth,b.offsetWidth);l=p(this.elemHeight,b.offsetHeight);if(k>m&&/[ \-]/.test(b.textContent||b.innerText))L(b,{width:m+"px",display:"block",whiteSpace:"normal"}),k=m;m=a.fontMetrics(b.style.fontSize).b;y=o<0&&-k;V=q<0&&-l;la=o*q<0;y+=q*m*(la?1-h:h);V-=o*m*(j?la?h:1-h:1);i&&(y-=k*h*(o<0?-1:1),j&&(V-=l*h*(q<
0?-1:1)),L(b,{textAlign:g}));this.xCorr=y;this.yCorr=V}L(b,{left:e+y+"px",top:f+V+"px"});if(fb)l=b.offsetHeight;this.cTT=r}}else this.alignOnAdd=!0},setSpanRotation:function(a){var b={};b[ra?"-ms-transform":fb?"-webkit-transform":gb?"MozTransform":Nb?"-o-transform":""]=b.transform="rotate("+a+"deg)";L(this.element,b)},updateTransform:function(){var a=this.translateX||0,b=this.translateY||0,c=this.scaleX,d=this.scaleY,e=this.inverted,f=this.rotation;e&&(a+=this.attr("width"),b+=this.attr("height"));
a=["translate("+a+","+b+")"];e?a.push("rotate(90) scale(-1,1)"):f&&a.push("rotate("+f+" "+(this.x||0)+" "+(this.y||0)+")");(t(c)||t(d))&&a.push("scale("+p(c,1)+" "+p(d,1)+")");a.length&&w(this.element,"transform",a.join(" "))},toFront:function(){var a=this.element;a.parentNode.appendChild(a);return this},align:function(a,b,c){var d,e,f,g,h={};e=this.renderer;f=e.alignedObjects;if(a){if(this.alignOptions=a,this.alignByTranslate=b,!c||ea(c))this.alignTo=d=c||"renderer",ga(f,this),f.push(this),c=null}else a=
this.alignOptions,b=this.alignByTranslate,d=this.alignTo;c=p(c,e[d],e);d=a.align;e=a.verticalAlign;f=(c.x||0)+(a.x||0);g=(c.y||0)+(a.y||0);if(d==="right"||d==="center")f+=(c.width-(a.width||0))/{right:1,center:2}[d];h[b?"translateX":"x"]=u(f);if(e==="bottom"||e==="middle")g+=(c.height-(a.height||0))/({bottom:1,middle:2}[e]||1);h[b?"translateY":"y"]=u(g);this[this.placed?"animate":"attr"](h);this.placed=!0;this.alignAttr=h;return this},getBBox:function(){var a=this.bBox,b=this.renderer,c,d=this.rotation;
c=this.element;var e=this.styles,f=d*Ua;if(!a){if(c.namespaceURI===xa||b.forExport){try{a=c.getBBox?s({},c.getBBox()):{width:c.offsetWidth,height:c.offsetHeight}}catch(g){}if(!a||a.width<0)a={width:0,height:0}}else a=this.htmlGetBBox();if(b.isSVG){b=a.width;c=a.height;if(ra&&e&&e.fontSize==="11px"&&c.toPrecision(3)==="22.7")a.height=c=14;if(d)a.width=O(c*ca(f))+O(b*W(f)),a.height=O(c*W(f))+O(b*ca(f))}this.bBox=a}return a},show:function(){return this.attr({visibility:"visible"})},hide:function(){return this.attr({visibility:"hidden"})},
fadeOut:function(a){var b=this;b.animate({opacity:0},{duration:a||150,complete:function(){b.hide()}})},add:function(a){var b=this.renderer,c=a||b,d=c.element||b.box,e=d.childNodes,f=this.element,g=w(f,"zIndex"),h;if(a)this.parentGroup=a;this.parentInverted=a&&a.inverted;this.textStr!==void 0&&b.buildText(this);if(g)c.handleZ=!0,g=A(g);if(c.handleZ)for(c=0;c<e.length;c++)if(a=e[c],b=w(a,"zIndex"),a!==f&&(A(b)>g||!t(g)&&t(b))){d.insertBefore(f,a);h=!0;break}h||d.appendChild(f);this.added=!0;K(this,
"add");return this},safeRemoveChild:function(a){var b=a.parentNode;b&&b.removeChild(a)},destroy:function(){var a=this,b=a.element||{},c=a.shadows,d=a.renderer.isSVG&&b.nodeName==="SPAN"&&b.parentNode,e,f;b.onclick=b.onmouseout=b.onmouseover=b.onmousemove=b.point=null;Wa(a);if(a.clipPath)a.clipPath=a.clipPath.destroy();if(a.stops){for(f=0;f<a.stops.length;f++)a.stops[f]=a.stops[f].destroy();a.stops=null}a.safeRemoveChild(b);for(c&&n(c,function(b){a.safeRemoveChild(b)});d&&d.childNodes.length===0;)b=
d.parentNode,a.safeRemoveChild(d),d=b;a.alignTo&&ga(a.renderer.alignedObjects,a);for(e in a)delete a[e];return null},shadow:function(a,b,c){var d=[],e,f,g=this.element,h,i,j,k;if(a){i=p(a.width,3);j=(a.opacity||0.15)/i;k=this.parentInverted?"(-1,-1)":"("+p(a.offsetX,1)+", "+p(a.offsetY,1)+")";for(e=1;e<=i;e++){f=g.cloneNode(0);h=i*2+1-2*e;w(f,{isShadow:"true",stroke:a.color||"black","stroke-opacity":j*e,"stroke-width":h,transform:"translate"+k,fill:S});if(c)w(f,"height",r(w(f,"height")-h,0)),f.cutHeight=
h;b?b.element.appendChild(f):g.parentNode.insertBefore(f,g);d.push(f)}this.shadows=d}return this}};var Ga=function(){this.init.apply(this,arguments)};Ga.prototype={Element:va,init:function(a,b,c,d){var e=location,f,g;f=this.createElement("svg").attr({version:"1.1"});g=f.element;a.appendChild(g);a.innerHTML.indexOf("xmlns")===-1&&w(g,"xmlns",xa);this.isSVG=!0;this.box=g;this.boxWrapper=f;this.alignedObjects=[];this.url=(gb||fb)&&z.getElementsByTagName("base").length?e.href.replace(/#.*?$/,"").replace(/([\('\)])/g,
"\\$1").replace(/ /g,"%20"):"";this.createElement("desc").add().element.appendChild(z.createTextNode("Created with Highcharts 3.0.5"));this.defs=this.createElement("defs").add();this.forExport=d;this.gradients={};this.setSize(b,c,!1);var h;if(gb&&a.getBoundingClientRect)this.subPixelFix=b=function(){L(a,{left:0,top:0});h=a.getBoundingClientRect();L(a,{left:wa(h.left)-h.left+"px",top:wa(h.top)-h.top+"px"})},b(),J(N,"resize",b)},isHidden:function(){return!this.boxWrapper.getBBox().width},destroy:function(){var a=
this.defs;this.box=null;this.boxWrapper=this.boxWrapper.destroy();Ja(this.gradients||{});this.gradients=null;if(a)this.defs=a.destroy();this.subPixelFix&&ba(N,"resize",this.subPixelFix);return this.alignedObjects=null},createElement:function(a){var b=new this.Element;b.init(this,a);return b},draw:function(){},buildText:function(a){for(var b=a.element,c=this,d=c.forExport,e=p(a.textStr,"").toString().replace(/<(b|strong)>/g,'<span style="font-weight:bold">').replace(/<(i|em)>/g,'<span style="font-style:italic">').replace(/<a/g,
"<span").replace(/<\/(b|strong|i|em|a)>/g,"</span>").split(/<br.*?>/g),f=b.childNodes,g=/style="([^"]+)"/,h=/href="(http[^"]+)"/,i=w(b,"x"),j=a.styles,k=j&&j.width&&A(j.width),l=j&&j.lineHeight,m=f.length;m--;)b.removeChild(f[m]);k&&!a.added&&this.box.appendChild(b);e[e.length-1]===""&&e.pop();n(e,function(e,f){var m,p=0,e=e.replace(/<span/g,"|||<span").replace(/<\/span>/g,"</span>|||");m=e.split("|||");n(m,function(e){if(e!==""||m.length===1){var o={},n=z.createElementNS(xa,"tspan"),r;g.test(e)&&
(r=e.match(g)[1].replace(/(;| |^)color([ :])/,"$1fill$2"),w(n,"style",r));h.test(e)&&!d&&(w(n,"onclick",'location.href="'+e.match(h)[1]+'"'),L(n,{cursor:"pointer"}));e=(e.replace(/<(.|\n)*?>/g,"")||" ").replace(/&lt;/g,"<").replace(/&gt;/g,">");if(e!==" "&&(n.appendChild(z.createTextNode(e)),p?o.dx=0:o.x=i,w(n,o),!p&&f&&(!Z&&d&&L(n,{display:"block"}),w(n,"dy",l||c.fontMetrics(/px$/.test(n.style.fontSize)?n.style.fontSize:j.fontSize).h,fb&&n.offsetHeight)),b.appendChild(n),p++,k))for(var e=e.replace(/([^\^])-/g,
"$1- ").split(" "),t,u=[];e.length||u.length;)delete a.bBox,t=a.getBBox().width,o=t>k,!o||e.length===1?(e=u,u=[],e.length&&(n=z.createElementNS(xa,"tspan"),w(n,{dy:l||16,x:i}),r&&w(n,"style",r),b.appendChild(n),t>k&&(k=t))):(n.removeChild(n.firstChild),u.unshift(e.pop())),e.length&&n.appendChild(z.createTextNode(e.join(" ").replace(/- /g,"-")))}})})},button:function(a,b,c,d,e,f,g,h){var i=this.label(a,b,c,null,null,null,null,null,"button"),j=0,k,l,m,o,q,n,a={x1:0,y1:0,x2:0,y2:1},e=x({"stroke-width":1,
stroke:"#CCCCCC",fill:{linearGradient:a,stops:[[0,"#FEFEFE"],[1,"#F6F6F6"]]},r:2,padding:5,style:{color:"black"}},e);m=e.style;delete e.style;f=x(e,{stroke:"#68A",fill:{linearGradient:a,stops:[[0,"#FFF"],[1,"#ACF"]]}},f);o=f.style;delete f.style;g=x(e,{stroke:"#68A",fill:{linearGradient:a,stops:[[0,"#9BD"],[1,"#CDF"]]}},g);q=g.style;delete g.style;h=x(e,{style:{color:"#CCC"}},h);n=h.style;delete h.style;J(i.element,ra?"mouseover":"mouseenter",function(){j!==3&&i.attr(f).css(o)});J(i.element,ra?"mouseout":
"mouseleave",function(){j!==3&&(k=[e,f,g][j],l=[m,o,q][j],i.attr(k).css(l))});i.setState=function(a){(i.state=j=a)?a===2?i.attr(g).css(q):a===3&&i.attr(h).css(n):i.attr(e).css(m)};return i.on("click",function(){j!==3&&d.call(i)}).attr(e).css(s({cursor:"default"},m))},crispLine:function(a,b){a[1]===a[4]&&(a[1]=a[4]=u(a[1])-b%2/2);a[2]===a[5]&&(a[2]=a[5]=u(a[2])+b%2/2);return a},path:function(a){var b={fill:S};Ha(a)?b.d=a:T(a)&&s(b,a);return this.createElement("path").attr(b)},circle:function(a,b,c){a=
T(a)?a:{x:a,y:b,r:c};return this.createElement("circle").attr(a)},arc:function(a,b,c,d,e,f){if(T(a))b=a.y,c=a.r,d=a.innerR,e=a.start,f=a.end,a=a.x;a=this.symbol("arc",a||0,b||0,c||0,c||0,{innerR:d||0,start:e||0,end:f||0});a.r=c;return a},rect:function(a,b,c,d,e,f){e=T(a)?a.r:e;e=this.createElement("rect").attr({rx:e,ry:e,fill:S});return e.attr(T(a)?a:e.crisp(f,a,b,r(c,0),r(d,0)))},setSize:function(a,b,c){var d=this.alignedObjects,e=d.length;this.width=a;this.height=b;for(this.boxWrapper[p(c,!0)?"animate":
"attr"]({width:a,height:b});e--;)d[e].align()},g:function(a){var b=this.createElement("g");return t(a)?b.attr({"class":"highcharts-"+a}):b},image:function(a,b,c,d,e){var f={preserveAspectRatio:S};arguments.length>1&&s(f,{x:b,y:c,width:d,height:e});f=this.createElement("image").attr(f);f.element.setAttributeNS?f.element.setAttributeNS("http://www.w3.org/1999/xlink","href",a):f.element.setAttribute("hc-svg-href",a);return f},symbol:function(a,b,c,d,e,f){var g,h=this.symbols[a],h=h&&h(u(b),u(c),d,e,
f),i=/^url\((.*?)\)$/,j,k;if(h)g=this.path(h),s(g,{symbolName:a,x:b,y:c,width:d,height:e}),f&&s(g,f);else if(i.test(a))k=function(a,b){a.element&&(a.attr({width:b[0],height:b[1]}),a.alignByTranslate||a.translate(u((d-b[0])/2),u((e-b[1])/2)))},j=a.match(i)[1],a=Pb[j],g=this.image(j).attr({x:b,y:c}),g.isImg=!0,a?k(g,a):(g.attr({width:0,height:0}),U("img",{onload:function(){k(g,Pb[j]=[this.width,this.height])},src:j}));return g},symbols:{circle:function(a,b,c,d){var e=0.166*c;return["M",a+c/2,b,"C",
a+c+e,b,a+c+e,b+d,a+c/2,b+d,"C",a-e,b+d,a-e,b,a+c/2,b,"Z"]},square:function(a,b,c,d){return["M",a,b,"L",a+c,b,a+c,b+d,a,b+d,"Z"]},triangle:function(a,b,c,d){return["M",a+c/2,b,"L",a+c,b+d,a,b+d,"Z"]},"triangle-down":function(a,b,c,d){return["M",a,b,"L",a+c,b,a+c/2,b+d,"Z"]},diamond:function(a,b,c,d){return["M",a+c/2,b,"L",a+c,b+d/2,a+c/2,b+d,a,b+d/2,"Z"]},arc:function(a,b,c,d,e){var f=e.start,c=e.r||c||d,g=e.end-0.001,d=e.innerR,h=e.open,i=W(f),j=ca(f),k=W(g),g=ca(g),e=e.end-f<Ma?0:1;return["M",a+
c*i,b+c*j,"A",c,c,0,e,1,a+c*k,b+c*g,h?"M":"L",a+d*k,b+d*g,"A",d,d,0,e,0,a+d*i,b+d*j,h?"":"Z"]}},clipRect:function(a,b,c,d){var e="highcharts-"+yb++,f=this.createElement("clipPath").attr({id:e}).add(this.defs),a=this.rect(a,b,c,d,0).add(f);a.id=e;a.clipPath=f;return a},color:function(a,b,c){var d=this,e,f=/^rgba/,g,h,i,j,k,l,m,o=[];a&&a.linearGradient?g="linearGradient":a&&a.radialGradient&&(g="radialGradient");if(g){c=a[g];h=d.gradients;j=a.stops;b=b.radialReference;Ha(c)&&(a[g]=c={x1:c[0],y1:c[1],
x2:c[2],y2:c[3],gradientUnits:"userSpaceOnUse"});g==="radialGradient"&&b&&!t(c.gradientUnits)&&(c=x(c,{cx:b[0]-b[2]/2+c.cx*b[2],cy:b[1]-b[2]/2+c.cy*b[2],r:c.r*b[2],gradientUnits:"userSpaceOnUse"}));for(m in c)m!=="id"&&o.push(m,c[m]);for(m in j)o.push(j[m]);o=o.join(",");h[o]?a=h[o].id:(c.id=a="highcharts-"+yb++,h[o]=i=d.createElement(g).attr(c).add(d.defs),i.stops=[],n(j,function(a){f.test(a[1])?(e=pa(a[1]),k=e.get("rgb"),l=e.get("a")):(k=a[1],l=1);a=d.createElement("stop").attr({offset:a[0],"stop-color":k,
"stop-opacity":l}).add(i);i.stops.push(a)}));return"url("+d.url+"#"+a+")"}else return f.test(a)?(e=pa(a),w(b,c+"-opacity",e.get("a")),e.get("rgb")):(b.removeAttribute(c+"-opacity"),a)},text:function(a,b,c,d){var e=M.chart.style,f=$||!Z&&this.forExport;if(d&&!this.forExport)return this.html(a,b,c);b=u(p(b,0));c=u(p(c,0));a=this.createElement("text").attr({x:b,y:c,text:a}).css({fontFamily:e.fontFamily,fontSize:e.fontSize});f&&a.css({position:"absolute"});a.x=b;a.y=c;return a},html:function(a,b,c){var d=
M.chart.style,e=this.createElement("span"),f=e.attrSetters,g=e.element,h=e.renderer;f.text=function(a){a!==g.innerHTML&&delete this.bBox;g.innerHTML=a;return!1};f.x=f.y=f.align=function(a,b){b==="align"&&(b="textAlign");e[b]=a;e.htmlUpdateTransform();return!1};e.attr({text:a,x:u(b),y:u(c)}).css({position:"absolute",whiteSpace:"nowrap",fontFamily:d.fontFamily,fontSize:d.fontSize});e.css=e.htmlCss;if(h.isSVG)e.add=function(a){var b,c=h.box.parentNode,d=[];if(a){if(b=a.div,!b){for(;a;)d.push(a),a=a.parentGroup;
n(d.reverse(),function(a){var d;b=a.div=a.div||U(Ca,{className:w(a.element,"class")},{position:"absolute",left:(a.translateX||0)+"px",top:(a.translateY||0)+"px"},b||c);d=b.style;s(a.attrSetters,{translateX:function(a){d.left=a+"px"},translateY:function(a){d.top=a+"px"},visibility:function(a,b){d[b]=a}})})}}else b=c;b.appendChild(g);e.added=!0;e.alignOnAdd&&e.htmlUpdateTransform();return e};return e},fontMetrics:function(a){var a=A(a||11),a=a<24?a+4:u(a*1.2),b=u(a*0.8);return{h:a,b:b}},label:function(a,
b,c,d,e,f,g,h,i){function j(){var a,b;a=p.element.style;V=(Oa===void 0||E===void 0||q.styles.textAlign)&&p.getBBox();q.width=(Oa||V.width||0)+2*da+jb;q.height=(E||V.height||0)+2*da;w=da+o.fontMetrics(a&&a.fontSize).b;if(A){if(!y)a=u(-r*da),b=h?-w:0,q.box=y=d?o.symbol(d,a,b,q.width,q.height):o.rect(a,b,q.width,q.height,0,kb[Rb]),y.add(q);y.isImg||y.attr(x({width:q.width,height:q.height},kb));kb=null}}function k(){var a=q.styles,a=a&&a.textAlign,b=jb+da*(1-r),c;c=h?0:w;if(t(Oa)&&(a==="center"||a===
"right"))b+={center:0.5,right:1}[a]*(Oa-V.width);(b!==p.x||c!==p.y)&&p.attr({x:b,y:c});p.x=b;p.y=c}function l(a,b){y?y.attr(a,b):kb[a]=b}function m(){p.add(q);q.attr({text:a,x:b,y:c});y&&t(e)&&q.attr({anchorX:e,anchorY:f})}var o=this,q=o.g(i),p=o.text("",0,0,g).attr({zIndex:1}),y,V,r=0,da=3,jb=0,Oa,E,G,I,B=0,kb={},w,g=q.attrSetters,A;J(q,"add",m);g.width=function(a){Oa=a;return!1};g.height=function(a){E=a;return!1};g.padding=function(a){t(a)&&a!==da&&(da=a,k());return!1};g.paddingLeft=function(a){t(a)&&
a!==jb&&(jb=a,k());return!1};g.align=function(a){r={left:0,center:0.5,right:1}[a];return!1};g.text=function(a,b){p.attr(b,a);j();k();return!1};g[Rb]=function(a,b){A=!0;B=a%2/2;l(b,a);return!1};g.stroke=g.fill=g.r=function(a,b){b==="fill"&&(A=!0);l(b,a);return!1};g.anchorX=function(a,b){e=a;l(b,a+B-G);return!1};g.anchorY=function(a,b){f=a;l(b,a-I);return!1};g.x=function(a){q.x=a;a-=r*((Oa||V.width)+da);G=u(a);q.attr("translateX",G);return!1};g.y=function(a){I=q.y=u(a);q.attr("translateY",I);return!1};
var z=q.css;return s(q,{css:function(a){if(a){var b={},a=x(a);n("fontSize,fontWeight,fontFamily,color,lineHeight,width,textDecoration,textShadow".split(","),function(c){a[c]!==v&&(b[c]=a[c],delete a[c])});p.css(b)}return z.call(q,a)},getBBox:function(){return{width:V.width+2*da,height:V.height+2*da,x:V.x-da,y:V.y-da}},shadow:function(a){y&&y.shadow(a);return q},destroy:function(){ba(q,"add",m);ba(q.element,"mouseenter");ba(q.element,"mouseleave");p&&(p=p.destroy());y&&(y=y.destroy());va.prototype.destroy.call(q);
q=o=j=k=l=m=null}})}};Va=Ga;var D;if(!Z&&!$){Highcharts.VMLElement=D={init:function(a,b){var c=["<",b,' filled="f" stroked="f"'],d=["position: ","absolute",";"],e=b===Ca;(b==="shape"||e)&&d.push("left:0;top:0;width:1px;height:1px;");d.push("visibility: ",e?"hidden":"visible");c.push(' style="',d.join(""),'"/>');if(b)c=e||b==="span"||b==="img"?c.join(""):a.prepVML(c),this.element=U(c);this.renderer=a;this.attrSetters={}},add:function(a){var b=this.renderer,c=this.element,d=b.box,d=a?a.element||a:d;
a&&a.inverted&&b.invertChild(c,d);d.appendChild(c);this.added=!0;this.alignOnAdd&&!this.deferUpdateTransform&&this.updateTransform();K(this,"add");return this},updateTransform:va.prototype.htmlUpdateTransform,setSpanRotation:function(a,b,c){L(this.element,{filter:a?["progid:DXImageTransform.Microsoft.Matrix(M11=",c,", M12=",-b,", M21=",b,", M22=",c,", sizingMethod='auto expand')"].join(""):S})},pathToVML:function(a){for(var b=a.length,c=[],d;b--;)if(qa(a[b]))c[b]=u(a[b]*10)-5;else if(a[b]==="Z")c[b]=
"x";else if(c[b]=a[b],a.isArc&&(a[b]==="wa"||a[b]==="at"))d=a[b]==="wa"?1:-1,c[b+5]===c[b+7]&&(c[b+7]-=d),c[b+6]===c[b+8]&&(c[b+8]-=d);return c.join(" ")||"x"},attr:function(a,b){var c,d,e,f=this.element||{},g=f.style,h=f.nodeName,i=this.renderer,j=this.symbolName,k,l=this.shadows,m,o=this.attrSetters,q=this;ea(a)&&t(b)&&(c=a,a={},a[c]=b);if(ea(a))c=a,q=c==="strokeWidth"||c==="stroke-width"?this.strokeweight:this[c];else for(c in a)if(d=a[c],m=!1,e=o[c]&&o[c].call(this,d,c),e!==!1&&d!==null){e!==
v&&(d=e);if(j&&/^(x|y|r|start|end|width|height|innerR|anchorX|anchorY)/.test(c))k||(this.symbolAttr(a),k=!0),m=!0;else if(c==="d"){d=d||[];this.d=d.join(" ");f.path=d=this.pathToVML(d);if(l)for(e=l.length;e--;)l[e].path=l[e].cutOff?this.cutOffPath(d,l[e].cutOff):d;m=!0}else if(c==="visibility"){if(l)for(e=l.length;e--;)l[e].style[c]=d;h==="DIV"&&(d=d==="hidden"?"-999em":0,eb||(g[c]=d?"visible":"hidden"),c="top");g[c]=d;m=!0}else if(c==="zIndex")d&&(g[c]=d),m=!0;else if(oa(c,["x","y","width","height"])!==
-1)this[c]=d,c==="x"||c==="y"?c={x:"left",y:"top"}[c]:d=r(0,d),this.updateClipping?(this[c]=d,this.updateClipping()):g[c]=d,m=!0;else if(c==="class"&&h==="DIV")f.className=d;else if(c==="stroke")d=i.color(d,f,c),c="strokecolor";else if(c==="stroke-width"||c==="strokeWidth")f.stroked=d?!0:!1,c="strokeweight",this[c]=d,qa(d)&&(d+="px");else if(c==="dashstyle")(f.getElementsByTagName("stroke")[0]||U(i.prepVML(["<stroke/>"]),null,null,f))[c]=d||"solid",this.dashstyle=d,m=!0;else if(c==="fill")if(h===
"SPAN")g.color=d;else{if(h!=="IMG")f.filled=d!==S?!0:!1,d=i.color(d,f,c,this),c="fillcolor"}else if(c==="opacity")m=!0;else if(h==="shape"&&c==="rotation")this[c]=f.style[c]=d,f.style.left=-u(ca(d*Ua)+1)+"px",f.style.top=u(W(d*Ua))+"px";else if(c==="translateX"||c==="translateY"||c==="rotation")this[c]=d,this.updateTransform(),m=!0;else if(c==="text")this.bBox=null,f.innerHTML=d,m=!0;m||(eb?f[c]=d:w(f,c,d))}return q},clip:function(a){var b=this,c;a?(c=a.members,ga(c,b),c.push(b),b.destroyClip=function(){ga(c,
b)},a=a.getCSS(b)):(b.destroyClip&&b.destroyClip(),a={clip:eb?"inherit":"rect(auto)"});return b.css(a)},css:va.prototype.htmlCss,safeRemoveChild:function(a){a.parentNode&&Ta(a)},destroy:function(){this.destroyClip&&this.destroyClip();return va.prototype.destroy.apply(this)},on:function(a,b){this.element["on"+a]=function(){var a=N.event;a.target=a.srcElement;b(a)};return this},cutOffPath:function(a,b){var c,a=a.split(/[ ,]/);c=a.length;if(c===9||c===11)a[c-4]=a[c-2]=A(a[c-2])-10*b;return a.join(" ")},
shadow:function(a,b,c){var d=[],e,f=this.element,g=this.renderer,h,i=f.style,j,k=f.path,l,m,o,q;k&&typeof k.value!=="string"&&(k="x");m=k;if(a){o=p(a.width,3);q=(a.opacity||0.15)/o;for(e=1;e<=3;e++){l=o*2+1-2*e;c&&(m=this.cutOffPath(k.value,l+0.5));j=['<shape isShadow="true" strokeweight="',l,'" filled="false" path="',m,'" coordsize="10 10" style="',f.style.cssText,'" />'];h=U(g.prepVML(j),null,{left:A(i.left)+p(a.offsetX,1),top:A(i.top)+p(a.offsetY,1)});if(c)h.cutOff=l+1;j=['<stroke color="',a.color||
"black",'" opacity="',q*e,'"/>'];U(g.prepVML(j),null,null,h);b?b.element.appendChild(h):f.parentNode.insertBefore(h,f);d.push(h)}this.shadows=d}return this}};D=ha(va,D);var ma={Element:D,isIE8:Ea.indexOf("MSIE 8.0")>-1,init:function(a,b,c){var d,e;this.alignedObjects=[];d=this.createElement(Ca);e=d.element;e.style.position="relative";a.appendChild(d.element);this.isVML=!0;this.box=e;this.boxWrapper=d;this.setSize(b,c,!1);if(!z.namespaces.hcv)z.namespaces.add("hcv","urn:schemas-microsoft-com:vml"),
z.createStyleSheet().cssText="hcv\\:fill, hcv\\:path, hcv\\:shape, hcv\\:stroke{ behavior:url(#default#VML); display: inline-block; } "},isHidden:function(){return!this.box.offsetWidth},clipRect:function(a,b,c,d){var e=this.createElement(),f=T(a);return s(e,{members:[],left:(f?a.x:a)+1,top:(f?a.y:b)+1,width:(f?a.width:c)-1,height:(f?a.height:d)-1,getCSS:function(a){var b=a.element,c=b.nodeName,a=a.inverted,d=this.top-(c==="shape"?b.offsetTop:0),e=this.left,b=e+this.width,f=d+this.height,d={clip:"rect("+
u(a?e:d)+"px,"+u(a?f:b)+"px,"+u(a?b:f)+"px,"+u(a?d:e)+"px)"};!a&&eb&&c==="DIV"&&s(d,{width:b+"px",height:f+"px"});return d},updateClipping:function(){n(e.members,function(a){a.css(e.getCSS(a))})}})},color:function(a,b,c,d){var e=this,f,g=/^rgba/,h,i,j=S;a&&a.linearGradient?i="gradient":a&&a.radialGradient&&(i="pattern");if(i){var k,l,m=a.linearGradient||a.radialGradient,o,q,p,y,r,t="",a=a.stops,u,v=[],s=function(){h=['<fill colors="'+v.join(",")+'" opacity="',p,'" o:opacity2="',q,'" type="',i,'" ',
t,'focus="100%" method="any" />'];U(e.prepVML(h),null,null,b)};o=a[0];u=a[a.length-1];o[0]>0&&a.unshift([0,o[1]]);u[0]<1&&a.push([1,u[1]]);n(a,function(a,b){g.test(a[1])?(f=pa(a[1]),k=f.get("rgb"),l=f.get("a")):(k=a[1],l=1);v.push(a[0]*100+"% "+k);b?(p=l,y=k):(q=l,r=k)});if(c==="fill")if(i==="gradient")c=m.x1||m[0]||0,a=m.y1||m[1]||0,o=m.x2||m[2]||0,m=m.y2||m[3]||0,t='angle="'+(90-R.atan((m-a)/(o-c))*180/Ma)+'"',s();else{var j=m.r,E=j*2,G=j*2,I=m.cx,B=m.cy,x=b.radialReference,w,j=function(){x&&(w=
d.getBBox(),I+=(x[0]-w.x)/w.width-0.5,B+=(x[1]-w.y)/w.height-0.5,E*=x[2]/w.width,G*=x[2]/w.height);t='src="'+M.global.VMLRadialGradientURL+'" size="'+E+","+G+'" origin="0.5,0.5" position="'+I+","+B+'" color2="'+r+'" ';s()};d.added?j():J(d,"add",j);j=y}else j=k}else if(g.test(a)&&b.tagName!=="IMG")f=pa(a),h=["<",c,' opacity="',f.get("a"),'"/>'],U(this.prepVML(h),null,null,b),j=f.get("rgb");else{j=b.getElementsByTagName(c);if(j.length)j[0].opacity=1,j[0].type="solid";j=a}return j},prepVML:function(a){var b=
this.isIE8,a=a.join("");b?(a=a.replace("/>",' xmlns="urn:schemas-microsoft-com:vml" />'),a=a.indexOf('style="')===-1?a.replace("/>",' style="display:inline-block;behavior:url(#default#VML);" />'):a.replace('style="','style="display:inline-block;behavior:url(#default#VML);')):a=a.replace("<","<hcv:");return a},text:Ga.prototype.html,path:function(a){var b={coordsize:"10 10"};Ha(a)?b.d=a:T(a)&&s(b,a);return this.createElement("shape").attr(b)},circle:function(a,b,c){var d=this.symbol("circle");if(T(a))c=
a.r,b=a.y,a=a.x;d.isCircle=!0;return d.attr({x:a,y:b,width:2*c,height:2*c})},g:function(a){var b;a&&(b={className:"highcharts-"+a,"class":"highcharts-"+a});return this.createElement(Ca).attr(b)},image:function(a,b,c,d,e){var f=this.createElement("img").attr({src:a});arguments.length>1&&f.attr({x:b,y:c,width:d,height:e});return f},rect:function(a,b,c,d,e,f){var g=this.symbol("rect");g.r=T(a)?a.r:e;return g.attr(T(a)?a:g.crisp(f,a,b,r(c,0),r(d,0)))},invertChild:function(a,b){var c=b.style;L(a,{flip:"x",
left:A(c.width)-1,top:A(c.height)-1,rotation:-90})},symbols:{arc:function(a,b,c,d,e){var f=e.start,g=e.end,h=e.r||c||d,c=e.innerR,d=W(f),i=ca(f),j=W(g),k=ca(g);if(g-f===0)return["x"];f=["wa",a-h,b-h,a+h,b+h,a+h*d,b+h*i,a+h*j,b+h*k];e.open&&!c&&f.push("e","M",a,b);f.push("at",a-c,b-c,a+c,b+c,a+c*j,b+c*k,a+c*d,b+c*i,"x","e");f.isArc=!0;return f},circle:function(a,b,c,d,e){e&&e.isCircle&&(a-=c/2,b-=d/2);return["wa",a,b,a+c,b+d,a+c,b+d/2,a+c,b+d/2,"e"]},rect:function(a,b,c,d,e){var f=a+c,g=b+d,h;!t(e)||
!e.r?f=Ga.prototype.symbols.square.apply(0,arguments):(h=C(e.r,c,d),f=["M",a+h,b,"L",f-h,b,"wa",f-2*h,b,f,b+2*h,f-h,b,f,b+h,"L",f,g-h,"wa",f-2*h,g-2*h,f,g,f,g-h,f-h,g,"L",a+h,g,"wa",a,g-2*h,a+2*h,g,a+h,g,a,g-h,"L",a,b+h,"wa",a,b,a+2*h,b+2*h,a,b+h,a+h,b,"x","e"]);return f}}};Highcharts.VMLRenderer=D=function(){this.init.apply(this,arguments)};D.prototype=x(Ga.prototype,ma);Va=D}var Tb;if($)Highcharts.CanVGRenderer=D=function(){xa="http://www.w3.org/1999/xhtml"},D.prototype.symbols={},Tb=function(){function a(){var a=
b.length,d;for(d=0;d<a;d++)b[d]();b=[]}var b=[];return{push:function(c,d){b.length===0&&Vb(d,a);b.push(c)}}}(),Va=D;La.prototype={addLabel:function(){var a=this.axis,b=a.options,c=a.chart,d=a.horiz,e=a.categories,f=a.series[0]&&a.series[0].names,g=this.pos,h=b.labels,i=a.tickPositions,d=d&&e&&!h.step&&!h.staggerLines&&!h.rotation&&c.plotWidth/i.length||!d&&(c.optionsMarginLeft||c.chartWidth*0.33),j=g===i[0],k=g===i[i.length-1],f=e?p(e[g],f&&f[g],g):g,e=this.label,i=i.info,l;a.isDatetimeAxis&&i&&(l=
b.dateTimeLabelFormats[i.higherRanks[g]||i.unitName]);this.isFirst=j;this.isLast=k;b=a.labelFormatter.call({axis:a,chart:c,isFirst:j,isLast:k,dateTimeLabelFormat:l,value:a.isLog?ka(fa(f)):f});g=d&&{width:r(1,u(d-2*(h.padding||10)))+"px"};g=s(g,h.style);if(t(e))e&&e.attr({text:b}).css(g);else{d={align:a.labelAlign};if(qa(h.rotation))d.rotation=h.rotation;this.label=t(b)&&h.enabled?c.renderer.text(b,0,0,h.useHTML).attr(d).css(g).add(a.labelGroup):null}},getLabelSize:function(){var a=this.label,b=this.axis;
return a?(this.labelBBox=a.getBBox())[b.horiz?"height":"width"]:0},getLabelSides:function(){var a=this.axis,b=this.labelBBox.width,a=b*{left:0,center:0.5,right:1}[a.labelAlign]-a.options.labels.x;return[-a,b-a]},handleOverflow:function(a,b){var c=!0,d=this.axis,e=d.chart,f=this.isFirst,g=this.isLast,h=b.x,i=d.reversed,j=d.tickPositions;if(f||g){var k=this.getLabelSides(),l=k[0],k=k[1],e=e.plotLeft,m=e+d.len,j=(d=d.ticks[j[a+(f?1:-1)]])&&d.label.xy&&d.label.xy.x+d.getLabelSides()[f?0:1];f&&!i||g&&
i?h+l<e&&(h=e-l,d&&h+k>j&&(c=!1)):h+k>m&&(h=m-k,d&&h+l<j&&(c=!1));b.x=h}return c},getPosition:function(a,b,c,d){var e=this.axis,f=e.chart,g=d&&f.oldChartHeight||f.chartHeight;return{x:a?e.translate(b+c,null,null,d)+e.transB:e.left+e.offset+(e.opposite?(d&&f.oldChartWidth||f.chartWidth)-e.right-e.left:0),y:a?g-e.bottom+e.offset-(e.opposite?e.height:0):g-e.translate(b+c,null,null,d)-e.transB}},getLabelPosition:function(a,b,c,d,e,f,g,h){var i=this.axis,j=i.transA,k=i.reversed,l=i.staggerLines,m=i.chart.renderer.fontMetrics(e.style.fontSize).b,
o=e.rotation,a=a+e.x-(f&&d?f*j*(k?-1:1):0),b=b+e.y-(f&&!d?f*j*(k?1:-1):0);o&&i.side===2&&(b-=m-m*W(o*Ua));!t(e.y)&&!o&&(b+=m-c.getBBox().height/2);l&&(b+=g/(h||1)%l*(i.labelOffset/l));return{x:a,y:b}},getMarkPath:function(a,b,c,d,e,f){return f.crispLine(["M",a,b,"L",a+(e?0:-c),b+(e?c:0)],d)},render:function(a,b,c){var d=this.axis,e=d.options,f=d.chart.renderer,g=d.horiz,h=this.type,i=this.label,j=this.pos,k=e.labels,l=this.gridLine,m=h?h+"Grid":"grid",o=h?h+"Tick":"tick",q=e[m+"LineWidth"],n=e[m+
"LineColor"],y=e[m+"LineDashStyle"],r=e[o+"Length"],m=e[o+"Width"]||0,t=e[o+"Color"],u=e[o+"Position"],o=this.mark,s=k.step,w=!0,E=d.tickmarkOffset,G=this.getPosition(g,j,E,b),I=G.x,G=G.y,B=g&&I===d.pos+d.len||!g&&G===d.pos?-1:1,x=d.staggerLines;this.isActive=!0;if(q){j=d.getPlotLinePath(j+E,q*B,b,!0);if(l===v){l={stroke:n,"stroke-width":q};if(y)l.dashstyle=y;if(!h)l.zIndex=1;if(b)l.opacity=0;this.gridLine=l=q?f.path(j).attr(l).add(d.gridGroup):null}if(!b&&l&&j)l[this.isNew?"attr":"animate"]({d:j,
opacity:c})}if(m&&r)u==="inside"&&(r=-r),d.opposite&&(r=-r),b=this.getMarkPath(I,G,r,m*B,g,f),o?o.animate({d:b,opacity:c}):this.mark=f.path(b).attr({stroke:t,"stroke-width":m,opacity:c}).add(d.axisGroup);if(i&&!isNaN(I))i.xy=G=this.getLabelPosition(I,G,i,g,k,E,a,s),this.isFirst&&!this.isLast&&!p(e.showFirstLabel,1)||this.isLast&&!this.isFirst&&!p(e.showLastLabel,1)?w=!1:!x&&g&&k.overflow==="justify"&&!this.handleOverflow(a,G)&&(w=!1),s&&a%s&&(w=!1),w&&!isNaN(G.y)?(G.opacity=c,i[this.isNew?"attr":
"animate"](G),this.isNew=!1):i.attr("y",-9999)},destroy:function(){Ja(this,this.axis)}};tb.prototype={render:function(){var a=this,b=a.axis,c=b.horiz,d=(b.pointRange||0)/2,e=a.options,f=e.label,g=a.label,h=e.width,i=e.to,j=e.from,k=t(j)&&t(i),l=e.value,m=e.dashStyle,o=a.svgElem,q=[],n,y=e.color,u=e.zIndex,s=e.events,v=b.chart.renderer;b.isLog&&(j=na(j),i=na(i),l=na(l));if(h){if(q=b.getPlotLinePath(l,h),d={stroke:y,"stroke-width":h},m)d.dashstyle=m}else if(k){if(j=r(j,b.min-d),i=C(i,b.max+d),q=b.getPlotBandPath(j,
i,e),d={fill:y},e.borderWidth)d.stroke=e.borderColor,d["stroke-width"]=e.borderWidth}else return;if(t(u))d.zIndex=u;if(o)q?o.animate({d:q},null,o.onGetPath):(o.hide(),o.onGetPath=function(){o.show()});else if(q&&q.length&&(a.svgElem=o=v.path(q).attr(d).add(),s))for(n in e=function(b){o.on(b,function(c){s[b].apply(a,[c])})},s)e(n);if(f&&t(f.text)&&q&&q.length&&b.width>0&&b.height>0){f=x({align:c&&k&&"center",x:c?!k&&4:10,verticalAlign:!c&&k&&"middle",y:c?k?16:10:k?6:-4,rotation:c&&!k&&90},f);if(!g)a.label=
g=v.text(f.text,0,0,f.useHTML).attr({align:f.textAlign||f.align,rotation:f.rotation,zIndex:u}).css(f.style).add();b=[q[1],q[4],p(q[6],q[1])];q=[q[2],q[5],p(q[7],q[2])];c=Ia(b);k=Ia(q);g.align(f,!1,{x:c,y:k,width:ua(b)-c,height:ua(q)-k});g.show()}else g&&g.hide();return a},destroy:function(){ga(this.axis.plotLinesAndBands,this);delete this.axis;Ja(this)}};Mb.prototype={destroy:function(){Ja(this,this.axis)},setTotal:function(a){this.cum=this.total=a},addValue:function(a){this.setTotal(ka(this.total+
a))},render:function(a){var b=this.options,c=b.format,c=c?Ba(c,this):b.formatter.call(this);this.label?this.label.attr({text:c,visibility:"hidden"}):this.label=this.axis.chart.renderer.text(c,0,0,b.useHTML).css(b.style).attr({align:this.textAlign,rotation:b.rotation,visibility:"hidden"}).add(a)},cacheExtremes:function(a,b){this.points[a.index]=b},setOffset:function(a,b){var c=this.axis,d=c.chart,e=d.inverted,f=this.isNegative,g=c.translate(this.percent?100:this.total,0,0,0,1),c=c.translate(0),c=O(g-
c),h=d.xAxis[0].translate(this.x)+a,i=d.plotHeight,f={x:e?f?g:g-c:h,y:e?i-h-b:f?i-g-c:i-g,width:e?c:b,height:e?b:c};if(e=this.label)e.align(this.alignOptions,null,f),f=e.alignAttr,e.attr({visibility:this.options.crop===!1||d.isInsidePlot(f.x,f.y)?Z?"inherit":"visible":"hidden"})}};db.prototype={defaultOptions:{dateTimeLabelFormats:{millisecond:"%H:%M:%S.%L",second:"%H:%M:%S",minute:"%H:%M",hour:"%H:%M",day:"%e. %b",week:"%e. %b",month:"%b '%y",year:"%Y"},endOnTick:!1,gridLineColor:"#C0C0C0",labels:F,
lineColor:"#C0D0E0",lineWidth:1,minPadding:0.01,maxPadding:0.01,minorGridLineColor:"#E0E0E0",minorGridLineWidth:1,minorTickColor:"#A0A0A0",minorTickLength:2,minorTickPosition:"outside",startOfWeek:1,startOnTick:!1,tickColor:"#C0D0E0",tickLength:5,tickmarkPlacement:"between",tickPixelInterval:100,tickPosition:"outside",tickWidth:1,title:{align:"middle",style:{color:"#4d759e",fontWeight:"bold"}},type:"linear"},defaultYAxisOptions:{endOnTick:!0,gridLineWidth:1,tickPixelInterval:72,showLastLabel:!0,labels:{x:-8,
y:3},lineWidth:0,maxPadding:0.05,minPadding:0.05,startOnTick:!0,tickWidth:0,title:{rotation:270,text:"Values"},stackLabels:{enabled:!1,formatter:function(){return za(this.total,-1)},style:F.style}},defaultLeftAxisOptions:{labels:{x:-8,y:null},title:{rotation:270}},defaultRightAxisOptions:{labels:{x:8,y:null},title:{rotation:90}},defaultBottomAxisOptions:{labels:{x:0,y:14},title:{rotation:0}},defaultTopAxisOptions:{labels:{x:0,y:-5},title:{rotation:0}},init:function(a,b){var c=b.isX;this.horiz=a.inverted?
!c:c;this.xOrY=(this.isXAxis=c)?"x":"y";this.opposite=b.opposite;this.side=this.horiz?this.opposite?0:2:this.opposite?1:3;this.setOptions(b);var d=this.options,e=d.type;this.labelFormatter=d.labels.formatter||this.defaultLabelFormatter;this.userOptions=b;this.minPixelPadding=0;this.chart=a;this.reversed=d.reversed;this.zoomEnabled=d.zoomEnabled!==!1;this.categories=d.categories||e==="category";this.isLog=e==="logarithmic";this.isDatetimeAxis=e==="datetime";this.isLinked=t(d.linkedTo);this.tickmarkOffset=
this.categories&&d.tickmarkPlacement==="between"?0.5:0;this.ticks={};this.minorTicks={};this.plotLinesAndBands=[];this.alternateBands={};this.len=0;this.minRange=this.userMinRange=d.minRange||d.maxZoom;this.range=d.range;this.offset=d.offset||0;this.stacks={};this.oldStacks={};this.stackExtremes={};this.min=this.max=null;var f,d=this.options.events;oa(this,a.axes)===-1&&(a.axes.push(this),a[c?"xAxis":"yAxis"].push(this));this.series=this.series||[];if(a.inverted&&c&&this.reversed===v)this.reversed=
!0;this.removePlotLine=this.removePlotBand=this.removePlotBandOrLine;for(f in d)J(this,f,d[f]);if(this.isLog)this.val2lin=na,this.lin2val=fa},setOptions:function(a){this.options=x(this.defaultOptions,this.isXAxis?{}:this.defaultYAxisOptions,[this.defaultTopAxisOptions,this.defaultRightAxisOptions,this.defaultBottomAxisOptions,this.defaultLeftAxisOptions][this.side],x(M[this.isXAxis?"xAxis":"yAxis"],a))},update:function(a,b){var c=this.chart,a=c.options[this.xOrY+"Axis"][this.options.index]=x(this.userOptions,
a);this.destroy(!0);this._addedPlotLB=!1;this.init(c,s(a,{events:v}));c.isDirtyBox=!0;p(b,!0)&&c.redraw()},remove:function(a){var b=this.chart,c=this.xOrY+"Axis";n(this.series,function(a){a.remove(!1)});ga(b.axes,this);ga(b[c],this);b.options[c].splice(this.options.index,1);n(b[c],function(a,b){a.options.index=b});this.destroy();b.isDirtyBox=!0;p(a,!0)&&b.redraw()},defaultLabelFormatter:function(){var a=this.axis,b=this.value,c=a.categories,d=this.dateTimeLabelFormat,e=M.lang.numericSymbols,f=e&&
e.length,g,h=a.options.labels.format,a=a.isLog?b:a.tickInterval;if(h)g=Ba(h,this);else if(c)g=b;else if(d)g=Xa(d,b);else if(f&&a>=1E3)for(;f--&&g===v;)c=Math.pow(1E3,f+1),a>=c&&e[f]!==null&&(g=za(b/c,-1)+e[f]);g===v&&(g=b>=1E3?za(b,0):za(b,-1));return g},getSeriesExtremes:function(){var a=this,b=a.chart;a.hasVisibleSeries=!1;a.dataMin=a.dataMax=null;a.stackExtremes={};a.buildStacks();n(a.series,function(c){if(c.visible||!b.options.chart.ignoreHiddenSeries){var d=c.options,e;e=d.threshold;a.hasVisibleSeries=
!0;a.isLog&&e<=0&&(e=null);if(a.isXAxis){if(e=c.xData,e.length)a.dataMin=C(p(a.dataMin,e[0]),Ia(e)),a.dataMax=r(p(a.dataMax,e[0]),ua(e))}else{d=d.stacking;a.usePercentage=d==="percent";if(a.usePercentage)a.dataMin=0,a.dataMax=99;c.getExtremes();d=c.dataMax;c=c.dataMin;if(!a.usePercentage&&t(c)&&t(d))a.dataMin=C(p(a.dataMin,c),c),a.dataMax=r(p(a.dataMax,d),d);if(t(e))if(a.dataMin>=e)a.dataMin=e,a.ignoreMinPadding=!0;else if(a.dataMax<e)a.dataMax=e,a.ignoreMaxPadding=!0}}})},translate:function(a,b,
c,d,e,f){var g=this.len,h=1,i=0,j=d?this.oldTransA:this.transA,d=d?this.oldMin:this.min,k=this.minPixelPadding,e=(this.options.ordinal||this.isLog&&e)&&this.lin2val;if(!j)j=this.transA;c&&(h*=-1,i=g);this.reversed&&(h*=-1,i-=h*g);b?(a=a*h+i,a-=k,a=a/j+d,e&&(a=this.lin2val(a))):(e&&(a=this.val2lin(a)),f==="between"&&(f=0.5),a=h*(a-d)*j+i+h*k+(qa(f)?j*f*this.pointRange:0));return a},toPixels:function(a,b){return this.translate(a,!1,!this.horiz,null,!0)+(b?0:this.pos)},toValue:function(a,b){return this.translate(a-
(b?0:this.pos),!0,!this.horiz,null,!0)},getPlotLinePath:function(a,b,c,d){var e=this.chart,f=this.left,g=this.top,h,i,j,a=this.translate(a,null,null,c),k=c&&e.oldChartHeight||e.chartHeight,l=c&&e.oldChartWidth||e.chartWidth,m;h=this.transB;c=i=u(a+h);h=j=u(k-a-h);if(isNaN(a))m=!0;else if(this.horiz){if(h=g,j=k-this.bottom,c<f||c>f+this.width)m=!0}else if(c=f,i=l-this.right,h<g||h>g+this.height)m=!0;return m&&!d?null:e.renderer.crispLine(["M",c,h,"L",i,j],b||0)},getPlotBandPath:function(a,b){var c=
this.getPlotLinePath(b),d=this.getPlotLinePath(a);d&&c?d.push(c[4],c[5],c[1],c[2]):d=null;return d},getLinearTickPositions:function(a,b,c){for(var d,b=ka(P(b/a)*a),c=ka(wa(c/a)*a),e=[];b<=c;){e.push(b);b=ka(b+a);if(b===d)break;d=b}return e},getLogTickPositions:function(a,b,c,d){var e=this.options,f=this.len,g=[];if(!d)this._minorAutoInterval=null;if(a>=0.5)a=u(a),g=this.getLinearTickPositions(a,b,c);else if(a>=0.08)for(var f=P(b),h,i,j,k,l,e=a>0.3?[1,2,4]:a>0.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9];f<
c+1&&!l;f++){i=e.length;for(h=0;h<i&&!l;h++)j=na(fa(f)*e[h]),j>b&&(!d||k<=c)&&g.push(k),k>c&&(l=!0),k=j}else if(b=fa(b),c=fa(c),a=e[d?"minorTickInterval":"tickInterval"],a=p(a==="auto"?null:a,this._minorAutoInterval,(c-b)*(e.tickPixelInterval/(d?5:1))/((d?f/this.tickPositions.length:f)||1)),a=mb(a,null,lb(a)),g=Na(this.getLinearTickPositions(a,b,c),na),!d)this._minorAutoInterval=a/5;if(!d)this.tickInterval=a;return g},getMinorTickPositions:function(){var a=this.options,b=this.tickPositions,c=this.minorTickInterval,
d=[],e;if(this.isLog){e=b.length;for(a=1;a<e;a++)d=d.concat(this.getLogTickPositions(c,b[a-1],b[a],!0))}else if(this.isDatetimeAxis&&a.minorTickInterval==="auto")d=d.concat(Eb(Cb(c),this.min,this.max,a.startOfWeek)),d[0]<this.min&&d.shift();else for(b=this.min+(b[0]-this.min)%c;b<=this.max;b+=c)d.push(b);return d},adjustForMinRange:function(){var a=this.options,b=this.min,c=this.max,d,e=this.dataMax-this.dataMin>=this.minRange,f,g,h,i,j;if(this.isXAxis&&this.minRange===v&&!this.isLog)t(a.min)||t(a.max)?
this.minRange=null:(n(this.series,function(a){i=a.xData;for(g=j=a.xIncrement?1:i.length-1;g>0;g--)if(h=i[g]-i[g-1],f===v||h<f)f=h}),this.minRange=C(f*5,this.dataMax-this.dataMin));if(c-b<this.minRange){var k=this.minRange;d=(k-c+b)/2;d=[b-d,p(a.min,b-d)];if(e)d[2]=this.dataMin;b=ua(d);c=[b+k,p(a.max,b+k)];if(e)c[2]=this.dataMax;c=Ia(c);c-b<k&&(d[0]=c-k,d[1]=p(a.min,c-k),b=ua(d))}this.min=b;this.max=c},setAxisTranslation:function(a){var b=this.max-this.min,c=0,d,e=0,f=0,g=this.linkedParent,h=this.transA;
if(this.isXAxis)g?(e=g.minPointOffset,f=g.pointRangePadding):n(this.series,function(a){var g=a.pointRange,h=a.options.pointPlacement,l=a.closestPointRange;g>b&&(g=0);c=r(c,g);e=r(e,ea(h)?0:g/2);f=r(f,h==="on"?0:g);!a.noSharedTooltip&&t(l)&&(d=t(d)?C(d,l):l)}),g=this.ordinalSlope&&d?this.ordinalSlope/d:1,this.minPointOffset=e*=g,this.pointRangePadding=f*=g,this.pointRange=C(c,b),this.closestPointRange=d;if(a)this.oldTransA=h;this.translationSlope=this.transA=h=this.len/(b+f||1);this.transB=this.horiz?
this.left:this.bottom;this.minPixelPadding=h*e},setTickPositions:function(a){var b=this,c=b.chart,d=b.options,e=b.isLog,f=b.isDatetimeAxis,g=b.isXAxis,h=b.isLinked,i=b.options.tickPositioner,j=d.maxPadding,k=d.minPadding,l=d.tickInterval,m=d.minTickInterval,o=d.tickPixelInterval,q=b.categories;h?(b.linkedParent=c[g?"xAxis":"yAxis"][d.linkedTo],c=b.linkedParent.getExtremes(),b.min=p(c.min,c.dataMin),b.max=p(c.max,c.dataMax),d.type!==b.linkedParent.options.type&&ja(11,1)):(b.min=p(b.userMin,d.min,b.dataMin),
b.max=p(b.userMax,d.max,b.dataMax));if(e)!a&&C(b.min,p(b.dataMin,b.min))<=0&&ja(10,1),b.min=ka(na(b.min)),b.max=ka(na(b.max));if(b.range&&(b.userMin=b.min=r(b.min,b.max-b.range),b.userMax=b.max,a))b.range=null;b.beforePadding&&b.beforePadding();b.adjustForMinRange();if(!q&&!b.usePercentage&&!h&&t(b.min)&&t(b.max)&&(c=b.max-b.min)){if(!t(d.min)&&!t(b.userMin)&&k&&(b.dataMin<0||!b.ignoreMinPadding))b.min-=c*k;if(!t(d.max)&&!t(b.userMax)&&j&&(b.dataMax>0||!b.ignoreMaxPadding))b.max+=c*j}b.tickInterval=
b.min===b.max||b.min===void 0||b.max===void 0?1:h&&!l&&o===b.linkedParent.options.tickPixelInterval?b.linkedParent.tickInterval:p(l,q?1:(b.max-b.min)*o/(b.len||1));g&&!a&&n(b.series,function(a){a.processData(b.min!==b.oldMin||b.max!==b.oldMax)});b.setAxisTranslation(!0);b.beforeSetTickPositions&&b.beforeSetTickPositions();if(b.postProcessTickInterval)b.tickInterval=b.postProcessTickInterval(b.tickInterval);if(b.pointRange)b.tickInterval=r(b.pointRange,b.tickInterval);if(!l&&b.tickInterval<m)b.tickInterval=
m;if(!f&&!e&&!l)b.tickInterval=mb(b.tickInterval,null,lb(b.tickInterval),d);b.minorTickInterval=d.minorTickInterval==="auto"&&b.tickInterval?b.tickInterval/5:d.minorTickInterval;b.tickPositions=a=d.tickPositions?[].concat(d.tickPositions):i&&i.apply(b,[b.min,b.max]);if(!a)(b.max-b.min)/b.tickInterval>2*b.len&&ja(19,!0),a=f?(b.getNonLinearTimeTicks||Eb)(Cb(b.tickInterval,d.units),b.min,b.max,d.startOfWeek,b.ordinalPositions,b.closestPointRange,!0):e?b.getLogTickPositions(b.tickInterval,b.min,b.max):
b.getLinearTickPositions(b.tickInterval,b.min,b.max),b.tickPositions=a;if(!h)e=a[0],f=a[a.length-1],h=b.minPointOffset||0,d.startOnTick?b.min=e:b.min-h>e&&a.shift(),d.endOnTick?b.max=f:b.max+h<f&&a.pop(),a.length===1&&(b.min-=0.001,b.max+=0.001)},setMaxTicks:function(){var a=this.chart,b=a.maxTicks||{},c=this.tickPositions,d=this._maxTicksKey=[this.xOrY,this.pos,this.len].join("-");if(!this.isLinked&&!this.isDatetimeAxis&&c&&c.length>(b[d]||0)&&this.options.alignTicks!==!1)b[d]=c.length;a.maxTicks=
b},adjustTickAmount:function(){var a=this._maxTicksKey,b=this.tickPositions,c=this.chart.maxTicks;if(c&&c[a]&&!this.isDatetimeAxis&&!this.categories&&!this.isLinked&&this.options.alignTicks!==!1){var d=this.tickAmount,e=b.length;this.tickAmount=a=c[a];if(e<a){for(;b.length<a;)b.push(ka(b[b.length-1]+this.tickInterval));this.transA*=(e-1)/(a-1);this.max=b[b.length-1]}if(t(d)&&a!==d)this.isDirty=!0}},setScale:function(){var a=this.stacks,b,c,d,e;this.oldMin=this.min;this.oldMax=this.max;this.oldAxisLength=
this.len;this.setAxisSize();e=this.len!==this.oldAxisLength;n(this.series,function(a){if(a.isDirtyData||a.isDirty||a.xAxis.isDirty)d=!0});if(e||d||this.isLinked||this.forceRedraw||this.userMin!==this.oldUserMin||this.userMax!==this.oldUserMax){if(!this.isXAxis)for(b in a)for(c in a[b])a[b][c].total=null;this.forceRedraw=!1;this.getSeriesExtremes();this.setTickPositions();this.oldUserMin=this.userMin;this.oldUserMax=this.userMax;if(!this.isDirty)this.isDirty=e||this.min!==this.oldMin||this.max!==this.oldMax}else if(!this.isXAxis){if(this.oldStacks)a=
this.stacks=this.oldStacks;for(b in a)for(c in a[b])a[b][c].cum=a[b][c].total}this.setMaxTicks()},setExtremes:function(a,b,c,d,e){var f=this,g=f.chart,c=p(c,!0),e=s(e,{min:a,max:b});K(f,"setExtremes",e,function(){f.userMin=a;f.userMax=b;f.isDirtyExtremes=!0;c&&g.redraw(d)})},zoom:function(a,b){this.allowZoomOutside||(t(this.dataMin)&&a<=this.dataMin&&(a=v),t(this.dataMax)&&b>=this.dataMax&&(b=v));this.displayBtn=a!==v||b!==v;this.setExtremes(a,b,!1,v,{trigger:"zoom"});return!0},setAxisSize:function(){var a=
this.chart,b=this.options,c=b.offsetLeft||0,d=b.offsetRight||0,e=this.horiz,f,g;this.left=g=p(b.left,a.plotLeft+c);this.top=f=p(b.top,a.plotTop);this.width=c=p(b.width,a.plotWidth-c+d);this.height=b=p(b.height,a.plotHeight);this.bottom=a.chartHeight-b-f;this.right=a.chartWidth-c-g;this.len=r(e?c:b,0);this.pos=e?g:f},getExtremes:function(){var a=this.isLog;return{min:a?ka(fa(this.min)):this.min,max:a?ka(fa(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}},
getThreshold:function(a){var b=this.isLog,c=b?fa(this.min):this.min,b=b?fa(this.max):this.max;c>a||a===null?a=c:b<a&&(a=b);return this.translate(a,0,1,0,1)},addPlotBand:function(a){this.addPlotBandOrLine(a,"plotBands")},addPlotLine:function(a){this.addPlotBandOrLine(a,"plotLines")},addPlotBandOrLine:function(a,b){var c=(new tb(this,a)).render(),d=this.userOptions;b&&(d[b]=d[b]||[],d[b].push(a));this.plotLinesAndBands.push(c);return c},autoLabelAlign:function(a){a=(p(a,0)-this.side*90+720)%360;return a>
15&&a<165?"right":a>195&&a<345?"left":"center"},getOffset:function(){var a=this,b=a.chart,c=b.renderer,d=a.options,e=a.tickPositions,f=a.ticks,g=a.horiz,h=a.side,i=b.inverted?[1,0,3,2][h]:h,j,k=0,l,m=0,o=d.title,q=d.labels,la=0,y=b.axisOffset,u=b.clipOffset,s=[-1,1,1,-1][h],w,x=1,A=p(q.maxStaggerLines,5),E,G,I,B;a.hasData=j=a.hasVisibleSeries||t(a.min)&&t(a.max)&&!!e;a.showAxis=b=j||p(d.showEmpty,!0);a.staggerLines=a.horiz&&q.staggerLines;if(!a.axisGroup)a.gridGroup=c.g("grid").attr({zIndex:d.gridZIndex||
1}).add(),a.axisGroup=c.g("axis").attr({zIndex:d.zIndex||2}).add(),a.labelGroup=c.g("axis-labels").attr({zIndex:q.zIndex||7}).add();if(j||a.isLinked){a.labelAlign=p(q.align||a.autoLabelAlign(q.rotation));n(e,function(b){f[b]?f[b].addLabel():f[b]=new La(a,b)});if(a.horiz&&!a.staggerLines&&A&&!q.rotation){for(w=a.reversed?[].concat(e).reverse():e;x<A;){j=[];E=!1;for(q=0;q<w.length;q++)G=w[q],I=(I=f[G].label&&f[G].label.bBox)?I.width:0,B=q%x,I&&(G=a.translate(G),j[B]!==v&&G<j[B]&&(E=!0),j[B]=G+I);if(E)x++;
else break}if(x>1)a.staggerLines=x}n(e,function(b){if(h===0||h===2||{1:"left",3:"right"}[h]===a.labelAlign)la=r(f[b].getLabelSize(),la)});if(a.staggerLines)la*=a.staggerLines,a.labelOffset=la}else for(w in f)f[w].destroy(),delete f[w];if(o&&o.text&&o.enabled!==!1){if(!a.axisTitle)a.axisTitle=c.text(o.text,0,0,o.useHTML).attr({zIndex:7,rotation:o.rotation||0,align:o.textAlign||{low:"left",middle:"center",high:"right"}[o.align]}).css(o.style).add(a.axisGroup),a.axisTitle.isNew=!0;if(b)k=a.axisTitle.getBBox()[g?
"height":"width"],m=p(o.margin,g?5:10),l=o.offset;a.axisTitle[b?"show":"hide"]()}a.offset=s*p(d.offset,y[h]);a.axisTitleMargin=p(l,la+m+(h!==2&&la&&s*d.labels[g?"y":"x"]));y[h]=r(y[h],a.axisTitleMargin+k+s*a.offset);u[i]=r(u[i],P(d.lineWidth/2)*2)},getLinePath:function(a){var b=this.chart,c=this.opposite,d=this.offset,e=this.horiz,f=this.left+(c?this.width:0)+d;this.lineTop=d=b.chartHeight-this.bottom-(c?this.height:0)+d;c&&(a*=-1);return b.renderer.crispLine(["M",e?this.left:f,e?d:this.top,"L",e?
b.chartWidth-this.right:f,e?d:b.chartHeight-this.bottom],a)},getTitlePosition:function(){var a=this.horiz,b=this.left,c=this.top,d=this.len,e=this.options.title,f=a?b:c,g=this.opposite,h=this.offset,i=A(e.style.fontSize||12),d={low:f+(a?0:d),middle:f+d/2,high:f+(a?d:0)}[e.align],b=(a?c+this.height:b)+(a?1:-1)*(g?-1:1)*this.axisTitleMargin+(this.side===2?i:0);return{x:a?d:b+(g?this.width:0)+h+(e.x||0),y:a?b-(g?this.height:0)+h:d+(e.y||0)}},render:function(){var a=this,b=a.chart,c=b.renderer,d=a.options,
e=a.isLog,f=a.isLinked,g=a.tickPositions,h=a.axisTitle,i=a.stacks,j=a.ticks,k=a.minorTicks,l=a.alternateBands,m=d.stackLabels,o=d.alternateGridColor,q=a.tickmarkOffset,p=d.lineWidth,y,r=b.hasRendered&&t(a.oldMin)&&!isNaN(a.oldMin);y=a.hasData;var u=a.showAxis,s,w;n([j,k,l],function(a){for(var b in a)a[b].isActive=!1});if(y||f)if(a.minorTickInterval&&!a.categories&&n(a.getMinorTickPositions(),function(b){k[b]||(k[b]=new La(a,b,"minor"));r&&k[b].isNew&&k[b].render(null,!0);k[b].render(null,!1,1)}),
g.length&&(n(g.slice(1).concat([g[0]]),function(b,c){c=c===g.length-1?0:c+1;if(!f||b>=a.min&&b<=a.max)j[b]||(j[b]=new La(a,b)),r&&j[b].isNew&&j[b].render(c,!0),j[b].render(c,!1,1)}),q&&a.min===0&&(j[-1]||(j[-1]=new La(a,-1,null,!0)),j[-1].render(-1))),o&&n(g,function(b,c){if(c%2===0&&b<a.max)l[b]||(l[b]=new tb(a)),s=b+q,w=g[c+1]!==v?g[c+1]+q:a.max,l[b].options={from:e?fa(s):s,to:e?fa(w):w,color:o},l[b].render(),l[b].isActive=!0}),!a._addedPlotLB)n((d.plotLines||[]).concat(d.plotBands||[]),function(b){a.addPlotBandOrLine(b)}),
a._addedPlotLB=!0;n([j,k,l],function(a){var c,d,e=[],f=Da?Da.duration||500:0,g=function(){for(d=e.length;d--;)a[e[d]]&&!a[e[d]].isActive&&(a[e[d]].destroy(),delete a[e[d]])};for(c in a)if(!a[c].isActive)a[c].render(c,!1,0),a[c].isActive=!1,e.push(c);a===l||!b.hasRendered||!f?g():f&&setTimeout(g,f)});if(p)y=a.getLinePath(p),a.axisLine?a.axisLine.animate({d:y}):a.axisLine=c.path(y).attr({stroke:d.lineColor,"stroke-width":p,zIndex:7}).add(a.axisGroup),a.axisLine[u?"show":"hide"]();if(h&&u)h[h.isNew?
"attr":"animate"](a.getTitlePosition()),h.isNew=!1;if(m&&m.enabled){var x,E,d=a.stackTotalGroup;if(!d)a.stackTotalGroup=d=c.g("stack-labels").attr({visibility:"visible",zIndex:6}).add();d.translate(b.plotLeft,b.plotTop);for(x in i)for(E in c=i[x],c)c[E].render(d)}a.isDirty=!1},removePlotBandOrLine:function(a){for(var b=this.plotLinesAndBands,c=this.options,d=this.userOptions,e=b.length;e--;)b[e].id===a&&b[e].destroy();n([c.plotLines||[],d.plotLines||[],c.plotBands||[],d.plotBands||[]],function(b){for(e=
b.length;e--;)b[e].id===a&&ga(b,b[e])})},setTitle:function(a,b){this.update({title:a},b)},redraw:function(){var a=this.chart.pointer;a.reset&&a.reset(!0);this.render();n(this.plotLinesAndBands,function(a){a.render()});n(this.series,function(a){a.isDirty=!0})},buildStacks:function(){this.isXAxis||n(this.series,function(a){a.setStackedPoints()})},setCategories:function(a,b){this.update({categories:a},b)},destroy:function(a){var b=this,c=b.stacks,d,e=b.plotLinesAndBands;a||ba(b);for(d in c)Ja(c[d]),
c[d]=null;n([b.ticks,b.minorTicks,b.alternateBands],function(a){Ja(a)});for(a=e.length;a--;)e[a].destroy();n("stackTotalGroup,axisLine,axisGroup,gridGroup,labelGroup,axisTitle".split(","),function(a){b[a]&&(b[a]=b[a].destroy())})}};ub.prototype={init:function(a,b){var c=b.borderWidth,d=b.style,e=A(d.padding);this.chart=a;this.options=b;this.crosshairs=[];this.now={x:0,y:0};this.isHidden=!0;this.label=a.renderer.label("",0,0,b.shape,null,null,b.useHTML,null,"tooltip").attr({padding:e,fill:b.backgroundColor,
"stroke-width":c,r:b.borderRadius,zIndex:8}).css(d).css({padding:0}).hide().add();$||this.label.shadow(b.shadow);this.shared=b.shared},destroy:function(){n(this.crosshairs,function(a){a&&a.destroy()});if(this.label)this.label=this.label.destroy();clearTimeout(this.hideTimer);clearTimeout(this.tooltipTimeout)},move:function(a,b,c,d){var e=this,f=e.now,g=e.options.animation!==!1&&!e.isHidden;s(f,{x:g?(2*f.x+a)/3:a,y:g?(f.y+b)/2:b,anchorX:g?(2*f.anchorX+c)/3:c,anchorY:g?(f.anchorY+d)/2:d});e.label.attr(f);
if(g&&(O(a-f.x)>1||O(b-f.y)>1))clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){e&&e.move(a,b,c,d)},32)},hide:function(){var a=this,b;clearTimeout(this.hideTimer);if(!this.isHidden)b=this.chart.hoverPoints,this.hideTimer=setTimeout(function(){a.label.fadeOut();a.isHidden=!0},p(this.options.hideDelay,500)),b&&n(b,function(a){a.setState()}),this.chart.hoverPoints=null},hideCrosshairs:function(){n(this.crosshairs,function(a){a&&a.hide()})},getAnchor:function(a,b){var c,d=this.chart,
e=d.inverted,f=d.plotTop,g=0,h=0,i,a=ia(a);c=a[0].tooltipPos;this.followPointer&&b&&(b.chartX===v&&(b=d.pointer.normalize(b)),c=[b.chartX-d.plotLeft,b.chartY-f]);c||(n(a,function(a){i=a.series.yAxis;g+=a.plotX;h+=(a.plotLow?(a.plotLow+a.plotHigh)/2:a.plotY)+(!e&&i?i.top-f:0)}),g/=a.length,h/=a.length,c=[e?d.plotWidth-h:g,this.shared&&!e&&a.length>1&&b?b.chartY-f:e?d.plotHeight-g:h]);return Na(c,u)},getPosition:function(a,b,c){var d=this.chart,e=d.plotLeft,f=d.plotTop,g=d.plotWidth,h=d.plotHeight,
i=p(this.options.distance,12),j=c.plotX,c=c.plotY,d=j+e+(d.inverted?i:-a-i),k=c-b+f+15,l;d<7&&(d=e+r(j,0)+i);d+a>e+g&&(d-=d+a-(e+g),k=c-b+f-i,l=!0);k<f+5&&(k=f+5,l&&c>=k&&c<=k+b&&(k=c+f+i));k+b>f+h&&(k=r(f,f+h-b-i));return{x:d,y:k}},defaultFormatter:function(a){var b=this.points||ia(this),c=b[0].series,d;d=[c.tooltipHeaderFormatter(b[0])];n(b,function(a){c=a.series;d.push(c.tooltipFormatter&&c.tooltipFormatter(a)||a.point.tooltipFormatter(c.tooltipOptions.pointFormat))});d.push(a.options.footerFormat||
"");return d.join("")},refresh:function(a,b){var c=this.chart,d=this.label,e=this.options,f,g,h={},i,j=[];i=e.formatter||this.defaultFormatter;var h=c.hoverPoints,k,l=e.crosshairs,m=this.shared;clearTimeout(this.hideTimer);this.followPointer=ia(a)[0].series.tooltipOptions.followPointer;g=this.getAnchor(a,b);f=g[0];g=g[1];m&&(!a.series||!a.series.noSharedTooltip)?(c.hoverPoints=a,h&&n(h,function(a){a.setState()}),n(a,function(a){a.setState("hover");j.push(a.getLabelConfig())}),h={x:a[0].category,y:a[0].y},
h.points=j,a=a[0]):h=a.getLabelConfig();i=i.call(h,this);h=a.series;i===!1?this.hide():(this.isHidden&&(Wa(d),d.attr("opacity",1).show()),d.attr({text:i}),k=e.borderColor||a.color||h.color||"#606060",d.attr({stroke:k}),this.updatePosition({plotX:f,plotY:g}),this.isHidden=!1);if(l){l=ia(l);for(d=l.length;d--;)if(m=a.series,e=m[d?"yAxis":"xAxis"],l[d]&&e)if(h=d?p(a.stackY,a.y):a.x,e.isLog&&(h=na(h)),m.modifyValue&&(h=m.modifyValue(h)),e=e.getPlotLinePath(h,1),this.crosshairs[d])this.crosshairs[d].attr({d:e,
visibility:"visible"});else{h={"stroke-width":l[d].width||1,stroke:l[d].color||"#C0C0C0",zIndex:l[d].zIndex||2};if(l[d].dashStyle)h.dashstyle=l[d].dashStyle;this.crosshairs[d]=c.renderer.path(e).attr(h).add()}}K(c,"tooltipRefresh",{text:i,x:f+c.plotLeft,y:g+c.plotTop,borderColor:k})},updatePosition:function(a){var b=this.chart,c=this.label,c=(this.options.positioner||this.getPosition).call(this,c.width,c.height,a);this.move(u(c.x),u(c.y),a.plotX+b.plotLeft,a.plotY+b.plotTop)}};vb.prototype={init:function(a,
b){var c=$?"":b.chart.zoomType,d=a.inverted,e;this.options=b;this.chart=a;this.zoomX=e=/x/.test(c);this.zoomY=c=/y/.test(c);this.zoomHor=e&&!d||c&&d;this.zoomVert=c&&!d||e&&d;this.pinchDown=[];this.lastValidTouch={};if(b.tooltip.enabled)a.tooltip=new ub(a,b.tooltip);this.setDOMEvents()},normalize:function(a){var b,c,d,a=a||N.event;if(!a.target)a.target=a.srcElement;a=Sb(a);d=a.touches?a.touches.item(0):a;this.chartPosition=b=Wb(this.chart.container);d.pageX===v?(c=r(a.x,a.clientX-b.left),b=a.y):(c=
d.pageX-b.left,b=d.pageY-b.top);return s(a,{chartX:u(c),chartY:u(b)})},getCoordinates:function(a){var b={xAxis:[],yAxis:[]};n(this.chart.axes,function(c){b[c.isXAxis?"xAxis":"yAxis"].push({axis:c,value:c.toValue(a[c.horiz?"chartX":"chartY"])})});return b},getIndex:function(a){var b=this.chart;return b.inverted?b.plotHeight+b.plotTop-a.chartY:a.chartX-b.plotLeft},runPointActions:function(a){var b=this.chart,c=b.series,d=b.tooltip,e,f=b.hoverPoint,g=b.hoverSeries,h,i,j=b.chartWidth,k=this.getIndex(a);
if(d&&this.options.tooltip.shared&&(!g||!g.noSharedTooltip)){e=[];h=c.length;for(i=0;i<h;i++)if(c[i].visible&&c[i].options.enableMouseTracking!==!1&&!c[i].noSharedTooltip&&c[i].tooltipPoints.length&&(b=c[i].tooltipPoints[k],b.series))b._dist=O(k-b.clientX),j=C(j,b._dist),e.push(b);for(h=e.length;h--;)e[h]._dist>j&&e.splice(h,1);if(e.length&&e[0].clientX!==this.hoverX)d.refresh(e,a),this.hoverX=e[0].clientX}if(g&&g.tracker){if((b=g.tooltipPoints[k])&&b!==f)b.onMouseOver(a)}else d&&d.followPointer&&
!d.isHidden&&(a=d.getAnchor([{}],a),d.updatePosition({plotX:a[0],plotY:a[1]}))},reset:function(a){var b=this.chart,c=b.hoverSeries,d=b.hoverPoint,e=b.tooltip,b=e&&e.shared?b.hoverPoints:d;(a=a&&e&&b)&&ia(b)[0].plotX===v&&(a=!1);if(a)e.refresh(b);else{if(d)d.onMouseOut();if(c)c.onMouseOut();e&&(e.hide(),e.hideCrosshairs());this.hoverX=null}},scaleGroups:function(a,b){var c=this.chart,d;n(c.series,function(e){d=a||e.getPlotBox();e.xAxis&&e.xAxis.zoomEnabled&&(e.group.attr(d),e.markerGroup&&(e.markerGroup.attr(d),
e.markerGroup.clip(b?c.clipRect:null)),e.dataLabelsGroup&&e.dataLabelsGroup.attr(d))});c.clipRect.attr(b||c.clipBox)},pinchTranslateDirection:function(a,b,c,d,e,f,g){var h=this.chart,i=a?"x":"y",j=a?"X":"Y",k="chart"+j,l=a?"width":"height",m=h["plot"+(a?"Left":"Top")],o,q,p=1,n=h.inverted,r=h.bounds[a?"h":"v"],u=b.length===1,t=b[0][k],s=c[0][k],w=!u&&b[1][k],v=!u&&c[1][k],x,c=function(){!u&&O(t-w)>20&&(p=O(s-v)/O(t-w));q=(m-s)/p+t;o=h["plot"+(a?"Width":"Height")]/p};c();b=q;b<r.min?(b=r.min,x=!0):
b+o>r.max&&(b=r.max-o,x=!0);x?(s-=0.8*(s-g[i][0]),u||(v-=0.8*(v-g[i][1])),c()):g[i]=[s,v];n||(f[i]=q-m,f[l]=o);f=n?1/p:p;e[l]=o;e[i]=b;d[n?a?"scaleY":"scaleX":"scale"+j]=p;d["translate"+j]=f*m+(s-f*t)},pinch:function(a){var b=this,c=b.chart,d=b.pinchDown,e=c.tooltip&&c.tooltip.options.followTouchMove,f=a.touches,g=f.length,h=b.lastValidTouch,i=b.zoomHor||b.pinchHor,j=b.zoomVert||b.pinchVert,k=i||j,l=b.selectionMarker,m={},o={};(e||k)&&a.preventDefault();Na(f,function(a){return b.normalize(a)});if(a.type===
"touchstart")n(f,function(a,b){d[b]={chartX:a.chartX,chartY:a.chartY}}),h.x=[d[0].chartX,d[1]&&d[1].chartX],h.y=[d[0].chartY,d[1]&&d[1].chartY],n(c.axes,function(a){if(a.zoomEnabled){var b=c.bounds[a.horiz?"h":"v"],d=a.minPixelPadding,e=a.toPixels(a.dataMin),f=a.toPixels(a.dataMax),g=C(e,f),e=r(e,f);b.min=C(a.pos,g-d);b.max=r(a.pos+a.len,e+d)}});else if(d.length){if(!l)b.selectionMarker=l=s({destroy:ya},c.plotBox);i&&b.pinchTranslateDirection(!0,d,f,m,l,o,h);j&&b.pinchTranslateDirection(!1,d,f,m,
l,o,h);b.hasPinched=k;b.scaleGroups(m,o);!k&&e&&g===1&&this.runPointActions(b.normalize(a))}},dragStart:function(a){var b=this.chart;b.mouseIsDown=a.type;b.cancelClick=!1;b.mouseDownX=this.mouseDownX=a.chartX;b.mouseDownY=this.mouseDownY=a.chartY},drag:function(a){var b=this.chart,c=b.options.chart,d=a.chartX,e=a.chartY,f=this.zoomHor,g=this.zoomVert,h=b.plotLeft,i=b.plotTop,j=b.plotWidth,k=b.plotHeight,l,m=this.mouseDownX,o=this.mouseDownY;d<h?d=h:d>h+j&&(d=h+j);e<i?e=i:e>i+k&&(e=i+k);this.hasDragged=
Math.sqrt(Math.pow(m-d,2)+Math.pow(o-e,2));if(this.hasDragged>10){l=b.isInsidePlot(m-h,o-i);if(b.hasCartesianSeries&&(this.zoomX||this.zoomY)&&l&&!this.selectionMarker)this.selectionMarker=b.renderer.rect(h,i,f?1:j,g?1:k,0).attr({fill:c.selectionMarkerFill||"rgba(69,114,167,0.25)",zIndex:7}).add();this.selectionMarker&&f&&(d-=m,this.selectionMarker.attr({width:O(d),x:(d>0?0:d)+m}));this.selectionMarker&&g&&(d=e-o,this.selectionMarker.attr({height:O(d),y:(d>0?0:d)+o}));l&&!this.selectionMarker&&c.panning&&
b.pan(a,c.panning)}},drop:function(a){var b=this.chart,c=this.hasPinched;if(this.selectionMarker){var d={xAxis:[],yAxis:[],originalEvent:a.originalEvent||a},e=this.selectionMarker,f=e.x,g=e.y,h;if(this.hasDragged||c)n(b.axes,function(a){if(a.zoomEnabled){var b=a.horiz,c=a.toValue(b?f:g),b=a.toValue(b?f+e.width:g+e.height);!isNaN(c)&&!isNaN(b)&&(d[a.xOrY+"Axis"].push({axis:a,min:C(c,b),max:r(c,b)}),h=!0)}}),h&&K(b,"selection",d,function(a){b.zoom(s(a,c?{animation:!1}:null))});this.selectionMarker=
this.selectionMarker.destroy();c&&this.scaleGroups()}if(b)L(b.container,{cursor:b._cursor}),b.cancelClick=this.hasDragged>10,b.mouseIsDown=this.hasDragged=this.hasPinched=!1,this.pinchDown=[]},onContainerMouseDown:function(a){a=this.normalize(a);a.preventDefault&&a.preventDefault();this.dragStart(a)},onDocumentMouseUp:function(a){this.drop(a)},onDocumentMouseMove:function(a){var b=this.chart,c=this.chartPosition,d=b.hoverSeries,a=Sb(a);c&&d&&!this.inClass(a.target,"highcharts-tracker")&&!b.isInsidePlot(a.pageX-
c.left-b.plotLeft,a.pageY-c.top-b.plotTop)&&this.reset()},onContainerMouseLeave:function(){this.reset();this.chartPosition=null},onContainerMouseMove:function(a){var b=this.chart,a=this.normalize(a);a.returnValue=!1;b.mouseIsDown==="mousedown"&&this.drag(a);(this.inClass(a.target,"highcharts-tracker")||b.isInsidePlot(a.chartX-b.plotLeft,a.chartY-b.plotTop))&&!b.openMenu&&this.runPointActions(a)},inClass:function(a,b){for(var c;a;){if(c=w(a,"class"))if(c.indexOf(b)!==-1)return!0;else if(c.indexOf("highcharts-container")!==
-1)return!1;a=a.parentNode}},onTrackerMouseOut:function(a){var b=this.chart.hoverSeries;if(b&&!b.options.stickyTracking&&!this.inClass(a.toElement||a.relatedTarget,"highcharts-tooltip"))b.onMouseOut()},onContainerClick:function(a){var b=this.chart,c=b.hoverPoint,d=b.plotLeft,e=b.plotTop,f=b.inverted,g,h,i,a=this.normalize(a);a.cancelBubble=!0;if(!b.cancelClick)c&&this.inClass(a.target,"highcharts-tracker")?(g=this.chartPosition,h=c.plotX,i=c.plotY,s(c,{pageX:g.left+d+(f?b.plotWidth-i:h),pageY:g.top+
e+(f?b.plotHeight-h:i)}),K(c.series,"click",s(a,{point:c})),b.hoverPoint&&c.firePointEvent("click",a)):(s(a,this.getCoordinates(a)),b.isInsidePlot(a.chartX-d,a.chartY-e)&&K(b,"click",a))},onContainerTouchStart:function(a){var b=this.chart;a.touches.length===1?(a=this.normalize(a),b.isInsidePlot(a.chartX-b.plotLeft,a.chartY-b.plotTop)?(this.runPointActions(a),this.pinch(a)):this.reset()):a.touches.length===2&&this.pinch(a)},onContainerTouchMove:function(a){(a.touches.length===1||a.touches.length===
2)&&this.pinch(a)},onDocumentTouchEnd:function(a){this.drop(a)},setDOMEvents:function(){var a=this,b=a.chart.container,c;this._events=c=[[b,"onmousedown","onContainerMouseDown"],[b,"onmousemove","onContainerMouseMove"],[b,"onclick","onContainerClick"],[b,"mouseleave","onContainerMouseLeave"],[z,"mousemove","onDocumentMouseMove"],[z,"mouseup","onDocumentMouseUp"]];hb&&c.push([b,"ontouchstart","onContainerTouchStart"],[b,"ontouchmove","onContainerTouchMove"],[z,"touchend","onDocumentTouchEnd"]);n(c,
function(b){a["_"+b[2]]=function(c){a[b[2]](c)};b[1].indexOf("on")===0?b[0][b[1]]=a["_"+b[2]]:J(b[0],b[1],a["_"+b[2]])})},destroy:function(){var a=this;n(a._events,function(b){b[1].indexOf("on")===0?b[0][b[1]]=null:ba(b[0],b[1],a["_"+b[2]])});delete a._events;clearInterval(a.tooltipTimeout)}};wb.prototype={init:function(a,b){var c=this,d=b.itemStyle,e=p(b.padding,8),f=b.itemMarginTop||0;this.options=b;if(b.enabled)c.baseline=A(d.fontSize)+3+f,c.itemStyle=d,c.itemHiddenStyle=x(d,b.itemHiddenStyle),
c.itemMarginTop=f,c.padding=e,c.initialItemX=e,c.initialItemY=e-5,c.maxItemWidth=0,c.chart=a,c.itemHeight=0,c.lastLineHeight=0,c.render(),J(c.chart,"endResize",function(){c.positionCheckboxes()})},colorizeItem:function(a,b){var c=this.options,d=a.legendItem,e=a.legendLine,f=a.legendSymbol,g=this.itemHiddenStyle.color,c=b?c.itemStyle.color:g,h=b?a.color:g,g=a.options&&a.options.marker,i={stroke:h,fill:h},j;d&&d.css({fill:c,color:c});e&&e.attr({stroke:h});if(f){if(g&&f.isMarker)for(j in g=a.convertAttribs(g),
g)d=g[j],d!==v&&(i[j]=d);f.attr(i)}},positionItem:function(a){var b=this.options,c=b.symbolPadding,b=!b.rtl,d=a._legendItemPos,e=d[0],d=d[1],f=a.checkbox;a.legendGroup&&a.legendGroup.translate(b?e:this.legendWidth-e-2*c-4,d);if(f)f.x=e,f.y=d},destroyItem:function(a){var b=a.checkbox;n(["legendItem","legendLine","legendSymbol","legendGroup"],function(b){a[b]&&(a[b]=a[b].destroy())});b&&Ta(a.checkbox)},destroy:function(){var a=this.group,b=this.box;if(b)this.box=b.destroy();if(a)this.group=a.destroy()},
positionCheckboxes:function(a){var b=this.group.alignAttr,c,d=this.clipHeight||this.legendHeight;if(b)c=b.translateY,n(this.allItems,function(e){var f=e.checkbox,g;f&&(g=c+f.y+(a||0)+3,L(f,{left:b.translateX+e.legendItemWidth+f.x-20+"px",top:g+"px",display:g>c-6&&g<c+d-6?"":S}))})},renderTitle:function(){var a=this.padding,b=this.options.title,c=0;if(b.text){if(!this.title)this.title=this.chart.renderer.label(b.text,a-3,a-4,null,null,null,null,null,"legend-title").attr({zIndex:1}).css(b.style).add(this.group);
a=this.title.getBBox();c=a.height;this.offsetWidth=a.width;this.contentGroup.attr({translateY:c})}this.titleHeight=c},renderItem:function(a){var B;var b=this,c=b.chart,d=c.renderer,e=b.options,f=e.layout==="horizontal",g=e.symbolWidth,h=e.symbolPadding,i=b.itemStyle,j=b.itemHiddenStyle,k=b.padding,l=f?p(e.itemDistance,8):0,m=!e.rtl,o=e.width,q=e.itemMarginBottom||0,n=b.itemMarginTop,y=b.initialItemX,u=a.legendItem,t=a.series||a,s=t.options,w=s.showCheckbox,v=e.useHTML;if(!u&&(a.legendGroup=d.g("legend-item").attr({zIndex:1}).add(b.scrollGroup),
t.drawLegendSymbol(b,a),a.legendItem=u=d.text(e.labelFormat?Ba(e.labelFormat,a):e.labelFormatter.call(a),m?g+h:-h,b.baseline,v).css(x(a.visible?i:j)).attr({align:m?"left":"right",zIndex:2}).add(a.legendGroup),(v?u:a.legendGroup).on("mouseover",function(){a.setState("hover");u.css(b.options.itemHoverStyle)}).on("mouseout",function(){u.css(a.visible?i:j);a.setState()}).on("click",function(b){var c=function(){a.setVisible()},b={browserEvent:b};a.firePointEvent?a.firePointEvent("legendItemClick",b,c):
K(a,"legendItemClick",b,c)}),b.colorizeItem(a,a.visible),s&&w))a.checkbox=U("input",{type:"checkbox",checked:a.selected,defaultChecked:a.selected},e.itemCheckboxStyle,c.container),J(a.checkbox,"click",function(b){K(a,"checkboxClick",{checked:b.target.checked},function(){a.select()})});d=u.getBBox();B=a.legendItemWidth=e.itemWidth||g+h+d.width+l+(w?20:0),e=B;b.itemHeight=g=d.height;if(f&&b.itemX-y+e>(o||c.chartWidth-2*k-y))b.itemX=y,b.itemY+=n+b.lastLineHeight+q,b.lastLineHeight=0;b.maxItemWidth=r(b.maxItemWidth,
e);b.lastItemY=n+b.itemY+q;b.lastLineHeight=r(g,b.lastLineHeight);a._legendItemPos=[b.itemX,b.itemY];f?b.itemX+=e:(b.itemY+=n+g+q,b.lastLineHeight=g);b.offsetWidth=o||r((f?b.itemX-y-l:e)+k,b.offsetWidth)},render:function(){var a=this,b=a.chart,c=b.renderer,d=a.group,e,f,g,h,i=a.box,j=a.options,k=a.padding,l=j.borderWidth,m=j.backgroundColor;a.itemX=a.initialItemX;a.itemY=a.initialItemY;a.offsetWidth=0;a.lastItemY=0;if(!d)a.group=d=c.g("legend").attr({zIndex:7}).add(),a.contentGroup=c.g().attr({zIndex:1}).add(d),
a.scrollGroup=c.g().add(a.contentGroup);a.renderTitle();e=[];n(b.series,function(a){var b=a.options;b.showInLegend&&!t(b.linkedTo)&&(e=e.concat(a.legendItems||(b.legendType==="point"?a.data:a)))});Kb(e,function(a,b){return(a.options&&a.options.legendIndex||0)-(b.options&&b.options.legendIndex||0)});j.reversed&&e.reverse();a.allItems=e;a.display=f=!!e.length;n(e,function(b){a.renderItem(b)});g=j.width||a.offsetWidth;h=a.lastItemY+a.lastLineHeight+a.titleHeight;h=a.handleOverflow(h);if(l||m){g+=k;h+=
k;if(i){if(g>0&&h>0)i[i.isNew?"attr":"animate"](i.crisp(null,null,null,g,h)),i.isNew=!1}else a.box=i=c.rect(0,0,g,h,j.borderRadius,l||0).attr({stroke:j.borderColor,"stroke-width":l||0,fill:m||S}).add(d).shadow(j.shadow),i.isNew=!0;i[f?"show":"hide"]()}a.legendWidth=g;a.legendHeight=h;n(e,function(b){a.positionItem(b)});f&&d.align(s({width:g,height:h},j),!0,"spacingBox");b.isResizing||this.positionCheckboxes()},handleOverflow:function(a){var b=this,c=this.chart,d=c.renderer,e=this.options,f=e.y,f=
c.spacingBox.height+(e.verticalAlign==="top"?-f:f)-this.padding,g=e.maxHeight,h=this.clipRect,i=e.navigation,j=p(i.animation,!0),k=i.arrowSize||12,l=this.nav;e.layout==="horizontal"&&(f/=2);g&&(f=C(f,g));if(a>f&&!e.useHTML){this.clipHeight=c=f-20-this.titleHeight;this.pageCount=wa(a/c);this.currentPage=p(this.currentPage,1);this.fullHeight=a;if(!h)h=b.clipRect=d.clipRect(0,0,9999,0),b.contentGroup.clip(h);h.attr({height:c});if(!l)this.nav=l=d.g().attr({zIndex:1}).add(this.group),this.up=d.symbol("triangle",
0,0,k,k).on("click",function(){b.scroll(-1,j)}).add(l),this.pager=d.text("",15,10).css(i.style).add(l),this.down=d.symbol("triangle-down",0,0,k,k).on("click",function(){b.scroll(1,j)}).add(l);b.scroll(0);a=f}else if(l)h.attr({height:c.chartHeight}),l.hide(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0;return a},scroll:function(a,b){var c=this.pageCount,d=this.currentPage+a,e=this.clipHeight,f=this.options.navigation,g=f.activeColor,h=f.inactiveColor,f=this.pager,i=this.padding;d>c&&(d=
c);if(d>0)b!==v&&Ka(b,this.chart),this.nav.attr({translateX:i,translateY:e+7+this.titleHeight,visibility:"visible"}),this.up.attr({fill:d===1?h:g}).css({cursor:d===1?"default":"pointer"}),f.attr({text:d+"/"+this.pageCount}),this.down.attr({x:18+this.pager.getBBox().width,fill:d===c?h:g}).css({cursor:d===c?"default":"pointer"}),e=-C(e*(d-1),this.fullHeight-e+i)+1,this.scrollGroup.animate({translateY:e}),f.attr({text:d+"/"+c}),this.currentPage=d,this.positionCheckboxes(e)}};xb.prototype={init:function(a,
b){var c,d=a.series;a.series=null;c=x(M,a);c.series=a.series=d;var d=c.chart,e=d.margin,e=T(e)?e:[e,e,e,e];this.optionsMarginTop=p(d.marginTop,e[0]);this.optionsMarginRight=p(d.marginRight,e[1]);this.optionsMarginBottom=p(d.marginBottom,e[2]);this.optionsMarginLeft=p(d.marginLeft,e[3]);e=d.events;this.bounds={h:{},v:{}};this.callback=b;this.isResizing=0;this.options=c;this.axes=[];this.series=[];this.hasCartesianSeries=d.showAxes;var f=this,g;f.index=Fa.length;Fa.push(f);d.reflow!==!1&&J(f,"load",
function(){f.initReflow()});if(e)for(g in e)J(f,g,e[g]);f.xAxis=[];f.yAxis=[];f.animation=$?!1:p(d.animation,!0);f.pointCount=0;f.counters=new Jb;f.firstRender()},initSeries:function(a){var b=this.options.chart;(b=aa[a.type||b.type||b.defaultSeriesType])||ja(17,!0);b=new b;b.init(this,a);return b},addSeries:function(a,b,c){var d,e=this;a&&(b=p(b,!0),K(e,"addSeries",{options:a},function(){d=e.initSeries(a);e.isDirtyLegend=!0;e.linkSeries();b&&e.redraw(c)}));return d},addAxis:function(a,b,c,d){var e=
b?"xAxis":"yAxis",f=this.options;new db(this,x(a,{index:this[e].length,isX:b}));f[e]=ia(f[e]||{});f[e].push(a);p(c,!0)&&this.redraw(d)},isInsidePlot:function(a,b,c){var d=c?b:a,a=c?a:b;return d>=0&&d<=this.plotWidth&&a>=0&&a<=this.plotHeight},adjustTickAmounts:function(){this.options.chart.alignTicks!==!1&&n(this.axes,function(a){a.adjustTickAmount()});this.maxTicks=null},redraw:function(a){var b=this.axes,c=this.series,d=this.pointer,e=this.legend,f=this.isDirtyLegend,g,h,i=this.isDirtyBox,j=c.length,
k=j,l=this.renderer,m=l.isHidden(),o=[];Ka(a,this);m&&this.cloneRenderTo();for(this.layOutTitles();k--;)if(a=c[k],a.options.stacking&&(g=!0,a.isDirty)){h=!0;break}if(h)for(k=j;k--;)if(a=c[k],a.options.stacking)a.isDirty=!0;n(c,function(a){a.isDirty&&a.options.legendType==="point"&&(f=!0)});if(f&&e.options.enabled)e.render(),this.isDirtyLegend=!1;g&&this.getStacks();if(this.hasCartesianSeries){if(!this.isResizing)this.maxTicks=null,n(b,function(a){a.setScale()});this.adjustTickAmounts();this.getMargins();
n(b,function(a){a.isDirty&&(i=!0)});n(b,function(a){if(a.isDirtyExtremes)a.isDirtyExtremes=!1,o.push(function(){K(a,"afterSetExtremes",a.getExtremes())});(i||g)&&a.redraw()})}i&&this.drawChartBox();n(c,function(a){a.isDirty&&a.visible&&(!a.isCartesian||a.xAxis)&&a.redraw()});d&&d.reset&&d.reset(!0);l.draw();K(this,"redraw");m&&this.cloneRenderTo(!0);n(o,function(a){a.call()})},showLoading:function(a){var b=this.options,c=this.loadingDiv,d=b.loading;if(!c)this.loadingDiv=c=U(Ca,{className:"highcharts-loading"},
s(d.style,{zIndex:10,display:S}),this.container),this.loadingSpan=U("span",null,d.labelStyle,c);this.loadingSpan.innerHTML=a||b.lang.loading;if(!this.loadingShown)L(c,{opacity:0,display:"",left:this.plotLeft+"px",top:this.plotTop+"px",width:this.plotWidth+"px",height:this.plotHeight+"px"}),Ab(c,{opacity:d.style.opacity},{duration:d.showDuration||0}),this.loadingShown=!0},hideLoading:function(){var a=this.options,b=this.loadingDiv;b&&Ab(b,{opacity:0},{duration:a.loading.hideDuration||100,complete:function(){L(b,
{display:S})}});this.loadingShown=!1},get:function(a){var b=this.axes,c=this.series,d,e;for(d=0;d<b.length;d++)if(b[d].options.id===a)return b[d];for(d=0;d<c.length;d++)if(c[d].options.id===a)return c[d];for(d=0;d<c.length;d++){e=c[d].points||[];for(b=0;b<e.length;b++)if(e[b].id===a)return e[b]}return null},getAxes:function(){var a=this,b=this.options,c=b.xAxis=ia(b.xAxis||{}),b=b.yAxis=ia(b.yAxis||{});n(c,function(a,b){a.index=b;a.isX=!0});n(b,function(a,b){a.index=b});c=c.concat(b);n(c,function(b){new db(a,
b)});a.adjustTickAmounts()},getSelectedPoints:function(){var a=[];n(this.series,function(b){a=a.concat(sb(b.points||[],function(a){return a.selected}))});return a},getSelectedSeries:function(){return sb(this.series,function(a){return a.selected})},getStacks:function(){var a=this;n(a.yAxis,function(a){if(a.stacks&&a.hasVisibleSeries)a.oldStacks=a.stacks});n(a.series,function(b){if(b.options.stacking&&(b.visible===!0||a.options.chart.ignoreHiddenSeries===!1))b.stackKey=b.type+p(b.options.stack,"")})},
showResetZoom:function(){var a=this,b=M.lang,c=a.options.chart.resetZoomButton,d=c.theme,e=d.states,f=c.relativeTo==="chart"?null:"plotBox";this.resetZoomButton=a.renderer.button(b.resetZoom,null,null,function(){a.zoomOut()},d,e&&e.hover).attr({align:c.position.align,title:b.resetZoomTitle}).add().align(c.position,!1,f)},zoomOut:function(){var a=this;K(a,"selection",{resetSelection:!0},function(){a.zoom()})},zoom:function(a){var b,c=this.pointer,d=!1,e;!a||a.resetSelection?n(this.axes,function(a){b=
a.zoom()}):n(a.xAxis.concat(a.yAxis),function(a){var e=a.axis,h=e.isXAxis;if(c[h?"zoomX":"zoomY"]||c[h?"pinchX":"pinchY"])b=e.zoom(a.min,a.max),e.displayBtn&&(d=!0)});e=this.resetZoomButton;if(d&&!e)this.showResetZoom();else if(!d&&T(e))this.resetZoomButton=e.destroy();b&&this.redraw(p(this.options.chart.animation,a&&a.animation,this.pointCount<100))},pan:function(a,b){var c=this,d=c.hoverPoints,e;d&&n(d,function(a){a.setState()});n(b==="xy"?[1,0]:[1],function(b){var d=a[b?"chartX":"chartY"],h=c[b?
"xAxis":"yAxis"][0],i=c[b?"mouseDownX":"mouseDownY"],j=(h.pointRange||0)/2,k=h.getExtremes(),l=h.toValue(i-d,!0)+j,i=h.toValue(i+c[b?"plotWidth":"plotHeight"]-d,!0)-j;h.series.length&&l>C(k.dataMin,k.min)&&i<r(k.dataMax,k.max)&&(h.setExtremes(l,i,!1,!1,{trigger:"pan"}),e=!0);c[b?"mouseDownX":"mouseDownY"]=d});e&&c.redraw(!1);L(c.container,{cursor:"move"})},setTitle:function(a,b){var f;var c=this,d=c.options,e;e=d.title=x(d.title,a);f=d.subtitle=x(d.subtitle,b),d=f;n([["title",a,e],["subtitle",b,d]],
function(a){var b=a[0],d=c[b],e=a[1],a=a[2];d&&e&&(c[b]=d=d.destroy());a&&a.text&&!d&&(c[b]=c.renderer.text(a.text,0,0,a.useHTML).attr({align:a.align,"class":"highcharts-"+b,zIndex:a.zIndex||4}).css(a.style).add())});c.layOutTitles()},layOutTitles:function(){var a=0,b=this.title,c=this.subtitle,d=this.options,e=d.title,d=d.subtitle,f=this.spacingBox.width-44;if(b&&(b.css({width:(e.width||f)+"px"}).align(s({y:15},e),!1,"spacingBox"),!e.floating&&!e.verticalAlign))a=b.getBBox().height,a>=18&&a<=25&&
(a=15);c&&(c.css({width:(d.width||f)+"px"}).align(s({y:a+e.margin},d),!1,"spacingBox"),!d.floating&&!d.verticalAlign&&(a=wa(a+c.getBBox().height)));this.titleOffset=a},getChartSize:function(){var a=this.options.chart,b=this.renderToClone||this.renderTo;this.containerWidth=ib(b,"width");this.containerHeight=ib(b,"height");this.chartWidth=r(0,a.width||this.containerWidth||600);this.chartHeight=r(0,p(a.height,this.containerHeight>19?this.containerHeight:400))},cloneRenderTo:function(a){var b=this.renderToClone,
c=this.container;a?b&&(this.renderTo.appendChild(c),Ta(b),delete this.renderToClone):(c&&c.parentNode===this.renderTo&&this.renderTo.removeChild(c),this.renderToClone=b=this.renderTo.cloneNode(0),L(b,{position:"absolute",top:"-9999px",display:"block"}),z.body.appendChild(b),c&&b.appendChild(c))},getContainer:function(){var a,b=this.options.chart,c,d,e;this.renderTo=a=b.renderTo;e="highcharts-"+yb++;if(ea(a))this.renderTo=a=z.getElementById(a);a||ja(13,!0);c=A(w(a,"data-highcharts-chart"));!isNaN(c)&&
Fa[c]&&Fa[c].destroy();w(a,"data-highcharts-chart",this.index);a.innerHTML="";a.offsetWidth||this.cloneRenderTo();this.getChartSize();c=this.chartWidth;d=this.chartHeight;this.container=a=U(Ca,{className:"highcharts-container"+(b.className?" "+b.className:""),id:e},s({position:"relative",overflow:"hidden",width:c+"px",height:d+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)"},b.style),this.renderToClone||a);this._cursor=a.style.cursor;this.renderer=
b.forExport?new Ga(a,c,d,!0):new Va(a,c,d);$&&this.renderer.create(this,a,c,d)},getMargins:function(){var a=this.options.chart,b=a.spacingTop,c=a.spacingRight,d=a.spacingBottom,a=a.spacingLeft,e,f=this.legend,g=this.optionsMarginTop,h=this.optionsMarginLeft,i=this.optionsMarginRight,j=this.optionsMarginBottom,k=this.options.legend,l=p(k.margin,10),m=k.x,o=k.y,q=k.align,u=k.verticalAlign,y=this.titleOffset;this.resetMargins();e=this.axisOffset;if(y&&!t(g))this.plotTop=r(this.plotTop,y+this.options.title.margin+
b);if(f.display&&!k.floating)if(q==="right"){if(!t(i))this.marginRight=r(this.marginRight,f.legendWidth-m+l+c)}else if(q==="left"){if(!t(h))this.plotLeft=r(this.plotLeft,f.legendWidth+m+l+a)}else if(u==="top"){if(!t(g))this.plotTop=r(this.plotTop,f.legendHeight+o+l+b)}else if(u==="bottom"&&!t(j))this.marginBottom=r(this.marginBottom,f.legendHeight-o+l+d);this.extraBottomMargin&&(this.marginBottom+=this.extraBottomMargin);this.extraTopMargin&&(this.plotTop+=this.extraTopMargin);this.hasCartesianSeries&&
n(this.axes,function(a){a.getOffset()});t(h)||(this.plotLeft+=e[3]);t(g)||(this.plotTop+=e[0]);t(j)||(this.marginBottom+=e[2]);t(i)||(this.marginRight+=e[1]);this.setChartSize()},initReflow:function(){function a(a){var g=c.width||ib(d,"width"),h=c.height||ib(d,"height"),a=a?a.target:N;if(!b.hasUserSize&&g&&h&&(a===N||a===z)){if(g!==b.containerWidth||h!==b.containerHeight)clearTimeout(e),b.reflowTimeout=e=setTimeout(function(){if(b.container)b.setSize(g,h,!1),b.hasUserSize=null},100);b.containerWidth=
g;b.containerHeight=h}}var b=this,c=b.options.chart,d=b.renderTo,e;J(N,"resize",a);J(b,"destroy",function(){ba(N,"resize",a)})},setSize:function(a,b,c){var d=this,e,f,g;d.isResizing+=1;g=function(){d&&K(d,"endResize",null,function(){d.isResizing-=1})};Ka(c,d);d.oldChartHeight=d.chartHeight;d.oldChartWidth=d.chartWidth;if(t(a))d.chartWidth=e=r(0,u(a)),d.hasUserSize=!!e;if(t(b))d.chartHeight=f=r(0,u(b));L(d.container,{width:e+"px",height:f+"px"});d.setChartSize(!0);d.renderer.setSize(e,f,c);d.maxTicks=
null;n(d.axes,function(a){a.isDirty=!0;a.setScale()});n(d.series,function(a){a.isDirty=!0});d.isDirtyLegend=!0;d.isDirtyBox=!0;d.getMargins();d.redraw(c);d.oldChartHeight=null;K(d,"resize");Da===!1?g():setTimeout(g,Da&&Da.duration||500)},setChartSize:function(a){var b=this.inverted,c=this.renderer,d=this.chartWidth,e=this.chartHeight,f=this.options.chart,g=f.spacingTop,h=f.spacingRight,i=f.spacingBottom,j=f.spacingLeft,k=this.clipOffset,l,m,o,q;this.plotLeft=l=u(this.plotLeft);this.plotTop=m=u(this.plotTop);
this.plotWidth=o=r(0,u(d-l-this.marginRight));this.plotHeight=q=r(0,u(e-m-this.marginBottom));this.plotSizeX=b?q:o;this.plotSizeY=b?o:q;this.plotBorderWidth=f.plotBorderWidth||0;this.spacingBox=c.spacingBox={x:j,y:g,width:d-j-h,height:e-g-i};this.plotBox=c.plotBox={x:l,y:m,width:o,height:q};d=2*P(this.plotBorderWidth/2);b=wa(r(d,k[3])/2);c=wa(r(d,k[0])/2);this.clipBox={x:b,y:c,width:P(this.plotSizeX-r(d,k[1])/2-b),height:P(this.plotSizeY-r(d,k[2])/2-c)};a||n(this.axes,function(a){a.setAxisSize();
a.setAxisTranslation()})},resetMargins:function(){var a=this.options.chart,b=a.spacingRight,c=a.spacingBottom,d=a.spacingLeft;this.plotTop=p(this.optionsMarginTop,a.spacingTop);this.marginRight=p(this.optionsMarginRight,b);this.marginBottom=p(this.optionsMarginBottom,c);this.plotLeft=p(this.optionsMarginLeft,d);this.axisOffset=[0,0,0,0];this.clipOffset=[0,0,0,0]},drawChartBox:function(){var a=this.options.chart,b=this.renderer,c=this.chartWidth,d=this.chartHeight,e=this.chartBackground,f=this.plotBackground,
g=this.plotBorder,h=this.plotBGImage,i=a.borderWidth||0,j=a.backgroundColor,k=a.plotBackgroundColor,l=a.plotBackgroundImage,m=a.plotBorderWidth||0,o,q=this.plotLeft,p=this.plotTop,n=this.plotWidth,r=this.plotHeight,u=this.plotBox,t=this.clipRect,s=this.clipBox;o=i+(a.shadow?8:0);if(i||j)if(e)e.animate(e.crisp(null,null,null,c-o,d-o));else{e={fill:j||S};if(i)e.stroke=a.borderColor,e["stroke-width"]=i;this.chartBackground=b.rect(o/2,o/2,c-o,d-o,a.borderRadius,i).attr(e).add().shadow(a.shadow)}if(k)f?
f.animate(u):this.plotBackground=b.rect(q,p,n,r,0).attr({fill:k}).add().shadow(a.plotShadow);if(l)h?h.animate(u):this.plotBGImage=b.image(l,q,p,n,r).add();t?t.animate({width:s.width,height:s.height}):this.clipRect=b.clipRect(s);if(m)g?g.animate(g.crisp(null,q,p,n,r)):this.plotBorder=b.rect(q,p,n,r,0,-m).attr({stroke:a.plotBorderColor,"stroke-width":m,zIndex:1}).add();this.isDirtyBox=!1},propFromSeries:function(){var a=this,b=a.options.chart,c,d=a.options.series,e,f;n(["inverted","angular","polar"],
function(g){c=aa[b.type||b.defaultSeriesType];f=a[g]||b[g]||c&&c.prototype[g];for(e=d&&d.length;!f&&e--;)(c=aa[d[e].type])&&c.prototype[g]&&(f=!0);a[g]=f})},linkSeries:function(){var a=this,b=a.series;n(b,function(a){a.linkedSeries.length=0});n(b,function(b){var d=b.options.linkedTo;if(ea(d)&&(d=d===":previous"?a.series[b.index-1]:a.get(d)))d.linkedSeries.push(b),b.linkedParent=d})},render:function(){var a=this,b=a.axes,c=a.renderer,d=a.options,e=d.labels,f=d.credits,g;a.setTitle();a.legend=new wb(a,
d.legend);a.getStacks();n(b,function(a){a.setScale()});a.getMargins();a.maxTicks=null;n(b,function(a){a.setTickPositions(!0);a.setMaxTicks()});a.adjustTickAmounts();a.getMargins();a.drawChartBox();a.hasCartesianSeries&&n(b,function(a){a.render()});if(!a.seriesGroup)a.seriesGroup=c.g("series-group").attr({zIndex:3}).add();n(a.series,function(a){a.translate();a.setTooltipPoints();a.render()});e.items&&n(e.items,function(b){var d=s(e.style,b.style),f=A(d.left)+a.plotLeft,g=A(d.top)+a.plotTop+12;delete d.left;
delete d.top;c.text(b.html,f,g).attr({zIndex:2}).css(d).add()});if(f.enabled&&!a.credits)g=f.href,a.credits=c.text(f.text,0,0).on("click",function(){if(g)location.href=g}).attr({align:f.position.align,zIndex:8}).css(f.style).add().align(f.position);a.hasRendered=!0},destroy:function(){var a=this,b=a.axes,c=a.series,d=a.container,e,f=d&&d.parentNode;K(a,"destroy");Fa[a.index]=v;a.renderTo.removeAttribute("data-highcharts-chart");ba(a);for(e=b.length;e--;)b[e]=b[e].destroy();for(e=c.length;e--;)c[e]=
c[e].destroy();n("title,subtitle,chartBackground,plotBackground,plotBGImage,plotBorder,seriesGroup,clipRect,credits,pointer,scroller,rangeSelector,legend,resetZoomButton,tooltip,renderer".split(","),function(b){var c=a[b];c&&c.destroy&&(a[b]=c.destroy())});if(d)d.innerHTML="",ba(d),f&&Ta(d);for(e in a)delete a[e]},isReadyToRender:function(){var a=this;return!Z&&N==N.top&&z.readyState!=="complete"||$&&!N.canvg?($?Tb.push(function(){a.firstRender()},a.options.global.canvasToolsURL):z.attachEvent("onreadystatechange",
function(){z.detachEvent("onreadystatechange",a.firstRender);z.readyState==="complete"&&a.firstRender()}),!1):!0},firstRender:function(){var a=this,b=a.options,c=a.callback;if(a.isReadyToRender())a.getContainer(),K(a,"init"),a.resetMargins(),a.setChartSize(),a.propFromSeries(),a.getAxes(),n(b.series||[],function(b){a.initSeries(b)}),a.linkSeries(),K(a,"beforeRender"),a.pointer=new vb(a,b),a.render(),a.renderer.draw(),c&&c.apply(a,[a]),n(a.callbacks,function(b){b.apply(a,[a])}),a.cloneRenderTo(!0),
K(a,"load")}};xb.prototype.callbacks=[];var Pa=function(){};Pa.prototype={init:function(a,b,c){this.series=a;this.applyOptions(b,c);this.pointAttr={};if(a.options.colorByPoint&&(b=a.options.colors||a.chart.options.colors,this.color=this.color||b[a.colorCounter++],a.colorCounter===b.length))a.colorCounter=0;a.chart.pointCount++;return this},applyOptions:function(a,b){var c=this.series,d=c.pointValKey,a=Pa.prototype.optionsToObject.call(this,a);s(this,a);this.options=this.options?s(this.options,a):
a;if(d)this.y=this[d];if(this.x===v&&c)this.x=b===v?c.autoIncrement():b;return this},optionsToObject:function(a){var b,c=this.series,d=c.pointArrayMap||["y"],e=d.length,f=0,g=0;if(typeof a==="number"||a===null)b={y:a};else if(Ha(a)){b={};if(a.length>e){c=typeof a[0];if(c==="string")b.name=a[0];else if(c==="number")b.x=a[0];f++}for(;g<e;)b[d[g++]]=a[f++]}else if(typeof a==="object"){b=a;if(a.dataLabels)c._hasPointLabels=!0;if(a.marker)c._hasPointMarkers=!0}return b},destroy:function(){var a=this.series.chart,
b=a.hoverPoints,c;a.pointCount--;if(b&&(this.setState(),ga(b,this),!b.length))a.hoverPoints=null;if(this===a.hoverPoint)this.onMouseOut();if(this.graphic||this.dataLabel)ba(this),this.destroyElements();this.legendItem&&a.legend.destroyItem(this);for(c in this)this[c]=null},destroyElements:function(){for(var a="graphic,dataLabel,dataLabelUpper,group,connector,shadowGroup".split(","),b,c=6;c--;)b=a[c],this[b]&&(this[b]=this[b].destroy())},getLabelConfig:function(){return{x:this.category,y:this.y,key:this.name||
this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}},select:function(a,b){var c=this,d=c.series,e=d.chart,a=p(a,!c.selected);c.firePointEvent(a?"select":"unselect",{accumulate:b},function(){c.selected=c.options.selected=a;d.options.data[oa(c,d.data)]=c.options;c.setState(a&&"select");b||n(e.getSelectedPoints(),function(a){if(a.selected&&a!==c)a.selected=a.options.selected=!1,d.options.data[oa(a,d.data)]=a.options,a.setState(""),a.firePointEvent("unselect")})})},
onMouseOver:function(a){var b=this.series,c=b.chart,d=c.tooltip,e=c.hoverPoint;if(e&&e!==this)e.onMouseOut();this.firePointEvent("mouseOver");d&&(!d.shared||b.noSharedTooltip)&&d.refresh(this,a);this.setState("hover");c.hoverPoint=this},onMouseOut:function(){var a=this.series.chart,b=a.hoverPoints;if(!b||oa(this,b)===-1)this.firePointEvent("mouseOut"),this.setState(),a.hoverPoint=null},tooltipFormatter:function(a){var b=this.series,c=b.tooltipOptions,d=p(c.valueDecimals,""),e=c.valuePrefix||"",f=
c.valueSuffix||"";n(b.pointArrayMap||["y"],function(b){b="{point."+b;if(e||f)a=a.replace(b+"}",e+b+"}"+f);a=a.replace(b+"}",b+":,."+d+"f}")});return Ba(a,{point:this,series:this.series})},update:function(a,b,c){var d=this,e=d.series,f=d.graphic,g,h=e.data,i=e.chart,j=e.options,b=p(b,!0);d.firePointEvent("update",{options:a},function(){d.applyOptions(a);if(T(a)&&(e.getAttribs(),f))a.marker&&a.marker.symbol?d.graphic=f.destroy():f.attr(d.pointAttr[e.state]);g=oa(d,h);e.xData[g]=d.x;e.yData[g]=e.toYData?
e.toYData(d):d.y;e.zData[g]=d.z;j.data[g]=d.options;e.isDirty=e.isDirtyData=i.isDirtyBox=!0;j.legendType==="point"&&i.legend.destroyItem(d);b&&i.redraw(c)})},remove:function(a,b){var c=this,d=c.series,e=d.chart,f,g=d.data;Ka(b,e);a=p(a,!0);c.firePointEvent("remove",null,function(){f=oa(c,g);g.splice(f,1);d.options.data.splice(f,1);d.xData.splice(f,1);d.yData.splice(f,1);d.zData.splice(f,1);c.destroy();d.isDirty=!0;d.isDirtyData=!0;a&&e.redraw()})},firePointEvent:function(a,b,c){var d=this,e=this.series.options;
(e.point.events[a]||d.options&&d.options.events&&d.options.events[a])&&this.importEvents();a==="click"&&e.allowPointSelect&&(c=function(a){d.select(null,a.ctrlKey||a.metaKey||a.shiftKey)});K(this,a,b,c)},importEvents:function(){if(!this.hasImportedEvents){var a=x(this.series.options.point,this.options).events,b;this.events=a;for(b in a)J(this,b,a[b]);this.hasImportedEvents=!0}},setState:function(a){var b=this.plotX,c=this.plotY,d=this.series,e=d.options.states,f=Y[d.type].marker&&d.options.marker,
g=f&&!f.enabled,h=f&&f.states[a],i=h&&h.enabled===!1,j=d.stateMarkerGraphic,k=this.marker||{},l=d.chart,m=this.pointAttr,a=a||"";if(!(a===this.state||this.selected&&a!=="select"||e[a]&&e[a].enabled===!1||a&&(i||g&&!h.enabled))){if(this.graphic)e=f&&this.graphic.symbolName&&m[a].r,this.graphic.attr(x(m[a],e?{x:b-e,y:c-e,width:2*e,height:2*e}:{}));else{if(a&&h)e=h.radius,k=k.symbol||d.symbol,j&&j.currentSymbol!==k&&(j=j.destroy()),j?j.attr({x:b-e,y:c-e}):(d.stateMarkerGraphic=j=l.renderer.symbol(k,
b-e,c-e,2*e,2*e).attr(m[a]).add(d.markerGroup),j.currentSymbol=k);if(j)j[a&&l.isInsidePlot(b,c)?"show":"hide"]()}this.state=a}}};var Q=function(){};Q.prototype={isCartesian:!0,type:"line",pointClass:Pa,sorted:!0,requireSorting:!0,pointAttrToOptions:{stroke:"lineColor","stroke-width":"lineWidth",fill:"fillColor",r:"radius"},colorCounter:0,init:function(a,b){var c,d,e=a.series;this.chart=a;this.options=b=this.setOptions(b);this.linkedSeries=[];this.bindAxes();s(this,{name:b.name,state:"",pointAttr:{},
visible:b.visible!==!1,selected:b.selected===!0});if($)b.animation=!1;d=b.events;for(c in d)J(this,c,d[c]);if(d&&d.click||b.point&&b.point.events&&b.point.events.click||b.allowPointSelect)a.runTrackerClick=!0;this.getColor();this.getSymbol();this.setData(b.data,!1);if(this.isCartesian)a.hasCartesianSeries=!0;e.push(this);this._i=e.length-1;Kb(e,function(a,b){return p(a.options.index,a._i)-p(b.options.index,a._i)});n(e,function(a,b){a.index=b;a.name=a.name||"Series "+(b+1)})},bindAxes:function(){var a=
this,b=a.options,c=a.chart,d;a.isCartesian&&n(["xAxis","yAxis"],function(e){n(c[e],function(c){d=c.options;if(b[e]===d.index||b[e]!==v&&b[e]===d.id||b[e]===v&&d.index===0)c.series.push(a),a[e]=c,c.isDirty=!0});a[e]||ja(18,!0)})},autoIncrement:function(){var a=this.options,b=this.xIncrement,b=p(b,a.pointStart,0);this.pointInterval=p(this.pointInterval,a.pointInterval,1);this.xIncrement=b+this.pointInterval;return b},getSegments:function(){var a=-1,b=[],c,d=this.points,e=d.length;if(e)if(this.options.connectNulls){for(c=
e;c--;)d[c].y===null&&d.splice(c,1);d.length&&(b=[d])}else n(d,function(c,g){c.y===null?(g>a+1&&b.push(d.slice(a+1,g)),a=g):g===e-1&&b.push(d.slice(a+1,g+1))});this.segments=b},setOptions:function(a){var b=this.chart.options,c=b.plotOptions,d=c[this.type];this.userOptions=a;a=x(d,c.series,a);this.tooltipOptions=x(b.tooltip,a.tooltip);d.marker===null&&delete a.marker;return a},getColor:function(){var a=this.options,b=this.userOptions,c=this.chart.options.colors,d=this.chart.counters,e;e=a.color||Y[this.type].color;
if(!e&&!a.colorByPoint)t(b._colorIndex)?a=b._colorIndex:(b._colorIndex=d.color,a=d.color++),e=c[a];this.color=e;d.wrapColor(c.length)},getSymbol:function(){var a=this.userOptions,b=this.options.marker,c=this.chart,d=c.options.symbols,c=c.counters;this.symbol=b.symbol;if(!this.symbol)t(a._symbolIndex)?a=a._symbolIndex:(a._symbolIndex=c.symbol,a=c.symbol++),this.symbol=d[a];if(/^url/.test(this.symbol))b.radius=0;c.wrapSymbol(d.length)},drawLegendSymbol:function(a){var b=this.options,c=b.marker,d=a.options,
e;e=d.symbolWidth;var f=this.chart.renderer,g=this.legendGroup,a=a.baseline-u(f.fontMetrics(d.itemStyle.fontSize).b*0.3);if(b.lineWidth){d={"stroke-width":b.lineWidth};if(b.dashStyle)d.dashstyle=b.dashStyle;this.legendLine=f.path(["M",0,a,"L",e,a]).attr(d).add(g)}if(c&&c.enabled)b=c.radius,this.legendSymbol=e=f.symbol(this.symbol,e/2-b,a-b,2*b,2*b).add(g),e.isMarker=!0},addPoint:function(a,b,c,d){var e=this.options,f=this.data,g=this.graph,h=this.area,i=this.chart,j=this.xData,k=this.yData,l=this.zData,
m=this.names,o=g&&g.shift||0,q=e.data;Ka(d,i);c&&n([g,h,this.graphNeg,this.areaNeg],function(a){if(a)a.shift=o+1});if(h)h.isArea=!0;b=p(b,!0);d={series:this};this.pointClass.prototype.applyOptions.apply(d,[a]);j.push(d.x);k.push(this.toYData?this.toYData(d):d.y);l.push(d.z);if(m)m[d.x]=d.name;q.push(a);e.legendType==="point"&&this.generatePoints();c&&(f[0]&&f[0].remove?f[0].remove(!1):(f.shift(),j.shift(),k.shift(),l.shift(),q.shift()));this.isDirtyData=this.isDirty=!0;b&&(this.getAttribs(),i.redraw())},
setData:function(a,b){var c=this.points,d=this.options,e=this.chart,f=null,g=this.xAxis,h=g&&g.categories&&!g.categories.length?[]:null,i;this.xIncrement=null;this.pointRange=g&&g.categories?1:d.pointRange;this.colorCounter=0;var j=[],k=[],l=[],m=a?a.length:[];i=p(d.turboThreshold,1E3);var o=this.pointArrayMap,o=o&&o.length,q=!!this.toYData;if(i&&m>i){for(i=0;f===null&&i<m;)f=a[i],i++;if(qa(f)){f=p(d.pointStart,0);d=p(d.pointInterval,1);for(i=0;i<m;i++)j[i]=f,k[i]=a[i],f+=d;this.xIncrement=f}else if(Ha(f))if(o)for(i=
0;i<m;i++)d=a[i],j[i]=d[0],k[i]=d.slice(1,o+1);else for(i=0;i<m;i++)d=a[i],j[i]=d[0],k[i]=d[1];else ja(12)}else for(i=0;i<m;i++)if(a[i]!==v&&(d={series:this},this.pointClass.prototype.applyOptions.apply(d,[a[i]]),j[i]=d.x,k[i]=q?this.toYData(d):d.y,l[i]=d.z,h&&d.name))h[d.x]=d.name;ea(k[0])&&ja(14,!0);this.data=[];this.options.data=a;this.xData=j;this.yData=k;this.zData=l;this.names=h;for(i=c&&c.length||0;i--;)c[i]&&c[i].destroy&&c[i].destroy();if(g)g.minRange=g.userMinRange;this.isDirty=this.isDirtyData=
e.isDirtyBox=!0;p(b,!0)&&e.redraw(!1)},remove:function(a,b){var c=this,d=c.chart,a=p(a,!0);if(!c.isRemoving)c.isRemoving=!0,K(c,"remove",null,function(){c.destroy();d.isDirtyLegend=d.isDirtyBox=!0;d.linkSeries();a&&d.redraw(b)});c.isRemoving=!1},processData:function(a){var b=this.xData,c=this.yData,d=b.length,e;e=0;var f,g,h=this.xAxis,i=this.options,j=i.cropThreshold,k=this.isCartesian;if(k&&!this.isDirty&&!h.isDirty&&!this.yAxis.isDirty&&!a)return!1;if(k&&this.sorted&&(!j||d>j||this.forceCrop))if(a=
h.min,h=h.max,b[d-1]<a||b[0]>h)b=[],c=[];else if(b[0]<a||b[d-1]>h)e=this.cropData(this.xData,this.yData,a,h),b=e.xData,c=e.yData,e=e.start,f=!0;for(h=b.length-1;h>=0;h--)d=b[h]-b[h-1],d>0&&(g===v||d<g)?g=d:d<0&&this.requireSorting&&ja(15);this.cropped=f;this.cropStart=e;this.processedXData=b;this.processedYData=c;if(i.pointRange===null)this.pointRange=g||1;this.closestPointRange=g},cropData:function(a,b,c,d){var e=a.length,f=0,g=e,h;for(h=0;h<e;h++)if(a[h]>=c){f=r(0,h-1);break}for(;h<e;h++)if(a[h]>
d){g=h+1;break}return{xData:a.slice(f,g),yData:b.slice(f,g),start:f,end:g}},generatePoints:function(){var a=this.options.data,b=this.data,c,d=this.processedXData,e=this.processedYData,f=this.pointClass,g=d.length,h=this.cropStart||0,i,j=this.hasGroupedData,k,l=[],m;if(!b&&!j)b=[],b.length=a.length,b=this.data=b;for(m=0;m<g;m++)i=h+m,j?l[m]=(new f).init(this,[d[m]].concat(ia(e[m]))):(b[i]?k=b[i]:a[i]!==v&&(b[i]=k=(new f).init(this,a[i],d[m])),l[m]=k);if(b&&(g!==(c=b.length)||j))for(m=0;m<c;m++)if(m===
h&&!j&&(m+=g),b[m])b[m].destroyElements(),b[m].plotX=v;this.data=b;this.points=l},setStackedPoints:function(){if(this.options.stacking&&!(this.visible!==!0&&this.chart.options.chart.ignoreHiddenSeries!==!1)){var a=this.processedXData,b=this.processedYData,c=b.length,d=this.options,e=d.threshold,f=d.stack,d=d.stacking,g=this.stackKey,h="-"+g,i=this.yAxis,j=i.stacks,k=i.oldStacks,l=i.stackExtremes,m,o,q,p,n;for(q=0;q<c;q++){p=a[q];n=b[q];o=(m=this.negStacks&&n<e)?h:g;typeof n==="number"&&!l[g]&&(l[g]=
{dataMin:n,dataMax:n});j[o]||(j[o]={});if(!j[o][p])k[o]&&k[o][p]?(j[o][p]=k[o][p],j[o][p].total=null):j[o][p]=new Mb(i,i.options.stackLabels,m,p,f,d);o=j[o][p];m=o.total;o.addValue(n||0);o.cacheExtremes(this,[m,m+(n||0)]);if(typeof n==="number")l[g].dataMin=C(l[g].dataMin,o.total,n),l[g].dataMax=r(l[g].dataMax,o.total,n)}i.oldStacks={}}},getExtremes:function(){var a=this.yAxis,b=this.stackKey,c,d,e=this.options,f=a.isLog?null:e.threshold,g=this.processedXData,h=this.processedYData,i=h.length,j=[],
k=0,l=this.xAxis.getExtremes(),m=l.min,l=l.max,o;if(e.stacking)c=a.stackExtremes[b],d=c.dataMin,c=c.dataMax,d=C(d,p(f,d)),c=r(c,p(f,c));if(!t(d)||!t(c)){for(b=0;b<i;b++)if(o=g[b],f=h[b],e=f!==null&&f!==v&&(!a.isLog||f.length||f>0),o=this.getExtremesFromAll||this.cropped||(g[b+1]||o)>=m&&(g[b-1]||o)<=l,e&&o)if(e=f.length)for(;e--;)f[e]!==null&&(j[k++]=f[e]);else j[k++]=f;d=p(d,Ia(j));c=p(c,ua(j))}this.dataMin=d;this.dataMax=c},translate:function(){this.processedXData||this.processData();this.generatePoints();
for(var a=this.options,b=a.stacking,c=this.xAxis,d=c.categories,e=this.yAxis,f=this.points,g=f.length,h=!!this.modifyValue,i=a.pointPlacement,j=i==="between"||qa(i),k=a.threshold,a=0;a<g;a++){var l=f[a],m=l.x,o=l.y,q=l.low,n=e.stacks[(this.negStacks&&o<k?"-":"")+this.stackKey],r;if(e.isLog&&o<=0)l.y=o=null;l.plotX=c.translate(m,0,0,0,1,i);if(b&&this.visible&&n&&n[m])n=n[m],r=n.total,n.cum=q=n.cum-o,o=q+o,n.cum===0&&(q=p(k,e.min)),e.isLog&&q<=0&&(q=null),b==="percent"&&(q=r?q*100/r:0,o=r?o*100/r:0),
l.percentage=r?l.y*100/r:0,l.total=l.stackTotal=r,l.stackY=o,n.setOffset(this.pointXOffset||0,this.barW||0);l.yBottom=t(q)?e.translate(q,0,1,0,1):null;h&&(o=this.modifyValue(o,l));l.plotY=typeof o==="number"&&o!==Infinity?e.translate(o,0,1,0,1):v;l.clientX=j?c.translate(m,0,0,0,1):l.plotX;l.negative=l.y<(k||0);l.category=d&&d[l.x]!==v?d[l.x]:l.x}this.getSegments()},setTooltipPoints:function(a){var b=[],c,d,e=(c=this.xAxis)?c.tooltipLen||c.len:this.chart.plotSizeX,f,g,h,i=[];if(this.options.enableMouseTracking!==
!1){if(a)this.tooltipPoints=null;n(this.segments||this.points,function(a){b=b.concat(a)});c&&c.reversed&&(b=b.reverse());this.orderTooltipPoints&&this.orderTooltipPoints(b);a=b.length;for(h=0;h<a;h++){f=b[h];g=b[h+1];c=b[h-1]?d+1:0;for(d=b[h+1]?C(r(0,P((f.clientX+(g?g.wrappedClientX||g.clientX:e))/2)),e):e;c>=0&&c<=d;)i[c++]=f}this.tooltipPoints=i}},tooltipHeaderFormatter:function(a){var b=this.tooltipOptions,c=b.xDateFormat,d=b.dateTimeLabelFormats,e=this.xAxis,f=e&&e.options.type==="datetime",b=
b.headerFormat,e=e&&e.closestPointRange,g;if(f&&!c)if(e)for(g in H){if(H[g]>=e){c=d[g];break}}else c=d.day;f&&c&&qa(a.key)&&(b=b.replace("{point.key}","{point.key:"+c+"}"));return Ba(b,{point:a,series:this})},onMouseOver:function(){var a=this.chart,b=a.hoverSeries;if(b&&b!==this)b.onMouseOut();this.options.events.mouseOver&&K(this,"mouseOver");this.setState("hover");a.hoverSeries=this},onMouseOut:function(){var a=this.options,b=this.chart,c=b.tooltip,d=b.hoverPoint;if(d)d.onMouseOut();this&&a.events.mouseOut&&
K(this,"mouseOut");c&&!a.stickyTracking&&(!c.shared||this.noSharedTooltip)&&c.hide();this.setState();b.hoverSeries=null},animate:function(a){var b=this,c=b.chart,d=c.renderer,e;e=b.options.animation;var f=c.clipBox,g=c.inverted,h;if(e&&!T(e))e=Y[b.type].animation;h="_sharedClip"+e.duration+e.easing;if(a)a=c[h],e=c[h+"m"],a||(c[h]=a=d.clipRect(s(f,{width:0})),c[h+"m"]=e=d.clipRect(-99,g?-c.plotLeft:-c.plotTop,99,g?c.chartWidth:c.chartHeight)),b.group.clip(a),b.markerGroup.clip(e),b.sharedClipKey=h;
else{if(a=c[h])a.animate({width:c.plotSizeX},e),c[h+"m"].animate({width:c.plotSizeX+99},e);b.animate=null;b.animationTimeout=setTimeout(function(){b.afterAnimate()},e.duration)}},afterAnimate:function(){var a=this.chart,b=this.sharedClipKey,c=this.group;c&&this.options.clip!==!1&&(c.clip(a.clipRect),this.markerGroup.clip());setTimeout(function(){b&&a[b]&&(a[b]=a[b].destroy(),a[b+"m"]=a[b+"m"].destroy())},100)},drawPoints:function(){var a,b=this.points,c=this.chart,d,e,f,g,h,i,j,k,l=this.options.marker,
m,o=this.markerGroup;if(l.enabled||this._hasPointMarkers)for(f=b.length;f--;)if(g=b[f],d=P(g.plotX),e=g.plotY,k=g.graphic,i=g.marker||{},a=l.enabled&&i.enabled===v||i.enabled,m=c.isInsidePlot(u(d),e,c.inverted),a&&e!==v&&!isNaN(e)&&g.y!==null)if(a=g.pointAttr[g.selected?"select":""],h=a.r,i=p(i.symbol,this.symbol),j=i.indexOf("url")===0,k)k.attr({visibility:m?Z?"inherit":"visible":"hidden"}).animate(s({x:d-h,y:e-h},k.symbolName?{width:2*h,height:2*h}:{}));else{if(m&&(h>0||j))g.graphic=c.renderer.symbol(i,
d-h,e-h,2*h,2*h).attr(a).add(o)}else if(k)g.graphic=k.destroy()},convertAttribs:function(a,b,c,d){var e=this.pointAttrToOptions,f,g,h={},a=a||{},b=b||{},c=c||{},d=d||{};for(f in e)g=e[f],h[f]=p(a[g],b[f],c[f],d[f]);return h},getAttribs:function(){var a=this,b=a.options,c=Y[a.type].marker?b.marker:b,d=c.states,e=d.hover,f,g=a.color,h={stroke:g,fill:g},i=a.points||[],j=[],k,l=a.pointAttrToOptions,m=b.negativeColor,o;b.marker?(e.radius=e.radius||c.radius+2,e.lineWidth=e.lineWidth||c.lineWidth+1):e.color=
e.color||pa(e.color||g).brighten(e.brightness).get();j[""]=a.convertAttribs(c,h);n(["hover","select"],function(b){j[b]=a.convertAttribs(d[b],j[""])});a.pointAttr=j;for(g=i.length;g--;){h=i[g];if((c=h.options&&h.options.marker||h.options)&&c.enabled===!1)c.radius=0;if(h.negative&&m)h.color=h.fillColor=m;f=b.colorByPoint||h.color;if(h.options)for(o in l)t(c[l[o]])&&(f=!0);if(f){c=c||{};k=[];d=c.states||{};f=d.hover=d.hover||{};if(!b.marker)f.color=pa(f.color||h.color).brighten(f.brightness||e.brightness).get();
k[""]=a.convertAttribs(s({color:h.color},c),j[""]);k.hover=a.convertAttribs(d.hover,j.hover,k[""]);k.select=a.convertAttribs(d.select,j.select,k[""]);if(h.negative&&b.marker&&m)k[""].fill=k.hover.fill=k.select.fill=a.convertAttribs({fillColor:m}).fill}else k=j;h.pointAttr=k}},update:function(a,b){var c=this.chart,d=this.type,a=x(this.userOptions,{animation:!1,index:this.index,pointStart:this.xData[0]},{data:this.options.data},a);this.remove(!1);s(this,aa[a.type||d].prototype);this.init(c,a);p(b,!0)&&
c.redraw(!1)},destroy:function(){var a=this,b=a.chart,c=/AppleWebKit\/533/.test(Ea),d,e,f=a.data||[],g,h,i;K(a,"destroy");ba(a);n(["xAxis","yAxis"],function(b){if(i=a[b])ga(i.series,a),i.isDirty=i.forceRedraw=!0});a.legendItem&&a.chart.legend.destroyItem(a);for(e=f.length;e--;)(g=f[e])&&g.destroy&&g.destroy();a.points=null;clearTimeout(a.animationTimeout);n("area,graph,dataLabelsGroup,group,markerGroup,tracker,graphNeg,areaNeg,posClip,negClip".split(","),function(b){a[b]&&(d=c&&b==="group"?"hide":
"destroy",a[b][d]())});if(b.hoverSeries===a)b.hoverSeries=null;ga(b.series,a);for(h in a)delete a[h]},drawDataLabels:function(){var a=this,b=a.options.dataLabels,c=a.points,d,e,f,g;if(b.enabled||a._hasPointLabels)a.dlProcessOptions&&a.dlProcessOptions(b),g=a.plotGroup("dataLabelsGroup","data-labels",a.visible?"visible":"hidden",b.zIndex||6),e=b,n(c,function(c){var i,j=c.dataLabel,k,l,m=c.connector,o=!0;d=c.options&&c.options.dataLabels;i=e.enabled||d&&d.enabled;if(j&&!i)c.dataLabel=j.destroy();else if(i){b=
x(e,d);i=b.rotation;k=c.getLabelConfig();f=b.format?Ba(b.format,k):b.formatter.call(k,b);b.style.color=p(b.color,b.style.color,a.color,"black");if(j)if(t(f))j.attr({text:f}),o=!1;else{if(c.dataLabel=j=j.destroy(),m)c.connector=m.destroy()}else if(t(f)){j={fill:b.backgroundColor,stroke:b.borderColor,"stroke-width":b.borderWidth,r:b.borderRadius||0,rotation:i,padding:b.padding,zIndex:1};for(l in j)j[l]===v&&delete j[l];j=c.dataLabel=a.chart.renderer[i?"text":"label"](f,0,-999,null,null,null,b.useHTML).attr(j).css(b.style).add(g).shadow(b.shadow)}j&&
a.alignDataLabel(c,j,b,null,o)}})},alignDataLabel:function(a,b,c,d,e){var f=this.chart,g=f.inverted,h=p(a.plotX,-999),i=p(a.plotY,-999),a=b.getBBox(),d=s({x:g?f.plotWidth-i:h,y:u(g?f.plotHeight-h:i),width:0,height:0},d);s(c,{width:a.width,height:a.height});c.rotation?(d={align:c.align,x:d.x+c.x+d.width/2,y:d.y+c.y+d.height/2},b[e?"attr":"animate"](d)):(b.align(c,null,d),d=b.alignAttr);b.attr({visibility:c.crop===!1||f.isInsidePlot(d.x,d.y)&&f.isInsidePlot(d.x+a.width,d.y+a.height)?f.renderer.isSVG?
"inherit":"visible":"hidden"})},getSegmentPath:function(a){var b=this,c=[],d=b.options.step;n(a,function(e,f){var g=e.plotX,h=e.plotY,i;b.getPointSpline?c.push.apply(c,b.getPointSpline(a,e,f)):(c.push(f?"L":"M"),d&&f&&(i=a[f-1],d==="right"?c.push(i.plotX,h):d==="center"?c.push((i.plotX+g)/2,i.plotY,(i.plotX+g)/2,h):c.push(g,i.plotY)),c.push(e.plotX,e.plotY))});return c},getGraphPath:function(){var a=this,b=[],c,d=[];n(a.segments,function(e){c=a.getSegmentPath(e);e.length>1?b=b.concat(c):d.push(e[0])});
a.singlePoints=d;return a.graphPath=b},drawGraph:function(){var a=this,b=this.options,c=[["graph",b.lineColor||this.color]],d=b.lineWidth,e=b.dashStyle,f=this.getGraphPath(),g=b.negativeColor;g&&c.push(["graphNeg",g]);n(c,function(c,g){var j=c[0],k=a[j];if(k)Wa(k),k.animate({d:f});else if(d&&f.length){k={stroke:c[1],"stroke-width":d,zIndex:1};if(e)k.dashstyle=e;a[j]=a.chart.renderer.path(f).attr(k).add(a.group).shadow(!g&&b.shadow)}})},clipNeg:function(){var a=this.options,b=this.chart,c=b.renderer,
d=a.negativeColor||a.negativeFillColor,e,f=this.graph,g=this.area,h=this.posClip,i=this.negClip;e=b.chartWidth;var j=b.chartHeight,k=r(e,j),l=this.yAxis;if(d&&(f||g)){d=u(l.toPixels(a.threshold||0,!0));a={x:0,y:0,width:k,height:d};k={x:0,y:d,width:k,height:k};if(b.inverted)a.height=k.y=b.plotWidth-d,c.isVML&&(a={x:b.plotWidth-d-b.plotLeft,y:0,width:e,height:j},k={x:d+b.plotLeft-e,y:0,width:b.plotLeft+d,height:e});l.reversed?(b=k,e=a):(b=a,e=k);h?(h.animate(b),i.animate(e)):(this.posClip=h=c.clipRect(b),
this.negClip=i=c.clipRect(e),f&&this.graphNeg&&(f.clip(h),this.graphNeg.clip(i)),g&&(g.clip(h),this.areaNeg.clip(i)))}},invertGroups:function(){function a(){var a={width:b.yAxis.len,height:b.xAxis.len};n(["group","markerGroup"],function(c){b[c]&&b[c].attr(a).invert()})}var b=this,c=b.chart;if(b.xAxis)J(c,"resize",a),J(b,"destroy",function(){ba(c,"resize",a)}),a(),b.invertGroups=a},plotGroup:function(a,b,c,d,e){var f=this[a],g=!f;g&&(this[a]=f=this.chart.renderer.g(b).attr({visibility:c,zIndex:d||
0.1}).add(e));f[g?"attr":"animate"](this.getPlotBox());return f},getPlotBox:function(){return{translateX:this.xAxis?this.xAxis.left:this.chart.plotLeft,translateY:this.yAxis?this.yAxis.top:this.chart.plotTop,scaleX:1,scaleY:1}},render:function(){var a=this.chart,b,c=this.options,d=c.animation&&!!this.animate&&a.renderer.isSVG,e=this.visible?"visible":"hidden",f=c.zIndex,g=this.hasRendered,h=a.seriesGroup;b=this.plotGroup("group","series",e,f,h);this.markerGroup=this.plotGroup("markerGroup","markers",
e,f,h);d&&this.animate(!0);this.getAttribs();b.inverted=this.isCartesian?a.inverted:!1;this.drawGraph&&(this.drawGraph(),this.clipNeg());this.drawDataLabels();this.drawPoints();this.options.enableMouseTracking!==!1&&this.drawTracker();a.inverted&&this.invertGroups();c.clip!==!1&&!this.sharedClipKey&&!g&&b.clip(a.clipRect);d?this.animate():g||this.afterAnimate();this.isDirty=this.isDirtyData=!1;this.hasRendered=!0},redraw:function(){var a=this.chart,b=this.isDirtyData,c=this.group,d=this.xAxis,e=this.yAxis;
c&&(a.inverted&&c.attr({width:a.plotWidth,height:a.plotHeight}),c.animate({translateX:p(d&&d.left,a.plotLeft),translateY:p(e&&e.top,a.plotTop)}));this.translate();this.setTooltipPoints(!0);this.render();b&&K(this,"updatedData")},setState:function(a){var b=this.options,c=this.graph,d=this.graphNeg,e=b.states,b=b.lineWidth,a=a||"";if(this.state!==a)this.state=a,e[a]&&e[a].enabled===!1||(a&&(b=e[a].lineWidth||b+1),c&&!c.dashstyle&&(a={"stroke-width":b},c.attr(a),d&&d.attr(a)))},setVisible:function(a,
b){var c=this,d=c.chart,e=c.legendItem,f,g=d.options.chart.ignoreHiddenSeries,h=c.visible;f=(c.visible=a=c.userOptions.visible=a===v?!h:a)?"show":"hide";n(["group","dataLabelsGroup","markerGroup","tracker"],function(a){if(c[a])c[a][f]()});if(d.hoverSeries===c)c.onMouseOut();e&&d.legend.colorizeItem(c,a);c.isDirty=!0;c.options.stacking&&n(d.series,function(a){if(a.options.stacking&&a.visible)a.isDirty=!0});n(c.linkedSeries,function(b){b.setVisible(a,!1)});if(g)d.isDirtyBox=!0;b!==!1&&d.redraw();K(c,
f)},show:function(){this.setVisible(!0)},hide:function(){this.setVisible(!1)},select:function(a){this.selected=a=a===v?!this.selected:a;if(this.checkbox)this.checkbox.checked=a;K(this,a?"select":"unselect")},drawTracker:function(){var a=this,b=a.options,c=b.trackByArea,d=[].concat(c?a.areaPath:a.graphPath),e=d.length,f=a.chart,g=f.pointer,h=f.renderer,i=f.options.tooltip.snap,j=a.tracker,k=b.cursor,l=k&&{cursor:k},k=a.singlePoints,m,o=function(){if(f.hoverSeries!==a)a.onMouseOver()};if(e&&!c)for(m=
e+1;m--;)d[m]==="M"&&d.splice(m+1,0,d[m+1]-i,d[m+2],"L"),(m&&d[m]==="M"||m===e)&&d.splice(m,0,"L",d[m-2]+i,d[m-1]);for(m=0;m<k.length;m++)e=k[m],d.push("M",e.plotX-i,e.plotY,"L",e.plotX+i,e.plotY);j?j.attr({d:d}):(a.tracker=h.path(d).attr({"stroke-linejoin":"round",visibility:a.visible?"visible":"hidden",stroke:Qb,fill:c?Qb:S,"stroke-width":b.lineWidth+(c?0:2*i),zIndex:2}).add(a.group),n([a.tracker,a.markerGroup],function(a){a.addClass("highcharts-tracker").on("mouseover",o).on("mouseout",function(a){g.onTrackerMouseOut(a)}).css(l);
if(hb)a.on("touchstart",o)}))}};F=ha(Q);aa.line=F;Y.area=x(X,{threshold:0});F=ha(Q,{type:"area",getSegments:function(){var a=[],b=[],c=[],d=this.xAxis,e=this.yAxis,f=e.stacks[this.stackKey],g={},h,i,j=this.points,k,l,m;if(this.options.stacking&&!this.cropped){for(l=0;l<j.length;l++)g[j[l].x]=j[l];for(m in f)c.push(+m);c.sort(function(a,b){return a-b});n(c,function(a){g[a]?b.push(g[a]):(h=d.translate(a),k=f[a].percent?f[a].total?f[a].cum*100/f[a].total:0:f[a].cum,i=e.toPixels(k,!0),b.push({y:null,
plotX:h,clientX:h,plotY:i,yBottom:i,onMouseOver:ya}))});b.length&&a.push(b)}else Q.prototype.getSegments.call(this),a=this.segments;this.segments=a},getSegmentPath:function(a){var b=Q.prototype.getSegmentPath.call(this,a),c=[].concat(b),d,e=this.options;b.length===3&&c.push("L",b[1],b[2]);if(e.stacking&&!this.closedStacks)for(d=a.length-1;d>=0;d--)d<a.length-1&&e.step&&c.push(a[d+1].plotX,a[d].yBottom),c.push(a[d].plotX,a[d].yBottom);else this.closeSegment(c,a);this.areaPath=this.areaPath.concat(c);
return b},closeSegment:function(a,b){var c=this.yAxis.getThreshold(this.options.threshold);a.push("L",b[b.length-1].plotX,c,"L",b[0].plotX,c)},drawGraph:function(){this.areaPath=[];Q.prototype.drawGraph.apply(this);var a=this,b=this.areaPath,c=this.options,d=c.negativeColor,e=c.negativeFillColor,f=[["area",this.color,c.fillColor]];(d||e)&&f.push(["areaNeg",d,e]);n(f,function(d){var e=d[0],f=a[e];f?f.animate({d:b}):a[e]=a.chart.renderer.path(b).attr({fill:p(d[2],pa(d[1]).setOpacity(p(c.fillOpacity,
0.75)).get()),zIndex:0}).add(a.group)})},drawLegendSymbol:function(a,b){b.legendSymbol=this.chart.renderer.rect(0,a.baseline-11,a.options.symbolWidth,12,2).attr({zIndex:3}).add(b.legendGroup)}});aa.area=F;Y.spline=x(X);D=ha(Q,{type:"spline",getPointSpline:function(a,b,c){var d=b.plotX,e=b.plotY,f=a[c-1],g=a[c+1],h,i,j,k;if(f&&g){a=f.plotY;j=g.plotX;var g=g.plotY,l;h=(1.5*d+f.plotX)/2.5;i=(1.5*e+a)/2.5;j=(1.5*d+j)/2.5;k=(1.5*e+g)/2.5;l=(k-i)*(j-d)/(j-h)+e-k;i+=l;k+=l;i>a&&i>e?(i=r(a,e),k=2*e-i):i<
a&&i<e&&(i=C(a,e),k=2*e-i);k>g&&k>e?(k=r(g,e),i=2*e-k):k<g&&k<e&&(k=C(g,e),i=2*e-k);b.rightContX=j;b.rightContY=k}c?(b=["C",f.rightContX||f.plotX,f.rightContY||f.plotY,h||d,i||e,d,e],f.rightContX=f.rightContY=null):b=["M",d,e];return b}});aa.spline=D;Y.areaspline=x(Y.area);ma=F.prototype;D=ha(D,{type:"areaspline",closedStacks:!0,getSegmentPath:ma.getSegmentPath,closeSegment:ma.closeSegment,drawGraph:ma.drawGraph,drawLegendSymbol:ma.drawLegendSymbol});aa.areaspline=D;Y.column=x(X,{borderColor:"#FFFFFF",
borderWidth:1,borderRadius:0,groupPadding:0.2,marker:null,pointPadding:0.1,minPointLength:0,cropThreshold:50,pointRange:null,states:{hover:{brightness:0.1,shadow:!1},select:{color:"#C0C0C0",borderColor:"#000000",shadow:!1}},dataLabels:{align:null,verticalAlign:null,y:null},stickyTracking:!1,threshold:0});D=ha(Q,{type:"column",pointAttrToOptions:{stroke:"borderColor","stroke-width":"borderWidth",fill:"color",r:"borderRadius"},trackerGroups:["group","dataLabelsGroup"],negStacks:!0,init:function(){Q.prototype.init.apply(this,
arguments);var a=this,b=a.chart;b.hasRendered&&n(b.series,function(b){if(b.type===a.type)b.isDirty=!0})},getColumnMetrics:function(){var a=this,b=a.options,c=a.xAxis,d=a.yAxis,e=c.reversed,f,g={},h,i=0;b.grouping===!1?i=1:n(a.chart.series,function(b){var c=b.options,e=b.yAxis;if(b.type===a.type&&b.visible&&d.len===e.len&&d.pos===e.pos)c.stacking?(f=b.stackKey,g[f]===v&&(g[f]=i++),h=g[f]):c.grouping!==!1&&(h=i++),b.columnIndex=h});var c=C(O(c.transA)*(c.ordinalSlope||b.pointRange||c.closestPointRange||
1),c.len),j=c*b.groupPadding,k=(c-2*j)/i,l=b.pointWidth,b=t(l)?(k-l)/2:k*b.pointPadding,l=p(l,k-2*b);return a.columnMetrics={width:l,offset:b+(j+((e?i-(a.columnIndex||0):a.columnIndex)||0)*k-c/2)*(e?-1:1)}},translate:function(){var a=this.chart,b=this.options,c=b.borderWidth,d=this.yAxis,e=this.translatedThreshold=d.getThreshold(b.threshold),f=p(b.minPointLength,5),b=this.getColumnMetrics(),g=b.width,h=this.barW=wa(r(g,1+2*c)),i=this.pointXOffset=b.offset,j=-(c%2?0.5:0),k=c%2?0.5:1;a.renderer.isVML&&
a.inverted&&(k+=1);Q.prototype.translate.apply(this);n(this.points,function(a){var b=C(r(-999,a.plotY),d.len+999),c=p(a.yBottom,e),n=a.plotX+i,t=h,s=C(b,c),w,b=r(b,c)-s;O(b)<f&&f&&(b=f,s=u(O(s-e)>f?c-f:e-(d.translate(a.y,0,1,0,1)<=e?f:0)));a.barX=n;a.pointWidth=g;c=O(n)<0.5;t=u(n+t)+j;n=u(n)+j;t-=n;w=O(s)<0.5;b=u(s+b)+k;s=u(s)+k;b-=s;c&&(n+=1,t-=1);w&&(s-=1,b+=1);a.shapeType="rect";a.shapeArgs={x:n,y:s,width:t,height:b}})},getSymbol:ya,drawLegendSymbol:F.prototype.drawLegendSymbol,drawGraph:ya,drawPoints:function(){var a=
this,b=a.options,c=a.chart.renderer,d;n(a.points,function(e){var f=e.plotY,g=e.graphic;if(f!==v&&!isNaN(f)&&e.y!==null)d=e.shapeArgs,g?(Wa(g),g.animate(x(d))):e.graphic=c[e.shapeType](d).attr(e.pointAttr[e.selected?"select":""]).add(a.group).shadow(b.shadow,null,b.stacking&&!b.borderRadius);else if(g)e.graphic=g.destroy()})},drawTracker:function(){var a=this,b=a.chart,c=b.pointer,d=a.options.cursor,e=d&&{cursor:d},f=function(c){var d=c.target,e;if(b.hoverSeries!==a)a.onMouseOver();for(;d&&!e;)e=d.point,
d=d.parentNode;if(e!==v&&e!==b.hoverPoint)e.onMouseOver(c)};n(a.points,function(a){if(a.graphic)a.graphic.element.point=a;if(a.dataLabel)a.dataLabel.element.point=a});if(!a._hasTracking)n(a.trackerGroups,function(b){if(a[b]&&(a[b].addClass("highcharts-tracker").on("mouseover",f).on("mouseout",function(a){c.onTrackerMouseOut(a)}).css(e),hb))a[b].on("touchstart",f)}),a._hasTracking=!0},alignDataLabel:function(a,b,c,d,e){var f=this.chart,g=f.inverted,h=a.dlBox||a.shapeArgs,i=a.below||a.plotY>p(this.translatedThreshold,
f.plotSizeY),j=p(c.inside,!!this.options.stacking);if(h&&(d=x(h),g&&(d={x:f.plotWidth-d.y-d.height,y:f.plotHeight-d.x-d.width,width:d.height,height:d.width}),!j))g?(d.x+=i?0:d.width,d.width=0):(d.y+=i?d.height:0,d.height=0);c.align=p(c.align,!g||j?"center":i?"right":"left");c.verticalAlign=p(c.verticalAlign,g||j?"middle":i?"top":"bottom");Q.prototype.alignDataLabel.call(this,a,b,c,d,e)},animate:function(a){var b=this.yAxis,c=this.options,d=this.chart.inverted,e={};if(Z)a?(e.scaleY=0.001,a=C(b.pos+
b.len,r(b.pos,b.toPixels(c.threshold))),d?e.translateX=a-b.len:e.translateY=a,this.group.attr(e)):(e.scaleY=1,e[d?"translateX":"translateY"]=b.pos,this.group.animate(e,this.options.animation),this.animate=null)},remove:function(){var a=this,b=a.chart;b.hasRendered&&n(b.series,function(b){if(b.type===a.type)b.isDirty=!0});Q.prototype.remove.apply(a,arguments)}});aa.column=D;Y.bar=x(Y.column);ma=ha(D,{type:"bar",inverted:!0});aa.bar=ma;Y.scatter=x(X,{lineWidth:0,tooltip:{headerFormat:'<span style="font-size: 10px; color:{series.color}">{series.name}</span><br/>',
pointFormat:"x: <b>{point.x}</b><br/>y: <b>{point.y}</b><br/>",followPointer:!0},stickyTracking:!1});ma=ha(Q,{type:"scatter",sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["markerGroup"],drawTracker:D.prototype.drawTracker,setTooltipPoints:ya});aa.scatter=ma;Y.pie=x(X,{borderColor:"#FFFFFF",borderWidth:1,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{distance:30,enabled:!0,formatter:function(){return this.point.name}},ignoreHiddenPoint:!0,legendType:"point",marker:null,size:null,
showInLegend:!1,slicedOffset:10,states:{hover:{brightness:0.1,shadow:!1}},stickyTracking:!1,tooltip:{followPointer:!0}});X={type:"pie",isCartesian:!1,pointClass:ha(Pa,{init:function(){Pa.prototype.init.apply(this,arguments);var a=this,b;if(a.y<0)a.y=null;s(a,{visible:a.visible!==!1,name:p(a.name,"Slice")});b=function(b){a.slice(b.type==="select")};J(a,"select",b);J(a,"unselect",b);return a},setVisible:function(a){var b=this,c=b.series,d=c.chart,e;b.visible=b.options.visible=a=a===v?!b.visible:a;c.options.data[oa(b,
c.data)]=b.options;e=a?"show":"hide";n(["graphic","dataLabel","connector","shadowGroup"],function(a){if(b[a])b[a][e]()});b.legendItem&&d.legend.colorizeItem(b,a);if(!c.isDirty&&c.options.ignoreHiddenPoint)c.isDirty=!0,d.redraw()},slice:function(a,b,c){var d=this.series;Ka(c,d.chart);p(b,!0);this.sliced=this.options.sliced=a=t(a)?a:!this.sliced;d.options.data[oa(this,d.data)]=this.options;a=a?this.slicedTranslation:{translateX:0,translateY:0};this.graphic.animate(a);this.shadowGroup&&this.shadowGroup.animate(a)}}),
requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","dataLabelsGroup"],pointAttrToOptions:{stroke:"borderColor","stroke-width":"borderWidth",fill:"color"},getColor:ya,animate:function(a){var b=this,c=b.points,d=b.startAngleRad;if(!a)n(c,function(a){var c=a.graphic,a=a.shapeArgs;c&&(c.attr({r:b.center[3]/2,start:d,end:d}),c.animate({r:a.r,start:a.start,end:a.end},b.options.animation))}),b.animate=null},setData:function(a,b){Q.prototype.setData.call(this,a,!1);this.processData();this.generatePoints();
p(b,!0)&&this.chart.redraw()},generatePoints:function(){var a,b=0,c,d,e,f=this.options.ignoreHiddenPoint;Q.prototype.generatePoints.call(this);c=this.points;d=c.length;for(a=0;a<d;a++)e=c[a],b+=f&&!e.visible?0:e.y;this.total=b;for(a=0;a<d;a++)e=c[a],e.percentage=b>0?e.y/b*100:0,e.total=b},getCenter:function(){var a=this.options,b=this.chart,c=2*(a.slicedOffset||0),d,e=b.plotWidth-2*c,f=b.plotHeight-2*c,b=a.center,a=[p(b[0],"50%"),p(b[1],"50%"),a.size||"100%",a.innerSize||0],g=C(e,f),h;return Na(a,
function(a,b){h=/%$/.test(a);d=b<2||b===2&&h;return(h?[e,f,g,g][b]*A(a)/100:a)+(d?c:0)})},translate:function(a){this.generatePoints();var b=0,c=this.options,d=c.slicedOffset,e=d+c.borderWidth,f,g,h,i=this.startAngleRad=Ma/180*((c.startAngle||0)%360-90),j=this.points,k=2*Ma,l=c.dataLabels.distance,c=c.ignoreHiddenPoint,m,n=j.length,p;if(!a)this.center=a=this.getCenter();this.getX=function(b,c){h=R.asin((b-a[1])/(a[2]/2+l));return a[0]+(c?-1:1)*W(h)*(a[2]/2+l)};for(m=0;m<n;m++){p=j[m];f=u((i+b*k)*1E3)/
1E3;if(!c||p.visible)b+=p.percentage/100;g=u((i+b*k)*1E3)/1E3;p.shapeType="arc";p.shapeArgs={x:a[0],y:a[1],r:a[2]/2,innerR:a[3]/2,start:f,end:g};h=(g+f)/2;h>0.75*k&&(h-=2*Ma);p.slicedTranslation={translateX:u(W(h)*d),translateY:u(ca(h)*d)};f=W(h)*a[2]/2;g=ca(h)*a[2]/2;p.tooltipPos=[a[0]+f*0.7,a[1]+g*0.7];p.half=h<k/4?0:1;p.angle=h;e=C(e,l/2);p.labelPos=[a[0]+f+W(h)*l,a[1]+g+ca(h)*l,a[0]+f+W(h)*e,a[1]+g+ca(h)*e,a[0]+f,a[1]+g,l<0?"center":p.half?"right":"left",h]}this.setTooltipPoints()},drawGraph:null,
drawPoints:function(){var a=this,b=a.chart.renderer,c,d,e=a.options.shadow,f,g;if(e&&!a.shadowGroup)a.shadowGroup=b.g("shadow").add(a.group);n(a.points,function(h){d=h.graphic;g=h.shapeArgs;f=h.shadowGroup;if(e&&!f)f=h.shadowGroup=b.g("shadow").add(a.shadowGroup);c=h.sliced?h.slicedTranslation:{translateX:0,translateY:0};f&&f.attr(c);d?d.animate(s(g,c)):h.graphic=d=b.arc(g).setRadialReference(a.center).attr(h.pointAttr[h.selected?"select":""]).attr({"stroke-linejoin":"round"}).attr(c).add(a.group).shadow(e,
f);h.visible===!1&&h.setVisible(!1)})},drawDataLabels:function(){var a=this,b=a.data,c,d=a.chart,e=a.options.dataLabels,f=p(e.connectorPadding,10),g=p(e.connectorWidth,1),h=d.plotWidth,d=d.plotHeight,i,j,k=p(e.softConnector,!0),l=e.distance,m=a.center,o=m[2]/2,q=m[1],t=l>0,s,w,v,x,A=[[],[]],z,E,G,I,B,C=[0,0,0,0],H=function(a,b){return b.y-a.y},K=function(a,b){a.sort(function(a,c){return a.angle!==void 0&&(c.angle-a.angle)*b})};if(a.visible&&(e.enabled||a._hasPointLabels)){Q.prototype.drawDataLabels.apply(a);
n(b,function(a){a.dataLabel&&A[a.half].push(a)});for(I=0;!x&&b[I];)x=b[I]&&b[I].dataLabel&&(b[I].dataLabel.getBBox().height||21),I++;for(I=2;I--;){var b=[],L=[],F=A[I],J=F.length,D;K(F,I-0.5);if(l>0){for(B=q-o-l;B<=q+o+l;B+=x)b.push(B);w=b.length;if(J>w){c=[].concat(F);c.sort(H);for(B=J;B--;)c[B].rank=B;for(B=J;B--;)F[B].rank>=w&&F.splice(B,1);J=F.length}for(B=0;B<J;B++){c=F[B];v=c.labelPos;c=9999;var N,M;for(M=0;M<w;M++)N=O(b[M]-v[1]),N<c&&(c=N,D=M);if(D<B&&b[B]!==null)D=B;else for(w<J-B+D&&b[B]!==
null&&(D=w-J+B);b[D]===null;)D++;L.push({i:D,y:b[D]});b[D]=null}L.sort(H)}for(B=0;B<J;B++){c=F[B];v=c.labelPos;s=c.dataLabel;G=c.visible===!1?"hidden":"visible";c=v[1];if(l>0){if(w=L.pop(),D=w.i,E=w.y,c>E&&b[D+1]!==null||c<E&&b[D-1]!==null)E=c}else E=c;z=e.justify?m[0]+(I?-1:1)*(o+l):a.getX(D===0||D===b.length-1?c:E,I);s._attr={visibility:G,align:v[6]};s._pos={x:z+e.x+({left:f,right:-f}[v[6]]||0),y:E+e.y-10};s.connX=z;s.connY=E;if(this.options.size===null)w=s.width,z-w<f?C[3]=r(u(w-z+f),C[3]):z+w>
h-f&&(C[1]=r(u(z+w-h+f),C[1])),E-x/2<0?C[0]=r(u(-E+x/2),C[0]):E+x/2>d&&(C[2]=r(u(E+x/2-d),C[2]))}}if(ua(C)===0||this.verifyDataLabelOverflow(C))this.placeDataLabels(),t&&g&&n(this.points,function(b){i=b.connector;v=b.labelPos;if((s=b.dataLabel)&&s._pos)G=s._attr.visibility,z=s.connX,E=s.connY,j=k?["M",z+(v[6]==="left"?5:-5),E,"C",z,E,2*v[2]-v[4],2*v[3]-v[5],v[2],v[3],"L",v[4],v[5]]:["M",z+(v[6]==="left"?5:-5),E,"L",v[2],v[3],"L",v[4],v[5]],i?(i.animate({d:j}),i.attr("visibility",G)):b.connector=i=
a.chart.renderer.path(j).attr({"stroke-width":g,stroke:e.connectorColor||b.color||"#606060",visibility:G}).add(a.group);else if(i)b.connector=i.destroy()})}},verifyDataLabelOverflow:function(a){var b=this.center,c=this.options,d=c.center,e=c=c.minSize||80,f;d[0]!==null?e=r(b[2]-r(a[1],a[3]),c):(e=r(b[2]-a[1]-a[3],c),b[0]+=(a[3]-a[1])/2);d[1]!==null?e=r(C(e,b[2]-r(a[0],a[2])),c):(e=r(C(e,b[2]-a[0]-a[2]),c),b[1]+=(a[0]-a[2])/2);e<b[2]?(b[2]=e,this.translate(b),n(this.points,function(a){if(a.dataLabel)a.dataLabel._pos=
null}),this.drawDataLabels()):f=!0;return f},placeDataLabels:function(){n(this.points,function(a){var a=a.dataLabel,b;if(a)(b=a._pos)?(a.attr(a._attr),a[a.moved?"animate":"attr"](b),a.moved=!0):a&&a.attr({y:-999})})},alignDataLabel:ya,drawTracker:D.prototype.drawTracker,drawLegendSymbol:F.prototype.drawLegendSymbol,getSymbol:ya};X=ha(Q,X);aa.pie=X;s(Highcharts,{Axis:db,Chart:xb,Color:pa,Legend:wb,Pointer:vb,Point:Pa,Tick:La,Tooltip:ub,Renderer:Va,Series:Q,SVGElement:va,SVGRenderer:Ga,arrayMin:Ia,
arrayMax:ua,charts:Fa,dateFormat:Xa,format:Ba,pathAnim:zb,getOptions:function(){return M},hasBidiBug:Ub,isTouchDevice:Ob,numberFormat:za,seriesTypes:aa,setOptions:function(a){M=x(M,a);Lb();return M},addEvent:J,removeEvent:ba,createElement:U,discardElement:Ta,css:L,each:n,extend:s,map:Na,merge:x,pick:p,splat:ia,extendClass:ha,pInt:A,wrap:Bb,svg:Z,canvas:$,vml:!Z&&!$,product:"Highcharts",version:"3.0.5"})})();
;
/*
 Highcharts JS v3.0.5 (2013-08-23)
 Exporting module

 (c) 2010-2013 Torstein Hønsi

 License: www.highcharts.com/license
*/
(function (e) {
	var y = e.Chart,
		v = e.addEvent,
		B = e.removeEvent,
		m = e.createElement,
		j = e.discardElement,
		t = e.css,
		k = e.merge,
		r = e.each,
		p = e.extend,
		C = Math.max,
		i = document,
		z = window,
		D = e.isTouchDevice,
		E = e.Renderer.prototype.symbols,
		s = e.getOptions(),
		w;
	p(s.lang, {
		printChart: "Print chart",
		downloadPNG: "Download PNG image",
		downloadJPEG: "Download JPEG image",
		downloadPDF: "Download PDF document",
		downloadSVG: "Download SVG vector image",
		contextButtonTitle: "Chart context menu"
	});
	s.navigation = {
		menuStyle: {
			border: "1px solid #A0A0A0",
			background: "#FFFFFF",
			padding: "5px 0"
		},
		menuItemStyle: {
			padding: "0 10px",
			background: "none",
			color: "#303030",
			fontSize: D ? "14px" : "11px"
		},
		menuItemHoverStyle: {
			background: "#4572A5",
			color: "#FFFFFF"
		},
		buttonOptions: {
			symbolFill: "#E0E0E0",
			symbolSize: 14,
			symbolStroke: "#666",
			symbolStrokeWidth: 3,
			symbolX: 12.5,
			symbolY: 10.5,
			align: "right",
			buttonSpacing: 3,
			height: 22,
			theme: {
				fill: "white",
				stroke: "none"
			},
			verticalAlign: "top",
			width: 24
		}
	};
	s.exporting = {
		type: "image/png",
		url: "https://export.highcharts.com/",
		buttons: {
			contextButton: {
				symbol: "menu",
				_titleKey: "contextButtonTitle",
				menuItems: [{
					textKey: "printChart",
					onclick: function () {
						this.print();
					}
				}, {
					separator: !0
				}, {
					textKey: "downloadPNG",
					onclick: function () {
						this.exportChart();
					}
				}, {
					textKey: "downloadJPEG",
					onclick: function () {
						this.exportChart({
							type: "image/jpeg"
						});
					}
				}, {
					textKey: "downloadPDF",
					onclick: function () {
						this.exportChart({
							type: "application/pdf"
						});
					}
				}, {
					textKey: "downloadSVG",
					onclick: function () {
						this.exportChart({
							type: "image/svg+xml"
						});
					}
				}]
			}
		}
	};
	e.post = function (a, b) {
		var c, d;
		d = m(
			"form", {
				method: "post",
				action: a,
				enctype: "multipart/form-data"
			}, {
				display: "none"
			},
			i.body
		);
		console.log(d);
		for (c in b) m("input", {
			type: "hidden",
			name: c,
			value: b[c]
		}, null, d);
		d.submit();
		j(d);
	};
	p(y.prototype, {
		getSVG: function (a) {
			var b = this,
				c,
				d,
				x,
				g,
				f = k(b.options, a);
			if (!i.createElementNS)
				i.createElementNS = function (a, b) {
					return i.createElement(b);
				};
			a = m(
				"div",
				null, {
					position: "absolute",
					top: "-9999em",
					width: b.chartWidth + "px",
					height: b.chartHeight + "px"
				},
				i.body
			);
			d = b.renderTo.style.width;
			g = b.renderTo.style.height;
			d =
				f.exporting.sourceWidth ||
				f.chart.width ||
				(/px$/.test(d) && parseInt(d, 10)) ||
				600;
			g =
				f.exporting.sourceHeight ||
				f.chart.height ||
				(/px$/.test(g) && parseInt(g, 10)) ||
				400;
			p(f.chart, {
				animation: !1,
				renderTo: a,
				forExport: !0,
				width: d,
				height: g
			});
			f.exporting.enabled = !1;
			f.series = [];
			r(b.series, function (a) {
				x = k(a.options, {
					animation: !1,
					showCheckbox: !1,
					visible: a.visible
				});
				x.isInternal || f.series.push(x);
			});
			c = new e.Chart(f, b.callback);
			r(["xAxis", "yAxis"], function (a) {
				r(b[a], function (b, f) {
					var d = c[a][f],
						e = b.getExtremes(),
						g = e.userMin,
						e = e.userMax;
					d && (g !== void 0 || e !== void 0) && d.setExtremes(g, e, !0, !1);
				});
			});
			d = c.container.innerHTML;
			f = null;
			c.destroy();
			j(a);
			d = d
				.replace(/zIndex="[^"]+"/g, "")
				.replace(/isShadow="[^"]+"/g, "")
				.replace(/symbolName="[^"]+"/g, "")
				.replace(/jQuery[0-9]+="[^"]+"/g, "")
				.replace(/url\([^#]+#/g, "url(#")
				.replace(/<svg /, '<svg xmlns:xlink="https://www.w3.org/1999/xlink" ')
				.replace(/ href=/g, " xlink:href=")
				.replace(/\n/, " ")
				.replace(/<\/svg>.*?$/, "</svg>")
				.replace(/&nbsp;/g, " ")
				.replace(/&shy;/g, "­")
				.replace(/<IMG /g, "<image ")
				.replace(/height=([^" ]+)/g, 'height="$1"')
				.replace(/width=([^" ]+)/g, 'width="$1"')
				.replace(/hc-svg-href="([^"]+)">/g, 'xlink:href="$1"/>')
				.replace(/id=([^" >]+)/g, 'id="$1"')
				.replace(/class=([^" >]+)/g, 'class="$1"')
				.replace(/ transform /g, " ")
				.replace(/:(path|rect)/g, "$1")
				.replace(/style="([^"]+)"/g, function (a) {
					return a.toLowerCase();
				});
			return (d = d
				.replace(/(url\(#highcharts-[0-9]+)&quot;/g, "$1")
				.replace(/&quot;/g, "'"));
		},
		exportChart: function (a, b) {
			var a = a || {},
				c = this.options.exporting,
				c = this.getSVG(
					k({
						chart: {
							borderRadius: 0
						}
					}, c.chartOptions, b, {
							exporting: {
								sourceWidth: a.sourceWidth || c.sourceWidth,
								sourceHeight: a.sourceHeight || c.sourceHeight
							}
						})
				),
				a = k(this.options.exporting, a);
			e.post(a.url, {
				filename: a.filename || "chart",
				type: a.type,
				width: a.width || 0,
				scale: a.scale || 2,
				svg: c
			});
		},
		print: function () {
			var a = this,
				b = a.container,
				c = [],
				d = b.parentNode,
				e = i.body,
				g = e.childNodes;
			if (!a.isPrinting)
				(a.isPrinting = !0),
					r(g, function (a, b) {
						if (a.nodeType === 1)
							(c[b] = a.style.display), (a.style.display = "none");
					}),
					e.appendChild(b),
					z.focus(),
					z.print(),
					setTimeout(function () {
						d.appendChild(b);
						r(g, function (a, b) {
							if (a.nodeType === 1) a.style.display = c[b];
						});
						a.isPrinting = !1;
					}, 1e3);
		},
		contextMenu: function (a, b, c, d, e, g, f) {
			var h = this,
				q = h.options.navigation,
				n = q.menuItemStyle,
				o = h.chartWidth,
				i = h.chartHeight,
				A = "cache-" + a,
				l = h[A],
				k = C(e, g),
				u,
				j,
				s;
			if (!l)
				(h[A] = l = m(
					"div", {
						className: "highcharts-" + a
					}, {
						position: "absolute",
						zIndex: 1e3,
						padding: k + "px"
					},
					h.container
				)), (u = m(
					"div",
					null,
					p({
						MozBoxShadow: "3px 3px 10px #888",
						WebkitBoxShadow: "3px 3px 10px #888",
						boxShadow: "3px 3px 10px #888"
					},
						q.menuStyle
					),
					l
				)), (j = function () {
					t(l, {
						display: "none"
					});
					f && f.setState(0);
					h.openMenu = !1;
				}),
					v(l, "mouseleave", function () {
						s = setTimeout(j, 500);
					}),
					v(l, "mouseenter", function () {
						clearTimeout(s);
					}),
					r(b, function (a) {
						if (a) {
							var b = a.separator ? m("hr", null, null, u) : m(
								"div", {
									onmouseover: function () {
										t(this, q.menuItemHoverStyle);
									},
									onmouseout: function () {
										t(this, n);
									},
									onclick: function () {
										j();
										a.onclick.apply(h, arguments);
									},
									innerHTML: a.text || h.options.lang[a.textKey]
								},
								p({
									cursor: "pointer"
								}, n),
								u
							);
							h.exportDivElements.push(b);
						}
					}),
					h.exportDivElements.push(u, l), (h.exportMenuWidth = l.offsetWidth), (h.exportMenuHeight = l.offsetHeight);
			a = {
				display: "block"
			};
			c + h.exportMenuWidth > o ? (a.right = o - c - e - k + "px") : (a.left = c - k + "px");
			d + g + h.exportMenuHeight > i && f.alignOptions.verticalAlign !== "top" ? (a.bottom = i - d - k + "px") : (a.top = d + g - k + "px");
			t(l, a);
			h.openMenu = !0;
		},
		addButton: function (a) {
			var b = this,
				c = b.renderer,
				a = k(b.options.navigation.buttonOptions, a),
				d = a.onclick,
				i = a.menuItems,
				g,
				f,
				h = {
					stroke: a.symbolStroke,
					fill: a.symbolFill
				},
				q = a.symbolSize || 12;
			if (!b.btnCount) b.btnCount = 0;
			b.btnCount++;
			if (!b.exportDivElements)
				(b.exportDivElements = []), (b.exportSVGElements = []);
			if (a.enabled !== !1) {
				var n = a.theme,
					o = n.states,
					m = o && o.hover,
					o = o && o.select,
					j;
				delete n.states;
				d
					? (j = function () {
						d.apply(b, arguments);
					}) : i &&
					(j = function () {
						b.contextMenu(
							"contextmenu",
							i,
							f.translateX,
							f.translateY,
							f.width,
							f.height,
							f
						);
						f.setState(2);
					});
				a.text && a.symbol ? (n.paddingLeft = e.pick(n.paddingLeft, 25)) : a.text || p(n, {
					width: a.width,
					height: a.height,
					padding: 0
				});
				f = c
					.button(a.text, 0, 0, j, n, m, o)
					.attr({
						title: b.options.lang[a._titleKey],
						"stroke-linecap": "round"
					});
				a.symbol &&
					(g = c
						.symbol(a.symbol, a.symbolX - q / 2, a.symbolY - q / 2, q, q)
						.attr(p(h, {
							"stroke-width": a.symbolStrokeWidth || 1,
							zIndex: 1
						}))
						.add(f));
				f
					.add()
					.align(p(a, {
						width: f.width,
						x: e.pick(a.x, w)
					}), !0, "spacingBox");
				w += (f.width + a.buttonSpacing) * (a.align === "right" ? -1 : 1);
				b.exportSVGElements.push(f, g);
			}
		},
		destroyExport: function (a) {
			var a = a.target,
				b,
				c;
			for (b = 0; b < a.exportSVGElements.length; b++)
				if ((c = a.exportSVGElements[b]))
					(c.onclick = c.ontouchstart = null), (a.exportSVGElements[b] = c.destroy());
			for (b = 0; b < a.exportDivElements.length; b++)
				(c = a.exportDivElements[b]),
					B(c, "mouseleave"), (a.exportDivElements[
						b
					] = c.onmouseout = c.onmouseover = c.ontouchstart = c.onclick = null),
					j(c);
		}
	});
	E.menu = function (a, b, c, d) {
		return [
			"M",
			a,
			b + 2.5,
			"L",
			a + c,
			b + 2.5,
			"M",
			a,
			b + d / 2 + 0.5,
			"L",
			a + c,
			b + d / 2 + 0.5,
			"M",
			a,
			b + d - 1.5,
			"L",
			a + c,
			b + d - 1.5
		];
	};
	y.prototype.callbacks.push(function (a) {
		var b,
			c = a.options.exporting,
			d = c.buttons;
		w = 0;
		if (c.enabled !== !1) {
			for (b in d) a.addButton(d[b]);
			v(a, "destroy", a.destroyExport);
		}
	});
})(Highcharts);;
//-------------------------------------------------------------------------------
// Utilities \ Utility_Functions.js Handy Functions
//-------------------------------------------------------------------------------

function Utilities() { }

Utilities.APPENDER_HELLIP = "&hellip;";
Utilities.DEFAULT_ASSETID = 3838;

Utilities.StripHTMLTags = function (str) {
    var regex = /(<([^>]+)>)/ig;
    var content = str.replace(regex, "");

    return content
}

Utilities.TruncateToWord = function (str, characterCount, appender) {

    var content = str;

    if (appender == undefined) {
        appender = "";
    }

    if (content.length > characterCount) {
        content = content.substring(0, characterCount);

        if (content.lastIndexOf(" ") > 0) {
            content = content.substring(0, content.lastIndexOf(" "));
        }

        content += appender;
    }

    return content;
}

Utilities.getBool = function (value) {
    if (value == undefined) {
        return undefined;
    }
    else {
        if (value === true || value == 'True' || value == 'true' || value == 'yes' || value == '1') {
            return true;
        }
        else {
            if (value === false || value == 'False' || value == 'false' || value == 'no' || value == '0') {
                return false;
            }
            else {
                return undefined;
            }
        }
    }
};

Utilities.GetIcon = function (type) {
    var icon = "";
    if (type !== undefined) {
        switch (type.toLowerCase().replace(" ", "")) {
            case "person":
                icon = "icon-user";
                break;
            case "document":
                icon = "icon-file";
                break;
            case "profilepost":
                icon = "icon-bullhorn";
                break;
            case "profiledcomment":
                icon = "icon-comment";
                break;
            case "team":
                icon = "iconextra-team iconextra-white";
                break;
            case "event":
                icon = "iconextra-Event iconextra-white";
                break;
            case "forum":
                icon = "iconextra-forum iconextra-white";
                break;
            case "forumdiscussion":
                icon = "iconextra-forumdiscussion iconextra-white";
                break;
            case "forumquestion":
                icon = "iconextra-forumquestion iconextra-white";
                break;
            case "forumidea":
                icon = "iconextra-forumidea iconextra-white";
                break;
            case "forumidealist":
                icon = "iconextra-forumidealist iconextra-white";
                break;
            case "blog":
                icon = "iconextra-blog iconextra-white";
                break;
            case "blogpost":
                icon = "iconextra-blogpost iconextra-white";
                break;
            case "gallery":
                icon = "icon-picture";
                break;
            case "galleryimage":
                icon = "icon-camera";
                break;
            case "calendar":
                icon = "icon-calendar";
                break;
            case "category":
                icon = "icon-folder-open";
                break;
            case "workflow":
                icon = "iconextra-paperclip iconextra-white";
                break;
            case "department":
                icon = "iconextra-bag iconextra-white";
                break;
            case "location":
                icon = "icon-map-marker";
                break;
            case "company":
                icon = "iconextra-company iconextra-white";
                break;
            case "companydepartmentlocation":
                icon = "icon-bookmark";
                break;
            case "widgetcontent":
				icon = "icon-gears";
                break;
            case "other":
                icon = "icon-asterisk";
                break;
            default:
                icon = "icon-flag";
                break;
        }
    }
    return icon;
}

Utilities.IsIconExtra = function (icon) {
    var success = false;

    if (icon != undefined) {
        if (icon.indexOf('iconextra') > -1) {
            success = true;
        }
    }

    return success;
}

Utilities.GetLink = function (type, id) {

    var url = "";
    if (type !== undefined) {
        switch (type.toLowerCase().replace(" ", "")) {
            case "search":
                url = "/search?q=" + id;
                break;
            case "person":
                url = "/Interact/Pages/Modules/Directory/Entry.aspx?person=" + id;
                break;
            case "document":
                url = "/Interact/Pages/Content/Document.aspx?id=" + id;
                break;
            case "profilepost":
                url = "/Interact/Pages/Modules/Directory/Entry.aspx?person=" + id;
                break;
            case "profiledcomment":
                url = "/Interact/Pages/Modules/Directory/Entry.aspx?person=" + id;
                break;
            case "team":
                url = "/Interact/Pages/Section/Default.aspx?Section=" + id;
                break;
            case "event":
                url = "/Interact/Pages/Modules/Calendar/Event.aspx?id=" + id;
                break;
            case "forum":
                url = "/Interact/Pages/Modules/Forum/Forum.aspx?id=" + id;
                break;
            case "forumthread":
                url = "/Interact/Pages/Modules/Forum/Forum.aspx?id=" + id;
                break;
            case "forumpost":
                url = "/Interact/Pages/Modules/Forum/Forum.aspx?id=" + id;
                break;
            case "blog":
                url = "/Interact/Pages/Modules/Blog/Blog.aspx?person=" + id;
                break;
            case "blogpost":
                url = "/Interact/Pages/Modules/Blog/Blog.aspx?person=" + id;
                break;
            case "section":
                url = "/Interact/Pages/Section/Default.aspx?Section=" + id;
                break;
            case "gallery":
                url = "/Interact/Pages/Modules/Gallery/Gallery.aspx?sectionid=" + id;
                break;
            case "form":
                url = "#?id=" + id;
                break;
            case "department":
                url = "/Interact/Pages/Modules/Networkdirectory/Entry.aspx?id=" + id;
                break;
            case "company":
                url = "/Interact/Pages/Modules/Networkdirectory/Entry.aspx?id=" + id;
                break;
            case "location":
                url = "/Interact/Pages/Modules/Networkdirectory/Entry.aspx?id=" + id;
                break;
            case "forumdiscussion":
                var currentUrlWithoutThreadId = window.location.href.split('tid=')[0];
                if (currentUrlWithoutThreadId !== undefined) {
                   url = currentUrlWithoutThreadId;
                }
                break;
            default:
                url = "#";
                break;
        }
    }
    return url;

}

Utilities.GetAvatar = function (type) {
    var avatar = "";

    switch (type.toLowerCase().replace(" ", "")) {
        case "person":
            avatar = "/Content/default/images/profile-placeholder.png";
            break;
        case "document":
            avatar = "/Content/default/images/document-placeholder.png";
            break;
        case "profilepost":
            avatar = "/Content/default/images/profilepost-placeholder.png";
            break;
        case "profiledcomment":
            avatar = "/Content/default/images/profiledcomment-placeholder.png";
            break;
        case "team":
            avatar = "/Content/default/images/team-placeholder.png";
            break;
        case "event":
            avatar = "/Content/default/images/event-placeholder.png";
            break;
        case "forum":
            avatar = "/Content/default/images/forum-placeholder.png";
            break;
        case "forumthread":
            avatar = "/Content/default/images/forum-placeholder.png";
            break;
        case "forumpost":
            avatar = "/Content/default/images/forum-placeholder.png";
            break;
        case "blog":
            avatar = "/Content/default/images/blog-placeholder.png";
            break;
        case "blogpost":
            avatar = "/Content/default/images/blogpost-placeholder.png";
            break;
        case "workflow":
            avatar = "/Content/default/images/workflow-placeholder.png";
            break;
        case "gallery":
            avatar = "/Content/default/images/gallery-placeholder.png";
            break;
        case "galleryimage":
            avatar = "/Content/default/images/galleryimage-placeholder.png";
            break;
        case "calendar":
            avatar = "/Content/default/images/calendar-placeholder.png";
            break;
        case "category":
            avatar = "/Content/default/images/category-placeholder.png";
            break;
        case "sharepointpage":
            avatar = "/Content/default/images/category-placeholder.png";
            break;
        case "topmenusection": 
            avatar = "/Content/default/images/contentarea-placeholder.png";
            break;
        case "teamblog":     
            avatar = "/Content/default/images/teamblog-placeholder.png";
            break;
        case "externallink":      
            avatar = "/Content/default/images/LHM-placeholder.png";
            break;
        case "widgetcontent":      
            avatar = "/Content/default/images/contentarea-placeholder.png";
            break;
        default:
            avatar = "/Content/default/images/document-placeholder.png";
    }

    return avatar;
}

Utilities.GetAsset = function (id, size) {

    if (!Utilities.IsAsset(id))
        return '/utilities/assets/handler/asset.ashx?asset=' + Utilities.DEFAULT_ASSETID + '&size=' + size;

    var assetId = parseInt(id);

    if (!isNaN(assetId)) {
        return '/utilities/assets/handler/asset.ashx?asset=' + id + '&size=' + size;

    } else {
        // Assume Url
        return id;
    }
}

Utilities.IsAsset = function (id) {

    var success = false;

    if (id != undefined) {

        if (id != "0" && id != "-1" && id != "") {
            success = true;
        }

    }

    return success;
}

Utilities.ParseContent = function (content) {
    var regExp = new RegExp(/@\[(.*?)\]\(([a-zA-Z]*?)\:(\d*?)\)/gi);
    if (content != undefined) {
        return content.replace(regExp, function (fullText, $1, $2, $3) {
            var url = Utilities.GetLink($2, $3);
            var hoverCard = "data-{0}=\"{1}\"";
            switch ($2) {
                case 'Person':
                    hoverCard = hoverCard.replace("{0}", "personid").replace("{1}", $3);
                    break;
                case 'Document':
                    hoverCard = hoverCard.replace("{0}", "contentid").replace("{1}", $3);
                    break;
                case 'Form':
                    hoverCard = hoverCard.replace("{0}", "formid").replace("{1}", $3);
                    break;
                case "ForumDiscussion":
                    return '<a href="' + url + 'tid=' + $3 + '">' + $1 + '</a>';
                default:
                    break;
            }

            return '<a href="' + url + '" ' + hoverCard + '>' + $1 + '</a>';
        });

    } else {
        return "";
    }
}

Utilities.GetQueryStringParameter = function (param) {
    var pageURL = window.location.search.substring(1);
    var urlVariables = pageURL.split('&');
    var value = "";

    for (var i = 0; i < urlVariables.length; i++) {
        var parameterName = urlVariables[i].split('=');

        if (parameterName[0].toLowerCase() == param.toLowerCase()) {
            value = parameterName[1].replace("+", "%2B");
            value = decodeURIComponent(value);
            break;
        }
    }

    return value;

    //name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
    //var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
    //    results = regex.exec(location.search);
    //return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));

}

Utilities.CloseParentContainer = function () {
    $(".closeParent").click(function () {
        $(this).parent().hide();
        return false;
    });
}

Utilities.GetQueryStringHashParameter = function (param) {
    var pageURL = window.location.hash.replace("#", "");
    var urlVariables = pageURL.split('&');
    var value = "";

    for (var i = 0; i < urlVariables.length; i++) {
        var parameterName = urlVariables[i].split('=');

        if (parameterName[0] == param) {
            value = parameterName[1].replace("+", "%2B");
            value = decodeURIComponent(value);
            break;
        }
    }

    return value;
}

Utilities.EscapeString = function (str) {
    return (str + '').replace(/[\\"']/g, '\\$&').replace(/\u0000/g, '\\0');
}

Utilities.GetRemainingCharacterCount = function (maxChars, label, input) {
    var totalChar = maxChars;
    maxChars = totalChar - $(input).val().length;
    label.text($(label).attr('data-original-title') + maxChars);
}

// Formats 
// 0 = 11th February 2005 (dddd MMMM yyyy)
// 1 = 11/02/05 (dd/MM/yy)
// https://github.com/phstc/jquery-dateFormat
// http://download.oracle.com/javase/1.4.2/docs/api/java/text/SimpleDateFormat.html
// Custom format 'dddd' returns day and sufix e.g.11th

Utilities.DateFormats =
        [
        "dddd MMMM yyyy", // 11th February 2005
        "dd/MM/yy", // 11/02/05
        "dddd MMMM yyyy @ h:mmaa", //14th December 2012 @ 5pm
        "MMMM dd, yyyy HH:mm:ss",//"October 13, 1975 11:13:00
		"MMMM dd, yyyy", // June 5 2019
		"MMM dd yy",	 // Jun 05 19
		"MMM dd yyyy"	 // Jun 05 2019
        ];

Utilities.FormatDate = function (dateString, format, useTimezone) {

	// DP: [JIRA] NEU-14608
	// if we don't check for a null value, we end up getting errors from the formatter later
	// this short circuits that - also checks to make sure we have a valid date string
	if (!dateString || isNaN(new Date(dateString)))
		return;

	//e.g. 11th February 2005
	if (typeof useTimezone !== "undefined")
		dateString = new Date((new Date(dateString)).getTime() + (parseFloat($("#hidden-user-tz-offset-mins").val()) * 60000)).toISOString();

    var f = Utilities.DateFormats[0];

    if (format != undefined) {
        if (typeof (format) == "number") {
            if (format < Utilities.DateFormats.length) {
                f = Utilities.DateFormats[format];
            }
        }
        else if (typeof (format) == "string") {
            f = format;
        }
    }

    return $.format.date(dateString, f);
}


// DP: Restructure the JS time string to turn the 'ambiguous'
// to the 'unambiguous' (strip the Z and add a TZ adjustment)
// (assumes we are getting date strings in valid formats)
Utilities.datetimeStringAmbiguityConverter = function(dateString) {

	// falsy check
	if (!dateString)
		return;

	// is there a Z? (should be after the previous line)
	if (dateString.toLowerCase().indexOf('z') > -1) {

		//  If so, strip it and all to the right of it
		dateString = dateString.substring(0, dateString.toLowerCase().indexOf('z') - 1);
	}	

	// if we don't have a timezone adjustment suffix, add one
	// (RegEx matches valid tz adjustment strings)
	const tzAdjustmentRegEx = /(?:[+-](?:2[0-3]|[01][0-9]):[0-5][0-9])/;
	if (!dateString.match(tzAdjustmentRegEx)) {
		dateString += '+00:00';
	}

	return dateString;

}

Utilities.eventTimeString = function (datetimeStart, datetimeEnd) {
    var tmp;
    var dStart = new Date(Utilities.FormatDate(datetimeStart, 3));
    var dFinish = new Date(Utilities.FormatDate(datetimeEnd, 3));
    if (dStart && dFinish) {
        var dStartdate = dStart.toDateString();
        var dFinishdate = dFinish.toDateString();
        var browserLanguage = navigator.language;
        if (dFinishdate == dStartdate) {
            //same day
            if (browserLanguage.toLocaleLowerCase() === 'en-us') {
                tmp = Utilities.FormatDate(datetimeStart, 4);
            } else {
                tmp = Utilities.FormatDate(datetimeStart, 0);
            }
        }
        else {
            if (browserLanguage.toLocaleLowerCase() === 'en-us') {
                tmp = Utilities.FormatDate(datetimeStart, 4) + ' - ' + Utilities.FormatDate(datetimeEnd, 4);
            } else {
                tmp = Utilities.FormatDate(datetimeStart, 0) + ' - ' + Utilities.FormatDate(datetimeEnd, 0);
            }
        }

        return tmp;
    }

}

Utilities.CompiledTemplates = [];

Utilities.ProcessTemplate = function (templateId, data) {
    var template;

    if (Utilities.CompiledTemplates[templateId] == undefined) {
        var source = $(templateId).html();
        template = Handlebars.compile(source);
        Utilities.CompiledTemplates[templateId] = template;
    } else {
        template = Utilities.CompiledTemplates[templateId];
    }

    return template(data);
}

Utilities.TruncateToMid = function (str, characterCount, appender) {

    var content = str;

    if (appender == undefined) {
        appender = Utilities.APPENDER_HELLIP;
    }

    if (content.length > characterCount) {

        var cut = Math.round(characterCount / 2);

        var part1 = content.substring(0, cut);
        var part2 = content.substring(cut, content.length).reverse();

        part1 = part1.substring(0, cut);
        part2 = part2.substring(0, cut);

        part2 = part2.reverse();

        content = part1 + appender + part2;
    }

    return content;
}

Utilities.GetQueryStringParams = function (param) {
    var pageURL = window.location.search.substring(1);
    var urlVariables = pageURL.split('&');

    for (var i = 0; i < urlVariables.length; i++) {
        var parameterName = urlVariables[i].split('=');

        if (parameterName[0].toLowerCase() == param.toLowerCase()) {
            return decodeURIComponent(parameterName[1]);
        }
    }
}

Utilities.ApplyTooltips = function (ctx) {
    if (ctx == undefined) {
    	$("[rel=tooltip]").tooltip({ container: 'body' });
    }
    else {
        $("[rel=tooltip]", ctx).tooltip('destroy');
        $("[rel=tooltip]", ctx).tooltip({ container: 'body' });
    }

}

Utilities.ApplySelect2ToDropDownLists = function () {
    $(".select2dropdown").select2();
}

Utilities.parseQueryString = function (qString) {
    var vars = [], hash;
    var hashes = qString.split('&');

    for (var i = 0; i < hashes.length; i++) {
        hash = hashes[i].split('=');
        vars.push(hash[0]);
        vars[hash[0]] = hash[1];
    }

    return vars;
}

Utilities.ApplyScrollBar = function (element, showScrollBar, scrollCallback) {
    $(element).jScrollPane({
        horizontalGutter: 5,
        verticalGutter: 5,
        'showArrows': false
    }).bind('jsp-scroll-y', scrollCallback);

    if (!showScrollBar) {
        $(element).find('.jspDrag').hide();
    }
}

Utilities.DestroyScrollBar = function (element) {
    $(element).css('width', '');

    var api = $(element).data('jsp');
    if (api != undefined) {
        api.destroy();
    }
}

Utilities.ReinitialiseScrollBar = function (element) {
    $(element).css('width', '');

    var api = $(element).data('jsp');
    if (api != undefined) {
        api.reinitialise();
    }
}

Utilities.EventPreventDefault = function (event) {
    (event.preventDefault) ? event.preventDefault() : event.returnValue = false;

}

Utilities.LoadImage = function (src, fn) {
    if ($("html").hasClass("ios")
        && $("html").hasClass("safari")) {
        var encodedSrc = src + '&encode=1';
        var xhr = new XMLHttpRequest();
        xhr.onreadystatechange = function () {
            if (this.readyState == 4 && this.status == 200) {
                var url = window.URL || window.webkitURL;
                var blobSrc = url.createObjectURL(this.response);
                Utilities.LoadImageSuccessCallback(blobSrc, fn);
            }
        }
        xhr.open('GET', encodedSrc, true);
        xhr.responseType = 'blob';
        xhr.send();
    } else {
        Utilities.LoadImageSuccessCallback(src, fn);
    }

}

Utilities.getNatural = function (DOMelement) {
    var img = new Image();
    img.src = DOMelement.src;
    return { width: img.width, height: img.height };
}

Utilities.LoadImageSuccessCallback = function (src, fn) {

    var img = $("<img />").one('load', function () {
        if ($.browser.version < 9 && $.browser.msie) {
            var _WidthHeightWidth = Utilities.getNatural(this);
            if (typeof _WidthHeightWidth.width == "undefined" || _WidthHeightWidth.width == 0) {
                $(img).attr("data-type", "error");
            } else {
                $(img).attr("data-type", "success");
                $(img).attr("width", _WidthHeightWidth.width);
                $(img).attr("height", _WidthHeightWidth.height);
            }
            if (!$(img).data("one")) {
                $(img).attr("data-one", true);
                fn ? fn(img) : null;
            }
        }
        else {
            if (typeof this.naturalWidth == "undefined" || this.naturalWidth == 0) {
                $(img).attr("data-type", "error");
            } else {
                $(img).attr("data-type", "success");
                $(img).attr("width", this.naturalWidth);
                $(img).attr("height", this.naturalHeight);
            }
            if (!$(img).data("one")) {
                $(img).attr("data-one", true);
                fn ? fn(img) : null;
            }

        }

        //var _WidthHeightWidth = Utilities.getNatural(this);

    }).one("error", function () {

        $(img).attr("data-type", "error");
        if (!$(img).data("one")) {
            $(img).attr("data-one", true);
            fn ? fn(img) : null;
        }
    });
    $(img).attr("src", src);
}

Utilities.isFunction = function (obj) {
    var success = false;
    if (typeof obj == 'function') {
        success = true;
    }
    return success;
}

Utilities.IsDate = function (x) {
    return (null != x) && !isNaN(x) && ("undefined" !== typeof x.getDate);
}

Utilities.Exists = function (obj) {
    var success = false;
    if (typeof obj != 'undefined') {
        success = true;
    }
    return success;
}
// Array Remove - By John Resig (MIT Licensed)
Array.prototype.remove = function (from, to) {
    var rest = this.slice((to || from) + 1 || this.length);
    this.length = from < 0 ? this.length + from : from;
    return this.push.apply(this, rest);
}

Utilities.disableButton = function(e, text) {
	var btnSave;
	if (e.target !== undefined) {
		btnSave = $(e.target);
	} else {
		btnSave = $(e.srcElement);
	}
	var disabled = btnSave.prop("data-disabled") == "disabled";
	if (disabled) {
		if (e.preventDefault !== undefined) {
			e.preventDefault();
		} else {
			e.returnValue = false;
			return false;
		}
	} else {
		btnSave.prop("data-disabled", "disabled");
		btnSave.addClass("disabled");
		btnSave.text(text);
	}
};

/**
 * Json objects provided from our ASMX web services include '__type' properties. The inclusion of these properties
 * when sent to MVC actions cause the javascript serialiser to fail. This method provides a copy of the provided model
 * with these properties removed. 
 */
Utilities.cleanAsmxModelForMvc = function(model) {
	var modelCopy = $.extend({}, model);

	Utilities.deleteAsmxTypeProperties(model);

	return modelCopy;
};

/**
 * Deletes '__type' fields from the provided object.
 */
Utilities.deleteAsmxTypeProperties = function (model) {
	
	if (model !== null && typeof model === 'object') {
		for (var property in model) {
			if (model.hasOwnProperty(property)) {

				if (Array.isArray(model[property])) {
					for (var i = 0; i < model[property].length; i++) {
						Utilities.deleteAsmxTypeProperties(model[property][i]);
					}
				} 

				if (typeof model[property] === 'object') {
					Utilities.deleteAsmxTypeProperties(property);
				} else if (property === '__type') {
					delete model[property];
				}

			}
		}
	} 
};

/**
 * To export a file that coming from an ajax post 
 */
Utilities.ExportFile = function (response, xhr) {
	var filename = "";
	var disposition = xhr.getResponseHeader('Content-Disposition');
	if (disposition && disposition.indexOf('attachment') !== -1) {
		var filenameRegex = /filename[^;=\n]*=((['"]).*?\2|[^;\n]*)/;
		var matches = filenameRegex.exec(disposition);
		if (matches != null && matches[1]) filename = matches[1].replace(/['"]/g, '');
	}
	var type = xhr.getResponseHeader('Content-Type');
	var blob = new Blob([response], { type: type });
	if (typeof window.navigator.msSaveBlob !== 'undefined') {
		// IE workaround for "HTML7007: One or more blob URLs were revoked by closing the blob for which they were created. These URLs will no longer resolve as the data backing the URL has been freed."
		window.navigator.msSaveBlob(blob, filename);
	} else {
		var URL = window.URL || window.webkitURL;
		var downloadUrl = URL.createObjectURL(blob);
		if (filename) {
			// use HTML5 a[download] attribute to specify filename
			var a = document.createElement("a");
			// safari doesn't support this yet
			if (typeof a.download === 'undefined') {
				window.location = downloadUrl;
			} else {
				a.href = downloadUrl;
				a.download = filename;
				document.body.appendChild(a);
				a.click();
			}
		} else {
			window.location = downloadUrl;
		}
		setTimeout(function () { URL.revokeObjectURL(downloadUrl); }, 100);
	}
};
function Tasks_Proxy() { }

Tasks_Proxy.GetTasksCountSynch = function (successCallback, failureCallback) {
    $.ajax({
        type: "POST",
        datatype: 'json',
        async: false,
        url: "/Interact/Pages/Modules/Tasks/Tasks.aspx/GetTasksCount",
        contentType: 'application/json; charset=utf-8',
        success: function (data) { successCallback(data.d) },
        error: function (data) { failureCallback(data.d) }
    });
}
Tasks_Proxy.GetTasksForWindowShade = function (successCallback, failureCallback) {
    $.ajax({
        type: "POST",
        datatype: 'json',
        async: false,
        url: "/Interact/Pages/Modules/Tasks/Tasks.aspx/GetTasksForWindowShade",
        contentType: 'application/json; charset=utf-8',
        success: function (data) { successCallback(data.d) },
        error: function (data) { failureCallback(data.d) }
    });
}
Tasks_Proxy.AddTaskFromWindowShade = function (details, successCallback, failureCallback) {
    $.ajax({
        type: "POST",
        datatype: 'json',
        async: false,
        url: "/Interact/Pages/Modules/Tasks/Tasks.aspx/AddTaskFromWindowShade",
        data: JSON.stringify({ details: details }),
        contentType: 'application/json; charset=utf-8',
        success: function (data) { successCallback(data.d) },
        error: function (data) { failureCallback(data.d) }
    });
}
Tasks_Proxy.MarkTaskAsComplete = function (taskId, successCallback, failureCallback) {
    $.ajax({
        type: "POST",
        datatype: 'json',
        async: false,
        url: "/Interact/Pages/Modules/Tasks/Tasks.aspx/MarkTaskComplete",
        data: JSON.stringify({ taskId: taskId }),
        contentType: 'application/json; charset=utf-8',
        success: function (data) { successCallback(data.d) },
        error: function (data) { failureCallback(data.d) }
    });
}
Tasks_Proxy.GetNextTask = function (recNo, successCallback, failureCallback) {
    $.ajax({
        type: "POST",
        datatype: 'json',
        async: false,
        url: "/Interact/Pages/Modules/Tasks/Tasks.aspx/GetNextTaskForShade",
        data: JSON.stringify({ recNo: recNo }),
        contentType: 'application/json; charset=utf-8',
        success: function (data) { successCallback(data.d) },
        error: function (data) { failureCallback(data.d) }
    });
}
Tasks_Proxy.DeleteTask = function (taskId, sectionId, successCallback, failureCallback) {
    $.ajax({
        type: "POST",
        datatype: 'json',
        async: false,
        url: "/Interact/Pages/Modules/Tasks/Tasks.aspx/DeleteTask",
        data: JSON.stringify({ taskId: taskId, sectionId: sectionId }),
        contentType: 'application/json; charset=utf-8',
        success: function (data) { successCallback(data.d) },
        error: function (data) { failureCallback(data.d) }
    });
}
Tasks_Proxy.AddTaskFromMain = function (details, priority, assignee, duedate, sectionId, taskType, successCallback, failureCallback) {
    $.ajax({
        type: "POST",
        datatype: 'json',
        async: false,
        url: "/Interact/Pages/Modules/Tasks/Tasks.aspx/AddTaskFromMain",
        data: JSON.stringify({ details: details, priority: priority, assignee: assignee, duedate: duedate, sectionId: sectionId, taskType: taskType }),
        contentType: 'application/json; charset=utf-8',
        success: function (data) { successCallback(data.d, "Created") },
        error: function (data) { failureCallback(data.d) }
    });
}
Tasks_Proxy.UpdateTaskFromMain = function (taskId, details, priority, assignee, duedate, sectionId, taskType, successCallback, failureCallback) {
    $.ajax({
        type: "POST",
        datatype: 'json',
        async: false,
        url: "/Interact/Pages/Modules/Tasks/Tasks.aspx/UpdateTaskFromMain",
        data: JSON.stringify({ taskId: taskId, details: details, priority: priority, assignee: assignee, duedate: duedate, sectionId: sectionId, taskType: taskType }),
        contentType: 'application/json; charset=utf-8',
        success: function (data) { successCallback(data.d, "Updated") },
        error: function (data) { failureCallback(data.d) }
    });
}
Tasks_Proxy.ToggleStatus = function (taskId, status, successCallback, failureCallback) {
    $.ajax({
        type: "POST",
        datatype: 'json',
        async: false,
        url: "/Interact/Pages/Modules/Tasks/Tasks.aspx/ToggleStatus",
        data: JSON.stringify({ taskId: taskId, status: status }),
        contentType: 'application/json; charset=utf-8',
        success: function (data) { successCallback(data.d) },
        error: function (data) { failureCallback(data.d) }
    });
}
Tasks_Proxy.TakeOwnership = function (taskId, sectionId, successCallback, failureCallback) {
    $.ajax({
        type: "POST",
        datatype: 'json',
        async: false,
        url: "/Interact/Pages/Modules/Tasks/Tasks.aspx/TakeOwnership",
        data: JSON.stringify({ taskId: taskId, sectionId: sectionId }),
        contentType: 'application/json; charset=utf-8',
        success: function (data) {
            successCallback(data.d)
        },
        error: function (data) { failureCallback(data.d) }
    });
};
//-------------------------------------------------------------------------------
// Directory \ Favourites.aspx js server communication
//-------------------------------------------------------------------------------

function Favourites_Proxy() { }

Favourites_Proxy.GetFavouritesRequest = null;
Favourites_Proxy.DeleteFavouriteRequest = null;
Favourites_Proxy.GetFavouritesCountRequest = null;
Favourites_Proxy.GetFavouritesTextRequest = null;
Favourites_Proxy.AddDeleteFavouriteRequest = null;

Favourites_Proxy.GetFavourites = function (userShowCompleted, userFilterType, userResultCount, userItemsPerPage, keepResults) {

    var rCount = userResultCount;

    if (!keepResults) {
        rCount = 0;
        if (Favourites_Proxy.GetFavouritesRequest != null) {
            Favourites_Proxy.GetFavouritesRequest.abort();
            Favourites_Proxy.GetFavouritesRequest = null;
        }
    }

    if (Favourites_Proxy.GetFavouritesRequest == null) {
	    Favourites_Proxy.GetFavouritesRequest = $.ajax({
		    type: "POST",
		    datatype: 'json',
		    url: "/InteractV7/Favourites/GetFavourites",
		    data: JSON.stringify({showCompleted: userShowCompleted, filterType: userFilterType, resultCount: rCount, itemsPerPage: userItemsPerPage }),
		    contentType: 'application/json; charset=utf-8'
	    });
    }
}


Favourites_Proxy.GetFavouritesCount = function() {
	if (Favourites_Proxy.GetFavouritesCountRequest != null) {
		Favourites_Proxy.GetFavouritesCountRequest.abort();
		Favourites_Proxy.GetFavouritesCountRequest = null;
	}
	if (Favourites_Proxy.GetFavouritesCountRequest == null) {
		Favourites_Proxy.GetFavouritesCountRequest = $.ajax({
			type: "POST",
			datatype: 'json',
			url: "/InteractV7/Favourites/GetFavouritesCount",
			contentType: 'application/json; charset=utf-8'
		});
	}
}


Favourites_Proxy.GetFavouritesText = function(Type) {
	if (Favourites_Proxy.GetFavouritesTextRequest != null) {
		Favourites_Proxy.GetFavouritesTextRequest.abort();
		Favourites_Proxy.GetFavouritesTextRequest = null;
	}
	if (Favourites_Proxy.GetFavouritesTextRequest == null) {
		Favourites_Proxy.GetFavouritesTextRequest = $.ajax({
			type: "POST",
			datatype: 'json',
			url: "/InteractV7/Favourites/GetFavouritesText",
			data: JSON.stringify({ Type: Type }),
			contentType: 'application/json; charset=utf-8'
		});
	}
}

Favourites_Proxy.DeleteFavourite = function(contentid) {
		if (Favourites_Proxy.DeleteFavouriteRequest != null) {
			Favourites_Proxy.DeleteFavouriteRequest.abort();
			Favourites_Proxy.DeleteFavouriteRequest = null;
		}
		if (Favourites_Proxy.DeleteFavouriteRequest == null) {
			Favourites_Proxy.DeleteFavouriteRequest = $.ajax({
				type: "POST",
				datatype: 'json',
				url: "/InteractV7/Favourites/DeleteFavourite",
				data: JSON.stringify({ contentid: contentid }),
				contentType: 'application/json; charset=utf-8'
			});
		}
	}

Favourites_Proxy.AddDeleteFavourite = function( contentid) {
	if (Favourites_Proxy.AddDeleteFavouriteRequest != null) {
		Favourites_Proxy.AddDeleteFavouriteRequest.abort();
		Favourites_Proxy.AddDeleteFavouriteRequest = null;
	}

	if (Favourites_Proxy.AddDeleteFavouriteRequest == null) {
		Favourites_Proxy.AddDeleteFavouriteRequest = $.ajax({
			type: "POST",
			datatype: 'json',
			url: "/InteractV7/Favourites/AddDeleteFavourite",
			data: JSON.stringify({contentid: contentid }),
			contentType: 'application/json; charset=utf-8'
		});
	}
}

;
/// <reference path="Favourites_Proxy.js" />

function Favourites() {
    this.searchContainer = '';
    this.searchObject = '';
    this.clickedObject;
    this.RevertButton = function () {
        if ($(this.clickedObject).attr('data-isfavourite') === 'false') {
            $(this.clickedObject).children('i').first().removeClass('icon-star-empty').addClass('icon-star');
            $(this.clickedObject).children('span').first().text('Un-Favourite');
            $(this.clickedObject).attr('data-isfavourite', 'true');
        }
        else {
            $(this.clickedObject).children('i').first().removeClass('icon-star').addClass('icon-star-empty');
            $(this.clickedObject).children('span').first().text('Favourite');
            $(this.clickedObject).attr('data-isfavourite', 'false');
        }
    }
    var O;
    this.attachFunction = function () {
        O = this;
        $(this.searchContainer).on('click', this.searchObject, function (event) {
            O.clickedObject = this;
            Favourites_Proxy.AddDeleteFavourite($(this).attr('data-DocumentId'), O.AddDeleteFavouriteSuccess, O.AddDeleteFavouriteFailure);
        });
    }
    this.AddDeleteFavouriteSuccess = function () {
        O.RevertButton();

    }
    this.AddDeleteFavouriteFailure = function () {
        alert("You have unsuccessfully favourited or unfavourited a document");
    }
};
//-------------------------------------------------------------------------------
// Directory \ Watches.aspx js server communication
//-------------------------------------------------------------------------------
function Watches_Proxy() { }
Watches_Proxy.GetWatchesRequest = null;

Watches_Proxy.GetWatches = function (userShowCompleted, userFilterType, userResultCount, userItemsPerPage, keepResults, successCallback, failureCallback) {

    var rCount = userResultCount;

    if (!keepResults) {
        rCount = 0;
        if (Watches_Proxy.GetWatchesRequest != null) {
            Watches_Proxy.GetWatchesRequest.abort();
            Watches_Proxy.GetWatchesRequest == null;
        }
    }

    if (Watches_Proxy.GetWatchesRequest == null) {
        Watches_Proxy.GetWatchesRequest = $.ajax({
            type: "POST",
            datatype: 'json',
            url: "/Interact/Pages/Watches.aspx/GetWatches",
            data: JSON.stringify({ showCompleted: userShowCompleted, filterType: userFilterType, resultCount: rCount, itemsPerPage: userItemsPerPage }),
            contentType: 'application/json; charset=utf-8',
            success: function (data) {

                Watches_Proxy.GetWatchesRequest = null;

                successCallback(data.d, keepResults);
            },
            error: function (data) { failureCallback(data.d, keepResults) }
        });
    }

}
Watches_Proxy.GetWatchesModal = function (userShowCompleted, userFilterType, userResultCount, userItemsPerPage, keepResults, successCallback, failureCallback,itemcount,page) {
    $contentLoadTriggered == true
    var rCount = userResultCount;
        $contentLoadTriggered = true;
        Watches_Proxy.GetWatchesRequest = $.ajax({
            type: "POST",
            datatype: 'json',
            url: "/Interact/Pages/Watches.aspx/GetWatchesModal",
            data: JSON.stringify({ showCompleted: userShowCompleted, filterType: userFilterType, resultCount: rCount, itemsPerPage: userItemsPerPage ,noofitems:itemcount,pagenumber:page}),
            contentType: 'application/json; charset=utf-8',
            success: function (data) {
                Watches_Proxy.GetWatchesRequest = null;
                successCallback(data.d, keepResults);
            },
            error: function (data) { failureCallback(data.d, keepResults) }
        });
        $contentLoadTriggered = false;
}
Watches_Proxy.DeleteWatch = function (contentId, successCallback, failureCallback) {
    $.ajax({
        type: "POST",
        datatype: 'json',
        url: "/Interact/Pages/Watches.aspx/DeleteWatch",
        data: JSON.stringify({ contentId: contentId }),
        contentType: 'application/json; charset=utf-8',
        success: function (data) { successCallback(data.d) },
        error: function (data) { failureCallback(data.d) }
    });
}
Watches_Proxy.AddWatch = function (contentId, sectionId, successCallback, failureCallback) {
    $.ajax({
        type: "POST",
        datatype: 'json',
        url: "/Interact/Pages/Watches.aspx/AddWatch",
        data: JSON.stringify({ contentId: contentId, sectionId: sectionId }),
        contentType: 'application/json; charset=utf-8',
        success: function (data) { successCallback(data.d) },
        error: function (data) { failureCallback(data.d) }
    });
}
Watches_Proxy.AddDeleteWatch = function (contentId, successCallback, failureCallback) {
    $.ajax({
        type: "POST",
        datatype: 'json',
        url: "/Interact/Pages/Watches.aspx/AddDeleteWatch",
        data: JSON.stringify({ contentId: contentId }),
        //data: JSON.stringify({ typeId: typeId }),
        contentType: 'application/json; charset=utf-8',
        success: function (data) { successCallback(data.d) },
        error: function (data) { failureCallback(data.d) }
    });
}

Watches_Proxy.DeleteWatchAlert = function(contentId, successCallback, failureCallback) {
	$.ajax({
		type: "POST",
		datatype: 'json',
		url: "/InteractV7/Watches/DeleteWatchAlert",
		data: JSON.stringify({ contentId: contentId }),
		contentType: 'application/json; charset=utf-8',
		success: function(data) { successCallback(data.d) },
		error: function(data) { failureCallback(data.d) }
	});

};
//-------------------------------------------------------------------------------
// Search \ Search.aspx js server communication
//-------------------------------------------------------------------------------

function Search_Proxy() { }

Search_Proxy.SearchResultsRequest = null;
Search_Proxy.SharepointResultsRequest = null;
Search_Proxy.SearchAutocompleteResultsRequest = null;
Search_Proxy.SearchAutocompleteResultsRequestTimeout = null;

// -----------------------------------------
// Shows search results based upon search term
// -----------------------------------------
Search_Proxy.GetSearchResults = function (authorId, searchTerm, filterCollection, pageStart, pageValue, sortBy, sectionId, keepResults, keepFilters, successCallback, failureCallback, registerSearch, compileSuggestions, searchContainer) {

	var utmMedium = 'general_search';

	if (registerSearch == undefined) {
		registerSearch = true;
	}

	if (compileSuggestions == undefined) {
		compileSuggestions = true;
	}

	if (Search_Proxy.SearchResultsRequest != null) {
		Search_Proxy.SearchResultsRequest.abort();
	}

	$contentLoadTriggered = true;

	Search_Proxy.SearchResultsRequest = $.ajax({
		type: "POST",
		datatype: 'json',
		url: "/InteractV7/Search/GetSearchResults",
		data: JSON.stringify({ searchTerm: searchTerm, searchFilter: filterCollection, sortBy: sortBy, sectionId: sectionId, pageItemsStart: pageStart, pageItemsCount: pageValue, keepSearchFilters: keepFilters, compileSuggestions: compileSuggestions, registerSearch: registerSearch, authorId: authorId, utmMedium: utmMedium, authorType: 0 }),
		contentType: 'application/json; charset=utf-8',
		success: function (data) {
			Search_Proxy.SearchResultsRequest = null;
			
			// Parse extra entities stored
			var results = data;
			if (results.Filters != null) {//Remove all but content type filters from gen 1.
				if (results.Filters.length > 0) {
					var typeFilters = results.Filters[0];
					results.Filters = [typeFilters];
				}
			}
			
			$.each(results.SearchResults, function (index, value) {
				if (value.Entity != undefined) {
					value.Entity = JSON.parse(value.Entity);
				}
			});

			successCallback(results, keepResults, keepFilters, searchContainer);
		},
		error: function (data) { failureCallback(data) },
		complete: function() {
			$contentLoadTriggered = false;
		}
	});
}

Search_Proxy.GetSharepointResult = function (searchTerm, successCallback, failureCallback){

	if (Search_Proxy.SharepointResultsRequest != null) {
		Search_Proxy.SharepointResultsRequest.abort();
	}

	$contentLoadTriggered = true;

	Search_Proxy.SharepointResultsRequest = $.ajax({
        type: "POST",
        datatype: 'json',
        url: "/InteractV7/Search/PopulateSharepointSearches",
        data: JSON.stringify({ searchQuery: searchTerm }),
        contentType: 'application/json; charset=utf-8',
        success: function(data){
			Search_Proxy.SharepointResultsRequest = null;
			if (data.Success && data.LoggedIn) {
				successCallback(data, searchTerm);
			} else {
				failureCallback(data);
			}
        },
        error: function (data) {
	        failureCallback(data);
        },
        complete: function(){
			$contentLoadTriggered = false;
        }
    });
}

Search_Proxy.GetSearchAutocompleteResults = function (searchTerm, successCallback, failureCallback, searchContainer) {
	var utmMedium = "quick_search";
	var delay = MasterPage.Select2AndSearchFiringDelay || 100;
	if (Search_Proxy.SearchAutocompleteResultsRequestTimeout != null) {
		window.clearTimeout(Search_Proxy.SearchAutocompleteResultsRequestTimeout);
	}
	Search_Proxy.SearchAutocompleteResultsRequestTimeout = window.setTimeout(function () {
		if (Search_Proxy.SearchAutocompleteResultsRequest != null) {
			Search_Proxy.SearchAutocompleteResultsRequest.abort();
		}

		Search_Proxy.SearchAutocompleteResultsRequest = $.ajax({
			type: "POST",
			datatype: 'json',
			url: "/InteractV7/Search/GetSearchAutocompleteResults",
			data: JSON.stringify({ searchTerm: searchTerm, utmMedium: utmMedium }),
			contentType: 'application/json; charset=utf-8',
			success: function (data) {
				Search_Proxy.SearchAutocompleteResultsRequest = null;

				// Parse extra entities stored
				var results = data;
				$.each(results.SearchResults, function (index, value) {
					if (value.Entity != undefined) {
						value.Entity = JSON.parse(value.Entity);
					}
				});

				// Raise the event asynchronously - for telemetry
				setTimeout(() => {
					const event = new CustomEvent('quick-search', {
					  detail: { 
						SearchTerm: searchTerm,
						TotalResults: results.Info.TotalResults
					   },
					});
					document.dispatchEvent(event);
				  }, 0);

				successCallback(results, searchContainer, searchTerm);
			},
			error: function (data) { failureCallback(data) }
		});
	}, delay);
};
//-------------------------------------------------------------------------------
// Recommender js
//-------------------------------------------------------------------------------

function GetRecommendedContent(id, type, target) {
    Recommender_Proxy.GetRecommendedContent(id, type, target, false, getRecommendedContentSuccessCallback, getRecommendedContentFailureCallback);
}
function GetRecommendedContent(id, type, target, scrollToPost) {
    Recommender_Proxy.GetRecommendedContent(id, type, target, scrollToPost, getRecommendedContentSuccessCallback, getRecommendedContentFailureCallback);
}

var getRecommendedContentSuccessCallback = function (data, target, scrollToPost, type) {
    var recommendedContentResultsSource = $("#RecommendedContentResultsTemplate").html();
    var recommendedContentResultsTemplate = Handlebars.compile(recommendedContentResultsSource);

	if ($(data).length == 0) {
		$('ol.recommends').html(window.globalSysText.composer.unableToMakeRecommendations);
		target.parent().siblings('.hide').removeClass('hide'); // blogs & threads page 'no content found' div are shown
	} else {
		target.parent().removeClass('hide'); // blogs & threads page recommended div are shown
	}

    // loop through data
    // add the index
    $(data).each(function (i, item) {
        $.extend(item, { "index": i });
    });

    $("body").on("click", ".btnRecommendsShowToggle", function () {
        if ($(this).html() == "Show less") {
            $(this).html('Show more');
        } else {
            $(this).html('Show less');
        }

	});

	$(target).append(recommendedContentResultsTemplate({ Results: data }));

	// Types refer to the ObjectType enum found in
	// Neutrino.Recommender\Common\Enums.cs
	if (type === 1) {
		// refers to a page
		// is required for NEU-15955 which fixes a WCAG 1.3.1 issue
		$(".RecDetailsMain > h4").attr({ role: "heading", 'aria-level': "3" })
	}

    // process dates
    $("time.timeago").timeago();

    if (scrollToPost) {
        window.setTimeout(scrollToAnchor, 1500);
    }
}

var getRecommendedContentFailureCallback = function (data) {
    log('Get Recommended Content request failure', data);
}

$(document).ready(function () {
    var ft = new FollowToggle();
    ft.searchContainer = '#blog';
    ft.searchObject = '.followunfollow';
	ft.attachFunction();
});


function scrollToAnchor() {
    try {
        if (document.URL.indexOf("post") != -1) {
            var anchor = document.URL.substring(document.URL.indexOf("post"));
            if (anchor != '') {
				if (anchor.indexOf("&") != -1) {
					anchor = anchor.substring(0, anchor.indexOf("&"));
				}
				var aTag = $("a[name='" + anchor + "']");
				var additionalOffset = 0;
				if ($("#statusBar").length > 0) {
					additionalOffset = $("#statusBar").outerHeight() + 5;
				}
                $('html,body').animate({ scrollTop: aTag.offset().top - additionalOffset }, 'slow');
            }
        }
    }
    catch (err) { };
};
//-------------------------------------------------------------------------------
// Recommender js server communication
//-------------------------------------------------------------------------------

function Recommender_Proxy() { }

Recommender_Proxy.GetRecommendedContent = function (id, type, target, scrollToPost, successCallback, failureCallback) {
    $.ajax({
        type: "POST",
        datatype: 'json',
        url: "/WebServices/GlobalWebService.asmx/GetRecommendedContent",
        data: JSON.stringify({ id: id, type: type }),
        contentType: 'application/json; charset=utf-8',
        success: function (data) {
            // Parse extra entities stored
            var results = data.d;
            $.each(results, function (index, value) {
                if (value.Entity != undefined) {
                    value.Entity = JSON.parse(value.Entity);
                }
            });

            successCallback(results, target, scrollToPost, type)
        },
        error: function (data) { failureCallback(data.d) }
    });
};


function Devices() { }

Devices.Init = function ()
{
    Devices.BySize();
    Devices.ByUserAgent();
}

/*
 * Sizes taken from the Twitter bootstrap API
 * http://twitter.github.io/bootstrap/scaffolding.html#responsive
 */
Devices.BySize = function () {
    var screenSize = window.innerWidth;

    $("html").removeClass("phone");
    $("html").removeClass("tablet");
    $("html").removeClass("desktop");

    if (screenSize <= 767) {
        $("html").addClass("phone");
    } else if (screenSize > 767 && screenSize <= 979) {
        $("html").addClass("tablet");
    } else {
        $("html").addClass("desktop");
    }
}

Devices.ByUserAgent = function () {
    var userAgent = navigator.userAgent.toLowerCase();

    if (/android|webos|iphone|ipad|ipod|blackberry|windows phone|zunewp7|nokia|opera mini|windows mobile|iemobile/i.test(userAgent)) {
        // some code..
        $("html").addClass("mobile-device");
    } else {
        $("html").addClass("desktop-device");
    }

    if (/android/i.test(userAgent)) {
        $("html").addClass("android");
    }

    if (/iemobile/i.test(userAgent)) {
        // some code..
        $("html").addClass("iemobile");
    }

    if (/windows mobile/i.test(userAgent)) {
        // some code..
        $("html").addClass("windows-mobile");
    }

    if (/opera mini/i.test(userAgent)) {
        // some code..
        $("html").addClass("opera-mini");
    }

    if (/nokia/i.test(userAgent)) {
        // some code..
        $("html").addClass("nokia");
    }

    if (/windows phone/i.test(userAgent)) {
        // some code..
        $("html").addClass("windows-phone");
    }

    if (/zunewp7/i.test(userAgent)) {
        // some code..
        $("html").addClass("zunewp7");
    }

    if (/webos/i.test(userAgent)) {
        // some code..
        $("html").addClass("webos");
    }

    if (/iphone/i.test(userAgent)) {
        // some code..
        $("html").addClass("iphone");
    }

    if (/ipad/i.test(userAgent)) {
        // some code..
        $("html").addClass("ipad");
    }

    if (/ipod/i.test(userAgent)) {
        // some code..
        $("html").addClass("ipod");
    }

    if (/blackberry/i.test(userAgent)) {
        // some code..
        $("html").addClass("blackberry");
    }

    if (/iphone|ipad|ipod/i.test(userAgent)) {
        // some code..
        $("html").addClass("ios");
    }

    if (/msie/i.test(userAgent)) {
        $("html").addClass("msie");
    }

    if (/firefox/i.test(userAgent)) {
        $("html").addClass("firefox");
    }

    if (/chrome/i.test(userAgent)) {
        $("html").addClass("chrome");
    }

    if (/opera/i.test(userAgent)) {
        $("html").addClass("opera");
    }

    if (/safari/i.test(userAgent)
        && !/chrome/i.test(userAgent)) {
        $("html").addClass("safari");
    }

    log(userAgent);
}

// -----------------------------------------
// Register Page Events
// -----------------------------------------

$(document).ready(function () {
    Devices.Init();
});

$(window).resize(function () {
    Devices.BySize();
});;
function JBCountDownV1(settings) {
    var glob = settings;

    function deg(deg) {
        return (Math.PI / 180) * deg - (Math.PI / 180) * 90
    }

    glob.total = Math.floor((glob.endDate - glob.startDate) / 86400);
    glob.days = Math.floor((glob.endDate - glob.now) / 86400);
    glob.hours = 24 - Math.floor(((glob.endDate - glob.now) % 86400) / 3600);
    glob.minutes = 60 - Math.floor((((glob.endDate - glob.now) % 86400) % 3600) / 60);

    if (glob.now >= glob.endDate) {
        return;
    }

    var clock = {
        set: {
            days: function () {
                var cdays = $("#canvas_days").get(0);
                var ctx = cdays.getContext("2d");
                ctx.clearRect(0, 0, cdays.width, cdays.height);
                ctx.beginPath();
                //ctx.strokeStyle = glob.daysColor;

                ctx.shadowBlur = 10;
                ctx.shadowOffsetX = 0;
                ctx.shadowOffsetY = 0;
                ctx.shadowColor = glob.daysGlow;

                ctx.arc(32, 32, 28, deg(0), deg((360 / glob.total) * (glob.total - glob.days)));
                ctx.lineWidth = 6;
                ctx.stroke();
                $(".clock_days .val").text(glob.days);
            },

            hours: function () {
                var cHr = $("#canvas_hours").get(0);
                var ctx = cHr.getContext("2d");
                ctx.clearRect(0, 0, cHr.width, cHr.height);
                ctx.beginPath();
                //ctx.strokeStyle = glob.hoursColor;

                ctx.shadowBlur = 10;
                ctx.shadowOffsetX = 0;
                ctx.shadowOffsetY = 0;
                ctx.shadowColor = glob.hoursGlow;

                ctx.arc(32, 32, 28, deg(0), deg(15 * glob.hours));
                ctx.lineWidth = 6;
                ctx.stroke();
                $(".clock_hours .val").text(24 - glob.hours);
            },

            minutes: function () {
                var cMin = $("#canvas_minutes").get(0);
                var ctx = cMin.getContext("2d");
                ctx.clearRect(0, 0, cMin.width, cMin.height);
                ctx.beginPath();
                //ctx.strokeStyle = glob.minutesColor;

                ctx.shadowBlur = 10;
                ctx.shadowOffsetX = 0;
                ctx.shadowOffsetY = 0;
                ctx.shadowColor = glob.minutesGlow;

                ctx.arc(32, 32, 28, deg(0), deg(6 * glob.minutes));
                ctx.lineWidth = 6;
                ctx.stroke();
                $(".clock_minutes .val").text(60 - glob.minutes);
            },
            seconds: function () {
                var cSec = $("#canvas_seconds").get(0);
                var ctx = cSec.getContext("2d");
                ctx.clearRect(0, 0, cSec.width, cSec.height);
                ctx.beginPath();
                //ctx.strokeStyle = glob.secondsColor;

                ctx.shadowBlur = 10;
                ctx.shadowOffsetX = 0;
                ctx.shadowOffsetY = 0;
                ctx.shadowColor = glob.secondsGlow;

                ctx.arc(32, 32, 28, deg(0), deg(6 * glob.seconds));
                ctx.lineWidth = 6;
                ctx.stroke();

                $(".clock_seconds .val").text(60 - glob.seconds);
            }
        },

        start: function () {
            /* Seconds */
            var cdown = setInterval(function () {
                if (glob.seconds > 59) {
                    if (60 - glob.minutes == 0 && 24 - glob.hours == 0 && glob.days == 0) {
                        clearInterval(cdown);

                        /* Countdown is complete */

                        return;
                    }
                    glob.seconds = 1;
                    if (glob.minutes > 59) {
                        glob.minutes = 1;
                        clock.set.minutes();
                        if (glob.hours > 23) {
                            glob.hours = 1;
                            if (glob.days > 0) {
                                glob.days--;
                                clock.set.days();
                            }
                        } else {
                            glob.hours++;
                        }
                        clock.set.hours();
                    } else {
                        glob.minutes++;
                    }
                    clock.set.minutes();
                } else {
                    glob.seconds++;
                }
                clock.set.seconds();
            }, 1000);
        }
    }
    clock.set.seconds();
    clock.set.minutes();
    clock.set.hours();
    clock.set.days();
    clock.start();
}

function JBCountDownV2(settings) {
    var glob = settings;

    function deg(deg) {
        return (Math.PI / 180) * deg - (Math.PI / 180) * 90
    }

    glob.days = Math.floor((glob.endDate - glob.now) / 86400);
    glob.hours = 24 - Math.floor(((glob.endDate - glob.now) % 86400) / 3600);
    glob.minutes = 60 - Math.floor((((glob.endDate - glob.now) % 86400) % 3600) / 60);

    glob.left = glob.endDate - glob.now;
    glob.passed = glob.now - glob.startDate;
    glob.total = glob.left + glob.passed;

    glob.sec = 1;

    if (glob.now >= glob.endDate) {
        return;
    }

    var clock = {
        set: {
            seconds: function () {
                glob.sec++;
                var cSec = $("#canvas_seconds").get(0);
                var ctx = cSec.getContext("2d");
                ctx.clearRect(0, 0, cSec.width, cSec.height);
                ctx.beginPath();
                //ctx.strokeStyle = glob.secondsColor; - JS erros - Mike

                ctx.shadowBlur = 10;
                ctx.shadowOffsetX = 0;
                ctx.shadowOffsetY = 0;
                ctx.shadowColor = glob.secondsGlow;

                ctx.arc(259, 259, 245, deg(0), deg((360 / glob.total) * (glob.passed + glob.sec)));
                ctx.lineWidth = 5;
                ctx.stroke();

                $(".timer .secs").text(60 - glob.seconds);
            }
        },

        start: function () {
            /* Seconds */
            var cdown = setInterval(function () {
                if (glob.seconds > 59) {
                    if (60 - glob.minutes == 0 && 24 - glob.hours == 0 && glob.days == 0) {
                        clearInterval(cdown);
                        /* Countdown is complete */
                        return;
                    }
                    glob.seconds = 1;

                    if (glob.minutes > 59) {
                        glob.minutes = 1;
                        $(".timer .mins").text(60 - glob.minutes);

                        if (glob.hours > 23) {
                            glob.hours = 1;
                            if (glob.days > 0) {
                                glob.days--;
                            }
                        } else {
                            glob.hours++;
                        }
                        $(".timer .hrs").text(24 - glob.hours);
                    } else {
                        glob.minutes++;
                    }
                    $(".timer .mins").text(60 - glob.minutes);
                } else {
                    glob.seconds++;
                }

                clock.set.seconds();
            }, 1000);
        }
    }
    $(".timer .days").text(glob.days);
    $(".timer .hrs").text(24 - glob.hours);
    $(".timer .mins").text(60 - glob.minutes);
    clock.set.seconds();
    clock.start();
}

function JBCountDownV3(settings) {
    var glob = settings;

    function deg(deg) {
        return (Math.PI / 180) * deg - (Math.PI / 180) * 90
    }

    glob.total = Math.floor((glob.endDate - glob.startDate) / 86400);
    glob.days = Math.floor((glob.endDate - glob.now) / 86400);
    glob.hours = 24 - Math.floor(((glob.endDate - glob.now) % 86400) / 3600);
    glob.minutes = 60 - Math.floor((((glob.endDate - glob.now) % 86400) % 3600) / 60);

    if (glob.now >= glob.endDate) {
        return;
    }

    var clock = {
        set: {
            days: function () {
                var cdays = $("#canvas_days").get(0);
                var ctx = cdays.getContext("2d");
                ctx.clearRect(0, 0, cdays.width, cdays.height);
                ctx.beginPath();
                //ctx.strokeStyle = glob.daysColor;

                ctx.shadowBlur = 10;
                ctx.shadowOffsetX = 0;
                ctx.shadowOffsetY = 0;
                ctx.shadowColor = glob.daysGlow;

                ctx.arc(95, 95, 80, deg(0), deg((360 / glob.total) * (glob.total - glob.days)));
                ctx.lineWidth = 12;
                ctx.stroke();
                $(".clock_days .val").text(glob.days);
            },

            hours: function () {
                var cHr = $("#canvas_hours").get(0);
                var ctx = cHr.getContext("2d");
                ctx.clearRect(0, 0, cHr.width, cHr.height);
                ctx.beginPath();
                //ctx.strokeStyle = glob.hoursColor;

                ctx.shadowBlur = 10;
                ctx.shadowOffsetX = 0;
                ctx.shadowOffsetY = 0;
                ctx.shadowColor = glob.hoursGlow;

                ctx.arc(95, 95, 80, deg(0), deg(15 * glob.hours));
                ctx.lineWidth = 12;
                ctx.stroke();
                $(".clock_hours .val").text(24 - glob.hours);
            },

            minutes: function () {
                var cMin = $("#canvas_minutes").get(0);
                var ctx = cMin.getContext("2d");
                ctx.clearRect(0, 0, cMin.width, cMin.height);
                ctx.beginPath();
                //ctx.strokeStyle = glob.minutesColor;

                ctx.shadowBlur = 10;
                ctx.shadowOffsetX = 0;
                ctx.shadowOffsetY = 0;
                ctx.shadowColor = glob.minutesGlow;

                ctx.arc(95, 95, 80, deg(0), deg(6 * glob.minutes));
                ctx.lineWidth = 12;
                ctx.stroke();
                $(".clock_minutes .val").text(60 - glob.minutes);
            },
            seconds: function () {
                var cSec = $("#canvas_seconds").get(0);
                var ctx = cSec.getContext("2d");
                ctx.clearRect(0, 0, cSec.width, cSec.height);
                ctx.beginPath();
                //ctx.strokeStyle = glob.secondsColor;

                ctx.shadowBlur = 10;
                ctx.shadowOffsetX = 0;
                ctx.shadowOffsetY = 0;
                ctx.shadowColor = glob.secondsGlow;

                ctx.arc(95, 95, 80, deg(0), deg(6 * glob.seconds));
                ctx.lineWidth = 12;
                ctx.stroke();

                $(".clock_seconds .val").text(60 - glob.seconds);
            }
        },

        start: function () {
            /* Seconds */
            var cdown = setInterval(function () {
                if (glob.seconds > 59) {
                    if (60 - glob.minutes == 0 && 24 - glob.hours == 0 && glob.days == 0) {
                        clearInterval(cdown);

                        /* Countdown is complete */

                        return;
                    }
                    glob.seconds = 1;
                    if (glob.minutes > 59) {
                        glob.minutes = 1;
                        clock.set.minutes();
                        if (glob.hours > 23) {
                            glob.hours = 1;
                            if (glob.days > 0) {
                                glob.days--;
                                clock.set.days();
                            }
                        } else {
                            glob.hours++;
                        }
                        clock.set.hours();
                    } else {
                        glob.minutes++;
                    }
                    clock.set.minutes();
                } else {
                    glob.seconds++;
                }
                clock.set.seconds();
            }, 1000);
        }
    }
    clock.set.seconds();
    clock.set.minutes();
    clock.set.hours();
    clock.set.days();
    clock.start();
}

function JBCountDownV4(settings) {
    var glob = settings;

    var left = glob.endDate - glob.now;
    var passed = glob.now - glob.startDate;
    var total = left + passed;
    glob.seconds = 1;

    if (glob.endDate <= glob.now) {
        glob.seconds = left;
    }

    function deg(deg) {
        return (Math.PI / 180) * deg - (Math.PI / 180) * 90
    }

    var clock = {
        set: {
            seconds: function () {

                var cdays = $("#canvas_seconds").get(0);
                var ctx = cdays.getContext("2d");
                ctx.clearRect(0, 0, cdays.width, cdays.height);
                ctx.beginPath();
                //ctx.strokeStyle = glob.secondsColor;

                ctx.shadowBlur = 10;
                ctx.shadowOffsetX = 0;
                ctx.shadowOffsetY = 0;
                ctx.shadowColor = glob.secondsGlow;

                ctx.arc(133.1, 133.7, 124, deg(0), deg((360 / total) * (passed + glob.seconds)));
                ctx.lineWidth = 17;
                ctx.stroke();

                $(".clock .val").text(Math.round((left - glob.seconds) / 86400));
            }
        },

        start: function () {
            /* Seconds */
            var cdown = setInterval(function () {
                glob.seconds++;
                if (glob.seconds > left) {
                    clearInterval(cdown);
                    return;
                }
                clock.set.seconds();
            }, 1000);
        }
    }
    clock.set.seconds();
    clock.start();
}

function JBCountDownV5(settings) {
    var glob = settings;

    function deg(deg) {
        return (Math.PI / 180) * deg - (Math.PI / 180) * 90
    }

    glob.total = Math.floor((glob.endDate - glob.startDate) / 86400);
    glob.days = Math.floor((glob.endDate - glob.now) / 86400);
    glob.hours = 24 - Math.floor(((glob.endDate - glob.now) % 86400) / 3600);
    glob.minutes = 60 - Math.floor((((glob.endDate - glob.now) % 86400) % 3600) / 60);

    if (glob.now >= glob.endDate) {
        return;
    }

    var clock = {
        set: {
            days: function () {
                var cdays = $("#canvas_days").get(0);
                var ctx = cdays.getContext("2d");
                ctx.clearRect(0, 0, cdays.width, cdays.height);
                ctx.beginPath();
                //ctx.strokeStyle = glob.daysColor;

                ctx.shadowBlur = 10;
                ctx.shadowOffsetX = 0;
                ctx.shadowOffsetY = 0;
                ctx.shadowColor = glob.daysGlow;

                ctx.arc(61, 61, 50, deg(0), deg((360 / glob.total) * (glob.total - glob.days)));
                ctx.lineWidth = 22;
                ctx.stroke();
                $(".clock_days .val").text(glob.days);
            },

            hours: function () {
                var cHr = $("#canvas_hours").get(0);
                var ctx = cHr.getContext("2d");
                ctx.clearRect(0, 0, cHr.width, cHr.height);
                ctx.beginPath();
                //ctx.strokeStyle = glob.hoursColor;

                ctx.shadowBlur = 10;
                ctx.shadowOffsetX = 0;
                ctx.shadowOffsetY = 0;
                ctx.shadowColor = glob.hoursGlow;

                ctx.arc(61, 61, 50, deg(0), deg(15 * glob.hours));
                ctx.lineWidth = 22;
                ctx.stroke();
                $(".clock_hours .val").text(24 - glob.hours);
            },

            minutes: function () {
                var cMin = $("#canvas_minutes").get(0);
                var ctx = cMin.getContext("2d");
                ctx.clearRect(0, 0, cMin.width, cMin.height);
                ctx.beginPath();
                //ctx.strokeStyle = glob.minutesColor;

                ctx.shadowBlur = 10;
                ctx.shadowOffsetX = 0;
                ctx.shadowOffsetY = 0;
                ctx.shadowColor = glob.minutesGlow;

                ctx.arc(61, 61, 50, deg(0), deg(6 * glob.minutes));
                ctx.lineWidth = 22;
                ctx.stroke();
                $(".clock_minutes .val").text(60 - glob.minutes);
            },
            seconds: function () {
                var cSec = $("#canvas_seconds").get(0);
                var ctx = cSec.getContext("2d");
                ctx.clearRect(0, 0, cSec.width, cSec.height);
                ctx.beginPath();
                //ctx.strokeStyle = glob.secondsColor;

                ctx.shadowBlur = 10;
                ctx.shadowOffsetX = 0;
                ctx.shadowOffsetY = 0;
                ctx.shadowColor = glob.secondsGlow;

                ctx.arc(61, 61, 50, deg(0), deg(6 * glob.seconds));
                ctx.lineWidth = 22;
                ctx.stroke();

                $(".clock_seconds .val").text(60 - glob.seconds);
            }
        },

        start: function () {
            /* Seconds */
            var cdown = setInterval(function () {
                if (glob.seconds > 59) {
                    if (60 - glob.minutes == 0 && 24 - glob.hours == 0 && glob.days == 0) {
                        clearInterval(cdown);

                        /* Countdown is complete */

                        return;
                    }
                    glob.seconds = 1;
                    if (glob.minutes > 59) {
                        glob.minutes = 1;
                        clock.set.minutes();
                        if (glob.hours > 23) {
                            glob.hours = 1;
                            if (glob.days > 0) {
                                glob.days--;
                                clock.set.days();
                            }
                        } else {
                            glob.hours++;
                        }
                        clock.set.hours();
                    } else {
                        glob.minutes++;
                    }
                    clock.set.minutes();
                } else {
                    glob.seconds++;
                }
                clock.set.seconds();
            }, 1000);
        }
    }
    clock.set.seconds();
    clock.set.minutes();
    clock.set.hours();
    clock.set.days();
    clock.start();
};
/*!
 * pickadate.js v3.4.0, 2014/02/15
 * By Amsul, http://amsul.ca
 * Hosted on http://amsul.github.io/pickadate.js
 * Licensed under MIT
 */
!function(a){"function"==typeof define&&define.amd?define("picker",["jquery"],a):this.Picker=a(jQuery)}(function(a){function b(d,e,g,h){function i(){return b._.node("div",b._.node("div",b._.node("div",b._.node("div",s.component.nodes(n.open),p.box),p.wrap),p.frame),p.holder)}function j(){q.data(e,s).addClass(p.input).val(q.data("value")?s.get("select",o.format):d.value).on("focus."+n.id+" click."+n.id,m),o.editable||q.on("keydown."+n.id,function(a){var b=a.keyCode,c=/^(8|46)$/.test(b);return 27==b?(s.close(),!1):void((32==b||c||!n.open&&s.component.key[b])&&(a.preventDefault(),a.stopPropagation(),c?s.clear().close():s.open()))}),c(d,{haspopup:!0,expanded:!1,readonly:!1,owns:d.id+"_root"+(s._hidden?" "+s._hidden.id:"")})}function k(){s.$root.on({focusin:function(a){s.$root.removeClass(p.focused),c(s.$root[0],"selected",!1),a.stopPropagation()},"mousedown click":function(b){var c=b.target;c!=s.$root.children()[0]&&(b.stopPropagation(),"mousedown"!=b.type||a(c).is(":input")||"OPTION"==c.nodeName||(b.preventDefault(),d.focus()))}}).on("click","[data-pick], [data-nav], [data-clear]",function(){var c=a(this),e=c.data(),f=c.hasClass(p.navDisabled)||c.hasClass(p.disabled),g=document.activeElement;g=g&&(g.type||g.href)&&g,(f||g&&!a.contains(s.$root[0],g))&&d.focus(),e.nav&&!f?s.set("highlight",s.component.item.highlight,{nav:e.nav}):b._.isInteger(e.pick)&&!f?s.set("select",e.pick).close(!0):e.clear&&s.clear().close(!0)}),c(s.$root[0],"hidden",!0)}function l(){var b=["string"==typeof o.hiddenPrefix?o.hiddenPrefix:"","string"==typeof o.hiddenSuffix?o.hiddenSuffix:"_submit"];s._hidden=a('<input type=hidden name="'+b[0]+d.name+b[1]+'"id="'+b[0]+d.id+b[1]+'"'+(q.data("value")||d.value?' value="'+s.get("select",o.formatSubmit)+'"':"")+">")[0],q.on("change."+n.id,function(){s._hidden.value=d.value?s.get("select",o.formatSubmit):""}).after(s._hidden)}function m(a){a.stopPropagation(),"focus"==a.type&&(s.$root.addClass(p.focused),c(s.$root[0],"selected",!0)),s.open()}if(!d)return b;var n={id:d.id||"P"+Math.abs(~~(Math.random()*new Date))},o=g?a.extend(!0,{},g.defaults,h):h||{},p=a.extend({},b.klasses(),o.klass),q=a(d),r=function(){return this.start()},s=r.prototype={constructor:r,$node:q,start:function(){return n&&n.start?s:(n.methods={},n.start=!0,n.open=!1,n.type=d.type,d.autofocus=d==document.activeElement,d.type="text",d.readOnly=!o.editable,d.id=d.id||n.id,s.component=new g(s,o),s.$root=a(b._.node("div",i(),p.picker,'id="'+d.id+'_root"')),k(),o.formatSubmit&&l(),j(),o.container?a(o.container).append(s.$root):q.after(s.$root),s.on({start:s.component.onStart,render:s.component.onRender,stop:s.component.onStop,open:s.component.onOpen,close:s.component.onClose,set:s.component.onSet}).on({start:o.onStart,render:o.onRender,stop:o.onStop,open:o.onOpen,close:o.onClose,set:o.onSet}),d.autofocus&&s.open(),s.trigger("start").trigger("render"))},render:function(a){return a?s.$root.html(i()):s.$root.find("."+p.box).html(s.component.nodes(n.open)),s.trigger("render")},stop:function(){return n.start?(s.close(),s._hidden&&s._hidden.parentNode.removeChild(s._hidden),s.$root.remove(),q.removeClass(p.input).removeData(e),setTimeout(function(){q.off("."+n.id)},0),d.type=n.type,d.readOnly=!1,s.trigger("stop"),n.methods={},n.start=!1,s):s},open:function(e){return n.open?s:(q.addClass(p.active),c(d,"expanded",!0),s.$root.addClass(p.opened),c(s.$root[0],"hidden",!1),e!==!1&&(n.open=!0,q.trigger("focus"),f.on("click."+n.id+" focusin."+n.id,function(a){var b=a.target;b!=d&&b!=document&&3!=a.which&&s.close(b===s.$root.children()[0])}).on("keydown."+n.id,function(c){var e=c.keyCode,f=s.component.key[e],g=c.target;27==e?s.close(!0):g!=d||!f&&13!=e?a.contains(s.$root[0],g)&&13==e&&(c.preventDefault(),g.click()):(c.preventDefault(),f?b._.trigger(s.component.key.go,s,[b._.trigger(f)]):s.$root.find("."+p.highlighted).hasClass(p.disabled)||s.set("select",s.component.item.highlight).close())})),s.trigger("open"))},close:function(a){return a&&(q.off("focus."+n.id).trigger("focus"),setTimeout(function(){q.on("focus."+n.id,m)},0)),q.removeClass(p.active),c(d,"expanded",!1),s.$root.removeClass(p.opened+" "+p.focused),c(s.$root[0],"hidden",!0),c(s.$root[0],"selected",!1),n.open?(n.open=!1,f.off("."+n.id),s.trigger("close")):s},clear:function(){return s.set("clear")},set:function(b,c,d){var e,f,g=a.isPlainObject(b),h=g?b:{};if(d=g&&a.isPlainObject(c)?c:d||{},b){g||(h[b]=c);for(e in h)f=h[e],e in s.component.item&&s.component.set(e,f,d),("select"==e||"clear"==e)&&q.val("clear"==e?"":s.get(e,o.format)).trigger("change");s.render()}return d.muted?s:s.trigger("set",h)},get:function(a,c){return a=a||"value",null!=n[a]?n[a]:"value"==a?d.value:a in s.component.item?"string"==typeof c?b._.trigger(s.component.formats.toString,s.component,[c,s.component.get(a)]):s.component.get(a):void 0},on:function(b,c){var d,e,f=a.isPlainObject(b),g=f?b:{};if(b){f||(g[b]=c);for(d in g)e=g[d],n.methods[d]=n.methods[d]||[],n.methods[d].push(e)}return s},off:function(){var a,b,c=arguments;for(a=0,namesCount=c.length;namesCount>a;a+=1)b=c[a],b in n.methods&&delete n.methods[b];return s},trigger:function(a,c){var d=n.methods[a];return d&&d.map(function(a){b._.trigger(a,s,[c])}),s}};return new r}function c(b,c,e){if(a.isPlainObject(c))for(var f in c)d(b,f,c[f]);else d(b,c,e)}function d(a,b,c){a.setAttribute(("role"==b?"":"aria-")+b,c)}function e(b,c){a.isPlainObject(b)||(b={attribute:c}),c="";for(var d in b){var e=("role"==d?"":"aria-")+d,f=b[d];c+=null==f?"":e+'="'+b[d]+'"'}return c}var f=a(document);return b.klasses=function(a){return a=a||"picker",{picker:a,opened:a+"--opened",focused:a+"--focused",input:a+"__input",active:a+"__input--active",holder:a+"__holder",frame:a+"__frame",wrap:a+"__wrap",box:a+"__box"}},b._={group:function(a){for(var c,d="",e=b._.trigger(a.min,a);e<=b._.trigger(a.max,a,[e]);e+=a.i)c=b._.trigger(a.item,a,[e]),d+=b._.node(a.node,c[0],c[1],c[2]);return d},node:function(b,c,d,e){return c?(c=a.isArray(c)?c.join(""):c,d=d?' class="'+d+'"':"",e=e?" "+e:"","<"+b+d+e+">"+c+"</"+b+">"):""},lead:function(a){return(10>a?"0":"")+a},trigger:function(a,b,c){return"function"==typeof a?a.apply(b,c||[]):a},digits:function(a){return/\d/.test(a[1])?2:1},isDate:function(a){return{}.toString.call(a).indexOf("Date")>-1&&this.isInteger(a.getDate())},isInteger:function(a){return{}.toString.call(a).indexOf("Number")>-1&&a%1===0},ariaAttr:e},b.extend=function(c,d){a.fn[c]=function(e,f){var g=this.data(c);return"picker"==e?g:g&&"string"==typeof e?(b._.trigger(g[e],g,[f]),this):this.each(function(){var f=a(this);f.data(c)||new b(this,c,d,e)})},a.fn[c].defaults=d.defaults},b});;
/*!
 * Date picker for pickadate.js v3.4.0
 * http://amsul.github.io/pickadate.js/date.htm
 */
!function(a){"function"==typeof define&&define.amd?define(["picker","jquery"],a):a(Picker,jQuery)}(function(a,b){function c(a,b){var c=this,d=a.$node[0].value,e=a.$node.data("value"),f=e||d,g=e?b.formatSubmit:b.format,h=function(){return"rtl"===getComputedStyle(a.$root[0]).direction};c.settings=b,c.$node=a.$node,c.queue={min:"measure create",max:"measure create",now:"now create",select:"parse create validate",highlight:"parse navigate create validate",view:"parse create validate viewset",disable:"deactivate",enable:"activate"},c.item={},c.item.disable=(b.disable||[]).slice(0),c.item.enable=-function(a){return a[0]===!0?a.shift():-1}(c.item.disable),c.set("min",b.min).set("max",b.max).set("now"),f?c.set("select",f,{format:g,fromValue:!!d}):c.set("select",null).set("highlight",c.item.now),c.key={40:7,38:-7,39:function(){return h()?-1:1},37:function(){return h()?1:-1},go:function(a){var b=c.item.highlight,d=new Date(b.year,b.month,b.date+a);c.set("highlight",[d.getFullYear(),d.getMonth(),d.getDate()],{interval:a}),this.render()}},a.on("render",function(){a.$root.find("."+b.klass.selectMonth).on("change",function(){var c=this.value;c&&(a.set("highlight",[a.get("view").year,c,a.get("highlight").date]),a.$root.find("."+b.klass.selectMonth).trigger("focus"))}),a.$root.find("."+b.klass.selectYear).on("change",function(){var c=this.value;c&&(a.set("highlight",[c,a.get("view").month,a.get("highlight").date]),a.$root.find("."+b.klass.selectYear).trigger("focus"))})}).on("open",function(){a.$root.find("button, select").attr("disabled",!1)}).on("close",function(){a.$root.find("button, select").attr("disabled",!0)})}var d=7,e=6,f=a._;c.prototype.set=function(a,b,c){var d=this,e=d.item;return null===b?(e[a]=b,d):(e["enable"==a?"disable":"flip"==a?"enable":a]=d.queue[a].split(" ").map(function(e){return b=d[e](a,b,c)}).pop(),"select"==a?d.set("highlight",e.select,c):"highlight"==a?d.set("view",e.highlight,c):a.match(/^(flip|min|max|disable|enable)$/)&&(e.select&&d.disabled(e.select)&&d.set("select",e.select,c),e.highlight&&d.disabled(e.highlight)&&d.set("highlight",e.highlight,c)),d)},c.prototype.get=function(a){return this.item[a]},c.prototype.create=function(a,c,d){var e,g=this;return c=void 0===c?a:c,c==-1/0||1/0==c?e=c:b.isPlainObject(c)&&f.isInteger(c.pick)?c=c.obj:b.isArray(c)?(c=new Date(c[0],c[1],c[2]),c=f.isDate(c)?c:g.create().obj):c=f.isInteger(c)||f.isDate(c)?g.normalize(new Date(c),d):g.now(a,c,d),{year:e||c.getFullYear(),month:e||c.getMonth(),date:e||c.getDate(),day:e||c.getDay(),obj:e||c,pick:e||c.getTime()}},c.prototype.createRange=function(a,c){var d=this,e=function(a){return a===!0||b.isArray(a)||f.isDate(a)?d.create(a):a};return f.isInteger(a)||(a=e(a)),f.isInteger(c)||(c=e(c)),f.isInteger(a)&&b.isPlainObject(c)?a=[c.year,c.month,c.date+a]:f.isInteger(c)&&b.isPlainObject(a)&&(c=[a.year,a.month,a.date+c]),{from:e(a),to:e(c)}},c.prototype.withinRange=function(a,b){return a=this.createRange(a.from,a.to),b.pick>=a.from.pick&&b.pick<=a.to.pick},c.prototype.overlapRanges=function(a,b){var c=this;return a=c.createRange(a.from,a.to),b=c.createRange(b.from,b.to),c.withinRange(a,b.from)||c.withinRange(a,b.to)||c.withinRange(b,a.from)||c.withinRange(b,a.to)},c.prototype.now=function(a,b,c){return b=new Date,c&&c.rel&&b.setDate(b.getDate()+c.rel),this.normalize(b,c)},c.prototype.navigate=function(a,c,d){var e,f,g,h,i=b.isArray(c),j=b.isPlainObject(c),k=this.item.view;if(i||j){for(j?(f=c.year,g=c.month,h=c.date):(f=+c[0],g=+c[1],h=+c[2]),d&&d.nav&&k&&k.month!==g&&(f=k.year,g=k.month),e=new Date(f,g+(d&&d.nav?d.nav:0),1),f=e.getFullYear(),g=e.getMonth();new Date(f,g,h).getMonth()!==g;)h-=1;c=[f,g,h]}return c},c.prototype.normalize=function(a){return a.setHours(0,0,0,0),a},c.prototype.measure=function(a,b){var c=this;return b?f.isInteger(b)&&(b=c.now(a,b,{rel:b})):b="min"==a?-1/0:1/0,b},c.prototype.viewset=function(a,b){return this.create([b.year,b.month,1])},c.prototype.validate=function(a,c,d){var e,g,h,i,j=this,k=c,l=d&&d.interval?d.interval:1,m=-1===j.item.enable,n=j.item.min,o=j.item.max,p=m&&j.item.disable.filter(function(a){if(b.isArray(a)){var d=j.create(a).pick;d<c.pick?e=!0:d>c.pick&&(g=!0)}return f.isInteger(a)}).length;if((!d||!d.nav)&&(!m&&j.disabled(c)||m&&j.disabled(c)&&(p||e||g)||!m&&(c.pick<=n.pick||c.pick>=o.pick)))for(m&&!p&&(!g&&l>0||!e&&0>l)&&(l*=-1);j.disabled(c)&&(Math.abs(l)>1&&(c.month<k.month||c.month>k.month)&&(c=k,l=l>0?1:-1),c.pick<=n.pick?(h=!0,l=1,c=j.create([n.year,n.month,n.date-1])):c.pick>=o.pick&&(i=!0,l=-1,c=j.create([o.year,o.month,o.date+1])),!h||!i);)c=j.create([c.year,c.month,c.date+l]);return c},c.prototype.disabled=function(a){var c=this,d=c.item.disable.filter(function(d){return f.isInteger(d)?a.day===(c.settings.firstDay?d:d-1)%7:b.isArray(d)||f.isDate(d)?a.pick===c.create(d).pick:b.isPlainObject(d)?c.withinRange(d,a):void 0});return d=d.length&&!d.filter(function(a){return b.isArray(a)&&"inverted"==a[3]||b.isPlainObject(a)&&a.inverted}).length,-1===c.item.enable?!d:d||a.pick<c.item.min.pick||a.pick>c.item.max.pick},c.prototype.parse=function(a,c,d){var e,g=this,h={};return!c||f.isInteger(c)||b.isArray(c)||f.isDate(c)||b.isPlainObject(c)&&f.isInteger(c.pick)?c:(d&&d.format||(d=d||{},d.format=g.settings.format),e="string"!=typeof c||d.fromValue?0:1,g.formats.toArray(d.format).map(function(a){var b=g.formats[a],d=b?f.trigger(b,g,[c,h]):a.replace(/^!/,"").length;b&&(h[a]=c.substr(0,d)),c=c.substr(d)}),[h.yyyy||h.yy,+(h.mm||h.m)-e,h.dd||h.d])},c.prototype.formats=function(){function a(a,b,c){var d=a.match(/\w+/)[0];return c.mm||c.m||(c.m=b.indexOf(d)),d.length}function b(a){return a.match(/\w+/)[0].length}return{d:function(a,b){return a?f.digits(a):b.date},dd:function(a,b){return a?2:f.lead(b.date)},ddd:function(a,c){return a?b(a):this.settings.weekdaysShort[c.day]},dddd:function(a,c){return a?b(a):this.settings.weekdaysFull[c.day]},m:function(a,b){return a?f.digits(a):b.month+1},mm:function(a,b){return a?2:f.lead(b.month+1)},mmm:function(b,c){var d=this.settings.monthsShort;return b?a(b,d,c):d[c.month]},mmmm:function(b,c){var d=this.settings.monthsFull;return b?a(b,d,c):d[c.month]},yy:function(a,b){return a?2:(""+b.year).slice(2)},yyyy:function(a,b){return a?4:b.year},toArray:function(a){return a.split(/(d{1,4}|m{1,4}|y{4}|yy|!.)/g)},toString:function(a,b){var c=this;return c.formats.toArray(a).map(function(a){return f.trigger(c.formats[a],c,[0,b])||a.replace(/^!/,"")}).join("")}}}(),c.prototype.isDateExact=function(a,c){var d=this;return f.isInteger(a)&&f.isInteger(c)||"boolean"==typeof a&&"boolean"==typeof c?a===c:(f.isDate(a)||b.isArray(a))&&(f.isDate(c)||b.isArray(c))?d.create(a).pick===d.create(c).pick:b.isPlainObject(a)&&b.isPlainObject(c)?d.isDateExact(a.from,c.from)&&d.isDateExact(a.to,c.to):!1},c.prototype.isDateOverlap=function(a,c){var d=this;return f.isInteger(a)&&(f.isDate(c)||b.isArray(c))?a===d.create(c).day+1:f.isInteger(c)&&(f.isDate(a)||b.isArray(a))?c===d.create(a).day+1:b.isPlainObject(a)&&b.isPlainObject(c)?d.overlapRanges(a,c):!1},c.prototype.flipEnable=function(a){var b=this.item;b.enable=a||(-1==b.enable?1:-1)},c.prototype.deactivate=function(a,c){var d=this,e=d.item.disable.slice(0);return"flip"==c?d.flipEnable():c===!1?(d.flipEnable(1),e=[]):c===!0?(d.flipEnable(-1),e=[]):c.map(function(a){for(var c,g=0;g<e.length;g+=1)if(d.isDateExact(a,e[g])){c=!0;break}c||(f.isInteger(a)||f.isDate(a)||b.isArray(a)||b.isPlainObject(a)&&a.from&&a.to)&&e.push(a)}),e},c.prototype.activate=function(a,c){var d=this,e=d.item.disable,g=e.length;return"flip"==c?d.flipEnable():c===!0?(d.flipEnable(1),e=[]):c===!1?(d.flipEnable(-1),e=[]):c.map(function(a){var c,h,i,j;for(i=0;g>i;i+=1){if(h=e[i],d.isDateExact(h,a)){c=e[i]=null,j=!0;break}if(d.isDateOverlap(h,a)){b.isPlainObject(a)?(a.inverted=!0,c=a):b.isArray(a)?(c=a,c[3]||c.push("inverted")):f.isDate(a)&&(c=[a.getFullYear(),a.getMonth(),a.getDate(),"inverted"]);break}}if(c)for(i=0;g>i;i+=1)if(d.isDateExact(e[i],a)){e[i]=null;break}if(j)for(i=0;g>i;i+=1)if(d.isDateOverlap(e[i],a)){e[i]=null;break}c&&e.push(c)}),e.filter(function(a){return null!=a})},c.prototype.nodes=function(a){var b=this,c=b.settings,g=b.item,h=g.now,i=g.select,j=g.highlight,k=g.view,l=g.disable,m=g.min,n=g.max,o=function(a){return c.firstDay&&a.push(a.shift()),f.node("thead",f.node("tr",f.group({min:0,max:d-1,i:1,node:"th",item:function(b){return[a[b],c.klass.weekdays]}})))}((c.showWeekdaysFull?c.weekdaysFull:c.weekdaysShort).slice(0)),p=function(a){return f.node("div"," ",c.klass["nav"+(a?"Next":"Prev")]+(a&&k.year>=n.year&&k.month>=n.month||!a&&k.year<=m.year&&k.month<=m.month?" "+c.klass.navDisabled:""),"data-nav="+(a||-1))},q=function(b){return c.selectMonths?f.node("select",f.group({min:0,max:11,i:1,node:"option",item:function(a){return[b[a],0,"value="+a+(k.month==a?" selected":"")+(k.year==m.year&&a<m.month||k.year==n.year&&a>n.month?" disabled":"")]}}),c.klass.selectMonth,a?"":"disabled"):f.node("div",b[k.month],c.klass.month)},r=function(){var b=k.year,d=c.selectYears===!0?5:~~(c.selectYears/2);if(d){var e=m.year,g=n.year,h=b-d,i=b+d;if(e>h&&(i+=e-h,h=e),i>g){var j=h-e,l=i-g;h-=j>l?l:j,i=g}return f.node("select",f.group({min:h,max:i,i:1,node:"option",item:function(a){return[a,0,"value="+a+(b==a?" selected":"")]}}),c.klass.selectYear,a?"":"disabled")}return f.node("div",b,c.klass.year)};return f.node("div",p()+p(1)+q(c.showMonthsShort?c.monthsShort:c.monthsFull)+r(),c.klass.header)+f.node("table",o+f.node("tbody",f.group({min:0,max:e-1,i:1,node:"tr",item:function(a){var e=c.firstDay&&0===b.create([k.year,k.month,1]).day?-7:0;return[f.group({min:d*a-k.day+e+1,max:function(){return this.min+d-1},i:1,node:"td",item:function(a){a=b.create([k.year,k.month,a+(c.firstDay?1:0)]);var d=i&&i.pick==a.pick,e=j&&j.pick==a.pick,g=l&&b.disabled(a)||a.pick<m.pick||a.pick>n.pick;return[f.node("div",a.date,function(b){return b.push(k.month==a.month?c.klass.infocus:c.klass.outfocus),h.pick==a.pick&&b.push(c.klass.now),d&&b.push(c.klass.selected),e&&b.push(c.klass.highlighted),g&&b.push(c.klass.disabled),b.join(" ")}([c.klass.day]),"data-pick="+a.pick+" "+f.ariaAttr({role:"button",controls:b.$node[0].id,checked:d&&b.$node.val()===f.trigger(b.formats.toString,b,[c.format,a])?!0:null,activedescendant:e?!0:null,disabled:g?!0:null}))]}})]}})),c.klass.table)+f.node("div",f.node("button",c.today,c.klass.buttonToday,"type=button data-pick="+h.pick+(a?"":" disabled"))+f.node("button",c.clear,c.klass.buttonClear,"type=button data-clear=1"+(a?"":" disabled")),c.klass.footer)},c.defaults=function(a){return{monthsFull:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],weekdaysFull:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],weekdaysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],today:"Today",clear:"Clear",format:"d mmmm, yyyy",klass:{table:a+"table",header:a+"header",navPrev:a+"nav--prev",navNext:a+"nav--next",navDisabled:a+"nav--disabled",month:a+"month",year:a+"year",selectMonth:a+"select--month",selectYear:a+"select--year",weekdays:a+"weekday",day:a+"day",disabled:a+"day--disabled",selected:a+"day--selected",highlighted:a+"day--highlighted",now:a+"day--today",infocus:a+"day--infocus",outfocus:a+"day--outfocus",footer:a+"footer",buttonClear:a+"button--clear",buttonToday:a+"button--today"}}}(a.klasses().picker+"__"),a.extend("pickadate",c)});;
/*! Bootstrap-Timepicker v0.1.0 
* http://jdewit.github.com/bootstrap-timepicker 
* Copyright (c) 2013 Joris de Wit 
* MIT License 
*/
(function(e, t, n, r) {
    "use strict";
    var i = function(t, n) { this.widget = "", this.$element = e(t), this.defaultTime = n.defaultTime, this.disableFocus = n.disableFocus, this.isOpen = n.isOpen, this.minuteStep = n.minuteStep, this.modalBackdrop = n.modalBackdrop, this.secondStep = n.secondStep, this.showInputs = n.showInputs, this.showMeridian = n.showMeridian, this.showSeconds = n.showSeconds, this.template = n.template, this.appendWidgetTo = n.appendWidgetTo, this._init() };
    i.prototype = {
        constructor: i,
        _init: function() {
            var t = this;
            this.$element.parent().hasClass("input-append") || this.$element.parent().hasClass("input-prepend") ? (this.$element.parent(".input-append, .input-prepend").find(".add-on").on({ "click.timepicker": e.proxy(this.showWidget, this) }), this.$element.on({ "focus.timepicker": e.proxy(this.highlightUnit, this), "click.timepicker": e.proxy(this.highlightUnit, this), "keydown.timepicker": e.proxy(this.elementKeydown, this), "blur.timepicker": e.proxy(this.blurElement, this) })) : this.template ? this.$element.on({ "focus.timepicker": e.proxy(this.showWidget, this), "click.timepicker": e.proxy(this.showWidget, this), "blur.timepicker": e.proxy(this.blurElement, this) }) : this.$element.on({ "focus.timepicker": e.proxy(this.highlightUnit, this), "click.timepicker": e.proxy(this.highlightUnit, this), "keydown.timepicker": e.proxy(this.elementKeydown, this), "blur.timepicker": e.proxy(this.blurElement, this) }), this.template !== !1 ? this.$widget = e(this.getTemplate()).appendTo(this.$element.parents(this.appendWidgetTo)).on("click", e.proxy(this.widgetClick, this)) : this.$widget = !1, this.showInputs && this.$widget !== !1 && this.$widget.find("input").each(function() { e(this).on({ "click.timepicker": function() { e(this).select() }, "keydown.timepicker": e.proxy(t.widgetKeydown, t) }) }), this.setDefaultTime(this.defaultTime)
        },
        blurElement: function() { this.highlightedUnit = r, this.updateFromElementVal() },
        decrementHour: function() {
            if (this.showMeridian)
                if (this.hour === 1) this.hour = 12;
                else {
                    if (this.hour === 12) return this.hour--, this.toggleMeridian();
                    if (this.hour === 0) return this.hour = 11, this.toggleMeridian();
                    this.hour--
                }
            else this.hour === 0 ? this.hour = 23 : this.hour--;
            this.update()
        },
        decrementMinute: function(e) {
            var t;
            e ? t = this.minute - e : t = this.minute - this.minuteStep, t < 0 ? (this.decrementHour(), this.minute = t + 60) : this.minute = t, this.update()
        },
        decrementSecond: function() {
            var e = this.second - this.secondStep;
            e < 0 ? (this.decrementMinute(!0), this.second = e + 60) : this.second = e, this.update()
        },
        elementKeydown: function(e) {
            switch (e.keyCode) {
            case 9:
                this.updateFromElementVal();
                switch (this.highlightedUnit) {
                case "hour":
                    e.preventDefault(), this.highlightNextUnit();
                    break;
                case "minute":
                    if (this.showMeridian || this.showSeconds) e.preventDefault(), this.highlightNextUnit();
                    break;
                case "second":
                    this.showMeridian && (e.preventDefault(), this.highlightNextUnit())
                }
                break;
            case 27:
                this.updateFromElementVal();
                break;
            case 37:
                e.preventDefault(), this.highlightPrevUnit(), this.updateFromElementVal();
                break;
            case 38:
                e.preventDefault();
                switch (this.highlightedUnit) {
                case "hour":
                    this.incrementHour(), this.highlightHour();
                    break;
                case "minute":
                    this.incrementMinute(), this.highlightMinute();
                    break;
                case "second":
                    this.incrementSecond(), this.highlightSecond();
                    break;
                case "meridian":
                    this.toggleMeridian(), this.highlightMeridian()
                }
                break;
            case 39:
                e.preventDefault(), this.updateFromElementVal(), this.highlightNextUnit();
                break;
            case 40:
                e.preventDefault();
                switch (this.highlightedUnit) {
                case "hour":
                    this.decrementHour(), this.highlightHour();
                    break;
                case "minute":
                    this.decrementMinute(), this.highlightMinute();
                    break;
                case "second":
                    this.decrementSecond(), this.highlightSecond();
                    break;
                case "meridian":
                    this.toggleMeridian(), this.highlightMeridian()
                }
            }
        },
        formatTime: function(e, t, n, r) { return e = e < 10 ? "0" + e : e, t = t < 10 ? "0" + t : t, n = n < 10 ? "0" + n : n, e + ":" + t + (this.showSeconds ? ":" + n : "") + (this.showMeridian ? " " + r : "") },
        getCursorPosition: function() {
            var e = this.$element.get(0);
            if ("selectionStart" in e) return e.selectionStart;
            if (n.selection) {
                //e.focus();
                var t = n.selection.createRange(), r = n.selection.createRange().text.length;
                return t.moveStart("character", -e.value.length), t.text.length - r
            }
        },
        getTemplate: function() {
            var e, t, n, r, i, s;
            this.showInputs ? (t = '<input type="text" name="hour" class="bootstrap-timepicker-hour" maxlength="2"/>', n = '<input type="text" name="minute" class="bootstrap-timepicker-minute" maxlength="2"/>', r = '<input type="text" name="second" class="bootstrap-timepicker-second" maxlength="2"/>', i = '<input type="text" name="meridian" class="bootstrap-timepicker-meridian" maxlength="2"/>') : (t = '<span class="bootstrap-timepicker-hour"></span>', n = '<span class="bootstrap-timepicker-minute"></span>', r = '<span class="bootstrap-timepicker-second"></span>', i = '<span class="bootstrap-timepicker-meridian"></span>'), s = '<table><tr><td><a href="#" data-action="incrementHour"><i class="icon-chevron-up"></i></a></td><td class="separator">&nbsp;</td><td><a href="#" data-action="incrementMinute"><i class="icon-chevron-up"></i></a></td>' + (this.showSeconds ? '<td class="separator">&nbsp;</td><td><a href="#" data-action="incrementSecond"><i class="icon-chevron-up"></i></a></td>' : "") + (this.showMeridian ? '<td class="separator">&nbsp;</td><td class="meridian-column"><a href="#" data-action="toggleMeridian"><i class="icon-chevron-up"></i></a></td>' : "") + "</tr>" + "<tr>" + "<td>" + t + "</td> " + '<td class="separator">:</td>' + "<td>" + n + "</td> " + (this.showSeconds ? '<td class="separator">:</td><td>' + r + "</td>" : "") + (this.showMeridian ? '<td class="separator">&nbsp;</td><td>' + i + "</td>" : "") + "</tr>" + "<tr>" + '<td><a href="#" data-action="decrementHour"><i class="icon-chevron-down"></i></a></td>' + '<td class="separator"></td>' + '<td><a href="#" data-action="decrementMinute"><i class="icon-chevron-down"></i></a></td>' + (this.showSeconds ? '<td class="separator">&nbsp;</td><td><a href="#" data-action="decrementSecond"><i class="icon-chevron-down"></i></a></td>' : "") + (this.showMeridian ? '<td class="separator">&nbsp;</td><td><a href="#" data-action="toggleMeridian"><i class="icon-chevron-down"></i></a></td>' : "") + "</tr>" + "</table>";
            switch (this.template) {
            case "modal":
                e = '<div class="bootstrap-timepicker-widget modal hide fade in" data-backdrop="' + (this.modalBackdrop ? "true" : "false") + '">' + '<div class="modal-header">' + '<a href="#" class="close" data-dismiss="modal">×</a>' + "<h3>Pick a Time</h3>" + "</div>" + '<div class="modal-content">' + s + "</div>" + '<div class="modal-footer">' + '<a href="#" class="btn btn-primary" data-dismiss="modal">OK</a>' + "</div>" + "</div>";
                break;
            case "dropdown":
                e = '<div class="bootstrap-timepicker-widget dropdown-menu">' + s + "</div>"
            }
            return e
        },
        getTime: function() { return this.formatTime(this.hour, this.minute, this.second, this.meridian) },
        hideWidget: function() {
            if (this.isOpen === !1) return;
            this.showInputs && this.updateFromWidgetInputs(), this.$element.trigger({ type: "hide.timepicker", time: { value: this.getTime(), hours: this.hour, minutes: this.minute, seconds: this.second, meridian: this.meridian } }), this.template === "modal" ? this.$widget.modal("hide") : this.$widget.removeClass("open"), e(n).off("mousedown.timepicker"), this.isOpen = !1
        },
        highlightUnit: function() { this.position = this.getCursorPosition(), this.position >= 0 && this.position <= 2 ? this.highlightHour() : this.position >= 3 && this.position <= 5 ? this.highlightMinute() : this.position >= 6 && this.position <= 8 ? this.showSeconds ? this.highlightSecond() : this.highlightMeridian() : this.position >= 9 && this.position <= 11 && this.highlightMeridian() },
        highlightNextUnit: function() {
            switch (this.highlightedUnit) {
            case "hour":
                this.highlightMinute();
                break;
            case "minute":
                this.showSeconds ? this.highlightSecond() : this.showMeridian ? this.highlightMeridian() : this.highlightHour();
                break;
            case "second":
                this.showMeridian ? this.highlightMeridian() : this.highlightHour();
                break;
            case "meridian":
                this.highlightHour()
            }
        },
        highlightPrevUnit: function() {
            switch (this.highlightedUnit) {
            case "hour":
                this.highlightMeridian();
                break;
            case "minute":
                this.highlightHour();
                break;
            case "second":
                this.highlightMinute();
                break;
            case "meridian":
                this.showSeconds ? this.highlightSecond() : this.highlightMinute()
            }
        },
        highlightHour: function() {
            //var e = this.$element.get(0);
            var e = this.$widget.find("input.bootstrap-timepicker-hour").get(0);
            if (!e)
                e = this.$element.get(0);
            this.highlightedUnit = "hour", e.setSelectionRange && setTimeout(function() { e.setSelectionRange(0, 2) }, 0)
        },
        highlightMinute: function() {
            var e = this.$element.get(0);
            this.highlightedUnit = "minute", e.setSelectionRange && setTimeout(function() { e.setSelectionRange(3, 5) }, 0)
        },
        highlightSecond: function() {
            var e = this.$element.get(0);
            this.highlightedUnit = "second", e.setSelectionRange && setTimeout(function() { e.setSelectionRange(6, 8) }, 0)
        },
        highlightMeridian: function() {
            var e = this.$element.get(0);
            this.highlightedUnit = "meridian", e.setSelectionRange && (this.showSeconds ? setTimeout(function() { e.setSelectionRange(9, 11) }, 0) : setTimeout(function() { e.setSelectionRange(6, 8) }, 0))
        },
        incrementHour: function() {
            if (this.showMeridian) {
                if (this.hour === 11) return this.hour++, this.toggleMeridian();
                this.hour === 12 && (this.hour = 0)
            }
            if (this.hour === 23) return this.hour = 0;
            this.hour++, this.update()
        },
        incrementMinute: function(e) {
            var t;
            e ? t = this.minute + e : t = this.minute + this.minuteStep - this.minute % this.minuteStep, t > 59 ? (this.incrementHour(), this.minute = t - 60) : this.minute = t, this.update()
        },
        incrementSecond: function() {
            var e = this.second + this.secondStep - this.second % this.secondStep;
            e > 59 ? (this.incrementMinute(!0), this.second = e - 60) : this.second = e, this.update()
        },
        remove: function() { e("document").off(".timepicker"), this.$widget && this.$widget.remove(), delete this.$element.data().timepicker },
        setDefaultTime: function(e) {
            if (!this.$element.val())
                if (e === "current") {
                    var t = new Date, n = t.getHours(), r = Math.floor(t.getMinutes() / this.minuteStep) * this.minuteStep, i = Math.floor(t.getSeconds() / this.secondStep) * this.secondStep, s = "AM";
                    this.showMeridian && (n === 0 ? n = 12 : n >= 12 ? (n > 12 && (n -= 12), s = "PM") : s = "AM"), this.hour = n, this.minute = r, this.second = i, this.meridian = s, this.update()
                } else e === !1 ? (this.hour = 0, this.minute = 0, this.second = 0, this.meridian = "AM") : this.setTime(e);
            else this.updateFromElementVal()
        },
        setTime: function(e) {
            var t, n;
            this.showMeridian ? (t = e.split(" "), n = t[0].split(":"), this.meridian = t[1]) : n = e.split(":"), this.hour = parseInt(n[0], 10), this.minute = parseInt(n[1], 10), this.second = parseInt(n[2], 10), isNaN(this.hour) && (this.hour = 0), isNaN(this.minute) && (this.minute = 0);
            if (this.showMeridian) {
                this.hour > 12 ? this.hour = 12 : this.hour < 1 && (this.hour = 12);
                if (this.meridian === "am" || this.meridian === "a") this.meridian = "AM";
                else if (this.meridian === "pm" || this.meridian === "p") this.meridian = "PM";
                this.meridian !== "AM" && this.meridian !== "PM" && (this.meridian = "AM")
            } else this.hour >= 24 ? this.hour = 23 : this.hour < 0 && (this.hour = 0);
            this.minute < 0 ? this.minute = 0 : this.minute >= 60 && (this.minute = 59), this.showSeconds && (isNaN(this.second) ? this.second = 0 : this.second < 0 ? this.second = 0 : this.second >= 60 && (this.second = 59)), this.update()
        },
        showWidget: function() {
            if (this.isOpen) return;
            var t = this;
            e(n).on("mousedown.timepicker", function(n) { e(n.target).closest(".bootstrap-timepicker-widget").length === 0 && t.hideWidget() }),
            this.$element.trigger({ type: "show.timepicker", time: { value: this.getTime(), hours: this.hour, minutes: this.minute, seconds: this.second, meridian: this.meridian } }),
            this.disableFocus && this.$element.blur(), this.updateFromElementVal(),
            this.template === "modal" ? this.$widget.modal("show").on("hidden", e.proxy(this.hideWidget, this)) : this.isOpen === !1 && this.$widget.addClass("open"), this.isOpen = !0;
            this.highlightHour();
        },
        toggleMeridian: function() { this.meridian = this.meridian === "AM" ? "PM" : "AM", this.update() },
        update: function() { this.$element.trigger({ type: "changeTime.timepicker", time: { value: this.getTime(), hours: this.hour, minutes: this.minute, seconds: this.second, meridian: this.meridian } }), this.updateElement(), this.updateWidget() },
        updateElement: function() { this.$element.val(this.getTime()).change() },
        updateFromElementVal: function() {
            var e = this.$element.val();
            e && this.setTime(e)
        },
        updateWidget: function() {
            if (this.$widget === !1) return;
            var e = this.hour < 10 ? "0" + this.hour : this.hour, t = this.minute < 10 ? "0" + this.minute : this.minute, n = this.second < 10 ? "0" + this.second : this.second;
            this.showInputs ? (this.$widget.find("input.bootstrap-timepicker-hour").val(e), this.$widget.find("input.bootstrap-timepicker-minute").val(t), this.showSeconds && this.$widget.find("input.bootstrap-timepicker-second").val(n), this.showMeridian && this.$widget.find("input.bootstrap-timepicker-meridian").val(this.meridian)) : (this.$widget.find("span.bootstrap-timepicker-hour").text(e), this.$widget.find("span.bootstrap-timepicker-minute").text(t), this.showSeconds && this.$widget.find("span.bootstrap-timepicker-second").text(n), this.showMeridian && this.$widget.find("span.bootstrap-timepicker-meridian").text(this.meridian))
        },
        updateFromWidgetInputs: function() {
            if (this.$widget === !1) return;
            var t = e("input.bootstrap-timepicker-hour", this.$widget).val() + ":" + e("input.bootstrap-timepicker-minute", this.$widget).val() + (this.showSeconds ? ":" + e("input.bootstrap-timepicker-second", this.$widget).val() : "") + (this.showMeridian ? " " + e("input.bootstrap-timepicker-meridian", this.$widget).val() : "");
            this.setTime(t)
        },
        widgetClick: function(t) {
            t.stopPropagation(), t.preventDefault();
            var n = e(t.target).closest("a").data("action");
            n && this[n]()
        },
        widgetKeydown: function(t) {
            var n = e(t.target).closest("input"), r = n.attr("name");
            switch (t.keyCode) {
            case 9:
                if (this.showMeridian) {
                    if (r === "meridian") return this.hideWidget()
                } else if (this.showSeconds) {
                    if (r === "second") return this.hideWidget()
                } else if (r === "minute") return this.hideWidget();
                this.updateFromWidgetInputs();
                break;
            case 27:
                this.hideWidget();
                break;
            case 38:
                t.preventDefault();
                switch (r) {
                case "hour":
                    this.incrementHour();
                    break;
                case "minute":
                    this.incrementMinute();
                    break;
                case "second":
                    this.incrementSecond();
                    break;
                case "meridian":
                    this.toggleMeridian()
                }
                break;
            case 40:
                t.preventDefault();
                switch (r) {
                case "hour":
                    this.decrementHour();
                    break;
                case "minute":
                    this.decrementMinute();
                    break;
                case "second":
                    this.decrementSecond();
                    break;
                case "meridian":
                    this.toggleMeridian()
                }
            }
        }
    }, e.fn.timepicker = function(t) {
        var n = Array.apply(null, arguments);
        return n.shift(), this.each(function() {
            var r = e(this), s = r.data("timepicker"), o = typeof t == "object" && t;
            s || r.data("timepicker", s = new i(this, e.extend({}, e.fn.timepicker.defaults, o, e(this).data()))), typeof t == "string" && s[t].apply(s, n)
        })
    }, e.fn.timepicker.defaults = { defaultTime: "current", disableFocus: !1, isOpen: !1, minuteStep: 15, modalBackdrop: !1, secondStep: 15, showSeconds: !1, showInputs: !0, showMeridian: !0, template: "dropdown", appendWidgetTo: ".bootstrap-timepicker" }, e.fn.timepicker.Constructor = i
})(jQuery, window, document);
;
/*!
 * Datepicker for Bootstrap v1.6.4 (https://github.com/eternicode/bootstrap-datepicker)
 *
 * Copyright 2012 Stefan Petre
 * Improvements by Andrew Rowls
 * Licensed under the Apache License v2.0 (http://www.apache.org/licenses/LICENSE-2.0)
 */(function (factory) {
 	if (typeof define === "function" && define.amd) {
 		define(["jquery"], factory);
 	} else if (typeof exports === 'object') {
 		factory(require('jquery'));
 	} else {
 		factory(jQuery);
 	}
 }(function ($, undefined) {

 	function UTCDate() {
 		return new Date(Date.UTC.apply(Date, arguments));
 	}
 	function UTCToday() {
 		var today = new Date();
 		return UTCDate(today.getFullYear(), today.getMonth(), today.getDate());
 	}
 	function isUTCEquals(date1, date2) {
 		return (
			date1.getUTCFullYear() === date2.getUTCFullYear() &&
			date1.getUTCMonth() === date2.getUTCMonth() &&
			date1.getUTCDate() === date2.getUTCDate()
		);
 	}
 	function alias(method) {
 		return function () {
 			return this[method].apply(this, arguments);
 		};
 	}
 	function isValidDate(d) {
 		return d && !isNaN(d.getTime());
 	}

 	var DateArray = (function () {
 		var extras = {
 			get: function (i) {
 				return this.slice(i)[0];
 			},
 			contains: function (d) {
 				// Array.indexOf is not cross-browser;
 				// $.inArray doesn't work with Dates
 				var val = d && d.valueOf();
 				for (var i = 0, l = this.length; i < l; i++)
 					if (this[i].valueOf() === val)
 						return i;
 				return -1;
 			},
 			remove: function (i) {
 				this.splice(i, 1);
 			},
 			replace: function (new_array) {
 				if (!new_array)
 					return;
 				if (!$.isArray(new_array))
 					new_array = [new_array];
 				this.clear();
 				this.push.apply(this, new_array);
 			},
 			clear: function () {
 				this.length = 0;
 			},
 			copy: function () {
 				var a = new DateArray();
 				a.replace(this);
 				return a;
 			}
 		};

 		return function () {
 			var a = [];
 			a.push.apply(a, arguments);
 			$.extend(a, extras);
 			return a;
 		};
 	})();

	// Picker object
	var htmlRTL = document.getElementsByTagName("html")[0].getAttribute("dir");
	 
 	var Datepicker = function (element, options) {
 		$(element).data('datepicker', this);
 		this._process_options(options);
 		this.dates = new DateArray();
 		this.viewDate = this.o.defaultViewDate;
 		this.focusDate = null;
 		this.element = $(element);
 		this.isInput = this.element.is('input');
 		this.inputField = this.isInput ? this.element : this.element.find('input');
 		this.component = this.element.hasClass('date') ? this.element.find('.add-on, .input-group-addon, .btn') : false;
 		this.hasInput = this.component && this.inputField.length;
 		if (this.component && this.component.length === 0)
 			this.component = false;
 		this.isInline = !this.component && this.element.is('div');

 		this.picker = $(DPGlobal.template);

 		// Checking templates and inserting
 		if (this._check_template(this.o.templates.leftArrow)) {
 			this.picker.find('.prev').html(this.o.templates.leftArrow);
 		}
 		if (this._check_template(this.o.templates.rightArrow)) {
 			this.picker.find('.next').html(this.o.templates.rightArrow);
 		}

 		this._buildEvents();
 		this._attachEvents();

 		if (this.isInline) {
 			this.picker.addClass('datepicker-inline').appendTo(this.element);
 		}
 		else {
 			this.picker.addClass('datepicker-dropdown dropdown-menu');
 		}		  
		  if ((this.o.rtl || (htmlRTL == 'rtl'))) {
			  this.picker.addClass('datepicker-rtl');
			  this.rtl = true;
 		}

 		this.viewMode = this.o.startView;

 		if (this.o.calendarWeeks)
 			this.picker.find('thead .datepicker-title, tfoot .today, tfoot .clear')
						.attr('colspan', function (i, val) {
							return parseInt(val) + 1;
						});

 		this._allow_update = false;

 		this.setStartDate(this._o.startDate);
 		this.setEndDate(this._o.endDate);
 		this.setDaysOfWeekDisabled(this.o.daysOfWeekDisabled);
 		this.setDaysOfWeekHighlighted(this.o.daysOfWeekHighlighted);
 		this.setDatesDisabled(this.o.datesDisabled);

 		this.fillDow();
 		this.fillMonths();

 		this._allow_update = true;

 		this.update();
 		this.showMode();

 		if (this.isInline) {
 			this.show();
 		}
 	};

 	Datepicker.prototype = {
 		constructor: Datepicker,

 		_resolveViewName: function (view, default_value) {
 			if (view === 0 || view === 'days' || view === 'month') {
 				return 0;
 			}
 			if (view === 1 || view === 'months' || view === 'year') {
 				return 1;
 			}
 			if (view === 2 || view === 'years' || view === 'decade') {
 				return 2;
 			}
 			if (view === 3 || view === 'decades' || view === 'century') {
 				return 3;
 			}
 			if (view === 4 || view === 'centuries' || view === 'millennium') {
 				return 4;
 			}
 			return default_value === undefined ? false : default_value;
 		},

 		_check_template: function (tmp) {
 			try {
 				// If empty
 				if (tmp === undefined || tmp === "") {
 					return false;
 				}
 				// If no html, everything ok
 				if ((tmp.match(/[<>]/g) || []).length <= 0) {
 					return true;
 				}
 				// Checking if html is fine
 				var jDom = $(tmp);
 				return jDom.length > 0;
 			}
 			catch (ex) {
 				return false;
 			}
 		},

 		_process_options: function (opts) {
 			// Store raw options for reference
 			this._o = $.extend({}, this._o, opts);
 			// Processed options
 			var o = this.o = $.extend({}, this._o);

 			// Check if "de-DE" style date is available, if not language should
 			// fallback to 2 letter code eg "de"
 			var lang = o.language;
 			if (!dates[lang]) {
 				lang = lang.split('-')[0];
 				if (!dates[lang])
 					lang = defaults.language;
 			}
 			o.language = lang;

 			// Retrieve view index from any aliases
 			o.startView = this._resolveViewName(o.startView, 0);
 			o.minViewMode = this._resolveViewName(o.minViewMode, 0);
 			o.maxViewMode = this._resolveViewName(o.maxViewMode, 4);

 			// Check that the start view is between min and max
 			o.startView = Math.min(o.startView, o.maxViewMode);
 			o.startView = Math.max(o.startView, o.minViewMode);

 			// true, false, or Number > 0
 			if (o.multidate !== true) {
 				o.multidate = Number(o.multidate) || false;
 				if (o.multidate !== false)
 					o.multidate = Math.max(0, o.multidate);
 			}
 			o.multidateSeparator = String(o.multidateSeparator);

 			o.weekStart %= 7;
 			o.weekEnd = (o.weekStart + 6) % 7;

 			var format = DPGlobal.parseFormat(o.format);
 			if (o.startDate !== -Infinity) {
 				if (!!o.startDate) {
 					if (o.startDate instanceof Date)
 						o.startDate = this._local_to_utc(this._zero_time(o.startDate));
 					else
 						o.startDate = DPGlobal.parseDate(o.startDate, format, o.language, o.assumeNearbyYear);
 				}
 				else {
 					o.startDate = -Infinity;
 				}
 			}
 			if (o.endDate !== Infinity) {
 				if (!!o.endDate) {
 					if (o.endDate instanceof Date)
 						o.endDate = this._local_to_utc(this._zero_time(o.endDate));
 					else
 						o.endDate = DPGlobal.parseDate(o.endDate, format, o.language, o.assumeNearbyYear);
 				}
 				else {
 					o.endDate = Infinity;
 				}
 			}

 			o.daysOfWeekDisabled = o.daysOfWeekDisabled || [];
 			if (!$.isArray(o.daysOfWeekDisabled))
 				o.daysOfWeekDisabled = o.daysOfWeekDisabled.split(/[,\s]*/);
 			o.daysOfWeekDisabled = $.map(o.daysOfWeekDisabled, function (d) {
 				return parseInt(d, 10);
 			});

 			o.daysOfWeekHighlighted = o.daysOfWeekHighlighted || [];
 			if (!$.isArray(o.daysOfWeekHighlighted))
 				o.daysOfWeekHighlighted = o.daysOfWeekHighlighted.split(/[,\s]*/);
 			o.daysOfWeekHighlighted = $.map(o.daysOfWeekHighlighted, function (d) {
 				return parseInt(d, 10);
 			});

 			o.datesDisabled = o.datesDisabled || [];
 			if (!$.isArray(o.datesDisabled)) {
 				o.datesDisabled = [
					o.datesDisabled
 				];
 			}
 			o.datesDisabled = $.map(o.datesDisabled, function (d) {
 				return DPGlobal.parseDate(d, format, o.language, o.assumeNearbyYear);
 			});

 			var plc = String(o.orientation).toLowerCase().split(/\s+/g),
				_plc = o.orientation.toLowerCase();
 			plc = $.grep(plc, function (word) {
 				return /^auto|left|right|top|bottom$/.test(word);
 			});
 			o.orientation = { x: 'auto', y: 'auto' };
 			if (!_plc || _plc === 'auto')
 				; // no action
 			else if (plc.length === 1) {
 				switch (plc[0]) {
 					case 'top':
 					case 'bottom':
 						o.orientation.y = plc[0];
 						break;
 					case 'left':
 					case 'right':
 						o.orientation.x = plc[0];
 						break;
 				}
 			}
 			else {
 				_plc = $.grep(plc, function (word) {
 					return /^left|right$/.test(word);
 				});
 				o.orientation.x = _plc[0] || 'auto';

 				_plc = $.grep(plc, function (word) {
 					return /^top|bottom$/.test(word);
 				});
 				o.orientation.y = _plc[0] || 'auto';
 			}
 			if (o.defaultViewDate) {
 				var year = o.defaultViewDate.year || new Date().getFullYear();
 				var month = o.defaultViewDate.month || 0;
 				var day = o.defaultViewDate.day || 1;
 				o.defaultViewDate = UTCDate(year, month, day);
 			} else {
 				o.defaultViewDate = UTCToday();
 			}
 		},
 		_events: [],
 		_secondaryEvents: [],
 		_applyEvents: function (evs) {
 			for (var i = 0, el, ch, ev; i < evs.length; i++) {
 				el = evs[i][0];
 				if (evs[i].length === 2) {
 					ch = undefined;
 					ev = evs[i][1];
 				}
 				else if (evs[i].length === 3) {
 					ch = evs[i][1];
 					ev = evs[i][2];
 				}
 				el.on(ev, ch);
 			}
 		},
 		_unapplyEvents: function (evs) {
 			for (var i = 0, el, ev, ch; i < evs.length; i++) {
 				el = evs[i][0];
 				if (evs[i].length === 2) {
 					ch = undefined;
 					ev = evs[i][1];
 				}
 				else if (evs[i].length === 3) {
 					ch = evs[i][1];
 					ev = evs[i][2];
 				}
 				el.off(ev, ch);
 			}
 		},
 		_buildEvents: function () {
 			var events = {
 				keyup: $.proxy(function (e) {
 					if ($.inArray(e.keyCode, [27, 37, 39, 38, 40, 32, 13, 9]) === -1)
 						this.update();
 				}, this),
 				keydown: $.proxy(this.keydown, this),
 				paste: $.proxy(this.paste, this)
 			};

 			if (this.o.showOnFocus === true) {
 				events.focus = $.proxy(this.show, this);
 			}

 			if (this.isInput) { // single input
 				this._events = [
                    [this.element, events]
 				];
 			}
 			else if (this.component && this.hasInput) { // component: input + button
 				this._events = [
                    // For components that are not readonly, allow keyboard nav
                    [this.inputField, events],
                    [this.component, {
                    	click: $.proxy(this.show, this)
                    }]
 				];
 			}
 			else {
 				this._events = [
					[this.element, {
						click: $.proxy(this.show, this),
						keydown: $.proxy(this.keydown, this)
					}]
 				];
 			}
 			this._events.push(
				// Component: listen for blur on element descendants
				[this.element, '*', {
					blur: $.proxy(function (e) {
						this._focused_from = e.target;
					}, this)
				}],
				// Input: listen for blur on element
				[this.element, {
					blur: $.proxy(function (e) {
						this._focused_from = e.target;
					}, this)
				}]
			);

 			if (this.o.immediateUpdates) {
 				// Trigger input updates immediately on changed year/month
 				this._events.push([this.element, {
 					'changeYear changeMonth': $.proxy(function (e) {
 						this.update(e.date);
 					}, this)
 				}]);
 			}

 			this._secondaryEvents = [
				[this.picker, {
					click: $.proxy(this.click, this)
				}],
				[$(window), {
					resize: $.proxy(this.place, this)
				}],
				[$(document), {
					mousedown: $.proxy(function (e) {
						// Clicked outside the datepicker, hide it
						if (!(
							this.element.is(e.target) ||
							this.element.find(e.target).length ||
							this.picker.is(e.target) ||
							this.picker.find(e.target).length ||
							this.isInline
						)) {
							this.hide();
						}
					}, this)
				}]
 			];
 		},
 		_attachEvents: function () {
 			this._detachEvents();
 			this._applyEvents(this._events);
 		},
 		_detachEvents: function () {
 			this._unapplyEvents(this._events);
 		},
 		_attachSecondaryEvents: function () {
 			this._detachSecondaryEvents();
 			this._applyEvents(this._secondaryEvents);
 		},
 		_detachSecondaryEvents: function () {
 			this._unapplyEvents(this._secondaryEvents);
 		},
 		_trigger: function (event, altdate) {
 			var date = altdate || this.dates.get(-1),
				local_date = this._utc_to_local(date);

 			this.element.trigger({
 				type: event,
 				date: local_date,
 				dates: $.map(this.dates, this._utc_to_local),
 				format: $.proxy(function (ix, format) {
 					if (arguments.length === 0) {
 						ix = this.dates.length - 1;
 						format = this.o.format;
 					}
 					else if (typeof ix === 'string') {
 						format = ix;
 						ix = this.dates.length - 1;
 					}
 					format = format || this.o.format;
 					var date = this.dates.get(ix);
 					return DPGlobal.formatDate(date, format, this.o.language);
 				}, this)
 			});
 		},

 		show: function () {
 			if (this.inputField.prop('disabled') || (this.inputField.prop('readonly') && this.o.enableOnReadonly === false))
 				return;
 			if (!this.isInline)
 			this.picker.appendTo('body');
 			this.place();
 			this.picker.show();
 			this._attachSecondaryEvents();
 			this._trigger('show');
 			if ((window.navigator.msMaxTouchPoints || 'ontouchstart' in document) && this.o.disableTouchKeyboard) {
 				$(this.element).blur();
 			}
 			return this;
 		},

 		hide: function () {
 			if (this.isInline || !this.picker.is(':visible'))
 				return this;
 			this.focusDate = null;
 			this.picker.hide().detach();
 			this._detachSecondaryEvents();
 			this.viewMode = this.o.startView;
 			this.showMode();

 			if (this.o.forceParse && this.inputField.val())
 				this.setValue();
 			this._trigger('hide');
 			return this;
 		},

 		destroy: function () {
 			this.hide();
 			this._detachEvents();
 			this._detachSecondaryEvents();
 			this.picker.remove();
 			delete this.element.data().datepicker;
 			if (!this.isInput) {
 				delete this.element.data().date;
 			}
 			return this;
 		},

 		paste: function (evt) {
 			var dateString;
 			if (evt.originalEvent.clipboardData && evt.originalEvent.clipboardData.types
				&& $.inArray('text/plain', evt.originalEvent.clipboardData.types) !== -1) {
 				dateString = evt.originalEvent.clipboardData.getData('text/plain');
 			}
 			else if (window.clipboardData) {
 				dateString = window.clipboardData.getData('Text');
 			}
 			else {
 				return;
 			}
 			this.setDate(dateString);
 			this.update();
 			evt.preventDefault();
 		},

 		_utc_to_local: function (utc) {
 			return utc && new Date(utc.getTime() + (utc.getTimezoneOffset() * 60000));
 		},
 		_local_to_utc: function (local) {
 			return local && new Date(local.getTime() - (local.getTimezoneOffset() * 60000));
 		},
 		_zero_time: function (local) {
 			return local && new Date(local.getFullYear(), local.getMonth(), local.getDate());
 		},
 		_zero_utc_time: function (utc) {
 			return utc && new Date(Date.UTC(utc.getUTCFullYear(), utc.getUTCMonth(), utc.getUTCDate()));
 		},

 		getDates: function () {
 			return $.map(this.dates, this._utc_to_local);
 		},

 		getUTCDates: function () {
 			return $.map(this.dates, function (d) {
 				return new Date(d);
 			});
 		},

 		getDate: function () {
 			return this._utc_to_local(this.getUTCDate());
 		},

 		getUTCDate: function () {
 			var selected_date = this.dates.get(-1);
 			if (typeof selected_date !== 'undefined') {
 				return new Date(selected_date);
 			} else {
 				return null;
 			}
 		},

 		clearDates: function () {
 			if (this.inputField) {
 				this.inputField.val('');
 			}

 			this.update();
 			this._trigger('changeDate');

 			if (this.o.autoclose) {
 				this.hide();
 			}
 		},
 		setDates: function () {
 			var args = $.isArray(arguments[0]) ? arguments[0] : arguments;
 			this.update.apply(this, args);
 			this._trigger('changeDate');
 			this.setValue();
 			return this;
 		},

 		setUTCDates: function () {
 			var args = $.isArray(arguments[0]) ? arguments[0] : arguments;
 			this.update.apply(this, $.map(args, this._utc_to_local));
 			this._trigger('changeDate');
 			this.setValue();
 			return this;
 		},

 		setDate: alias('setDates'),
 		setUTCDate: alias('setUTCDates'),
 		remove: alias('destroy'),

 		setValue: function () {
 			var formatted = this.getFormattedDate();
 			this.inputField.val(formatted);
 			return this;
 		},

 		getFormattedDate: function (format) {
 			if (format === undefined)
 				format = this.o.format;

 			var lang = this.o.language;
 			return $.map(this.dates, function (d) {
 				return DPGlobal.formatDate(d, format, lang);
 			}).join(this.o.multidateSeparator);
 		},

 		getStartDate: function () {
 			return this.o.startDate;
 		},

 		setStartDate: function (startDate) {
 			this._process_options({ startDate: startDate });
 			this.update();
 			this.updateNavArrows();
 			return this;
 		},

 		getEndDate: function () {
 			return this.o.endDate;
 		},

 		setEndDate: function (endDate) {
 			this._process_options({ endDate: endDate });
 			this.update();
 			this.updateNavArrows();
 			return this;
 		},

 		setDaysOfWeekDisabled: function (daysOfWeekDisabled) {
 			this._process_options({ daysOfWeekDisabled: daysOfWeekDisabled });
 			this.update();
 			this.updateNavArrows();
 			return this;
 		},

 		setDaysOfWeekHighlighted: function (daysOfWeekHighlighted) {
 			this._process_options({ daysOfWeekHighlighted: daysOfWeekHighlighted });
 			this.update();
 			return this;
 		},

 		setDatesDisabled: function (datesDisabled) {
 			this._process_options({ datesDisabled: datesDisabled });
 			this.update();
 			this.updateNavArrows();
 		},

 		place: function () {
 			if (this.isInline)
 				return this;
 			var calendarWidth = this.picker.outerWidth(),
				calendarHeight = this.picker.outerHeight(),
				visualPadding = 10,
				container = $(this.o.container),
				windowWidth = container.width(),
				scrollTop = this.o.container === 'body' ? $(document).scrollTop() : container.scrollTop(),
				appendOffset = container.offset();

 			var parentsZindex = [];
 			this.element.parents().each(function () {
 				var itemZIndex = $(this).css('z-index');
 				if (itemZIndex !== 'auto' && itemZIndex !== 0) parentsZindex.push(parseInt(itemZIndex));
 			});
 			var zIndex = Math.max.apply(Math, parentsZindex) + this.o.zIndexOffset;
 			var offset = this.component ? this.component.parent().offset() : this.element.offset();
 			var height = this.component ? this.component.outerHeight(true) : this.element.outerHeight(false);
 			var width = this.component ? this.component.outerWidth(true) : this.element.outerWidth(false);
 			var left = offset.left - appendOffset.left,
				top = offset.top - appendOffset.top;

 			if (this.o.container !== 'body') {
 				top += scrollTop;
 			}

 			this.picker.removeClass(
				'datepicker-orient-top datepicker-orient-bottom ' +
				'datepicker-orient-right datepicker-orient-left'
			);

 			if (this.o.orientation.x !== 'auto') {
 				this.picker.addClass('datepicker-orient-' + this.o.orientation.x);
 				if (this.o.orientation.x === 'right')
 					left -= calendarWidth - width;
 			}
 				// auto x orientation is best-placement: if it crosses a window
 				// edge, fudge it sideways
 			else {
 				if (offset.left < 0) {
 					// component is outside the window on the left side. Move it into visible range
 					this.picker.addClass('datepicker-orient-left');
 					left -= offset.left - visualPadding;
 				} else if (left + calendarWidth > windowWidth) {
 					// the calendar passes the widow right edge. Align it to component right side
 					this.picker.addClass('datepicker-orient-right');
 					left += width - calendarWidth;
 				} else {
 					// Default to left
 					this.picker.addClass('datepicker-orient-left');
 				}
 			}

 			// auto y orientation is best-situation: top or bottom, no fudging,
 			// decision based on which shows more of the calendar
 			var yorient = this.o.orientation.y,
				top_overflow;
 			if (yorient === 'auto') {
 				top_overflow = -scrollTop + top - calendarHeight;
 				yorient = top_overflow < 0 ? 'bottom' : 'top';
 			}

 			this.picker.addClass('datepicker-orient-' + yorient);
 			if (yorient === 'top')
 				top -= calendarHeight + parseInt(this.picker.css('padding-top'));
 			else
 				top += height;

				if ((this.o.rtl || (htmlRTL == 'rtl'))) {
 				var right = windowWidth - (left + width);
 				this.picker.css({
 					top: top,
 					right: right,
					zIndex: zIndex,
					width: 220
 				});
 			} else {
 				this.picker.css({
 					top: top,
 					left: left,
 					zIndex: zIndex
 				});
 			}
 			return this;
 		},

 		_allow_update: true,
 		update: function () {
 			if (!this._allow_update)
 				return this;

 			var oldDates = this.dates.copy(),
				dates = [],
				fromArgs = false;
 			if (arguments.length) {
 				$.each(arguments, $.proxy(function (i, date) {
 					if (date instanceof Date)
 						date = this._local_to_utc(date);
 					dates.push(date);
 				}, this));
 				fromArgs = true;
 			}
 			else {
 				dates = this.isInput
						? this.element.val()
						: this.element.data('date') || this.inputField.val();
 				if (dates && this.o.multidate)
 					dates = dates.split(this.o.multidateSeparator);
 				else
 					dates = [dates];
 				delete this.element.data().date;
 			}

 			dates = $.map(dates, $.proxy(function (date) {
 				return DPGlobal.parseDate(date, this.o.format, this.o.language, this.o.assumeNearbyYear);
 			}, this));
 			dates = $.grep(dates, $.proxy(function (date) {
 				return (
					!this.dateWithinRange(date) ||
					!date
				);
 			}, this), true);
 			this.dates.replace(dates);

 			if (this.dates.length)
 				this.viewDate = new Date(this.dates.get(-1));
 			else if (this.viewDate < this.o.startDate)
 				this.viewDate = new Date(this.o.startDate);
 			else if (this.viewDate > this.o.endDate)
 				this.viewDate = new Date(this.o.endDate);
 			else
 				this.viewDate = this.o.defaultViewDate;

 			if (fromArgs) {
 				// setting date by clicking
 				this.setValue();
 			}
 			else if (dates.length) {
 				// setting date by typing
 				if (String(oldDates) !== String(this.dates))
 					this._trigger('changeDate');
 			}
 			if (!this.dates.length && oldDates.length)
 				this._trigger('clearDate');

 			this.fill();
 			this.element.change();
 			return this;
 		},

 		fillDow: function () {
 			var dowCnt = this.o.weekStart,
				html = '<tr>';
 			if (this.o.calendarWeeks) {
 				this.picker.find('.datepicker-days .datepicker-switch')
					.attr('colspan', function (i, val) {
						return parseInt(val) + 1;
					});
 				html += '<th class="cw">&#160;</th>';
 			}
 			while (dowCnt < this.o.weekStart + 7) {
 				html += '<th class="dow';
 				if ($.inArray(dowCnt, this.o.daysOfWeekDisabled) > -1)
 					html += ' disabled';
 				html += '">' + dates[this.o.language].daysMin[(dowCnt++) % 7] + '</th>';
 			}
 			html += '</tr>';
 			this.picker.find('.datepicker-days thead').append(html);
 		},

 		fillMonths: function () {
 			var localDate = this._utc_to_local(this.viewDate);
 			var html = '',
			i = 0;
 			while (i < 12) {
 				var focused = localDate && localDate.getMonth() === i ? ' focused' : '';
 				html += '<span class="month' + focused + '">' + dates[this.o.language].monthsShort[i++] + '</span>';
 			}
 			this.picker.find('.datepicker-months td').html(html);
 		},

 		setRange: function (range) {
 			if (!range || !range.length)
 				delete this.range;
 			else
 				this.range = $.map(range, function (d) {
 					return d.valueOf();
 				});
 			this.fill();
 		},

 		getClassNames: function (date) {
 			var cls = [],
				year = this.viewDate.getUTCFullYear(),
				month = this.viewDate.getUTCMonth(),
				today = new Date();
 			if (date.getUTCFullYear() < year || (date.getUTCFullYear() === year && date.getUTCMonth() < month)) {
 				cls.push('old');
 			}
 			else if (date.getUTCFullYear() > year || (date.getUTCFullYear() === year && date.getUTCMonth() > month)) {
 				cls.push('new');
 			}
 			if (this.focusDate && date.valueOf() === this.focusDate.valueOf())
 				cls.push('focused');
 			// Compare internal UTC date with local today, not UTC today
 			if (this.o.todayHighlight &&
				date.getUTCFullYear() === today.getFullYear() &&
				date.getUTCMonth() === today.getMonth() &&
				date.getUTCDate() === today.getDate()) {
 				cls.push('today');
 			}
 			if (this.dates.contains(date) !== -1)
 				cls.push('active');
 			if (!this.dateWithinRange(date)) {
 				cls.push('disabled');
 			}
 			if (this.dateIsDisabled(date)) {
 				cls.push('disabled', 'disabled-date');
 			}
 			if ($.inArray(date.getUTCDay(), this.o.daysOfWeekHighlighted) !== -1) {
 				cls.push('highlighted');
 			}

 			if (this.range) {
 				if (date > this.range[0] && date < this.range[this.range.length - 1]) {
 					cls.push('range');
 				}
 				if ($.inArray(date.valueOf(), this.range) !== -1) {
 					cls.push('selected');
 				}
 				if (date.valueOf() === this.range[0]) {
 					cls.push('range-start');
 				}
 				if (date.valueOf() === this.range[this.range.length - 1]) {
 					cls.push('range-end');
 				}
 			}
 			return cls;
 		},

 		_fill_yearsView: function (selector, cssClass, factor, step, currentYear, startYear, endYear, callback) {
 			var html, view, year, steps, startStep, endStep, thisYear, i, classes, tooltip, before;

 			html = '';
 			view = this.picker.find(selector);
 			year = parseInt(currentYear / factor, 10) * factor;
 			startStep = parseInt(startYear / step, 10) * step;
 			endStep = parseInt(endYear / step, 10) * step;
 			steps = $.map(this.dates, function (d) {
 				return parseInt(d.getUTCFullYear() / step, 10) * step;
 			});

 			view.find('.datepicker-switch').text(year + '-' + (year + step * 9));

 			thisYear = year - step;
 			for (i = -1; i < 11; i += 1) {
 				classes = [cssClass];
 				tooltip = null;

 				if (i === -1) {
 					classes.push('old');
 				} else if (i === 10) {
 					classes.push('new');
 				}
 				if ($.inArray(thisYear, steps) !== -1) {
 					classes.push('active');
 				}
 				if (thisYear < startStep || thisYear > endStep) {
 					classes.push('disabled');
 				}
 				if (thisYear === this.viewDate.getFullYear()) {
 					classes.push('focused');
 				}

 				if (callback !== $.noop) {
 					before = callback(new Date(thisYear, 0, 1));
 					if (before === undefined) {
 						before = {};
 					} else if (typeof (before) === 'boolean') {
 						before = { enabled: before };
 					} else if (typeof (before) === 'string') {
 						before = { classes: before };
 					}
 					if (before.enabled === false) {
 						classes.push('disabled');
 					}
 					if (before.classes) {
 						classes = classes.concat(before.classes.split(/\s+/));
 					}
 					if (before.tooltip) {
 						tooltip = before.tooltip;
 					}
 				}

 				html += '<span class="' + classes.join(' ') + '"' + (tooltip ? ' title="' + tooltip + '"' : '') + '>' + thisYear + '</span>';
 				thisYear += step;
 			}
 			view.find('td').html(html);
 		},

 		fill: function () {
 			var d = new Date(this.viewDate),
				year = d.getUTCFullYear(),
				month = d.getUTCMonth(),
				startYear = this.o.startDate !== -Infinity ? this.o.startDate.getUTCFullYear() : -Infinity,
				startMonth = this.o.startDate !== -Infinity ? this.o.startDate.getUTCMonth() : -Infinity,
				endYear = this.o.endDate !== Infinity ? this.o.endDate.getUTCFullYear() : Infinity,
				endMonth = this.o.endDate !== Infinity ? this.o.endDate.getUTCMonth() : Infinity,
				todaytxt = dates[this.o.language].today || dates['en'].today || '',
				cleartxt = dates[this.o.language].clear || dates['en'].clear || '',
				titleFormat = dates[this.o.language].titleFormat || dates['en'].titleFormat,
				tooltip,
				before;
 			if (isNaN(year) || isNaN(month))
 				return;
 			this.picker.find('.datepicker-days .datepicker-switch')
						.text(DPGlobal.formatDate(d, titleFormat, this.o.language));
 			this.picker.find('tfoot .today')
						.text(todaytxt)
						.toggle(this.o.todayBtn !== false);
 			this.picker.find('tfoot .clear')
						.text(cleartxt)
						.toggle(this.o.clearBtn !== false);
 			this.picker.find('thead .datepicker-title')
						.text(this.o.title)
						.toggle(this.o.title !== '');
 			this.updateNavArrows();
 			this.fillMonths();
 			var prevMonth = UTCDate(year, month - 1, 28),
				day = DPGlobal.getDaysInMonth(prevMonth.getUTCFullYear(), prevMonth.getUTCMonth());
 			prevMonth.setUTCDate(day);
 			prevMonth.setUTCDate(day - (prevMonth.getUTCDay() - this.o.weekStart + 7) % 7);
 			var nextMonth = new Date(prevMonth);
 			if (prevMonth.getUTCFullYear() < 100) {
 				nextMonth.setUTCFullYear(prevMonth.getUTCFullYear());
 			}
 			nextMonth.setUTCDate(nextMonth.getUTCDate() + 42);
 			nextMonth = nextMonth.valueOf();
 			var html = [];
 			var clsName;
 			while (prevMonth.valueOf() < nextMonth) {
 				if (prevMonth.getUTCDay() === this.o.weekStart) {
 					html.push('<tr>');
 					if (this.o.calendarWeeks) {
 						// ISO 8601: First week contains first thursday.
 						// ISO also states week starts on Monday, but we can be more abstract here.
 						var
							// Start of current week: based on weekstart/current date
							ws = new Date(+prevMonth + (this.o.weekStart - prevMonth.getUTCDay() - 7) % 7 * 864e5),
							// Thursday of this week
							th = new Date(Number(ws) + (7 + 4 - ws.getUTCDay()) % 7 * 864e5),
							// First Thursday of year, year from thursday
							yth = new Date(Number(yth = UTCDate(th.getUTCFullYear(), 0, 1)) + (7 + 4 - yth.getUTCDay()) % 7 * 864e5),
							// Calendar week: ms between thursdays, div ms per day, div 7 days
							calWeek = (th - yth) / 864e5 / 7 + 1;
 						html.push('<td class="cw">' + calWeek + '</td>');
 					}
 				}
 				clsName = this.getClassNames(prevMonth);
 				clsName.push('day');

 				if (this.o.beforeShowDay !== $.noop) {
 					before = this.o.beforeShowDay(this._utc_to_local(prevMonth));
 					if (before === undefined)
 						before = {};
 					else if (typeof (before) === 'boolean')
 						before = { enabled: before };
 					else if (typeof (before) === 'string')
 						before = { classes: before };
 					if (before.enabled === false)
 						clsName.push('disabled');
 					if (before.classes)
 						clsName = clsName.concat(before.classes.split(/\s+/));
 					if (before.tooltip)
 						tooltip = before.tooltip;
 				}

 				//Check if uniqueSort exists (supported by jquery >=1.12 and >=2.2)
 				//Fallback to unique function for older jquery versions
 				if ($.isFunction($.uniqueSort)) {
 					clsName = $.uniqueSort(clsName);
 				} else {
 					clsName = $.unique(clsName);
 				}

 				html.push('<td class="' + clsName.join(' ') + '"' + (tooltip ? ' title="' + tooltip + '"' : '') + '>' + prevMonth.getUTCDate() + '</td>');
 				tooltip = null;
 				if (prevMonth.getUTCDay() === this.o.weekEnd) {
 					html.push('</tr>');
 				}
 				prevMonth.setUTCDate(prevMonth.getUTCDate() + 1);
 			}
 			this.picker.find('.datepicker-days tbody').empty().append(html.join(''));

 			var monthsTitle = dates[this.o.language].monthsTitle || dates['en'].monthsTitle || 'Months';
 			var months = this.picker.find('.datepicker-months')
						.find('.datepicker-switch')
							.text(this.o.maxViewMode < 2 ? monthsTitle : year)
							.end()
						.find('span').removeClass('active');

 			$.each(this.dates, function (i, d) {
 				if (d.getUTCFullYear() === year)
 					months.eq(d.getUTCMonth()).addClass('active');
 			});

 			if (year < startYear || year > endYear) {
 				months.addClass('disabled');
 			}
 			if (year === startYear) {
 				months.slice(0, startMonth).addClass('disabled');
 			}
 			if (year === endYear) {
 				months.slice(endMonth + 1).addClass('disabled');
 			}

 			if (this.o.beforeShowMonth !== $.noop) {
 				var that = this;
 				$.each(months, function (i, month) {
 					var moDate = new Date(year, i, 1);
 					var before = that.o.beforeShowMonth(moDate);
 					if (before === undefined)
 						before = {};
 					else if (typeof (before) === 'boolean')
 						before = { enabled: before };
 					else if (typeof (before) === 'string')
 						before = { classes: before };
 					if (before.enabled === false && !$(month).hasClass('disabled'))
 						$(month).addClass('disabled');
 					if (before.classes)
 						$(month).addClass(before.classes);
 					if (before.tooltip)
 						$(month).prop('title', before.tooltip);
 				});
 			}

 			// Generating decade/years picker
 			this._fill_yearsView(
				'.datepicker-years',
				'year',
				10,
				1,
				year,
				startYear,
				endYear,
				this.o.beforeShowYear
			);

 			// Generating century/decades picker
 			this._fill_yearsView(
				'.datepicker-decades',
				'decade',
				100,
				10,
				year,
				startYear,
				endYear,
				this.o.beforeShowDecade
			);

 			// Generating millennium/centuries picker
 			this._fill_yearsView(
				'.datepicker-centuries',
				'century',
				1000,
				100,
				year,
				startYear,
				endYear,
				this.o.beforeShowCentury
			);
 		},

 		updateNavArrows: function () {
 			if (!this._allow_update)
 				return;

 			var d = new Date(this.viewDate),
				year = d.getUTCFullYear(),
				month = d.getUTCMonth();
 			switch (this.viewMode) {
 				case 0:
 					if (this.o.startDate !== -Infinity && year <= this.o.startDate.getUTCFullYear() && month <= this.o.startDate.getUTCMonth()) {
 						this.picker.find('.prev').css({ visibility: 'hidden' });
 					}
 					else {
 						this.picker.find('.prev').css({ visibility: 'visible' });
 					}
 					if (this.o.endDate !== Infinity && year >= this.o.endDate.getUTCFullYear() && month >= this.o.endDate.getUTCMonth()) {
 						this.picker.find('.next').css({ visibility: 'hidden' });
 					}
 					else {
 						this.picker.find('.next').css({ visibility: 'visible' });
 					}
 					break;
 				case 1:
 				case 2:
 				case 3:
 				case 4:
 					if (this.o.startDate !== -Infinity && year <= this.o.startDate.getUTCFullYear() || this.o.maxViewMode < 2) {
 						this.picker.find('.prev').css({ visibility: 'hidden' });
 					}
 					else {
 						this.picker.find('.prev').css({ visibility: 'visible' });
 					}
 					if (this.o.endDate !== Infinity && year >= this.o.endDate.getUTCFullYear() || this.o.maxViewMode < 2) {
 						this.picker.find('.next').css({ visibility: 'hidden' });
 					}
 					else {
 						this.picker.find('.next').css({ visibility: 'visible' });
 					}
 					break;
 			}
 		},

 		click: function (e) {
 			e.preventDefault();
 			e.stopPropagation();

 			var target, dir, day, year, month, monthChanged, yearChanged;
 			target = $(e.target);

 			// Clicked on the switch
 			if (target.hasClass('datepicker-switch')) {
 				this.showMode(1);
 			}

 			// Clicked on prev or next
 			var navArrow = target.closest('.prev, .next');
 			if (navArrow.length > 0) {
 				dir = DPGlobal.modes[this.viewMode].navStep * (navArrow.hasClass('prev') ? -1 : 1);
 				if (this.viewMode === 0) {
 					this.viewDate = this.moveMonth(this.viewDate, dir);
 					this._trigger('changeMonth', this.viewDate);
 				} else {
 					this.viewDate = this.moveYear(this.viewDate, dir);
 					if (this.viewMode === 1) {
 						this._trigger('changeYear', this.viewDate);
 					}
 				}
 				this.fill();
 			}

 			// Clicked on today button
 			if (target.hasClass('today') && !target.hasClass('day')) {
 				this.showMode(-2);
 				this._setDate(UTCToday(), this.o.todayBtn === 'linked' ? null : 'view');
 			}

 			// Clicked on clear button
 			if (target.hasClass('clear')) {
 				this.clearDates();
 			}

 			if (!target.hasClass('disabled')) {
 				// Clicked on a day
 				if (target.hasClass('day')) {
 					day = parseInt(target.text(), 10) || 1;
 					year = this.viewDate.getUTCFullYear();
 					month = this.viewDate.getUTCMonth();

 					// From last month
 					if (target.hasClass('old')) {
 						if (month === 0) {
 							month = 11;
 							year = year - 1;
 							monthChanged = true;
 							yearChanged = true;
 						} else {
 							month = month - 1;
 							monthChanged = true;
 						}
 					}

 					// From next month
 					if (target.hasClass('new')) {
 						if (month === 11) {
 							month = 0;
 							year = year + 1;
 							monthChanged = true;
 							yearChanged = true;
 						} else {
 							month = month + 1;
 							monthChanged = true;
 						}
 					}
 					this._setDate(UTCDate(year, month, day));
 					if (yearChanged) {
 						this._trigger('changeYear', this.viewDate);
 					}
 					if (monthChanged) {
 						this._trigger('changeMonth', this.viewDate);
 					}
 				}

 				// Clicked on a month
 				if (target.hasClass('month')) {
 					this.viewDate.setUTCDate(1);
 					day = 1;
 					month = target.parent().find('span').index(target);
 					year = this.viewDate.getUTCFullYear();
 					this.viewDate.setUTCMonth(month);
 					this._trigger('changeMonth', this.viewDate);
 					if (this.o.minViewMode === 1) {
 						this._setDate(UTCDate(year, month, day));
 						this.showMode();
 					} else {
 						this.showMode(-1);
 					}
 					this.fill();
 				}

 				// Clicked on a year
 				if (target.hasClass('year')
						|| target.hasClass('decade')
						|| target.hasClass('century')) {
 					this.viewDate.setUTCDate(1);

 					day = 1;
 					month = 0;
 					year = parseInt(target.text(), 10) || 0;
 					this.viewDate.setUTCFullYear(year);

 					if (target.hasClass('year')) {
 						this._trigger('changeYear', this.viewDate);
 						if (this.o.minViewMode === 2) {
 							this._setDate(UTCDate(year, month, day));
 						}
 					}
 					if (target.hasClass('decade')) {
 						this._trigger('changeDecade', this.viewDate);
 						if (this.o.minViewMode === 3) {
 							this._setDate(UTCDate(year, month, day));
 						}
 					}
 					if (target.hasClass('century')) {
 						this._trigger('changeCentury', this.viewDate);
 						if (this.o.minViewMode === 4) {
 							this._setDate(UTCDate(year, month, day));
 						}
 					}

 					this.showMode(-1);
 					this.fill();
 				}
 			}

 			if (this.picker.is(':visible') && this._focused_from) {
 				$(this._focused_from).focus();
 			}
 			delete this._focused_from;
 		},

 		_toggle_multidate: function (date) {
 			var ix = this.dates.contains(date);
 			if (!date) {
 				this.dates.clear();
 			}

 			if (ix !== -1) {
 				if (this.o.multidate === true || this.o.multidate > 1 || this.o.toggleActive) {
 					this.dates.remove(ix);
 				}
 			} else if (this.o.multidate === false) {
 				this.dates.clear();
 				this.dates.push(date);
 			}
 			else {
 				this.dates.push(date);
 			}

 			if (typeof this.o.multidate === 'number')
 				while (this.dates.length > this.o.multidate)
 					this.dates.remove(0);
 		},

 		_setDate: function (date, which) {
 			if (!which || which === 'date')
 				this._toggle_multidate(date && new Date(date));
 			if (!which || which === 'view')
 				this.viewDate = date && new Date(date);

 			this.fill();
 			this.setValue();
 			if (!which || which !== 'view') {
 				this._trigger('changeDate');
 			}
 			if (this.inputField) {
 				this.inputField.change();
 			}
 			if (this.o.autoclose && (!which || which === 'date')) {
 				this.hide();
 			}
 		},

 		moveDay: function (date, dir) {
 			var newDate = new Date(date);
 			newDate.setUTCDate(date.getUTCDate() + dir);

 			return newDate;
 		},

 		moveWeek: function (date, dir) {
 			return this.moveDay(date, dir * 7);
 		},

 		moveMonth: function (date, dir) {
 			if (!isValidDate(date))
 				return this.o.defaultViewDate;
 			if (!dir)
 				return date;
 			var new_date = new Date(date.valueOf()),
				day = new_date.getUTCDate(),
				month = new_date.getUTCMonth(),
				mag = Math.abs(dir),
				new_month, test;
 			dir = dir > 0 ? 1 : -1;
 			if (mag === 1) {
 				test = dir === -1
					// If going back one month, make sure month is not current month
					// (eg, Mar 31 -> Feb 31 == Feb 28, not Mar 02)
					? function () {
						return new_date.getUTCMonth() === month;
					}
					// If going forward one month, make sure month is as expected
					// (eg, Jan 31 -> Feb 31 == Feb 28, not Mar 02)
					: function () {
						return new_date.getUTCMonth() !== new_month;
					};
 				new_month = month + dir;
 				new_date.setUTCMonth(new_month);
 				// Dec -> Jan (12) or Jan -> Dec (-1) -- limit expected date to 0-11
 				if (new_month < 0 || new_month > 11)
 					new_month = (new_month + 12) % 12;
 			}
 			else {
 				// For magnitudes >1, move one month at a time...
 				for (var i = 0; i < mag; i++)
 					// ...which might decrease the day (eg, Jan 31 to Feb 28, etc)...
 					new_date = this.moveMonth(new_date, dir);
 				// ...then reset the day, keeping it in the new month
 				new_month = new_date.getUTCMonth();
 				new_date.setUTCDate(day);
 				test = function () {
 					return new_month !== new_date.getUTCMonth();
 				};
 			}
 			// Common date-resetting loop -- if date is beyond end of month, make it
 			// end of month
 			while (test()) {
 				new_date.setUTCDate(--day);
 				new_date.setUTCMonth(new_month);
 			}
 			return new_date;
 		},

 		moveYear: function (date, dir) {
 			return this.moveMonth(date, dir * 12);
 		},

 		moveAvailableDate: function (date, dir, fn) {
 			do {
 				date = this[fn](date, dir);

 				if (!this.dateWithinRange(date))
 					return false;

 				fn = 'moveDay';
 			}
 			while (this.dateIsDisabled(date));

 			return date;
 		},

 		weekOfDateIsDisabled: function (date) {
 			return $.inArray(date.getUTCDay(), this.o.daysOfWeekDisabled) !== -1;
 		},

 		dateIsDisabled: function (date) {
 			return (
				this.weekOfDateIsDisabled(date) ||
				$.grep(this.o.datesDisabled, function (d) {
					return isUTCEquals(date, d);
				}).length > 0
			);
 		},

 		dateWithinRange: function (date) {
 			return date >= this.o.startDate && date <= this.o.endDate;
 		},

 		keydown: function (e) {
 			if (!this.picker.is(':visible')) {
 				if (e.keyCode === 40 || e.keyCode === 27) { // allow down to re-show picker
 					this.show();
 					e.stopPropagation();
 				}
 				return;
 			}
 			var dateChanged = false,
				dir, newViewDate,
				focusDate = this.focusDate || this.viewDate;
 			switch (e.keyCode) {
 				case 27: // escape
 					if (this.focusDate) {
 						this.focusDate = null;
 						this.viewDate = this.dates.get(-1) || this.viewDate;
 						this.fill();
 					}
 					else
 						this.hide();
 					e.preventDefault();
 					e.stopPropagation();
 					break;
 				case 37: // left
 				case 38: // up
 				case 39: // right
 				case 40: // down
 					if (!this.o.keyboardNavigation || this.o.daysOfWeekDisabled.length === 7)
 						break;
 					dir = e.keyCode === 37 || e.keyCode === 38 ? -1 : 1;
 					if (this.viewMode === 0) {
 						if (e.ctrlKey) {
 							newViewDate = this.moveAvailableDate(focusDate, dir, 'moveYear');

 							if (newViewDate)
 								this._trigger('changeYear', this.viewDate);
 						}
 						else if (e.shiftKey) {
 							newViewDate = this.moveAvailableDate(focusDate, dir, 'moveMonth');

 							if (newViewDate)
 								this._trigger('changeMonth', this.viewDate);
 						}
 						else if (e.keyCode === 37 || e.keyCode === 39) {
 							newViewDate = this.moveAvailableDate(focusDate, dir, 'moveDay');
 						}
 						else if (!this.weekOfDateIsDisabled(focusDate)) {
 							newViewDate = this.moveAvailableDate(focusDate, dir, 'moveWeek');
 						}
 					} else if (this.viewMode === 1) {
 						if (e.keyCode === 38 || e.keyCode === 40) {
 							dir = dir * 4;
 						}
 						newViewDate = this.moveAvailableDate(focusDate, dir, 'moveMonth');
 					} else if (this.viewMode === 2) {
 						if (e.keyCode === 38 || e.keyCode === 40) {
 							dir = dir * 4;
 						}
 						newViewDate = this.moveAvailableDate(focusDate, dir, 'moveYear');
 					}
 					if (newViewDate) {
 						this.focusDate = this.viewDate = newViewDate;
 						this.setValue();
 						this.fill();
 						e.preventDefault();
 					}
 					break;
 				case 13: // enter
 					if (!this.o.forceParse)
 						break;
 					focusDate = this.focusDate || this.dates.get(-1) || this.viewDate;
 					if (this.o.keyboardNavigation) {
 						this._toggle_multidate(focusDate);
 						dateChanged = true;
 					}
 					this.focusDate = null;
 					this.viewDate = this.dates.get(-1) || this.viewDate;
 					this.setValue();
 					this.fill();
 					if (this.picker.is(':visible')) {
 						e.preventDefault();
 						e.stopPropagation();
 						if (this.o.autoclose)
 							this.hide();
 					}
 					break;
 				case 9: // tab
 					this.focusDate = null;
 					this.viewDate = this.dates.get(-1) || this.viewDate;
 					this.fill();
 					this.hide();
 					break;
 			}
 			if (dateChanged) {
 				if (this.dates.length)
 					this._trigger('changeDate');
 				else
 					this._trigger('clearDate');
 				if (this.inputField) {
 					this.inputField.change();
 				}
 			}
 		},

 		showMode: function (dir) {
 			if (dir) {
 				this.viewMode = Math.max(this.o.minViewMode, Math.min(this.o.maxViewMode, this.viewMode + dir));
 			}
 			this.picker
				.children('div')
				.hide()
				.filter('.datepicker-' + DPGlobal.modes[this.viewMode].clsName)
					.show();
 			this.updateNavArrows();
 		}
 	};

 	var DateRangePicker = function (element, options) {
 		$(element).data('datepicker', this);
 		this.element = $(element);
 		this.inputs = $.map(options.inputs, function (i) {
 			return i.jquery ? i[0] : i;
 		});
 		delete options.inputs;

 		datepickerPlugin.call($(this.inputs), options)
			.on('changeDate', $.proxy(this.dateUpdated, this));

 		this.pickers = $.map(this.inputs, function (i) {
 			return $(i).data('datepicker');
 		});
 		this.updateDates();
 	};
 	DateRangePicker.prototype = {
 		updateDates: function () {
 			this.dates = $.map(this.pickers, function (i) {
 				return i.getUTCDate();
 			});
 			this.updateRanges();
 		},
 		updateRanges: function () {
 			var range = $.map(this.dates, function (d) {
 				return d.valueOf();
 			});
 			$.each(this.pickers, function (i, p) {
 				p.setRange(range);
 			});
 		},
 		dateUpdated: function (e) {
 			// `this.updating` is a workaround for preventing infinite recursion
 			// between `changeDate` triggering and `setUTCDate` calling.  Until
 			// there is a better mechanism.
 			if (this.updating)
 				return;
 			this.updating = true;

 			var dp = $(e.target).data('datepicker');

 			if (typeof (dp) === "undefined") {
 				return;
 			}

 			var new_date = dp.getUTCDate(),
				i = $.inArray(e.target, this.inputs),
				j = i - 1,
				k = i + 1,
				l = this.inputs.length;
 			if (i === -1)
 				return;

 			$.each(this.pickers, function (i, p) {
 				if (!p.getUTCDate())
 					p.setUTCDate(new_date);
 			});

 			if (new_date < this.dates[j]) {
 				// Date being moved earlier/left
 				while (j >= 0 && new_date < this.dates[j]) {
 					this.pickers[j--].setUTCDate(new_date);
 				}
 			}
 			else if (new_date > this.dates[k]) {
 				// Date being moved later/right
 				while (k < l && new_date > this.dates[k]) {
 					this.pickers[k++].setUTCDate(new_date);
 				}
 			}
 			this.updateDates();

 			delete this.updating;
 		},
 		remove: function () {
 			$.map(this.pickers, function (p) { p.remove(); });
 			delete this.element.data().datepicker;
 		}
 	};

 	function opts_from_el(el, prefix) {
 		// Derive options from element data-attrs
 		var data = $(el).data(),
			out = {}, inkey,
			replace = new RegExp('^' + prefix.toLowerCase() + '([A-Z])');
 		prefix = new RegExp('^' + prefix.toLowerCase());
 		function re_lower(_, a) {
 			return a.toLowerCase();
 		}
 		for (var key in data)
 			if (prefix.test(key)) {
 				inkey = key.replace(replace, re_lower);
 				out[inkey] = data[key];
 			}
 		return out;
 	}

 	function opts_from_locale(lang) {
 		// Derive options from locale plugins
 		var out = {};
 		// Check if "de-DE" style date is available, if not language should
 		// fallback to 2 letter code eg "de"
 		if (!dates[lang]) {
 			lang = lang.split('-')[0];
 			if (!dates[lang])
 				return;
 		}
 		var d = dates[lang];
 		$.each(locale_opts, function (i, k) {
 			if (k in d)
 				out[k] = d[k];
 		});
 		return out;
 	}

 	var old = $.fn.datepicker;
 	var datepickerPlugin = function (option) {
 		var args = Array.apply(null, arguments);
 		args.shift();
 		var internal_return;
 		this.each(function () {
 			var $this = $(this),
				data = $this.data('datepicker'),
				options = typeof option === 'object' && option;
 			if (!data) {
 				var elopts = opts_from_el(this, 'date'),
					// Preliminary otions
					xopts = $.extend({}, defaults, elopts, options),
					locopts = opts_from_locale(xopts.language),
					// Options priority: js args, data-attrs, locales, defaults
					opts = $.extend({}, defaults, locopts, elopts, options);
 				if ($this.hasClass('input-daterange') || opts.inputs) {
 					$.extend(opts, {
 						inputs: opts.inputs || $this.find('input').toArray()
 					});
 					data = new DateRangePicker(this, opts);
 				}
 				else {
 					data = new Datepicker(this, opts);
 				}
 				$this.data('datepicker', data);
 			}
 			if (typeof option === 'string' && typeof data[option] === 'function') {
 				internal_return = data[option].apply(data, args);
 			}
 		});

 		if (
			internal_return === undefined ||
			internal_return instanceof Datepicker ||
			internal_return instanceof DateRangePicker
		)
 			return this;

 		if (this.length > 1)
 			throw new Error('Using only allowed for the collection of a single element (' + option + ' function)');
 		else
 			return internal_return;
 	};
 	$.fn.datepicker = datepickerPlugin;

 	var defaults = $.fn.datepicker.defaults = {
 		assumeNearbyYear: false,
 		autoclose: false,
 		beforeShowDay: $.noop,
 		beforeShowMonth: $.noop,
 		beforeShowYear: $.noop,
 		beforeShowDecade: $.noop,
 		beforeShowCentury: $.noop,
 		calendarWeeks: false,
 		clearBtn: false,
 		toggleActive: false,
 		daysOfWeekDisabled: [],
 		daysOfWeekHighlighted: [],
 		datesDisabled: [],
 		endDate: Infinity,
 		forceParse: true,
 		format: 'mm/dd/yyyy',
 		keyboardNavigation: true,
 		language: 'en',
 		minViewMode: 0,
 		maxViewMode: 4,
 		multidate: false,
 		multidateSeparator: ',',
 		orientation: "auto",
 		rtl: false,
 		startDate: -Infinity,
 		startView: 0,
 		todayBtn: false,
 		todayHighlight: false,
 		weekStart: 0,
 		disableTouchKeyboard: false,
 		enableOnReadonly: true,
 		showOnFocus: true,
 		zIndexOffset: 1003,
 		container: 'body',
 		immediateUpdates: false,
 		title: '',
 		templates: {
 			leftArrow: '&laquo;',
 			rightArrow: '&raquo;'
 		}
 	};
 	var locale_opts = $.fn.datepicker.locale_opts = [
		'format',
		'rtl',
		'weekStart'
 	];
 	$.fn.datepicker.Constructor = Datepicker;
 	var dates = $.fn.datepicker.dates = {
 		en: {
 			days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
 			daysShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
 			daysMin: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"],
 			months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
 			monthsShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
 			today: "Today",
 			clear: "Clear",
 			titleFormat: "MM yyyy"
 		}
 	};

 	var DPGlobal = {
 		modes: [
			{
				clsName: 'days',
				navFnc: 'Month',
				navStep: 1
			},
			{
				clsName: 'months',
				navFnc: 'FullYear',
				navStep: 1
			},
			{
				clsName: 'years',
				navFnc: 'FullYear',
				navStep: 10
			},
			{
				clsName: 'decades',
				navFnc: 'FullDecade',
				navStep: 100
			},
			{
				clsName: 'centuries',
				navFnc: 'FullCentury',
				navStep: 1000
			}],
 		isLeapYear: function (year) {
 			return (((year % 4 === 0) && (year % 100 !== 0)) || (year % 400 === 0));
 		},
 		getDaysInMonth: function (year, month) {
 			return [31, (DPGlobal.isLeapYear(year) ? 29 : 28), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month];
 		},
 		validParts: /dd?|DD?|mm?|MM?|yy(?:yy)?/g,
 		nonpunctuation: /[^ -\/:-@\u5e74\u6708\u65e5\[-`{-~\t\n\r]+/g,
 		parseFormat: function (format) {
 			if (typeof format.toValue === 'function' && typeof format.toDisplay === 'function')
 				return format;
 			// IE treats \0 as a string end in inputs (truncating the value),
 			// so it's a bad format delimiter, anyway
 			var separators = format.replace(this.validParts, '\0').split('\0'),
				parts = format.match(this.validParts);
 			if (!separators || !separators.length || !parts || parts.length === 0) {
 				throw new Error("Invalid date format.");
 			}
 			return { separators: separators, parts: parts };
 		},
 		parseDate: function (date, format, language, assumeNearby) {
 			if (!date)
 				return undefined;
 			if (date instanceof Date)
 				return date;
 			if (typeof format === 'string')
 				format = DPGlobal.parseFormat(format);
 			if (format.toValue)
 				return format.toValue(date, format, language);
 			var part_re = /([\-+]\d+)([dmwy])/,
				parts = date.match(/([\-+]\d+)([dmwy])/g),
				fn_map = {
					d: 'moveDay',
					m: 'moveMonth',
					w: 'moveWeek',
					y: 'moveYear'
				},
				dateAliases = {
					yesterday: '-1d',
					today: '+0d',
					tomorrow: '+1d'
				},
				part, dir, i, fn;
 			if (/^[\-+]\d+[dmwy]([\s,]+[\-+]\d+[dmwy])*$/.test(date)) {
 				date = new Date();
 				for (i = 0; i < parts.length; i++) {
 					part = part_re.exec(parts[i]);
 					dir = parseInt(part[1]);
 					fn = fn_map[part[2]];
 					date = Datepicker.prototype[fn](date, dir);
 				}
 				return UTCDate(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate());
 			}

 			if (typeof dateAliases[date] !== 'undefined') {
 				date = dateAliases[date];
 				parts = date.match(/([\-+]\d+)([dmwy])/g);

 				if (/^[\-+]\d+[dmwy]([\s,]+[\-+]\d+[dmwy])*$/.test(date)) {
 					date = new Date();
 					for (i = 0; i < parts.length; i++) {
 						part = part_re.exec(parts[i]);
 						dir = parseInt(part[1]);
 						fn = fn_map[part[2]];
 						date = Datepicker.prototype[fn](date, dir);
 					}

 					return UTCDate(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate());
 				}
 			}

 			parts = date && date.match(this.nonpunctuation) || [];
 			date = new Date();

 			function applyNearbyYear(year, threshold) {
 				if (threshold === true)
 					threshold = 10;

 				// if year is 2 digits or less, than the user most likely is trying to get a recent century
 				if (year < 100) {
 					year += 2000;
 					// if the new year is more than threshold years in advance, use last century
 					if (year > ((new Date()).getFullYear() + threshold)) {
 						year -= 100;
 					}
 				}

 				return year;
 			}

 			var parsed = {},
				setters_order = ['yyyy', 'yy', 'M', 'MM', 'm', 'mm', 'd', 'dd'],
				setters_map = {
					yyyy: function (d, v) {
						return d.setUTCFullYear(assumeNearby ? applyNearbyYear(v, assumeNearby) : v);
					},
					yy: function (d, v) {
						return d.setUTCFullYear(assumeNearby ? applyNearbyYear(v, assumeNearby) : v);
					},
					m: function (d, v) {
						if (isNaN(d))
							return d;
						v -= 1;
						while (v < 0) v += 12;
						v %= 12;
						d.setUTCMonth(v);
						while (d.getUTCMonth() !== v)
							d.setUTCDate(d.getUTCDate() - 1);
						return d;
					},
					d: function (d, v) {
						return d.setUTCDate(v);
					}
				},
				val, filtered;
 			setters_map['M'] = setters_map['MM'] = setters_map['mm'] = setters_map['m'];
 			setters_map['dd'] = setters_map['d'];
 			date = UTCToday();
 			var fparts = format.parts.slice();
 			// Remove noop parts
 			if (parts.length !== fparts.length) {
 				fparts = $(fparts).filter(function (i, p) {
 					return $.inArray(p, setters_order) !== -1;
 				}).toArray();
 			}
 			// Process remainder
 			function match_part() {
 				var m = this.slice(0, parts[i].length),
					p = parts[i].slice(0, m.length);
 				return m.toLowerCase() === p.toLowerCase();
 			}
 			if (parts.length === fparts.length) {
 				var cnt;
 				for (i = 0, cnt = fparts.length; i < cnt; i++) {
 					val = parseInt(parts[i], 10);
 					part = fparts[i];
 					if (isNaN(val)) {
 						switch (part) {
 							case 'MM':
 								filtered = $(dates[language].months).filter(match_part);
 								val = $.inArray(filtered[0], dates[language].months) + 1;
 								break;
 							case 'M':
 								filtered = $(dates[language].monthsShort).filter(match_part);
 								val = $.inArray(filtered[0], dates[language].monthsShort) + 1;
 								break;
 						}
 					}
 					parsed[part] = val;
 				}
 				var _date, s;
 				for (i = 0; i < setters_order.length; i++) {
 					s = setters_order[i];
 					if (s in parsed && !isNaN(parsed[s])) {
 						_date = new Date(date);
 						setters_map[s](_date, parsed[s]);
 						if (!isNaN(_date))
 							date = _date;
 					}
 				}
 			}
 			return date;
 		},
 		formatDate: function (date, format, language) {
 			if (!date)
 				return '';
 			if (typeof format === 'string')
 				format = DPGlobal.parseFormat(format);
 			if (format.toDisplay)
 				return format.toDisplay(date, format, language);
 			var val = {
 				d: date.getUTCDate(),
 				D: dates[language].daysShort[date.getUTCDay()],
 				DD: dates[language].days[date.getUTCDay()],
 				m: date.getUTCMonth() + 1,
 				M: dates[language].monthsShort[date.getUTCMonth()],
 				MM: dates[language].months[date.getUTCMonth()],
 				yy: date.getUTCFullYear().toString().substring(2),
 				yyyy: date.getUTCFullYear()
 			};
 			val.dd = (val.d < 10 ? '0' : '') + val.d;
 			val.mm = (val.m < 10 ? '0' : '') + val.m;
 			date = [];
 			var seps = $.extend([], format.separators);
 			for (var i = 0, cnt = format.parts.length; i <= cnt; i++) {
 				if (seps.length)
 					date.push(seps.shift());
 				date.push(val[format.parts[i]]);
 			}
 			return date.join('');
 		},
 		headTemplate: '<thead>' +
			              '<tr>' +
			                '<th colspan="7" class="datepicker-title"></th>' +
			              '</tr>' +
							'<tr>' +
								'<th class="prev">&laquo;</th>' +
								'<th colspan="5" class="datepicker-switch"></th>' +
								'<th class="next">&raquo;</th>' +
							'</tr>' +
						'</thead>',
 		contTemplate: '<tbody><tr><td colspan="7"></td></tr></tbody>',
 		footTemplate: '<tfoot>' +
							'<tr>' +
								'<th colspan="7" class="today"></th>' +
							'</tr>' +
							'<tr>' +
								'<th colspan="7" class="clear"></th>' +
							'</tr>' +
						'</tfoot>'
 	};
 	DPGlobal.template = '<div class="datepicker">' +
							'<div class="datepicker-days">' +
								'<table class="table-condensed">' +
									DPGlobal.headTemplate +
									'<tbody></tbody>' +
									DPGlobal.footTemplate +
								'</table>' +
							'</div>' +
							'<div class="datepicker-months">' +
								'<table class="table-condensed">' +
									DPGlobal.headTemplate +
									DPGlobal.contTemplate +
									DPGlobal.footTemplate +
								'</table>' +
							'</div>' +
							'<div class="datepicker-years">' +
								'<table class="table-condensed">' +
									DPGlobal.headTemplate +
									DPGlobal.contTemplate +
									DPGlobal.footTemplate +
								'</table>' +
							'</div>' +
							'<div class="datepicker-decades">' +
								'<table class="table-condensed">' +
									DPGlobal.headTemplate +
									DPGlobal.contTemplate +
									DPGlobal.footTemplate +
								'</table>' +
							'</div>' +
							'<div class="datepicker-centuries">' +
								'<table class="table-condensed">' +
									DPGlobal.headTemplate +
									DPGlobal.contTemplate +
									DPGlobal.footTemplate +
								'</table>' +
							'</div>' +
						'</div>';

 	$.fn.datepicker.DPGlobal = DPGlobal;


 	/* DATEPICKER NO CONFLICT
	* =================== */

 	$.fn.datepicker.noConflict = function () {
 		$.fn.datepicker = old;
 		return this;
 	};

 	/* DATEPICKER VERSION
	 * =================== */
 	$.fn.datepicker.version = '1.6.4';

 	/* DATEPICKER DATA-API
	* ================== */

 	$(document).on(
		'focus.datepicker.data-api click.datepicker.data-api',
		'[data-provide="datepicker"]',
		function (e) {
			var $this = $(this);
			if ($this.data('datepicker'))
				return;
			e.preventDefault();
			// component click requires us to explicitly show it
			datepickerPlugin.call($this, 'show');
		}
	);
 	$(function () {
 		datepickerPlugin.call($('[data-provide="datepicker-inline"]'));
 	});

 }));
;
/*
 * jScrollPane - v2.0.0beta12 - 2012-09-27
 * http://jscrollpane.kelvinluck.com/
 *
 * Copyright (c) 2010 Kelvin Luck
 * Dual licensed under the MIT or GPL licenses.
 */
(function(b,a,c){b.fn.jScrollPane=function(e){function d(D,O){var ay,Q=this,Y,aj,v,al,T,Z,y,q,az,aE,au,i,I,h,j,aa,U,ap,X,t,A,aq,af,am,G,l,at,ax,x,av,aH,f,L,ai=true,P=true,aG=false,k=false,ao=D.clone(false,false).empty(),ac=b.fn.mwheelIntent?"mwheelIntent.jsp":"mousewheel.jsp";aH=D.css("paddingTop")+" "+D.css("paddingRight")+" "+D.css("paddingBottom")+" "+D.css("paddingLeft");f=(parseInt(D.css("paddingLeft"),10)||0)+(parseInt(D.css("paddingRight"),10)||0);function ar(aQ){var aL,aN,aM,aJ,aI,aP,aO=false,aK=false;ay=aQ;if(Y===c){aI=D.scrollTop();aP=D.scrollLeft();D.css({overflow:"hidden",padding:0});aj=D.innerWidth()+f;v=D.innerHeight();D.width(aj);Y=b('<div class="jspPane" />').css("padding",aH).append(D.children());al=b('<div class="jspContainer" />').css({width:aj+"px",height:v+"px"}).append(Y).appendTo(D)}else{D.css("width","");aO=ay.stickToBottom&&K();aK=ay.stickToRight&&B();aJ=D.innerWidth()+f!=aj||D.outerHeight()!=v;if(aJ){aj=D.innerWidth()+f;v=D.innerHeight();al.css({width:aj+"px",height:v+"px"})}if(!aJ&&L==T&&Y.outerHeight()==Z){D.width(aj);return}L=T;Y.css("width","");D.width(aj);al.find(">.jspVerticalBar,>.jspHorizontalBar").remove().end()}Y.css("overflow","auto");if(aQ.contentWidth){T=aQ.contentWidth}else{T=Y[0].scrollWidth}Z=Y[0].scrollHeight;Y.css("overflow","");y=T/aj;q=Z/v;az=q>1;aE=y>1;if(!(aE||az)){D.removeClass("jspScrollable");Y.css({top:0,width:al.width()-f});n();E();R();w()}else{D.addClass("jspScrollable");aL=ay.maintainPosition&&(I||aa);if(aL){aN=aC();aM=aA()}aF();z();F();if(aL){N(aK?(T-aj):aN,false);M(aO?(Z-v):aM,false)}J();ag();an();if(ay.enableKeyboardNavigation){S()}if(ay.clickOnTrack){p()}C();if(ay.hijackInternalLinks){m()}}if(ay.autoReinitialise&&!av){av=setInterval(function(){ar(ay)},ay.autoReinitialiseDelay)}else{if(!ay.autoReinitialise&&av){clearInterval(av)}}aI&&D.scrollTop(0)&&M(aI,false);aP&&D.scrollLeft(0)&&N(aP,false);D.trigger("jsp-initialised",[aE||az])}function aF(){if(az){al.append(b('<div class="jspVerticalBar" />').append(b('<div class="jspCap jspCapTop" />'),b('<div class="jspTrack" />').append(b('<div class="jspDrag" />').append(b('<div class="jspDragTop" />'),b('<div class="jspDragBottom" />'))),b('<div class="jspCap jspCapBottom" />')));U=al.find(">.jspVerticalBar");ap=U.find(">.jspTrack");au=ap.find(">.jspDrag");if(ay.showArrows){aq=b('<a class="jspArrow jspArrowUp" />').bind("mousedown.jsp",aD(0,-1)).bind("click.jsp",aB);af=b('<a class="jspArrow jspArrowDown" />').bind("mousedown.jsp",aD(0,1)).bind("click.jsp",aB);if(ay.arrowScrollOnHover){aq.bind("mouseover.jsp",aD(0,-1,aq));af.bind("mouseover.jsp",aD(0,1,af))}ak(ap,ay.verticalArrowPositions,aq,af)}t=v;al.find(">.jspVerticalBar>.jspCap:visible,>.jspVerticalBar>.jspArrow").each(function(){t-=b(this).outerHeight()});au.hover(function(){au.addClass("jspHover")},function(){au.removeClass("jspHover")}).bind("mousedown.jsp",function(aI){b("html").bind("dragstart.jsp selectstart.jsp",aB);au.addClass("jspActive");var s=aI.pageY-au.position().top;b("html").bind("mousemove.jsp",function(aJ){V(aJ.pageY-s,false)}).bind("mouseup.jsp mouseleave.jsp",aw);return false});o()}}function o(){ap.height(t+"px");I=0;X=ay.verticalGutter+ap.outerWidth();Y.width(aj-X-f);try{if(U.position().left===0){Y.css("margin-left",X+"px")}}catch(s){}}function z(){if(aE){al.append(b('<div class="jspHorizontalBar" />').append(b('<div class="jspCap jspCapLeft" />'),b('<div class="jspTrack" />').append(b('<div class="jspDrag" />').append(b('<div class="jspDragLeft" />'),b('<div class="jspDragRight" />'))),b('<div class="jspCap jspCapRight" />')));am=al.find(">.jspHorizontalBar");G=am.find(">.jspTrack");h=G.find(">.jspDrag");if(ay.showArrows){ax=b('<a class="jspArrow jspArrowLeft" />').bind("mousedown.jsp",aD(-1,0)).bind("click.jsp",aB);x=b('<a class="jspArrow jspArrowRight" />').bind("mousedown.jsp",aD(1,0)).bind("click.jsp",aB);
if(ay.arrowScrollOnHover){ax.bind("mouseover.jsp",aD(-1,0,ax));x.bind("mouseover.jsp",aD(1,0,x))}ak(G,ay.horizontalArrowPositions,ax,x)}h.hover(function(){h.addClass("jspHover")},function(){h.removeClass("jspHover")}).bind("mousedown.jsp",function(aI){b("html").bind("dragstart.jsp selectstart.jsp",aB);h.addClass("jspActive");var s=aI.pageX-h.position().left;b("html").bind("mousemove.jsp",function(aJ){W(aJ.pageX-s,false)}).bind("mouseup.jsp mouseleave.jsp",aw);return false});l=al.innerWidth();ah()}}function ah(){al.find(">.jspHorizontalBar>.jspCap:visible,>.jspHorizontalBar>.jspArrow").each(function(){l-=b(this).outerWidth()});G.width(l+"px");aa=0}function F(){if(aE&&az){var aI=G.outerHeight(),s=ap.outerWidth();t-=aI;b(am).find(">.jspCap:visible,>.jspArrow").each(function(){l+=b(this).outerWidth()});l-=s;v-=s;aj-=aI;G.parent().append(b('<div class="jspCorner" />').css("width",aI+"px"));o();ah()}if(aE){Y.width((al.outerWidth()-f)+"px")}Z=Y.outerHeight();q=Z/v;if(aE){at=Math.ceil(1/y*l);if(at>ay.horizontalDragMaxWidth){at=ay.horizontalDragMaxWidth}else{if(at<ay.horizontalDragMinWidth){at=ay.horizontalDragMinWidth}}h.width(at+"px");j=l-at;ae(aa)}if(az){A=Math.ceil(1/q*t);if(A>ay.verticalDragMaxHeight){A=ay.verticalDragMaxHeight}else{if(A<ay.verticalDragMinHeight){A=ay.verticalDragMinHeight}}au.height(A+"px");i=t-A;ad(I)}}function ak(aJ,aL,aI,s){var aN="before",aK="after",aM;if(aL=="os"){aL=/Mac/.test(navigator.platform)?"after":"split"}if(aL==aN){aK=aL}else{if(aL==aK){aN=aL;aM=aI;aI=s;s=aM}}aJ[aN](aI)[aK](s)}function aD(aI,s,aJ){return function(){H(aI,s,this,aJ);this.blur();return false}}function H(aL,aK,aO,aN){aO=b(aO).addClass("jspActive");var aM,aJ,aI=true,s=function(){if(aL!==0){Q.scrollByX(aL*ay.arrowButtonSpeed)}if(aK!==0){Q.scrollByY(aK*ay.arrowButtonSpeed)}aJ=setTimeout(s,aI?ay.initialDelay:ay.arrowRepeatFreq);aI=false};s();aM=aN?"mouseout.jsp":"mouseup.jsp";aN=aN||b("html");aN.bind(aM,function(){aO.removeClass("jspActive");aJ&&clearTimeout(aJ);aJ=null;aN.unbind(aM)})}function p(){w();if(az){ap.bind("mousedown.jsp",function(aN){if(aN.originalTarget===c||aN.originalTarget==aN.currentTarget){var aL=b(this),aO=aL.offset(),aM=aN.pageY-aO.top-I,aJ,aI=true,s=function(){var aR=aL.offset(),aS=aN.pageY-aR.top-A/2,aP=v*ay.scrollPagePercent,aQ=i*aP/(Z-v);if(aM<0){if(I-aQ>aS){Q.scrollByY(-aP)}else{V(aS)}}else{if(aM>0){if(I+aQ<aS){Q.scrollByY(aP)}else{V(aS)}}else{aK();return}}aJ=setTimeout(s,aI?ay.initialDelay:ay.trackClickRepeatFreq);aI=false},aK=function(){aJ&&clearTimeout(aJ);aJ=null;b(document).unbind("mouseup.jsp",aK)};s();b(document).bind("mouseup.jsp",aK);return false}})}if(aE){G.bind("mousedown.jsp",function(aN){if(aN.originalTarget===c||aN.originalTarget==aN.currentTarget){var aL=b(this),aO=aL.offset(),aM=aN.pageX-aO.left-aa,aJ,aI=true,s=function(){var aR=aL.offset(),aS=aN.pageX-aR.left-at/2,aP=aj*ay.scrollPagePercent,aQ=j*aP/(T-aj);if(aM<0){if(aa-aQ>aS){Q.scrollByX(-aP)}else{W(aS)}}else{if(aM>0){if(aa+aQ<aS){Q.scrollByX(aP)}else{W(aS)}}else{aK();return}}aJ=setTimeout(s,aI?ay.initialDelay:ay.trackClickRepeatFreq);aI=false},aK=function(){aJ&&clearTimeout(aJ);aJ=null;b(document).unbind("mouseup.jsp",aK)};s();b(document).bind("mouseup.jsp",aK);return false}})}}function w(){if(G){G.unbind("mousedown.jsp")}if(ap){ap.unbind("mousedown.jsp")}}function aw(){b("html").unbind("dragstart.jsp selectstart.jsp mousemove.jsp mouseup.jsp mouseleave.jsp");if(au){au.removeClass("jspActive")}if(h){h.removeClass("jspActive")}}function V(s,aI){if(!az){return}if(s<0){s=0}else{if(s>i){s=i}}if(aI===c){aI=ay.animateScroll}if(aI){Q.animate(au,"top",s,ad)}else{au.css("top",s);ad(s)}}function ad(aI){if(aI===c){aI=au.position().top}al.scrollTop(0);I=aI;var aL=I===0,aJ=I==i,aK=aI/i,s=-aK*(Z-v);if(ai!=aL||aG!=aJ){ai=aL;aG=aJ;D.trigger("jsp-arrow-change",[ai,aG,P,k])}u(aL,aJ);Y.css("top",s);D.trigger("jsp-scroll-y",[-s,aL,aJ]).trigger("scroll")}function W(aI,s){if(!aE){return}if(aI<0){aI=0}else{if(aI>j){aI=j}}if(s===c){s=ay.animateScroll}if(s){Q.animate(h,"left",aI,ae)
}else{h.css("left",aI);ae(aI)}}function ae(aI){if(aI===c){aI=h.position().left}al.scrollTop(0);aa=aI;var aL=aa===0,aK=aa==j,aJ=aI/j,s=-aJ*(T-aj);if(P!=aL||k!=aK){P=aL;k=aK;D.trigger("jsp-arrow-change",[ai,aG,P,k])}r(aL,aK);Y.css("left",s);D.trigger("jsp-scroll-x",[-s,aL,aK]).trigger("scroll")}function u(aI,s){if(ay.showArrows){aq[aI?"addClass":"removeClass"]("jspDisabled");af[s?"addClass":"removeClass"]("jspDisabled")}}function r(aI,s){if(ay.showArrows){ax[aI?"addClass":"removeClass"]("jspDisabled");x[s?"addClass":"removeClass"]("jspDisabled")}}function M(s,aI){var aJ=s/(Z-v);V(aJ*i,aI)}function N(aI,s){var aJ=aI/(T-aj);W(aJ*j,s)}function ab(aV,aQ,aJ){var aN,aK,aL,s=0,aU=0,aI,aP,aO,aS,aR,aT;try{aN=b(aV)}catch(aM){return}aK=aN.outerHeight();aL=aN.outerWidth();al.scrollTop(0);al.scrollLeft(0);while(!aN.is(".jspPane")){s+=aN.position().top;aU+=aN.position().left;aN=aN.offsetParent();if(/^body|html$/i.test(aN[0].nodeName)){return}}aI=aA();aO=aI+v;if(s<aI||aQ){aR=s-ay.verticalGutter}else{if(s+aK>aO){aR=s-v+aK+ay.verticalGutter}}if(aR){M(aR,aJ)}aP=aC();aS=aP+aj;if(aU<aP||aQ){aT=aU-ay.horizontalGutter}else{if(aU+aL>aS){aT=aU-aj+aL+ay.horizontalGutter}}if(aT){N(aT,aJ)}}function aC(){return -Y.position().left}function aA(){return -Y.position().top}function K(){var s=Z-v;return(s>20)&&(s-aA()<10)}function B(){var s=T-aj;return(s>20)&&(s-aC()<10)}function ag(){al.unbind(ac).bind(ac,function(aL,aM,aK,aI){var aJ=aa,s=I;Q.scrollBy(aK*ay.mouseWheelSpeed,-aI*ay.mouseWheelSpeed,false);return aJ==aa&&s==I})}function n(){al.unbind(ac)}function aB(){return false}function J(){Y.find(":input,a").unbind("focus.jsp").bind("focus.jsp",function(s){ab(s.target,false)})}function E(){Y.find(":input,a").unbind("focus.jsp")}function S(){var s,aI,aK=[];aE&&aK.push(am[0]);az&&aK.push(U[0]);Y.focus(function(){D.focus()});D.attr("tabindex",0).unbind("keydown.jsp keypress.jsp").bind("keydown.jsp",function(aN){if(aN.target!==this&&!(aK.length&&b(aN.target).closest(aK).length)){return}var aM=aa,aL=I;switch(aN.keyCode){case 40:case 38:case 34:case 32:case 33:case 39:case 37:s=aN.keyCode;aJ();break;case 35:M(Z-v);s=null;break;case 36:M(0);s=null;break}aI=aN.keyCode==s&&aM!=aa||aL!=I;return !aI}).bind("keypress.jsp",function(aL){if(aL.keyCode==s){aJ()}return !aI});if(ay.hideFocus){D.css("outline","none");if("hideFocus" in al[0]){D.attr("hideFocus",true)}}else{D.css("outline","");if("hideFocus" in al[0]){D.attr("hideFocus",false)}}function aJ(){var aM=aa,aL=I;switch(s){case 40:Q.scrollByY(ay.keyboardSpeed,false);break;case 38:Q.scrollByY(-ay.keyboardSpeed,false);break;case 34:case 32:Q.scrollByY(v*ay.scrollPagePercent,false);break;case 33:Q.scrollByY(-v*ay.scrollPagePercent,false);break;case 39:Q.scrollByX(ay.keyboardSpeed,false);break;case 37:Q.scrollByX(-ay.keyboardSpeed,false);break}aI=aM!=aa||aL!=I;return aI}}function R(){D.attr("tabindex","-1").removeAttr("tabindex").unbind("keydown.jsp keypress.jsp")}function C(){if(location.hash&&location.hash.length>1){var aK,aI,aJ=escape(location.hash.substr(1));try{aK=b("#"+aJ+', a[name="'+aJ+'"]')}catch(s){return}if(aK.length&&Y.find(aJ)){if(al.scrollTop()===0){aI=setInterval(function(){if(al.scrollTop()>0){ab(aK,true);b(document).scrollTop(al.position().top);clearInterval(aI)}},50)}else{ab(aK,true);b(document).scrollTop(al.position().top)}}}}function m(){if(b(document.body).data("jspHijack")){return}b(document.body).data("jspHijack",true);b(document.body).delegate("a[href*=#]","click",function(s){var aI=this.href.substr(0,this.href.indexOf("#")),aK=location.href,aO,aP,aJ,aM,aL,aN;if(location.href.indexOf("#")!==-1){aK=location.href.substr(0,location.href.indexOf("#"))}if(aI!==aK){return}aO=escape(this.href.substr(this.href.indexOf("#")+1));aP;try{aP=b("#"+aO+', a[name="'+aO+'"]')}catch(aQ){return}if(!aP.length){return}aJ=aP.closest(".jspScrollable");aM=aJ.data("jsp");aM.scrollToElement(aP,true);if(aJ[0].scrollIntoView){aL=b(a).scrollTop();aN=aP.offset().top;if(aN<aL||aN>aL+b(a).height()){aJ[0].scrollIntoView()}}s.preventDefault()
})}function an(){var aJ,aI,aL,aK,aM,s=false;al.unbind("touchstart.jsp touchmove.jsp touchend.jsp click.jsp-touchclick").bind("touchstart.jsp",function(aN){var aO=aN.originalEvent.touches[0];aJ=aC();aI=aA();aL=aO.pageX;aK=aO.pageY;aM=false;s=true}).bind("touchmove.jsp",function(aQ){if(!s){return}var aP=aQ.originalEvent.touches[0],aO=aa,aN=I;Q.scrollTo(aJ+aL-aP.pageX,aI+aK-aP.pageY);aM=aM||Math.abs(aL-aP.pageX)>5||Math.abs(aK-aP.pageY)>5;return aO==aa&&aN==I}).bind("touchend.jsp",function(aN){s=false}).bind("click.jsp-touchclick",function(aN){if(aM){aM=false;return false}})}function g(){var s=aA(),aI=aC();D.removeClass("jspScrollable").unbind(".jsp");D.replaceWith(ao.append(Y.children()));ao.scrollTop(s);ao.scrollLeft(aI);if(av){clearInterval(av)}}b.extend(Q,{reinitialise:function(aI){aI=b.extend({},ay,aI);ar(aI)},scrollToElement:function(aJ,aI,s){ab(aJ,aI,s)},scrollTo:function(aJ,s,aI){N(aJ,aI);M(s,aI)},scrollToX:function(aI,s){N(aI,s)},scrollToY:function(s,aI){M(s,aI)},scrollToPercentX:function(aI,s){N(aI*(T-aj),s)},scrollToPercentY:function(aI,s){M(aI*(Z-v),s)},scrollBy:function(aI,s,aJ){Q.scrollByX(aI,aJ);Q.scrollByY(s,aJ)},scrollByX:function(s,aJ){var aI=aC()+Math[s<0?"floor":"ceil"](s),aK=aI/(T-aj);W(aK*j,aJ)},scrollByY:function(s,aJ){var aI=aA()+Math[s<0?"floor":"ceil"](s),aK=aI/(Z-v);V(aK*i,aJ)},positionDragX:function(s,aI){W(s,aI)},positionDragY:function(aI,s){V(aI,s)},animate:function(aI,aL,s,aK){var aJ={};aJ[aL]=s;aI.animate(aJ,{duration:ay.animateDuration,easing:ay.animateEase,queue:false,step:aK})},getContentPositionX:function(){return aC()},getContentPositionY:function(){return aA()},getContentWidth:function(){return T},getContentHeight:function(){return Z},getPercentScrolledX:function(){return aC()/(T-aj)},getPercentScrolledY:function(){return aA()/(Z-v)},getIsScrollableH:function(){return aE},getIsScrollableV:function(){return az},getContentPane:function(){return Y},scrollToBottom:function(s){V(i,s)},hijackInternalLinks:b.noop,destroy:function(){g()}});ar(O)}e=b.extend({},b.fn.jScrollPane.defaults,e);b.each(["mouseWheelSpeed","arrowButtonSpeed","trackClickSpeed","keyboardSpeed"],function(){e[this]=e[this]||e.speed});return this.each(function(){var f=b(this),g=f.data("jsp");if(g){g.reinitialise(e)}else{b("script",f).filter('[type="text/javascript"],:not([type])').remove();g=new d(f,e);f.data("jsp",g)}})};b.fn.jScrollPane.defaults={showArrows:false,maintainPosition:true,stickToBottom:false,stickToRight:false,clickOnTrack:true,autoReinitialise:false,autoReinitialiseDelay:500,verticalDragMinHeight:0,verticalDragMaxHeight:99999,horizontalDragMinWidth:0,horizontalDragMaxWidth:99999,contentWidth:c,animateScroll:false,animateDuration:300,animateEase:"linear",hijackInternalLinks:false,verticalGutter:4,horizontalGutter:4,mouseWheelSpeed:0,arrowButtonSpeed:0,arrowRepeatFreq:50,arrowScrollOnHover:false,trackClickSpeed:0,trackClickRepeatFreq:70,verticalArrowPositions:"split",horizontalArrowPositions:"split",enableKeyboardNavigation:true,hideFocus:false,keyboardSpeed:0,initialDelay:300,speed:30,scrollPagePercent:0.8}})(jQuery,this);
;

(function($) {

var types = ['DOMMouseScroll', 'mousewheel'];

if ($.event.fixHooks) {
    for ( var i=types.length; i; ) {
        $.event.fixHooks[ types[--i] ] = $.event.mouseHooks;
    }
}

$.event.special.mousewheel = {
    setup: function() {
        if ( this.addEventListener ) {
            for ( var i=types.length; i; ) {
                this.addEventListener( types[--i], handler, false );
            }
        } else {
            this.onmousewheel = handler;
        }
    },
    
    teardown: function() {
        if ( this.removeEventListener ) {
            for ( var i=types.length; i; ) {
                this.removeEventListener( types[--i], handler, false );
            }
        } else {
            this.onmousewheel = null;
        }
    }
};

$.fn.extend({
    mousewheel: function(fn) {
        return fn ? this.bind("mousewheel", fn) : this.trigger("mousewheel");
    },
    
    unmousewheel: function(fn) {
        return this.unbind("mousewheel", fn);
    }
});


function handler(event) {
    var orgEvent = event || window.event, args = [].slice.call( arguments, 1 ), delta = 0, returnValue = true, deltaX = 0, deltaY = 0;
    event = $.event.fix(orgEvent);
    event.type = "mousewheel";
    
    // Old school scrollwheel delta
    if ( orgEvent.wheelDelta ) { delta = orgEvent.wheelDelta/120; }
    if ( orgEvent.detail     ) { delta = -orgEvent.detail/3; }
    
    // New school multidimensional scroll (touchpads) deltas
    deltaY = delta;
    
    // Gecko
    if ( orgEvent.axis !== undefined && orgEvent.axis === orgEvent.HORIZONTAL_AXIS ) {
        deltaY = 0;
        deltaX = -1*delta;
    }
    
    // Webkit
    if ( orgEvent.wheelDeltaY !== undefined ) { deltaY = orgEvent.wheelDeltaY/120; }
    if ( orgEvent.wheelDeltaX !== undefined ) { deltaX = -1*orgEvent.wheelDeltaX/120; }
    
    // Add event and delta to the front of the arguments
    args.unshift(event, delta, deltaX, deltaY);
    
    return ($.event.dispatch || $.event.handle).apply(this, args);
}

})(jQuery);
;

/* jQuery Tiny Pub/Sub - v0.7 - 10/27/2011
 * http://benalman.com/
 * Copyright (c) 2011 "Cowboy" Ben Alman; Licensed MIT, GPL */

(function ($) {

    var o = $({});

    $.subscribe = function () {
        o.on.apply(o, arguments);
    };

    $.unsubscribe = function () {
        o.off.apply(o, arguments);
    };

    $.publish = function () {
        o.trigger.apply(o, arguments);
    };

}(jQuery));
;
/* This notice must be untouched at all times.

wz_dragdrop.js    v. 4.62
The latest version is available at
http://www.walterzorn.com
or http://www.devira.com
or http://www.walterzorn.de

Copyright (c) 2002-2003 Walter Zorn. All rights reserved.
Created 26. 8. 2002 by Walter Zorn (Web: http://www.walterzorn.com )
Last modified: 10. 5. 2005

This DHTML & Drag&Drop Library adds Drag&Drop functionality
to the following types of html-elements:
- images, even if not positioned via layers,
  nor via stylesheets or any other kind of "hard-coding"
- relatively and absolutely positioned layers (DIV elements).
Moreover, it provides extended DHTML abilities.

LICENSE: LGPL

This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License (LGPL) as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

For more details on the GNU Lesser General Public License,
see http://www.gnu.org/copyleft/lesser.html
*/


// PATH TO THE TRANSPARENT 1*1 PX IMAGE (required by NS 4 as spacer)
var spacer = 'transparentpixel.gif';

    


//window.onerror = new Function('return true;');


// Optional commands passed to SET_DHTML() on the html-page (g: may be applied globally, i: individually)
var CLONE            = 'C10nE';   // i  img      clone image
var COPY             = 'C0pY';    // i  img      create copies
var DETACH_CHILDREN  = 'd37aCH';  // i  lyr      detach images
var HORIZONTAL       = 'H0r1Z';   // i  img,lyr  horizontally draggable only
var MAXHEIGHT        = 'm7x8I';   // i  img,lyr  maximum height limit, "
var MAXOFFBOTTOM     = 'm7xd0wN'; // i  img,lyr  downward offset limit
var MAXOFFLEFT       = 'm7x23Ft'; // i  img,lyr  leftward offset limit
var MAXOFFRIGHT      = 'm7x0Ff8'; // i  img,lyr  rightward offset limit
var MAXOFFTOP        = 'm7xu9';   // i  img,lyr  upward offset limit
var MAXWIDTH         = 'm7xW1';   // i  img,lyr  maximum width limit, use with resizable or scalable
var MINWIDTH         = 'm1nw1';   // i  img,lyr  minimum width limit, "
var MINHEIGHT        = 'm1n8I';   // i  img,lyr  minimum height limit, "
var NO_ALT           = 'no81T';   // gi img      disable alt and title attributes
var NO_DRAG          = 'N0d4Ag';  // i  img,lyr  disable draggability
var RESET_Z          = 'r35E7z';  // gi img,lyr  reset z-index when dropped
var RESIZABLE        = 'r5IZbl';  // gi img,lyr  resizable if <ctrl> or <shift> pressed
var SCALABLE         = 'SCLbl';   // gi img,lyr  scalable           "
var SCROLL           = 'sC8lL';   // gi img,lyr  enable auto scroll functionality
var TRANSPARENT      = 'dIApHAn'; // gi img,lyr  translucent while dragged
var VERTICAL         = 'V3Rt1C';  // i  img,lyr  vertically draggable only

var dd_cursors = new Array(
	'c:default',
	'c:crosshair',
	'c:e-resize',
	'c:hand',
	'c:help',
	'c:move',
	'c:n-resize',
	'c:ne-resize',
	'c:nw-resize',
	'c:s-resize',
	'c:se-resize',
	'c:sw-resize',
	'c:text',
	'c:w-resize',
	'c:wait'
);
var dd_i = dd_cursors.length; while(dd_i--)
	eval('var CURSOR_' + (dd_cursors[dd_i].substring(2).toUpperCase().replace('-', '_')) + ' = "' + dd_cursors[dd_i] + '";');



function WZDD()
{
	this.elements = new Array(0);
	this.obj = null;
	this.n = navigator.userAgent.toLowerCase();
	this.db = (document.compatMode && document.compatMode.toLowerCase() != "backcompat")?
		document.documentElement
		: (document.body || null);
	this.op = !!(window.opera && document.getElementById);
	this.op6 = !!(this.op && !(this.db && this.db.innerHTML));
	if (this.op && !this.op6) document.onmousedown = new Function('e',
		'if (((e = e || window.event).target || e.srcElement).tagName == "IMAGE") return false;');
	this.ie = !!(this.n.indexOf("msie") >= 0 && document.all && this.db && !this.op);
	this.iemac = !!(this.ie && this.n.indexOf("mac") >= 0);
	this.ie4 = !!(this.ie && !document.getElementById);
	this.n4 = !!(document.layers && typeof document.classes != "undefined");
	this.n6 = !!(typeof window.getComputedStyle != "undefined" && typeof document.createRange != "undefined");
	this.w3c = !!(!this.op && !this.ie && !this.n6 && document.getElementById);
	this.ce = !!(document.captureEvents && document.releaseEvents);
	this.px = (this.n4 || this.op6)? '' : 'px';
	this.tiv = this.w3c? 40 : 10;
}
var dd = new WZDD();

dd.Int = function(d_x, d_y)
{
	return isNaN(d_y = parseInt(d_x))? 0 : d_y;
};

dd.getWndW = function()
{
	return dd.Int(
		(dd.db && !dd.op && !dd.w3c && dd.db.clientWidth)? dd.db.clientWidth
		: (window.innerWidth || 0)
	);
};

dd.getWndH = function()
{
	return dd.Int(
		(dd.db && !dd.op && !dd.w3c && dd.db.clientHeight)? dd.db.clientHeight
		: (window.innerHeight || 0)
	);
};

dd.getScrollX = function()
{
	return dd.Int(window.pageXOffset || (dd.db? dd.db.scrollLeft : 0));
};

dd.getScrollY = function()
{
	return dd.Int(window.pageYOffset || (dd.db? dd.db.scrollTop : 0));
};

dd.getPageXY = function(d_o)
{
	if (dd.n4 && d_o)
	{
		dd.x = d_o.pageX || 0;
		dd.y = d_o.pageY || 0;
	}
	else
	{
		dd.x = dd.y = 0; //global helper vars
		while (d_o)
		{
			dd.x += dd.Int(d_o.offsetLeft);
			dd.y += dd.Int(d_o.offsetTop);
			d_o = d_o.offsetParent || null;
		}
	}
};

dd.getCssXY = function(d_o)
{
	if (d_o.div)
	{
		if (dd.n4)
		{
			d_o.cssx = d_o.div.x;
			d_o.cssy = d_o.div.y;
		}
		else if (dd.ie4)
		{
			d_o.cssx = d_o.css.pixelLeft;
			d_o.cssy = d_o.css.pixelTop;
		}
		else
		{
			d_o.css.left = d_o.css.top = 0 + dd.px;
			dd.getPageXY(d_o.div);
			d_o.cssx = d_o.x - dd.x;
			d_o.cssy = d_o.y - dd.y;
			d_o.css.left = d_o.cssx + dd.px;
			d_o.css.top = d_o.cssy + dd.px;
		}
	}
	else
	{
		d_o.cssx = 0;
		d_o.cssy = 0;
	}
};

dd.getImgW = function(d_o)
{
	return d_o? dd.Int(d_o.width) : 0;
};

dd.getImgH = function(d_o)
{
	return d_o? dd.Int(d_o.height) : 0;
};

dd.getDivW = function(d_o)
{
	return dd.Int(
		dd.n4? (d_o.div? d_o.div.clip.width : 0)
		: d_o.div? (d_o.div.offsetWidth || d_o.css.pixelWidth || d_o.css.width || 0)
		: 0
	);
};

dd.getDivH = function(d_o)
{
	return dd.Int(
		dd.n4? (d_o.div? d_o.div.clip.height : 0)
		: d_o.div? (d_o.div.offsetHeight || d_o.css.pixelHeight || d_o.css.height || 0)
		: 0
	);
};

dd.getWH = function(d_o)
{
	d_o.w = dd.getDivW(d_o);
	d_o.h = dd.getDivH(d_o);
	if (d_o.css)
	{
		d_o.css.width = d_o.w + dd.px;
		d_o.css.height = d_o.h + dd.px;
		d_o.dw = dd.getDivW(d_o)-d_o.w;
		d_o.dh = dd.getDivH(d_o)-d_o.h;
		d_o.css.width = (d_o.w-d_o.dw) + dd.px;
		d_o.css.height = (d_o.h-d_o.dh) + dd.px;
	}
	else d_o.dw = d_o.dh = 0;
};

dd.getCssProp = function(d_o, d_pn6, d_pstyle, d_pn4)
{
	if (d_o && dd.n6) return ''+window.getComputedStyle(d_o, null).getPropertyValue(d_pn6);
	if (d_o && d_o.currentStyle) return ''+eval('d_o.currentStyle.'+d_pstyle);
	if (d_o && d_o.style) return ''+eval('d_o.style.'+d_pstyle);
	if (d_o && dd.n4) return ''+eval('d_o.'+d_pn4);
	
	return '';
	
};

dd.getDiv = function(d_x, d_d)
{
	d_d = d_d || document;
	if (dd.n4)
	{
		if (d_d.layers[d_x]) return d_d.layers[d_x];
		for (var d_i = d_d.layers.length; d_i--;)
		{
			var d_y = dd.getDiv(d_x, d_d.layers[d_i].document);
			if (d_y) return d_y;
		}
	}
	if (dd.ie) return d_d.all[d_x] || null;
	if (d_d.getElementById) return d_d.getElementById(d_x) || null;
	return null;
};

dd.getImg = function(d_o, d_nm, d_xy, d_w)
{
	d_w = d_w || window;
	var d_img;
	if (document.images && (d_img = d_w.document.images[d_nm]) && d_img.name == d_nm)
	{
		if (d_xy)
		{
			if (dd.n4)
			{
				dd.getPageXY(d_w);
				d_o.defx = d_img.x + dd.x;
				d_o.defy = d_img.y + dd.y;
			}
			else
			{
				dd.getPageXY(d_img);
				d_o.defx = dd.x;
				d_o.defy = dd.y;
			}
		}
		return d_img;
	}
	if (dd.n4) for (var d_i = d_w.document.layers.length; d_i--;)
	{
		var d_y = dd.getImg(d_o, d_nm, d_xy, d_w.document.layers[d_i]);
		if (d_y) return d_y;
	}
	return null;
};

dd.getParent = function(d_o, d_p)
{
	if (dd.n4)
	{
		for (d_p, d_i = dd.elements.length; d_i--;)
		{
			if (!((d_p = dd.elements[d_i]).is_image) && d_p.div && (d_p.div.document.layers[d_o.name] || d_o.oimg && d_p.div.document.images[d_o.oimg.name]))
				d_p.addChild(d_o, d_p.detach, 1);
		}
	}
	else
	{
		d_p = d_o.is_image? dd.getImg(d_o, d_o.oimg.name) : (d_o.div || null);
		while (d_p && !!(d_p = d_p.offsetParent || d_p.parentNode || null))
		{
			if (d_p.ddObj)
			{
				d_p.ddObj.addChild(d_o, d_p.ddObj.detach, 1);
				break;
			}
		}
	}
};

dd.getCmd = function(d_o, d_cmd, d_cmdStr)
{
	var d_i = d_o.id.indexOf(d_cmd), d_j,
	d_y = (d_i >= 0)*1;
	if (d_y)
	{
		d_j = d_i+d_cmd.length;
		if (d_cmdStr) d_o.cmd += d_o.id.substring(d_i, d_j);
		d_o.id = d_o.id.substring(0, d_i) + d_o.id.substring(d_j);
	}
	return d_y;
};

dd.getCmdVal = function(d_o, d_cmd, d_cmdStr, int0)
{
	var d_i = d_o.id.indexOf(d_cmd), d_j,
	d_y = (d_o.id.indexOf(d_cmd) >= 0)? dd.Int(d_o.id.substring(d_o.id.indexOf(d_cmd)+d_cmd.length)) : int0? -1 : 0;
	if (!int0 && d_y || int0 && d_y >= 0)
	{
		d_j = d_i+d_cmd.length+(""+d_y).length;
		if (d_cmdStr) d_o.cmd += d_o.id.substring(d_i, d_j);
		d_o.id = d_o.id.substring(0, d_i) + d_o.id.substring(d_j);
	}
	return d_y;
};

dd.addElt = function(d_o, d_p)
{
	dd.elements[d_o.name] = dd.elements[d_o.index = dd.elements.length] = d_o;
	if (d_p) d_p.copies[d_o.name] = d_p.copies[d_p.copies.length] = d_o;
};

dd.mkWzDom = function()
{
	var d_o, d_i = dd.elements.length; while(d_i--) dd.getParent(dd.elements[d_i]);
	d_i = dd.elements.length; while(d_i--)
	{
		d_o = dd.elements[d_i];
		if (d_o.children && !d_o.parent)
		{
			var d_j = d_o.children.length; while(d_j--)
				d_o.children[d_j].setZ(d_o.z+d_o.children[d_j].z, 1);
		}
	}
};

dd.addProps = function(d_o)
{
	var d_i, d_c;
	if (d_o.is_image)
	{
		d_o.div = dd.getDiv(d_o.id);
		if (d_o.div && typeof d_o.div.style != "undefined") d_o.css = d_o.div.style;
		d_o.nimg = (dd.n4 && d_o.div)? d_o.div.document.images[0] : (document.images[d_o.id+'NImG'] || null);
		if (!d_o.noalt && !dd.noalt)
		{
			d_o.nimg.alt = d_o.oimg.alt || '';
			if (d_o.oimg.title) d_o.nimg.title = d_o.oimg.title;
		}
		d_o.bgColor = '';
	}
	else
	{
		d_o.bgColor = dd.getCssProp(d_o.div, 'background-color','backgroundColor','bgColor').toLowerCase();
		if (dd.n6 && d_o.div)
		{
			if ((d_c = d_o.bgColor).indexOf('rgb') >= 0)
			{
				d_c = d_c.substring(4, d_c.length-1).split(',');
				d_o.bgColor = '#';
				for (d_i = 0; d_i < d_c.length; d_i++) d_o.bgColor += parseInt(d_c[d_i]).toString(0x10);
			}
			else d_o.bgColor = d_c;
		}
	}
	if (dd.scalable) d_o.scalable = d_o.resizable^1;
	else if (dd.resizable) d_o.resizable = d_o.scalable^1;
	d_o.setZ(d_o.defz);
	d_o.cursor = d_o.cursor || dd.cursor || 'auto';
	d_o._setCrs(d_o.nodrag? 'auto' : d_o.cursor);
	d_o.diaphan = d_o.diaphan || dd.diaphan || 0;
	d_o.opacity = 1.0;
	//################# Commented out from original to fix style issue on numbers
	//if (dd.ie && !dd.iemac && d_o.div)
	//	d_o.div.style.filter = "Alpha(opacity=100)";
	//#################
	d_o.visible = true;
};

dd.initz = function()
{
	if (!(dd && (dd.n4 || dd.n6 || dd.ie || dd.op || dd.w3c))) return;
	if (dd.op6) WINSZ(2);
	else if (dd.n6 || dd.ie || dd.op && !dd.op6 || dd.w3c) dd.recalc(1);
	var d_drag = (document.onmousemove == DRAG),
	d_resize = (document.onmousemove == RESIZE);
	if (dd.loadFunc) dd.loadFunc();
	if (d_drag && document.onmousemove != DRAG) dd.setEvtHdl(1, DRAG);
	else if (d_resize && document.onmousemove != RESIZE) dd.setEvtHdl(1, RESIZE);
	if ((d_drag || d_resize) && document.onmouseup != DROP) dd.setEvtHdl(2, DROP);
	dd.setEvtHdl(0, PICK);
};

dd.finlz = function()
{
	if (dd.ie && dd.elements)
	{
		var d_i = dd.elements.length; while (d_i--)
			dd.elements[d_i].del();
	}
};

dd.setEvtHdl = function(d_typ, d_func)
{
	if (!d_typ)
	{
		if (document.onmousedown != d_func) dd.downFunc = document.onmousedown || null;
		document.onmousedown = d_func;
	}
	else if (d_typ&1)
	{
		if (document.onmousemove != d_func) dd.moveFunc = document.onmousemove || null;
		document.onmousemove = d_func;
	}
	else
	{
		if (document.onmouseup != d_func) dd.upFunc = document.onmouseup || null;
		document.onmouseup = d_func;
	}
	if (dd.ce)
	{
		var d_e = (!d_typ)? Event.MOUSEDOWN : (d_typ&1)? Event.MOUSEMOVE : Event.MOUSEUP;
		d_func? document.captureEvents(d_e) : document.releaseEvents(d_e);
	}
};

dd.evt = function(d_e)
{
	this.but = (this.e = d_e || window.event).which || this.e.button || 0;
	this.button = (this.e.type == 'mousedown')? this.but
		: (dd.e && dd.e.button)? dd.e.button
		: 0;
	this.src = this.e.target || this.e.srcElement || null;
	this.src.tag = ("" + (this.src.tagName || this.src)).toLowerCase();
	this.x = dd.Int(this.e.pageX || this.e.clientX || 0);
	this.y = dd.Int(this.e.pageY || this.e.clientY || 0);
	if (dd.ie)
	{
		this.x += dd.getScrollX() - (dd.ie && !dd.iemac)*1;
		this.y += dd.getScrollY() - (dd.ie && !dd.iemac)*1;
	}
	this.modifKey = this.e.modifiers? this.e.modifiers&Event.SHIFT_MASK : (this.e.shiftKey || false);
};

dd.recalc = function(d_x)
{
	var d_o, d_i = dd.elements.length; while(d_i--)
	{
		if (!(d_o = dd.elements[d_i]).is_image && d_o.div)
		{
			dd.getWH(d_o);
			if (d_o.div.pos_rel)
			{
				dd.getPageXY(d_o.div);
				var d_dx = dd.x - d_o.x, d_dy = dd.y - d_o.y;
				d_o.defx += d_dx;
				d_o.x += d_dx;
				d_o.defy += d_dy;
				d_o.y += d_dy;
				var d_p, d_j = d_o.children.length; while(d_j--)
				{
					if (!(d_p = d_o.children[d_j]).detached && (d_o != d_p.defparent || !(d_p.is_image && dd.getImg(d_p, d_p.oimg.name, 1))))
					{
						d_p.defx += d_dx;
						d_p.defy += d_dy;
						d_p.moveBy(d_dx, d_dy);
					}
				}
			}
		}
		else if (d_o.is_image && !dd.op6 && !dd.n4)
		{
			if (dd.n6 && d_x && !d_o.defw) d_o.resizeTo(d_o.defw = dd.getImgW(d_o.oimg), d_o.defh = dd.getImgH(d_o.oimg));
			var d_defx = d_o.defx, d_defy = d_o.defy;
			if (!(d_o.parent && d_o.parent != d_o.defparent) && (d_x || !d_o.detached || d_o.horizontal || d_o.vertical) && dd.getImg(d_o, d_o.oimg.name, 1))
				d_o.moveBy(d_o.defx-d_defx, d_o.defy-d_defy);
		}
	}
};



function WINSZ(d_x)
{
	if (d_x)
	{
		if (dd.n4 || dd.op6 && d_x&2)
		{
			dd.iW = innerWidth;
			dd.iH = innerHeight;
			if (dd.op6) setTimeout("WINSZ()", 0x1ff);
		}
		window.onresize = new Function('WINSZ();');
	}
	else if ((dd.n4 || dd.op6) && (innerWidth != dd.iW || innerHeight != dd.iH)) location.reload();
	else if (dd.op6) setTimeout("WINSZ()", 0x1ff);
	else if (!dd.n4) setTimeout('dd.recalc()', 0xa);
}
WINSZ(1);



function DDObj(d_o, d_i)
{
	this.id = d_o;
	this.cmd = '';
	this.cpy_n = dd.getCmdVal(this, COPY);
	this.maxoffb = dd.getCmdVal(this, MAXOFFBOTTOM, 0, 1);
	this.maxoffl = dd.getCmdVal(this, MAXOFFLEFT, 0, 1);
	this.maxoffr = dd.getCmdVal(this, MAXOFFRIGHT, 0, 1);
	this.maxofft = dd.getCmdVal(this, MAXOFFTOP, 0, 1);
	var d_j = dd_cursors.length; while(d_j--)
		if (dd.getCmd(this, dd_cursors[d_j], 1)) this.cursor = dd_cursors[d_j].substring(2);
	this.clone = dd.getCmd(this, CLONE, 1);
	this.detach = dd.getCmd(this, DETACH_CHILDREN);
	this.scalable = dd.getCmd(this, SCALABLE, 1);
	this.horizontal = dd.getCmd(this, HORIZONTAL);
	this.noalt = dd.getCmd(this, NO_ALT, 1);
	this.nodrag = dd.getCmd(this, NO_DRAG);
	this.scroll = dd.getCmd(this, SCROLL, 1);
	this.resizable = dd.getCmd(this, RESIZABLE, 1);
	this.re_z = dd.getCmd(this, RESET_Z, 1);
	this.diaphan = dd.getCmd(this, TRANSPARENT, 1);
	this.vertical = dd.getCmd(this, VERTICAL);
	this.maxw = dd.getCmdVal(this, MAXWIDTH, 1, 1);
	this.minw = Math.abs(dd.getCmdVal(this, MINWIDTH, 1, 1));
	this.maxh = dd.getCmdVal(this, MAXHEIGHT, 1, 1);
	this.minh = Math.abs(dd.getCmdVal(this, MINHEIGHT, 1, 1));

	this.name = this.id + (d_i || '');
	this.oimg = dd.getImg(this, this.id, 1);
	this.is_image = !!this.oimg;
	this.copies = new Array();
	this.children = new Array();
	this.parent = this.original = null;
	if (this.oimg)
	{
		this.id = this.name + 'div';
		this.w = dd.getImgW(this.oimg);
		this.h = dd.getImgH(this.oimg);
		this.dw = this.dh = 0;
		this.defz = dd.Int(dd.getCssProp(this.oimg, 'z-index','zIndex','zIndex')) || 1;
		this.defsrc = this.src = this.oimg.src;
		this.htm = '<img name="' + this.id + 'NImG"'+
			' src="' + this.oimg.src + '" '+
			'width="' + this.w + '" height="' + this.h + '">';
		this.t_htm = '<div id="' + this.id +
			'" style="position:absolute;'+
			'left:' + (this.cssx = this.x = this.defx) + 'px;'+
			'top:' + (this.cssy = this.y = this.defy) + 'px;'+
			'width:' + this.w + 'px;'+
			'height:' + this.h + 'px;">'+
			this.htm + '<\/div>';
	}
	else
	{
		if (!!(this.div = dd.getDiv(this.id)) && typeof this.div.style != "undefined") this.css = this.div.style;
		dd.getWH(this);
		if (this.div)
		{
			this.div.ddObj = this;
			this.div.pos_rel = ("" + (this.div.parentNode? this.div.parentNode.tagName : this.div.parentElement? this.div.parentElement.tagName : '').toLowerCase().indexOf('body') < 0);
		}
		dd.getPageXY(this.div);
		this.defx = this.x = dd.x;
		this.defy = this.y = dd.y;
		dd.getCssXY(this);
		this.defz = dd.Int(dd.getCssProp(this.div, 'z-index','zIndex','zIndex'));
	}
	this.defw = this.w || 0;
	this.defh = this.h || 0;
}

DDObj.prototype.moveBy = function(d_x, d_y, d_kds, d_o)
{
	if (!this.div) return;
	this.x += (d_x = dd.Int(d_x));
	this.y += (d_y = dd.Int(d_y));
	if (!d_kds || this.is_image || this.parent != this.defparent)
	{
		(d_o = this.css || this.div).left = (this.cssx += d_x) + dd.px;
		d_o.top = (this.cssy += d_y) + dd.px;
	}
	var d_i = this.children.length; while (d_i--)
	{
		if (!(d_o = this.children[d_i]).detached) d_o.moveBy(d_x, d_y, 1);
		d_o.defx += d_x;
		d_o.defy += d_y;
	}
};

DDObj.prototype.moveTo = function(d_x, d_y)
{
	this.moveBy(dd.Int(d_x)-this.x, dd.Int(d_y)-this.y);
};

DDObj.prototype.hide = function(d_m, d_o, d_p)
{
	if (this.div && this.visible)
	{
		d_p = this.css || this.div;
		if (d_m && !dd.n4)
		{
			this.display = dd.getCssProp(this.div, "display", "display", "display");
			if (this.oimg)
			{
				this.oimg.display = dd.getCssProp(this.oimg, "display", "display", "display");
				this.oimg.style.display = "none";
			}
			d_p.display = "none";
			dd.recalc();
		}
		else d_p.visibility = "hidden";
	}
	this.visible = false;
	var d_i = this.children.length; while (d_i--)
		if (!(d_o = this.children[d_i]).detached) d_o.hide(d_m);
};

DDObj.prototype.show = function(d_o, d_p)
{
	if (this.div)
	{
		d_p = this.css || this.div;
		if (d_p.display && d_p.display == "none")
		{
			d_p.display = this.display || "block";
			if (this.oimg) this.oimg.style.display = this.oimg.display || "inline";
			dd.recalc();
		}
		else d_p.visibility = "visible";
	}
	this.visible = true;
	var d_i = this.children.length; while (d_i--)
		if (!(d_o = this.children[d_i]).detached) d_o.show();
};

DDObj.prototype.resizeTo = function(d_w, d_h, d_o)
{
	if (!this.div) return;
	d_w = (this.w = dd.Int(d_w))-this.dw;
	d_h = (this.h = dd.Int(d_h))-this.dh;
	if (dd.n4)
	{
		this.div.resizeTo(d_w, d_h);
		if (this.is_image)
		{
			this.write('<img src="' + this.src + '" width="' + d_w + '" height="' + d_h + '">');
			(this.nimg = this.div.document.images[0]).src = this.src;
		}
	}
	else if (typeof this.css.pixelWidth != "undefined")
	{
		this.css.pixelWidth = d_w;
		this.css.pixelHeight = d_h;
		if (this.is_image)
		{
			(d_o = this.nimg.style).pixelWidth = d_w;
			d_o.pixelHeight = d_h;
		}
	}
	else
	{
		this.css.width = d_w + dd.px;
		this.css.height = d_h + dd.px;
		if (this.is_image)
		{
			(d_o = this.nimg).width = d_w;
			d_o.height = d_h;
			if (!d_o.complete) d_o.src = this.src;
		}
	}
};

DDObj.prototype.resizeBy = function(d_dw, d_dh)
{
	this.resizeTo(this.w+dd.Int(d_dw), this.h+dd.Int(d_dh));
};

DDObj.prototype.swapImage = function(d_x, d_cp)
{
	if (!this.nimg) return;
	this.nimg.src = d_x;
	this.src = this.nimg.src;
	if (d_cp)
	{
		var d_i = this.copies.length; while (d_i--)
			this.copies[d_i].src = this.copies[d_i].nimg.src = this.nimg.src;
	}
};

DDObj.prototype.setBgColor = function(d_x)
{
	if (dd.n4 && this.div) this.div.bgColor = d_x;
	else if (this.css) this.css.background = d_x;
	this.bgColor = d_x;
};

DDObj.prototype.write = function(d_x, d_o)
{
	this.text = d_x;
	if (!this.div) return;
	if (dd.n4)
	{
		(d_o = this.div.document).open();
		d_o.write(d_x);
		d_o.close();
		dd.getWH(this);
	}
	else if (!dd.op6)
	{
		this.css.height = 'auto';
		this.div.innerHTML = d_x;
		if (!dd.ie4) dd.recalc();
		if (dd.ie4 || dd.n6) setTimeout('dd.recalc();', 0); // n6.0: recalc twice
	}
};

DDObj.prototype.copy = function(d_n, d_p)
{
	if (!this.oimg) return;
	d_n = d_n || 1;
	while (d_n--)
	{
		var d_l = this.copies.length,
		d_o = new DDObj(this.name+this.cmd, d_l+1);
		if (dd.n4)
		{
			d_o.id = (d_p = new Layer(d_o.w)).name;
			d_p.clip.height = d_o.h;
			d_p.visibility = 'show';
			(d_p = d_p.document).open();
			d_p.write(d_o.htm);
			d_p.close();
		}
		else if (dd.db.insertAdjacentHTML) dd.db.insertAdjacentHTML("AfterBegin", d_o.t_htm);
		else if (document.createElement && dd.db && dd.db.appendChild)
		{
			dd.db.appendChild(d_p = document.createElement('div'));
			d_p.innerHTML = d_o.htm;
			d_p.id = d_o.id;
			d_p.style.position = 'absolute';
			d_p.style.width = d_o.w + 'px';
			d_p.style.height = d_o.h + 'px';
		}
		else if (dd.db && dd.db.innerHTML) dd.db.innerHTML += d_o.t_htm;
		d_o.defz = this.defz+1+d_l;
		dd.addProps(d_o);
		d_o.original = this;
		dd.addElt(d_o, this);
		if (this.parent)
		{
			this.parent.addChild(d_o, this.detached);
			d_o.defparent = this.defparent;
		}
		d_o.moveTo(d_o.defx = this.defx, d_o.defy = this.defy);
		if (dd.n4) d_o.defsrc = d_o.src = this.defsrc;
		d_o.swapImage(this.src);
	}
};

DDObj.prototype.addChild = function(d_kd, detach, defp)
{
	if (typeof d_kd != "object") d_kd = dd.elements[d_kd];
	if (d_kd.parent && d_kd.parent == this || d_kd == this || !d_kd.is_image && d_kd.defparent && !defp) return;

	this.children[this.children.length] = this.children[d_kd.name] = d_kd;
	d_kd.detached = detach || 0;
	if (defp) d_kd.defparent = this;
	else if (this == d_kd.defparent && d_kd.is_image) dd.getImg(this, d_kd.oimg.name, 1);
	if (!d_kd.defparent || this != d_kd.defparent)
	{
		d_kd.defx = d_kd.x;
		d_kd.defy = d_kd.y;
	}
	if (!detach)
	{
		d_kd.defz = d_kd.defz+this.defz-(d_kd.parent? d_kd.parent.defz : 0)+(!d_kd.is_image*1);
		d_kd.setZ(d_kd.z+this.z-(d_kd.parent? d_kd.parent.z : 0)+(!d_kd.is_image*1), 1);
	}
	if (d_kd.parent) d_kd.parent._removeChild(d_kd, 1);
	d_kd.parent = this;
};

DDObj.prototype._removeChild = function(d_kd, d_newp)
{
	if (typeof d_kd != "object") d_kd = this.children[d_kd];
	var d_oc = this.children, d_nc = new Array();
	for (var d_i = 0; d_i < d_oc.length; d_i++)
		if (d_oc[d_i] != d_kd) d_nc[d_nc.length] = d_oc[d_i];
	this.children = d_nc;
	d_kd.parent = null;
	if (!d_newp)
	{
		d_kd.detached = d_kd.defp = 0;
		if (d_kd.is_image) dd.getImg(d_kd, d_kd.oimg.name, 1);
	}
};

DDObj.prototype.attachChild = function(d_kd)
{
	(d_kd = (typeof d_kd != "object")? this.children[d_kd]: d_kd).detached = 0;
	d_kd.setZ(d_kd.defz + this.z-this.defz, 1);
};

DDObj.prototype.detachChild = function(d_kd)
{
	(d_kd = (typeof d_kd != "object")? this.children[d_kd]: d_kd).detached = 1;
};

DDObj.prototype.setZ = function(d_x, d_kds, d_o)
{
	if (d_kds)
	{
		var d_dz = d_x-this.z,
		d_i = this.children.length; while (d_i--)
			if (!(d_o = this.children[d_i]).detached) d_o.setZ(d_o.z+d_dz, 1);
	}
	dd.z = Math.max(dd.z, this.z = this.div? ((this.css || this.div).zIndex = d_x) : 0);
};

DDObj.prototype.maximizeZ = function()
{
	this.setZ(dd.z+1, 1);
};

DDObj.prototype._resetZ = function(d_o)
{
	if (this.re_z || dd.re_z)
	{
		this.setZ(this.defz);
		var d_i = this.children.length; while (d_i--)
			if (!(d_o = this.children[d_i]).detached) d_o.setZ(d_o.defz);
	}
};

DDObj.prototype.setOpacity = function(d_x)
{
	this.opacity = d_x;
	this._setOpaRel(1.0, 1);
};

DDObj.prototype._setOpaRel = function(d_x, d_kd, d_y, d_o)
{
	if (this.diaphan || d_kd)
	{
		d_y = this.opacity*d_x;
		if (dd.n6) this.css.MozOpacity = d_y;
		else if (dd.ie && !dd.iemac && typeof this.div.filters != "undefined")
			this.div.filters[0].opacity = parseInt(100*d_y);
		else if (this.css) this.css.opacity = d_y;
		var d_i = this.children.length; while (d_i--)
			if (!(d_o = this.children[d_i]).detached) d_o._setOpaRel(d_x, 1);
	}
};

DDObj.prototype.setCursor = function(d_x)
{
	this._setCrs(this.cursor = (d_x.indexOf('c:')+1)? d_x.substring(2) : d_x);
};

DDObj.prototype._setCrs = function(d_x)
{
	if (this.css) this.css.cursor = ((!dd.ie || dd.iemac) && d_x == 'hand')? 'pointer' : d_x;
};

DDObj.prototype.setDraggable = function(d_x)
{
	this.nodrag = !d_x*1;
	this._setCrs(d_x? this.cursor : 'auto');
};

DDObj.prototype.setResizable = function(d_x)
{
	this.resizable = d_x*1;
	if (d_x) this.scalable = 0;
};

DDObj.prototype.setScalable = function(d_x)
{
	this.scalable = d_x*1;
	if (d_x) this.resizable = 0;
};

DDObj.prototype.del = function(d_os, d_o)
{
	var d_i;
	if (this.parent && this.parent._removeChild) this.parent._removeChild(this);
	if (this.original)
	{
		this.hide();
		if (this.original.copies)
		{
			d_os = new Array();
			for (d_i = 0; d_i < this.original.copies.length; d_i++)
				if ((d_o = this.original.copies[d_i]) != this) d_os[d_o.name] = d_os[d_os.length] = d_o;
			this.original.copies = d_os;
		}
	}
	else if (this.is_image)
	{
		this.hide();
		if (this.oimg)
		{
		  if (dd.n4) this.oimg.src = this.defsrc;
		  else this.oimg.style.visibility = 'visible';
		}
	}
	else if (this.moveTo)
	{
		if (this.css) this.css.cursor = 'default';
		this.moveTo(this.defx, this.defy);
		this.resizeTo(this.defw, this.defh);
	}
	d_os = new Array();
	for (d_i = 0; d_i < dd.elements.length; d_i++)
	{
		if ((d_o = dd.elements[d_i]) != this) d_os[d_o.name] = d_os[d_o.index = d_os.length] = d_o;
		else d_o._free();
	}
	dd.elements = d_os;
	if (!dd.op6 && !dd.n4) dd.recalc();
};

DDObj.prototype._free = function()
{
	for (var d_i in this)
		this[d_i] = null;
	dd.elements[this.name] = null;
};



dd.n4RectVis = function(vis)
{
	for (var d_i = 4; d_i--;)
	{
		dd.rectI[d_i].visibility = dd.rectA[d_i].visibility = vis? 'show' : 'hide';
		if (vis) dd.rectI[d_i].zIndex = dd.rectA[d_i].zIndex = dd.z+2;
	}
};

dd.n4RectPos = function(d_o, d_x, d_y, d_w, d_h)
{
	d_o.x = d_x;
	d_o.y = d_y;
	d_o.clip.width = d_w;
	d_o.clip.height = d_h;
};

// NN4: draw img resize rectangle
dd.n4Rect = function(d_w, d_h)
{
	var d_i;
	if (!dd.rectI)
	{
		dd.rectI = new Array();
		dd.rectA = new Array();
	}
	if (!dd.rectI[0])
	{
		for (d_i = 4; d_i--;)
		{
			(dd.rectI[d_i] = new Layer(1)).bgColor = '#000000';
			(dd.rectA[d_i] = new Layer(1)).bgColor = '#ffffff';
		}
	}
	if (!dd.rectI[0].visibility || dd.rectI[0].visibility == 'hide') dd.n4RectVis(1);
	dd.obj.w = d_w;
	dd.obj.h = d_h;
	for (d_i = 4; d_i--;)
	{
		dd.n4RectPos(dd.rectI[d_i], dd.obj.x + (!(d_i-1)? (dd.obj.w-1) : 0), dd.obj.y + (!(d_i-2)? (dd.obj.h-1) : 0), d_i&1 || dd.obj.w, !(d_i&1) || dd.obj.h);
		dd.n4RectPos(dd.rectA[d_i], !(d_i-1)? dd.rectI[1].x+1 : (dd.obj.x-1), !(d_i-2)? dd.rectI[2].y+1 : (dd.obj.y-1), d_i&1 || dd.obj.w+2, !(d_i&1) || dd.obj.h+2);
	}
};

dd.reszTo = function(d_w, d_h)
{
	if (dd.n4 && dd.obj.is_image) dd.n4Rect(d_w, d_h);
	else dd.obj.resizeTo(d_w, d_h);
};

dd.embedVis = function(d_vis)
{
	var d_o = new Array('iframe', 'applet', 'embed', 'object');
	var d_i = d_o.length; while (d_i--)
	{
		var d_p = dd.ie? document.all.tags(d_o[d_i]) : document.getElementsByTagName? document.getElementsByTagName(d_o[d_i]) : null;
		if (d_p)
		{
			var d_j = d_p.length; while (d_j--)
			{
				var d_q = d_p[d_j];
				while (d_q.offsetParent || d_q.parentNode)
				{
					if ((d_q = d_q.parentNode || d_q.offsetParent || null) == dd.obj.div)
					{
						d_p[d_j].style.visibility = d_vis;
						break;
					}
				}
			}
		}
	}
};

dd.maxOffX = function(d_x, d_y)
{
	return (
		(dd.obj.maxoffl+1 && (d_y = dd.obj.defx-dd.obj.maxoffl)-d_x > 0
		|| dd.obj.maxoffr+1 && (d_y = dd.obj.defx+dd.obj.maxoffr)-d_x < 0)? d_y
		: d_x
	);
};

dd.maxOffY = function(d_x, d_y)
{
	return (
		(dd.obj.maxofft+1 && (d_y = dd.obj.defy-dd.obj.maxofft)-d_x > 0
		|| dd.obj.maxoffb+1 && (d_y = dd.obj.defy+dd.obj.maxoffb)-d_x < 0)? d_y
		: d_x
	);
};

dd.inWndW = function(d_x, d_y)
{
	var d_wx = dd.getScrollX(),
	d_ww = dd.getWndW();
	return (
		((d_y = d_wx+2)-d_x > 0) || ((d_y = d_wx+d_ww+dd.obj.w-2)-d_x < 0)? d_y
		: d_x
	);
};

dd.inWndH = function(d_x, d_y)
{
	var d_wy = dd.getScrollY(),
	d_wh = dd.getWndH();
	return (
		((d_y = d_wy+2)-d_x > 0) || ((d_y = d_wy+d_wh+dd.obj.h-2)-d_x < 0)? d_y
		: d_x
	);
};

// These two funcs limit the size of element when mouseresized.
// Implemented 22.5.2003 by Gregor L�tolf <gregor@milou.ch>, modified by Walter Zorn
dd.limW = function(d_w)
{
	return (
		(dd.obj.minw-d_w > 0)? dd.obj.minw
		: (dd.obj.maxw > 0 && dd.obj.maxw-d_w < 0)? dd.obj.maxw
		: d_w
	);
};

dd.limH = function(d_h)
{
	return (
		(dd.obj.minh-d_h > 0)? dd.obj.minh
		: (dd.obj.maxh > 0 && dd.obj.maxh-d_h < 0)? dd.obj.maxh
		: d_h
	);
};


// Optional autoscroll-page functionality. Courtesy Cedric Savarese.
// Implemented by Walter Zorn
function DDScroll()
{
	if (!dd.obj || !dd.obj.scroll && !dd.scroll || dd.op || dd.ie4 || dd.whratio)
	{
		dd.scrx = dd.scry = 0;
		return;
	}
	var d_bnd = 0x1c,
	d_wx = dd.getScrollX(), d_wy = dd.getScrollY();
	if (dd.msmoved)
	{
		var d_ww = dd.getWndW(), d_wh = dd.getWndH(), d_y;
		dd.scrx = ((d_y = dd.e.x-d_ww-d_wx+d_bnd) > 0)? (d_y>>=2)*d_y
			: ((d_y = d_wx+d_bnd-dd.e.x) > 0)? -(d_y>>=2)*d_y
			: 0;
		dd.scry = ((d_y = dd.e.y-d_wh-d_wy+d_bnd) > 0)? (d_y>>=2)*d_y
			: ((d_y = d_wy+d_bnd-dd.e.y) > 0)? -(d_y>>=2)*d_y
			: 0;
	}
	if (dd.scrx || dd.scry)
	{
		window.scrollTo(
			d_wx + (dd.scrx = dd.obj.is_resized? dd.limW(dd.obj.w+dd.scrx)-dd.obj.w : dd.obj.vertical? 0 : (dd.maxOffX(dd.obj.x+dd.scrx)-dd.obj.x)),
			d_wy + (dd.scry = dd.obj.is_resized? dd.limH(dd.obj.h+dd.scry)-dd.obj.h : dd.obj.horizontal? 0 : (dd.maxOffY(dd.obj.y+dd.scry)-dd.obj.y))
		);
		dd.obj.is_dragged? dd.obj.moveTo(dd.obj.x+dd.getScrollX()-d_wx, dd.obj.y+dd.getScrollY()-d_wy)
			: dd.reszTo(dd.obj.w+dd.getScrollX()-d_wx, dd.obj.h+dd.getScrollY()-d_wy);
	}
	dd.msmoved = 0;
	window.setTimeout('DDScroll()', 0x33);
}



function PICK(d_ev)
{
	dd.e = new dd.evt(d_ev);
	if (dd.e.x >= dd.getWndW()+dd.getScrollX() || dd.e.y >= dd.getWndH()+dd.getScrollY()) return true; // on scrollbar
	var d_o, d_cmp = -1, d_i = dd.elements.length; while (d_i--)
	{
		d_o = dd.elements[d_i];
		if (dd.n4 && dd.e.but > 1 && dd.e.src == d_o.oimg && !d_o.clone) return false;
		if (d_o.visible && dd.e.but <= 1 && dd.e.x >= d_o.x && dd.e.x <= d_o.x+d_o.w && dd.e.y >= d_o.y && dd.e.y <= d_o.y+d_o.h)
		{
			if (d_o.z > d_cmp && dd.e.src.tag.indexOf('input') < 0 && dd.e.src.tag.indexOf('textarea') < 0 && dd.e.src.tag.indexOf('select') < 0 && dd.e.src.tag.indexOf('option') < 0)
			{
				d_cmp = d_o.z;
				dd.obj = d_o;
			}
		}
	}
	if (dd.obj)
	{
		if (dd.obj.nodrag) dd.obj = null;
		else
		{
			dd.e.e.cancelBubble = true;
			var d_rsz = dd.e.modifKey && (dd.obj.resizable || dd.obj.scalable);
			if (dd.op && !dd.op6)
			{
				(d_o = document.getElementById('OpBlUr')).style.pixelLeft = dd.e.x;
				d_o.style.pixelTop = dd.e.y;
				(d_o = d_o.children[0].children[0]).focus();
				d_o.blur();
			}
			else if (dd.ie && !dd.ie4)
			{
				if (document.selection && document.selection.empty) document.selection.empty();
				dd.db.onselectstart = function()
				{
					event.returnValue = false;
				};
			}
			if (d_rsz)
			{
				dd.obj._setCrs('se-resize');
				dd.obj.is_resized = 1;
				dd.whratio = dd.obj.scalable? dd.obj.defw/dd.obj.defh : 0;
				if (dd.ie)
				{
					if (dd.ie4)
					{
						window.dd_x = dd.getScrollX();
						window.dd_y = dd.getScrollY();
					}
					setTimeout(
						'if (dd.obj && document.selection && document.selection.empty)'+
						'{'+
							'document.selection.empty();'+
							'if (dd.ie4) window.scrollTo(window.dd_x, window.dd_y);'+
						'}'
					,0);
				}
				dd.setEvtHdl(1, RESIZE);
				dd.reszTo(dd.obj.w, dd.obj.h);
			}
			else
			{
				dd.obj.is_dragged = 1;
				dd.setEvtHdl(1, DRAG);
			}
			dd.setEvtHdl(2, DROP);
			dd.embedVis('hidden');
			dd.obj._setOpaRel(0.7);
			dd.obj.maximizeZ();
			dd.ofx = dd.obj.x+dd.obj.w-dd.e.x;
			dd.ofy = dd.obj.y+dd.obj.h-dd.e.y;
			if (window.my_PickFunc) my_PickFunc();
			DDScroll();
			return !(
				dd.obj.is_resized
				|| dd.n4 && dd.obj.is_image
				|| dd.n6 || dd.w3c
			);
		}
	}
	if (dd.downFunc) return dd.downFunc(d_ev);
	return true;
}

function DRAG(d_ev)
{
	if (!dd.obj || !dd.obj.visible) return true;
	if (dd.ie4 || dd.w3c || dd.n6 || dd.obj.children.length > 0xf)
	{
		if (dd.wait) return false;
		dd.wait = 1;
		setTimeout('dd.wait = 0;', dd.tiv);
	}
	dd.e = new dd.evt(d_ev);
	if (dd.ie && !dd.e.but)
	{
		DROP(d_ev);
		return true;
	}
	dd.msmoved = 1;
	dd.obj.moveTo(
		dd.obj.vertical? dd.obj.x : dd.maxOffX(dd.inWndW(dd.ofx+dd.e.x)-dd.obj.w),
		dd.obj.horizontal? dd.obj.y : dd.maxOffY(dd.inWndH(dd.ofy+dd.e.y)-dd.obj.h)
	);

	if (window.my_DragFunc) my_DragFunc();
	return false;
}

function RESIZE(d_ev)
{
	if (!dd.obj || !dd.obj.visible) return true;
	if (dd.wait) return false;
	dd.wait = 1;
	setTimeout('dd.wait = 0;', dd.tiv);
	dd.e = new dd.evt(d_ev);
	if (dd.ie && !dd.e.but)
	{
		DROP(d_ev);
		return true;
	}
	dd.msmoved = 1;
	var d_w = dd.limW(dd.inWndW(dd.ofx+dd.e.x)-dd.obj.x), d_h;
	if (!dd.whratio) d_h = dd.limH(dd.inWndH(dd.ofy+dd.e.y)-dd.obj.y);
	else
	{
		d_h = dd.limH(dd.inWndH(Math.round(d_w/dd.whratio)+dd.obj.y)-dd.obj.y);
		d_w = Math.round(d_h*dd.whratio);
	}
	dd.reszTo(d_w, d_h);
	if (window.my_ResizeFunc) my_ResizeFunc();
	return false;
}

function DROP(d_ev)
{
	if (dd.obj)
	{

		var iXPos, iYPos;
		iXPos = dd.maxOffX(dd.inWndW(dd.ofx+dd.e.x)-dd.obj.w);
		iYPos = dd.maxOffY(dd.inWndH(dd.ofy+dd.e.y)-dd.obj.h);

		var snapto = 5;
		for (var l = 1; l <= snapto; l++)
		{
			if (iXPos % snapto != 0) {iXPos++;}
			if (iYPos % snapto != 0) {iYPos++;}
		}

		dd.obj.moveTo(
			dd.obj.vertical? dd.obj.x : iXPos,
			dd.obj.horizontal? dd.obj.y : iYPos
		);


		if (dd.obj.is_dragged)
		{
			if (!dd.obj.is_image) dd.getWH(dd.obj);
		}
		else if (dd.n4)
		{
			if (dd.obj.is_image)
			{
				dd.n4RectVis(0);
				dd.obj.resizeTo(dd.obj.w, dd.obj.h);
			}
		}
		if (!dd.n4 && !dd.op6 || !dd.obj.is_image) dd.recalc();
		dd.setEvtHdl(1, dd.moveFunc);
		dd.setEvtHdl(2, dd.upFunc);
		if (dd.db) dd.db.onselectstart = null;
		dd.obj._setOpaRel(1.0);
		dd.obj._setCrs(dd.obj.cursor);
		dd.embedVis('visible');
		dd.obj._resetZ();
		if (window.my_DropFunc)
		{
			dd.e = new dd.evt(d_ev);
			my_DropFunc();
		}
		dd.msmoved = dd.obj.is_dragged = dd.obj.is_resized = dd.whratio = 0;
		dd.obj = null;
	}
	dd.setEvtHdl(0, PICK);
}



function SET_DHTML()
{	
	var d_a = arguments, d_ai, d_htm = '', d_o, d_i = d_a.length; while (d_i--)	
	{
		if (dd.op6)
		{		
			var d_t0 = (new Date()).getTime();
			while ((new Date()).getTime()-d_t0 < 0x99);
		}		
		
		if (!(d_ai = d_a[d_i]).indexOf('c:')) dd.cursor = d_ai.substring(2);
		else if (d_ai == NO_ALT) dd.noalt = 1;
		else if (d_ai == SCROLL) dd.scroll = 1;
		else if (d_ai == RESET_Z) dd.re_z = 1;
		else if (d_ai == RESIZABLE) dd.resizable = 1;
		else if (d_ai == SCALABLE) dd.scalable = 1;
		else if (d_ai == TRANSPARENT) dd.diaphan = 1;
		else		
		{
			d_o = new DDObj(d_ai);
			dd.addElt(d_o);
			d_htm += d_o.t_htm || '';
			if (d_o.oimg && d_o.cpy_n)
			{								
				var d_j = 0; while (d_j < d_o.cpy_n)
				{
					var d_p = new DDObj(d_o.name+d_o.cmd, ++d_j);
					dd.addElt(d_p, d_o);
					d_p.defz = d_o.defz+d_j;
					d_p.original = d_o;
					d_htm += d_p.t_htm;
				}
				
			}		
		}				
	}
	
	if (dd.n4 || dd.n6 || dd.ie || dd.op || dd.w3c) 
		document.write(	
		(dd.n4? '<div style="position:absolute;"><\/div>\n'
		: (dd.op && !dd.op6)? '<div id="OpBlUr" style="position:absolute;visibility:hidden;width:0px;height:0px;"><form><input type="text" style="width:0px;height:0px;"><\/form><\/div>'
		: '') + d_htm
	);
	
	dd.z = 0x33;
	//#####################################
	d_i = dd.elements.length; 
	while (d_i--)
	{
		dd.addProps(d_o = dd.elements[d_i]);
	//	if(d_o.is_image && !d_o.original && !d_o.clone) dd.n4? d_o.oimg.src = spacer : d_o.oimg.style.visibility = 'hidden';
	}
	//####################################
	
	
	dd.mkWzDom();
	if (window.onload) dd.loadFunc = window.onload;
	document.onmousedown = document.onmousedown||null;
	document.onmousemove = document.onmousemove||null;
	document.onmouseup = document.onmouseup||null;
	window.onload = dd.initz;
	window.onunload = dd.finlz;
	dd.setEvtHdl(0, PICK);
	
	
}

function ADD_DHTML(d_o) // layers only!
{
	d_o = new DDObj(d_o);
	dd.addElt(d_o);
	dd.addProps(d_o);
	dd.mkWzDom();
}




////////////////////////////////////////////////////////////
// If not needed, all code below this line may be removed


// For backward compatibility
dd.d = document;            // < v. 2.72
var RESET_ZINDEX = RESET_Z; // < 3.44
var KEYDOWN_RESIZE = RESIZABLE; // < 4.43
var CURSOR_POINTER = CURSOR_HAND; // < 4.44
var NO_SCROLL = '';         // < v. 4.49




////////////////////////////////////////////////////////////
// FUNCTIONS FOR EXTENDED SCRIPTING
// Use these for your own extensions,
// or to call functions defined elsewhere



/* my_PickFunc IS AUTOMATICALLY CALLED WHEN AN ITEM STARTS TO BE DRAGGED.
The following objects/properties are accessible from here:

- dd.e: current mouse event
- dd.e.property: access to a property of the current mouse event.
  Mostly requested properties:
  - dd.e.x: document-related x co-ordinate
  - dd.e.y: document-related y co-ord
  - dd.e.src: target of mouse event (not identical with the drag drop object itself).
  - dd.e.button: currently pressed mouse button. Left button: dd.e.button <= 1

- dd.obj: reference to currently dragged item.
- dd.obj.property: access to any property of that item.
- dd.obj.method(): for example dd.obj.resizeTo() or dd.obj.swapImage() .
  Mostly requested properties:
	- dd.obj.name: image name or layer ID passed to SET_DHTML();
	- dd.obj.x and dd.obj.y: co-ordinates;
	- dd.obj.w and dd.obj.h: size;
	- dd.obj.is_dragged: 1 while item is dragged, else 0;
	- dd.obj.is_resized: 1 while item is resized, i.e. if <ctrl> or <shift> is pressed, else 0

For more properties and details, visit the API documentation
at http://www.walterzorn.com/dragdrop/api_e.htm (english) or
http://www.walterzorn.de/dragdrop/api.htm (german)    */
function my_PickFunc()
{
}




/* my_DragFunc IS CALLED WHILE AN ITEM IS DRAGGED
See the description of my_PickFunc above for what's accessible from here. */
function my_DragFunc()
{
	//window.status = 'dd.elements.' + dd.obj.name + '.x  = ' + dd.obj.x + '     dd.elements.' + dd.obj.name + '.y = ' + dd.obj.y;
}




/* my_ResizeFunc IS CALLED WHILE AN ITEM IS RESIZED
See the description of my_PickFunc above for what's accessible from here. */
function my_ResizeFunc()
{
	//window.status = 'dd.elements.' + dd.obj.name + '.w  = ' + dd.obj.w + '     dd.elements.' + dd.obj.name + '.h = ' + dd.obj.h;
}




/* THIS ONE IS CALLED ONCE AN ITEM IS DROPPED
See the description of my_PickFunc for what's accessible from here.
Here may be investigated, for example, what's the name (dd.obj.name)
of the dropped item, and where (dd.obj.x, dd.obj.y) it has been dropped... */
function my_DropFunc()
{
}
;
(function (jQuery, window, undefined) {
    "use strict";

    var matched, browser;

    jQuery.uaMatch = function (ua) {
        ua = ua.toLowerCase();

        var match = /(chrome)[ \/]([\w.]+)/.exec(ua) ||
            /(webkit)[ \/]([\w.]+)/.exec(ua) ||
            /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) ||
            /(msie) ([\w.]+)/.exec(ua) ||
            ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) ||
            [];

        var platform_match = /(ipad)/.exec(ua) ||
            /(iphone)/.exec(ua) ||
            /(android)/.exec(ua) ||
            [];

        return {
            browser: match[1] || "",
            version: match[2] || "0",
            platform: platform_match[0] || ""
        };
    };

    matched = jQuery.uaMatch(window.navigator.userAgent);
    browser = {};

    if (matched.browser) {
        browser[matched.browser] = true;
        browser.version = matched.version;
    }

    if (matched.platform) {
        browser[matched.platform] = true
    }

    // Chrome is Webkit, but Webkit is also Safari.
    if (browser.chrome) {
        browser.webkit = true;
    } else if (browser.webkit) {
        browser.safari = true;
    }

    jQuery.browser = browser;

})(jQuery, window);;
(function(n,t){var a,h,v,y,c,p=window.Sizzle||null,i,s,e,w,o,f=n[t],u="undefined",b=!1,k=typeof window.jQuery!==u,l=typeof window.sessionStorage!==u,r=window.document;(o={smoothScroll:!0,scrollDuration:1e3,scrollTopMargin:200,showCloseButton:!0,showPrevButton:!1,showNextButton:!0,bubbleWidth:280,bubblePadding:15,arrowWidth:20,skipIfNoElement:!0,cookieName:"hopscotch.tour.state"},f)||(Array.isArray||(Array.isArray=function(n){return Object.prototype.toString.call(n)==="[object Array]"}),w=function(){b&&f.startTour()},i={addClass:function(n,t){var r,u,i,f;if(n.className){for(u=t.split(/\s+/),r=" "+n.className+" ",i=0,f=u.length;i<f;++i)r.indexOf(" "+u[i]+" ")<0&&(r+=u[i]+" ");n.className=r.replace(/^\s+|\s+$/g,"")}else n.className=t},removeClass:function(n,t){var i,u,r,f;for(u=t.split(/\s+/),i=" "+n.className+" ",r=0,f=u.length;r<f;++r)i=i.replace(" "+u[r]+" "," ");n.className=i.replace(/^\s+|\s+$/g,"")},getPixelValue:function(n){var t=typeof n;return t==="number"?n:t==="string"?parseInt(n,10):0},valOrDefault:function(n,t){return typeof n!==u?n:t},invokeCallbackArrayHelper:function(n){var t;Array.isArray(n)&&(t=e[n[0]],typeof t=="function"&&t.apply(this,n.slice(1)))},invokeCallbackArray:function(n){var t,r;if(Array.isArray(n))if(typeof n[0]=="string")i.invokeCallbackArrayHelper(n);else for(t=0,r=n.length;t<r;++t)i.invokeCallback(n[t])},invokeCallback:function(n){typeof n=="function"&&n(),typeof n=="string"&&e[n]?e[n]():i.invokeCallbackArray(n)},invokeEventCallbacks:function(n,t){var r=s[n],i,u;for(t&&this.invokeCallback(t),i=0,u=r.length;i<u;++i)this.invokeCallback(r[i].cb)},getScrollTop:function(){return typeof window.pageYOffset!==u?window.pageYOffset:r.documentElement.scrollTop},getScrollLeft:function(){return typeof window.pageXOffset!==u?window.pageXOffset:r.documentElement.scrollLeft},getWindowHeight:function(){return window.innerHeight||r.documentElement.clientHeight},getWindowWidth:function(){return window.innerWidth||r.documentElement.clientWidth},addEvtListener:function(n,t,i){return n.addEventListener?n.addEventListener(t,i,!1):n.attachEvent("on"+t,i)},removeEvtListener:function(n,t,i){return n.removeEventListener?n.removeEventListener(t,i,!1):n.detachEvent("on"+t,i)},documentIsReady:function(){return r.readyState==="complete"||r.readyState==="interactive"},evtPreventDefault:function(n){n.preventDefault?n.preventDefault():event&&(event.returnValue=!1)},extend:function(n,t){var i;for(i in t)t.hasOwnProperty(i)&&(n[i]=t[i])},getStepTargetHelper:function(n){var t;return/^[#\.]/.test(n)?r.querySelector?r.querySelector(n):k?(t=jQuery(n),t.length?t[0]:null):p?(t=new p(n),t.length?t[0]:null):/^#[a-zA-Z][\w-_:.]*$/.test(n)?r.getElementById(n.substring(1)):null:r.getElementById(n)},getStepTarget:function(n){var r,t,u;if(!n||!n.target)return null;if(typeof n.target=="string")return n.target=i.getStepTargetHelper(n.target),n.target;if(Array.isArray(n.target)){for(t=0,u=n.target.length;t<u;t++)if(typeof n.target[t]=="string"&&(r=i.getStepTargetHelper(n.target[t]),r))return n.target=r,r;return null}return n.target},getI18NString:function(n){return c[n]||y[n]},setState:function(n,t,i){var f="",u;l?sessionStorage.setItem(n,t):(i&&(u=new Date,u.setTime(u.getTime()+i*864e5),f="; expires="+u.toGMTString()),r.cookie=n+"="+t+f+"; path=/")},getState:function(n){var f=n+"=",e=r.cookie.split(";"),i,t,u;if(l)u=sessionStorage.getItem(n);else for(i=0;i<e.length;i++){for(t=e[i];t.charAt(0)===" ";)t=t.substring(1,t.length);if(t.indexOf(f)===0){u=t.substring(f.length,t.length);break}}return u},clearState:function(n){l?sessionStorage.removeItem(n):this.setState(n,"",-1)}},i.addEvtListener(window,"load",w),s={next:[],prev:[],start:[],end:[],show:[],error:[],close:[]},e={},y={stepNums:null,nextBtn:"Next",prevBtn:"Back",doneBtn:"Done",skipBtn:"Skip",closeTooltip:"Close"},c={},h=function(n){this.init(n)},h.prototype={isShowing:!1,currStep:undefined,_createButton:function(n,t){var u=r.createElement("button"),f="hopscotch-nav-button btn";return u.id=n,t&&(u.innerHTML=t),f+=n.indexOf("prev")>=0?" prev":" btn-primary next",i.addClass(u,f),u},setPosition:function(n){var c,u,s,t,f,e,h,l=i.getStepTarget(n),o=this.element,r=this.arrowEl;c=i.getPixelValue(n.width)||this.opt.bubbleWidth,s=i.valOrDefault(n.padding,this.opt.bubblePadding),i.removeClass(o,"fade-in-down fade-in-up fade-in-left fade-in-right"),!n.placement&&n.orientation&&(n.placement=n.orientation),t=l.getBoundingClientRect(),n.placement==="top"?(u=o.offsetHeight,f=t.top-u-this.opt.arrowWidth,e=t.left):n.placement==="bottom"?(f=t.bottom+this.opt.arrowWidth,e=t.left):n.placement==="left"?(f=t.top,e=t.left-c-2*s-12-this.opt.arrowWidth):n.placement==="right"&&(f=t.top,e=t.right+this.opt.arrowWidth),h=n.arrowOffset!=="center"?i.getPixelValue(n.arrowOffset):n.arrowOffset,h?n.placement==="top"||n.placement==="bottom"?(r.style.top="",r.style.left=h==="center"?c/2+s-r.getBoundingClientRect().width/2+"px":h+"px"):(n.placement==="left"||n.placement==="right")&&(r.style.left="",h==="center"?(u=u||o.offsetHeight,r.style.top=u/2+s-r.getBoundingClientRect().height/2+"px"):r.style.top=h+"px"):(r.style.top="",r.style.left=""),n.xOffset==="center"?e=t.left+t.width/2-c/2-s:e+=i.getPixelValue(n.xOffset),n.yOffset==="center"?(u=u||o.offsetHeight,f=t.top+t.height/2-u/2-s):f+=i.getPixelValue(n.yOffset),n.fixedElement||(f+=i.getScrollTop(),e+=i.getScrollLeft()),o.style.position=n.fixedElement?"fixed":"absolute",o.style.top=f+"px",o.style.left=e+"px"},_initNavButtons:function(){var n=r.createElement("div");return this.prevBtnEl=this._createButton("hopscotch-prev",i.getI18NString("prevBtn")),this.nextBtnEl=this._createButton("hopscotch-next",i.getI18NString("nextBtn")),this.doneBtnEl=this._createButton("hopscotch-done",i.getI18NString("doneBtn")),this.ctaBtnEl=this._createButton("hopscotch-cta"),i.addClass(this.doneBtnEl,"hide"),n.appendChild(this.prevBtnEl),n.appendChild(this.ctaBtnEl),n.appendChild(this.nextBtnEl),n.appendChild(this.doneBtnEl),i.addEvtListener(this.prevBtnEl,"click",function(){f.prevStep(!0)}),i.addEvtListener(this.nextBtnEl,"click",function(){f.nextStep(!0)}),i.addEvtListener(this.doneBtnEl,"click",function(){f.endTour()}),n.className="hopscotch-actions",this.buttonsEl=n,this.containerEl.appendChild(n),this},_getCloseFn:function(){var n=this;return this.closeFn||(this.closeFn=function(t){n.opt.onClose&&i.invokeCallback(n.opt.onClose),n.opt.id&&!n.opt.isTourBubble?f.getCalloutManager().removeCallout(n.opt.id):n.destroy(),i.evtPreventDefault(t)}),this.closeFn},initCloseButton:function(){var n=r.createElement("a");return n.className="hopscotch-bubble-close",n.href="#",n.title=i.getI18NString("closeTooltip"),n.innerHTML=i.getI18NString("closeTooltip"),this.opt.isTourBubble?i.addEvtListener(n,"click",function(n){var t=f.getCurrStepNum(),r=f.getCurrTour(),u=t===r.steps.length-1;i.invokeEventCallbacks("close"),f.endTour(!0,u),n.preventDefault?n.preventDefault():event&&(event.returnValue=!1)}):i.addEvtListener(n,"click",this._getCloseFn()),i.valOrDefault(this.opt.showCloseButton,!0)||i.addClass(n,"hide"),this.closeBtnEl=n,this.containerEl.appendChild(n),this},_initArrow:function(){var n,t;return this.arrowEl=r.createElement("div"),this.arrowEl.className="hopscotch-bubble-arrow-container",t=r.createElement("div"),t.className="hopscotch-bubble-arrow-border",n=r.createElement("div"),n.className="hopscotch-bubble-arrow",this.arrowEl.appendChild(t),this.arrowEl.appendChild(n),this.element.appendChild(this.arrowEl),this},_setupCTAButton:function(n){var t,r=this;this._showButton(this.ctaBtnEl,!!n.showCTAButton),n.showCTAButton&&n.ctaLabel&&(this.ctaBtnEl.innerHTML=n.ctaLabel,t=function(){i.removeEvtListener(r.ctaBtnEl,"click",t),r.opt.isTourBubble||f.getCalloutManager().removeCallout(n.id),n.onCTA&&typeof n.onCTA=="function"&&n.onCTA()},i.addEvtListener(this.ctaBtnEl,"click",t))},render:function(n,t,r,u){var f=this.element,e,o,s,h;return n?this.currStep=n:this.currStep&&(n=this.currStep),!n.placement&&n.orientation&&(n.placement=n.orientation),e=i.valOrDefault(n.showNextButton,this.opt.showNextButton),o=i.valOrDefault(n.showPrevButton,this.opt.showPrevButton),this.setTitle(n.title||""),this.setContent(n.content||""),this.opt.isTourBubble&&this.setNum(t),this.placement=n.placement,this.showPrevButton(this.prevBtnEl&&o&&t>0),this.showNextButton(this.nextBtnEl&&e&&!r),this.nextBtnEl.innerHTML=n.showSkip?i.getI18NString("skipBtn"):i.getI18NString("nextBtn"),r?i.removeClass(this.doneBtnEl,"hide"):i.addClass(this.doneBtnEl,"hide"),this._setupCTAButton(n),this._setArrow(n.placement),s=i.getPixelValue(n.width)||this.opt.bubbleWidth,h=i.valOrDefault(n.padding,this.opt.bubblePadding),this.containerEl.style.width=s+"px",this.containerEl.style.padding=h+"px",f.style.zIndex=n.zindex||"",n.placement==="top"?(f.style.top="-9999px",f.style.left="-9999px",i.removeClass(f,"hide"),this.setPosition(n),i.addClass(f,"hide")):this.setPosition(n),u&&u(!n.fixedElement),this},setTitle:function(n){return n?(this.titleEl.innerHTML=n,i.removeClass(this.titleEl,"hide")):i.addClass(this.titleEl,"hide"),this},setContent:function(n){return n?(this.contentEl.innerHTML=n,i.removeClass(this.contentEl,"hide")):i.addClass(this.contentEl,"hide"),this},setNum:function(n){var t=i.getI18NString("stepNums");n=t&&n<t.length?t[n]:n+1,this.numberEl.innerHTML=n},_setArrow:function(n){i.removeClass(this.arrowEl,"down up right left"),n==="top"?i.addClass(this.arrowEl,"down"):n==="bottom"?i.addClass(this.arrowEl,"up"):n==="left"?i.addClass(this.arrowEl,"right"):n==="right"&&i.addClass(this.arrowEl,"left")},_getArrowDirection:function(){return this.placement==="top"?"down":this.placement==="bottom"?"up":this.placement==="left"?"right":this.placement==="right"?"left":void 0},show:function(){var n=this,t="fade-in-"+this._getArrowDirection();return i.removeClass(this.element,"hide"),i.addClass(this.element,t),setTimeout(function(){i.removeClass(n.element,"invisible")},50),setTimeout(function(){i.removeClass(n.element,t)},1e3),this.isShowing=!0,this},hide:function(n){var t=this.element;return n=i.valOrDefault(n,!0),t.style.top="",t.style.left="",n?(i.addClass(t,"hide"),i.removeClass(t,"invisible")):(i.removeClass(t,"hide"),i.addClass(t,"invisible")),i.removeClass(t,"animate fade-in-up fade-in-down fade-in-right fade-in-left"),this.isShowing=!1,this},_showButton:function(n,t,r){var f="hide";r&&(f="hide-all"),typeof t===u&&(t=!0),t?i.removeClass(n,f):i.addClass(n,f)},showPrevButton:function(n){this._showButton(this.prevBtnEl,n)},showNextButton:function(n){this._showButton(this.nextBtnEl,n)},showCloseButton:function(n){this._showButton(this.closeBtnEl,n)},destroy:function(){var n=this.element;n&&n.parentNode.removeChild(n),this.closeBtnEl&&i.removeEvtListener(this.closeBtnEl,"click",this._getCloseFn()),this.ctaBtnEl&&this.onCTA&&i.removeEvtListener(this.ctaBtnEl,"click",this.onCTA)},updateButtons:function(){this.showPrevButton(this.opt.showPrevButton),this.showNextButton(this.opt.showNextButton),this.showCloseButton(this.opt.showCloseButton),this.prevBtnEl.innerHTML=i.getI18NString("prevBtn"),this.nextBtnEl.innerHTML=i.getI18NString("nextBtn"),this.doneBtnEl.innerHTML=i.getI18NString("doneBtn")},init:function(n){var f=r.createElement("div"),e=r.createElement("div"),h=r.createElement("div"),c=this,l=!1,a,t,s;this.element=f,this.containerEl=e,this.titleEl=r.createElement("h3"),this.contentEl=r.createElement("div"),i.addClass(this.titleEl,"hopscotch-title"),i.addClass(this.contentEl,"hopscotch-content"),s={showPrevButton:o.showPrevButton,showNextButton:o.showNextButton,bubbleWidth:o.bubbleWidth,bubblePadding:o.bubblePadding,arrowWidth:o.arrowWidth,showNumber:!0,isTourBubble:!0},n=typeof n===u?{}:n,i.extend(s,n),this.opt=s,f.className="hopscotch-bubble animated hidden-phone hidden-tablet",e.className="hopscotch-bubble-container",s.isTourBubble||(f.className+=" hopscotch-callout"),s.isTourBubble?(this.numberEl=r.createElement("span"),this.numberEl.className="hopscotch-bubble-number",e.appendChild(this.numberEl)):i.addClass(f,"no-number"),h.appendChild(this.titleEl),h.appendChild(this.contentEl),h.className="hopscotch-bubble-content",e.appendChild(h),f.appendChild(e),this._initNavButtons(),this.initCloseButton(),this._initArrow(),a=function(){!l&&c.isShowing&&(l=!0,setTimeout(function(){c.setPosition(c.currStep),l=!1},100))},i.addEvtListener(window,"resize",a),this.hide(),i.documentIsReady()?r.body.appendChild(f):(r.addEventListener?(t=function(){r.removeEventListener("DOMContentLoaded",t),window.removeEventListener("load",t),r.body.appendChild(f)},r.addEventListener("DOMContentLoaded",t,!1)):(t=function(){r.readyState==="complete"&&(r.detachEvent("onreadystatechange",t),window.detachEvent("onload",t),r.body.appendChild(f))},r.attachEvent("onreadystatechange",t)),i.addEvtListener(window,"load",t))}},v=function(){var n={};this.createCallout=function(t){var i;if(t.id){if(n[t.id])throw"Callout by that id already exists. Please choose a unique id.";t.showNextButton=t.showPrevButton=!1,t.isTourBubble=!1,i=new h(t),n[t.id]=i,t.target&&i.render(t,null,null,function(){i.show()})}else throw"Must specify a callout id.";return i},this.getCallout=function(t){return n[t]},this.removeAllCallouts=function(){var t;for(t in n)n.hasOwnProperty(t)&&this.removeCallout(t)},this.removeCallout=function(t){var i=n[t];(n[t]=null,i)&&i.destroy()}},a=function(n){var et=this,d,g,p,l,t,it,a,nt,w=function(n){return d||(d=new h(p)),n&&(i.extend(d.opt,{bubblePadding:f("bubblePadding"),bubbleWidth:f("bubbleWidth"),showNextButton:f("showNextButton"),showPrevButton:f("showPrevButton"),showCloseButton:f("showCloseButton"),arrowWidth:f("arrowWidth")}),d.updateButtons()),d},f=function(n){return typeof p=="undefined"?o[n]:i.valOrDefault(p[n],o[n])},y=function(){return t<0||t>=l.steps.length?null:l.steps[t]},rt=function(){et.nextStep(!1)},ot=function(n){var it=w(),a=it.element,h=i.getPixelValue(a.style.top),v=h+i.getPixelValue(a.offsetHeight),rt=i.getStepTarget(y()),p=rt.getBoundingClientRect(),b=p.top+i.getScrollTop(),d=p.bottom+i.getScrollTop(),o=h<b?h:b,ut=v>d?v:d,e=i.getScrollTop(),ft=e+i.getWindowHeight(),t=o-f("scrollTopMargin"),g,c,nt,s,tt,l;o>=e&&(o<=e+f("scrollTopMargin")||ut<=ft)?n&&n():f("smoothScroll")?typeof YAHOO!==u&&typeof YAHOO.env!==u&&typeof YAHOO.env.ua!==u&&typeof YAHOO.util!==u&&typeof YAHOO.util.Scroll!==u?(g=YAHOO.env.ua.webkit?r.body:r.documentElement,nt=YAHOO.util.Easing?YAHOO.util.Easing.easeOut:undefined,c=new YAHOO.util.Scroll(g,{scroll:{to:[0,t]}},f("scrollDuration")/1e3,nt),c.onComplete.subscribe(n),c.animate()):k?$("body, html").animate({scrollTop:t},f("scrollDuration"),n):(t<0&&(t=0),s=e>o?-1:1,tt=Math.abs(e-t)/(f("scrollDuration")/10),l=function(){var u=i.getScrollTop(),r=u+s*tt;if(s>0&&r>=t||s<0&&r<=t){r=t,n&&n(),window.scrollTo(0,r);return}if(window.scrollTo(0,r),i.getScrollTop()===u){n&&n();return}setTimeout(l,10)},l()):(window.scrollTo(0,t),n&&n())},tt=function(n,r){var e,u,f;t+n>=0&&t+n<l.steps.length?(t+=n,u=y(),f=function(){e=i.getStepTarget(u),e?r(t):(i.invokeEventCallbacks("error"),tt(n,r))},u.delay?setTimeout(f,u.delay):f()):r(-1)},ut=function(n,r){var h=w(),c=this,u,e,o,s;if(h.hide(),n=i.valOrDefault(n,!0),u=y(),e=u,o=r>0?e.multipage:t>0&&l.steps[t-1].multipage,s=function(t){if(t===-1)return this.endTour(!0);n&&(r>0?i.invokeEventCallbacks("next",e.onNext):i.invokeEventCallbacks("prev",e.onPrev),o)||this.showStep(t)},!o&&f("skipIfNoElement"))tt(r,function(n){s.call(c,n)});else if(t+r>=0&&t+r<l.steps.length){if(t+=r,u=y(),!i.getStepTarget(u)&&!o)return i.invokeEventCallbacks("error"),this.endTour(!0,!1);s.call(this,t)}return this},st=function(n){var e={},t,u,r;for(t in n)n.hasOwnProperty(t)&&t!=="id"&&t!=="steps"&&(e[t]=n[t]);return nt.call(this,e,!0),u=i.getState(f("cookieName")),u&&(r=u.split(":"),it=r[0],a=r[1],a=parseInt(a,10),r.length>2&&r[2]==="mp"&&a<l.steps.length-1&&++a),this},ht=function(n,r){var e,u,o=!1;if(t=n||0,e=y(),u=i.getStepTarget(e),u){r(t);return}if(t>0&&(--t,o=!0,e=y(),u=i.getStepTarget(e),u)){r(t);return}if(!u){if(i.invokeEventCallbacks("error"),f("skipIfNoElement")){o&&++t,tt(1,r);return}t=-1,r(t)}},ft=function(n){var r=l.steps[n],h=l.steps,c=h.length,o=l.id+":"+n,u=w(),a=i.getStepTarget(r),s,e;e=function(){u.show(),i.invokeEventCallbacks("show",r.onShow)},t=n,u.hide(!1),s=n===c-1,u.render(r,n,s,function(n){n?ot(e):e(),r.nextOnTargetClick&&i.addEvtListener(a,"click",rt)}),r.multipage&&(o+=":mp"),i.setState(f("cookieName"),o,1)},ct=function(n){n&&this.configure(n)};this.getCalloutManager=function(){return typeof g===u&&(g=new v),g},this.startTour=function(n,r){var o,e=this;if(l||(l=n,st.call(this,n)),typeof r!==u){if(r>=l.steps.length)throw"Specified step number out of bounds.";t=r}return i.documentIsReady()?(t||l.id!==it||typeof a===u?t||(t=0):t=a,ht(t,function(n){var t=n!==-1&&i.getStepTarget(l.steps[n]);if(!t){e.endTour(!1,!1);return}i.invokeEventCallbacks("start"),o=w(),o.hide(!1),e.isActive=!0,i.getStepTarget(y())?e.showStep(n):(i.invokeEventCallbacks("error"),f("skipIfNoElement")&&e.nextStep(!1))}),this):(b=!0,this)},this.showStep=function(n){var t=l.steps[n];return t.delay?setTimeout(function(){ft(n)},t.delay):ft(n),this},this.prevStep=function(n){return ut.call(this,n,-1),this},this.nextStep=function(n){var t=y(),r=i.getStepTarget(t);return t.nextOnTargetClick&&i.removeEvtListener(r,"click",rt),ut.call(this,n,1),this},this.endTour=function(n,r){var u=w();return n=i.valOrDefault(n,!0),r=i.valOrDefault(r,!0),t=0,a=undefined,u.hide(),n&&i.clearState(f("cookieName")),this.isActive&&(this.isActive=!1,l&&r&&i.invokeEventCallbacks("end")),this.removeCallbacks(null,!0),this.resetDefaultOptions(),l=null,this},this.getCurrTour=function(){return l},this.getCurrStepNum=function(){return t},this.listen=function(n,t,i){return n&&s[n].push({cb:t,fromTour:i}),this},this.unlisten=function(n,t){for(var r=s[n],i=0,u=r.length;i<u;++i)r[i]===t&&r.splice(i,1);return this},this.removeCallbacks=function(n,t){var r,i,f,u;for(u in s)if(!n||n===u)if(t)for(r=s[u],i=0,f=r.length;i<f;++i)r[i].fromTour&&(r.splice(i--,1),--f);else s[u]=[];return this},this.registerHelper=function(n,t){typeof n=="string"&&typeof t=="function"&&(e[n]=t)},this.unregisterHelper=function(n){e[n]=null},this.invokeHelper=function(n){for(var i=[],t=1,r=arguments.length;t<r;++t)i.push(arguments[t]);e[n]&&e[n].call(null,i)},this.setCookieName=function(n){return p.cookieName=n,this},this.resetDefaultOptions=function(){return p={},this},this.resetDefaultI18N=function(){return c={},this},this.getState=function(){return i.getState(f("cookieName"))},nt=function(n,t){var o,u=["next","prev","start","end","show","error","close"],f,r,e;for(p||this.resetDefaultOptions(),i.extend(p,n),n&&i.extend(c,n.i18n),r=0,e=u.length;r<e;++r)f="on"+u[r].charAt(0).toUpperCase()+u[r].substring(1),n[f]&&this.listen(u[r],n[f],t);return o=w(!0),this},this.configure=function(n){return nt.call(this,n,!1)},ct.call(this,n)},f=new a,n[t]=f)})(window,"hopscotch");;

(function (window, document, $) {

    var isInputSupported = 'placeholder' in document.createElement('input'),
        isTextareaSupported = 'placeholder' in document.createElement('textarea'),
        prototype = $.fn,
        valHooks = $.valHooks,
        hooks,
        placeholder;

    if (isInputSupported && isTextareaSupported) {

        placeholder = prototype.placeholder = function () {
            return this;
        };

        placeholder.input = placeholder.textarea = true;

    } else {

        placeholder = prototype.placeholder = function () {
            var $this = this;
            $this
                .filter((isInputSupported ? 'textarea' : ':input') + '[placeholder]')
                .not('.placeholder')
                .bind({
                    'focus.placeholder': clearPlaceholder,
                    'blur.placeholder': setPlaceholder
                })
                .data('placeholder-enabled', true)
                .trigger('blur.placeholder');
            return $this;
        };

        placeholder.input = isInputSupported;
        placeholder.textarea = isTextareaSupported;

        hooks = {
            'get': function (element) {
                var $element = $(element);
                return $element.data('placeholder-enabled') && $element.hasClass('placeholder') ? '' : element.value;
            },
            'set': function (element, value) {
                var $element = $(element);
                if (!$element.data('placeholder-enabled')) {
                    return element.value = value;
                }
                if (value == '') {
                    element.value = value;
                    // Issue #56: Setting the placeholder causes problems if the element continues to have focus.
                    if (element != document.activeElement) {
                        // We can't use `triggerHandler` here because of dummy text/password inputs :(
                        setPlaceholder.call(element);
                    }
                } else if ($element.hasClass('placeholder')) {
                    clearPlaceholder.call(element, true, value) || (element.value = value);
                } else {
                    element.value = value;
                }
                // `set` can not return `undefined`; see http://jsapi.info/jquery/1.7.1/val#L2363
                return $element;
            }
        };

        isInputSupported || (valHooks.input = hooks);
        isTextareaSupported || (valHooks.textarea = hooks);

        $(function () {
            // Look for forms
            $(document).delegate('form', 'submit.placeholder', function () {
                // Clear the placeholder values so they don't get submitted
                var $inputs = $('.placeholder', this).each(clearPlaceholder);
                setTimeout(function () {
                    $inputs.each(setPlaceholder);
                }, 10);
            });
        });

        // Clear placeholder values upon page reload
        $(window).bind('beforeunload.placeholder', function () {
            $('.placeholder').each(function () {
                this.value = '';
            });
        });

    }

    function args(elem) {
        // Return an object of element attributes
        var newAttrs = {},
            rinlinejQuery = /^jQuery\d+$/;
        $.each(elem.attributes, function (i, attr) {
            if (attr.specified && !rinlinejQuery.test(attr.name)) {
                newAttrs[attr.name] = attr.value;
            }
        });
        return newAttrs;
    }

    function clearPlaceholder(event, value) {
        var input = this,
            $input = $(input);
        if (input.value == $input.attr('placeholder') && $input.hasClass('placeholder')) {
            if ($input.data('placeholder-password')) {
                $input = $input.hide().next().show().attr('id', $input.removeAttr('id').data('placeholder-id'));
                // If `clearPlaceholder` was called from `$.valHooks.input.set`
                if (event === true) {
                    return $input[0].value = value;
                }
                $input.focus();
            } else {
                input.value = '';
                $input.removeClass('placeholder');
                input == document.activeElement && input.select();
            }
        }
    }

    function setPlaceholder() {
        var $replacement,
            input = this,
            $input = $(input),
            $origInput = $input,
            id = this.id;
        if (input.value == '') {
            if (input.type == 'password') {
                if (!$input.data('placeholder-textinput')) {
                    try {
                        $replacement = $input.clone().attr({ 'type': 'text' });
                    } catch (e) {
                        $replacement = $('<input>').attr($.extend(args(this), { 'type': 'text' }));
                    }
                    $replacement
                        .removeAttr('name')
                        .data({
                            'placeholder-password': true,
                            'placeholder-id': id
                        })
                        .bind('focus.placeholder', clearPlaceholder);
                    $input
                        .data({
                            'placeholder-textinput': $replacement,
                            'placeholder-id': id
                        })
                        .before($replacement);
                }
                $input = $input.removeAttr('id').hide().prev().attr('id', id).show();
                // Note: `$input[0] != input` now!
            }
            $input.addClass('placeholder');
            $input[0].value = $input.attr('placeholder');
        } else {
            $input.removeClass('placeholder');
        }
    }

}(this, document, jQuery));
;
// -----------------------------------------
// Bubble Page Events
// -----------------------------------------

function Events() { }

Events.LastWidth = $(window).width();
Events.State = [];
Events.State["document-ready"] = false;
Events.ReadyCount = 0;
Events.Subscriptions = [];

Events.EVENT_DOCUMENT_READY = "document-ready";
Events.EVENT_WINDOW_RESIZE = "window-resize";
Events.EVENT_WINDOW_SCROLL = "window-scroll";

Events.DocumentReady = function () {
    Events.ReadyCount++;

    var countNeeded = (typeof respond != 'undefined' && !respond.mediaQueriesSupported) ? 2 : 1;

    if (Events.ReadyCount == countNeeded) {
        Events.State[Events.EVENT_DOCUMENT_READY] = true;
        $.publish(Events.EVENT_DOCUMENT_READY);
    }
}

Events.WindowResize = function () {
    if (Events.LastWidth != $(window).width()) {
        Events.LastWidth = $(window).width();
        $.publish(Events.EVENT_WINDOW_RESIZE);
    }
}

Events.Scroll = function () {
    var pageHeight = $(document).height() - 100;
    var scrollHeight = $(window).height() + $(window).scrollTop();

    if (pageHeight <= scrollHeight) {
        $.publish(Events.EVENT_WINDOW_SCROLL);
    }
}

Events.Subscribe = function (event, callback) {
    $.subscribe(event, callback);

    if (Events.State[event] != undefined
        && Events.State[event]) {
        callback.apply();
    }

	Events.Subscriptions.push(event);
}

Events.Unsubscribe = function(event, callback) {
	$.unsubscribe(event, callback);
	Events.Subscriptions.splice(Events.Subscriptions.indexOf(event), 1);
}

Events.CheckSubscribed = function (event) {
	return Events.Subscriptions.indexOf(event) > 0;
}

// -----------------------------------------
// Register Page Events
// -----------------------------------------

// -----------------------------------------
// Window Resize
// -----------------------------------------
var id;
$(window).resize(function () {
    clearTimeout(id);
    id = setTimeout(doneResizing, 30);

});

function doneResizing() {
    if (typeof respond != 'undefined'
        && respond.mediaQueriesSupported) {
        Events.WindowResize();
    } else {
        Events.WindowResize();
    }
}

$(window).scroll(function () {
    Events.Scroll();
});

// -----------------------------------------
// Document Ready
// -----------------------------------------

$(document).ready(function () {
    Events.DocumentReady();
});

if (typeof respond != 'undefined'
    && !respond.mediaQueriesSupported) {
    respond.subscribe(respond.EVENT_READY, Events.DocumentReady);
    respond.subscribe(respond.EVENT_RESIZE, Events.WindowResize);
};
/*! jCarousel - v0.3.8 - 2018-05-31
* http://sorgalla.com/jcarousel/
* Copyright (c) 2006-2018 Jan Sorgalla; Licensed MIT */
(function($) {
    'use strict';

    var jCarousel = $.jCarousel = {};

    jCarousel.version = '0.3.8';

    var rRelativeTarget = /^([+\-]=)?(.+)$/;

    jCarousel.parseTarget = function(target) {
        var relative = false,
            parts    = typeof target !== 'object' ?
                           rRelativeTarget.exec(target) :
                           null;

        if (parts) {
            target = parseInt(parts[2], 10) || 0;

            if (parts[1]) {
                relative = true;
                if (parts[1] === '-=') {
                    target *= -1;
                }
            }
        } else if (typeof target !== 'object') {
            target = parseInt(target, 10) || 0;
        }

        return {
            target: target,
            relative: relative
        };
    };

    jCarousel.detectCarousel = function(element) {
        var carousel;

        while (element.length > 0) {
            carousel = element.filter('[data-jcarousel]');

            if (carousel.length > 0) {
                return carousel;
            }

            carousel = element.find('[data-jcarousel]');

            if (carousel.length > 0) {
                return carousel;
            }

            element = element.parent();
        }

        return null;
    };

    jCarousel.base = function(pluginName) {
        return {
            version:  jCarousel.version,
            _options:  {},
            _element:  null,
            _carousel: null,
            _init:     $.noop,
            _create:   $.noop,
            _destroy:  $.noop,
            _reload:   $.noop,
            create: function() {
                this._element
                    .attr('data-' + pluginName.toLowerCase(), true)
                    .data(pluginName, this);

                if (false === this._trigger('create')) {
                    return this;
                }

                this._create();

                this._trigger('createend');

                return this;
            },
            destroy: function() {
                if (false === this._trigger('destroy')) {
                    return this;
                }

                this._destroy();

                this._trigger('destroyend');

                this._element
                    .removeData(pluginName)
                    .removeAttr('data-' + pluginName.toLowerCase());

                return this;
            },
            reload: function(options) {
                if (false === this._trigger('reload')) {
                    return this;
                }

                if (options) {
                    this.options(options);
                }

                this._reload();

                this._trigger('reloadend');

                return this;
            },
            element: function() {
                return this._element;
            },
            options: function(key, value) {
                if (arguments.length === 0) {
                    return $.extend({}, this._options);
                }

                if (typeof key === 'string') {
                    if (typeof value === 'undefined') {
                        return typeof this._options[key] === 'undefined' ?
                                null :
                                this._options[key];
                    }

                    this._options[key] = value;
                } else {
                    this._options = $.extend({}, this._options, key);
                }

                return this;
            },
            carousel: function() {
                if (!this._carousel) {
                    this._carousel = jCarousel.detectCarousel(this.options('carousel') || this._element);

                    if (!this._carousel) {
                        $.error('Could not detect carousel for plugin "' + pluginName + '"');
                    }
                }

                return this._carousel;
            },
            _trigger: function(type, element, data) {
                var event,
                    defaultPrevented = false;

                data = [this].concat(data || []);

                (element || this._element).each(function() {
                    event = $.Event((pluginName + ':' + type).toLowerCase());

                    $(this).trigger(event, data);

                    if (event.isDefaultPrevented()) {
                        defaultPrevented = true;
                    }
                });

                return !defaultPrevented;
            }
        };
    };

    jCarousel.plugin = function(pluginName, pluginPrototype) {
        var Plugin = $[pluginName] = function(element, options) {
            this._element = $(element);
            this.options(options);

            this._init();
            this.create();
        };

        Plugin.fn = Plugin.prototype = $.extend(
            {},
            jCarousel.base(pluginName),
            pluginPrototype
        );

        $.fn[pluginName] = function(options) {
            var args        = Array.prototype.slice.call(arguments, 1),
                returnValue = this;

            if (typeof options === 'string') {
                this.each(function() {
                    var instance = $(this).data(pluginName);

                    if (!instance) {
                        return $.error(
                            'Cannot call methods on ' + pluginName + ' prior to initialization; ' +
                            'attempted to call method "' + options + '"'
                        );
                    }

                    if (!$.isFunction(instance[options]) || options.charAt(0) === '_') {
                        return $.error(
                            'No such method "' + options + '" for ' + pluginName + ' instance'
                        );
                    }

                    var methodValue = instance[options].apply(instance, args);

                    if (methodValue !== instance && typeof methodValue !== 'undefined') {
                        returnValue = methodValue;
                        return false;
                    }
                });
            } else {
                this.each(function() {
                    var instance = $(this).data(pluginName);

                    if (instance instanceof Plugin) {
                        instance.reload(options);
                    } else {
                        new Plugin(this, options);
                    }
                });
            }

            return returnValue;
        };

        return Plugin;
    };
}(jQuery));

(function($, window) {
    'use strict';

    var $window = $(window);

    var toFloat = function(val) {
        return parseFloat(val) || 0;
    };

    $.jCarousel.plugin('jcarousel', {
        animating:   false,
        tail:        0,
        inTail:      false,
        resizeState: null,
        resizeTimer: null,
        lt:          null,
        vertical:    false,
        rtl:         false,
        circular:    false,
        underflow:   false,
        relative:    false,

        _options: {
            list: function() {
                return this.element().children().eq(0);
            },
            items: function() {
                return this.list().children();
            },
            animation:   400,
            transitions: false,
            wrap:        null,
            vertical:    null,
            rtl:         null,
            center:      false
        },

        // Protected, don't access directly
        _list:         null,
        _items:        null,
        _target:       $(),
        _first:        $(),
        _last:         $(),
        _visible:      $(),
        _fullyvisible: $(),
        _init: function() {
            var self = this;

            self.resizeState = $window.width() + 'x' + $window.height();

            this.onWindowResize = function() {
                if (self.resizeTimer) {
                    clearTimeout(self.resizeTimer);
                }

                self.resizeTimer = setTimeout(function() {
                    var currentResizeState = $window.width() + 'x' + $window.height();

                    // Check if the window size actually changed.
                    // iOS might trigger resize events on page scroll.
                    if (currentResizeState === self.resizeState) {
                        return;
                    }

                    self.resizeState = currentResizeState;
                    self.reload();
                }, 100);
            };

            return this;
        },
        _create: function() {
            this._reload();

            $window.on('resize.jcarousel', this.onWindowResize);
        },
        _destroy: function() {
            $window.off('resize.jcarousel', this.onWindowResize);
        },
        _reload: function() {
            this.vertical = this.options('vertical');

            if (this.vertical == null) {
                this.vertical = toFloat(this.list().height()) > toFloat(this.list().width());
            }

            this.rtl = this.options('rtl');

            if (this.rtl == null) {
                this.rtl = (function(element) {
                    if (('' + element.attr('dir')).toLowerCase() === 'rtl') {
                        return true;
                    }

                    var found = false;

                    element.parents('[dir]').each(function() {
                        if ((/rtl/i).test($(this).attr('dir'))) {
                            found = true;
                            return false;
                        }
                    });

                    return found;
                }(this._element));
            }

            this.lt = this.vertical ? 'top' : 'left';

            // Ensure before closest() call
            this.relative = this.list().css('position') === 'relative';

            // Force list and items reload
            this._list  = null;
            this._items = null;

            var item = this.index(this._target) >= 0 ?
                           this._target :
                           this.closest();

            // _prepare() needs this here
            this.circular  = this.options('wrap') === 'circular';
            this.underflow = false;

            var props = {'left': 0, 'top': 0};

            if (item.length > 0) {
                this._prepare(item);
                this.list().find('[data-jcarousel-clone]').remove();

                // Force items reload
                this._items = null;

                this.underflow = this._fullyvisible.length >= this.items().length;
                this.circular  = this.circular && !this.underflow;

                props[this.lt] = this._position(item) + 'px';
            }

            this.move(props);

            return this;
        },
        list: function() {
            if (this._list === null) {
                var option = this.options('list');
                this._list = $.isFunction(option) ? option.call(this) : this._element.find(option);
            }

            return this._list;
        },
        items: function() {
            if (this._items === null) {
                var option = this.options('items');
                this._items = ($.isFunction(option) ? option.call(this) : this.list().find(option)).not('[data-jcarousel-clone]');
            }

            return this._items;
        },
        index: function(item) {
            return this.items().index(item);
        },
        closest: function() {
            var self    = this,
                pos     = this.list().position()[this.lt],
                closest = $(), // Ensure we're returning a jQuery instance
                stop    = false,
                lrb     = this.vertical ? 'bottom' : (this.rtl && !this.relative ? 'left' : 'right'),
                width;

            if (this.rtl && this.relative && !this.vertical) {
                pos += toFloat(this.list().width()) - this.clipping();
            }

            this.items().each(function() {
                closest = $(this);

                if (stop) {
                    return false;
                }

                var dim = self.dimension(closest);

                pos += dim;

                if (pos >= 0) {
                    width = dim - toFloat(closest.css('margin-' + lrb));

                    if ((Math.abs(pos) - dim + (width / 2)) <= 0) {
                        stop = true;
                    } else {
                        return false;
                    }
                }
            });


            return closest;
        },
        target: function() {
            return this._target;
        },
        first: function() {
            return this._first;
        },
        last: function() {
            return this._last;
        },
        visible: function() {
            return this._visible;
        },
        fullyvisible: function() {
            return this._fullyvisible;
        },
        hasNext: function() {
            if (false === this._trigger('hasnext')) {
                return true;
            }

            var wrap = this.options('wrap'),
                end = this.items().length - 1,
                check = this.options('center') ? this._target : this._last;

            return end >= 0 && !this.underflow &&
                ((wrap && wrap !== 'first') ||
                    (this.index(check) < end) ||
                    (this.tail && !this.inTail)) ? true : false;
        },
        hasPrev: function() {
            if (false === this._trigger('hasprev')) {
                return true;
            }

            var wrap = this.options('wrap');

            return this.items().length > 0 && !this.underflow &&
                ((wrap && wrap !== 'last') ||
                    (this.index(this._first) > 0) ||
                    (this.tail && this.inTail)) ? true : false;
        },
        clipping: function() {
            return toFloat(this._element['inner' + (this.vertical ? 'Height' : 'Width')]());
        },
        dimension: function(element) {
            return toFloat(element['outer' + (this.vertical ? 'Height' : 'Width')](true));
        },
        scroll: function(target, animate, callback) {
            if (this.animating) {
                return this;
            }

            if (false === this._trigger('scroll', null, [target, animate])) {
                return this;
            }

            if ($.isFunction(animate)) {
                callback = animate;
                animate  = true;
            }

            var parsed = $.jCarousel.parseTarget(target);

            if (parsed.relative) {
                var end    = this.items().length - 1,
                    scroll = Math.abs(parsed.target),
                    wrap   = this.options('wrap'),
                    current,
                    first,
                    index,
                    start,
                    curr,
                    isVisible,
                    props,
                    i;

                if (parsed.target > 0) {
                    var last = this.index(this._last);

                    if (last >= end && this.tail) {
                        if (!this.inTail) {
                            this._scrollTail(animate, callback);
                        } else {
                            if (wrap === 'both' || wrap === 'last') {
                                this._scroll(0, animate, callback);
                            } else {
                                if ($.isFunction(callback)) {
                                    callback.call(this, false);
                                }
                            }
                        }
                    } else {
                        current = this.index(this._target);

                        if ((this.underflow && current === end && (wrap === 'circular' || wrap === 'both' || wrap === 'last')) ||
                            (!this.underflow && last === end && (wrap === 'both' || wrap === 'last'))) {
                            this._scroll(0, animate, callback);
                        } else {
                            index = current + scroll;

                            if (this.circular && index > end) {
                                i = end;
                                curr = this.items().get(-1);

                                while (i++ < index) {
                                    curr = this.items().eq(0);
                                    isVisible = this._visible.index(curr) >= 0;

                                    if (isVisible) {
                                        curr.after(curr.clone(true).attr('data-jcarousel-clone', true));
                                    }

                                    this.list().append(curr);

                                    if (!isVisible) {
                                        props = {};
                                        props[this.lt] = this.dimension(curr);
                                        this.moveBy(props);
                                    }

                                    // Force items reload
                                    this._items = null;
                                }

                                this._scroll(curr, animate, callback);
                            } else {
                                this._scroll(Math.min(index, end), animate, callback);
                            }
                        }
                    }
                } else {
                    if (this.inTail) {
                        this._scroll(Math.max((this.index(this._first) - scroll) + 1, 0), animate, callback);
                    } else {
                        first  = this.index(this._first);
                        current = this.index(this._target);
                        start  = this.underflow ? current : first;
                        index  = start - scroll;

                        if (start <= 0 && ((this.underflow && wrap === 'circular') || wrap === 'both' || wrap === 'first')) {
                            this._scroll(end, animate, callback);
                        } else {
                            if (this.circular && index < 0) {
                                i    = index;
                                curr = this.items().get(0);

                                while (i++ < 0) {
                                    curr = this.items().eq(-1);
                                    isVisible = this._visible.index(curr) >= 0;

                                    if (isVisible) {
                                        curr.after(curr.clone(true).attr('data-jcarousel-clone', true));
                                    }

                                    this.list().prepend(curr);

                                    // Force items reload
                                    this._items = null;

                                    var dim = this.dimension(curr);

                                    props = {};
                                    props[this.lt] = -dim;
                                    this.moveBy(props);

                                }

                                this._scroll(curr, animate, callback);
                            } else {
                                this._scroll(Math.max(index, 0), animate, callback);
                            }
                        }
                    }
                }
            } else {
                this._scroll(parsed.target, animate, callback);
            }

            this._trigger('scrollend');

            return this;
        },
        moveBy: function(properties, opts) {
            var position = this.list().position(),
                multiplier = 1,
                correction = 0;

            if (this.rtl && !this.vertical) {
                multiplier = -1;

                if (this.relative) {
                    correction = toFloat(this.list().width()) - this.clipping();
                }
            }

            if (properties.left) {
                properties.left = (toFloat(position.left) + correction + toFloat(properties.left) * multiplier) + 'px';
            }

            if (properties.top) {
                properties.top = (toFloat(position.top) + correction + toFloat(properties.top) * multiplier) + 'px';
            }

            return this.move(properties, opts);
        },
        move: function(properties, opts) {
            opts = opts || {};

            var option       = this.options('transitions'),
                transitions  = !!option,
                transforms   = !!option.transforms,
                transforms3d = !!option.transforms3d,
                duration     = opts.duration || 0,
                list         = this.list();

            if (!transitions && duration > 0) {
                list.animate(properties, opts);
                return;
            }

            var complete = opts.complete || $.noop,
                css = {};

            if (transitions) {
                var backup = {
                        transitionDuration: list.css('transitionDuration'),
                        transitionTimingFunction: list.css('transitionTimingFunction'),
                        transitionProperty: list.css('transitionProperty')
                    },
                    oldComplete = complete;

                complete = function() {
                    $(this).css(backup);
                    oldComplete.call(this);
                };
                css = {
                    transitionDuration: (duration > 0 ? duration / 1000 : 0) + 's',
                    transitionTimingFunction: option.easing || opts.easing,
                    transitionProperty: duration > 0 ? (function() {
                        if (transforms || transforms3d) {
                            // We have to use 'all' because jQuery doesn't prefix
                            // css values, like transition-property: transform;
                            return 'all';
                        }

                        return properties.left ? 'left' : 'top';
                    })() : 'none',
                    transform: 'none'
                };
            }

            if (transforms3d) {
                css.transform = 'translate3d(' + (properties.left || 0) + ',' + (properties.top || 0) + ',0)';
            } else if (transforms) {
                css.transform = 'translate(' + (properties.left || 0) + ',' + (properties.top || 0) + ')';
            } else {
                $.extend(css, properties);
            }

            if (transitions && duration > 0) {
                list.one('transitionend webkitTransitionEnd oTransitionEnd otransitionend MSTransitionEnd', complete);
            }

            list.css(css);

            if (duration <= 0) {
                list.each(function() {
                    complete.call(this);
                });
            }
        },
        _scroll: function(item, animate, callback) {
            if (this.animating) {
                if ($.isFunction(callback)) {
                    callback.call(this, false);
                }

                return this;
            }

            if (typeof item !== 'object') {
                item = this.items().eq(item);
            } else if (typeof item.jquery === 'undefined') {
                item = $(item);
            }

            if (item.length === 0) {
                if ($.isFunction(callback)) {
                    callback.call(this, false);
                }

                return this;
            }

            this.inTail = false;

            this._prepare(item);

            var pos     = this._position(item),
                currPos = toFloat(this.list().position()[this.lt]);

            if (pos === currPos) {
                if ($.isFunction(callback)) {
                    callback.call(this, false);
                }

                return this;
            }

            var properties = {};
            properties[this.lt] = pos + 'px';

            this._animate(properties, animate, callback);

            return this;
        },
        _scrollTail: function(animate, callback) {
            if (this.animating || !this.tail) {
                if ($.isFunction(callback)) {
                    callback.call(this, false);
                }

                return this;
            }

            var pos = this.list().position()[this.lt];

            if (this.rtl && this.relative && !this.vertical) {
                pos += toFloat(this.list().width()) - this.clipping();
            }

            if (this.rtl && !this.vertical) {
                pos += this.tail;
            } else {
                pos -= this.tail;
            }

            this.inTail = true;

            var properties = {};
            properties[this.lt] = pos + 'px';

            this._update({
                target:       this._target.next(),
                fullyvisible: this._fullyvisible.slice(1).add(this._visible.last())
            });

            this._animate(properties, animate, callback);

            return this;
        },
        _animate: function(properties, animate, callback) {
            callback = callback || $.noop;

            if (false === this._trigger('animate')) {
                callback.call(this, false);
                return this;
            }

            this.animating = true;

            var animation = this.options('animation'),
                complete  = $.proxy(function() {
                    this.animating = false;

                    var c = this.list().find('[data-jcarousel-clone]');

                    if (c.length > 0) {
                        c.remove();
                        this._reload();
                    }

                    this._trigger('animateend');

                    callback.call(this, true);
                }, this);

            var opts = typeof animation === 'object' ?
                           $.extend({}, animation) :
                           {duration: animation},
                oldComplete = opts.complete || $.noop;

            if (animate === false) {
                opts.duration = 0;
            } else if (typeof $.fx.speeds[opts.duration] !== 'undefined') {
                opts.duration = $.fx.speeds[opts.duration];
            }

            opts.complete = function() {
                complete();
                oldComplete.call(this);
            };

            this.move(properties, opts);

            return this;
        },
        _prepare: function(item) {
            var index  = this.index(item),
                idx    = index,
                wh     = this.dimension(item),
                clip   = this.clipping(),
                lrb    = this.vertical ? 'bottom' : (this.rtl ? 'left'  : 'right'),
                center = this.options('center'),
                update = {
                    target:       item,
                    first:        item,
                    last:         item,
                    visible:      item,
                    fullyvisible: wh <= clip ? item : $()
                },
                curr,
                isVisible,
                margin,
                dim;

            if (center) {
                wh /= 2;
                clip /= 2;
            }

            if (wh < clip) {
                while (true) {
                    curr = this.items().eq(++idx);

                    if (curr.length === 0) {
                        if (!this.circular) {
                            break;
                        }

                        curr = this.items().eq(0);

                        if (item.get(0) === curr.get(0)) {
                            break;
                        }

                        isVisible = this._visible.index(curr) >= 0;

                        if (isVisible) {
                            curr.after(curr.clone(true).attr('data-jcarousel-clone', true));
                        }

                        this.list().append(curr);

                        if (!isVisible) {
                            var props = {};
                            props[this.lt] = this.dimension(curr);
                            this.moveBy(props);
                        }

                        // Force items reload
                        this._items = null;
                    }

                    dim = this.dimension(curr);

                    if (dim === 0) {
                        break;
                    }

                    wh += dim;

                    update.last    = curr;
                    update.visible = update.visible.add(curr);

                    // Remove right/bottom margin from total width
                    margin = toFloat(curr.css('margin-' + lrb));

                    if ((wh - margin) <= clip) {
                        update.fullyvisible = update.fullyvisible.add(curr);
                    }

                    if (wh >= clip) {
                        break;
                    }
                }
            }

            if (!this.circular && !center && wh < clip) {
                idx = index;

                while (true) {
                    if (--idx < 0) {
                        break;
                    }

                    curr = this.items().eq(idx);

                    if (curr.length === 0) {
                        break;
                    }

                    dim = this.dimension(curr);

                    if (dim === 0) {
                        break;
                    }

                    wh += dim;

                    update.first   = curr;
                    update.visible = update.visible.add(curr);

                    // Remove right/bottom margin from total width
                    margin = toFloat(curr.css('margin-' + lrb));

                    if ((wh - margin) <= clip) {
                        update.fullyvisible = update.fullyvisible.add(curr);
                    }

                    if (wh >= clip) {
                        break;
                    }
                }
            }

            this._update(update);

            this.tail = 0;

            if (!center &&
                this.options('wrap') !== 'circular' &&
                this.options('wrap') !== 'custom' &&
                this.index(update.last) === (this.items().length - 1)) {

                // Remove right/bottom margin from total width
                wh -= toFloat(update.last.css('margin-' + lrb));

                if (wh > clip) {
                    this.tail = wh - clip;
                }
            }

            return this;
        },
        _position: function(item) {
            var first  = this._first,
                pos    = toFloat(first.position()[this.lt]),
                center = this.options('center'),
                centerOffset = center ? (this.clipping() / 2) - (this.dimension(first) / 2) : 0;

            if (this.rtl && !this.vertical) {
                if (this.relative) {
                    pos -= toFloat(this.list().width()) - this.dimension(first);
                } else {
                    pos -= this.clipping() - this.dimension(first);
                }

                pos += centerOffset;
            } else {
                pos -= centerOffset;
            }

            if (!center &&
                (this.index(item) > this.index(first) || this.inTail) &&
                this.tail) {
                pos = this.rtl && !this.vertical ? pos - this.tail : pos + this.tail;
                this.inTail = true;
            } else {
                this.inTail = false;
            }

            return -pos;
        },
        _update: function(update) {
            var self = this,
                current = {
                    target:       this._target,
                    first:        this._first,
                    last:         this._last,
                    visible:      this._visible,
                    fullyvisible: this._fullyvisible
                },
                back = this.index(update.first || current.first) < this.index(current.first),
                key,
                doUpdate = function(key) {
                    var elIn  = [],
                        elOut = [];

                    update[key].each(function() {
                        if (current[key].index(this) < 0) {
                            elIn.push(this);
                        }
                    });

                    current[key].each(function() {
                        if (update[key].index(this) < 0) {
                            elOut.push(this);
                        }
                    });

                    if (back) {
                        elIn = elIn.reverse();
                    } else {
                        elOut = elOut.reverse();
                    }

                    self._trigger(key + 'in', $(elIn));
                    self._trigger(key + 'out', $(elOut));

                    self['_' + key] = update[key];
                };

            for (key in update) {
                doUpdate(key);
            }

            return this;
        }
    });
}(jQuery, window));

(function($) {
    'use strict';

    $.jcarousel.fn.scrollIntoView = function(target, animate, callback) {
        var parsed = $.jCarousel.parseTarget(target),
            first  = this.index(this._fullyvisible.first()),
            last   = this.index(this._fullyvisible.last()),
            index;

        if (parsed.relative) {
            index = parsed.target < 0 ? Math.max(0, first + parsed.target) : last + parsed.target;
        } else {
            index = typeof parsed.target !== 'object' ? parsed.target : this.index(parsed.target);
        }

        if (index < first) {
            return this.scroll(index, animate, callback);
        }

        if (index >= first && index <= last) {
            if ($.isFunction(callback)) {
                callback.call(this, false);
            }

            return this;
        }

        var items = this.items(),
            clip = this.clipping(),
            lrb  = this.vertical ? 'bottom' : (this.rtl ? 'left'  : 'right'),
            wh   = 0,
            curr;

        while (true) {
            curr = items.eq(index);

            if (curr.length === 0) {
                break;
            }

            wh += this.dimension(curr);

            if (wh >= clip) {
                var margin = parseFloat(curr.css('margin-' + lrb)) || 0;
                if ((wh - margin) !== clip) {
                    index++;
                }
                break;
            }

            if (index <= 0) {
                break;
            }

            index--;
        }

        return this.scroll(index, animate, callback);
    };
}(jQuery));

(function($) {
    'use strict';

    $.jCarousel.plugin('jcarouselControl', {
        _options: {
            target: '+=1',
            event:  'click',
            method: 'scroll'
        },
        _active: null,
        _init: function() {
            this.onDestroy = $.proxy(function() {
                this._destroy();
                this.carousel()
                    .one('jcarousel:createend', $.proxy(this._create, this));
            }, this);
            this.onReload = $.proxy(this._reload, this);
            this.onEvent = $.proxy(function(e) {
                e.preventDefault();

                var method = this.options('method');

                if ($.isFunction(method)) {
                    method.call(this);
                } else {
                    this.carousel()
                        .jcarousel(this.options('method'), this.options('target'));
                }
            }, this);
        },
        _create: function() {
            this.carousel()
                .one('jcarousel:destroy', this.onDestroy)
                .on('jcarousel:reloadend jcarousel:scrollend', this.onReload);

            this._element
                .on(this.options('event') + '.jcarouselcontrol', this.onEvent);

            this._reload();
        },
        _destroy: function() {
            this._element
                .off('.jcarouselcontrol', this.onEvent);

            this.carousel()
                .off('jcarousel:destroy', this.onDestroy)
                .off('jcarousel:reloadend jcarousel:scrollend', this.onReload);
        },
        _reload: function() {
            var parsed   = $.jCarousel.parseTarget(this.options('target')),
                carousel = this.carousel(),
                active;

            if (parsed.relative) {
                active = carousel
                    .jcarousel(parsed.target > 0 ? 'hasNext' : 'hasPrev');
            } else {
                var target = typeof parsed.target !== 'object' ?
                                carousel.jcarousel('items').eq(parsed.target) :
                                parsed.target;

                active = carousel.jcarousel('target').index(target) >= 0;
            }

            if (this._active !== active) {
                this._trigger(active ? 'active' : 'inactive');
                this._active = active;
            }

            return this;
        }
    });
}(jQuery));

(function($) {
    'use strict';

    $.jCarousel.plugin('jcarouselPagination', {
        _options: {
            perPage: null,
            item: function(page) {
                return '<a href="#' + page + '">' + page + '</a>';
            },
            event:  'click',
            method: 'scroll'
        },
        _carouselItems: null,
        _pages: {},
        _items: {},
        _currentPage: null,
        _init: function() {
            this.onDestroy = $.proxy(function() {
                this._destroy();
                this.carousel()
                    .one('jcarousel:createend', $.proxy(this._create, this));
            }, this);
            this.onReload = $.proxy(this._reload, this);
            this.onScroll = $.proxy(this._update, this);
        },
        _create: function() {
            this.carousel()
                .one('jcarousel:destroy', this.onDestroy)
                .on('jcarousel:reloadend', this.onReload)
                .on('jcarousel:scrollend', this.onScroll);

            this._reload();
        },
        _destroy: function() {
            this._clear();

            this.carousel()
                .off('jcarousel:destroy', this.onDestroy)
                .off('jcarousel:reloadend', this.onReload)
                .off('jcarousel:scrollend', this.onScroll);

            this._carouselItems = null;
        },
        _reload: function() {
            var perPage = this.options('perPage');

            this._pages = {};
            this._items = {};

            // Calculate pages
            if ($.isFunction(perPage)) {
                perPage = perPage.call(this);
            }

            if (perPage == null) {
                this._pages = this._calculatePages();
            } else {
                var pp    = parseInt(perPage, 10) || 0,
                    items = this._getCarouselItems(),
                    page  = 1,
                    i     = 0,
                    curr;

                while (true) {
                    curr = items.eq(i++);

                    if (curr.length === 0) {
                        break;
                    }

                    if (!this._pages[page]) {
                        this._pages[page] = curr;
                    } else {
                        this._pages[page] = this._pages[page].add(curr);
                    }

                    if (i % pp === 0) {
                        page++;
                    }
                }
            }

            this._clear();

            var self     = this,
                carousel = this.carousel().data('jcarousel'),
                element  = this._element,
                item     = this.options('item'),
                numCarouselItems = this._getCarouselItems().length;

            $.each(this._pages, function(page, carouselItems) {
                var currItem = self._items[page] = $(item.call(self, page, carouselItems));

                currItem.on(self.options('event') + '.jcarouselpagination', $.proxy(function() {
                    var target = carouselItems.eq(0);

                    // If circular wrapping enabled, ensure correct scrolling direction
                    if (carousel.circular) {
                        var currentIndex = carousel.index(carousel.target()),
                            newIndex     = carousel.index(target);

                        if (parseFloat(page) > parseFloat(self._currentPage)) {
                            if (newIndex < currentIndex) {
                                target = '+=' + (numCarouselItems - currentIndex + newIndex);
                            }
                        } else {
                            if (newIndex > currentIndex) {
                                target = '-=' + (currentIndex + (numCarouselItems - newIndex));
                            }
                        }
                    }

                    carousel[this.options('method')](target);
                }, self));

                element.append(currItem);
            });

            this._update();
        },
        _update: function() {
            var target = this.carousel().jcarousel('target'),
                currentPage;

            $.each(this._pages, function(page, carouselItems) {
                carouselItems.each(function() {
                    if (target.is(this)) {
                        currentPage = page;
                        return false;
                    }
                });

                if (currentPage) {
                    return false;
                }
            });

            if (this._currentPage !== currentPage) {
                this._trigger('inactive', this._items[this._currentPage]);
                this._trigger('active', this._items[currentPage]);
            }

            this._currentPage = currentPage;
        },
        items: function() {
            return this._items;
        },
        reloadCarouselItems: function() {
            this._carouselItems = null;
            return this;
        },
        _clear: function() {
            this._element.empty();
            this._currentPage = null;
        },
        _calculatePages: function() {
            var carousel = this.carousel().data('jcarousel'),
                items    = this._getCarouselItems(),
                clip     = carousel.clipping(),
                wh       = 0,
                idx      = 0,
                page     = 1,
                pages    = {},
                curr,
                dim;

            while (true) {
                curr = items.eq(idx++);

                if (curr.length === 0) {
                    break;
                }

                dim = carousel.dimension(curr);

                if ((wh + dim) > clip) {
                    page++;
                    wh = 0;
                }

                wh += dim;

                if (!pages[page]) {
                    pages[page] = curr;
                } else {
                    pages[page] = pages[page].add(curr);
                }
            }

            return pages;
        },
        _getCarouselItems: function() {
            if (!this._carouselItems) {
                this._carouselItems = this.carousel().jcarousel('items');
            }

            return this._carouselItems;
        }
    });
}(jQuery));

(function($, document) {
    'use strict';

    var hiddenProp,
        visibilityChangeEvent,
        visibilityChangeEventNames = {
            hidden: 'visibilitychange',
            mozHidden: 'mozvisibilitychange',
            msHidden: 'msvisibilitychange',
            webkitHidden: 'webkitvisibilitychange'
        }
    ;

    $.each(visibilityChangeEventNames, function(key, val) {
        if (typeof document[key] !== 'undefined') {
            hiddenProp = key;
            visibilityChangeEvent = val;
            return false;
        }
    });

    $.jCarousel.plugin('jcarouselAutoscroll', {
        _options: {
            target:    '+=1',
            interval:  3000,
            autostart: true,
            method: 'scroll'
        },
        _timer: null,
        _started: false,
        _init: function () {
            this.onDestroy = $.proxy(function() {
                this._destroy();
                this.carousel()
                    .one('jcarousel:createend', $.proxy(this._create, this));
            }, this);

            this.onAnimateEnd = $.proxy(this._start, this);

            this.onVisibilityChange = $.proxy(function() {
                if (document[hiddenProp]) {
                    this._stop();
                } else {
                    this._start();
                }
            }, this);
        },
        _create: function() {
            this.carousel()
                .one('jcarousel:destroy', this.onDestroy);

            $(document)
                .on(visibilityChangeEvent, this.onVisibilityChange);

            if (this.options('autostart')) {
                this.start();
            }
        },
        _destroy: function() {
            this._stop();

            this.carousel()
                .off('jcarousel:destroy', this.onDestroy);

            $(document)
                .off(visibilityChangeEvent, this.onVisibilityChange);
        },
        _start: function() {
            this._stop();

            if (!this._started) {
                return;
            }

            this.carousel()
                .one('jcarousel:animateend', this.onAnimateEnd);

            this._timer = setTimeout($.proxy(function() {
                this.carousel().jcarousel(this.options('method'), this.options('target'));
            }, this), this.options('interval'));

            return this;
        },
        _stop: function() {
            if (this._timer) {
                this._timer = clearTimeout(this._timer);
            }

            this.carousel()
                .off('jcarousel:animateend', this.onAnimateEnd);

            return this;
        },
        start: function() {
            this._started = true;
            this._start();

            return this;
        },
        stop: function() {
            this._started = false;
            this._stop();

            return this;
        }
    });
}(jQuery, document));
;
(function ($) {
	$.fn.tabslider = function (options) {
		var config = getConfig(options)
		var tabList = $(this)
		var tabs = tabList.find('>li')
		var tabIndex = 0
		var lastIndex = tabs.length - 1
		var containerWidth = tabList.width()
		var maxIndex = getMaxIndex()

		// buttons
		var leftBtn = $('#' + config.leftButtonId).on('click', function () {
			slideToItem(tabIndex - 1)
		})
		var rightBtn = $('#' + config.rightButtonId).on('click', function () {
			slideToItem(tabIndex + 1)
		})

		function updateButtons() {
			$(rightBtn).css("visibility", tabIndex >= maxIndex ? 'hidden' : 'visible')
			$(leftBtn).css("visibility", tabIndex <= 0 ? 'hidden' : 'visible')
		}

		function getMaxIndex() {
			var moreWidth = 0
			for (var i = lastIndex; i >= 0; i--) {
				moreWidth += $(tabs[i]).width()
				if (moreWidth > containerWidth) {
					return i + 1
				}
			}
			return 0
		}

		function slideToItem(index) {
			var leftPos = 0
			for (var i = 0; i < index; i++) {
				leftPos += $(tabs[i]).width()
			}
			$(tabList).animate({ scrollLeft: leftPos }, 200)
			tabIndex = index
			updateButtons()
		}

		function getConfig(options) {
			var defaultConfig = {
				leftButtonId: 'tab-slider-left',
				rightButtonId: 'tab-slider-right'
			}
			return !!options
				? Object.assign({}, defaultConfig, options)
				: defaultConfig
		}

		updateButtons()
	}
})(jQuery);;
/*!jQuery Knob*/
/**
 * Downward compatible, touchable dial
 *
 * Version: 1.2.8
 * Requires: jQuery v1.7+
 *
 * Copyright (c) 2012 Anthony Terrien
 * Under MIT License (http://www.opensource.org/licenses/mit-license.php)
 *
 * Thanks to vor, eskimoblood, spiffistan, FabrizioC
 */
(function ($) {

    /**
     * Kontrol library
     */
    "use strict";

    /**
     * Definition of globals and core
     */
    var k = {}, // kontrol
        max = Math.max,
        min = Math.min;

    k.c = {};
    k.c.d = $(document);
    k.c.t = function (e) {
        return e.originalEvent.touches.length - 1;
    };

    /**
     * Kontrol Object
     *
     * Definition of an abstract UI control
     *
     * Each concrete component must call this one.
     * <code>
     * k.o.call(this);
     * </code>
     */
    k.o = function () {
        var s = this;

        this.o = null; // array of options
        this.$ = null; // jQuery wrapped element
        this.i = null; // mixed HTMLInputElement or array of HTMLInputElement
        this.g = null; // deprecated 2D graphics context for 'pre-rendering'
        this.v = null; // value ; mixed array or integer
        this.cv = null; // change value ; not commited value
        this.x = 0; // canvas x position
        this.y = 0; // canvas y position
        this.w = 0; // canvas width
        this.h = 0; // canvas height
        this.$c = null; // jQuery canvas element
        this.c = null; // rendered canvas context
        this.t = 0; // touches index
        this.isInit = false;
        this.fgColor = null; // main color
        this.pColor = null; // previous color
        this.dH = null; // draw hook
        this.cH = null; // change hook
        this.eH = null; // cancel hook
        this.rH = null; // release hook
        this.scale = 1; // scale factor
        this.relative = false;
        this.relativeWidth = false;
        this.relativeHeight = false;
        this.$div = null; // component div

        this.run = function () {
            var cf = function (e, conf) {
                var k;
                for (k in conf) {
                    s.o[k] = conf[k];
                }
                s._carve().init();
                s._configure()
                 ._draw();
            };

            if (this.$.data('kontroled')) return;
            this.$.data('kontroled', true);

            this.extend();
            this.o = $.extend(
                {
                    // Config
                    min: this.$.data('min') !== undefined ? this.$.data('min') : 0,
                    max: this.$.data('max') !== undefined ? this.$.data('max') : 100,
                    stopper: true,
                    readOnly: this.$.data('readonly') || (this.$.attr('readonly') === 'readonly'),

                    // UI
                    cursor: (this.$.data('cursor') === true && 30) ||
                                this.$.data('cursor') || 0,
                    thickness: (
                                    this.$.data('thickness') &&
                                    Math.max(Math.min(this.$.data('thickness'), 1), 0.01)
                                ) || 0.35,
                    lineCap: this.$.data('linecap') || 'butt',
                    width: this.$.data('width') || 200,
                    height: this.$.data('height') || 200,
                    displayInput: this.$.data('displayinput') == null || this.$.data('displayinput'),
                    displayPrevious: this.$.data('displayprevious'),
                    fgColor: this.$.data('fgcolor') || '#87CEEB',
                    inputColor: this.$.data('inputcolor'),
                    font: this.$.data('font') || 'Arial',
                    fontWeight: this.$.data('font-weight') || 'bold',
                    inline: false,
                    step: this.$.data('step') || 1,
                    rotation: this.$.data('rotation'),

                    // Hooks
                    draw: null, // function () {}
                    change: null, // function (value) {}
                    cancel: null, // function () {}
                    release: null, // function (value) {}

                    // Output formatting, allows to add unit: %, ms ...
                    format: function (v) {
                        return v;
                    },
                    parse: function (v) {
                        return parseFloat(v);
                    }
                }, this.o
            );

            // finalize options
            this.o.flip = this.o.rotation === 'anticlockwise' || this.o.rotation === 'acw';
            if (!this.o.inputColor) {
                this.o.inputColor = this.o.fgColor;
            }

            // routing value
            if (this.$.is('fieldset')) {

                // fieldset = array of integer
                this.v = {};
                this.i = this.$.find('input');
                this.i.each(function (k) {
                    var $this = $(this);
                    s.i[k] = $this;
                    s.v[k] = s.o.parse($this.val());

                    $this.bind(
                        'change blur'
                        , function () {
                            var val = {};
                            val[k] = $this.val();
                            s.val(val);
                        }
                    );
                });
                this.$.find('legend').remove();

            } else {

                // input = integer
                this.i = this.$;
                this.v = this.o.parse(this.$.val());
                (this.v === '') && (this.v = this.o.min);

                this.$.bind(
                    'change blur'
                    , function () {
                        s.val(s._validate(s.o.parse(s.$.val())));
                    }
                );

            }

            (!this.o.displayInput) && this.$.hide();

            // adds needed DOM elements (canvas, div)
            this.$c = $(document.createElement('canvas')).attr({
                width: this.o.width,
                height: this.o.height
            });

            // wraps all elements in a div
            // add to DOM before Canvas init is triggered
            this.$div = $('<div style="'
                + (this.o.inline ? 'display:inline;' : '')
                + 'width:' + this.o.width + 'px;height:' + this.o.height + 'px;'
                + '"></div>');

            this.$.wrap(this.$div).before(this.$c);
            this.$div = this.$.parent();

            if (typeof G_vmlCanvasManager !== 'undefined') {
                G_vmlCanvasManager.initElement(this.$c[0]);
            }

            this.c = this.$c[0].getContext ? this.$c[0].getContext('2d') : null;

            if (!this.c) {
                throw {
                    name: "CanvasNotSupportedException",
                    message: "Canvas not supported. Please use excanvas on IE8.0.",
                    toString: function () { return this.name + ": " + this.message }
                }
            }

            // hdpi support
            this.scale = (window.devicePixelRatio || 1) /
                        (
                            this.c.webkitBackingStorePixelRatio ||
                            this.c.mozBackingStorePixelRatio ||
                            this.c.msBackingStorePixelRatio ||
                            this.c.oBackingStorePixelRatio ||
                            this.c.backingStorePixelRatio || 1
                        );

            // detects relative width / height
            this.relativeWidth = ((this.o.width % 1 !== 0) &&
                this.o.width.indexOf('%'));
            this.relativeHeight = ((this.o.height % 1 !== 0) &&
                this.o.height.indexOf('%'));
            this.relative = (this.relativeWidth || this.relativeHeight);

            // computes size and carves the component
            this._carve();

            // prepares props for transaction
            if (this.v instanceof Object) {
                this.cv = {};
                this.copy(this.v, this.cv);
            } else {
                this.cv = this.v;
            }

            // binds configure event
            this.$
                .bind("configure", cf)
                .parent()
                .bind("configure", cf);

            // finalize init
            this._listen()
                ._configure()
                ._xy()
                .init();

            this.isInit = true;

            this.$.val(this.o.format(this.v));
            this._draw();

            return this;
        };

        this._carve = function () {
            if (this.relative) {
                var w = this.relativeWidth ?
                            this.$div.parent().width() *
                            parseInt(this.o.width) / 100 :
                            this.$div.parent().width(),
                    h = this.relativeHeight ?
                            this.$div.parent().height() *
                            parseInt(this.o.height) / 100 :
                            this.$div.parent().height();

                // apply relative
                this.w = this.h = Math.min(w, h);
            } else {
                this.w = this.o.width;
                this.h = this.o.height;
            }

            // finalize div
            this.$div.css({
                'width': this.w + 'px',
                'height': this.h + 'px'
            });

            // finalize canvas with computed width
            this.$c.attr({
                width: this.w,
                height: this.h
            });

            // scaling
            if (this.scale !== 1) {
                this.$c[0].width = this.$c[0].width * this.scale;
                this.$c[0].height = this.$c[0].height * this.scale;
                this.$c.width(this.w);
                this.$c.height(this.h);
            }

            return this;
        }

        this._draw = function () {

            // canvas pre-rendering
            var d = true;

            s.g = s.c;

            s.clear();

            s.dH
            && (d = s.dH());

            (d !== false) && s.draw();

        };

        this._touch = function (e) {

            var touchMove = function (e) {

                var v = s.xy2val(
                            e.originalEvent.touches[s.t].pageX,
                            e.originalEvent.touches[s.t].pageY
                            );

                if (v == s.cv) return;

                if (s.cH && (s.cH(v) === false)) return;

                s.change(s._validate(v));
                s._draw();
            };

            // get touches index
            this.t = k.c.t(e);

            // First touch
            touchMove(e);

            // Touch events listeners
            k.c.d
                .bind("touchmove.k", touchMove)
                .bind(
                    "touchend.k"
                    , function () {
                        k.c.d.unbind('touchmove.k touchend.k');
                        s.val(s.cv);
                    }
                );

            return this;
        };

        this._mouse = function (e) {

            var mouseMove = function (e) {
                var v = s.xy2val(e.pageX, e.pageY);

                if (v == s.cv) return;

                if (s.cH && (s.cH(v) === false)) return;

                s.change(s._validate(v));
                s._draw();
            };

            // First click
            mouseMove(e);

            // Mouse events listeners
            k.c.d
                .bind("mousemove.k", mouseMove)
                .bind(
                    // Escape key cancel current change
                    "keyup.k"
                    , function (e) {
                        if (e.keyCode === 27) {
                            k.c.d.unbind("mouseup.k mousemove.k keyup.k");

                            if (
                                s.eH
                                && (s.eH() === false)
                            ) return;

                            s.cancel();
                        }
                    }
                )
                .bind(
                    "mouseup.k"
                    , function (e) {
                        k.c.d.unbind('mousemove.k mouseup.k keyup.k');
                        s.val(s.cv);
                    }
                );

            return this;
        };

        this._xy = function () {
            var o = this.$c.offset();
            this.x = o.left;
            this.y = o.top;
            return this;
        };

        this._listen = function () {

            if (!this.o.readOnly) {
                this.$c
                    .bind(
                        "mousedown"
                        , function (e) {
                            e.preventDefault();
                            s._xy()._mouse(e);
                        }
                    )
                    .bind(
                        "touchstart"
                        , function (e) {
                            e.preventDefault();
                            s._xy()._touch(e);
                        }
                    );

                this.listen();
            } else {
                this.$.attr('readonly', 'readonly');
            }

            if (this.relative) {
                $(window).resize(function () {
                    s._carve()
                     .init();
                    s._draw();
                });
            }

            return this;
        };

        this._configure = function () {

            // Hooks
            if (this.o.draw) this.dH = this.o.draw;
            if (this.o.change) this.cH = this.o.change;
            if (this.o.cancel) this.eH = this.o.cancel;
            if (this.o.release) this.rH = this.o.release;

            if (this.o.displayPrevious) {
                this.pColor = this.h2rgba(this.o.fgColor, "0.4");
                this.fgColor = this.h2rgba(this.o.fgColor, "0.6");
            } else {
                this.fgColor = this.o.fgColor;
            }

            return this;
        };

        this._clear = function () {
            this.$c[0].width = this.$c[0].width;
        };

        this._validate = function (v) {
            return (~~(((v < 0) ? -0.5 : 0.5) + (v / this.o.step))) * this.o.step;
        };

        // Abstract methods
        this.listen = function () { }; // on start, one time
        this.extend = function () { }; // each time configure triggered
        this.init = function () { }; // each time configure triggered
        this.change = function (v) { }; // on change
        this.val = function (v) { }; // on release
        this.xy2val = function (x, y) { }; //
        this.draw = function () { }; // on change / on release
        this.clear = function () { this._clear(); };

        // Utils
        this.h2rgba = function (h, a) {
            var rgb;
            h = h.substring(1, 7)
            rgb = [parseInt(h.substring(0, 2), 16)
                   , parseInt(h.substring(2, 4), 16)
                   , parseInt(h.substring(4, 6), 16)];
            return "rgba(" + rgb[0] + "," + rgb[1] + "," + rgb[2] + "," + a + ")";
        };

        this.copy = function (f, t) {
            for (var i in f) { t[i] = f[i]; }
        };
    };


    /**
     * k.Dial
     */
    k.Dial = function () {
        k.o.call(this);

        this.startAngle = null;
        this.xy = null;
        this.radius = null;
        this.lineWidth = null;
        this.cursorExt = null;
        this.w2 = null;
        this.PI2 = 2 * Math.PI;

        this.extend = function () {
            this.o = $.extend(
                {
                    bgColor: this.$.data('bgcolor') || '#EEEEEE',
                    angleOffset: this.$.data('angleoffset') || 0,
                    angleArc: this.$.data('anglearc') || 360,
                    inline: true
                }, this.o
            );
        };

        this.val = function (v, triggerRelease) {
            if (null != v) {

                // reverse format
                v = this.o.parse(v);

                if (
                    triggerRelease !== false && (v != this.v) && this.rH &&
                        (this.rH(v) === false)
                ) return;

                this.cv = this.o.stopper ? max(min(v, this.o.max), this.o.min) : v;
                this.v = this.cv;
                this.$.val(this.o.format(this.v));
                this._draw();
            } else {
                return this.v;
            }
        };

        this.xy2val = function (x, y) {
            var a, ret;

            a = Math.atan2(
                        x - (this.x + this.w2)
                        , -(y - this.y - this.w2)
                    ) - this.angleOffset;

            if (this.o.flip) {
                a = this.angleArc - a - this.PI2;
            }

            if (this.angleArc != this.PI2 && (a < 0) && (a > -0.5)) {
                // if isset angleArc option, set to min if .5 under min
                a = 0;
            } else if (a < 0) {
                a += this.PI2;
            }

            ret = ~~(0.5 + (a * (this.o.max - this.o.min) / this.angleArc))
                    + this.o.min;

            this.o.stopper && (ret = max(min(ret, this.o.max), this.o.min));

            return ret;
        };

        this.listen = function () {
            // bind MouseWheel
            var s = this, mwTimerStop, mwTimerRelease,
                mw = function (e) {
                    e.preventDefault();

                    var ori = e.originalEvent
                        , deltaX = ori.detail || ori.wheelDeltaX
                        , deltaY = ori.detail || ori.wheelDeltaY
                        , v = s._validate(s.o.parse(s.$.val()))
                            + (deltaX > 0 || deltaY > 0 ? s.o.step : deltaX < 0 || deltaY < 0 ? -s.o.step : 0);

                    v = max(min(v, s.o.max), s.o.min);

                    s.val(v, false);

                    if (s.rH) {
                        // Handle mousewheel stop
                        clearTimeout(mwTimerStop);
                        mwTimerStop = setTimeout(function () {
                            s.rH(v);
                            mwTimerStop = null;
                        }, 100);

                        // Handle mousewheel releases
                        if (!mwTimerRelease) {
                            mwTimerRelease = setTimeout(function () {
                                if (mwTimerStop) s.rH(v);
                                mwTimerRelease = null;
                            }, 200);
                        }
                    }
                }
                , kval, to, m = 1, kv = { 37: -s.o.step, 38: s.o.step, 39: s.o.step, 40: -s.o.step };

            this.$
                .bind(
                    "keydown"
                    , function (e) {
                        var kc = e.keyCode;

                        // numpad support
                        if (kc >= 96 && kc <= 105) {
                            kc = e.keyCode = kc - 48;
                        }

                        kval = parseInt(String.fromCharCode(kc));

                        if (isNaN(kval)) {

                            (kc !== 13)         // enter
                            && (kc !== 8)       // bs
                            && (kc !== 9)       // tab
                            && (kc !== 189)     // -
                            && (kc !== 190 || s.$.val().match(/\./))     // . only allowed once
                            && e.preventDefault();

                            // arrows
                            if ($.inArray(kc, [37, 38, 39, 40]) > -1) {
                                e.preventDefault();

                                var v = s.o.parse(s.$.val()) + kv[kc] * m;
                                s.o.stopper && (v = max(min(v, s.o.max), s.o.min));

                                s.change(v);
                                s._draw();

                                // long time keydown speed-up
                                to = window.setTimeout(
                                    function () { m *= 2; }, 30
                                );
                            }
                        }
                    }
                )
                .bind(
                    "keyup"
                    , function (e) {
                        if (isNaN(kval)) {
                            if (to) {
                                window.clearTimeout(to);
                                to = null;
                                m = 1;
                                s.val(s.$.val());
                            }
                        } else {
                            // kval postcond
                            (s.$.val() > s.o.max && s.$.val(s.o.max))
                            || (s.$.val() < s.o.min && s.$.val(s.o.min));
                        }

                    }
                );

            this.$c.bind("mousewheel DOMMouseScroll", mw);
            this.$.bind("mousewheel DOMMouseScroll", mw)
        };

        this.init = function () {

            if (
                this.v < this.o.min
                || this.v > this.o.max
            ) this.v = this.o.min;

            this.$.val(this.v);
            this.w2 = this.w / 2;
            this.cursorExt = this.o.cursor / 100;
            this.xy = this.w2 * this.scale;
            this.lineWidth = this.xy * this.o.thickness;
            this.lineCap = this.o.lineCap;
            this.radius = this.xy - this.lineWidth / 2;

            this.o.angleOffset
            && (this.o.angleOffset = isNaN(this.o.angleOffset) ? 0 : this.o.angleOffset);

            this.o.angleArc
            && (this.o.angleArc = isNaN(this.o.angleArc) ? this.PI2 : this.o.angleArc);

            // deg to rad
            this.angleOffset = this.o.angleOffset * Math.PI / 180;
            this.angleArc = this.o.angleArc * Math.PI / 180;

            // compute start and end angles
            this.startAngle = 1.5 * Math.PI + this.angleOffset;
            this.endAngle = 1.5 * Math.PI + this.angleOffset + this.angleArc;

            var s = max(
                            String(Math.abs(this.o.max)).length
                            , String(Math.abs(this.o.min)).length
                            , 2
                            ) + 2;

            this.o.displayInput
                && this.i.css({
                    'width': ((this.w / 2 + 4) >> 0) + 'px'
                        , 'height': ((this.w / 3) >> 0) + 'px'
                        , 'position': 'absolute'
                        , 'vertical-align': 'middle'
                        , 'margin-top': ((this.w / 3) >> 0) + 'px'
                        , 'margin-left': '-' + ((this.w * 3 / 4 + 2) >> 0) + 'px'
                        , 'border': 0
                        , 'background': 'none'
                        , 'font': this.o.fontWeight + ' ' + ((this.w / s) >> 0) + 'px ' + this.o.font
                        , 'text-align': 'center'
                        , 'color': this.o.inputColor || this.o.fgColor
                        , 'padding': '0px'
                        , '-webkit-appearance': 'none'
                })
                || this.i.css({
                    'width': '0px'
                        , 'visibility': 'hidden'
                });
        };

        this.change = function (v) {
            this.cv = v;
            this.$.val(this.o.format(v));
        };

        this.angle = function (v) {
            return (v - this.o.min) * this.angleArc / (this.o.max - this.o.min);
        };

        this.arc = function (v) {
            var sa, ea;
            v = this.angle(v);
            if (this.o.flip) {
                sa = this.endAngle + 0.00001;
                ea = sa - v - 0.00001;
            } else {
                sa = this.startAngle - 0.00001;
                ea = sa + v + 0.00001;
            }
            this.o.cursor
                && (sa = ea - this.cursorExt)
                && (ea = ea + this.cursorExt);
            return {
                s: sa,
                e: ea,
                d: this.o.flip && !this.o.cursor
            };
        };

        this.draw = function () {

            var c = this.g,                 // context
                a = this.arc(this.cv)       // Arc
                , pa                        // Previous arc
                , r = 1;

            c.lineWidth = this.lineWidth;
            c.lineCap = this.lineCap;

            c.beginPath();
            c.strokeStyle = this.o.bgColor;
            c.arc(this.xy, this.xy, this.radius, this.endAngle - 0.00001, this.startAngle + 0.00001, true);
            c.stroke();

            if (this.o.displayPrevious) {
                pa = this.arc(this.v);
                c.beginPath();
                c.strokeStyle = this.pColor;
                c.arc(this.xy, this.xy, this.radius, pa.s, pa.e, pa.d);
                c.stroke();
                r = (this.cv == this.v);
            }

            c.beginPath();
            c.strokeStyle = r ? this.o.fgColor : this.fgColor;
            c.arc(this.xy, this.xy, this.radius, a.s, a.e, a.d);
            c.stroke();
        };

        this.cancel = function () {
            this.val(this.v);
        };
    };

    $.fn.dial = $.fn.knob = function (o) {
        return this.each(
            function () {
                var d = new k.Dial();
                d.o = o;
                d.$ = $(this);
                d.run();
            }
        ).parent();
    };

})(jQuery);;
$(document).ajaxError(function (event, jqXHR, ajaxOptions, data) {
	if (jqXHR.status == 401) {
		var loginurl = "/Interact/Login/Default.aspx";
		var curpage = window.location.pathname + window.location.search; //this is to exclude domain
		window.location.href = loginurl + "?returnURL=" + encodeURIComponent(curpage);
	}
});;
/*!
 DataTables 1.10.11
 ©2008-2015 SpryMedia Ltd - datatables.net/license
*/
(function(h){"function"===typeof define&&define.amd?define(["jquery"],function(D){return h(D,window,document)}):"object"===typeof exports?module.exports=function(D,I){D||(D=window);I||(I="undefined"!==typeof window?require("jquery"):require("jquery")(D));return h(I,D,D.document)}:h(jQuery,window,document)})(function(h,D,I,k){function Y(a){var b,c,d={};h.each(a,function(e){if((b=e.match(/^([^A-Z]+?)([A-Z])/))&&-1!=="a aa ai ao as b fn i m o s ".indexOf(b[1]+" "))c=e.replace(b[0],b[2].toLowerCase()),
d[c]=e,"o"===b[1]&&Y(a[e])});a._hungarianMap=d}function K(a,b,c){a._hungarianMap||Y(a);var d;h.each(b,function(e){d=a._hungarianMap[e];if(d!==k&&(c||b[d]===k))"o"===d.charAt(0)?(b[d]||(b[d]={}),h.extend(!0,b[d],b[e]),K(a[d],b[d],c)):b[d]=b[e]})}function Fa(a){var b=m.defaults.oLanguage,c=a.sZeroRecords;!a.sEmptyTable&&(c&&"No data available in table"===b.sEmptyTable)&&E(a,a,"sZeroRecords","sEmptyTable");!a.sLoadingRecords&&(c&&"Loading..."===b.sLoadingRecords)&&E(a,a,"sZeroRecords","sLoadingRecords");
a.sInfoThousands&&(a.sThousands=a.sInfoThousands);(a=a.sDecimal)&&db(a)}function eb(a){A(a,"ordering","bSort");A(a,"orderMulti","bSortMulti");A(a,"orderClasses","bSortClasses");A(a,"orderCellsTop","bSortCellsTop");A(a,"order","aaSorting");A(a,"orderFixed","aaSortingFixed");A(a,"paging","bPaginate");A(a,"pagingType","sPaginationType");A(a,"pageLength","iDisplayLength");A(a,"searching","bFilter");"boolean"===typeof a.sScrollX&&(a.sScrollX=a.sScrollX?"100%":"");"boolean"===typeof a.scrollX&&(a.scrollX=
a.scrollX?"100%":"");if(a=a.aoSearchCols)for(var b=0,c=a.length;b<c;b++)a[b]&&K(m.models.oSearch,a[b])}function fb(a){A(a,"orderable","bSortable");A(a,"orderData","aDataSort");A(a,"orderSequence","asSorting");A(a,"orderDataType","sortDataType");var b=a.aDataSort;b&&!h.isArray(b)&&(a.aDataSort=[b])}function gb(a){if(!m.__browser){var b={};m.__browser=b;var c=h("<div/>").css({position:"fixed",top:0,left:0,height:1,width:1,overflow:"hidden"}).append(h("<div/>").css({position:"absolute",top:1,left:1,
width:100,overflow:"scroll"}).append(h("<div/>").css({width:"100%",height:10}))).appendTo("body"),d=c.children(),e=d.children();b.barWidth=d[0].offsetWidth-d[0].clientWidth;b.bScrollOversize=100===e[0].offsetWidth&&100!==d[0].clientWidth;b.bScrollbarLeft=1!==Math.round(e.offset().left);b.bBounding=c[0].getBoundingClientRect().width?!0:!1;c.remove()}h.extend(a.oBrowser,m.__browser);a.oScroll.iBarWidth=m.__browser.barWidth}function hb(a,b,c,d,e,f){var g,j=!1;c!==k&&(g=c,j=!0);for(;d!==e;)a.hasOwnProperty(d)&&
(g=j?b(g,a[d],d,a):a[d],j=!0,d+=f);return g}function Ga(a,b){var c=m.defaults.column,d=a.aoColumns.length,c=h.extend({},m.models.oColumn,c,{nTh:b?b:I.createElement("th"),sTitle:c.sTitle?c.sTitle:b?b.innerHTML:"",aDataSort:c.aDataSort?c.aDataSort:[d],mData:c.mData?c.mData:d,idx:d});a.aoColumns.push(c);c=a.aoPreSearchCols;c[d]=h.extend({},m.models.oSearch,c[d]);ja(a,d,h(b).data())}function ja(a,b,c){var b=a.aoColumns[b],d=a.oClasses,e=h(b.nTh);if(!b.sWidthOrig){b.sWidthOrig=e.attr("width")||null;var f=
(e.attr("style")||"").match(/width:\s*(\d+[pxem%]+)/);f&&(b.sWidthOrig=f[1])}c!==k&&null!==c&&(fb(c),K(m.defaults.column,c),c.mDataProp!==k&&!c.mData&&(c.mData=c.mDataProp),c.sType&&(b._sManualType=c.sType),c.className&&!c.sClass&&(c.sClass=c.className),h.extend(b,c),E(b,c,"sWidth","sWidthOrig"),c.iDataSort!==k&&(b.aDataSort=[c.iDataSort]),E(b,c,"aDataSort"));var g=b.mData,j=Q(g),i=b.mRender?Q(b.mRender):null,c=function(a){return"string"===typeof a&&-1!==a.indexOf("@")};b._bAttrSrc=h.isPlainObject(g)&&
(c(g.sort)||c(g.type)||c(g.filter));b._setter=null;b.fnGetData=function(a,b,c){var d=j(a,b,k,c);return i&&b?i(d,b,a,c):d};b.fnSetData=function(a,b,c){return R(g)(a,b,c)};"number"!==typeof g&&(a._rowReadObject=!0);a.oFeatures.bSort||(b.bSortable=!1,e.addClass(d.sSortableNone));a=-1!==h.inArray("asc",b.asSorting);c=-1!==h.inArray("desc",b.asSorting);!b.bSortable||!a&&!c?(b.sSortingClass=d.sSortableNone,b.sSortingClassJUI=""):a&&!c?(b.sSortingClass=d.sSortableAsc,b.sSortingClassJUI=d.sSortJUIAscAllowed):
!a&&c?(b.sSortingClass=d.sSortableDesc,b.sSortingClassJUI=d.sSortJUIDescAllowed):(b.sSortingClass=d.sSortable,b.sSortingClassJUI=d.sSortJUI)}function U(a){if(!1!==a.oFeatures.bAutoWidth){var b=a.aoColumns;Ha(a);for(var c=0,d=b.length;c<d;c++)b[c].nTh.style.width=b[c].sWidth}b=a.oScroll;(""!==b.sY||""!==b.sX)&&ka(a);u(a,null,"column-sizing",[a])}function Z(a,b){var c=la(a,"bVisible");return"number"===typeof c[b]?c[b]:null}function $(a,b){var c=la(a,"bVisible"),c=h.inArray(b,c);return-1!==c?c:null}
function aa(a){return h(F(a.aoColumns,"nTh")).filter(":visible").length}function la(a,b){var c=[];h.map(a.aoColumns,function(a,e){a[b]&&c.push(e)});return c}function Ia(a){var b=a.aoColumns,c=a.aoData,d=m.ext.type.detect,e,f,g,j,i,h,l,q,t;e=0;for(f=b.length;e<f;e++)if(l=b[e],t=[],!l.sType&&l._sManualType)l.sType=l._sManualType;else if(!l.sType){g=0;for(j=d.length;g<j;g++){i=0;for(h=c.length;i<h;i++){t[i]===k&&(t[i]=B(a,i,e,"type"));q=d[g](t[i],a);if(!q&&g!==d.length-1)break;if("html"===q)break}if(q){l.sType=
q;break}}l.sType||(l.sType="string")}}function ib(a,b,c,d){var e,f,g,j,i,n,l=a.aoColumns;if(b)for(e=b.length-1;0<=e;e--){n=b[e];var q=n.targets!==k?n.targets:n.aTargets;h.isArray(q)||(q=[q]);f=0;for(g=q.length;f<g;f++)if("number"===typeof q[f]&&0<=q[f]){for(;l.length<=q[f];)Ga(a);d(q[f],n)}else if("number"===typeof q[f]&&0>q[f])d(l.length+q[f],n);else if("string"===typeof q[f]){j=0;for(i=l.length;j<i;j++)("_all"==q[f]||h(l[j].nTh).hasClass(q[f]))&&d(j,n)}}if(c){e=0;for(a=c.length;e<a;e++)d(e,c[e])}}
function N(a,b,c,d){var e=a.aoData.length,f=h.extend(!0,{},m.models.oRow,{src:c?"dom":"data",idx:e});f._aData=b;a.aoData.push(f);for(var g=a.aoColumns,j=0,i=g.length;j<i;j++)g[j].sType=null;a.aiDisplayMaster.push(e);b=a.rowIdFn(b);b!==k&&(a.aIds[b]=f);(c||!a.oFeatures.bDeferRender)&&Ja(a,e,c,d);return e}function ma(a,b){var c;b instanceof h||(b=h(b));return b.map(function(b,e){c=Ka(a,e);return N(a,c.data,e,c.cells)})}function B(a,b,c,d){var e=a.iDraw,f=a.aoColumns[c],g=a.aoData[b]._aData,j=f.sDefaultContent,
i=f.fnGetData(g,d,{settings:a,row:b,col:c});if(i===k)return a.iDrawError!=e&&null===j&&(L(a,0,"Requested unknown parameter "+("function"==typeof f.mData?"{function}":"'"+f.mData+"'")+" for row "+b+", column "+c,4),a.iDrawError=e),j;if((i===g||null===i)&&null!==j&&d!==k)i=j;else if("function"===typeof i)return i.call(g);return null===i&&"display"==d?"":i}function jb(a,b,c,d){a.aoColumns[c].fnSetData(a.aoData[b]._aData,d,{settings:a,row:b,col:c})}function La(a){return h.map(a.match(/(\\.|[^\.])+/g)||
[""],function(a){return a.replace(/\\./g,".")})}function Q(a){if(h.isPlainObject(a)){var b={};h.each(a,function(a,c){c&&(b[a]=Q(c))});return function(a,c,f,g){var j=b[c]||b._;return j!==k?j(a,c,f,g):a}}if(null===a)return function(a){return a};if("function"===typeof a)return function(b,c,f,g){return a(b,c,f,g)};if("string"===typeof a&&(-1!==a.indexOf(".")||-1!==a.indexOf("[")||-1!==a.indexOf("("))){var c=function(a,b,f){var g,j;if(""!==f){j=La(f);for(var i=0,n=j.length;i<n;i++){f=j[i].match(ba);g=
j[i].match(V);if(f){j[i]=j[i].replace(ba,"");""!==j[i]&&(a=a[j[i]]);g=[];j.splice(0,i+1);j=j.join(".");if(h.isArray(a)){i=0;for(n=a.length;i<n;i++)g.push(c(a[i],b,j))}a=f[0].substring(1,f[0].length-1);a=""===a?g:g.join(a);break}else if(g){j[i]=j[i].replace(V,"");a=a[j[i]]();continue}if(null===a||a[j[i]]===k)return k;a=a[j[i]]}}return a};return function(b,e){return c(b,e,a)}}return function(b){return b[a]}}function R(a){if(h.isPlainObject(a))return R(a._);if(null===a)return function(){};if("function"===
typeof a)return function(b,d,e){a(b,"set",d,e)};if("string"===typeof a&&(-1!==a.indexOf(".")||-1!==a.indexOf("[")||-1!==a.indexOf("("))){var b=function(a,d,e){var e=La(e),f;f=e[e.length-1];for(var g,j,i=0,n=e.length-1;i<n;i++){g=e[i].match(ba);j=e[i].match(V);if(g){e[i]=e[i].replace(ba,"");a[e[i]]=[];f=e.slice();f.splice(0,i+1);g=f.join(".");if(h.isArray(d)){j=0;for(n=d.length;j<n;j++)f={},b(f,d[j],g),a[e[i]].push(f)}else a[e[i]]=d;return}j&&(e[i]=e[i].replace(V,""),a=a[e[i]](d));if(null===a[e[i]]||
a[e[i]]===k)a[e[i]]={};a=a[e[i]]}if(f.match(V))a[f.replace(V,"")](d);else a[f.replace(ba,"")]=d};return function(c,d){return b(c,d,a)}}return function(b,d){b[a]=d}}function Ma(a){return F(a.aoData,"_aData")}function na(a){a.aoData.length=0;a.aiDisplayMaster.length=0;a.aiDisplay.length=0;a.aIds={}}function oa(a,b,c){for(var d=-1,e=0,f=a.length;e<f;e++)a[e]==b?d=e:a[e]>b&&a[e]--; -1!=d&&c===k&&a.splice(d,1)}function ca(a,b,c,d){var e=a.aoData[b],f,g=function(c,d){for(;c.childNodes.length;)c.removeChild(c.firstChild);
c.innerHTML=B(a,b,d,"display")};if("dom"===c||(!c||"auto"===c)&&"dom"===e.src)e._aData=Ka(a,e,d,d===k?k:e._aData).data;else{var j=e.anCells;if(j)if(d!==k)g(j[d],d);else{c=0;for(f=j.length;c<f;c++)g(j[c],c)}}e._aSortData=null;e._aFilterData=null;g=a.aoColumns;if(d!==k)g[d].sType=null;else{c=0;for(f=g.length;c<f;c++)g[c].sType=null;Na(a,e)}}function Ka(a,b,c,d){var e=[],f=b.firstChild,g,j,i=0,n,l=a.aoColumns,q=a._rowReadObject,d=d!==k?d:q?{}:[],t=function(a,b){if("string"===typeof a){var c=a.indexOf("@");
-1!==c&&(c=a.substring(c+1),R(a)(d,b.getAttribute(c)))}},S=function(a){if(c===k||c===i)j=l[i],n=h.trim(a.innerHTML),j&&j._bAttrSrc?(R(j.mData._)(d,n),t(j.mData.sort,a),t(j.mData.type,a),t(j.mData.filter,a)):q?(j._setter||(j._setter=R(j.mData)),j._setter(d,n)):d[i]=n;i++};if(f)for(;f;){g=f.nodeName.toUpperCase();if("TD"==g||"TH"==g)S(f),e.push(f);f=f.nextSibling}else{e=b.anCells;f=0;for(g=e.length;f<g;f++)S(e[f])}if(b=b.firstChild?b:b.nTr)(b=b.getAttribute("id"))&&R(a.rowId)(d,b);return{data:d,cells:e}}
function Ja(a,b,c,d){var e=a.aoData[b],f=e._aData,g=[],j,i,n,l,q;if(null===e.nTr){j=c||I.createElement("tr");e.nTr=j;e.anCells=g;j._DT_RowIndex=b;Na(a,e);l=0;for(q=a.aoColumns.length;l<q;l++){n=a.aoColumns[l];i=c?d[l]:I.createElement(n.sCellType);i._DT_CellIndex={row:b,column:l};g.push(i);if((!c||n.mRender||n.mData!==l)&&(!h.isPlainObject(n.mData)||n.mData._!==l+".display"))i.innerHTML=B(a,b,l,"display");n.sClass&&(i.className+=" "+n.sClass);n.bVisible&&!c?j.appendChild(i):!n.bVisible&&c&&i.parentNode.removeChild(i);
n.fnCreatedCell&&n.fnCreatedCell.call(a.oInstance,i,B(a,b,l),f,b,l)}u(a,"aoRowCreatedCallback",null,[j,f,b])}e.nTr.setAttribute("role","row")}function Na(a,b){var c=b.nTr,d=b._aData;if(c){var e=a.rowIdFn(d);e&&(c.id=e);d.DT_RowClass&&(e=d.DT_RowClass.split(" "),b.__rowc=b.__rowc?pa(b.__rowc.concat(e)):e,h(c).removeClass(b.__rowc.join(" ")).addClass(d.DT_RowClass));d.DT_RowAttr&&h(c).attr(d.DT_RowAttr);d.DT_RowData&&h(c).data(d.DT_RowData)}}function kb(a){var b,c,d,e,f,g=a.nTHead,j=a.nTFoot,i=0===
h("th, td",g).length,n=a.oClasses,l=a.aoColumns;i&&(e=h("<tr/>").appendTo(g));b=0;for(c=l.length;b<c;b++)f=l[b],d=h(f.nTh).addClass(f.sClass),i&&d.appendTo(e),a.oFeatures.bSort&&(d.addClass(f.sSortingClass),!1!==f.bSortable&&(d.attr("tabindex",a.iTabIndex).attr("aria-controls",a.sTableId),Oa(a,f.nTh,b))),f.sTitle!=d[0].innerHTML&&d.html(f.sTitle),Pa(a,"header")(a,d,f,n);i&&da(a.aoHeader,g);h(g).find(">tr").attr("role","row");h(g).find(">tr>th, >tr>td").addClass(n.sHeaderTH);h(j).find(">tr>th, >tr>td").addClass(n.sFooterTH);
if(null!==j){a=a.aoFooter[0];b=0;for(c=a.length;b<c;b++)f=l[b],f.nTf=a[b].cell,f.sClass&&h(f.nTf).addClass(f.sClass)}}function ea(a,b,c){var d,e,f,g=[],j=[],i=a.aoColumns.length,n;if(b){c===k&&(c=!1);d=0;for(e=b.length;d<e;d++){g[d]=b[d].slice();g[d].nTr=b[d].nTr;for(f=i-1;0<=f;f--)!a.aoColumns[f].bVisible&&!c&&g[d].splice(f,1);j.push([])}d=0;for(e=g.length;d<e;d++){if(a=g[d].nTr)for(;f=a.firstChild;)a.removeChild(f);f=0;for(b=g[d].length;f<b;f++)if(n=i=1,j[d][f]===k){a.appendChild(g[d][f].cell);
for(j[d][f]=1;g[d+i]!==k&&g[d][f].cell==g[d+i][f].cell;)j[d+i][f]=1,i++;for(;g[d][f+n]!==k&&g[d][f].cell==g[d][f+n].cell;){for(c=0;c<i;c++)j[d+c][f+n]=1;n++}h(g[d][f].cell).attr("rowspan",i).attr("colspan",n)}}}}function O(a){var b=u(a,"aoPreDrawCallback","preDraw",[a]);if(-1!==h.inArray(!1,b))C(a,!1);else{var b=[],c=0,d=a.asStripeClasses,e=d.length,f=a.oLanguage,g=a.iInitDisplayStart,j="ssp"==y(a),i=a.aiDisplay;a.bDrawing=!0;g!==k&&-1!==g&&(a._iDisplayStart=j?g:g>=a.fnRecordsDisplay()?0:g,a.iInitDisplayStart=
-1);var g=a._iDisplayStart,n=a.fnDisplayEnd();if(a.bDeferLoading)a.bDeferLoading=!1,a.iDraw++,C(a,!1);else if(j){if(!a.bDestroying&&!lb(a))return}else a.iDraw++;if(0!==i.length){f=j?a.aoData.length:n;for(j=j?0:g;j<f;j++){var l=i[j],q=a.aoData[l];null===q.nTr&&Ja(a,l);l=q.nTr;if(0!==e){var t=d[c%e];q._sRowStripe!=t&&(h(l).removeClass(q._sRowStripe).addClass(t),q._sRowStripe=t)}u(a,"aoRowCallback",null,[l,q._aData,c,j]);b.push(l);c++}}else c=f.sZeroRecords,1==a.iDraw&&"ajax"==y(a)?c=f.sLoadingRecords:
f.sEmptyTable&&0===a.fnRecordsTotal()&&(c=f.sEmptyTable),b[0]=h("<tr/>",{"class":e?d[0]:""}).append(h("<td />",{valign:"top",colSpan:aa(a),"class":a.oClasses.sRowEmpty}).html(c))[0];u(a,"aoHeaderCallback","header",[h(a.nTHead).children("tr")[0],Ma(a),g,n,i]);u(a,"aoFooterCallback","footer",[h(a.nTFoot).children("tr")[0],Ma(a),g,n,i]);d=h(a.nTBody);d.children().detach();d.append(h(b));u(a,"aoDrawCallback","draw",[a]);a.bSorted=!1;a.bFiltered=!1;a.bDrawing=!1}}function T(a,b){var c=a.oFeatures,d=c.bFilter;
c.bSort&&mb(a);d?fa(a,a.oPreviousSearch):a.aiDisplay=a.aiDisplayMaster.slice();!0!==b&&(a._iDisplayStart=0);a._drawHold=b;O(a);a._drawHold=!1}function nb(a){var b=a.oClasses,c=h(a.nTable),c=h("<div/>").insertBefore(c),d=a.oFeatures,e=h("<div/>",{id:a.sTableId+"_wrapper","class":b.sWrapper+(a.nTFoot?"":" "+b.sNoFooter)});a.nHolding=c[0];a.nTableWrapper=e[0];a.nTableReinsertBefore=a.nTable.nextSibling;for(var f=a.sDom.split(""),g,j,i,n,l,q,t=0;t<f.length;t++){g=null;j=f[t];if("<"==j){i=h("<div/>")[0];
n=f[t+1];if("'"==n||'"'==n){l="";for(q=2;f[t+q]!=n;)l+=f[t+q],q++;"H"==l?l=b.sJUIHeader:"F"==l&&(l=b.sJUIFooter);-1!=l.indexOf(".")?(n=l.split("."),i.id=n[0].substr(1,n[0].length-1),i.className=n[1]):"#"==l.charAt(0)?i.id=l.substr(1,l.length-1):i.className=l;t+=q}e.append(i);e=h(i)}else if(">"==j)e=e.parent();else if("l"==j&&d.bPaginate&&d.bLengthChange)g=ob(a);else if("f"==j&&d.bFilter)g=pb(a);else if("r"==j&&d.bProcessing)g=qb(a);else if("t"==j)g=rb(a);else if("i"==j&&d.bInfo)g=sb(a);else if("p"==
j&&d.bPaginate)g=tb(a);else if(0!==m.ext.feature.length){i=m.ext.feature;q=0;for(n=i.length;q<n;q++)if(j==i[q].cFeature){g=i[q].fnInit(a);break}}g&&(i=a.aanFeatures,i[j]||(i[j]=[]),i[j].push(g),e.append(g))}c.replaceWith(e);a.nHolding=null}function da(a,b){var c=h(b).children("tr"),d,e,f,g,j,i,n,l,q,t;a.splice(0,a.length);f=0;for(i=c.length;f<i;f++)a.push([]);f=0;for(i=c.length;f<i;f++){d=c[f];for(e=d.firstChild;e;){if("TD"==e.nodeName.toUpperCase()||"TH"==e.nodeName.toUpperCase()){l=1*e.getAttribute("colspan");
q=1*e.getAttribute("rowspan");l=!l||0===l||1===l?1:l;q=!q||0===q||1===q?1:q;g=0;for(j=a[f];j[g];)g++;n=g;t=1===l?!0:!1;for(j=0;j<l;j++)for(g=0;g<q;g++)a[f+g][n+j]={cell:e,unique:t},a[f+g].nTr=d}e=e.nextSibling}}}function qa(a,b,c){var d=[];c||(c=a.aoHeader,b&&(c=[],da(c,b)));for(var b=0,e=c.length;b<e;b++)for(var f=0,g=c[b].length;f<g;f++)if(c[b][f].unique&&(!d[f]||!a.bSortCellsTop))d[f]=c[b][f].cell;return d}function ra(a,b,c){u(a,"aoServerParams","serverParams",[b]);if(b&&h.isArray(b)){var d={},
e=/(.*?)\[\]$/;h.each(b,function(a,b){var c=b.name.match(e);c?(c=c[0],d[c]||(d[c]=[]),d[c].push(b.value)):d[b.name]=b.value});b=d}var f,g=a.ajax,j=a.oInstance,i=function(b){u(a,null,"xhr",[a,b,a.jqXHR]);c(b)};if(h.isPlainObject(g)&&g.data){f=g.data;var n=h.isFunction(f)?f(b,a):f,b=h.isFunction(f)&&n?n:h.extend(!0,b,n);delete g.data}n={data:b,success:function(b){var c=b.error||b.sError;c&&L(a,0,c);a.json=b;i(b)},dataType:"json",cache:!1,type:a.sServerMethod,error:function(b,c){var d=u(a,null,"xhr",
[a,null,a.jqXHR]);-1===h.inArray(!0,d)&&("parsererror"==c?L(a,0,"Invalid JSON response",1):4===b.readyState&&L(a,0,"Ajax error",7));C(a,!1)}};a.oAjaxData=b;u(a,null,"preXhr",[a,b]);a.fnServerData?a.fnServerData.call(j,a.sAjaxSource,h.map(b,function(a,b){return{name:b,value:a}}),i,a):a.sAjaxSource||"string"===typeof g?a.jqXHR=h.ajax(h.extend(n,{url:g||a.sAjaxSource})):h.isFunction(g)?a.jqXHR=g.call(j,b,i,a):(a.jqXHR=h.ajax(h.extend(n,g)),g.data=f)}function lb(a){return a.bAjaxDataGet?(a.iDraw++,C(a,
!0),ra(a,ub(a),function(b){vb(a,b)}),!1):!0}function ub(a){var b=a.aoColumns,c=b.length,d=a.oFeatures,e=a.oPreviousSearch,f=a.aoPreSearchCols,g,j=[],i,n,l,q=W(a);g=a._iDisplayStart;i=!1!==d.bPaginate?a._iDisplayLength:-1;var k=function(a,b){j.push({name:a,value:b})};k("sEcho",a.iDraw);k("iColumns",c);k("sColumns",F(b,"sName").join(","));k("iDisplayStart",g);k("iDisplayLength",i);var S={draw:a.iDraw,columns:[],order:[],start:g,length:i,search:{value:e.sSearch,regex:e.bRegex}};for(g=0;g<c;g++)n=b[g],
l=f[g],i="function"==typeof n.mData?"function":n.mData,S.columns.push({data:i,name:n.sName,searchable:n.bSearchable,orderable:n.bSortable,search:{value:l.sSearch,regex:l.bRegex}}),k("mDataProp_"+g,i),d.bFilter&&(k("sSearch_"+g,l.sSearch),k("bRegex_"+g,l.bRegex),k("bSearchable_"+g,n.bSearchable)),d.bSort&&k("bSortable_"+g,n.bSortable);d.bFilter&&(k("sSearch",e.sSearch),k("bRegex",e.bRegex));d.bSort&&(h.each(q,function(a,b){S.order.push({column:b.col,dir:b.dir});k("iSortCol_"+a,b.col);k("sSortDir_"+
a,b.dir)}),k("iSortingCols",q.length));b=m.ext.legacy.ajax;return null===b?a.sAjaxSource?j:S:b?j:S}function vb(a,b){var c=sa(a,b),d=b.sEcho!==k?b.sEcho:b.draw,e=b.iTotalRecords!==k?b.iTotalRecords:b.recordsTotal,f=b.iTotalDisplayRecords!==k?b.iTotalDisplayRecords:b.recordsFiltered;if(d){if(1*d<a.iDraw)return;a.iDraw=1*d}na(a);a._iRecordsTotal=parseInt(e,10);a._iRecordsDisplay=parseInt(f,10);d=0;for(e=c.length;d<e;d++)N(a,c[d]);a.aiDisplay=a.aiDisplayMaster.slice();a.bAjaxDataGet=!1;O(a);a._bInitComplete||
ta(a,b);a.bAjaxDataGet=!0;C(a,!1)}function sa(a,b){var c=h.isPlainObject(a.ajax)&&a.ajax.dataSrc!==k?a.ajax.dataSrc:a.sAjaxDataProp;return"data"===c?b.aaData||b[c]:""!==c?Q(c)(b):b}function pb(a){var b=a.oClasses,c=a.sTableId,d=a.oLanguage,e=a.oPreviousSearch,f=a.aanFeatures,g='<input type="search" class="'+b.sFilterInput+'"/>',j=d.sSearch,j=j.match(/_INPUT_/)?j.replace("_INPUT_",g):j+g,b=h("<div/>",{id:!f.f?c+"_filter":null,"class":b.sFilter}).append(h("<label/>").append(j)),f=function(){var b=!this.value?
"":this.value;b!=e.sSearch&&(fa(a,{sSearch:b,bRegex:e.bRegex,bSmart:e.bSmart,bCaseInsensitive:e.bCaseInsensitive}),a._iDisplayStart=0,O(a))},g=null!==a.searchDelay?a.searchDelay:"ssp"===y(a)?400:0,i=h("input",b).val(e.sSearch).attr("placeholder",d.sSearchPlaceholder).bind("keyup.DT search.DT input.DT paste.DT cut.DT",g?ua(f,g):f).bind("keypress.DT",function(a){if(13==a.keyCode)return!1}).attr("aria-controls",c);h(a.nTable).on("search.dt.DT",function(b,c){if(a===c)try{i[0]!==I.activeElement&&i.val(e.sSearch)}catch(d){}});
return b[0]}function fa(a,b,c){var d=a.oPreviousSearch,e=a.aoPreSearchCols,f=function(a){d.sSearch=a.sSearch;d.bRegex=a.bRegex;d.bSmart=a.bSmart;d.bCaseInsensitive=a.bCaseInsensitive};Ia(a);if("ssp"!=y(a)){wb(a,b.sSearch,c,b.bEscapeRegex!==k?!b.bEscapeRegex:b.bRegex,b.bSmart,b.bCaseInsensitive);f(b);for(b=0;b<e.length;b++)xb(a,e[b].sSearch,b,e[b].bEscapeRegex!==k?!e[b].bEscapeRegex:e[b].bRegex,e[b].bSmart,e[b].bCaseInsensitive);yb(a)}else f(b);a.bFiltered=!0;u(a,null,"search",[a])}function yb(a){for(var b=
m.ext.search,c=a.aiDisplay,d,e,f=0,g=b.length;f<g;f++){for(var j=[],i=0,n=c.length;i<n;i++)e=c[i],d=a.aoData[e],b[f](a,d._aFilterData,e,d._aData,i)&&j.push(e);c.length=0;h.merge(c,j)}}function xb(a,b,c,d,e,f){if(""!==b)for(var g=a.aiDisplay,d=Qa(b,d,e,f),e=g.length-1;0<=e;e--)b=a.aoData[g[e]]._aFilterData[c],d.test(b)||g.splice(e,1)}function wb(a,b,c,d,e,f){var d=Qa(b,d,e,f),e=a.oPreviousSearch.sSearch,f=a.aiDisplayMaster,g;0!==m.ext.search.length&&(c=!0);g=zb(a);if(0>=b.length)a.aiDisplay=f.slice();
else{if(g||c||e.length>b.length||0!==b.indexOf(e)||a.bSorted)a.aiDisplay=f.slice();b=a.aiDisplay;for(c=b.length-1;0<=c;c--)d.test(a.aoData[b[c]]._sFilterRow)||b.splice(c,1)}}function Qa(a,b,c,d){a=b?a:va(a);c&&(a="^(?=.*?"+h.map(a.match(/"[^"]+"|[^ ]+/g)||[""],function(a){if('"'===a.charAt(0))var b=a.match(/^"(.*)"$/),a=b?b[1]:a;return a.replace('"',"")}).join(")(?=.*?")+").*$");return RegExp(a,d?"i":"")}function va(a){return a.replace(Zb,"\\$1")}function zb(a){var b=a.aoColumns,c,d,e,f,g,j,i,h,l=
m.ext.type.search;c=!1;d=0;for(f=a.aoData.length;d<f;d++)if(h=a.aoData[d],!h._aFilterData){j=[];e=0;for(g=b.length;e<g;e++)c=b[e],c.bSearchable?(i=B(a,d,e,"filter"),l[c.sType]&&(i=l[c.sType](i)),null===i&&(i=""),"string"!==typeof i&&i.toString&&(i=i.toString())):i="",i.indexOf&&-1!==i.indexOf("&")&&(wa.innerHTML=i,i=$b?wa.textContent:wa.innerText),i.replace&&(i=i.replace(/[\r\n]/g,"")),j.push(i);h._aFilterData=j;h._sFilterRow=j.join("  ");c=!0}return c}function Ab(a){return{search:a.sSearch,smart:a.bSmart,
regex:a.bRegex,caseInsensitive:a.bCaseInsensitive}}function Bb(a){return{sSearch:a.search,bSmart:a.smart,bRegex:a.regex,bCaseInsensitive:a.caseInsensitive}}function sb(a){var b=a.sTableId,c=a.aanFeatures.i,d=h("<div/>",{"class":a.oClasses.sInfo,id:!c?b+"_info":null});c||(a.aoDrawCallback.push({fn:Cb,sName:"information"}),d.attr("role","status").attr("aria-live","polite"),h(a.nTable).attr("aria-describedby",b+"_info"));return d[0]}function Cb(a){var b=a.aanFeatures.i;if(0!==b.length){var c=a.oLanguage,
d=a._iDisplayStart+1,e=a.fnDisplayEnd(),f=a.fnRecordsTotal(),g=a.fnRecordsDisplay(),j=g?c.sInfo:c.sInfoEmpty;g!==f&&(j+=" "+c.sInfoFiltered);j+=c.sInfoPostFix;j=Db(a,j);c=c.fnInfoCallback;null!==c&&(j=c.call(a.oInstance,a,d,e,f,g,j));h(b).html(j)}}function Db(a,b){var c=a.fnFormatNumber,d=a._iDisplayStart+1,e=a._iDisplayLength,f=a.fnRecordsDisplay(),g=-1===e;return b.replace(/_START_/g,c.call(a,d)).replace(/_END_/g,c.call(a,a.fnDisplayEnd())).replace(/_MAX_/g,c.call(a,a.fnRecordsTotal())).replace(/_TOTAL_/g,
c.call(a,f)).replace(/_PAGE_/g,c.call(a,g?1:Math.ceil(d/e))).replace(/_PAGES_/g,c.call(a,g?1:Math.ceil(f/e)))}function ga(a){var b,c,d=a.iInitDisplayStart,e=a.aoColumns,f;c=a.oFeatures;var g=a.bDeferLoading;if(a.bInitialised){nb(a);kb(a);ea(a,a.aoHeader);ea(a,a.aoFooter);C(a,!0);c.bAutoWidth&&Ha(a);b=0;for(c=e.length;b<c;b++)f=e[b],f.sWidth&&(f.nTh.style.width=x(f.sWidth));u(a,null,"preInit",[a]);T(a);e=y(a);if("ssp"!=e||g)"ajax"==e?ra(a,[],function(c){var f=sa(a,c);for(b=0;b<f.length;b++)N(a,f[b]);
a.iInitDisplayStart=d;T(a);C(a,!1);ta(a,c)},a):(C(a,!1),ta(a))}else setTimeout(function(){ga(a)},200)}function ta(a,b){a._bInitComplete=!0;(b||a.oInit.aaData)&&U(a);u(a,null,"plugin-init",[a,b]);u(a,"aoInitComplete","init",[a,b])}function Ra(a,b){var c=parseInt(b,10);a._iDisplayLength=c;Sa(a);u(a,null,"length",[a,c])}function ob(a){for(var b=a.oClasses,c=a.sTableId,d=a.aLengthMenu,e=h.isArray(d[0]),f=e?d[0]:d,d=e?d[1]:d,e=h("<select/>",{name:c+"_length","aria-controls":c,"class":b.sLengthSelect}),
g=0,j=f.length;g<j;g++)e[0][g]=new Option(d[g],f[g]);var i=h("<div><label/></div>").addClass(b.sLength);a.aanFeatures.l||(i[0].id=c+"_length");i.children().append(a.oLanguage.sLengthMenu.replace("_MENU_",e[0].outerHTML));h("select",i).val(a._iDisplayLength).bind("change.DT",function(){Ra(a,h(this).val());O(a)});h(a.nTable).bind("length.dt.DT",function(b,c,d){a===c&&h("select",i).val(d)});return i[0]}function tb(a){var b=a.sPaginationType,c=m.ext.pager[b],d="function"===typeof c,e=function(a){O(a)},
b=h("<div/>").addClass(a.oClasses.sPaging+b)[0],f=a.aanFeatures;d||c.fnInit(a,b,e);f.p||(b.id=a.sTableId+"_paginate",a.aoDrawCallback.push({fn:function(a){if(d){var b=a._iDisplayStart,i=a._iDisplayLength,h=a.fnRecordsDisplay(),l=-1===i,b=l?0:Math.ceil(b/i),i=l?1:Math.ceil(h/i),h=c(b,i),k,l=0;for(k=f.p.length;l<k;l++)Pa(a,"pageButton")(a,f.p[l],l,h,b,i)}else c.fnUpdate(a,e)},sName:"pagination"}));return b}function Ta(a,b,c){var d=a._iDisplayStart,e=a._iDisplayLength,f=a.fnRecordsDisplay();0===f||-1===
e?d=0:"number"===typeof b?(d=b*e,d>f&&(d=0)):"first"==b?d=0:"previous"==b?(d=0<=e?d-e:0,0>d&&(d=0)):"next"==b?d+e<f&&(d+=e):"last"==b?d=Math.floor((f-1)/e)*e:L(a,0,"Unknown paging action: "+b,5);b=a._iDisplayStart!==d;a._iDisplayStart=d;b&&(u(a,null,"page",[a]),c&&O(a));return b}function qb(a){return h("<div/>",{id:!a.aanFeatures.r?a.sTableId+"_processing":null,"class":a.oClasses.sProcessing}).html(a.oLanguage.sProcessing).insertBefore(a.nTable)[0]}function C(a,b){a.oFeatures.bProcessing&&h(a.aanFeatures.r).css("display",
b?"block":"none");u(a,null,"processing",[a,b])}function rb(a){var b=h(a.nTable);b.attr("role","grid");var c=a.oScroll;if(""===c.sX&&""===c.sY)return a.nTable;var d=c.sX,e=c.sY,f=a.oClasses,g=b.children("caption"),j=g.length?g[0]._captionSide:null,i=h(b[0].cloneNode(!1)),n=h(b[0].cloneNode(!1)),l=b.children("tfoot");l.length||(l=null);i=h("<div/>",{"class":f.sScrollWrapper}).append(h("<div/>",{"class":f.sScrollHead}).css({overflow:"hidden",position:"relative",border:0,width:d?!d?null:x(d):"100%"}).append(h("<div/>",
{"class":f.sScrollHeadInner}).css({"box-sizing":"content-box",width:c.sXInner||"100%"}).append(i.removeAttr("id").css("margin-left",0).append("top"===j?g:null).append(b.children("thead"))))).append(h("<div/>",{"class":f.sScrollBody}).css({position:"relative",overflow:"auto",width:!d?null:x(d)}).append(b));l&&i.append(h("<div/>",{"class":f.sScrollFoot}).css({overflow:"hidden",border:0,width:d?!d?null:x(d):"100%"}).append(h("<div/>",{"class":f.sScrollFootInner}).append(n.removeAttr("id").css("margin-left",
0).append("bottom"===j?g:null).append(b.children("tfoot")))));var b=i.children(),k=b[0],f=b[1],t=l?b[2]:null;if(d)h(f).on("scroll.DT",function(){var a=this.scrollLeft;k.scrollLeft=a;l&&(t.scrollLeft=a)});h(f).css(e&&c.bCollapse?"max-height":"height",e);a.nScrollHead=k;a.nScrollBody=f;a.nScrollFoot=t;a.aoDrawCallback.push({fn:ka,sName:"scrolling"});return i[0]}function ka(a){var b=a.oScroll,c=b.sX,d=b.sXInner,e=b.sY,b=b.iBarWidth,f=h(a.nScrollHead),g=f[0].style,j=f.children("div"),i=j[0].style,n=j.children("table"),
j=a.nScrollBody,l=h(j),q=j.style,t=h(a.nScrollFoot).children("div"),m=t.children("table"),o=h(a.nTHead),G=h(a.nTable),p=G[0],r=p.style,u=a.nTFoot?h(a.nTFoot):null,Eb=a.oBrowser,Ua=Eb.bScrollOversize,s=F(a.aoColumns,"nTh"),P,v,w,y,z=[],A=[],B=[],C=[],D,E=function(a){a=a.style;a.paddingTop="0";a.paddingBottom="0";a.borderTopWidth="0";a.borderBottomWidth="0";a.height=0};v=j.scrollHeight>j.clientHeight;if(a.scrollBarVis!==v&&a.scrollBarVis!==k)a.scrollBarVis=v,U(a);else{a.scrollBarVis=v;G.children("thead, tfoot").remove();
u&&(w=u.clone().prependTo(G),P=u.find("tr"),w=w.find("tr"));y=o.clone().prependTo(G);o=o.find("tr");v=y.find("tr");y.find("th, td").removeAttr("tabindex");c||(q.width="100%",f[0].style.width="100%");h.each(qa(a,y),function(b,c){D=Z(a,b);c.style.width=a.aoColumns[D].sWidth});u&&J(function(a){a.style.width=""},w);f=G.outerWidth();if(""===c){r.width="100%";if(Ua&&(G.find("tbody").height()>j.offsetHeight||"scroll"==l.css("overflow-y")))r.width=x(G.outerWidth()-b);f=G.outerWidth()}else""!==d&&(r.width=
x(d),f=G.outerWidth());J(E,v);J(function(a){B.push(a.innerHTML);z.push(x(h(a).css("width")))},v);J(function(a,b){if(h.inArray(a,s)!==-1)a.style.width=z[b]},o);h(v).height(0);u&&(J(E,w),J(function(a){C.push(a.innerHTML);A.push(x(h(a).css("width")))},w),J(function(a,b){a.style.width=A[b]},P),h(w).height(0));J(function(a,b){a.innerHTML='<div class="dataTables_sizing" style="height:0;overflow:hidden;">'+B[b]+"</div>";a.style.width=z[b]},v);u&&J(function(a,b){a.innerHTML='<div class="dataTables_sizing" style="height:0;overflow:hidden;">'+
C[b]+"</div>";a.style.width=A[b]},w);if(G.outerWidth()<f){P=j.scrollHeight>j.offsetHeight||"scroll"==l.css("overflow-y")?f+b:f;if(Ua&&(j.scrollHeight>j.offsetHeight||"scroll"==l.css("overflow-y")))r.width=x(P-b);(""===c||""!==d)&&L(a,1,"Possible column misalignment",6)}else P="100%";q.width=x(P);g.width=x(P);u&&(a.nScrollFoot.style.width=x(P));!e&&Ua&&(q.height=x(p.offsetHeight+b));c=G.outerWidth();n[0].style.width=x(c);i.width=x(c);d=G.height()>j.clientHeight||"scroll"==l.css("overflow-y");e="padding"+
(Eb.bScrollbarLeft?"Left":"Right");i[e]=d?b+"px":"0px";u&&(m[0].style.width=x(c),t[0].style.width=x(c),t[0].style[e]=d?b+"px":"0px");G.children("colgroup").insertBefore(G.children("thead"));l.scroll();if((a.bSorted||a.bFiltered)&&!a._drawHold)j.scrollTop=0}}function J(a,b,c){for(var d=0,e=0,f=b.length,g,j;e<f;){g=b[e].firstChild;for(j=c?c[e].firstChild:null;g;)1===g.nodeType&&(c?a(g,j,d):a(g,d),d++),g=g.nextSibling,j=c?j.nextSibling:null;e++}}function Ha(a){var b=a.nTable,c=a.aoColumns,d=a.oScroll,
e=d.sY,f=d.sX,g=d.sXInner,j=c.length,i=la(a,"bVisible"),n=h("th",a.nTHead),l=b.getAttribute("width"),k=b.parentNode,t=!1,m,o,p=a.oBrowser,d=p.bScrollOversize;(m=b.style.width)&&-1!==m.indexOf("%")&&(l=m);for(m=0;m<i.length;m++)o=c[i[m]],null!==o.sWidth&&(o.sWidth=Fb(o.sWidthOrig,k),t=!0);if(d||!t&&!f&&!e&&j==aa(a)&&j==n.length)for(m=0;m<j;m++)i=Z(a,m),null!==i&&(c[i].sWidth=x(n.eq(m).width()));else{j=h(b).clone().css("visibility","hidden").removeAttr("id");j.find("tbody tr").remove();var r=h("<tr/>").appendTo(j.find("tbody"));
j.find("thead, tfoot").remove();j.append(h(a.nTHead).clone()).append(h(a.nTFoot).clone());j.find("tfoot th, tfoot td").css("width","");n=qa(a,j.find("thead")[0]);for(m=0;m<i.length;m++)o=c[i[m]],n[m].style.width=null!==o.sWidthOrig&&""!==o.sWidthOrig?x(o.sWidthOrig):"",o.sWidthOrig&&f&&h(n[m]).append(h("<div/>").css({width:o.sWidthOrig,margin:0,padding:0,border:0,height:1}));if(a.aoData.length)for(m=0;m<i.length;m++)t=i[m],o=c[t],h(Gb(a,t)).clone(!1).append(o.sContentPadding).appendTo(r);h("[name]",
j).removeAttr("name");o=h("<div/>").css(f||e?{position:"absolute",top:0,left:0,height:1,right:0,overflow:"hidden"}:{}).append(j).appendTo(k);f&&g?j.width(g):f?(j.css("width","auto"),j.removeAttr("width"),j.width()<k.clientWidth&&l&&j.width(k.clientWidth)):e?j.width(k.clientWidth):l&&j.width(l);for(m=e=0;m<i.length;m++)k=h(n[m]),g=k.outerWidth()-k.width(),k=p.bBounding?Math.ceil(n[m].getBoundingClientRect().width):k.outerWidth(),e+=k,c[i[m]].sWidth=x(k-g);b.style.width=x(e);o.remove()}l&&(b.style.width=
x(l));if((l||f)&&!a._reszEvt)b=function(){h(D).bind("resize.DT-"+a.sInstance,ua(function(){U(a)}))},d?setTimeout(b,1E3):b(),a._reszEvt=!0}function ua(a,b){var c=b!==k?b:200,d,e;return function(){var b=this,g=+new Date,j=arguments;d&&g<d+c?(clearTimeout(e),e=setTimeout(function(){d=k;a.apply(b,j)},c)):(d=g,a.apply(b,j))}}function Fb(a,b){if(!a)return 0;var c=h("<div/>").css("width",x(a)).appendTo(b||I.body),d=c[0].offsetWidth;c.remove();return d}function Gb(a,b){var c=Hb(a,b);if(0>c)return null;var d=
a.aoData[c];return!d.nTr?h("<td/>").html(B(a,c,b,"display"))[0]:d.anCells[b]}function Hb(a,b){for(var c,d=-1,e=-1,f=0,g=a.aoData.length;f<g;f++)c=B(a,f,b,"display")+"",c=c.replace(ac,""),c=c.replace(/&nbsp;/g," "),c.length>d&&(d=c.length,e=f);return e}function x(a){return null===a?"0px":"number"==typeof a?0>a?"0px":a+"px":a.match(/\d$/)?a+"px":a}function W(a){var b,c,d=[],e=a.aoColumns,f,g,j,i;b=a.aaSortingFixed;c=h.isPlainObject(b);var n=[];f=function(a){a.length&&!h.isArray(a[0])?n.push(a):h.merge(n,
a)};h.isArray(b)&&f(b);c&&b.pre&&f(b.pre);f(a.aaSorting);c&&b.post&&f(b.post);for(a=0;a<n.length;a++){i=n[a][0];f=e[i].aDataSort;b=0;for(c=f.length;b<c;b++)g=f[b],j=e[g].sType||"string",n[a]._idx===k&&(n[a]._idx=h.inArray(n[a][1],e[g].asSorting)),d.push({src:i,col:g,dir:n[a][1],index:n[a]._idx,type:j,formatter:m.ext.type.order[j+"-pre"]})}return d}function mb(a){var b,c,d=[],e=m.ext.type.order,f=a.aoData,g=0,j,i=a.aiDisplayMaster,h;Ia(a);h=W(a);b=0;for(c=h.length;b<c;b++)j=h[b],j.formatter&&g++,Ib(a,
j.col);if("ssp"!=y(a)&&0!==h.length){b=0;for(c=i.length;b<c;b++)d[i[b]]=b;g===h.length?i.sort(function(a,b){var c,e,g,j,i=h.length,k=f[a]._aSortData,m=f[b]._aSortData;for(g=0;g<i;g++)if(j=h[g],c=k[j.col],e=m[j.col],c=c<e?-1:c>e?1:0,0!==c)return"asc"===j.dir?c:-c;c=d[a];e=d[b];return c<e?-1:c>e?1:0}):i.sort(function(a,b){var c,g,j,i,k=h.length,m=f[a]._aSortData,p=f[b]._aSortData;for(j=0;j<k;j++)if(i=h[j],c=m[i.col],g=p[i.col],i=e[i.type+"-"+i.dir]||e["string-"+i.dir],c=i(c,g),0!==c)return c;c=d[a];
g=d[b];return c<g?-1:c>g?1:0})}a.bSorted=!0}function Jb(a){for(var b,c,d=a.aoColumns,e=W(a),a=a.oLanguage.oAria,f=0,g=d.length;f<g;f++){c=d[f];var j=c.asSorting;b=c.sTitle.replace(/<.*?>/g,"");var i=c.nTh;i.removeAttribute("aria-sort");c.bSortable&&(0<e.length&&e[0].col==f?(i.setAttribute("aria-sort","asc"==e[0].dir?"ascending":"descending"),c=j[e[0].index+1]||j[0]):c=j[0],b+="asc"===c?a.sSortAscending:a.sSortDescending);i.setAttribute("aria-label",b)}}function Va(a,b,c,d){var e=a.aaSorting,f=a.aoColumns[b].asSorting,
g=function(a,b){var c=a._idx;c===k&&(c=h.inArray(a[1],f));return c+1<f.length?c+1:b?null:0};"number"===typeof e[0]&&(e=a.aaSorting=[e]);c&&a.oFeatures.bSortMulti?(c=h.inArray(b,F(e,"0")),-1!==c?(b=g(e[c],!0),null===b&&1===e.length&&(b=0),null===b?e.splice(c,1):(e[c][1]=f[b],e[c]._idx=b)):(e.push([b,f[0],0]),e[e.length-1]._idx=0)):e.length&&e[0][0]==b?(b=g(e[0]),e.length=1,e[0][1]=f[b],e[0]._idx=b):(e.length=0,e.push([b,f[0]]),e[0]._idx=0);T(a);"function"==typeof d&&d(a)}function Oa(a,b,c,d){var e=
a.aoColumns[c];Wa(b,{},function(b){!1!==e.bSortable&&(a.oFeatures.bProcessing?(C(a,!0),setTimeout(function(){Va(a,c,b.shiftKey,d);"ssp"!==y(a)&&C(a,!1)},0)):Va(a,c,b.shiftKey,d))})}function xa(a){var b=a.aLastSort,c=a.oClasses.sSortColumn,d=W(a),e=a.oFeatures,f,g;if(e.bSort&&e.bSortClasses){e=0;for(f=b.length;e<f;e++)g=b[e].src,h(F(a.aoData,"anCells",g)).removeClass(c+(2>e?e+1:3));e=0;for(f=d.length;e<f;e++)g=d[e].src,h(F(a.aoData,"anCells",g)).addClass(c+(2>e?e+1:3))}a.aLastSort=d}function Ib(a,
b){var c=a.aoColumns[b],d=m.ext.order[c.sSortDataType],e;d&&(e=d.call(a.oInstance,a,b,$(a,b)));for(var f,g=m.ext.type.order[c.sType+"-pre"],j=0,i=a.aoData.length;j<i;j++)if(c=a.aoData[j],c._aSortData||(c._aSortData=[]),!c._aSortData[b]||d)f=d?e[j]:B(a,j,b,"sort"),c._aSortData[b]=g?g(f):f}function ya(a){if(a.oFeatures.bStateSave&&!a.bDestroying){var b={time:+new Date,start:a._iDisplayStart,length:a._iDisplayLength,order:h.extend(!0,[],a.aaSorting),search:Ab(a.oPreviousSearch),columns:h.map(a.aoColumns,
function(b,d){return{visible:b.bVisible,search:Ab(a.aoPreSearchCols[d])}})};u(a,"aoStateSaveParams","stateSaveParams",[a,b]);a.oSavedState=b;a.fnStateSaveCallback.call(a.oInstance,a,b)}}function Kb(a){var b,c,d=a.aoColumns;if(a.oFeatures.bStateSave){var e=a.fnStateLoadCallback.call(a.oInstance,a);if(e&&e.time&&(b=u(a,"aoStateLoadParams","stateLoadParams",[a,e]),-1===h.inArray(!1,b)&&(b=a.iStateDuration,!(0<b&&e.time<+new Date-1E3*b)&&d.length===e.columns.length))){a.oLoadedState=h.extend(!0,{},e);
e.start!==k&&(a._iDisplayStart=e.start,a.iInitDisplayStart=e.start);e.length!==k&&(a._iDisplayLength=e.length);e.order!==k&&(a.aaSorting=[],h.each(e.order,function(b,c){a.aaSorting.push(c[0]>=d.length?[0,c[1]]:c)}));e.search!==k&&h.extend(a.oPreviousSearch,Bb(e.search));b=0;for(c=e.columns.length;b<c;b++){var f=e.columns[b];f.visible!==k&&(d[b].bVisible=f.visible);f.search!==k&&h.extend(a.aoPreSearchCols[b],Bb(f.search))}u(a,"aoStateLoaded","stateLoaded",[a,e])}}}function za(a){var b=m.settings,a=
h.inArray(a,F(b,"nTable"));return-1!==a?b[a]:null}function L(a,b,c,d){c="DataTables warning: "+(a?"table id="+a.sTableId+" - ":"")+c;d&&(c+=". For more information about this error, please see http://datatables.net/tn/"+d);if(b)D.console&&console.log&&console.log(c);else if(b=m.ext,b=b.sErrMode||b.errMode,a&&u(a,null,"error",[a,d,c]),"alert"==b)alert(c);else{if("throw"==b)throw Error(c);"function"==typeof b&&b(a,d,c)}}function E(a,b,c,d){h.isArray(c)?h.each(c,function(c,d){h.isArray(d)?E(a,b,d[0],
d[1]):E(a,b,d)}):(d===k&&(d=c),b[c]!==k&&(a[d]=b[c]))}function Lb(a,b,c){var d,e;for(e in b)b.hasOwnProperty(e)&&(d=b[e],h.isPlainObject(d)?(h.isPlainObject(a[e])||(a[e]={}),h.extend(!0,a[e],d)):a[e]=c&&"data"!==e&&"aaData"!==e&&h.isArray(d)?d.slice():d);return a}function Wa(a,b,c){h(a).bind("click.DT",b,function(b){a.blur();c(b)}).bind("keypress.DT",b,function(a){13===a.which&&(a.preventDefault(),c(a))}).bind("selectstart.DT",function(){return!1})}function z(a,b,c,d){c&&a[b].push({fn:c,sName:d})}
function u(a,b,c,d){var e=[];b&&(e=h.map(a[b].slice().reverse(),function(b){return b.fn.apply(a.oInstance,d)}));null!==c&&(b=h.Event(c+".dt"),h(a.nTable).trigger(b,d),e.push(b.result));return e}function Sa(a){var b=a._iDisplayStart,c=a.fnDisplayEnd(),d=a._iDisplayLength;b>=c&&(b=c-d);b-=b%d;if(-1===d||0>b)b=0;a._iDisplayStart=b}function Pa(a,b){var c=a.renderer,d=m.ext.renderer[b];return h.isPlainObject(c)&&c[b]?d[c[b]]||d._:"string"===typeof c?d[c]||d._:d._}function y(a){return a.oFeatures.bServerSide?
"ssp":a.ajax||a.sAjaxSource?"ajax":"dom"}function Aa(a,b){var c=[],c=Mb.numbers_length,d=Math.floor(c/2);b<=c?c=X(0,b):a<=d?(c=X(0,c-2),c.push("ellipsis"),c.push(b-1)):(a>=b-1-d?c=X(b-(c-2),b):(c=X(a-d+2,a+d-1),c.push("ellipsis"),c.push(b-1)),c.splice(0,0,"ellipsis"),c.splice(0,0,0));c.DT_el="span";return c}function db(a){h.each({num:function(b){return Ba(b,a)},"num-fmt":function(b){return Ba(b,a,Xa)},"html-num":function(b){return Ba(b,a,Ca)},"html-num-fmt":function(b){return Ba(b,a,Ca,Xa)}},function(b,
c){v.type.order[b+a+"-pre"]=c;b.match(/^html\-/)&&(v.type.search[b+a]=v.type.search.html)})}function Nb(a){return function(){var b=[za(this[m.ext.iApiIndex])].concat(Array.prototype.slice.call(arguments));return m.ext.internal[a].apply(this,b)}}var m,v,r,p,s,Ya={},Ob=/[\r\n]/g,Ca=/<.*?>/g,bc=/^[\w\+\-]/,cc=/[\w\+\-]$/,Zb=RegExp("(\\/|\\.|\\*|\\+|\\?|\\||\\(|\\)|\\[|\\]|\\{|\\}|\\\\|\\$|\\^|\\-)","g"),Xa=/[',$£€¥%\u2009\u202F\u20BD\u20a9\u20BArfk]/gi,M=function(a){return!a||!0===a||"-"===a?!0:!1},
Pb=function(a){var b=parseInt(a,10);return!isNaN(b)&&isFinite(a)?b:null},Qb=function(a,b){Ya[b]||(Ya[b]=RegExp(va(b),"g"));return"string"===typeof a&&"."!==b?a.replace(/\./g,"").replace(Ya[b],"."):a},Za=function(a,b,c){var d="string"===typeof a;if(M(a))return!0;b&&d&&(a=Qb(a,b));c&&d&&(a=a.replace(Xa,""));return!isNaN(parseFloat(a))&&isFinite(a)},Rb=function(a,b,c){return M(a)?!0:!(M(a)||"string"===typeof a)?null:Za(a.replace(Ca,""),b,c)?!0:null},F=function(a,b,c){var d=[],e=0,f=a.length;if(c!==k)for(;e<
f;e++)a[e]&&a[e][b]&&d.push(a[e][b][c]);else for(;e<f;e++)a[e]&&d.push(a[e][b]);return d},ha=function(a,b,c,d){var e=[],f=0,g=b.length;if(d!==k)for(;f<g;f++)a[b[f]][c]&&e.push(a[b[f]][c][d]);else for(;f<g;f++)e.push(a[b[f]][c]);return e},X=function(a,b){var c=[],d;b===k?(b=0,d=a):(d=b,b=a);for(var e=b;e<d;e++)c.push(e);return c},Sb=function(a){for(var b=[],c=0,d=a.length;c<d;c++)a[c]&&b.push(a[c]);return b},pa=function(a){var b=[],c,d,e=a.length,f,g=0;d=0;a:for(;d<e;d++){c=a[d];for(f=0;f<g;f++)if(b[f]===
c)continue a;b.push(c);g++}return b},A=function(a,b,c){a[b]!==k&&(a[c]=a[b])},ba=/\[.*?\]$/,V=/\(\)$/,wa=h("<div>")[0],$b=wa.textContent!==k,ac=/<.*?>/g;m=function(a){this.$=function(a,b){return this.api(!0).$(a,b)};this._=function(a,b){return this.api(!0).rows(a,b).data()};this.api=function(a){return a?new r(za(this[v.iApiIndex])):new r(this)};this.fnAddData=function(a,b){var c=this.api(!0),d=h.isArray(a)&&(h.isArray(a[0])||h.isPlainObject(a[0]))?c.rows.add(a):c.row.add(a);(b===k||b)&&c.draw();return d.flatten().toArray()};
this.fnAdjustColumnSizing=function(a){var b=this.api(!0).columns.adjust(),c=b.settings()[0],d=c.oScroll;a===k||a?b.draw(!1):(""!==d.sX||""!==d.sY)&&ka(c)};this.fnClearTable=function(a){var b=this.api(!0).clear();(a===k||a)&&b.draw()};this.fnClose=function(a){this.api(!0).row(a).child.hide()};this.fnDeleteRow=function(a,b,c){var d=this.api(!0),a=d.rows(a),e=a.settings()[0],h=e.aoData[a[0][0]];a.remove();b&&b.call(this,e,h);(c===k||c)&&d.draw();return h};this.fnDestroy=function(a){this.api(!0).destroy(a)};
this.fnDraw=function(a){this.api(!0).draw(a)};this.fnFilter=function(a,b,c,d,e,h){e=this.api(!0);null===b||b===k?e.search(a,c,d,h):e.column(b).search(a,c,d,h);e.draw()};this.fnGetData=function(a,b){var c=this.api(!0);if(a!==k){var d=a.nodeName?a.nodeName.toLowerCase():"";return b!==k||"td"==d||"th"==d?c.cell(a,b).data():c.row(a).data()||null}return c.data().toArray()};this.fnGetNodes=function(a){var b=this.api(!0);return a!==k?b.row(a).node():b.rows().nodes().flatten().toArray()};this.fnGetPosition=
function(a){var b=this.api(!0),c=a.nodeName.toUpperCase();return"TR"==c?b.row(a).index():"TD"==c||"TH"==c?(a=b.cell(a).index(),[a.row,a.columnVisible,a.column]):null};this.fnIsOpen=function(a){return this.api(!0).row(a).child.isShown()};this.fnOpen=function(a,b,c){return this.api(!0).row(a).child(b,c).show().child()[0]};this.fnPageChange=function(a,b){var c=this.api(!0).page(a);(b===k||b)&&c.draw(!1)};this.fnSetColumnVis=function(a,b,c){a=this.api(!0).column(a).visible(b);(c===k||c)&&a.columns.adjust().draw()};
this.fnSettings=function(){return za(this[v.iApiIndex])};this.fnSort=function(a){this.api(!0).order(a).draw()};this.fnSortListener=function(a,b,c){this.api(!0).order.listener(a,b,c)};this.fnUpdate=function(a,b,c,d,e){var h=this.api(!0);c===k||null===c?h.row(b).data(a):h.cell(b,c).data(a);(e===k||e)&&h.columns.adjust();(d===k||d)&&h.draw();return 0};this.fnVersionCheck=v.fnVersionCheck;var b=this,c=a===k,d=this.length;c&&(a={});this.oApi=this.internal=v.internal;for(var e in m.ext.internal)e&&(this[e]=
Nb(e));this.each(function(){var e={},e=1<d?Lb(e,a,!0):a,g=0,j,i=this.getAttribute("id"),n=!1,l=m.defaults,q=h(this);if("table"!=this.nodeName.toLowerCase())L(null,0,"Non-table node initialisation ("+this.nodeName+")",2);else{eb(l);fb(l.column);K(l,l,!0);K(l.column,l.column,!0);K(l,h.extend(e,q.data()));var t=m.settings,g=0;for(j=t.length;g<j;g++){var p=t[g];if(p.nTable==this||p.nTHead.parentNode==this||p.nTFoot&&p.nTFoot.parentNode==this){g=e.bRetrieve!==k?e.bRetrieve:l.bRetrieve;if(c||g)return p.oInstance;
if(e.bDestroy!==k?e.bDestroy:l.bDestroy){p.oInstance.fnDestroy();break}else{L(p,0,"Cannot reinitialise DataTable",3);return}}if(p.sTableId==this.id){t.splice(g,1);break}}if(null===i||""===i)this.id=i="DataTables_Table_"+m.ext._unique++;var o=h.extend(!0,{},m.models.oSettings,{sDestroyWidth:q[0].style.width,sInstance:i,sTableId:i});o.nTable=this;o.oApi=b.internal;o.oInit=e;t.push(o);o.oInstance=1===b.length?b:q.dataTable();eb(e);e.oLanguage&&Fa(e.oLanguage);e.aLengthMenu&&!e.iDisplayLength&&(e.iDisplayLength=
h.isArray(e.aLengthMenu[0])?e.aLengthMenu[0][0]:e.aLengthMenu[0]);e=Lb(h.extend(!0,{},l),e);E(o.oFeatures,e,"bPaginate bLengthChange bFilter bSort bSortMulti bInfo bProcessing bAutoWidth bSortClasses bServerSide bDeferRender".split(" "));E(o,e,["asStripeClasses","ajax","fnServerData","fnFormatNumber","sServerMethod","aaSorting","aaSortingFixed","aLengthMenu","sPaginationType","sAjaxSource","sAjaxDataProp","iStateDuration","sDom","bSortCellsTop","iTabIndex","fnStateLoadCallback","fnStateSaveCallback",
"renderer","searchDelay","rowId",["iCookieDuration","iStateDuration"],["oSearch","oPreviousSearch"],["aoSearchCols","aoPreSearchCols"],["iDisplayLength","_iDisplayLength"],["bJQueryUI","bJUI"]]);E(o.oScroll,e,[["sScrollX","sX"],["sScrollXInner","sXInner"],["sScrollY","sY"],["bScrollCollapse","bCollapse"]]);E(o.oLanguage,e,"fnInfoCallback");z(o,"aoDrawCallback",e.fnDrawCallback,"user");z(o,"aoServerParams",e.fnServerParams,"user");z(o,"aoStateSaveParams",e.fnStateSaveParams,"user");z(o,"aoStateLoadParams",
e.fnStateLoadParams,"user");z(o,"aoStateLoaded",e.fnStateLoaded,"user");z(o,"aoRowCallback",e.fnRowCallback,"user");z(o,"aoRowCreatedCallback",e.fnCreatedRow,"user");z(o,"aoHeaderCallback",e.fnHeaderCallback,"user");z(o,"aoFooterCallback",e.fnFooterCallback,"user");z(o,"aoInitComplete",e.fnInitComplete,"user");z(o,"aoPreDrawCallback",e.fnPreDrawCallback,"user");o.rowIdFn=Q(e.rowId);gb(o);i=o.oClasses;e.bJQueryUI?(h.extend(i,m.ext.oJUIClasses,e.oClasses),e.sDom===l.sDom&&"lfrtip"===l.sDom&&(o.sDom=
'<"H"lfr>t<"F"ip>'),o.renderer)?h.isPlainObject(o.renderer)&&!o.renderer.header&&(o.renderer.header="jqueryui"):o.renderer="jqueryui":h.extend(i,m.ext.classes,e.oClasses);q.addClass(i.sTable);o.iInitDisplayStart===k&&(o.iInitDisplayStart=e.iDisplayStart,o._iDisplayStart=e.iDisplayStart);null!==e.iDeferLoading&&(o.bDeferLoading=!0,g=h.isArray(e.iDeferLoading),o._iRecordsDisplay=g?e.iDeferLoading[0]:e.iDeferLoading,o._iRecordsTotal=g?e.iDeferLoading[1]:e.iDeferLoading);var r=o.oLanguage;h.extend(!0,
r,e.oLanguage);""!==r.sUrl&&(h.ajax({dataType:"json",url:r.sUrl,success:function(a){Fa(a);K(l.oLanguage,a);h.extend(true,r,a);ga(o)},error:function(){ga(o)}}),n=!0);null===e.asStripeClasses&&(o.asStripeClasses=[i.sStripeOdd,i.sStripeEven]);var g=o.asStripeClasses,v=q.children("tbody").find("tr").eq(0);-1!==h.inArray(!0,h.map(g,function(a){return v.hasClass(a)}))&&(h("tbody tr",this).removeClass(g.join(" ")),o.asDestroyStripes=g.slice());t=[];g=this.getElementsByTagName("thead");0!==g.length&&(da(o.aoHeader,
g[0]),t=qa(o));if(null===e.aoColumns){p=[];g=0;for(j=t.length;g<j;g++)p.push(null)}else p=e.aoColumns;g=0;for(j=p.length;g<j;g++)Ga(o,t?t[g]:null);ib(o,e.aoColumnDefs,p,function(a,b){ja(o,a,b)});if(v.length){var s=function(a,b){return a.getAttribute("data-"+b)!==null?b:null};h(v[0]).children("th, td").each(function(a,b){var c=o.aoColumns[a];if(c.mData===a){var d=s(b,"sort")||s(b,"order"),e=s(b,"filter")||s(b,"search");if(d!==null||e!==null){c.mData={_:a+".display",sort:d!==null?a+".@data-"+d:k,type:d!==
null?a+".@data-"+d:k,filter:e!==null?a+".@data-"+e:k};ja(o,a)}}})}var w=o.oFeatures;e.bStateSave&&(w.bStateSave=!0,Kb(o,e),z(o,"aoDrawCallback",ya,"state_save"));if(e.aaSorting===k){t=o.aaSorting;g=0;for(j=t.length;g<j;g++)t[g][1]=o.aoColumns[g].asSorting[0]}xa(o);w.bSort&&z(o,"aoDrawCallback",function(){if(o.bSorted){var a=W(o),b={};h.each(a,function(a,c){b[c.src]=c.dir});u(o,null,"order",[o,a,b]);Jb(o)}});z(o,"aoDrawCallback",function(){(o.bSorted||y(o)==="ssp"||w.bDeferRender)&&xa(o)},"sc");g=
q.children("caption").each(function(){this._captionSide=q.css("caption-side")});j=q.children("thead");0===j.length&&(j=h("<thead/>").appendTo(this));o.nTHead=j[0];j=q.children("tbody");0===j.length&&(j=h("<tbody/>").appendTo(this));o.nTBody=j[0];j=q.children("tfoot");if(0===j.length&&0<g.length&&(""!==o.oScroll.sX||""!==o.oScroll.sY))j=h("<tfoot/>").appendTo(this);0===j.length||0===j.children().length?q.addClass(i.sNoFooter):0<j.length&&(o.nTFoot=j[0],da(o.aoFooter,o.nTFoot));if(e.aaData)for(g=0;g<
e.aaData.length;g++)N(o,e.aaData[g]);else(o.bDeferLoading||"dom"==y(o))&&ma(o,h(o.nTBody).children("tr"));o.aiDisplay=o.aiDisplayMaster.slice();o.bInitialised=!0;!1===n&&ga(o)}});b=null;return this};var Tb=[],w=Array.prototype,dc=function(a){var b,c,d=m.settings,e=h.map(d,function(a){return a.nTable});if(a){if(a.nTable&&a.oApi)return[a];if(a.nodeName&&"table"===a.nodeName.toLowerCase())return b=h.inArray(a,e),-1!==b?[d[b]]:null;if(a&&"function"===typeof a.settings)return a.settings().toArray();"string"===
typeof a?c=h(a):a instanceof h&&(c=a)}else return[];if(c)return c.map(function(){b=h.inArray(this,e);return-1!==b?d[b]:null}).toArray()};r=function(a,b){if(!(this instanceof r))return new r(a,b);var c=[],d=function(a){(a=dc(a))&&(c=c.concat(a))};if(h.isArray(a))for(var e=0,f=a.length;e<f;e++)d(a[e]);else d(a);this.context=pa(c);b&&h.merge(this,b);this.selector={rows:null,cols:null,opts:null};r.extend(this,this,Tb)};m.Api=r;h.extend(r.prototype,{any:function(){return 0!==this.count()},concat:w.concat,
context:[],count:function(){return this.flatten().length},each:function(a){for(var b=0,c=this.length;b<c;b++)a.call(this,this[b],b,this);return this},eq:function(a){var b=this.context;return b.length>a?new r(b[a],this[a]):null},filter:function(a){var b=[];if(w.filter)b=w.filter.call(this,a,this);else for(var c=0,d=this.length;c<d;c++)a.call(this,this[c],c,this)&&b.push(this[c]);return new r(this.context,b)},flatten:function(){var a=[];return new r(this.context,a.concat.apply(a,this.toArray()))},join:w.join,
indexOf:w.indexOf||function(a,b){for(var c=b||0,d=this.length;c<d;c++)if(this[c]===a)return c;return-1},iterator:function(a,b,c,d){var e=[],f,g,h,i,n,l=this.context,m,t,p=this.selector;"string"===typeof a&&(d=c,c=b,b=a,a=!1);g=0;for(h=l.length;g<h;g++){var o=new r(l[g]);if("table"===b)f=c.call(o,l[g],g),f!==k&&e.push(f);else if("columns"===b||"rows"===b)f=c.call(o,l[g],this[g],g),f!==k&&e.push(f);else if("column"===b||"column-rows"===b||"row"===b||"cell"===b){t=this[g];"column-rows"===b&&(m=Da(l[g],
p.opts));i=0;for(n=t.length;i<n;i++)f=t[i],f="cell"===b?c.call(o,l[g],f.row,f.column,g,i):c.call(o,l[g],f,g,i,m),f!==k&&e.push(f)}}return e.length||d?(a=new r(l,a?e.concat.apply([],e):e),b=a.selector,b.rows=p.rows,b.cols=p.cols,b.opts=p.opts,a):this},lastIndexOf:w.lastIndexOf||function(a,b){return this.indexOf.apply(this.toArray.reverse(),arguments)},length:0,map:function(a){var b=[];if(w.map)b=w.map.call(this,a,this);else for(var c=0,d=this.length;c<d;c++)b.push(a.call(this,this[c],c));return new r(this.context,
b)},pluck:function(a){return this.map(function(b){return b[a]})},pop:w.pop,push:w.push,reduce:w.reduce||function(a,b){return hb(this,a,b,0,this.length,1)},reduceRight:w.reduceRight||function(a,b){return hb(this,a,b,this.length-1,-1,-1)},reverse:w.reverse,selector:null,shift:w.shift,sort:w.sort,splice:w.splice,toArray:function(){return w.slice.call(this)},to$:function(){return h(this)},toJQuery:function(){return h(this)},unique:function(){return new r(this.context,pa(this))},unshift:w.unshift});r.extend=
function(a,b,c){if(c.length&&b&&(b instanceof r||b.__dt_wrapper)){var d,e,f,g=function(a,b,c){return function(){var d=b.apply(a,arguments);r.extend(d,d,c.methodExt);return d}};d=0;for(e=c.length;d<e;d++)f=c[d],b[f.name]="function"===typeof f.val?g(a,f.val,f):h.isPlainObject(f.val)?{}:f.val,b[f.name].__dt_wrapper=!0,r.extend(a,b[f.name],f.propExt)}};r.register=p=function(a,b){if(h.isArray(a))for(var c=0,d=a.length;c<d;c++)r.register(a[c],b);else for(var e=a.split("."),f=Tb,g,j,c=0,d=e.length;c<d;c++){g=
(j=-1!==e[c].indexOf("()"))?e[c].replace("()",""):e[c];var i;a:{i=0;for(var n=f.length;i<n;i++)if(f[i].name===g){i=f[i];break a}i=null}i||(i={name:g,val:{},methodExt:[],propExt:[]},f.push(i));c===d-1?i.val=b:f=j?i.methodExt:i.propExt}};r.registerPlural=s=function(a,b,c){r.register(a,c);r.register(b,function(){var a=c.apply(this,arguments);return a===this?this:a instanceof r?a.length?h.isArray(a[0])?new r(a.context,a[0]):a[0]:k:a})};p("tables()",function(a){var b;if(a){b=r;var c=this.context;if("number"===
typeof a)a=[c[a]];else var d=h.map(c,function(a){return a.nTable}),a=h(d).filter(a).map(function(){var a=h.inArray(this,d);return c[a]}).toArray();b=new b(a)}else b=this;return b});p("table()",function(a){var a=this.tables(a),b=a.context;return b.length?new r(b[0]):a});s("tables().nodes()","table().node()",function(){return this.iterator("table",function(a){return a.nTable},1)});s("tables().body()","table().body()",function(){return this.iterator("table",function(a){return a.nTBody},1)});s("tables().header()",
"table().header()",function(){return this.iterator("table",function(a){return a.nTHead},1)});s("tables().footer()","table().footer()",function(){return this.iterator("table",function(a){return a.nTFoot},1)});s("tables().containers()","table().container()",function(){return this.iterator("table",function(a){return a.nTableWrapper},1)});p("draw()",function(a){return this.iterator("table",function(b){"page"===a?O(b):("string"===typeof a&&(a="full-hold"===a?!1:!0),T(b,!1===a))})});p("page()",function(a){return a===
k?this.page.info().page:this.iterator("table",function(b){Ta(b,a)})});p("page.info()",function(){if(0===this.context.length)return k;var a=this.context[0],b=a._iDisplayStart,c=a.oFeatures.bPaginate?a._iDisplayLength:-1,d=a.fnRecordsDisplay(),e=-1===c;return{page:e?0:Math.floor(b/c),pages:e?1:Math.ceil(d/c),start:b,end:a.fnDisplayEnd(),length:c,recordsTotal:a.fnRecordsTotal(),recordsDisplay:d,serverSide:"ssp"===y(a)}});p("page.len()",function(a){return a===k?0!==this.context.length?this.context[0]._iDisplayLength:
k:this.iterator("table",function(b){Ra(b,a)})});var Ub=function(a,b,c){if(c){var d=new r(a);d.one("draw",function(){c(d.ajax.json())})}if("ssp"==y(a))T(a,b);else{C(a,!0);var e=a.jqXHR;e&&4!==e.readyState&&e.abort();ra(a,[],function(c){na(a);for(var c=sa(a,c),d=0,e=c.length;d<e;d++)N(a,c[d]);T(a,b);C(a,!1)})}};p("ajax.json()",function(){var a=this.context;if(0<a.length)return a[0].json});p("ajax.params()",function(){var a=this.context;if(0<a.length)return a[0].oAjaxData});p("ajax.reload()",function(a,
b){return this.iterator("table",function(c){Ub(c,!1===b,a)})});p("ajax.url()",function(a){var b=this.context;if(a===k){if(0===b.length)return k;b=b[0];return b.ajax?h.isPlainObject(b.ajax)?b.ajax.url:b.ajax:b.sAjaxSource}return this.iterator("table",function(b){h.isPlainObject(b.ajax)?b.ajax.url=a:b.ajax=a})});p("ajax.url().load()",function(a,b){return this.iterator("table",function(c){Ub(c,!1===b,a)})});var $a=function(a,b,c,d,e){var f=[],g,j,i,n,l,m;i=typeof b;if(!b||"string"===i||"function"===
i||b.length===k)b=[b];i=0;for(n=b.length;i<n;i++){j=b[i]&&b[i].split?b[i].split(","):[b[i]];l=0;for(m=j.length;l<m;l++)(g=c("string"===typeof j[l]?h.trim(j[l]):j[l]))&&g.length&&(f=f.concat(g))}a=v.selector[a];if(a.length){i=0;for(n=a.length;i<n;i++)f=a[i](d,e,f)}return pa(f)},ab=function(a){a||(a={});a.filter&&a.search===k&&(a.search=a.filter);return h.extend({search:"none",order:"current",page:"all"},a)},bb=function(a){for(var b=0,c=a.length;b<c;b++)if(0<a[b].length)return a[0]=a[b],a[0].length=
1,a.length=1,a.context=[a.context[b]],a;a.length=0;return a},Da=function(a,b){var c,d,e,f=[],g=a.aiDisplay;c=a.aiDisplayMaster;var j=b.search;d=b.order;e=b.page;if("ssp"==y(a))return"removed"===j?[]:X(0,c.length);if("current"==e){c=a._iDisplayStart;for(d=a.fnDisplayEnd();c<d;c++)f.push(g[c])}else if("current"==d||"applied"==d)f="none"==j?c.slice():"applied"==j?g.slice():h.map(c,function(a){return-1===h.inArray(a,g)?a:null});else if("index"==d||"original"==d){c=0;for(d=a.aoData.length;c<d;c++)"none"==
j?f.push(c):(e=h.inArray(c,g),(-1===e&&"removed"==j||0<=e&&"applied"==j)&&f.push(c))}return f};p("rows()",function(a,b){a===k?a="":h.isPlainObject(a)&&(b=a,a="");var b=ab(b),c=this.iterator("table",function(c){var e=b;return $a("row",a,function(a){var b=Pb(a);if(b!==null&&!e)return[b];var j=Da(c,e);if(b!==null&&h.inArray(b,j)!==-1)return[b];if(!a)return j;if(typeof a==="function")return h.map(j,function(b){var e=c.aoData[b];return a(b,e._aData,e.nTr)?b:null});b=Sb(ha(c.aoData,j,"nTr"));if(a.nodeName){if(a._DT_RowIndex!==
k)return[a._DT_RowIndex];if(a._DT_CellIndex)return[a._DT_CellIndex.row];b=h(a).closest("*[data-dt-row]");return b.length?[b.data("dt-row")]:[]}if(typeof a==="string"&&a.charAt(0)==="#"){j=c.aIds[a.replace(/^#/,"")];if(j!==k)return[j.idx]}return h(b).filter(a).map(function(){return this._DT_RowIndex}).toArray()},c,e)},1);c.selector.rows=a;c.selector.opts=b;return c});p("rows().nodes()",function(){return this.iterator("row",function(a,b){return a.aoData[b].nTr||k},1)});p("rows().data()",function(){return this.iterator(!0,
"rows",function(a,b){return ha(a.aoData,b,"_aData")},1)});s("rows().cache()","row().cache()",function(a){return this.iterator("row",function(b,c){var d=b.aoData[c];return"search"===a?d._aFilterData:d._aSortData},1)});s("rows().invalidate()","row().invalidate()",function(a){return this.iterator("row",function(b,c){ca(b,c,a)})});s("rows().indexes()","row().index()",function(){return this.iterator("row",function(a,b){return b},1)});s("rows().ids()","row().id()",function(a){for(var b=[],c=this.context,
d=0,e=c.length;d<e;d++)for(var f=0,g=this[d].length;f<g;f++){var h=c[d].rowIdFn(c[d].aoData[this[d][f]]._aData);b.push((!0===a?"#":"")+h)}return new r(c,b)});s("rows().remove()","row().remove()",function(){var a=this;this.iterator("row",function(b,c,d){var e=b.aoData,f=e[c],g,h,i,n,l;e.splice(c,1);g=0;for(h=e.length;g<h;g++)if(i=e[g],l=i.anCells,null!==i.nTr&&(i.nTr._DT_RowIndex=g),null!==l){i=0;for(n=l.length;i<n;i++)l[i]._DT_CellIndex.row=g}oa(b.aiDisplayMaster,c);oa(b.aiDisplay,c);oa(a[d],c,!1);
Sa(b);c=b.rowIdFn(f._aData);c!==k&&delete b.aIds[c]});this.iterator("table",function(a){for(var c=0,d=a.aoData.length;c<d;c++)a.aoData[c].idx=c});return this});p("rows.add()",function(a){var b=this.iterator("table",function(b){var c,f,g,h=[];f=0;for(g=a.length;f<g;f++)c=a[f],c.nodeName&&"TR"===c.nodeName.toUpperCase()?h.push(ma(b,c)[0]):h.push(N(b,c));return h},1),c=this.rows(-1);c.pop();h.merge(c,b);return c});p("row()",function(a,b){return bb(this.rows(a,b))});p("row().data()",function(a){var b=
this.context;if(a===k)return b.length&&this.length?b[0].aoData[this[0]]._aData:k;b[0].aoData[this[0]]._aData=a;ca(b[0],this[0],"data");return this});p("row().node()",function(){var a=this.context;return a.length&&this.length?a[0].aoData[this[0]].nTr||null:null});p("row.add()",function(a){a instanceof h&&a.length&&(a=a[0]);var b=this.iterator("table",function(b){return a.nodeName&&"TR"===a.nodeName.toUpperCase()?ma(b,a)[0]:N(b,a)});return this.row(b[0])});var cb=function(a,b){var c=a.context;if(c.length&&
(c=c[0].aoData[b!==k?b:a[0]])&&c._details)c._details.remove(),c._detailsShow=k,c._details=k},Vb=function(a,b){var c=a.context;if(c.length&&a.length){var d=c[0].aoData[a[0]];if(d._details){(d._detailsShow=b)?d._details.insertAfter(d.nTr):d._details.detach();var e=c[0],f=new r(e),g=e.aoData;f.off("draw.dt.DT_details column-visibility.dt.DT_details destroy.dt.DT_details");0<F(g,"_details").length&&(f.on("draw.dt.DT_details",function(a,b){e===b&&f.rows({page:"current"}).eq(0).each(function(a){a=g[a];
a._detailsShow&&a._details.insertAfter(a.nTr)})}),f.on("column-visibility.dt.DT_details",function(a,b){if(e===b)for(var c,d=aa(b),f=0,h=g.length;f<h;f++)c=g[f],c._details&&c._details.children("td[colspan]").attr("colspan",d)}),f.on("destroy.dt.DT_details",function(a,b){if(e===b)for(var c=0,d=g.length;c<d;c++)g[c]._details&&cb(f,c)}))}}};p("row().child()",function(a,b){var c=this.context;if(a===k)return c.length&&this.length?c[0].aoData[this[0]]._details:k;if(!0===a)this.child.show();else if(!1===
a)cb(this);else if(c.length&&this.length){var d=c[0],c=c[0].aoData[this[0]],e=[],f=function(a,b){if(h.isArray(a)||a instanceof h)for(var c=0,k=a.length;c<k;c++)f(a[c],b);else a.nodeName&&"tr"===a.nodeName.toLowerCase()?e.push(a):(c=h("<tr><td/></tr>").addClass(b),h("td",c).addClass(b).html(a)[0].colSpan=aa(d),e.push(c[0]))};f(a,b);c._details&&c._details.remove();c._details=h(e);c._detailsShow&&c._details.insertAfter(c.nTr)}return this});p(["row().child.show()","row().child().show()"],function(){Vb(this,
!0);return this});p(["row().child.hide()","row().child().hide()"],function(){Vb(this,!1);return this});p(["row().child.remove()","row().child().remove()"],function(){cb(this);return this});p("row().child.isShown()",function(){var a=this.context;return a.length&&this.length?a[0].aoData[this[0]]._detailsShow||!1:!1});var ec=/^(.+):(name|visIdx|visible)$/,Wb=function(a,b,c,d,e){for(var c=[],d=0,f=e.length;d<f;d++)c.push(B(a,e[d],b));return c};p("columns()",function(a,b){a===k?a="":h.isPlainObject(a)&&
(b=a,a="");var b=ab(b),c=this.iterator("table",function(c){var e=a,f=b,g=c.aoColumns,j=F(g,"sName"),i=F(g,"nTh");return $a("column",e,function(a){var b=Pb(a);if(a==="")return X(g.length);if(b!==null)return[b>=0?b:g.length+b];if(typeof a==="function"){var e=Da(c,f);return h.map(g,function(b,f){return a(f,Wb(c,f,0,0,e),i[f])?f:null})}var k=typeof a==="string"?a.match(ec):"";if(k)switch(k[2]){case "visIdx":case "visible":b=parseInt(k[1],10);if(b<0){var m=h.map(g,function(a,b){return a.bVisible?b:null});
return[m[m.length+b]]}return[Z(c,b)];case "name":return h.map(j,function(a,b){return a===k[1]?b:null});default:return[]}if(a.nodeName&&a._DT_CellIndex)return[a._DT_CellIndex.column];b=h(i).filter(a).map(function(){return h.inArray(this,i)}).toArray();if(b.length||!a.nodeName)return b;b=h(a).closest("*[data-dt-column]");return b.length?[b.data("dt-column")]:[]},c,f)},1);c.selector.cols=a;c.selector.opts=b;return c});s("columns().header()","column().header()",function(){return this.iterator("column",
function(a,b){return a.aoColumns[b].nTh},1)});s("columns().footer()","column().footer()",function(){return this.iterator("column",function(a,b){return a.aoColumns[b].nTf},1)});s("columns().data()","column().data()",function(){return this.iterator("column-rows",Wb,1)});s("columns().dataSrc()","column().dataSrc()",function(){return this.iterator("column",function(a,b){return a.aoColumns[b].mData},1)});s("columns().cache()","column().cache()",function(a){return this.iterator("column-rows",function(b,
c,d,e,f){return ha(b.aoData,f,"search"===a?"_aFilterData":"_aSortData",c)},1)});s("columns().nodes()","column().nodes()",function(){return this.iterator("column-rows",function(a,b,c,d,e){return ha(a.aoData,e,"anCells",b)},1)});s("columns().visible()","column().visible()",function(a,b){return this.iterator("column",function(c,d){if(a===k)return c.aoColumns[d].bVisible;var e=c.aoColumns,f=e[d],g=c.aoData,j,i,n;if(a!==k&&f.bVisible!==a){if(a){var l=h.inArray(!0,F(e,"bVisible"),d+1);j=0;for(i=g.length;j<
i;j++)n=g[j].nTr,e=g[j].anCells,n&&n.insertBefore(e[d],e[l]||null)}else h(F(c.aoData,"anCells",d)).detach();f.bVisible=a;ea(c,c.aoHeader);ea(c,c.aoFooter);(b===k||b)&&U(c);u(c,null,"column-visibility",[c,d,a,b]);ya(c)}})});s("columns().indexes()","column().index()",function(a){return this.iterator("column",function(b,c){return"visible"===a?$(b,c):c},1)});p("columns.adjust()",function(){return this.iterator("table",function(a){U(a)},1)});p("column.index()",function(a,b){if(0!==this.context.length){var c=
this.context[0];if("fromVisible"===a||"toData"===a)return Z(c,b);if("fromData"===a||"toVisible"===a)return $(c,b)}});p("column()",function(a,b){return bb(this.columns(a,b))});p("cells()",function(a,b,c){h.isPlainObject(a)&&(a.row===k?(c=a,a=null):(c=b,b=null));h.isPlainObject(b)&&(c=b,b=null);if(null===b||b===k)return this.iterator("table",function(b){var d=a,e=ab(c),f=b.aoData,g=Da(b,e),j=Sb(ha(f,g,"anCells")),i=h([].concat.apply([],j)),l,n=b.aoColumns.length,m,p,r,u,v,s;return $a("cell",d,function(a){var c=
typeof a==="function";if(a===null||a===k||c){m=[];p=0;for(r=g.length;p<r;p++){l=g[p];for(u=0;u<n;u++){v={row:l,column:u};if(c){s=f[l];a(v,B(b,l,u),s.anCells?s.anCells[u]:null)&&m.push(v)}else m.push(v)}}return m}if(h.isPlainObject(a))return[a];c=i.filter(a).map(function(a,b){return{row:b._DT_CellIndex.row,column:b._DT_CellIndex.column}}).toArray();if(c.length||!a.nodeName)return c;s=h(a).closest("*[data-dt-row]");return s.length?[{row:s.data("dt-row"),column:s.data("dt-column")}]:[]},b,e)});var d=
this.columns(b,c),e=this.rows(a,c),f,g,j,i,n,l=this.iterator("table",function(a,b){f=[];g=0;for(j=e[b].length;g<j;g++){i=0;for(n=d[b].length;i<n;i++)f.push({row:e[b][g],column:d[b][i]})}return f},1);h.extend(l.selector,{cols:b,rows:a,opts:c});return l});s("cells().nodes()","cell().node()",function(){return this.iterator("cell",function(a,b,c){return(a=a.aoData[b])&&a.anCells?a.anCells[c]:k},1)});p("cells().data()",function(){return this.iterator("cell",function(a,b,c){return B(a,b,c)},1)});s("cells().cache()",
"cell().cache()",function(a){a="search"===a?"_aFilterData":"_aSortData";return this.iterator("cell",function(b,c,d){return b.aoData[c][a][d]},1)});s("cells().render()","cell().render()",function(a){return this.iterator("cell",function(b,c,d){return B(b,c,d,a)},1)});s("cells().indexes()","cell().index()",function(){return this.iterator("cell",function(a,b,c){return{row:b,column:c,columnVisible:$(a,c)}},1)});s("cells().invalidate()","cell().invalidate()",function(a){return this.iterator("cell",function(b,
c,d){ca(b,c,a,d)})});p("cell()",function(a,b,c){return bb(this.cells(a,b,c))});p("cell().data()",function(a){var b=this.context,c=this[0];if(a===k)return b.length&&c.length?B(b[0],c[0].row,c[0].column):k;jb(b[0],c[0].row,c[0].column,a);ca(b[0],c[0].row,"data",c[0].column);return this});p("order()",function(a,b){var c=this.context;if(a===k)return 0!==c.length?c[0].aaSorting:k;"number"===typeof a?a=[[a,b]]:h.isArray(a[0])||(a=Array.prototype.slice.call(arguments));return this.iterator("table",function(b){b.aaSorting=
a.slice()})});p("order.listener()",function(a,b,c){return this.iterator("table",function(d){Oa(d,a,b,c)})});p("order.fixed()",function(a){if(!a){var b=this.context,b=b.length?b[0].aaSortingFixed:k;return h.isArray(b)?{pre:b}:b}return this.iterator("table",function(b){b.aaSortingFixed=h.extend(!0,{},a)})});p(["columns().order()","column().order()"],function(a){var b=this;return this.iterator("table",function(c,d){var e=[];h.each(b[d],function(b,c){e.push([c,a])});c.aaSorting=e})});p("search()",function(a,
b,c,d){var e=this.context;return a===k?0!==e.length?e[0].oPreviousSearch.sSearch:k:this.iterator("table",function(e){e.oFeatures.bFilter&&fa(e,h.extend({},e.oPreviousSearch,{sSearch:a+"",bRegex:null===b?!1:b,bSmart:null===c?!0:c,bCaseInsensitive:null===d?!0:d}),1)})});s("columns().search()","column().search()",function(a,b,c,d){return this.iterator("column",function(e,f){var g=e.aoPreSearchCols;if(a===k)return g[f].sSearch;e.oFeatures.bFilter&&(h.extend(g[f],{sSearch:a+"",bRegex:null===b?!1:b,bSmart:null===
c?!0:c,bCaseInsensitive:null===d?!0:d}),fa(e,e.oPreviousSearch,1))})});p("state()",function(){return this.context.length?this.context[0].oSavedState:null});p("state.clear()",function(){return this.iterator("table",function(a){a.fnStateSaveCallback.call(a.oInstance,a,{})})});p("state.loaded()",function(){return this.context.length?this.context[0].oLoadedState:null});p("state.save()",function(){return this.iterator("table",function(a){ya(a)})});m.versionCheck=m.fnVersionCheck=function(a){for(var b=
m.version.split("."),a=a.split("."),c,d,e=0,f=a.length;e<f;e++)if(c=parseInt(b[e],10)||0,d=parseInt(a[e],10)||0,c!==d)return c>d;return!0};m.isDataTable=m.fnIsDataTable=function(a){var b=h(a).get(0),c=!1;h.each(m.settings,function(a,e){var f=e.nScrollHead?h("table",e.nScrollHead)[0]:null,g=e.nScrollFoot?h("table",e.nScrollFoot)[0]:null;if(e.nTable===b||f===b||g===b)c=!0});return c};m.tables=m.fnTables=function(a){var b=!1;h.isPlainObject(a)&&(b=a.api,a=a.visible);var c=h.map(m.settings,function(b){if(!a||
a&&h(b.nTable).is(":visible"))return b.nTable});return b?new r(c):c};m.util={throttle:ua,escapeRegex:va};m.camelToHungarian=K;p("$()",function(a,b){var c=this.rows(b).nodes(),c=h(c);return h([].concat(c.filter(a).toArray(),c.find(a).toArray()))});h.each(["on","one","off"],function(a,b){p(b+"()",function(){var a=Array.prototype.slice.call(arguments);a[0].match(/\.dt\b/)||(a[0]+=".dt");var d=h(this.tables().nodes());d[b].apply(d,a);return this})});p("clear()",function(){return this.iterator("table",
function(a){na(a)})});p("settings()",function(){return new r(this.context,this.context)});p("init()",function(){var a=this.context;return a.length?a[0].oInit:null});p("data()",function(){return this.iterator("table",function(a){return F(a.aoData,"_aData")}).flatten()});p("destroy()",function(a){a=a||!1;return this.iterator("table",function(b){var c=b.nTableWrapper.parentNode,d=b.oClasses,e=b.nTable,f=b.nTBody,g=b.nTHead,j=b.nTFoot,i=h(e),f=h(f),k=h(b.nTableWrapper),l=h.map(b.aoData,function(a){return a.nTr}),
p;b.bDestroying=!0;u(b,"aoDestroyCallback","destroy",[b]);a||(new r(b)).columns().visible(!0);k.unbind(".DT").find(":not(tbody *)").unbind(".DT");h(D).unbind(".DT-"+b.sInstance);e!=g.parentNode&&(i.children("thead").detach(),i.append(g));j&&e!=j.parentNode&&(i.children("tfoot").detach(),i.append(j));b.aaSorting=[];b.aaSortingFixed=[];xa(b);h(l).removeClass(b.asStripeClasses.join(" "));h("th, td",g).removeClass(d.sSortable+" "+d.sSortableAsc+" "+d.sSortableDesc+" "+d.sSortableNone);b.bJUI&&(h("th span."+
d.sSortIcon+", td span."+d.sSortIcon,g).detach(),h("th, td",g).each(function(){var a=h("div."+d.sSortJUIWrapper,this);h(this).append(a.contents());a.detach()}));f.children().detach();f.append(l);g=a?"remove":"detach";i[g]();k[g]();!a&&c&&(c.insertBefore(e,b.nTableReinsertBefore),i.css("width",b.sDestroyWidth).removeClass(d.sTable),(p=b.asDestroyStripes.length)&&f.children().each(function(a){h(this).addClass(b.asDestroyStripes[a%p])}));c=h.inArray(b,m.settings);-1!==c&&m.settings.splice(c,1)})});h.each(["column",
"row","cell"],function(a,b){p(b+"s().every()",function(a){var d=this.selector.opts,e=this;return this.iterator(b,function(f,g,h,i,n){a.call(e[b](g,"cell"===b?h:d,"cell"===b?d:k),g,h,i,n)})})});p("i18n()",function(a,b,c){var d=this.context[0],a=Q(a)(d.oLanguage);a===k&&(a=b);c!==k&&h.isPlainObject(a)&&(a=a[c]!==k?a[c]:a._);return a.replace("%d",c)});m.version="1.10.11";m.settings=[];m.models={};m.models.oSearch={bCaseInsensitive:!0,sSearch:"",bRegex:!1,bSmart:!0};m.models.oRow={nTr:null,anCells:null,
_aData:[],_aSortData:null,_aFilterData:null,_sFilterRow:null,_sRowStripe:"",src:null,idx:-1};m.models.oColumn={idx:null,aDataSort:null,asSorting:null,bSearchable:null,bSortable:null,bVisible:null,_sManualType:null,_bAttrSrc:!1,fnCreatedCell:null,fnGetData:null,fnSetData:null,mData:null,mRender:null,nTh:null,nTf:null,sClass:null,sContentPadding:null,sDefaultContent:null,sName:null,sSortDataType:"std",sSortingClass:null,sSortingClassJUI:null,sTitle:null,sType:null,sWidth:null,sWidthOrig:null};m.defaults=
{aaData:null,aaSorting:[[0,"asc"]],aaSortingFixed:[],ajax:null,aLengthMenu:[10,25,50,100],aoColumns:null,aoColumnDefs:null,aoSearchCols:[],asStripeClasses:null,bAutoWidth:!0,bDeferRender:!1,bDestroy:!1,bFilter:!0,bInfo:!0,bJQueryUI:!1,bLengthChange:!0,bPaginate:!0,bProcessing:!1,bRetrieve:!1,bScrollCollapse:!1,bServerSide:!1,bSort:!0,bSortMulti:!0,bSortCellsTop:!1,bSortClasses:!0,bStateSave:!1,fnCreatedRow:null,fnDrawCallback:null,fnFooterCallback:null,fnFormatNumber:function(a){return a.toString().replace(/\B(?=(\d{3})+(?!\d))/g,
this.oLanguage.sThousands)},fnHeaderCallback:null,fnInfoCallback:null,fnInitComplete:null,fnPreDrawCallback:null,fnRowCallback:null,fnServerData:null,fnServerParams:null,fnStateLoadCallback:function(a){try{return JSON.parse((-1===a.iStateDuration?sessionStorage:localStorage).getItem("DataTables_"+a.sInstance+"_"+location.pathname))}catch(b){}},fnStateLoadParams:null,fnStateLoaded:null,fnStateSaveCallback:function(a,b){try{(-1===a.iStateDuration?sessionStorage:localStorage).setItem("DataTables_"+a.sInstance+
"_"+location.pathname,JSON.stringify(b))}catch(c){}},fnStateSaveParams:null,iStateDuration:7200,iDeferLoading:null,iDisplayLength:10,iDisplayStart:0,iTabIndex:0,oClasses:{},oLanguage:{oAria:{sSortAscending:": activate to sort column ascending",sSortDescending:": activate to sort column descending"},oPaginate:{sFirst:"First",sLast:"Last",sNext:"Next",sPrevious:"Previous"},sEmptyTable:"No data available in table",sInfo:"Showing _START_ to _END_ of _TOTAL_ entries",sInfoEmpty:"Showing 0 to 0 of 0 entries",
sInfoFiltered:"(filtered from _MAX_ total entries)",sInfoPostFix:"",sDecimal:"",sThousands:",",sLengthMenu:"Show _MENU_ entries",sLoadingRecords:"Loading...",sProcessing:"Processing...",sSearch:"Search:",sSearchPlaceholder:"",sUrl:"",sZeroRecords:"No matching records found"},oSearch:h.extend({},m.models.oSearch),sAjaxDataProp:"data",sAjaxSource:null,sDom:"lfrtip",searchDelay:null,sPaginationType:"simple_numbers",sScrollX:"",sScrollXInner:"",sScrollY:"",sServerMethod:"GET",renderer:null,rowId:"DT_RowId"};
Y(m.defaults);m.defaults.column={aDataSort:null,iDataSort:-1,asSorting:["asc","desc"],bSearchable:!0,bSortable:!0,bVisible:!0,fnCreatedCell:null,mData:null,mRender:null,sCellType:"td",sClass:"",sContentPadding:"",sDefaultContent:null,sName:"",sSortDataType:"std",sTitle:null,sType:null,sWidth:null};Y(m.defaults.column);m.models.oSettings={oFeatures:{bAutoWidth:null,bDeferRender:null,bFilter:null,bInfo:null,bLengthChange:null,bPaginate:null,bProcessing:null,bServerSide:null,bSort:null,bSortMulti:null,
bSortClasses:null,bStateSave:null},oScroll:{bCollapse:null,iBarWidth:0,sX:null,sXInner:null,sY:null},oLanguage:{fnInfoCallback:null},oBrowser:{bScrollOversize:!1,bScrollbarLeft:!1,bBounding:!1,barWidth:0},ajax:null,aanFeatures:[],aoData:[],aiDisplay:[],aiDisplayMaster:[],aIds:{},aoColumns:[],aoHeader:[],aoFooter:[],oPreviousSearch:{},aoPreSearchCols:[],aaSorting:null,aaSortingFixed:[],asStripeClasses:null,asDestroyStripes:[],sDestroyWidth:0,aoRowCallback:[],aoHeaderCallback:[],aoFooterCallback:[],
aoDrawCallback:[],aoRowCreatedCallback:[],aoPreDrawCallback:[],aoInitComplete:[],aoStateSaveParams:[],aoStateLoadParams:[],aoStateLoaded:[],sTableId:"",nTable:null,nTHead:null,nTFoot:null,nTBody:null,nTableWrapper:null,bDeferLoading:!1,bInitialised:!1,aoOpenRows:[],sDom:null,searchDelay:null,sPaginationType:"two_button",iStateDuration:0,aoStateSave:[],aoStateLoad:[],oSavedState:null,oLoadedState:null,sAjaxSource:null,sAjaxDataProp:null,bAjaxDataGet:!0,jqXHR:null,json:k,oAjaxData:k,fnServerData:null,
aoServerParams:[],sServerMethod:null,fnFormatNumber:null,aLengthMenu:null,iDraw:0,bDrawing:!1,iDrawError:-1,_iDisplayLength:10,_iDisplayStart:0,_iRecordsTotal:0,_iRecordsDisplay:0,bJUI:null,oClasses:{},bFiltered:!1,bSorted:!1,bSortCellsTop:null,oInit:null,aoDestroyCallback:[],fnRecordsTotal:function(){return"ssp"==y(this)?1*this._iRecordsTotal:this.aiDisplayMaster.length},fnRecordsDisplay:function(){return"ssp"==y(this)?1*this._iRecordsDisplay:this.aiDisplay.length},fnDisplayEnd:function(){var a=
this._iDisplayLength,b=this._iDisplayStart,c=b+a,d=this.aiDisplay.length,e=this.oFeatures,f=e.bPaginate;return e.bServerSide?!1===f||-1===a?b+d:Math.min(b+a,this._iRecordsDisplay):!f||c>d||-1===a?d:c},oInstance:null,sInstance:null,iTabIndex:0,nScrollHead:null,nScrollFoot:null,aLastSort:[],oPlugins:{},rowIdFn:null,rowId:null};m.ext=v={buttons:{},classes:{},builder:"-source-",errMode:"alert",feature:[],search:[],selector:{cell:[],column:[],row:[]},internal:{},legacy:{ajax:null},pager:{},renderer:{pageButton:{},
header:{}},order:{},type:{detect:[],search:{},order:{}},_unique:0,fnVersionCheck:m.fnVersionCheck,iApiIndex:0,oJUIClasses:{},sVersion:m.version};h.extend(v,{afnFiltering:v.search,aTypes:v.type.detect,ofnSearch:v.type.search,oSort:v.type.order,afnSortData:v.order,aoFeatures:v.feature,oApi:v.internal,oStdClasses:v.classes,oPagination:v.pager});h.extend(m.ext.classes,{sTable:"dataTable",sNoFooter:"no-footer",sPageButton:"paginate_button",sPageButtonActive:"current",sPageButtonDisabled:"disabled",sStripeOdd:"odd",
sStripeEven:"even",sRowEmpty:"dataTables_empty",sWrapper:"dataTables_wrapper",sFilter:"dataTables_filter",sInfo:"dataTables_info",sPaging:"dataTables_paginate paging_",sLength:"dataTables_length",sProcessing:"dataTables_processing",sSortAsc:"sorting_asc",sSortDesc:"sorting_desc",sSortable:"sorting",sSortableAsc:"sorting_asc_disabled",sSortableDesc:"sorting_desc_disabled",sSortableNone:"sorting_disabled",sSortColumn:"sorting_",sFilterInput:"",sLengthSelect:"",sScrollWrapper:"dataTables_scroll",sScrollHead:"dataTables_scrollHead",
sScrollHeadInner:"dataTables_scrollHeadInner",sScrollBody:"dataTables_scrollBody",sScrollFoot:"dataTables_scrollFoot",sScrollFootInner:"dataTables_scrollFootInner",sHeaderTH:"",sFooterTH:"",sSortJUIAsc:"",sSortJUIDesc:"",sSortJUI:"",sSortJUIAscAllowed:"",sSortJUIDescAllowed:"",sSortJUIWrapper:"",sSortIcon:"",sJUIHeader:"",sJUIFooter:""});var Ea="",Ea="",H=Ea+"ui-state-default",ia=Ea+"css_right ui-icon ui-icon-",Xb=Ea+"fg-toolbar ui-toolbar ui-widget-header ui-helper-clearfix";h.extend(m.ext.oJUIClasses,
m.ext.classes,{sPageButton:"fg-button ui-button "+H,sPageButtonActive:"ui-state-disabled",sPageButtonDisabled:"ui-state-disabled",sPaging:"dataTables_paginate fg-buttonset ui-buttonset fg-buttonset-multi ui-buttonset-multi paging_",sSortAsc:H+" sorting_asc",sSortDesc:H+" sorting_desc",sSortable:H+" sorting",sSortableAsc:H+" sorting_asc_disabled",sSortableDesc:H+" sorting_desc_disabled",sSortableNone:H+" sorting_disabled",sSortJUIAsc:ia+"triangle-1-n",sSortJUIDesc:ia+"triangle-1-s",sSortJUI:ia+"carat-2-n-s",
sSortJUIAscAllowed:ia+"carat-1-n",sSortJUIDescAllowed:ia+"carat-1-s",sSortJUIWrapper:"DataTables_sort_wrapper",sSortIcon:"DataTables_sort_icon",sScrollHead:"dataTables_scrollHead "+H,sScrollFoot:"dataTables_scrollFoot "+H,sHeaderTH:H,sFooterTH:H,sJUIHeader:Xb+" ui-corner-tl ui-corner-tr",sJUIFooter:Xb+" ui-corner-bl ui-corner-br"});var Mb=m.ext.pager;h.extend(Mb,{simple:function(){return["previous","next"]},full:function(){return["first","previous","next","last"]},numbers:function(a,b){return[Aa(a,
b)]},simple_numbers:function(a,b){return["previous",Aa(a,b),"next"]},full_numbers:function(a,b){return["first","previous",Aa(a,b),"next","last"]},_numbers:Aa,numbers_length:7});h.extend(!0,m.ext.renderer,{pageButton:{_:function(a,b,c,d,e,f){var g=a.oClasses,j=a.oLanguage.oPaginate,i=a.oLanguage.oAria.paginate||{},k,l,m=0,p=function(b,d){var o,r,u,s,v=function(b){Ta(a,b.data.action,true)};o=0;for(r=d.length;o<r;o++){s=d[o];if(h.isArray(s)){u=h("<"+(s.DT_el||"div")+"/>").appendTo(b);p(u,s)}else{k=null;
l="";switch(s){case "ellipsis":b.append('<span class="ellipsis">&#x2026;</span>');break;case "first":k=j.sFirst;l=s+(e>0?"":" "+g.sPageButtonDisabled);break;case "previous":k=j.sPrevious;l=s+(e>0?"":" "+g.sPageButtonDisabled);break;case "next":k=j.sNext;l=s+(e<f-1?"":" "+g.sPageButtonDisabled);break;case "last":k=j.sLast;l=s+(e<f-1?"":" "+g.sPageButtonDisabled);break;default:k=s+1;l=e===s?g.sPageButtonActive:""}if(k!==null){u=h("<a>",{"class":g.sPageButton+" "+l,"aria-controls":a.sTableId,"aria-label":i[s],
"data-dt-idx":m,tabindex:a.iTabIndex,id:c===0&&typeof s==="string"?a.sTableId+"_"+s:null}).html(k).appendTo(b);Wa(u,{action:s},v);m++}}}},r;try{r=h(b).find(I.activeElement).data("dt-idx")}catch(o){}p(h(b).empty(),d);r&&h(b).find("[data-dt-idx="+r+"]").focus()}}});h.extend(m.ext.type.detect,[function(a,b){var c=b.oLanguage.sDecimal;return Za(a,c)?"num"+c:null},function(a){if(a&&!(a instanceof Date)&&(!bc.test(a)||!cc.test(a)))return null;var b=Date.parse(a);return null!==b&&!isNaN(b)||M(a)?"date":
null},function(a,b){var c=b.oLanguage.sDecimal;return Za(a,c,!0)?"num-fmt"+c:null},function(a,b){var c=b.oLanguage.sDecimal;return Rb(a,c)?"html-num"+c:null},function(a,b){var c=b.oLanguage.sDecimal;return Rb(a,c,!0)?"html-num-fmt"+c:null},function(a){return M(a)||"string"===typeof a&&-1!==a.indexOf("<")?"html":null}]);h.extend(m.ext.type.search,{html:function(a){return M(a)?a:"string"===typeof a?a.replace(Ob," ").replace(Ca,""):""},string:function(a){return M(a)?a:"string"===typeof a?a.replace(Ob,
" "):a}});var Ba=function(a,b,c,d){if(0!==a&&(!a||"-"===a))return-Infinity;b&&(a=Qb(a,b));a.replace&&(c&&(a=a.replace(c,"")),d&&(a=a.replace(d,"")));return 1*a};h.extend(v.type.order,{"date-pre":function(a){return Date.parse(a)||0},"html-pre":function(a){return M(a)?"":a.replace?a.replace(/<.*?>/g,"").toLowerCase():a+""},"string-pre":function(a){return M(a)?"":"string"===typeof a?a.toLowerCase():!a.toString?"":a.toString()},"string-asc":function(a,b){return a<b?-1:a>b?1:0},"string-desc":function(a,
b){return a<b?1:a>b?-1:0}});db("");h.extend(!0,m.ext.renderer,{header:{_:function(a,b,c,d){h(a.nTable).on("order.dt.DT",function(e,f,g,h){if(a===f){e=c.idx;b.removeClass(c.sSortingClass+" "+d.sSortAsc+" "+d.sSortDesc).addClass(h[e]=="asc"?d.sSortAsc:h[e]=="desc"?d.sSortDesc:c.sSortingClass)}})},jqueryui:function(a,b,c,d){h("<div/>").addClass(d.sSortJUIWrapper).append(b.contents()).append(h("<span/>").addClass(d.sSortIcon+" "+c.sSortingClassJUI)).appendTo(b);h(a.nTable).on("order.dt.DT",function(e,
f,g,h){if(a===f){e=c.idx;b.removeClass(d.sSortAsc+" "+d.sSortDesc).addClass(h[e]=="asc"?d.sSortAsc:h[e]=="desc"?d.sSortDesc:c.sSortingClass);b.find("span."+d.sSortIcon).removeClass(d.sSortJUIAsc+" "+d.sSortJUIDesc+" "+d.sSortJUI+" "+d.sSortJUIAscAllowed+" "+d.sSortJUIDescAllowed).addClass(h[e]=="asc"?d.sSortJUIAsc:h[e]=="desc"?d.sSortJUIDesc:c.sSortingClassJUI)}})}}});var Yb=function(a){return"string"===typeof a?a.replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;"):a};m.render={number:function(a,
b,c,d,e){return{display:function(f){if("number"!==typeof f&&"string"!==typeof f)return f;var g=0>f?"-":"",h=parseFloat(f);if(isNaN(h))return Yb(f);f=Math.abs(h);h=parseInt(f,10);f=c?b+(f-h).toFixed(c).substring(2):"";return g+(d||"")+h.toString().replace(/\B(?=(\d{3})+(?!\d))/g,a)+f+(e||"")}}},text:function(){return{display:Yb}}};h.extend(m.ext.internal,{_fnExternApiFunc:Nb,_fnBuildAjax:ra,_fnAjaxUpdate:lb,_fnAjaxParameters:ub,_fnAjaxUpdateDraw:vb,_fnAjaxDataSrc:sa,_fnAddColumn:Ga,_fnColumnOptions:ja,
_fnAdjustColumnSizing:U,_fnVisibleToColumnIndex:Z,_fnColumnIndexToVisible:$,_fnVisbleColumns:aa,_fnGetColumns:la,_fnColumnTypes:Ia,_fnApplyColumnDefs:ib,_fnHungarianMap:Y,_fnCamelToHungarian:K,_fnLanguageCompat:Fa,_fnBrowserDetect:gb,_fnAddData:N,_fnAddTr:ma,_fnNodeToDataIndex:function(a,b){return b._DT_RowIndex!==k?b._DT_RowIndex:null},_fnNodeToColumnIndex:function(a,b,c){return h.inArray(c,a.aoData[b].anCells)},_fnGetCellData:B,_fnSetCellData:jb,_fnSplitObjNotation:La,_fnGetObjectDataFn:Q,_fnSetObjectDataFn:R,
_fnGetDataMaster:Ma,_fnClearTable:na,_fnDeleteIndex:oa,_fnInvalidate:ca,_fnGetRowElements:Ka,_fnCreateTr:Ja,_fnBuildHead:kb,_fnDrawHead:ea,_fnDraw:O,_fnReDraw:T,_fnAddOptionsHtml:nb,_fnDetectHeader:da,_fnGetUniqueThs:qa,_fnFeatureHtmlFilter:pb,_fnFilterComplete:fa,_fnFilterCustom:yb,_fnFilterColumn:xb,_fnFilter:wb,_fnFilterCreateSearch:Qa,_fnEscapeRegex:va,_fnFilterData:zb,_fnFeatureHtmlInfo:sb,_fnUpdateInfo:Cb,_fnInfoMacros:Db,_fnInitialise:ga,_fnInitComplete:ta,_fnLengthChange:Ra,_fnFeatureHtmlLength:ob,
_fnFeatureHtmlPaginate:tb,_fnPageChange:Ta,_fnFeatureHtmlProcessing:qb,_fnProcessingDisplay:C,_fnFeatureHtmlTable:rb,_fnScrollDraw:ka,_fnApplyToChildren:J,_fnCalculateColumnWidths:Ha,_fnThrottle:ua,_fnConvertToWidth:Fb,_fnGetWidestNode:Gb,_fnGetMaxLenString:Hb,_fnStringToCss:x,_fnSortFlatten:W,_fnSort:mb,_fnSortAria:Jb,_fnSortListener:Va,_fnSortAttachListener:Oa,_fnSortingClasses:xa,_fnSortData:Ib,_fnSaveState:ya,_fnLoadState:Kb,_fnSettingsFromNode:za,_fnLog:L,_fnMap:E,_fnBindAction:Wa,_fnCallbackReg:z,
_fnCallbackFire:u,_fnLengthOverflow:Sa,_fnRenderer:Pa,_fnDataSource:y,_fnRowAttributes:Na,_fnCalculateEnd:function(){}});h.fn.dataTable=m;m.$=h;h.fn.dataTableSettings=m.settings;h.fn.dataTableExt=m.ext;h.fn.DataTable=function(a){return h(this).dataTable(a).api()};h.each(m,function(a,b){h.fn.DataTable[a]=b});return h.fn.dataTable});
;
/*!
 * clipboard.js v1.6.1
 * https://zenorocha.github.io/clipboard.js
 *
 * Licensed MIT © Zeno Rocha
 */
!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var t;t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,t.Clipboard=e()}}(function(){var e,t,n;return function e(t,n,o){function i(a,c){if(!n[a]){if(!t[a]){var l="function"==typeof require&&require;if(!c&&l)return l(a,!0);if(r)return r(a,!0);var u=new Error("Cannot find module '"+a+"'");throw u.code="MODULE_NOT_FOUND",u}var s=n[a]={exports:{}};t[a][0].call(s.exports,function(e){var n=t[a][1][e];return i(n?n:e)},s,s.exports,e,t,n,o)}return n[a].exports}for(var r="function"==typeof require&&require,a=0;a<o.length;a++)i(o[a]);return i}({1:[function(e,t,n){function o(e,t){for(;e&&e.nodeType!==i;){if(e.matches(t))return e;e=e.parentNode}}var i=9;if("undefined"!=typeof Element&&!Element.prototype.matches){var r=Element.prototype;r.matches=r.matchesSelector||r.mozMatchesSelector||r.msMatchesSelector||r.oMatchesSelector||r.webkitMatchesSelector}t.exports=o},{}],2:[function(e,t,n){function o(e,t,n,o,r){var a=i.apply(this,arguments);return e.addEventListener(n,a,r),{destroy:function(){e.removeEventListener(n,a,r)}}}function i(e,t,n,o){return function(n){n.delegateTarget=r(n.target,t),n.delegateTarget&&o.call(e,n)}}var r=e("./closest");t.exports=o},{"./closest":1}],3:[function(e,t,n){n.node=function(e){return void 0!==e&&e instanceof HTMLElement&&1===e.nodeType},n.nodeList=function(e){var t=Object.prototype.toString.call(e);return void 0!==e&&("[object NodeList]"===t||"[object HTMLCollection]"===t)&&"length"in e&&(0===e.length||n.node(e[0]))},n.string=function(e){return"string"==typeof e||e instanceof String},n.fn=function(e){var t=Object.prototype.toString.call(e);return"[object Function]"===t}},{}],4:[function(e,t,n){function o(e,t,n){if(!e&&!t&&!n)throw new Error("Missing required arguments");if(!c.string(t))throw new TypeError("Second argument must be a String");if(!c.fn(n))throw new TypeError("Third argument must be a Function");if(c.node(e))return i(e,t,n);if(c.nodeList(e))return r(e,t,n);if(c.string(e))return a(e,t,n);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList")}function i(e,t,n){return e.addEventListener(t,n),{destroy:function(){e.removeEventListener(t,n)}}}function r(e,t,n){return Array.prototype.forEach.call(e,function(e){e.addEventListener(t,n)}),{destroy:function(){Array.prototype.forEach.call(e,function(e){e.removeEventListener(t,n)})}}}function a(e,t,n){return l(document.body,e,t,n)}var c=e("./is"),l=e("delegate");t.exports=o},{"./is":3,delegate:2}],5:[function(e,t,n){function o(e){var t;if("SELECT"===e.nodeName)e.focus(),t=e.value;else if("INPUT"===e.nodeName||"TEXTAREA"===e.nodeName){var n=e.hasAttribute("readonly");n||e.setAttribute("readonly",""),e.select(),e.setSelectionRange(0,e.value.length),n||e.removeAttribute("readonly"),t=e.value}else{e.hasAttribute("contenteditable")&&e.focus();var o=window.getSelection(),i=document.createRange();i.selectNodeContents(e),o.removeAllRanges(),o.addRange(i),t=o.toString()}return t}t.exports=o},{}],6:[function(e,t,n){function o(){}o.prototype={on:function(e,t,n){var o=this.e||(this.e={});return(o[e]||(o[e]=[])).push({fn:t,ctx:n}),this},once:function(e,t,n){function o(){i.off(e,o),t.apply(n,arguments)}var i=this;return o._=t,this.on(e,o,n)},emit:function(e){var t=[].slice.call(arguments,1),n=((this.e||(this.e={}))[e]||[]).slice(),o=0,i=n.length;for(o;o<i;o++)n[o].fn.apply(n[o].ctx,t);return this},off:function(e,t){var n=this.e||(this.e={}),o=n[e],i=[];if(o&&t)for(var r=0,a=o.length;r<a;r++)o[r].fn!==t&&o[r].fn._!==t&&i.push(o[r]);return i.length?n[e]=i:delete n[e],this}},t.exports=o},{}],7:[function(t,n,o){!function(i,r){if("function"==typeof e&&e.amd)e(["module","select"],r);else if("undefined"!=typeof o)r(n,t("select"));else{var a={exports:{}};r(a,i.select),i.clipboardAction=a.exports}}(this,function(e,t){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var i=n(t),r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a=function(){function e(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}return function(t,n,o){return n&&e(t.prototype,n),o&&e(t,o),t}}(),c=function(){function e(t){o(this,e),this.resolveOptions(t),this.initSelection()}return a(e,[{key:"resolveOptions",value:function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.action=t.action,this.emitter=t.emitter,this.target=t.target,this.text=t.text,this.trigger=t.trigger,this.selectedText=""}},{key:"initSelection",value:function e(){this.text?this.selectFake():this.target&&this.selectTarget()}},{key:"selectFake",value:function e(){var t=this,n="rtl"==document.documentElement.getAttribute("dir");this.removeFake(),this.fakeHandlerCallback=function(){return t.removeFake()},this.fakeHandler=document.body.addEventListener("click",this.fakeHandlerCallback)||!0,this.fakeElem=document.createElement("textarea"),this.fakeElem.style.fontSize="12pt",this.fakeElem.style.border="0",this.fakeElem.style.padding="0",this.fakeElem.style.margin="0",this.fakeElem.style.position="absolute",this.fakeElem.style[n?"right":"left"]="-9999px";var o=window.pageYOffset||document.documentElement.scrollTop;this.fakeElem.style.top=o+"px",this.fakeElem.setAttribute("readonly",""),this.fakeElem.value=this.text,document.body.appendChild(this.fakeElem),this.selectedText=(0,i.default)(this.fakeElem),this.copyText()}},{key:"removeFake",value:function e(){this.fakeHandler&&(document.body.removeEventListener("click",this.fakeHandlerCallback),this.fakeHandler=null,this.fakeHandlerCallback=null),this.fakeElem&&(document.body.removeChild(this.fakeElem),this.fakeElem=null)}},{key:"selectTarget",value:function e(){this.selectedText=(0,i.default)(this.target),this.copyText()}},{key:"copyText",value:function e(){var t=void 0;try{t=document.execCommand(this.action)}catch(e){t=!1}this.handleResult(t)}},{key:"handleResult",value:function e(t){this.emitter.emit(t?"success":"error",{action:this.action,text:this.selectedText,trigger:this.trigger,clearSelection:this.clearSelection.bind(this)})}},{key:"clearSelection",value:function e(){this.target&&this.target.blur(),window.getSelection().removeAllRanges()}},{key:"destroy",value:function e(){this.removeFake()}},{key:"action",set:function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"copy";if(this._action=t,"copy"!==this._action&&"cut"!==this._action)throw new Error('Invalid "action" value, use either "copy" or "cut"')},get:function e(){return this._action}},{key:"target",set:function e(t){if(void 0!==t){if(!t||"object"!==("undefined"==typeof t?"undefined":r(t))||1!==t.nodeType)throw new Error('Invalid "target" value, use a valid Element');if("copy"===this.action&&t.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if("cut"===this.action&&(t.hasAttribute("readonly")||t.hasAttribute("disabled")))throw new Error('Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes');this._target=t}},get:function e(){return this._target}}]),e}();e.exports=c})},{select:5}],8:[function(t,n,o){!function(i,r){if("function"==typeof e&&e.amd)e(["module","./clipboard-action","tiny-emitter","good-listener"],r);else if("undefined"!=typeof o)r(n,t("./clipboard-action"),t("tiny-emitter"),t("good-listener"));else{var a={exports:{}};r(a,i.clipboardAction,i.tinyEmitter,i.goodListener),i.clipboard=a.exports}}(this,function(e,t,n,o){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function c(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function l(e,t){var n="data-clipboard-"+e;if(t.hasAttribute(n))return t.getAttribute(n)}var u=i(t),s=i(n),f=i(o),d=function(){function e(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}return function(t,n,o){return n&&e(t.prototype,n),o&&e(t,o),t}}(),h=function(e){function t(e,n){r(this,t);var o=a(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return o.resolveOptions(n),o.listenClick(e),o}return c(t,e),d(t,[{key:"resolveOptions",value:function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.action="function"==typeof t.action?t.action:this.defaultAction,this.target="function"==typeof t.target?t.target:this.defaultTarget,this.text="function"==typeof t.text?t.text:this.defaultText}},{key:"listenClick",value:function e(t){var n=this;this.listener=(0,f.default)(t,"click",function(e){return n.onClick(e)})}},{key:"onClick",value:function e(t){var n=t.delegateTarget||t.currentTarget;this.clipboardAction&&(this.clipboardAction=null),this.clipboardAction=new u.default({action:this.action(n),target:this.target(n),text:this.text(n),trigger:n,emitter:this})}},{key:"defaultAction",value:function e(t){return l("action",t)}},{key:"defaultTarget",value:function e(t){var n=l("target",t);if(n)return document.querySelector(n)}},{key:"defaultText",value:function e(t){return l("text",t)}},{key:"destroy",value:function e(){this.listener.destroy(),this.clipboardAction&&(this.clipboardAction.destroy(),this.clipboardAction=null)}}],[{key:"isSupported",value:function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:["copy","cut"],n="string"==typeof t?[t]:t,o=!!document.queryCommandSupported;return n.forEach(function(e){o=o&&!!document.queryCommandSupported(e)}),o}}]),t}(s.default);e.exports=h})},{"./clipboard-action":7,"good-listener":4,"tiny-emitter":6}]},{},[8])(8)});;
function DataTables() { }

DataTables.DataTablesHelper = function () {
	this.DataTable = null;
	this.containerName = '';
	this.URL = "";
	this.AdditionalVariables = "";
	this.PageSize = 5;
	this.SortClasses = true;
	this.pageEvent = function (){
	}
	this.ColumnDefinititons = [
		{
			"targets": [0],
			"render": function (data, type, full) {
				var returnItem = '<img src="/utilities/assets/handler/asset.ashx?asset=' + full.AssetId + '&amp;size=3" alt="Profile Image" class="img-circle border" style="height: 26px;width:26px;"/>';
				return returnItem;
			}
		},
		{ "orderable": false, "targets": [0] },
		{ "className": "Center", "targets": [1] },
		{ "title": "Person", "targets": [1] },
		{
			"targets": [1],
			"render": function (data) {
				var returnItem = data;
				return returnItem;
			}
		},
		{
			"targets": [2],
			"render": function (data) {
				var returnItem = data;
				return returnItem;
			}
		},
		{
			"targets": [3],
			"render": function (data) {
				var returnItem = '<div class="icon-ban-circle"></div>';
				if (data !== null) {
					returnItem = data;
				}
				return returnItem;
			}
		},
		{
			"targets": [4],
			"render": function (data) {
				var tempId = parseInt(data);
				var returnItem = '';
				var checkedText = '';
				if ($('#MandatoryReadRemindersSelectAll').is(':checked')) {
					checkedText = 'checked';
				}
				if (tempId > 0) {
					returnItem = '<input class="SendIndividualReminder" type="checkbox" ' + checkedText + ' value="' + tempId + '">';
				}
				return returnItem;
			}
		}

	];
	this.Columns = [
		{ "data": "AssetId" },
		{ "data": "Fullname", "title": "Name" },
		{ "data": "JobTitle", "title": "Job title" },
		{ "data": "Timestamp", "title": "Has read page" },
		{ "data": "PersonId", "title": "<input id='MandatoryReadRemindersSelectAll' type='checkbox'></input>", "orderable": false }
	];

	var _object;

	this.refreshTable = function () {
		$("#" + this.containerName).DataTable().ajax.reload();
	}

	this.ChangeToFirstPage = function () {
		$("#" + this.containerName).DataTable().page('first');
	}

	this.renderTable = function () {
		_object = this;
		this.DataTable = $("#" + _object.containerName).DataTable({
			"processing": true,
			"lengthChange": false,
			"orderClasses": _object.SortClasses,
			"ajax": function (data, callback) {
				$.ajax({
					"type": "POST",
					"dataType": 'json',
					"contentType": "application/json; charset=utf-8",
					"url": _object.URL,
					"data": "{'TableData': '" + JSON.stringify(data) + _object.AdditionalVariables + "}",
					"success": function (msg) {
						var t = $.parseJSON(msg);
						callback(msg);
						_object.pageEvent(t);
					}
				});
			},
			"columnDefs": _object.ColumnDefinititons,
			"columns": _object.Columns,
			"pageLength": _object.PageSize
		});
	}
};
function OrganogramPersonLookup() {
	function initPersonSelect() {
		var composerPersonSearchSource = $("#PersonSearchResultDetailsTemplate").html();
		var composerPersonSearchTemplate = Handlebars.compile(composerPersonSearchSource);

		$(".search-query").bind("keyup", function (e) {
			e.preventDefault();
			var term = $("#person-search-term").val();
			var container = $("#person-results-container");

			if (term.length >= 3) {
				executePeopleSearch();
				$(container).html();
				$(container).hide();
			} else {
				$(container).html("<p>Please enter at least 3 letters</p>");
				$(container).show();
			}
		});

		$(document).on("click", "#load-more-search-people", function () {
			var loadMoreBtn = $(this);

			if (loadMoreBtn.data("loading")) {
				loadMoreBtn.text("Already loading...");
			}
			else {
				var nextPage = $(this).data("next-offset");
				executePeopleSearch(nextPage);

				loadMoreBtn
					.text("Loading")
					.data("loading", true);
			}
		});

		function executePeopleSearch(pageNumber) {
			// default pageNumber to 0 if not passed
			pageNumber = pageNumber || 0;
			var pageSize = 20;

			var term = $("#person-search-term").val();
			var container = $("#person-results-container");

			if (pageNumber === 0)
				$(container).html("<p>Searching...</p>");

			$.ajax({
				type: "GET",
				datatype: 'json',
				url: '/api/people?searchTerm=' + term + "&offset=" + pageNumber + "&limit=" + pageSize,
				contentType: 'application/json; charset=utf-8',
				cache: false,
				success: function (data) {
					var resultHtml = composerPersonSearchTemplate({ items: data });

					if (pageNumber === 0) {
						// clear loading message if first page
						$(container).empty();
						$(container).append(resultHtml);
					}
					else {
						// otherwise add the rows into the existing table
						var rows = $(resultHtml).find(".person-search-row");
						$(".person-result-table").append(rows);
					}

					// check if more pages to load and display load more button as appropriate
					var visibleResultCount = $(".person-result-table .person-search-row").length;
					var remainingCount = data.TotalResults - visibleResultCount;
					$("#person-results-container").show();

					if (visibleResultCount < data.TotalResults) {
						var nextOffset = (pageNumber + pageSize);
						$("#load-more-search-people")
							.data("next-offset", nextOffset)
							.data("loading", false)
							.html("Load more<br /><small>" + remainingCount + " more matches</small>")
							.show();
					}
					else {
						$("#load-more-search-people").hide();
					}

					$("#btn-results-close").on("click",
						function () {
							$("#person-results-container").hide();
						});
				}
			});
		}
	}

	return {
		Init: function() {
			initPersonSelect();
	}}
}
;
/***************************************************************************************************
LoadingOverlay - A flexible loading overlay jQuery plugin
    Author          : Gaspare Sganga
    Version         : 2.1.6
    License         : MIT
    Documentation   : https://gasparesganga.com/labs/jquery-loading-overlay/
***************************************************************************************************/
; (function (factory) {
    if (typeof define === "function" && define.amd) {
        // AMD. Register as an anonymous module
        define(["jquery"], factory);
    } else if (typeof module === "object" && module.exports) {
        // Node/CommonJS
        factory(require("jquery"));
    } else {
        // Browser globals
        factory(jQuery);
    }
}(function ($, undefined) {
    "use strict";

    // Default Settings
    var _defaults = {
        // Background
        background: "rgba(255, 255, 255, 0.8)",
        backgroundClass: "",
        // Image
        image: "<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 1000'><circle r='80' cx='500' cy='90'/><circle r='80' cx='500' cy='910'/><circle r='80' cx='90' cy='500'/><circle r='80' cx='910' cy='500'/><circle r='80' cx='212' cy='212'/><circle r='80' cx='788' cy='212'/><circle r='80' cx='212' cy='788'/><circle r='80' cx='788' cy='788'/></svg>",
        imageAnimation: "2000ms rotate_right",
        imageAutoResize: true,
        imageResizeFactor: 1,
        imageColor: "#202020",
        imageClass: "",
        imageOrder: 1,
        // Font Awesome
        fontawesome: "",
        fontawesomeAnimation: "",
        fontawesomeAutoResize: true,
        fontawesomeResizeFactor: 1,
        fontawesomeColor: "#202020",
        fontawesomeOrder: 2,
        // Custom
        custom: "",
        customAnimation: "",
        customAutoResize: true,
        customResizeFactor: 1,
        customOrder: 3,
        // Text
        text: "",
        textAnimation: "",
        textAutoResize: true,
        textResizeFactor: 0.5,
        textColor: "#202020",
        textClass: "",
        textOrder: 4,
        // Progress
        progress: false,
        progressAutoResize: true,
        progressResizeFactor: 0.25,
        progressColor: "#a0a0a0",
        progressClass: "",
        progressOrder: 5,
        progressFixedPosition: "",
        progressSpeed: 200,
        progressMin: 0,
        progressMax: 100,
        // Sizing
        size: 50,
        maxSize: 120,
        minSize: 20,
        // Misc
        direction: "column",
        fade: true,
        resizeInterval: 50,
        zIndex: 2147483647
    };

    // Required CSS
    var _css = {
        overlay: {
            "box-sizing": "border-box",
            "position": "relative",
            "display": "flex",
            "flex-wrap": "nowrap",
            "align-items": "center",
            "justify-content": "space-around"
        },
        element: {
            "box-sizing": "border-box",
            "overflow": "visible",
            "flex": "0 0 auto",
            "display": "flex",
            "justify-content": "center",
            "align-items": "center"
        },
        element_svg: {
            "width": "100%",
            "height": "100%"
        },
        progress_fixed: {
            "position": "absolute",
            "left": "0",
            "width": "100%"
        },
        progress_wrapper: {
            "position": "absolute",
            "top": "0",
            "left": "0",
            "width": "100%",
            "height": "100%"
        },
        progress_bar: {
            "position": "absolute",
            "left": "0"
        }
    };

    // Data Template
    var _dataTemplate = {
        "count": 0,
        "container": undefined,
        "settings": undefined,
        "wholePage": undefined,
        "resizeIntervalId": undefined,
        "text": undefined,
        "progress": undefined
    };

    // Whitelists
    var _whitelists = {
        animations: [
            "rotate_right",
            "rotate_left",
            "fadein",
            "pulse"
        ],
        progressPosition: [
            "top",
            "bottom"
        ]
    };

    // Default Values
    var _defaultValues = {
        animations: {
            name: "rotate_right",
            time: "2000ms"
        },
        fade: [400, 200]
    };


    $.LoadingOverlaySetup = function (settings) {
        $.extend(true, _defaults, settings);
    };

    $.LoadingOverlay = function (action, options) {
        switch (action.toLowerCase()) {
            case "show":
                var settings = $.extend(true, {}, _defaults, options);
                Show("body", settings);
                break;

            case "hide":
                Hide("body", options);
                break;

            case "resize":
                Resize("body", options);
                break;

            case "text":
                Text("body", options);
                break;

            case "progress":
                Progress("body", options);
                break;
        }
    };

    $.fn.LoadingOverlay = function (action, options) {
        switch (action.toLowerCase()) {
            case "show":
                var settings = $.extend(true, {}, _defaults, options);
                return this.each(function () {
                    Show(this, settings);
                });

            case "hide":
                return this.each(function () {
                    Hide(this, options);
                });

            case "resize":
                return this.each(function () {
                    Resize(this, options);
                });

            case "text":
                return this.each(function () {
                    Text(this, options);
                });

            case "progress":
                return this.each(function () {
                    Progress(this, options);
                });
        }
    };


    function Show(container, settings) {
        container = $(container);
        settings.size = _ParseSize(settings.size);
        settings.maxSize = parseInt(settings.maxSize, 10) || 0;
        settings.minSize = parseInt(settings.minSize, 10) || 0;
        settings.resizeInterval = parseInt(settings.resizeInterval, 10) || 0;

        var overlay = _GetOverlay(container);
        var data = _GetData(container);
        if (data === false) {
            // Init data
            data = $.extend({}, _dataTemplate);
            data.container = container;
            data.wholePage = container.is("body");

            // Overlay
            overlay = $("<div>", {
                "class": "loadingoverlay"
            })
                .css(_css.overlay)
                .css("flex-direction", settings.direction.toLowerCase() === "row" ? "row" : "column");
            if (settings.backgroundClass) {
                overlay.addClass(settings.backgroundClass);
            } else {
                overlay.css("background", settings.background);
            }
            if (data.wholePage) {
                overlay.css({
                    "position": "fixed",
                    "top": 0,
                    "left": 0,
                    "width": "100%",
                    "height": "100%"
                });
            }
            if (typeof settings.zIndex !== "undefined") overlay.css("z-index", settings.zIndex);

            // Image
            if (settings.image) {
                if ($.isArray(settings.imageColor)) {
                    if (settings.imageColor.length === 0) {
                        settings.imageColor = false;
                    } else if (settings.imageColor.length === 1) {
                        settings.imageColor = {
                            "fill": settings.imageColor[0]
                        };
                    } else {
                        settings.imageColor = {
                            "fill": settings.imageColor[0],
                            "stroke": settings.imageColor[1]
                        };
                    }
                } else if (settings.imageColor) {
                    settings.imageColor = {
                        "fill": settings.imageColor
                    };
                }
                var element = _CreateElement(overlay, settings.imageOrder, settings.imageAutoResize, settings.imageResizeFactor, settings.imageAnimation);
                if (settings.image.slice(0, 4).toLowerCase() === "<svg" && settings.image.slice(-6).toLowerCase() === "</svg>") {
                    // Inline SVG
                    element.append(settings.image);
                    element.children().css(_css.element_svg);
                    if (!settings.imageClass && settings.imageColor) element.find("*").css(settings.imageColor);
                } else if (settings.image.slice(-4).toLowerCase() === ".svg" || settings.image.slice(0, 14).toLowerCase() === "data:image/svg") {
                    // SVG file or base64-encoded SVG
                    $.ajax({
                        url: settings.image,
                        type: "GET",
                        dataType: "html",
                        global: false
                    }).done(function (data) {
                        element.html(data);
                        element.children().css(_css.element_svg);
                        if (!settings.imageClass && settings.imageColor) element.find("*").css(settings.imageColor);
                    });
                } else {
                    // Raster
                    element.css({
                        "background-image": "url(" + settings.image + ")",
                        "background-position": "center",
                        "background-repeat": "no-repeat",
                        "background-size": "cover"
                    });
                }
                if (settings.imageClass) element.addClass(settings.imageClass);
            }

            // Font Awesome
            if (settings.fontawesome) {
                var element = _CreateElement(overlay, settings.fontawesomeOrder, settings.fontawesomeAutoResize, settings.fontawesomeResizeFactor, settings.fontawesomeAnimation)
                    .addClass("loadingoverlay_fa");
                $("<div>", {
                    "class": settings.fontawesome
                }).appendTo(element);
                if (settings.fontawesomeColor) element.css("color", settings.fontawesomeColor);
            }

            // Custom
            if (settings.custom) {
                var element = _CreateElement(overlay, settings.customOrder, settings.customAutoResize, settings.customResizeFactor, settings.customAnimation)
                    .append(settings.custom);
            }

            // Text
            if (settings.text) {
                data.text = _CreateElement(overlay, settings.textOrder, settings.textAutoResize, settings.textResizeFactor, settings.textAnimation)
                    .addClass("loadingoverlay_text")
                    .text(settings.text);
                if (settings.textClass) {
                    data.text.addClass(settings.textClass);
                } else if (settings.textColor) {
                    data.text.css("color", settings.textColor);
                }
            }

            // Progress
            if (settings.progress) {
                var element = _CreateElement(overlay, settings.progressOrder, settings.progressAutoResize, settings.progressResizeFactor, false)
                    .addClass("loadingoverlay_progress");
                var wrapper = $("<div>")
                    .css(_css.progress_wrapper)
                    .appendTo(element);
                data.progress = {
                    bar: $("<div>").css(_css.progress_bar).appendTo(wrapper),
                    fixed: false,
                    margin: 0,
                    min: parseFloat(settings.progressMin),
                    max: parseFloat(settings.progressMax),
                    speed: parseInt(settings.progressSpeed, 10)
                };
                var progressPositionParts = (settings.progressFixedPosition + "").replace(/\s\s+/g, " ").toLowerCase().split(" ");
                if (progressPositionParts.length === 2 && _ValidateProgressPosition(progressPositionParts[0])) {
                    data.progress.fixed = progressPositionParts[0];
                    data.progress.margin = _ParseSize(progressPositionParts[1]);
                } else if (progressPositionParts.length === 2 && _ValidateProgressPosition(progressPositionParts[1])) {
                    data.progress.fixed = progressPositionParts[1];
                    data.progress.margin = _ParseSize(progressPositionParts[0]);
                } else if (progressPositionParts.length === 1 && _ValidateProgressPosition(progressPositionParts[0])) {
                    data.progress.fixed = progressPositionParts[0];
                    data.progress.margin = 0;
                }
                if (data.progress.fixed === "top") {
                    element
                        .css(_css.progress_fixed)
                        .css("top", data.progress.margin ? data.progress.margin.value + (data.progress.margin.fixed ? data.progress.margin.units : "%") : 0);
                } else if (data.progress.fixed === "bottom") {
                    element
                        .css(_css.progress_fixed)
                        .css("top", "auto");
                }
                if (settings.progressClass) {
                    data.progress.bar.addClass(settings.progressClass);
                } else if (settings.progressColor) {
                    data.progress.bar.css("background", settings.progressColor);
                }
            }

            // Fade
            if (!settings.fade) {
                settings.fade = [0, 0];
            } else if (settings.fade === true) {
                settings.fade = _defaultValues.fade;
            } else if (typeof settings.fade === "string" || typeof settings.fade === "number") {
                settings.fade = [settings.fade, settings.fade];
            } else if ($.isArray(settings.fade) && settings.fade.length < 2) {
                settings.fade = [settings.fade[0], settings.fade[0]];
            }
            settings.fade = [parseInt(settings.fade[0], 10), parseInt(settings.fade[1], 10)]


            // Save settings
            data.settings = settings;
            // Save data
            overlay.data("loadingoverlay_data", data);
            // Save reference to overlay
            container.data("loadingoverlay", overlay);


            // Resize
            overlay
                .fadeTo(0, 0.01)
                .appendTo("body");
            _IntervalResize(container, true);
            if (settings.resizeInterval > 0) {
                data.resizeIntervalId = setInterval(function () {
                    _IntervalResize(container, false);
                }, settings.resizeInterval);
            }

            // Show LoadingOverlay
            overlay.fadeTo(settings.fade[0], 1);
        }
        data.count++;
    }

    function Hide(container, force) {
        container = $(container);
        var overlay = _GetOverlay(container);
        var data = _GetData(container);
        if (data === false) return;

        data.count--;
        if (force || data.count <= 0) {
            overlay.animate({
                "opacity": 0
            }, data.settings.fade[1], function () {
                if (data.resizeIntervalId) clearInterval(data.resizeIntervalId);
                $(this).remove();
                container.removeData("loadingoverlay");
            });
        }
    }

    function Resize(container) {
        _IntervalResize($(container), true);
    }

    function Text(container, value) {
        container = $(container);
        var data = _GetData(container);
        if (data === false || !data.text) return;

        if (value === false) {
            data.text.hide();
        } else {
            data.text
                .show()
                .text(value);
        }
    }

    function Progress(container, value) {
        container = $(container);
        var data = _GetData(container);
        if (data === false || !data.progress) return;

        if (value === false) {
            data.progress.bar.hide();
        } else {
            var v = ((parseFloat(value) || 0) - data.progress.min) * 100 / (data.progress.max - data.progress.min);
            if (v < 0) v = 0;
            if (v > 100) v = 100;
            data.progress.bar
                .show()
                .animate({
                    "width": v + "%"
                }, data.progress.speed);
        }
    }


    function _IntervalResize(container, force) {
        var overlay = _GetOverlay(container);
        var data = _GetData(container);
        if (data === false) return;

        // Overlay
        if (!data.wholePage) {
            var isFixed = container.css("position") === "fixed";
            var pos = isFixed ? container[0].getBoundingClientRect() : container.offset();
            overlay.css({
                "position": isFixed ? "fixed" : "absolute",
                "top": pos.top + parseInt(container.css("border-top-width"), 10),
                "left": pos.left + parseInt(container.css("border-left-width"), 10),
                "width": container.innerWidth(),
                "height": container.innerHeight()
            });
        }

        // Elements
        if (data.settings.size) {
            var c = data.wholePage ? $(window) : container;
            var size = data.settings.size.value;
            if (!data.settings.size.fixed) {
                size = Math.min(c.innerWidth(), c.innerHeight()) * size / 100;
                if (data.settings.maxSize && size > data.settings.maxSize) size = data.settings.maxSize;
                if (data.settings.minSize && size < data.settings.minSize) size = data.settings.minSize;
            }
            overlay.children(".loadingoverlay_element").each(function () {
                var $this = $(this);
                if (force || $this.data("loadingoverlay_autoresize")) {
                    var resizeFactor = $this.data("loadingoverlay_resizefactor");
                    if ($this.hasClass("loadingoverlay_fa") || $this.hasClass("loadingoverlay_text")) {
                        $this.css("font-size", (size * resizeFactor) + data.settings.size.units);
                    } else if ($this.hasClass("loadingoverlay_progress")) {
                        data.progress.bar.css("height", (size * resizeFactor) + data.settings.size.units);
                        if (!data.progress.fixed) {
                            data.progress.bar
                                .css("top", $this.position().top)
                                .css("top", "-=" + (size * resizeFactor * 0.5) + data.settings.size.units);
                        } else if (data.progress.fixed === "bottom") {
                            $this
                                .css("bottom", data.progress.margin ? data.progress.margin.value + (data.progress.margin.fixed ? data.progress.margin.units : "%") : 0)
                                .css("bottom", "+=" + (size * resizeFactor) + data.settings.size.units);
                        }
                    } else {
                        $this.css({
                            "width": (size * resizeFactor) + data.settings.size.units,
                            "height": (size * resizeFactor) + data.settings.size.units
                        });
                    }
                }
            });
        }
    }


    function _GetOverlay(container) {
        return container.data("loadingoverlay");
    }

    function _GetData(container) {
        var overlay = _GetOverlay(container);
        var data = (typeof overlay === "undefined") ? undefined : overlay.data("loadingoverlay_data");
        if (typeof data === "undefined") {
            // Clean DOM
            $(".loadingoverlay").each(function () {
                var $this = $(this);
                var data = $this.data("loadingoverlay_data");
                if (!document.body.contains(data.container[0])) {
                    if (data.resizeIntervalId) clearInterval(data.resizeIntervalId);
                    $this.remove();
                }
            });
            return false;
        } else {
            overlay.toggle(container.is(":visible"));
            return data;
        }
    }


    function _CreateElement(overlay, order, autoResize, resizeFactor, animation) {
        var element = $("<div>", {
            "class": "loadingoverlay_element",
            "css": {
                "order": order
            }
        })
            .css(_css.element)
            .data({
                "loadingoverlay_autoresize": autoResize,
                "loadingoverlay_resizefactor": resizeFactor
            })
            .appendTo(overlay);

        // Parse animation
        if (animation === true) animation = _defaultValues.animations.time + " " + _defaultValues.animations.name;
        if (typeof animation === "string") {
            var animationName;
            var animationTime;
            var parts = animation.replace(/\s\s+/g, " ").toLowerCase().split(" ");
            if (parts.length === 2 && _ValidateCssTime(parts[0]) && _ValidateAnimation(parts[1])) {
                animationName = parts[1];
                animationTime = parts[0];
            } else if (parts.length === 2 && _ValidateCssTime(parts[1]) && _ValidateAnimation(parts[0])) {
                animationName = parts[0];
                animationTime = parts[1];
            } else if (parts.length === 1 && _ValidateCssTime(parts[0])) {
                animationName = _defaultValues.animations.name;
                animationTime = parts[0];
            } else if (parts.length === 1 && _ValidateAnimation(parts[0])) {
                animationName = parts[0];
                animationTime = _defaultValues.animations.time;
            }
            element.css({
                "animation-name": "loadingoverlay_animation__" + animationName,
                "animation-duration": animationTime,
                "animation-timing-function": "linear",
                "animation-iteration-count": "infinite"
            });
        }

        return element;
    }

    function _ValidateCssTime(value) {
        return !isNaN(parseFloat(value)) && (value.slice(-1) === "s" || value.slice(-2) === "ms");
    }

    function _ValidateAnimation(value) {
        return _whitelists.animations.indexOf(value) > -1;
    }

    function _ValidateProgressPosition(value) {
        return _whitelists.progressPosition.indexOf(value) > -1;
    }


    function _ParseSize(value) {
        if (!value || value < 0) {
            return false;
        } else if (typeof value === "string" && ["vmin", "vmax"].indexOf(value.slice(-4)) > -1) {
            return {
                fixed: true,
                units: value.slice(-4),
                value: value.slice(0, -4)
            };
        } else if (typeof value === "string" && ["rem"].indexOf(value.slice(-3)) > -1) {
            return {
                fixed: true,
                units: value.slice(-3),
                value: value.slice(0, -3)
            };
        } else if (typeof value === "string" && ["px", "em", "cm", "mm", "in", "pt", "pc", "vh", "vw"].indexOf(value.slice(-2)) > -1) {
            return {
                fixed: true,
                units: value.slice(-2),
                value: value.slice(0, -2)
            };
        } else {
            return {
                fixed: false,
                units: "px",
                value: parseFloat(value)
            };
        }
    }


    $(function () {
        $("head").append([
            "<style>",
            "@-webkit-keyframes loadingoverlay_animation__rotate_right {",
            "to {",
            "-webkit-transform : rotate(360deg);",
            "transform : rotate(360deg);",
            "}",
            "}",
            "@keyframes loadingoverlay_animation__rotate_right {",
            "to {",
            "-webkit-transform : rotate(360deg);",
            "transform : rotate(360deg);",
            "}",
            "}",

            "@-webkit-keyframes loadingoverlay_animation__rotate_left {",
            "to {",
            "-webkit-transform : rotate(-360deg);",
            "transform : rotate(-360deg);",
            "}",
            "}",
            "@keyframes loadingoverlay_animation__rotate_left {",
            "to {",
            "-webkit-transform : rotate(-360deg);",
            "transform : rotate(-360deg);",
            "}",
            "}",

            "@-webkit-keyframes loadingoverlay_animation__fadein {",
            "0% {",
            "opacity   : 0;",
            "-webkit-transform : scale(0.1, 0.1);",
            "transform : scale(0.1, 0.1);",
            "}",
            "50% {",
            "opacity   : 1;",
            "}",
            "100% {",
            "opacity   : 0;",
            "-webkit-transform : scale(1, 1);",
            "transform : scale(1, 1);",
            "}",
            "}",
            "@keyframes loadingoverlay_animation__fadein {",
            "0% {",
            "opacity   : 0;",
            "-webkit-transform : scale(0.1, 0.1);",
            "transform : scale(0.1, 0.1);",
            "}",
            "50% {",
            "opacity   : 1;",
            "}",
            "100% {",
            "opacity   : 0;",
            "-webkit-transform : scale(1, 1);",
            "transform : scale(1, 1);",
            "}",
            "}",

            "@-webkit-keyframes loadingoverlay_animation__pulse {",
            "0% {",
            "-webkit-transform : scale(0, 0);",
            "transform : scale(0, 0);",
            "}",
            "50% {",
            "-webkit-transform : scale(1, 1);",
            "transform : scale(1, 1);",
            "}",
            "100% {",
            "-webkit-transform : scale(0, 0);",
            "transform : scale(0, 0);",
            "}",
            "}",
            "@keyframes loadingoverlay_animation__pulse {",
            "0% {",
            "-webkit-transform : scale(0, 0);",
            "transform : scale(0, 0);",
            "}",
            "50% {",
            "-webkit-transform : scale(1, 1);",
            "transform : scale(1, 1);",
            "}",
            "100% {",
            "-webkit-transform : scale(0, 0);",
            "transform : scale(0, 0);",
            "}",
            "}",
            "</style>"
        ].join(" "));
    });

}));;
