(function(global,factory){if(typeof module==="object"&&typeof module.exports==="object"){module.exports=global.document?factory(global,true):function(w){if(!w.document)throw new Error("jQuery requires a window with a document");return factory(w)}}else factory(global)}(typeof window!=="undefined"?window:this,function(window,noGlobal){var arr=[],document=window.document,slice=arr.slice,concat=arr.concat,push=arr.push,indexOf=arr.indexOf,class2type={},toString=class2type.toString,hasOwn=class2type.hasOwnProperty,support={},version="2.2.4",jQuery=function(selector,context){return new jQuery.fn.init(selector,context)},rtrim=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,rmsPrefix=/^-ms-/,rdashAlpha=/-([\da-z])/gi,fcamelCase=function(all,letter){return letter.toUpperCase()};jQuery.fn=jQuery.prototype={jquery:version,constructor:jQuery,selector:"",length:0,toArray:function(){return slice.call(this)},get:function(num){return num!=null?(num<0?this[num+this.length]:this[num]):slice.call(this)},pushStack:function(elems){var ret=jQuery.merge(this.constructor(),elems);ret.prevObject=this;ret.context=this.context;return ret},each:function(callback){return jQuery.each(this,callback)},map:function(callback){return this.pushStack(jQuery.map(this,function(elem,i){return callback.call(elem,i,elem)}))},slice:function(){return this.pushStack(slice.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(i){var len=this.length,j=+i+(i<0?len:0);return this.pushStack(j>=0&&j<len?[this[j]]:[])},end:function(){return this.prevObject||this.constructor()},push:push,sort:arr.sort,splice:arr.splice};jQuery.extend=jQuery.fn.extend=function(){var options,name,src,copy,copyIsArray,clone,target=arguments[0]||{},i=1,length=arguments.length,deep=false;if(typeof target==="boolean"){deep=target;target=arguments[i]||{};i++};if(typeof target!=="object"&&!jQuery.isFunction(target))target={};if(i===length){target=this;i--};for(;i<length;i++)if((options=arguments[i])!=null)for(name in options){src=target[name];copy=options[name];if(target===copy)continue;if(deep&&copy&&(jQuery.isPlainObject(copy)||(copyIsArray=jQuery.isArray(copy)))){if(copyIsArray){copyIsArray=false;clone=src&&jQuery.isArray(src)?src:[]}else clone=src&&jQuery.isPlainObject(src)?src:{};target[name]=jQuery.extend(deep,clone,copy)}else if(copy!==undefined)target[name]=copy};return target};jQuery.extend({expando:"jQuery"+(version+Math.random()).replace(/\D/g,""),isReady:true,error:function(msg){throw new Error(msg)},noop:function(){},isFunction:function(obj){return jQuery.type(obj)==="function"},isArray:Array.isArray,isWindow:function(obj){return obj!=null&&obj===obj.window},isNumeric:function(obj){var realStringObj=obj&&obj.toString();return!jQuery.isArray(obj)&&(realStringObj-parseFloat(realStringObj)+1)>=0},isPlainObject:function(obj){var key;if(jQuery.type(obj)!=="object"||obj.nodeType||jQuery.isWindow(obj))return false;if(obj.constructor&&!hasOwn.call(obj,"constructor")&&!hasOwn.call(obj.constructor.prototype||{},"isPrototypeOf"))return false;for(key in obj);return key===undefined||hasOwn.call(obj,key)},isEmptyObject:function(obj){var name;for(name in obj)return false;return true},type:function(obj){if(obj==null)return obj+"";return typeof obj==="object"||typeof obj==="function"?class2type[toString.call(obj)]||"object":typeof obj},globalEval:function(code){var script,indirect=eval;code=jQuery.trim(code);if(code)if(code.indexOf("use strict")===1){script=document.createElement("script");script.text=code;document.head.appendChild(script).parentNode.removeChild(script)}else indirect(code)},camelCase:function(string){return string.replace(rmsPrefix,"ms-").replace(rdashAlpha,fcamelCase)},nodeName:function(elem,name){return elem.nodeName&&elem.nodeName.toLowerCase()===name.toLowerCase()},each:function(obj,callback){var length,i=0;if(isArrayLike(obj)){length=obj.length;for(;i<length;i++)if(callback.call(obj[i],i,obj[i])===false)break}else for(i in obj)if(callback.call(obj[i],i,obj[i])===false)break;return obj},trim:function(text){return text==null?"":(text+"").replace(rtrim,"")},makeArray:function(arr,results){var ret=results||[];if(arr!=null)if(isArrayLike(Object(arr))){jQuery.merge(ret,typeof arr==="string"?[arr]:arr)}else push.call(ret,arr);return ret},inArray:function(elem,arr,i){return arr==null?-1:indexOf.call(arr,elem,i)},merge:function(first,second){var len=+second.length,j=0,i=first.length;for(;j<len;j++)first[i++]=second[j];first.length=i;return first},grep:function(elems,callback,invert){var callbackInverse,matches=[],i=0,length=elems.length,callbackExpect=!invert;for(;i<length;i++){callbackInverse=!callback(elems[i],i);if(callbackInverse!==callbackExpect)matches.push(elems[i])};return matches},map:function(elems,callback,arg){var length,value,i=0,ret=[];if(isArrayLike(elems)){length=elems.length;for(;i<length;i++){value=callback(elems[i],i,arg);if(value!=null)ret.push(value)}}else for(i in elems){value=callback(elems[i],i,arg);if(value!=null)ret.push(value)};return concat.apply([],ret)},guid:1,proxy:function(fn,context){var tmp,args,proxy;if(typeof context==="string"){tmp=fn[context];context=fn;fn=tmp};if(!jQuery.isFunction(fn))return undefined;args=slice.call(arguments,2);proxy=function(){return fn.apply(context||this,args.concat(slice.call(arguments)))};proxy.guid=fn.guid=fn.guid||jQuery.guid++;return proxy},now:Date.now,support:support});if(typeof Symbol==="function")jQuery.fn[Symbol.iterator]=arr[Symbol.iterator];jQuery.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(i,name){class2type["[object "+name+"]"]=name.toLowerCase()})
function isArrayLike(obj){var length=!!obj&&"length"in obj&&obj.length,type=jQuery.type(obj);if(type==="function"||jQuery.isWindow(obj))return false;return type==="array"||length===0||typeof length==="number"&&length>0&&(length-1)in obj};var Sizzle=(function(window){var i,support,Expr,getText,isXML,tokenize,compile,select,outermostContext,sortInput,hasDuplicate,setDocument,document,docElem,documentIsHTML,rbuggyQSA,rbuggyMatches,matches,contains,expando="sizzle"+1*new Date(),preferredDoc=window.document,dirruns=0,done=0,classCache=createCache(),tokenCache=createCache(),compilerCache=createCache(),sortOrder=function(a,b){if(a===b)hasDuplicate=true;return 0},MAX_NEGATIVE=1<<31,hasOwn={}.hasOwnProperty,arr=[],pop=arr.pop,push_native=arr.push,push=arr.push,slice=arr.slice,indexOf=function(list,elem){var i=0,len=list.length;for(;i<len;i++)if(list[i]===elem)return i;return-1},booleans="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",whitespace="[\\x20\\t\\r\\n\\f]",identifier="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",attributes="\\["+whitespace+"*("+identifier+")(?:"+whitespace+"*([*^$|!~]?=)"+whitespace+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+identifier+"))|)"+whitespace+"*\\]",pseudos=":("+identifier+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+attributes+")*)|.*)\\)|)",rwhitespace=new RegExp(whitespace+"+","g"),rtrim=new RegExp("^"+whitespace+"+|((?:^|[^\\\\])(?:\\\\.)*)"+whitespace+"+$","g"),rcomma=new RegExp("^"+whitespace+"*,"+whitespace+"*"),rcombinators=new RegExp("^"+whitespace+"*([>+~]|"+whitespace+")"+whitespace+"*"),rattributeQuotes=new RegExp("="+whitespace+"*([^\\]'\"]*?)"+whitespace+"*\\]","g"),rpseudo=new RegExp(pseudos),ridentifier=new RegExp("^"+identifier+"$"),matchExpr={ID:new RegExp("^#("+identifier+")"),CLASS:new RegExp("^\\.("+identifier+")"),TAG:new RegExp("^("+identifier+"|[*])"),ATTR:new RegExp("^"+attributes),PSEUDO:new RegExp("^"+pseudos),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+whitespace+"*(even|odd|(([+-]|)(\\d*)n|)"+whitespace+"*(?:([+-]|)"+whitespace+"*(\\d+)|))"+whitespace+"*\\)|)","i"),bool:new RegExp("^(?:"+booleans+")$","i"),needsContext:new RegExp("^"+whitespace+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+whitespace+"*((?:-\\d)?\\d*)"+whitespace+"*\\)|)(?=[^-]|$)","i")},rinputs=/^(?:input|select|textarea|button)$/i,rheader=/^h\d$/i,rnative=/^[^{]+\{\s*\[native \w/,rquickExpr=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,rsibling=/[+~]/,rescape=/'|\\/g,runescape=new RegExp("\\\\([\\da-f]{1,6}"+whitespace+"?|("+whitespace+")|.)","ig"),funescape=function(_,escaped,escapedWhitespace){var high="0x"+escaped-0x10000;return high!==high||escapedWhitespace?escaped:high<0?String.fromCharCode(high+0x10000):String.fromCharCode(high>>10|0xD800,high&0x3FF|0xDC00)},unloadHandler=function(){setDocument()};try{push.apply((arr=slice.call(preferredDoc.childNodes)),preferredDoc.childNodes);arr[preferredDoc.childNodes.length].nodeType}catch(e){push={apply:arr.length?function(target,els){push_native.apply(target,slice.call(els))}:function(target,els){var j=target.length,i=0;while((target[j++]=els[i++]));target.length=j-1}}}
function Sizzle(selector,context,results,seed){var m,i,elem,nid,nidselect,match,groups,newSelector,newContext=context&&context.ownerDocument,nodeType=context?context.nodeType:9;results=results||[];if(typeof selector!=="string"||!selector||nodeType!==1&&nodeType!==9&&nodeType!==11)return results;if(!seed){if((context?context.ownerDocument||context:preferredDoc)!==document)setDocument(context);context=context||document;if(documentIsHTML){if(nodeType!==11&&(match=rquickExpr.exec(selector)))if((m=match[1])){if(nodeType===9){if((elem=context.getElementById(m))){if(elem.id===m){results.push(elem);return results}}else return results}else if(newContext&&(elem=newContext.getElementById(m))&&contains(context,elem)&&elem.id===m){results.push(elem);return results}}else if(match[2]){push.apply(results,context.getElementsByTagName(selector));return results}else if((m=match[3])&&support.getElementsByClassName&&context.getElementsByClassName){push.apply(results,context.getElementsByClassName(m));return results};if(support.qsa&&!compilerCache[selector+" "]&&(!rbuggyQSA||!rbuggyQSA.test(selector))){if(nodeType!==1){newContext=context;newSelector=selector}else if(context.nodeName.toLowerCase()!=="object"){if((nid=context.getAttribute("id"))){nid=nid.replace(rescape,"\\$&")}else context.setAttribute("id",(nid=expando));groups=tokenize(selector);i=groups.length;nidselect=ridentifier.test(nid)?"#"+nid:"[id='"+nid+"']";while(i--)groups[i]=nidselect+" "+toSelector(groups[i]);newSelector=groups.join(",");newContext=rsibling.test(selector)&&testContext(context.parentNode)||context};if(newSelector)try{push.apply(results,newContext.querySelectorAll(newSelector));return results}catch(qsaError){}finally{if(nid===expando)context.removeAttribute("id")}}}};return select(selector.replace(rtrim,"$1"),context,results,seed)}
function createCache(){var keys=[]
function cache(key,value){if(keys.push(key+" ")>Expr.cacheLength)delete cache[keys.shift()];return(cache[key+" "]=value)};return cache}
function markFunction(fn){fn[expando]=true;return fn}
function assert(fn){var div=document.createElement("div");try{return!!fn(div)}catch(e){return false}finally{if(div.parentNode)div.parentNode.removeChild(div);div=null}}
function addHandle(attrs,handler){var arr=attrs.split("|"),i=arr.length;while(i--)Expr.attrHandle[arr[i]]=handler}
function siblingCheck(a,b){var cur=b&&a,diff=cur&&a.nodeType===1&&b.nodeType===1&&(~b.sourceIndex||MAX_NEGATIVE)-(~a.sourceIndex||MAX_NEGATIVE);if(diff)return diff;if(cur)while((cur=cur.nextSibling))if(cur===b)return-1;return a?1:-1}
function createInputPseudo(type){return function(elem){var name=elem.nodeName.toLowerCase();return name==="input"&&elem.type===type}}
function createButtonPseudo(type){return function(elem){var name=elem.nodeName.toLowerCase();return(name==="input"||name==="button")&&elem.type===type}}
function createPositionalPseudo(fn){return markFunction(function(argument){argument=+argument;return markFunction(function(seed,matches){var j,matchIndexes=fn([],seed.length,argument),i=matchIndexes.length;while(i--)if(seed[(j=matchIndexes[i])])seed[j]=!(matches[j]=seed[j])})})}
function testContext(context){return context&&typeof context.getElementsByTagName!=="undefined"&&context};support=Sizzle.support={};isXML=Sizzle.isXML=function(elem){var documentElement=elem&&(elem.ownerDocument||elem).documentElement;return documentElement?documentElement.nodeName!=="HTML":false};setDocument=Sizzle.setDocument=function(node){var hasCompare,parent,doc=node?node.ownerDocument||node:preferredDoc;if(doc===document||doc.nodeType!==9||!doc.documentElement)return document;document=doc;docElem=document.documentElement;documentIsHTML=!isXML(document);if((parent=document.defaultView)&&parent.top!==parent)if(parent.addEventListener){parent.addEventListener("unload",unloadHandler,false)}else if(parent.attachEvent)parent.attachEvent("onunload",unloadHandler);support.attributes=assert(function(div){div.className="i";return!div.getAttribute("className")});support.getElementsByTagName=assert(function(div){div.appendChild(document.createComment(""));return!div.getElementsByTagName("*").length});support.getElementsByClassName=rnative.test(document.getElementsByClassName);support.getById=assert(function(div){docElem.appendChild(div).id=expando;return!document.getElementsByName||!document.getElementsByName(expando).length});if(support.getById){Expr.find["ID"]=function(id,context){if(typeof context.getElementById!=="undefined"&&documentIsHTML){var m=context.getElementById(id);return m?[m]:[]}};Expr.filter["ID"]=function(id){var attrId=id.replace(runescape,funescape);return function(elem){return elem.getAttribute("id")===attrId}}}else{delete Expr.find["ID"];Expr.filter["ID"]=function(id){var attrId=id.replace(runescape,funescape);return function(elem){var node=typeof elem.getAttributeNode!=="undefined"&&elem.getAttributeNode("id");return node&&node.value===attrId}}};Expr.find["TAG"]=support.getElementsByTagName?function(tag,context){if(typeof context.getElementsByTagName!=="undefined"){return context.getElementsByTagName(tag)}else if(support.qsa)return context.querySelectorAll(tag)}:function(tag,context){var elem,tmp=[],i=0,results=context.getElementsByTagName(tag);if(tag==="*"){while((elem=results[i++]))if(elem.nodeType===1)tmp.push(elem);return tmp};return results};Expr.find["CLASS"]=support.getElementsByClassName&&function(className,context){if(typeof context.getElementsByClassName!=="undefined"&&documentIsHTML)return context.getElementsByClassName(className)};rbuggyMatches=[];rbuggyQSA=[];if((support.qsa=rnative.test(document.querySelectorAll))){assert(function(div){docElem.appendChild(div).innerHTML="<a id='"+expando+"'></a><select id='"+expando+"-\r\\' msallowcapture=''><option selected=''></option></select>";if(div.querySelectorAll("[msallowcapture^='']").length)rbuggyQSA.push("[*^$]="+whitespace+"*(?:''|\"\")");if(!div.querySelectorAll("[selected]").length)rbuggyQSA.push("\\["+whitespace+"*(?:value|"+booleans+")");if(!div.querySelectorAll("[id~="+expando+"-]").length)rbuggyQSA.push("~=");if(!div.querySelectorAll(":checked").length)rbuggyQSA.push(":checked");if(!div.querySelectorAll("a#"+expando+"+*").length)rbuggyQSA.push(".#.+[+~]")});assert(function(div){var input=document.createElement("input");input.setAttribute("type","hidden");div.appendChild(input).setAttribute("name","D");if(div.querySelectorAll("[name=d]").length)rbuggyQSA.push("name"+whitespace+"*[*^$|!~]?=");if(!div.querySelectorAll(":enabled").length)rbuggyQSA.push(":enabled",":disabled");div.querySelectorAll("*,:x");rbuggyQSA.push(",.*:")})};if((support.matchesSelector=rnative.test((matches=docElem.matches||docElem.webkitMatchesSelector||docElem.mozMatchesSelector||docElem.oMatchesSelector||docElem.msMatchesSelector))))assert(function(div){support.disconnectedMatch=matches.call(div,"div");matches.call(div,"[s!='']:x");rbuggyMatches.push("!=",pseudos)});rbuggyQSA=rbuggyQSA.length&&new RegExp(rbuggyQSA.join("|"));rbuggyMatches=rbuggyMatches.length&&new RegExp(rbuggyMatches.join("|"));hasCompare=rnative.test(docElem.compareDocumentPosition);contains=hasCompare||rnative.test(docElem.contains)?function(a,b){var adown=a.nodeType===9?a.documentElement:a,bup=b&&b.parentNode;return a===bup||!!(bup&&bup.nodeType===1&&(adown.contains?adown.contains(bup):a.compareDocumentPosition&&a.compareDocumentPosition(bup)&16))}:function(a,b){if(b)while((b=b.parentNode))if(b===a)return true;return false};sortOrder=hasCompare?function(a,b){if(a===b){hasDuplicate=true;return 0};var compare=!a.compareDocumentPosition-!b.compareDocumentPosition;if(compare)return compare;compare=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1;if(compare&1||(!support.sortDetached&&b.compareDocumentPosition(a)===compare)){if(a===document||a.ownerDocument===preferredDoc&&contains(preferredDoc,a))return-1;if(b===document||b.ownerDocument===preferredDoc&&contains(preferredDoc,b))return 1;return sortInput?(indexOf(sortInput,a)-indexOf(sortInput,b)):0};return compare&4?-1:1}:function(a,b){if(a===b){hasDuplicate=true;return 0};var cur,i=0,aup=a.parentNode,bup=b.parentNode,ap=[a],bp=[b];if(!aup||!bup){return a===document?-1:b===document?1:aup?-1:bup?1:sortInput?(indexOf(sortInput,a)-indexOf(sortInput,b)):0}else if(aup===bup)return siblingCheck(a,b);cur=a;while((cur=cur.parentNode))ap.unshift(cur);cur=b;while((cur=cur.parentNode))bp.unshift(cur);while(ap[i]===bp[i])i++;return i?siblingCheck(ap[i],bp[i]):ap[i]===preferredDoc?-1:bp[i]===preferredDoc?1:0};return document};Sizzle.matches=function(expr,elements){return Sizzle(expr,null,null,elements)};Sizzle.matchesSelector=function(elem,expr){if((elem.ownerDocument||elem)!==document)setDocument(elem);expr=expr.replace(rattributeQuotes,"='$1']");if(support.matchesSelector&&documentIsHTML&&!compilerCache[expr+" "]&&(!rbuggyMatches||!rbuggyMatches.test(expr))&&(!rbuggyQSA||!rbuggyQSA.test(expr)))try{var ret=matches.call(elem,expr);if(ret||support.disconnectedMatch||elem.document&&elem.document.nodeType!==11)return ret}catch(e){};return Sizzle(expr,document,null,[elem]).length>0};Sizzle.contains=function(context,elem){if((context.ownerDocument||context)!==document)setDocument(context);return contains(context,elem)};Sizzle.attr=function(elem,name){if((elem.ownerDocument||elem)!==document)setDocument(elem);var fn=Expr.attrHandle[name.toLowerCase()],val=fn&&hasOwn.call(Expr.attrHandle,name.toLowerCase())?fn(elem,name,!documentIsHTML):undefined;return val!==undefined?val:support.attributes||!documentIsHTML?elem.getAttribute(name):(val=elem.getAttributeNode(name))&&val.specified?val.value:null};Sizzle.error=function(msg){throw new Error("Syntax error, unrecognized expression: "+msg)};Sizzle.uniqueSort=function(results){var elem,duplicates=[],j=0,i=0;hasDuplicate=!support.detectDuplicates;sortInput=!support.sortStable&&results.slice(0);results.sort(sortOrder);if(hasDuplicate){while((elem=results[i++]))if(elem===results[i])j=duplicates.push(i);while(j--)results.splice(duplicates[j],1)};sortInput=null;return results};getText=Sizzle.getText=function(elem){var node,ret="",i=0,nodeType=elem.nodeType;if(!nodeType){while((node=elem[i++]))ret+=getText(node)}else if(nodeType===1||nodeType===9||nodeType===11){if(typeof elem.textContent==="string"){return elem.textContent}else for(elem=elem.firstChild;elem;elem=elem.nextSibling)ret+=getText(elem)}else if(nodeType===3||nodeType===4)return elem.nodeValue;return ret};Expr=Sizzle.selectors={cacheLength:50,createPseudo:markFunction,match:matchExpr,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:true}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:true},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(match){match[1]=match[1].replace(runescape,funescape);match[3]=(match[3]||match[4]||match[5]||"").replace(runescape,funescape);if(match[2]==="~=")match[3]=" "+match[3]+" ";return match.slice(0,4)},CHILD:function(match){match[1]=match[1].toLowerCase();if(match[1].slice(0,3)==="nth"){if(!match[3])Sizzle.error(match[0]);match[4]=+(match[4]?match[5]+(match[6]||1):2*(match[3]==="even"||match[3]==="odd"));match[5]=+((match[7]+match[8])||match[3]==="odd")}else if(match[3])Sizzle.error(match[0]);return match},PSEUDO:function(match){var excess,unquoted=!match[6]&&match[2];if(matchExpr.CHILD.test(match[0]))return null;if(match[3]){match[2]=match[4]||match[5]||""}else if(unquoted&&rpseudo.test(unquoted)&&(excess=tokenize(unquoted,true))&&(excess=unquoted.indexOf(")",unquoted.length-excess)-unquoted.length)){match[0]=match[0].slice(0,excess);match[2]=unquoted.slice(0,excess)};return match.slice(0,3)}},filter:{TAG:function(nodeNameSelector){var nodeName=nodeNameSelector.replace(runescape,funescape).toLowerCase();return nodeNameSelector==="*"?function(){return true}:function(elem){return elem.nodeName&&elem.nodeName.toLowerCase()===nodeName}},CLASS:function(className){var pattern=classCache[className+" "];return pattern||(pattern=new RegExp("(^|"+whitespace+")"+className+"("+whitespace+"|$)"))&&classCache(className,function(elem){return pattern.test(typeof elem.className==="string"&&elem.className||typeof elem.getAttribute!=="undefined"&&elem.getAttribute("class")||"")})},ATTR:function(name,operator,check){return function(elem){var result=Sizzle.attr(elem,name);if(result==null)return operator==="!=";if(!operator)return true;result+="";return operator==="="?result===check:operator==="!="?result!==check:operator==="^="?check&&result.indexOf(check)===0:operator==="*="?check&&result.indexOf(check)>-1:operator==="$="?check&&result.slice(-check.length)===check:operator==="~="?(" "+result.replace(rwhitespace," ")+" ").indexOf(check)>-1:operator==="|="?result===check||result.slice(0,check.length+1)===check+"-":false}},CHILD:function(type,what,argument,first,last){var simple=type.slice(0,3)!=="nth",forward=type.slice(-4)!=="last",ofType=what==="of-type";return first===1&&last===0?function(elem){return!!elem.parentNode}:function(elem,context,xml){var cache,uniqueCache,outerCache,node,nodeIndex,start,dir=simple!==forward?"nextSibling":"previousSibling",parent=elem.parentNode,name=ofType&&elem.nodeName.toLowerCase(),useCache=!xml&&!ofType,diff=false;if(parent){if(simple){while(dir){node=elem;while((node=node[dir]))if(ofType?node.nodeName.toLowerCase()===name:node.nodeType===1)return false;start=dir=type==="only"&&!start&&"nextSibling"};return true};start=[forward?parent.firstChild:parent.lastChild];if(forward&&useCache){node=parent;outerCache=node[expando]||(node[expando]={});uniqueCache=outerCache[node.uniqueID]||(outerCache[node.uniqueID]={});cache=uniqueCache[type]||[];nodeIndex=cache[0]===dirruns&&cache[1];diff=nodeIndex&&cache[2];node=nodeIndex&&parent.childNodes[nodeIndex];while((node=++nodeIndex&&node&&node[dir]||(diff=nodeIndex=0)||start.pop()))if(node.nodeType===1&&++diff&&node===elem){uniqueCache[type]=[dirruns,nodeIndex,diff];break}}else{if(useCache){node=elem;outerCache=node[expando]||(node[expando]={});uniqueCache=outerCache[node.uniqueID]||(outerCache[node.uniqueID]={});cache=uniqueCache[type]||[];nodeIndex=cache[0]===dirruns&&cache[1];diff=nodeIndex};if(diff===false)while((node=++nodeIndex&&node&&node[dir]||(diff=nodeIndex=0)||start.pop()))if((ofType?node.nodeName.toLowerCase()===name:node.nodeType===1)&&++diff){if(useCache){outerCache=node[expando]||(node[expando]={});uniqueCache=outerCache[node.uniqueID]||(outerCache[node.uniqueID]={});uniqueCache[type]=[dirruns,diff]};if(node===elem)break}};diff-=last;return diff===first||(diff%first===0&&diff/first>=0)}}},PSEUDO:function(pseudo,argument){var args,fn=Expr.pseudos[pseudo]||Expr.setFilters[pseudo.toLowerCase()]||Sizzle.error("unsupported pseudo: "+pseudo);if(fn[expando])return fn(argument);if(fn.length>1){args=[pseudo,pseudo,"",argument];return Expr.setFilters.hasOwnProperty(pseudo.toLowerCase())?markFunction(function(seed,matches){var idx,matched=fn(seed,argument),i=matched.length;while(i--){idx=indexOf(seed,matched[i]);seed[idx]=!(matches[idx]=matched[i])}}):function(elem){return fn(elem,0,args)}};return fn}},pseudos:{not:markFunction(function(selector){var input=[],results=[],matcher=compile(selector.replace(rtrim,"$1"));return matcher[expando]?markFunction(function(seed,matches,context,xml){var elem,unmatched=matcher(seed,null,xml,[]),i=seed.length;while(i--)if((elem=unmatched[i]))seed[i]=!(matches[i]=elem)}):function(elem,context,xml){input[0]=elem;matcher(input,null,xml,results);input[0]=null;return!results.pop()}}),has:markFunction(function(selector){return function(elem){return Sizzle(selector,elem).length>0}}),contains:markFunction(function(text){text=text.replace(runescape,funescape);return function(elem){return(elem.textContent||elem.innerText||getText(elem)).indexOf(text)>-1}}),lang:markFunction(function(lang){if(!ridentifier.test(lang||""))Sizzle.error("unsupported lang: "+lang);lang=lang.replace(runescape,funescape).toLowerCase();return function(elem){var elemLang;do{if((elemLang=documentIsHTML?elem.lang:elem.getAttribute("xml:lang")||elem.getAttribute("lang"))){elemLang=elemLang.toLowerCase();return elemLang===lang||elemLang.indexOf(lang+"-")===0}}while((elem=elem.parentNode)&&elem.nodeType===1);return false}}),target:function(elem){var hash=window.location&&window.location.hash;return hash&&hash.slice(1)===elem.id},root:function(elem){return elem===docElem},focus:function(elem){return elem===document.activeElement&&(!document.hasFocus||document.hasFocus())&&!!(elem.type||elem.href||~elem.tabIndex)},enabled:function(elem){return elem.disabled===false},disabled:function(elem){return elem.disabled===true},checked:function(elem){var nodeName=elem.nodeName.toLowerCase();return(nodeName==="input"&&!!elem.checked)||(nodeName==="option"&&!!elem.selected)},selected:function(elem){if(elem.parentNode)elem.parentNode.selectedIndex;return elem.selected===true},empty:function(elem){for(elem=elem.firstChild;elem;elem=elem.nextSibling)if(elem.nodeType<6)return false;return true},parent:function(elem){return!Expr.pseudos["empty"](elem)},header:function(elem){return rheader.test(elem.nodeName)},input:function(elem){return rinputs.test(elem.nodeName)},button:function(elem){var name=elem.nodeName.toLowerCase();return name==="input"&&elem.type==="button"||name==="button"},text:function(elem){var attr;return elem.nodeName.toLowerCase()==="input"&&elem.type==="text"&&((attr=elem.getAttribute("type"))==null||attr.toLowerCase()==="text")},first:createPositionalPseudo(function(){return[0]}),last:createPositionalPseudo(function(matchIndexes,length){return[length-1]}),eq:createPositionalPseudo(function(matchIndexes,length,argument){return[argument<0?argument+length:argument]}),even:createPositionalPseudo(function(matchIndexes,length){var i=0;for(;i<length;i+=2)matchIndexes.push(i);return matchIndexes}),odd:createPositionalPseudo(function(matchIndexes,length){var i=1;for(;i<length;i+=2)matchIndexes.push(i);return matchIndexes}),lt:createPositionalPseudo(function(matchIndexes,length,argument){var i=argument<0?argument+length:argument;for(;--i>=0;)matchIndexes.push(i);return matchIndexes}),gt:createPositionalPseudo(function(matchIndexes,length,argument){var i=argument<0?argument+length:argument;for(;++i<length;)matchIndexes.push(i);return matchIndexes})}};Expr.pseudos["nth"]=Expr.pseudos["eq"];for(i in {radio:true,checkbox:true,file:true,password:true,image:true})Expr.pseudos[i]=createInputPseudo(i);for(i in {submit:true,reset:true})Expr.pseudos[i]=createButtonPseudo(i)
function setFilters(){};setFilters.prototype=Expr.filters=Expr.pseudos;Expr.setFilters=new setFilters();tokenize=Sizzle.tokenize=function(selector,parseOnly){var matched,match,tokens,type,soFar,groups,preFilters,cached=tokenCache[selector+" "];if(cached)return parseOnly?0:cached.slice(0);soFar=selector;groups=[];preFilters=Expr.preFilter;while(soFar){if(!matched||(match=rcomma.exec(soFar))){if(match)soFar=soFar.slice(match[0].length)||soFar;groups.push((tokens=[]))};matched=false;if((match=rcombinators.exec(soFar))){matched=match.shift();tokens.push({value:matched,type:match[0].replace(rtrim," ")});soFar=soFar.slice(matched.length)};for(type in Expr.filter)if((match=matchExpr[type].exec(soFar))&&(!preFilters[type]||(match=preFilters[type](match)))){matched=match.shift();tokens.push({value:matched,type:type,matches:match});soFar=soFar.slice(matched.length)};if(!matched)break};return parseOnly?soFar.length:soFar?Sizzle.error(selector):tokenCache(selector,groups).slice(0)}
function toSelector(tokens){var i=0,len=tokens.length,selector="";for(;i<len;i++)selector+=tokens[i].value;return selector}
function addCombinator(matcher,combinator,base){var dir=combinator.dir,checkNonElements=base&&dir==="parentNode",doneName=done++;return combinator.first?function(elem,context,xml){while((elem=elem[dir]))if(elem.nodeType===1||checkNonElements)return matcher(elem,context,xml)}:function(elem,context,xml){var oldCache,uniqueCache,outerCache,newCache=[dirruns,doneName];if(xml){while((elem=elem[dir]))if(elem.nodeType===1||checkNonElements)if(matcher(elem,context,xml))return true}else while((elem=elem[dir]))if(elem.nodeType===1||checkNonElements){outerCache=elem[expando]||(elem[expando]={});uniqueCache=outerCache[elem.uniqueID]||(outerCache[elem.uniqueID]={});if((oldCache=uniqueCache[dir])&&oldCache[0]===dirruns&&oldCache[1]===doneName){return(newCache[2]=oldCache[2])}else{uniqueCache[dir]=newCache;if((newCache[2]=matcher(elem,context,xml)))return true}}}}
function elementMatcher(matchers){return matchers.length>1?function(elem,context,xml){var i=matchers.length;while(i--)if(!matchers[i](elem,context,xml))return false;return true}:matchers[0]}
function multipleContexts(selector,contexts,results){var i=0,len=contexts.length;for(;i<len;i++)Sizzle(selector,contexts[i],results);return results}
function condense(unmatched,map,filter,context,xml){var elem,newUnmatched=[],i=0,len=unmatched.length,mapped=map!=null;for(;i<len;i++)if((elem=unmatched[i]))if(!filter||filter(elem,context,xml)){newUnmatched.push(elem);if(mapped)map.push(i)};return newUnmatched}
function setMatcher(preFilter,selector,matcher,postFilter,postFinder,postSelector){if(postFilter&&!postFilter[expando])postFilter=setMatcher(postFilter);if(postFinder&&!postFinder[expando])postFinder=setMatcher(postFinder,postSelector);return markFunction(function(seed,results,context,xml){var temp,i,elem,preMap=[],postMap=[],preexisting=results.length,elems=seed||multipleContexts(selector||"*",context.nodeType?[context]:context,[]),matcherIn=preFilter&&(seed||!selector)?condense(elems,preMap,preFilter,context,xml):elems,matcherOut=matcher?postFinder||(seed?preFilter:preexisting||postFilter)?[]:results:matcherIn;if(matcher)matcher(matcherIn,matcherOut,context,xml);if(postFilter){temp=condense(matcherOut,postMap);postFilter(temp,[],context,xml);i=temp.length;while(i--)if((elem=temp[i]))matcherOut[postMap[i]]=!(matcherIn[postMap[i]]=elem)};if(seed){if(postFinder||preFilter){if(postFinder){temp=[];i=matcherOut.length;while(i--)if((elem=matcherOut[i]))temp.push((matcherIn[i]=elem));postFinder(null,(matcherOut=[]),temp,xml)};i=matcherOut.length;while(i--)if((elem=matcherOut[i])&&(temp=postFinder?indexOf(seed,elem):preMap[i])>-1)seed[temp]=!(results[temp]=elem)}}else{matcherOut=condense(matcherOut===results?matcherOut.splice(preexisting,matcherOut.length):matcherOut);if(postFinder){postFinder(null,results,matcherOut,xml)}else push.apply(results,matcherOut)}})}
function matcherFromTokens(tokens){var checkContext,matcher,j,len=tokens.length,leadingRelative=Expr.relative[tokens[0].type],implicitRelative=leadingRelative||Expr.relative[" "],i=leadingRelative?1:0,matchContext=addCombinator(function(elem){return elem===checkContext},implicitRelative,true),matchAnyContext=addCombinator(function(elem){return indexOf(checkContext,elem)>-1},implicitRelative,true),matchers=[function(elem,context,xml){var ret=(!leadingRelative&&(xml||context!==outermostContext))||((checkContext=context).nodeType?matchContext(elem,context,xml):matchAnyContext(elem,context,xml));checkContext=null;return ret}];for(;i<len;i++)if((matcher=Expr.relative[tokens[i].type])){matchers=[addCombinator(elementMatcher(matchers),matcher)]}else{matcher=Expr.filter[tokens[i].type].apply(null,tokens[i].matches);if(matcher[expando]){j=++i;for(;j<len;j++)if(Expr.relative[tokens[j].type])break;return setMatcher(i>1&&elementMatcher(matchers),i>1&&toSelector(tokens.slice(0,i-1).concat({value:tokens[i-2].type===" "?"*":""})).replace(rtrim,"$1"),matcher,i<j&&matcherFromTokens(tokens.slice(i,j)),j<len&&matcherFromTokens((tokens=tokens.slice(j))),j<len&&toSelector(tokens))};matchers.push(matcher)};return elementMatcher(matchers)}
function matcherFromGroupMatchers(elementMatchers,setMatchers){var bySet=setMatchers.length>0,byElement=elementMatchers.length>0,superMatcher=function(seed,context,xml,results,outermost){var elem,j,matcher,matchedCount=0,i="0",unmatched=seed&&[],setMatched=[],contextBackup=outermostContext,elems=seed||byElement&&Expr.find["TAG"]("*",outermost),dirrunsUnique=(dirruns+=contextBackup==null?1:Math.random()||0.1),len=elems.length;if(outermost)outermostContext=context===document||context||outermost;for(;i!==len&&(elem=elems[i])!=null;i++){if(byElement&&elem){j=0;if(!context&&elem.ownerDocument!==document){setDocument(elem);xml=!documentIsHTML};while((matcher=elementMatchers[j++]))if(matcher(elem,context||document,xml)){results.push(elem);break};if(outermost)dirruns=dirrunsUnique};if(bySet){if((elem=!matcher&&elem))matchedCount--;if(seed)unmatched.push(elem)}};matchedCount+=i;if(bySet&&i!==matchedCount){j=0;while((matcher=setMatchers[j++]))matcher(unmatched,setMatched,context,xml);if(seed){if(matchedCount>0)while(i--)if(!(unmatched[i]||setMatched[i]))setMatched[i]=pop.call(results);setMatched=condense(setMatched)};push.apply(results,setMatched);if(outermost&&!seed&&setMatched.length>0&&(matchedCount+setMatchers.length)>1)Sizzle.uniqueSort(results)};if(outermost){dirruns=dirrunsUnique;outermostContext=contextBackup};return unmatched};return bySet?markFunction(superMatcher):superMatcher};compile=Sizzle.compile=function(selector,match){var i,setMatchers=[],elementMatchers=[],cached=compilerCache[selector+" "];if(!cached){if(!match)match=tokenize(selector);i=match.length;while(i--){cached=matcherFromTokens(match[i]);if(cached[expando]){setMatchers.push(cached)}else elementMatchers.push(cached)};cached=compilerCache(selector,matcherFromGroupMatchers(elementMatchers,setMatchers));cached.selector=selector};return cached};select=Sizzle.select=function(selector,context,results,seed){var i,tokens,token,type,find,compiled=typeof selector==="function"&&selector,match=!seed&&tokenize((selector=compiled.selector||selector));results=results||[];if(match.length===1){tokens=match[0]=match[0].slice(0);if(tokens.length>2&&(token=tokens[0]).type==="ID"&&support.getById&&context.nodeType===9&&documentIsHTML&&Expr.relative[tokens[1].type]){context=(Expr.find["ID"](token.matches[0].replace(runescape,funescape),context)||[])[0];if(!context){return results}else if(compiled)context=context.parentNode;selector=selector.slice(tokens.shift().value.length)};i=matchExpr.needsContext.test(selector)?0:tokens.length;while(i--){token=tokens[i];if(Expr.relative[(type=token.type)])break;if((find=Expr.find[type]))if((seed=find(token.matches[0].replace(runescape,funescape),rsibling.test(tokens[0].type)&&testContext(context.parentNode)||context))){tokens.splice(i,1);selector=seed.length&&toSelector(tokens);if(!selector){push.apply(results,seed);return results};break}}};(compiled||compile(selector,match))(seed,context,!documentIsHTML,results,!context||rsibling.test(selector)&&testContext(context.parentNode)||context);return results};support.sortStable=expando.split("").sort(sortOrder).join("")===expando;support.detectDuplicates=!!hasDuplicate;setDocument();support.sortDetached=assert(function(div1){return div1.compareDocumentPosition(document.createElement("div"))&1});if(!assert(function(div){div.innerHTML="<a href='#'></a>";return div.firstChild.getAttribute("href")==="#"}))addHandle("type|href|height|width",function(elem,name,isXML){if(!isXML)return elem.getAttribute(name,name.toLowerCase()==="type"?1:2)});if(!support.attributes||!assert(function(div){div.innerHTML="<input/>";div.firstChild.setAttribute("value","");return div.firstChild.getAttribute("value")===""}))addHandle("value",function(elem,name,isXML){if(!isXML&&elem.nodeName.toLowerCase()==="input")return elem.defaultValue});if(!assert(function(div){return div.getAttribute("disabled")==null}))addHandle(booleans,function(elem,name,isXML){var val;if(!isXML)return elem[name]===true?name.toLowerCase():(val=elem.getAttributeNode(name))&&val.specified?val.value:null});return Sizzle})(window);jQuery.find=Sizzle;jQuery.expr=Sizzle.selectors;jQuery.expr[":"]=jQuery.expr.pseudos;jQuery.uniqueSort=jQuery.unique=Sizzle.uniqueSort;jQuery.text=Sizzle.getText;jQuery.isXMLDoc=Sizzle.isXML;jQuery.contains=Sizzle.contains;var dir=function(elem,dir,until){var matched=[],truncate=until!==undefined;while((elem=elem[dir])&&elem.nodeType!==9)if(elem.nodeType===1){if(truncate&&jQuery(elem).is(until))break;matched.push(elem)};return matched},siblings=function(n,elem){var matched=[];for(;n;n=n.nextSibling)if(n.nodeType===1&&n!==elem)matched.push(n);return matched},rneedsContext=jQuery.expr.match.needsContext,rsingleTag=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,risSimple=/^.[^:#\[\.,]*$/
function winnow(elements,qualifier,not){if(jQuery.isFunction(qualifier))return jQuery.grep(elements,function(elem,i){return!!qualifier.call(elem,i,elem)!==not});if(qualifier.nodeType)return jQuery.grep(elements,function(elem){return(elem===qualifier)!==not});if(typeof qualifier==="string"){if(risSimple.test(qualifier))return jQuery.filter(qualifier,elements,not);qualifier=jQuery.filter(qualifier,elements)};return jQuery.grep(elements,function(elem){return(indexOf.call(qualifier,elem)>-1)!==not})};jQuery.filter=function(expr,elems,not){var elem=elems[0];if(not)expr=":not("+expr+")";return elems.length===1&&elem.nodeType===1?jQuery.find.matchesSelector(elem,expr)?[elem]:[]:jQuery.find.matches(expr,jQuery.grep(elems,function(elem){return elem.nodeType===1}))};jQuery.fn.extend({find:function(selector){var i,len=this.length,ret=[],self=this;if(typeof selector!=="string")return this.pushStack(jQuery(selector).filter(function(){for(i=0;i<len;i++)if(jQuery.contains(self[i],this))return true}));for(i=0;i<len;i++)jQuery.find(selector,self[i],ret);ret=this.pushStack(len>1?jQuery.unique(ret):ret);ret.selector=this.selector?this.selector+" "+selector:selector;return ret},filter:function(selector){return this.pushStack(winnow(this,selector||[],false))},not:function(selector){return this.pushStack(winnow(this,selector||[],true))},is:function(selector){return!!winnow(this,typeof selector==="string"&&rneedsContext.test(selector)?jQuery(selector):selector||[],false).length}});var rootjQuery,rquickExpr=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,init=jQuery.fn.init=function(selector,context,root){var match,elem;if(!selector)return this;root=root||rootjQuery;if(typeof selector==="string"){if(selector[0]==="<"&&selector[selector.length-1]===">"&&selector.length>=3){match=[null,selector,null]}else match=rquickExpr.exec(selector);if(match&&(match[1]||!context)){if(match[1]){context=context instanceof jQuery?context[0]:context;jQuery.merge(this,jQuery.parseHTML(match[1],context&&context.nodeType?context.ownerDocument||context:document,true));if(rsingleTag.test(match[1])&&jQuery.isPlainObject(context))for(match in context)if(jQuery.isFunction(this[match])){this[match](context[match])}else this.attr(match,context[match]);return this}else{elem=document.getElementById(match[2]);if(elem&&elem.parentNode){this.length=1;this[0]=elem};this.context=document;this.selector=selector;return this}}else if(!context||context.jquery){return(context||root).find(selector)}else return this.constructor(context).find(selector)}else if(selector.nodeType){this.context=this[0]=selector;this.length=1;return this}else if(jQuery.isFunction(selector))return root.ready!==undefined?root.ready(selector):selector(jQuery);if(selector.selector!==undefined){this.selector=selector.selector;this.context=selector.context};return jQuery.makeArray(selector,this)};init.prototype=jQuery.fn;rootjQuery=jQuery(document);var rparentsprev=/^(?:parents|prev(?:Until|All))/,guaranteedUnique={children:true,contents:true,next:true,prev:true};jQuery.fn.extend({has:function(target){var targets=jQuery(target,this),l=targets.length;return this.filter(function(){var i=0;for(;i<l;i++)if(jQuery.contains(this,targets[i]))return true})},closest:function(selectors,context){var cur,i=0,l=this.length,matched=[],pos=rneedsContext.test(selectors)||typeof selectors!=="string"?jQuery(selectors,context||this.context):0;for(;i<l;i++)for(cur=this[i];cur&&cur!==context;cur=cur.parentNode)if(cur.nodeType<11&&(pos?pos.index(cur)>-1:cur.nodeType===1&&jQuery.find.matchesSelector(cur,selectors))){matched.push(cur);break};return this.pushStack(matched.length>1?jQuery.uniqueSort(matched):matched)},index:function(elem){if(!elem)return(this[0]&&this[0].parentNode)?this.first().prevAll().length:-1;if(typeof elem==="string")return indexOf.call(jQuery(elem),this[0]);return indexOf.call(this,elem.jquery?elem[0]:elem)},add:function(selector,context){return this.pushStack(jQuery.uniqueSort(jQuery.merge(this.get(),jQuery(selector,context))))},addBack:function(selector){return this.add(selector==null?this.prevObject:this.prevObject.filter(selector))}})
function sibling(cur,dir){while((cur=cur[dir])&&cur.nodeType!==1);return cur};jQuery.each({parent:function(elem){var parent=elem.parentNode;return parent&&parent.nodeType!==11?parent:null},parents:function(elem){return dir(elem,"parentNode")},parentsUntil:function(elem,i,until){return dir(elem,"parentNode",until)},next:function(elem){return sibling(elem,"nextSibling")},prev:function(elem){return sibling(elem,"previousSibling")},nextAll:function(elem){return dir(elem,"nextSibling")},prevAll:function(elem){return dir(elem,"previousSibling")},nextUntil:function(elem,i,until){return dir(elem,"nextSibling",until)},prevUntil:function(elem,i,until){return dir(elem,"previousSibling",until)},siblings:function(elem){return siblings((elem.parentNode||{}).firstChild,elem)},children:function(elem){return siblings(elem.firstChild)},contents:function(elem){return elem.contentDocument||jQuery.merge([],elem.childNodes)}},function(name,fn){jQuery.fn[name]=function(until,selector){var matched=jQuery.map(this,fn,until);if(name.slice(-5)!=="Until")selector=until;if(selector&&typeof selector==="string")matched=jQuery.filter(selector,matched);if(this.length>1){if(!guaranteedUnique[name])jQuery.uniqueSort(matched);if(rparentsprev.test(name))matched.reverse()};return this.pushStack(matched)}});var rnotwhite=/\S+/g
function createOptions(options){var object={};jQuery.each(options.match(rnotwhite)||[],function(_,flag){object[flag]=true});return object};jQuery.Callbacks=function(options){options=typeof options==="string"?createOptions(options):jQuery.extend({},options);var firing,memory,fired,locked,list=[],queue=[],firingIndex=-1,fire=function(){locked=options.once;fired=firing=true;for(;queue.length;firingIndex=-1){memory=queue.shift();while(++firingIndex<list.length)if(list[firingIndex].apply(memory[0],memory[1])===false&&options.stopOnFalse){firingIndex=list.length;memory=false}};if(!options.memory)memory=false;firing=false;if(locked)if(memory){list=[]}else list=""},self={add:function(){if(list){if(memory&&!firing){firingIndex=list.length-1;queue.push(memory)};(function add(args){jQuery.each(args,function(_,arg){if(jQuery.isFunction(arg)){if(!options.unique||!self.has(arg))list.push(arg)}else if(arg&&arg.length&&jQuery.type(arg)!=="string")add(arg)})})(arguments);if(memory&&!firing)fire()};return this},remove:function(){jQuery.each(arguments,function(_,arg){var index;while((index=jQuery.inArray(arg,list,index))>-1){list.splice(index,1);if(index<=firingIndex)firingIndex--}});return this},has:function(fn){return fn?jQuery.inArray(fn,list)>-1:list.length>0},empty:function(){if(list)list=[];return this},disable:function(){locked=queue=[];list=memory="";return this},disabled:function(){return!list},lock:function(){locked=queue=[];if(!memory)list=memory="";return this},locked:function(){return!!locked},fireWith:function(context,args){if(!locked){args=args||[];args=[context,args.slice?args.slice():args];queue.push(args);if(!firing)fire()};return this},fire:function(){self.fireWith(this,arguments);return this},fired:function(){return!!fired}};return self};jQuery.extend({Deferred:function(func){var tuples=[["resolve","done",jQuery.Callbacks("once memory"),"resolved"],["reject","fail",jQuery.Callbacks("once memory"),"rejected"],["notify","progress",jQuery.Callbacks("memory")]],state="pending",promise={state:function(){return state},always:function(){deferred.done(arguments).fail(arguments);return this},then:function(){var fns=arguments;return jQuery.Deferred(function(newDefer){jQuery.each(tuples,function(i,tuple){var fn=jQuery.isFunction(fns[i])&&fns[i];deferred[tuple[1]](function(){var returned=fn&&fn.apply(this,arguments);if(returned&&jQuery.isFunction(returned.promise)){returned.promise().progress(newDefer.notify).done(newDefer.resolve).fail(newDefer.reject)}else newDefer[tuple[0]+"With"](this===promise?newDefer.promise():this,fn?[returned]:arguments)})});fns=null}).promise()},promise:function(obj){return obj!=null?jQuery.extend(obj,promise):promise}},deferred={};promise.pipe=promise.then;jQuery.each(tuples,function(i,tuple){var list=tuple[2],stateString=tuple[3];promise[tuple[1]]=list.add;if(stateString)list.add(function(){state=stateString},tuples[i^1][2].disable,tuples[2][2].lock);deferred[tuple[0]]=function(){deferred[tuple[0]+"With"](this===deferred?promise:this,arguments);return this};deferred[tuple[0]+"With"]=list.fireWith});promise.promise(deferred);if(func)func.call(deferred,deferred);return deferred},when:function(subordinate){var i=0,resolveValues=slice.call(arguments),length=resolveValues.length,remaining=length!==1||(subordinate&&jQuery.isFunction(subordinate.promise))?length:0,deferred=remaining===1?subordinate:jQuery.Deferred(),updateFunc=function(i,contexts,values){return function(value){contexts[i]=this;values[i]=arguments.length>1?slice.call(arguments):value;if(values===progressValues){deferred.notifyWith(contexts,values)}else if(!(--remaining))deferred.resolveWith(contexts,values)}},progressValues,progressContexts,resolveContexts;if(length>1){progressValues=new Array(length);progressContexts=new Array(length);resolveContexts=new Array(length);for(;i<length;i++)if(resolveValues[i]&&jQuery.isFunction(resolveValues[i].promise)){resolveValues[i].promise().progress(updateFunc(i,progressContexts,progressValues)).done(updateFunc(i,resolveContexts,resolveValues)).fail(deferred.reject)}else --remaining};if(!remaining)deferred.resolveWith(resolveContexts,resolveValues);return deferred.promise()}});var readyList;jQuery.fn.ready=function(fn){jQuery.ready.promise().done(fn);return this};jQuery.extend({isReady:false,readyWait:1,holdReady:function(hold){if(hold){jQuery.readyWait++}else jQuery.ready(true)},ready:function(wait){if(wait===true?--jQuery.readyWait:jQuery.isReady)return;jQuery.isReady=true;if(wait!==true&&--jQuery.readyWait>0)return;readyList.resolveWith(document,[jQuery]);if(jQuery.fn.triggerHandler){jQuery(document).triggerHandler("ready");jQuery(document).off("ready")}}})
function completed(){document.removeEventListener("DOMContentLoaded",completed);window.removeEventListener("load",completed);jQuery.ready()};jQuery.ready.promise=function(obj){if(!readyList){readyList=jQuery.Deferred();if(document.readyState==="complete"||(document.readyState!=="loading"&&!document.documentElement.doScroll)){window.setTimeout(jQuery.ready)}else{document.addEventListener("DOMContentLoaded",completed);window.addEventListener("load",completed)}};return readyList.promise(obj)};jQuery.ready.promise();var access=function(elems,fn,key,value,chainable,emptyGet,raw){var i=0,len=elems.length,bulk=key==null;if(jQuery.type(key)==="object"){chainable=true;for(i in key)access(elems,fn,i,key[i],true,emptyGet,raw)}else if(value!==undefined){chainable=true;if(!jQuery.isFunction(value))raw=true;if(bulk)if(raw){fn.call(elems,value);fn=null}else{bulk=fn;fn=function(elem,key,value){return bulk.call(jQuery(elem),value)}};if(fn)for(;i<len;i++)fn(elems[i],key,raw?value:value.call(elems[i],i,fn(elems[i],key)))};return chainable?elems:bulk?fn.call(elems):len?fn(elems[0],key):emptyGet},acceptData=function(owner){return owner.nodeType===1||owner.nodeType===9||!(+owner.nodeType)}
function Data(){this.expando=jQuery.expando+ Data.uid++};Data.uid=1;Data.prototype={register:function(owner,initial){var value=initial||{};if(owner.nodeType){owner[this.expando]=value}else Object.defineProperty(owner,this.expando,{value:value,writable:true,configurable:true});return owner[this.expando]},cache:function(owner){if(!acceptData(owner))return{};var value=owner[this.expando];if(!value){value={};if(acceptData(owner))if(owner.nodeType){owner[this.expando]=value}else Object.defineProperty(owner,this.expando,{value:value,configurable:true})};return value},set:function(owner,data,value){var prop,cache=this.cache(owner);if(typeof data==="string"){cache[data]=value}else for(prop in data)cache[prop]=data[prop];return cache},get:function(owner,key){return key===undefined?this.cache(owner):owner[this.expando]&&owner[this.expando][key]},access:function(owner,key,value){var stored;if(key===undefined||((key&&typeof key==="string")&&value===undefined)){stored=this.get(owner,key);return stored!==undefined?stored:this.get(owner,jQuery.camelCase(key))};this.set(owner,key,value);return value!==undefined?value:key},remove:function(owner,key){var i,name,camel,cache=owner[this.expando];if(cache===undefined)return;if(key===undefined){this.register(owner)}else{if(jQuery.isArray(key)){name=key.concat(key.map(jQuery.camelCase))}else{camel=jQuery.camelCase(key);if(key in cache){name=[key,camel]}else{name=camel;name=name in cache?[name]:(name.match(rnotwhite)||[])}};i=name.length;while(i--)delete cache[name[i]]};if(key===undefined||jQuery.isEmptyObject(cache))if(owner.nodeType){owner[this.expando]=undefined}else delete owner[this.expando]},hasData:function(owner){var cache=owner[this.expando];return cache!==undefined&&!jQuery.isEmptyObject(cache)}};var dataPriv=new Data(),dataUser=new Data(),rbrace=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,rmultiDash=/[A-Z]/g
function dataAttr(elem,key,data){var name;if(data===undefined&&elem.nodeType===1){name="data-"+key.replace(rmultiDash,"-$&").toLowerCase();data=elem.getAttribute(name);if(typeof data==="string"){try{data=data==="true"?true:data==="false"?false:data==="null"?null:+data+""===data?+data:rbrace.test(data)?jQuery.parseJSON(data):data}catch(e){};dataUser.set(elem,key,data)}else data=undefined};return data};jQuery.extend({hasData:function(elem){return dataUser.hasData(elem)||dataPriv.hasData(elem)},data:function(elem,name,data){return dataUser.access(elem,name,data)},removeData:function(elem,name){dataUser.remove(elem,name)},_data:function(elem,name,data){return dataPriv.access(elem,name,data)},_removeData:function(elem,name){dataPriv.remove(elem,name)}});jQuery.fn.extend({data:function(key,value){var i,name,data,elem=this[0],attrs=elem&&elem.attributes;if(key===undefined){if(this.length){data=dataUser.get(elem);if(elem.nodeType===1&&!dataPriv.get(elem,"hasDataAttrs")){i=attrs.length;while(i--)if(attrs[i]){name=attrs[i].name;if(name.indexOf("data-")===0){name=jQuery.camelCase(name.slice(5));dataAttr(elem,name,data[name])}};dataPriv.set(elem,"hasDataAttrs",true)}};return data};if(typeof key==="object")return this.each(function(){dataUser.set(this,key)});return access(this,function(value){var data,camelKey;if(elem&&value===undefined){data=dataUser.get(elem,key)||dataUser.get(elem,key.replace(rmultiDash,"-$&").toLowerCase());if(data!==undefined)return data;camelKey=jQuery.camelCase(key);data=dataUser.get(elem,camelKey);if(data!==undefined)return data;data=dataAttr(elem,camelKey,undefined);if(data!==undefined)return data;return};camelKey=jQuery.camelCase(key);this.each(function(){var data=dataUser.get(this,camelKey);dataUser.set(this,camelKey,value);if(key.indexOf("-")>-1&&data!==undefined)dataUser.set(this,key,value)})},null,value,arguments.length>1,null,true)},removeData:function(key){return this.each(function(){dataUser.remove(this,key)})}});jQuery.extend({queue:function(elem,type,data){var queue;if(elem){type=(type||"fx")+"queue";queue=dataPriv.get(elem,type);if(data)if(!queue||jQuery.isArray(data)){queue=dataPriv.access(elem,type,jQuery.makeArray(data))}else queue.push(data);return queue||[]}},dequeue:function(elem,type){type=type||"fx";var queue=jQuery.queue(elem,type),startLength=queue.length,fn=queue.shift(),hooks=jQuery._queueHooks(elem,type),next=function(){jQuery.dequeue(elem,type)};if(fn==="inprogress"){fn=queue.shift();startLength--};if(fn){if(type==="fx")queue.unshift("inprogress");delete hooks.stop;fn.call(elem,next,hooks)};if(!startLength&&hooks)hooks.empty.fire()},_queueHooks:function(elem,type){var key=type+"queueHooks";return dataPriv.get(elem,key)||dataPriv.access(elem,key,{empty:jQuery.Callbacks("once memory").add(function(){dataPriv.remove(elem,[type+"queue",key])})})}});jQuery.fn.extend({queue:function(type,data){var setter=2;if(typeof type!=="string"){data=type;type="fx";setter--};if(arguments.length<setter)return jQuery.queue(this[0],type);return data===undefined?this:this.each(function(){var queue=jQuery.queue(this,type,data);jQuery._queueHooks(this,type);if(type==="fx"&&queue[0]!=="inprogress")jQuery.dequeue(this,type)})},dequeue:function(type){return this.each(function(){jQuery.dequeue(this,type)})},clearQueue:function(type){return this.queue(type||"fx",[])},promise:function(type,obj){var tmp,count=1,defer=jQuery.Deferred(),elements=this,i=this.length,resolve=function(){if(!(--count))defer.resolveWith(elements,[elements])};if(typeof type!=="string"){obj=type;type=undefined};type=type||"fx";while(i--){tmp=dataPriv.get(elements[i],type+"queueHooks");if(tmp&&tmp.empty){count++;tmp.empty.add(resolve)}};resolve();return defer.promise(obj)}});var pnum=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,rcssNum=new RegExp("^(?:([+-])=|)("+pnum+")([a-z%]*)$","i"),cssExpand=["Top","Right","Bottom","Left"],isHidden=function(elem,el){elem=el||elem;return jQuery.css(elem,"display")==="none"||!jQuery.contains(elem.ownerDocument,elem)}
function adjustCSS(elem,prop,valueParts,tween){var adjusted,scale=1,maxIterations=20,currentValue=tween?function(){return tween.cur()}:function(){return jQuery.css(elem,prop,"")},initial=currentValue(),unit=valueParts&&valueParts[3]||(jQuery.cssNumber[prop]?"":"px"),initialInUnit=(jQuery.cssNumber[prop]||unit!=="px"&&+initial)&&rcssNum.exec(jQuery.css(elem,prop));if(initialInUnit&&initialInUnit[3]!==unit){unit=unit||initialInUnit[3];valueParts=valueParts||[];initialInUnit=+initial||1;do{scale=scale||".5";initialInUnit=initialInUnit/scale;jQuery.style(elem,prop,initialInUnit+unit)}while(scale!==(scale=currentValue()/initial)&&scale!==1&&--maxIterations)};if(valueParts){initialInUnit=+initialInUnit||+initial||0;adjusted=valueParts[1]?initialInUnit+(valueParts[1]+1)*valueParts[2]:+valueParts[2];if(tween){tween.unit=unit;tween.start=initialInUnit;tween.end=adjusted}};return adjusted};var rcheckableType=/^(?:checkbox|radio)$/i,rtagName=/<([\w:-]+)/,rscriptType=/^$|\/(?:java|ecma)script/i,wrapMap={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};wrapMap.optgroup=wrapMap.option;wrapMap.tbody=wrapMap.tfoot=wrapMap.colgroup=wrapMap.caption=wrapMap.thead;wrapMap.th=wrapMap.td
function getAll(context,tag){var ret=typeof context.getElementsByTagName!=="undefined"?context.getElementsByTagName(tag||"*"):typeof context.querySelectorAll!=="undefined"?context.querySelectorAll(tag||"*"):[];return tag===undefined||tag&&jQuery.nodeName(context,tag)?jQuery.merge([context],ret):ret}
function setGlobalEval(elems,refElements){var i=0,l=elems.length;for(;i<l;i++)dataPriv.set(elems[i],"globalEval",!refElements||dataPriv.get(refElements[i],"globalEval"))};var rhtml=/<|&#?\w+;/
function buildFragment(elems,context,scripts,selection,ignored){var elem,tmp,tag,wrap,contains,j,fragment=context.createDocumentFragment(),nodes=[],i=0,l=elems.length;for(;i<l;i++){elem=elems[i];if(elem||elem===0)if(jQuery.type(elem)==="object"){jQuery.merge(nodes,elem.nodeType?[elem]:elem)}else if(!rhtml.test(elem)){nodes.push(context.createTextNode(elem))}else{tmp=tmp||fragment.appendChild(context.createElement("div"));tag=(rtagName.exec(elem)||["",""])[1].toLowerCase();wrap=wrapMap[tag]||wrapMap._default;tmp.innerHTML=wrap[1]+jQuery.htmlPrefilter(elem)+wrap[2];j=wrap[0];while(j--)tmp=tmp.lastChild;jQuery.merge(nodes,tmp.childNodes);tmp=fragment.firstChild;tmp.textContent=""}};fragment.textContent="";i=0;while((elem=nodes[i++])){if(selection&&jQuery.inArray(elem,selection)>-1){if(ignored)ignored.push(elem);continue};contains=jQuery.contains(elem.ownerDocument,elem);tmp=getAll(fragment.appendChild(elem),"script");if(contains)setGlobalEval(tmp);if(scripts){j=0;while((elem=tmp[j++]))if(rscriptType.test(elem.type||""))scripts.push(elem)}};return fragment};(function(){var fragment=document.createDocumentFragment(),div=fragment.appendChild(document.createElement("div")),input=document.createElement("input");input.setAttribute("type","radio");input.setAttribute("checked","checked");input.setAttribute("name","t");div.appendChild(input);support.checkClone=div.cloneNode(true).cloneNode(true).lastChild.checked;div.innerHTML="<textarea>x</textarea>";support.noCloneChecked=!!div.cloneNode(true).lastChild.defaultValue})();var rkeyEvent=/^key/,rmouseEvent=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,rtypenamespace=/^([^.]*)(?:\.(.+)|)/
function returnTrue(){return true}
function returnFalse(){return false}
function safeActiveElement(){try{return document.activeElement}catch(err){}}
function on(elem,types,selector,data,fn,one){var origFn,type;if(typeof types==="object"){if(typeof selector!=="string"){data=data||selector;selector=undefined};for(type in types)on(elem,type,selector,data,types[type],one);return elem};if(data==null&&fn==null){fn=selector;data=selector=undefined}else if(fn==null)if(typeof selector==="string"){fn=data;data=undefined}else{fn=data;data=selector;selector=undefined};if(fn===false){fn=returnFalse}else if(!fn)return elem;if(one===1){origFn=fn;fn=function(event){jQuery().off(event);return origFn.apply(this,arguments)};fn.guid=origFn.guid||(origFn.guid=jQuery.guid++)};return elem.each(function(){jQuery.event.add(this,types,fn,data,selector)})};jQuery.event={global:{},add:function(elem,types,handler,data,selector){var handleObjIn,eventHandle,tmp,events,t,handleObj,special,handlers,type,namespaces,origType,elemData=dataPriv.get(elem);if(!elemData)return;if(handler.handler){handleObjIn=handler;handler=handleObjIn.handler;selector=handleObjIn.selector};if(!handler.guid)handler.guid=jQuery.guid++;if(!(events=elemData.events))events=elemData.events={};if(!(eventHandle=elemData.handle))eventHandle=elemData.handle=function(e){return typeof jQuery!=="undefined"&&jQuery.event.triggered!==e.type?jQuery.event.dispatch.apply(elem,arguments):undefined};types=(types||"").match(rnotwhite)||[""];t=types.length;while(t--){tmp=rtypenamespace.exec(types[t])||[];type=origType=tmp[1];namespaces=(tmp[2]||"").split(".").sort();if(!type)continue;special=jQuery.event.special[type]||{};type=(selector?special.delegateType:special.bindType)||type;special=jQuery.event.special[type]||{};handleObj=jQuery.extend({type:type,origType:origType,data:data,handler:handler,guid:handler.guid,selector:selector,needsContext:selector&&jQuery.expr.match.needsContext.test(selector),namespace:namespaces.join(".")},handleObjIn);if(!(handlers=events[type])){handlers=events[type]=[];handlers.delegateCount=0;if(!special.setup||special.setup.call(elem,data,namespaces,eventHandle)===false)if(elem.addEventListener)elem.addEventListener(type,eventHandle)};if(special.add){special.add.call(elem,handleObj);if(!handleObj.handler.guid)handleObj.handler.guid=handler.guid};if(selector){handlers.splice(handlers.delegateCount++,0,handleObj)}else handlers.push(handleObj);jQuery.event.global[type]=true}},remove:function(elem,types,handler,selector,mappedTypes){var j,origCount,tmp,events,t,handleObj,special,handlers,type,namespaces,origType,elemData=dataPriv.hasData(elem)&&dataPriv.get(elem);if(!elemData||!(events=elemData.events))return;types=(types||"").match(rnotwhite)||[""];t=types.length;while(t--){tmp=rtypenamespace.exec(types[t])||[];type=origType=tmp[1];namespaces=(tmp[2]||"").split(".").sort();if(!type){for(type in events)jQuery.event.remove(elem,type+types[t],handler,selector,true);continue};special=jQuery.event.special[type]||{};type=(selector?special.delegateType:special.bindType)||type;handlers=events[type]||[];tmp=tmp[2]&&new RegExp("(^|\\.)"+namespaces.join("\\.(?:.*\\.|)")+"(\\.|$)");origCount=j=handlers.length;while(j--){handleObj=handlers[j];if((mappedTypes||origType===handleObj.origType)&&(!handler||handler.guid===handleObj.guid)&&(!tmp||tmp.test(handleObj.namespace))&&(!selector||selector===handleObj.selector||selector==="**"&&handleObj.selector)){handlers.splice(j,1);if(handleObj.selector)handlers.delegateCount--;if(special.remove)special.remove.call(elem,handleObj)}};if(origCount&&!handlers.length){if(!special.teardown||special.teardown.call(elem,namespaces,elemData.handle)===false)jQuery.removeEvent(elem,type,elemData.handle);delete events[type]}};if(jQuery.isEmptyObject(events))dataPriv.remove(elem,"handle events")},dispatch:function(event){event=jQuery.event.fix(event);var i,j,ret,matched,handleObj,handlerQueue=[],args=slice.call(arguments),handlers=(dataPriv.get(this,"events")||{})[event.type]||[],special=jQuery.event.special[event.type]||{};args[0]=event;event.delegateTarget=this;if(special.preDispatch&&special.preDispatch.call(this,event)===false)return;handlerQueue=jQuery.event.handlers.call(this,event,handlers);i=0;while((matched=handlerQueue[i++])&&!event.isPropagationStopped()){event.currentTarget=matched.elem;j=0;while((handleObj=matched.handlers[j++])&&!event.isImmediatePropagationStopped())if(!event.rnamespace||event.rnamespace.test(handleObj.namespace)){event.handleObj=handleObj;event.data=handleObj.data;ret=((jQuery.event.special[handleObj.origType]||{}).handle||handleObj.handler).apply(matched.elem,args);if(ret!==undefined)if((event.result=ret)===false){event.preventDefault();event.stopPropagation()}}};if(special.postDispatch)special.postDispatch.call(this,event);return event.result},handlers:function(event,handlers){var i,matches,sel,handleObj,handlerQueue=[],delegateCount=handlers.delegateCount,cur=event.target;if(delegateCount&&cur.nodeType&&(event.type!=="click"||isNaN(event.button)||event.button<1))for(;cur!==this;cur=cur.parentNode||this)if(cur.nodeType===1&&(cur.disabled!==true||event.type!=="click")){matches=[];for(i=0;i<delegateCount;i++){handleObj=handlers[i];sel=handleObj.selector+" ";if(matches[sel]===undefined)matches[sel]=handleObj.needsContext?jQuery(sel,this).index(cur)>-1:jQuery.find(sel,this,null,[cur]).length;if(matches[sel])matches.push(handleObj)};if(matches.length)handlerQueue.push({elem:cur,handlers:matches})};if(delegateCount<handlers.length)handlerQueue.push({elem:this,handlers:handlers.slice(delegateCount)});return handlerQueue},props:("altKey bubbles cancelable ctrlKey currentTarget detail eventPhase metaKey relatedTarget shiftKey target timeStamp view which").split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(event,original){if(event.which==null)event.which=original.charCode!=null?original.charCode:original.keyCode;return event}},mouseHooks:{props:("button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement").split(" "),filter:function(event,original){var eventDoc,doc,body,button=original.button;if(event.pageX==null&&original.clientX!=null){eventDoc=event.target.ownerDocument||document;doc=eventDoc.documentElement;body=eventDoc.body;event.pageX=original.clientX+(doc&&doc.scrollLeft||body&&body.scrollLeft||0)-(doc&&doc.clientLeft||body&&body.clientLeft||0);event.pageY=original.clientY+(doc&&doc.scrollTop||body&&body.scrollTop||0)-(doc&&doc.clientTop||body&&body.clientTop||0)};if(!event.which&&button!==undefined)event.which=(button&1?1:(button&2?3:(button&4?2:0)));return event}},fix:function(event){if(event[jQuery.expando])return event;var i,prop,copy,type=event.type,originalEvent=event,fixHook=this.fixHooks[type];if(!fixHook)this.fixHooks[type]=fixHook=rmouseEvent.test(type)?this.mouseHooks:rkeyEvent.test(type)?this.keyHooks:{};copy=fixHook.props?this.props.concat(fixHook.props):this.props;event=new jQuery.Event(originalEvent);i=copy.length;while(i--){prop=copy[i];event[prop]=originalEvent[prop]};if(!event.target)event.target=document;if(event.target.nodeType===3)event.target=event.target.parentNode;return fixHook.filter?fixHook.filter(event,originalEvent):event},special:{load:{noBubble:true},focus:{trigger:function(){if(this!==safeActiveElement()&&this.focus){this.focus();return false}},delegateType:"focusin"},blur:{trigger:function(){if(this===safeActiveElement()&&this.blur){this.blur();return false}},delegateType:"focusout"},click:{trigger:function(){if(this.type==="checkbox"&&this.click&&jQuery.nodeName(this,"input")){this.click();return false}},_default:function(event){return jQuery.nodeName(event.target,"a")}},beforeunload:{postDispatch:function(event){if(event.result!==undefined&&event.originalEvent)event.originalEvent.returnValue=event.result}}}};jQuery.removeEvent=function(elem,type,handle){if(elem.removeEventListener)elem.removeEventListener(type,handle)};jQuery.Event=function(src,props){if(!(this instanceof jQuery.Event))return new jQuery.Event(src,props);if(src&&src.type){this.originalEvent=src;this.type=src.type;this.isDefaultPrevented=src.defaultPrevented||src.defaultPrevented===undefined&&src.returnValue===false?returnTrue:returnFalse}else this.type=src;if(props)jQuery.extend(this,props);this.timeStamp=src&&src.timeStamp||jQuery.now();this[jQuery.expando]=true};jQuery.Event.prototype={constructor:jQuery.Event,isDefaultPrevented:returnFalse,isPropagationStopped:returnFalse,isImmediatePropagationStopped:returnFalse,isSimulated:false,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=returnTrue;if(e&&!this.isSimulated)e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=returnTrue;if(e&&!this.isSimulated)e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=returnTrue;if(e&&!this.isSimulated)e.stopImmediatePropagation();this.stopPropagation()}};jQuery.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(orig,fix){jQuery.event.special[orig]={delegateType:fix,bindType:fix,handle:function(event){var ret,target=this,related=event.relatedTarget,handleObj=event.handleObj;if(!related||(related!==target&&!jQuery.contains(target,related))){event.type=handleObj.origType;ret=handleObj.handler.apply(this,arguments);event.type=fix};return ret}}});jQuery.fn.extend({on:function(types,selector,data,fn){return on(this,types,selector,data,fn)},one:function(types,selector,data,fn){return on(this,types,selector,data,fn,1)},off:function(types,selector,fn){var handleObj,type;if(types&&types.preventDefault&&types.handleObj){handleObj=types.handleObj;jQuery(types.delegateTarget).off(handleObj.namespace?handleObj.origType+"."+handleObj.namespace:handleObj.origType,handleObj.selector,handleObj.handler);return this};if(typeof types==="object"){for(type in types)this.off(type,selector,types[type]);return this};if(selector===false||typeof selector==="function"){fn=selector;selector=undefined};if(fn===false)fn=returnFalse;return this.each(function(){jQuery.event.remove(this,types,fn,selector)})}});var rxhtmlTag=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,rnoInnerhtml=/<script|<style|<link/i,rchecked=/checked\s*(?:[^=]|=\s*.checked.)/i,rscriptTypeMasked=/^true\/(.*)/,rcleanScript=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g
function manipulationTarget(elem,content){return jQuery.nodeName(elem,"table")&&jQuery.nodeName(content.nodeType!==11?content:content.firstChild,"tr")?elem.getElementsByTagName("tbody")[0]||elem.appendChild(elem.ownerDocument.createElement("tbody")):elem}
function disableScript(elem){elem.type=(elem.getAttribute("type")!==null)+"/"+elem.type;return elem}
function restoreScript(elem){var match=rscriptTypeMasked.exec(elem.type);if(match){elem.type=match[1]}else elem.removeAttribute("type");return elem}
function cloneCopyEvent(src,dest){var i,l,type,pdataOld,pdataCur,udataOld,udataCur,events;if(dest.nodeType!==1)return;if(dataPriv.hasData(src)){pdataOld=dataPriv.access(src);pdataCur=dataPriv.set(dest,pdataOld);events=pdataOld.events;if(events){delete pdataCur.handle;pdataCur.events={};for(type in events)for(i=0,l=events[type].length;i<l;i++)jQuery.event.add(dest,type,events[type][i])}};if(dataUser.hasData(src)){udataOld=dataUser.access(src);udataCur=jQuery.extend({},udataOld);dataUser.set(dest,udataCur)}}
function fixInput(src,dest){var nodeName=dest.nodeName.toLowerCase();if(nodeName==="input"&&rcheckableType.test(src.type)){dest.checked=src.checked}else if(nodeName==="input"||nodeName==="textarea")dest.defaultValue=src.defaultValue}
function domManip(collection,args,callback,ignored){args=concat.apply([],args);var fragment,first,scripts,hasScripts,node,doc,i=0,l=collection.length,iNoClone=l-1,value=args[0],isFunction=jQuery.isFunction(value);if(isFunction||(l>1&&typeof value==="string"&&!support.checkClone&&rchecked.test(value)))return collection.each(function(index){var self=collection.eq(index);if(isFunction)args[0]=value.call(this,index,self.html());domManip(self,args,callback,ignored)});if(l){fragment=buildFragment(args,collection[0].ownerDocument,false,collection,ignored);first=fragment.firstChild;if(fragment.childNodes.length===1)fragment=first;if(first||ignored){scripts=jQuery.map(getAll(fragment,"script"),disableScript);hasScripts=scripts.length;for(;i<l;i++){node=fragment;if(i!==iNoClone){node=jQuery.clone(node,true,true);if(hasScripts)jQuery.merge(scripts,getAll(node,"script"))};callback.call(collection[i],node,i)};if(hasScripts){doc=scripts[scripts.length-1].ownerDocument;jQuery.map(scripts,restoreScript);for(i=0;i<hasScripts;i++){node=scripts[i];if(rscriptType.test(node.type||"")&&!dataPriv.access(node,"globalEval")&&jQuery.contains(doc,node))if(node.src){if(jQuery._evalUrl)jQuery._evalUrl(node.src)}else jQuery.globalEval(node.textContent.replace(rcleanScript,""))}}}};return collection}
function remove(elem,selector,keepData){var node,nodes=selector?jQuery.filter(selector,elem):elem,i=0;for(;(node=nodes[i])!=null;i++){if(!keepData&&node.nodeType===1)jQuery.cleanData(getAll(node));if(node.parentNode){if(keepData&&jQuery.contains(node.ownerDocument,node))setGlobalEval(getAll(node,"script"));node.parentNode.removeChild(node)}};return elem};jQuery.extend({htmlPrefilter:function(html){return html.replace(rxhtmlTag,"<$1></$2>")},clone:function(elem,dataAndEvents,deepDataAndEvents){var i,l,srcElements,destElements,clone=elem.cloneNode(true),inPage=jQuery.contains(elem.ownerDocument,elem);if(!support.noCloneChecked&&(elem.nodeType===1||elem.nodeType===11)&&!jQuery.isXMLDoc(elem)){destElements=getAll(clone);srcElements=getAll(elem);for(i=0,l=srcElements.length;i<l;i++)fixInput(srcElements[i],destElements[i])};if(dataAndEvents)if(deepDataAndEvents){srcElements=srcElements||getAll(elem);destElements=destElements||getAll(clone);for(i=0,l=srcElements.length;i<l;i++)cloneCopyEvent(srcElements[i],destElements[i])}else cloneCopyEvent(elem,clone);destElements=getAll(clone,"script");if(destElements.length>0)setGlobalEval(destElements,!inPage&&getAll(elem,"script"));return clone},cleanData:function(elems){var data,elem,type,special=jQuery.event.special,i=0;for(;(elem=elems[i])!==undefined;i++)if(acceptData(elem)){if((data=elem[dataPriv.expando])){if(data.events)for(type in data.events)if(special[type]){jQuery.event.remove(elem,type)}else jQuery.removeEvent(elem,type,data.handle);elem[dataPriv.expando]=undefined};if(elem[dataUser.expando])elem[dataUser.expando]=undefined}}});jQuery.fn.extend({domManip:domManip,detach:function(selector){return remove(this,selector,true)},remove:function(selector){return remove(this,selector)},text:function(value){return access(this,function(value){return value===undefined?jQuery.text(this):this.empty().each(function(){if(this.nodeType===1||this.nodeType===11||this.nodeType===9)this.textContent=value})},null,value,arguments.length)},append:function(){return domManip(this,arguments,function(elem){if(this.nodeType===1||this.nodeType===11||this.nodeType===9){var target=manipulationTarget(this,elem);target.appendChild(elem)}})},prepend:function(){return domManip(this,arguments,function(elem){if(this.nodeType===1||this.nodeType===11||this.nodeType===9){var target=manipulationTarget(this,elem);target.insertBefore(elem,target.firstChild)}})},before:function(){return domManip(this,arguments,function(elem){if(this.parentNode)this.parentNode.insertBefore(elem,this)})},after:function(){return domManip(this,arguments,function(elem){if(this.parentNode)this.parentNode.insertBefore(elem,this.nextSibling)})},empty:function(){var elem,i=0;for(;(elem=this[i])!=null;i++)if(elem.nodeType===1){jQuery.cleanData(getAll(elem,false));elem.textContent=""};return this},clone:function(dataAndEvents,deepDataAndEvents){dataAndEvents=dataAndEvents==null?false:dataAndEvents;deepDataAndEvents=deepDataAndEvents==null?dataAndEvents:deepDataAndEvents;return this.map(function(){return jQuery.clone(this,dataAndEvents,deepDataAndEvents)})},html:function(value){return access(this,function(value){var elem=this[0]||{},i=0,l=this.length;if(value===undefined&&elem.nodeType===1)return elem.innerHTML;if(typeof value==="string"&&!rnoInnerhtml.test(value)&&!wrapMap[(rtagName.exec(value)||["",""])[1].toLowerCase()]){value=jQuery.htmlPrefilter(value);try{for(;i<l;i++){elem=this[i]||{};if(elem.nodeType===1){jQuery.cleanData(getAll(elem,false));elem.innerHTML=value}};elem=0}catch(e){}};if(elem)this.empty().append(value)},null,value,arguments.length)},replaceWith:function(){var ignored=[];return domManip(this,arguments,function(elem){var parent=this.parentNode;if(jQuery.inArray(this,ignored)<0){jQuery.cleanData(getAll(this));if(parent)parent.replaceChild(elem,this)}},ignored)}});jQuery.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(name,original){jQuery.fn[name]=function(selector){var elems,ret=[],insert=jQuery(selector),last=insert.length-1,i=0;for(;i<=last;i++){elems=i===last?this:this.clone(true);jQuery(insert[i])[original](elems);push.apply(ret,elems.get())};return this.pushStack(ret)}});var iframe,elemdisplay={HTML:"block",BODY:"block"}
function actualDisplay(name,doc){var elem=jQuery(doc.createElement(name)).appendTo(doc.body),display=jQuery.css(elem[0],"display");elem.detach();return display}
function defaultDisplay(nodeName){var doc=document,display=elemdisplay[nodeName];if(!display){display=actualDisplay(nodeName,doc);if(display==="none"||!display){iframe=(iframe||jQuery("<iframe frameborder='0' width='0' height='0'/>")).appendTo(doc.documentElement);doc=iframe[0].contentDocument;doc.write();doc.close();display=actualDisplay(nodeName,doc);iframe.detach()};elemdisplay[nodeName]=display};return display};var rmargin=/^margin/,rnumnonpx=new RegExp("^("+pnum+")(?!px)[a-z%]+$","i"),getStyles=function(elem){var view=elem.ownerDocument.defaultView;if(!view||!view.opener)view=window;return view.getComputedStyle(elem)},swap=function(elem,options,callback,args){var ret,name,old={};for(name in options){old[name]=elem.style[name];elem.style[name]=options[name]};ret=callback.apply(elem,args||[]);for(name in options)elem.style[name]=old[name];return ret},documentElement=document.documentElement;(function(){var pixelPositionVal,boxSizingReliableVal,pixelMarginRightVal,reliableMarginLeftVal,container=document.createElement("div"),div=document.createElement("div");if(!div.style)return;div.style.backgroundClip="content-box";div.cloneNode(true).style.backgroundClip="";support.clearCloneStyle=div.style.backgroundClip==="content-box";container.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute";container.appendChild(div)
function computeStyleTests(){div.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%";div.innerHTML="";documentElement.appendChild(container);var divStyle=window.getComputedStyle(div);pixelPositionVal=divStyle.top!=="1%";reliableMarginLeftVal=divStyle.marginLeft==="2px";boxSizingReliableVal=divStyle.width==="4px";div.style.marginRight="50%";pixelMarginRightVal=divStyle.marginRight==="4px";documentElement.removeChild(container)};jQuery.extend(support,{pixelPosition:function(){computeStyleTests();return pixelPositionVal},boxSizingReliable:function(){if(boxSizingReliableVal==null)computeStyleTests();return boxSizingReliableVal},pixelMarginRight:function(){if(boxSizingReliableVal==null)computeStyleTests();return pixelMarginRightVal},reliableMarginLeft:function(){if(boxSizingReliableVal==null)computeStyleTests();return reliableMarginLeftVal},reliableMarginRight:function(){var ret,marginDiv=div.appendChild(document.createElement("div"));marginDiv.style.cssText=div.style.cssText="-webkit-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0";marginDiv.style.marginRight=marginDiv.style.width="0";div.style.width="1px";documentElement.appendChild(container);ret=!parseFloat(window.getComputedStyle(marginDiv).marginRight);documentElement.removeChild(container);div.removeChild(marginDiv);return ret}})})()
function curCSS(elem,name,computed){var width,minWidth,maxWidth,ret,style=elem.style;computed=computed||getStyles(elem);ret=computed?computed.getPropertyValue(name)||computed[name]:undefined;if((ret===""||ret===undefined)&&!jQuery.contains(elem.ownerDocument,elem))ret=jQuery.style(elem,name);if(computed)if(!support.pixelMarginRight()&&rnumnonpx.test(ret)&&rmargin.test(name)){width=style.width;minWidth=style.minWidth;maxWidth=style.maxWidth;style.minWidth=style.maxWidth=style.width=ret;ret=computed.width;style.width=width;style.minWidth=minWidth;style.maxWidth=maxWidth};return ret!==undefined?ret+"":ret}
function addGetHookIf(conditionFn,hookFn){return{get:function(){if(conditionFn()){delete this.get;return};return(this.get=hookFn).apply(this,arguments)}}};var rdisplayswap=/^(none|table(?!-c[ea]).+)/,cssShow={position:"absolute",visibility:"hidden",display:"block"},cssNormalTransform={letterSpacing:"0",fontWeight:"400"},cssPrefixes=["Webkit","O","Moz","ms"],emptyStyle=document.createElement("div").style
function vendorPropName(name){if(name in emptyStyle)return name;var capName=name[0].toUpperCase()+name.slice(1),i=cssPrefixes.length;while(i--){name=cssPrefixes[i]+capName;if(name in emptyStyle)return name}}
function setPositiveNumber(elem,value,subtract){var matches=rcssNum.exec(value);return matches?Math.max(0,matches[2]-(subtract||0))+(matches[3]||"px"):value}
function augmentWidthOrHeight(elem,name,extra,isBorderBox,styles){var i=extra===(isBorderBox?"border":"content")?4:name==="width"?1:0,val=0;for(;i<4;i+=2){if(extra==="margin")val+=jQuery.css(elem,extra+cssExpand[i],true,styles);if(isBorderBox){if(extra==="content")val-=jQuery.css(elem,"padding"+cssExpand[i],true,styles);if(extra!=="margin")val-=jQuery.css(elem,"border"+cssExpand[i]+"Width",true,styles)}else{val+=jQuery.css(elem,"padding"+cssExpand[i],true,styles);if(extra!=="padding")val+=jQuery.css(elem,"border"+cssExpand[i]+"Width",true,styles)}};return val}
function getWidthOrHeight(elem,name,extra){var valueIsBorderBox=true,val=name==="width"?elem.offsetWidth:elem.offsetHeight,styles=getStyles(elem),isBorderBox=jQuery.css(elem,"boxSizing",false,styles)==="border-box";if(val<=0||val==null){val=curCSS(elem,name,styles);if(val<0||val==null)val=elem.style[name];if(rnumnonpx.test(val))return val;valueIsBorderBox=isBorderBox&&(support.boxSizingReliable()||val===elem.style[name]);val=parseFloat(val)||0};return(val+augmentWidthOrHeight(elem,name,extra||(isBorderBox?"border":"content"),valueIsBorderBox,styles))+"px"}
function showHide(elements,show){var display,elem,hidden,values=[],index=0,length=elements.length;for(;index<length;index++){elem=elements[index];if(!elem.style)continue;values[index]=dataPriv.get(elem,"olddisplay");display=elem.style.display;if(show){if(!values[index]&&display==="none")elem.style.display="";if(elem.style.display===""&&isHidden(elem))values[index]=dataPriv.access(elem,"olddisplay",defaultDisplay(elem.nodeName))}else{hidden=isHidden(elem);if(display!=="none"||!hidden)dataPriv.set(elem,"olddisplay",hidden?display:jQuery.css(elem,"display"))}};for(index=0;index<length;index++){elem=elements[index];if(!elem.style)continue;if(!show||elem.style.display==="none"||elem.style.display==="")elem.style.display=show?values[index]||"":"none"};return elements};jQuery.extend({cssHooks:{opacity:{get:function(elem,computed){if(computed){var ret=curCSS(elem,"opacity");return ret===""?"1":ret}}}},cssNumber:{animationIterationCount:true,columnCount:true,fillOpacity:true,flexGrow:true,flexShrink:true,fontWeight:true,lineHeight:true,opacity:true,order:true,orphans:true,widows:true,zIndex:true,zoom:true},cssProps:{"float":"cssFloat"},style:function(elem,name,value,extra){if(!elem||elem.nodeType===3||elem.nodeType===8||!elem.style)return;var ret,type,hooks,origName=jQuery.camelCase(name),style=elem.style;name=jQuery.cssProps[origName]||(jQuery.cssProps[origName]=vendorPropName(origName)||origName);hooks=jQuery.cssHooks[name]||jQuery.cssHooks[origName];if(value!==undefined){type=typeof value;if(type==="string"&&(ret=rcssNum.exec(value))&&ret[1]){value=adjustCSS(elem,name,ret);type="number"};if(value==null||value!==value)return;if(type==="number")value+=ret&&ret[3]||(jQuery.cssNumber[origName]?"":"px");if(!support.clearCloneStyle&&value===""&&name.indexOf("background")===0)style[name]="inherit";if(!hooks||!("set"in hooks)||(value=hooks.set(elem,value,extra))!==undefined)style[name]=value}else{if(hooks&&"get"in hooks&&(ret=hooks.get(elem,false,extra))!==undefined)return ret;return style[name]}},css:function(elem,name,extra,styles){var val,num,hooks,origName=jQuery.camelCase(name);name=jQuery.cssProps[origName]||(jQuery.cssProps[origName]=vendorPropName(origName)||origName);hooks=jQuery.cssHooks[name]||jQuery.cssHooks[origName];if(hooks&&"get"in hooks)val=hooks.get(elem,true,extra);if(val===undefined)val=curCSS(elem,name,styles);if(val==="normal"&&name in cssNormalTransform)val=cssNormalTransform[name];if(extra===""||extra){num=parseFloat(val);return extra===true||isFinite(num)?num||0:val};return val}});jQuery.each(["height","width"],function(i,name){jQuery.cssHooks[name]={get:function(elem,computed,extra){if(computed)return rdisplayswap.test(jQuery.css(elem,"display"))&&elem.offsetWidth===0?swap(elem,cssShow,function(){return getWidthOrHeight(elem,name,extra)}):getWidthOrHeight(elem,name,extra)},set:function(elem,value,extra){var matches,styles=extra&&getStyles(elem),subtract=extra&&augmentWidthOrHeight(elem,name,extra,jQuery.css(elem,"boxSizing",false,styles)==="border-box",styles);if(subtract&&(matches=rcssNum.exec(value))&&(matches[3]||"px")!=="px"){elem.style[name]=value;value=jQuery.css(elem,name)};return setPositiveNumber(elem,value,subtract)}}});jQuery.cssHooks.marginLeft=addGetHookIf(support.reliableMarginLeft,function(elem,computed){if(computed)return(parseFloat(curCSS(elem,"marginLeft"))||elem.getBoundingClientRect().left-swap(elem,{marginLeft:0},function(){return elem.getBoundingClientRect().left}))+"px"});jQuery.cssHooks.marginRight=addGetHookIf(support.reliableMarginRight,function(elem,computed){if(computed)return swap(elem,{display:"inline-block"},curCSS,[elem,"marginRight"])});jQuery.each({margin:"",padding:"",border:"Width"},function(prefix,suffix){jQuery.cssHooks[prefix+suffix]={expand:function(value){var i=0,expanded={},parts=typeof value==="string"?value.split(" "):[value];for(;i<4;i++)expanded[prefix+cssExpand[i]+suffix]=parts[i]||parts[i-2]||parts[0];return expanded}};if(!rmargin.test(prefix))jQuery.cssHooks[prefix+suffix].set=setPositiveNumber});jQuery.fn.extend({css:function(name,value){return access(this,function(elem,name,value){var styles,len,map={},i=0;if(jQuery.isArray(name)){styles=getStyles(elem);len=name.length;for(;i<len;i++)map[name[i]]=jQuery.css(elem,name[i],false,styles);return map};return value!==undefined?jQuery.style(elem,name,value):jQuery.css(elem,name)},name,value,arguments.length>1)},show:function(){return showHide(this,true)},hide:function(){return showHide(this)},toggle:function(state){if(typeof state==="boolean")return state?this.show():this.hide();return this.each(function(){if(isHidden(this)){jQuery(this).show()}else jQuery(this).hide()})}})
function Tween(elem,options,prop,end,easing){return new Tween.prototype.init(elem,options,prop,end,easing)};jQuery.Tween=Tween;Tween.prototype={constructor:Tween,init:function(elem,options,prop,end,easing,unit){this.elem=elem;this.prop=prop;this.easing=easing||jQuery.easing._default;this.options=options;this.start=this.now=this.cur();this.end=end;this.unit=unit||(jQuery.cssNumber[prop]?"":"px")},cur:function(){var hooks=Tween.propHooks[this.prop];return hooks&&hooks.get?hooks.get(this):Tween.propHooks._default.get(this)},run:function(percent){var eased,hooks=Tween.propHooks[this.prop];if(this.options.duration){this.pos=eased=jQuery.easing[this.easing](percent,this.options.duration*percent,0,1,this.options.duration)}else this.pos=eased=percent;this.now=(this.end-this.start)*eased+this.start;if(this.options.step)this.options.step.call(this.elem,this.now,this);if(hooks&&hooks.set){hooks.set(this)}else Tween.propHooks._default.set(this);return this}};Tween.prototype.init.prototype=Tween.prototype;Tween.propHooks={_default:{get:function(tween){var result;if(tween.elem.nodeType!==1||tween.elem[tween.prop]!=null&&tween.elem.style[tween.prop]==null)return tween.elem[tween.prop];result=jQuery.css(tween.elem,tween.prop,"");return!result||result==="auto"?0:result},set:function(tween){if(jQuery.fx.step[tween.prop]){jQuery.fx.step[tween.prop](tween)}else if(tween.elem.nodeType===1&&(tween.elem.style[jQuery.cssProps[tween.prop]]!=null||jQuery.cssHooks[tween.prop])){jQuery.style(tween.elem,tween.prop,tween.now+tween.unit)}else tween.elem[tween.prop]=tween.now}}};Tween.propHooks.scrollTop=Tween.propHooks.scrollLeft={set:function(tween){if(tween.elem.nodeType&&tween.elem.parentNode)tween.elem[tween.prop]=tween.now}};jQuery.easing={linear:function(p){return p},swing:function(p){return 0.5-Math.cos(p*Math.PI)/2},_default:"swing"};jQuery.fx=Tween.prototype.init;jQuery.fx.step={};var fxNow,timerId,rfxtypes=/^(?:toggle|show|hide)$/,rrun=/queueHooks$/
function createFxNow(){window.setTimeout(function(){fxNow=undefined});return(fxNow=jQuery.now())}
function genFx(type,includeWidth){var which,i=0,attrs={height:type};includeWidth=includeWidth?1:0;for(;i<4;i+=2-includeWidth){which=cssExpand[i];attrs["margin"+which]=attrs["padding"+which]=type};if(includeWidth)attrs.opacity=attrs.width=type;return attrs}
function createTween(value,prop,animation){var tween,collection=(Animation.tweeners[prop]||[]).concat(Animation.tweeners["*"]),index=0,length=collection.length;for(;index<length;index++)if((tween=collection[index].call(animation,prop,value)))return tween}
function defaultPrefilter(elem,props,opts){var prop,value,toggle,tween,hooks,oldfire,display,checkDisplay,anim=this,orig={},style=elem.style,hidden=elem.nodeType&&isHidden(elem),dataShow=dataPriv.get(elem,"fxshow");if(!opts.queue){hooks=jQuery._queueHooks(elem,"fx");if(hooks.unqueued==null){hooks.unqueued=0;oldfire=hooks.empty.fire;hooks.empty.fire=function(){if(!hooks.unqueued)oldfire()}};hooks.unqueued++;anim.always(function(){anim.always(function(){hooks.unqueued--;if(!jQuery.queue(elem,"fx").length)hooks.empty.fire()})})};if(elem.nodeType===1&&("height"in props||"width"in props)){opts.overflow=[style.overflow,style.overflowX,style.overflowY];display=jQuery.css(elem,"display");checkDisplay=display==="none"?dataPriv.get(elem,"olddisplay")||defaultDisplay(elem.nodeName):display;if(checkDisplay==="inline"&&jQuery.css(elem,"float")==="none")style.display="inline-block"};if(opts.overflow){style.overflow="hidden";anim.always(function(){style.overflow=opts.overflow[0];style.overflowX=opts.overflow[1];style.overflowY=opts.overflow[2]})};for(prop in props){value=props[prop];if(rfxtypes.exec(value)){delete props[prop];toggle=toggle||value==="toggle";if(value===(hidden?"hide":"show"))if(value==="show"&&dataShow&&dataShow[prop]!==undefined){hidden=true}else continue;orig[prop]=dataShow&&dataShow[prop]||jQuery.style(elem,prop)}else display=undefined};if(!jQuery.isEmptyObject(orig)){if(dataShow){if("hidden"in dataShow)hidden=dataShow.hidden}else dataShow=dataPriv.access(elem,"fxshow",{});if(toggle)dataShow.hidden=!hidden;if(hidden){jQuery(elem).show()}else anim.done(function(){jQuery(elem).hide()});anim.done(function(){var prop;dataPriv.remove(elem,"fxshow");for(prop in orig)jQuery.style(elem,prop,orig[prop])});for(prop in orig){tween=createTween(hidden?dataShow[prop]:0,prop,anim);if(!(prop in dataShow)){dataShow[prop]=tween.start;if(hidden){tween.end=tween.start;tween.start=prop==="width"||prop==="height"?1:0}}}}else if((display==="none"?defaultDisplay(elem.nodeName):display)==="inline")style.display=display}
function propFilter(props,specialEasing){var index,name,easing,value,hooks;for(index in props){name=jQuery.camelCase(index);easing=specialEasing[name];value=props[index];if(jQuery.isArray(value)){easing=value[1];value=props[index]=value[0]};if(index!==name){props[name]=value;delete props[index]};hooks=jQuery.cssHooks[name];if(hooks&&"expand"in hooks){value=hooks.expand(value);delete props[name];for(index in value)if(!(index in props)){props[index]=value[index];specialEasing[index]=easing}}else specialEasing[name]=easing}}
function Animation(elem,properties,options){var result,stopped,index=0,length=Animation.prefilters.length,deferred=jQuery.Deferred().always(function(){delete tick.elem}),tick=function(){if(stopped)return false;var currentTime=fxNow||createFxNow(),remaining=Math.max(0,animation.startTime+animation.duration-currentTime),temp=remaining/animation.duration||0,percent=1-temp,index=0,length=animation.tweens.length;for(;index<length;index++)animation.tweens[index].run(percent);deferred.notifyWith(elem,[animation,percent,remaining]);if(percent<1&&length){return remaining}else{deferred.resolveWith(elem,[animation]);return false}},animation=deferred.promise({elem:elem,props:jQuery.extend({},properties),opts:jQuery.extend(true,{specialEasing:{},easing:jQuery.easing._default},options),originalProperties:properties,originalOptions:options,startTime:fxNow||createFxNow(),duration:options.duration,tweens:[],createTween:function(prop,end){var tween=jQuery.Tween(elem,animation.opts,prop,end,animation.opts.specialEasing[prop]||animation.opts.easing);animation.tweens.push(tween);return tween},stop:function(gotoEnd){var index=0,length=gotoEnd?animation.tweens.length:0;if(stopped)return this;stopped=true;for(;index<length;index++)animation.tweens[index].run(1);if(gotoEnd){deferred.notifyWith(elem,[animation,1,0]);deferred.resolveWith(elem,[animation,gotoEnd])}else deferred.rejectWith(elem,[animation,gotoEnd]);return this}}),props=animation.props;propFilter(props,animation.opts.specialEasing);for(;index<length;index++){result=Animation.prefilters[index].call(animation,elem,props,animation.opts);if(result){if(jQuery.isFunction(result.stop))jQuery._queueHooks(animation.elem,animation.opts.queue).stop=jQuery.proxy(result.stop,result);return result}};jQuery.map(props,createTween,animation);if(jQuery.isFunction(animation.opts.start))animation.opts.start.call(elem,animation);jQuery.fx.timer(jQuery.extend(tick,{elem:elem,anim:animation,queue:animation.opts.queue}));return animation.progress(animation.opts.progress).done(animation.opts.done,animation.opts.complete).fail(animation.opts.fail).always(animation.opts.always)};jQuery.Animation=jQuery.extend(Animation,{tweeners:{"*":[function(prop,value){var tween=this.createTween(prop,value);adjustCSS(tween.elem,prop,rcssNum.exec(value),tween);return tween}]},tweener:function(props,callback){if(jQuery.isFunction(props)){callback=props;props=["*"]}else props=props.match(rnotwhite);var prop,index=0,length=props.length;for(;index<length;index++){prop=props[index];Animation.tweeners[prop]=Animation.tweeners[prop]||[];Animation.tweeners[prop].unshift(callback)}},prefilters:[defaultPrefilter],prefilter:function(callback,prepend){if(prepend){Animation.prefilters.unshift(callback)}else Animation.prefilters.push(callback)}});jQuery.speed=function(speed,easing,fn){var opt=speed&&typeof speed==="object"?jQuery.extend({},speed):{complete:fn||!fn&&easing||jQuery.isFunction(speed)&&speed,duration:speed,easing:fn&&easing||easing&&!jQuery.isFunction(easing)&&easing};opt.duration=jQuery.fx.off?0:typeof opt.duration==="number"?opt.duration:opt.duration in jQuery.fx.speeds?jQuery.fx.speeds[opt.duration]:jQuery.fx.speeds._default;if(opt.queue==null||opt.queue===true)opt.queue="fx";opt.old=opt.complete;opt.complete=function(){if(jQuery.isFunction(opt.old))opt.old.call(this);if(opt.queue)jQuery.dequeue(this,opt.queue)};return opt};jQuery.fn.extend({fadeTo:function(speed,to,easing,callback){return this.filter(isHidden).css("opacity",0).show().end().animate({opacity:to},speed,easing,callback)},animate:function(prop,speed,easing,callback){var empty=jQuery.isEmptyObject(prop),optall=jQuery.speed(speed,easing,callback),doAnimation=function(){var anim=Animation(this,jQuery.extend({},prop),optall);if(empty||dataPriv.get(this,"finish"))anim.stop(true)};doAnimation.finish=doAnimation;return empty||optall.queue===false?this.each(doAnimation):this.queue(optall.queue,doAnimation)},stop:function(type,clearQueue,gotoEnd){var stopQueue=function(hooks){var stop=hooks.stop;delete hooks.stop;stop(gotoEnd)};if(typeof type!=="string"){gotoEnd=clearQueue;clearQueue=type;type=undefined};if(clearQueue&&type!==false)this.queue(type||"fx",[]);return this.each(function(){var dequeue=true,index=type!=null&&type+"queueHooks",timers=jQuery.timers,data=dataPriv.get(this);if(index){if(data[index]&&data[index].stop)stopQueue(data[index])}else for(index in data)if(data[index]&&data[index].stop&&rrun.test(index))stopQueue(data[index]);for(index=timers.length;index--;)if(timers[index].elem===this&&(type==null||timers[index].queue===type)){timers[index].anim.stop(gotoEnd);dequeue=false;timers.splice(index,1)};if(dequeue||!gotoEnd)jQuery.dequeue(this,type)})},finish:function(type){if(type!==false)type=type||"fx";return this.each(function(){var index,data=dataPriv.get(this),queue=data[type+"queue"],hooks=data[type+"queueHooks"],timers=jQuery.timers,length=queue?queue.length:0;data.finish=true;jQuery.queue(this,type,[]);if(hooks&&hooks.stop)hooks.stop.call(this,true);for(index=timers.length;index--;)if(timers[index].elem===this&&timers[index].queue===type){timers[index].anim.stop(true);timers.splice(index,1)};for(index=0;index<length;index++)if(queue[index]&&queue[index].finish)queue[index].finish.call(this);delete data.finish})}});jQuery.each(["toggle","show","hide"],function(i,name){var cssFn=jQuery.fn[name];jQuery.fn[name]=function(speed,easing,callback){return speed==null||typeof speed==="boolean"?cssFn.apply(this,arguments):this.animate(genFx(name,true),speed,easing,callback)}});jQuery.each({slideDown:genFx("show"),slideUp:genFx("hide"),slideToggle:genFx("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(name,props){jQuery.fn[name]=function(speed,easing,callback){return this.animate(props,speed,easing,callback)}});jQuery.timers=[];jQuery.fx.tick=function(){var timer,i=0,timers=jQuery.timers;fxNow=jQuery.now();for(;i<timers.length;i++){timer=timers[i];if(!timer()&&timers[i]===timer)timers.splice(i--,1)};if(!timers.length)jQuery.fx.stop();fxNow=undefined};jQuery.fx.timer=function(timer){jQuery.timers.push(timer);if(timer()){jQuery.fx.start()}else jQuery.timers.pop()};jQuery.fx.interval=13;jQuery.fx.start=function(){if(!timerId)timerId=window.setInterval(jQuery.fx.tick,jQuery.fx.interval)};jQuery.fx.stop=function(){window.clearInterval(timerId);timerId=null};jQuery.fx.speeds={slow:600,fast:200,_default:400};jQuery.fn.delay=function(time,type){time=jQuery.fx?jQuery.fx.speeds[time]||time:time;type=type||"fx";return this.queue(type,function(next,hooks){var timeout=window.setTimeout(next,time);hooks.stop=function(){window.clearTimeout(timeout)}})};(function(){var input=document.createElement("input"),select=document.createElement("select"),opt=select.appendChild(document.createElement("option"));input.type="checkbox";support.checkOn=input.value!=="";support.optSelected=opt.selected;select.disabled=true;support.optDisabled=!opt.disabled;input=document.createElement("input");input.value="t";input.type="radio";support.radioValue=input.value==="t"})();var boolHook,attrHandle=jQuery.expr.attrHandle;jQuery.fn.extend({attr:function(name,value){return access(this,jQuery.attr,name,value,arguments.length>1)},removeAttr:function(name){return this.each(function(){jQuery.removeAttr(this,name)})}});jQuery.extend({attr:function(elem,name,value){var ret,hooks,nType=elem.nodeType;if(nType===3||nType===8||nType===2)return;if(typeof elem.getAttribute==="undefined")return jQuery.prop(elem,name,value);if(nType!==1||!jQuery.isXMLDoc(elem)){name=name.toLowerCase();hooks=jQuery.attrHooks[name]||(jQuery.expr.match.bool.test(name)?boolHook:undefined)};if(value!==undefined){if(value===null){jQuery.removeAttr(elem,name);return};if(hooks&&"set"in hooks&&(ret=hooks.set(elem,value,name))!==undefined)return ret;elem.setAttribute(name,value+"");return value};if(hooks&&"get"in hooks&&(ret=hooks.get(elem,name))!==null)return ret;ret=jQuery.find.attr(elem,name);return ret==null?undefined:ret},attrHooks:{type:{set:function(elem,value){if(!support.radioValue&&value==="radio"&&jQuery.nodeName(elem,"input")){var val=elem.value;elem.setAttribute("type",value);if(val)elem.value=val;return value}}}},removeAttr:function(elem,value){var name,propName,i=0,attrNames=value&&value.match(rnotwhite);if(attrNames&&elem.nodeType===1)while((name=attrNames[i++])){propName=jQuery.propFix[name]||name;if(jQuery.expr.match.bool.test(name))elem[propName]=false;elem.removeAttribute(name)}}});boolHook={set:function(elem,value,name){if(value===false){jQuery.removeAttr(elem,name)}else elem.setAttribute(name,name);return name}};jQuery.each(jQuery.expr.match.bool.source.match(/\w+/g),function(i,name){var getter=attrHandle[name]||jQuery.find.attr;attrHandle[name]=function(elem,name,isXML){var ret,handle;if(!isXML){handle=attrHandle[name];attrHandle[name]=ret;ret=getter(elem,name,isXML)!=null?name.toLowerCase():null;attrHandle[name]=handle};return ret}});var rfocusable=/^(?:input|select|textarea|button)$/i,rclickable=/^(?:a|area)$/i;jQuery.fn.extend({prop:function(name,value){return access(this,jQuery.prop,name,value,arguments.length>1)},removeProp:function(name){return this.each(function(){delete this[jQuery.propFix[name]||name]})}});jQuery.extend({prop:function(elem,name,value){var ret,hooks,nType=elem.nodeType;if(nType===3||nType===8||nType===2)return;if(nType!==1||!jQuery.isXMLDoc(elem)){name=jQuery.propFix[name]||name;hooks=jQuery.propHooks[name]};if(value!==undefined){if(hooks&&"set"in hooks&&(ret=hooks.set(elem,value,name))!==undefined)return ret;return(elem[name]=value)};if(hooks&&"get"in hooks&&(ret=hooks.get(elem,name))!==null)return ret;return elem[name]},propHooks:{tabIndex:{get:function(elem){var tabindex=jQuery.find.attr(elem,"tabindex");return tabindex?parseInt(tabindex,10):rfocusable.test(elem.nodeName)||rclickable.test(elem.nodeName)&&elem.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}});if(!support.optSelected)jQuery.propHooks.selected={get:function(elem){var parent=elem.parentNode;if(parent&&parent.parentNode)parent.parentNode.selectedIndex;return null},set:function(elem){var parent=elem.parentNode;if(parent){parent.selectedIndex;if(parent.parentNode)parent.parentNode.selectedIndex}}};jQuery.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){jQuery.propFix[this.toLowerCase()]=this});var rclass=/[\t\r\n\f]/g
function getClass(elem){return elem.getAttribute&&elem.getAttribute("class")||""};jQuery.fn.extend({addClass:function(value){var classes,elem,cur,curValue,clazz,j,finalValue,i=0;if(jQuery.isFunction(value))return this.each(function(j){jQuery(this).addClass(value.call(this,j,getClass(this)))});if(typeof value==="string"&&value){classes=value.match(rnotwhite)||[];while((elem=this[i++])){curValue=getClass(elem);cur=elem.nodeType===1&&(" "+curValue+" ").replace(rclass," ");if(cur){j=0;while((clazz=classes[j++]))if(cur.indexOf(" "+clazz+" ")<0)cur+=clazz+" ";finalValue=jQuery.trim(cur);if(curValue!==finalValue)elem.setAttribute("class",finalValue)}}};return this},removeClass:function(value){var classes,elem,cur,curValue,clazz,j,finalValue,i=0;if(jQuery.isFunction(value))return this.each(function(j){jQuery(this).removeClass(value.call(this,j,getClass(this)))});if(!arguments.length)return this.attr("class","");if(typeof value==="string"&&value){classes=value.match(rnotwhite)||[];while((elem=this[i++])){curValue=getClass(elem);cur=elem.nodeType===1&&(" "+curValue+" ").replace(rclass," ");if(cur){j=0;while((clazz=classes[j++]))while(cur.indexOf(" "+clazz+" ")>-1)cur=cur.replace(" "+clazz+" "," ");finalValue=jQuery.trim(cur);if(curValue!==finalValue)elem.setAttribute("class",finalValue)}}};return this},toggleClass:function(value,stateVal){var type=typeof value;if(typeof stateVal==="boolean"&&type==="string")return stateVal?this.addClass(value):this.removeClass(value);if(jQuery.isFunction(value))return this.each(function(i){jQuery(this).toggleClass(value.call(this,i,getClass(this),stateVal),stateVal)});return this.each(function(){var className,i,self,classNames;if(type==="string"){i=0;self=jQuery(this);classNames=value.match(rnotwhite)||[];while((className=classNames[i++]))if(self.hasClass(className)){self.removeClass(className)}else self.addClass(className)}else if(value===undefined||type==="boolean"){className=getClass(this);if(className)dataPriv.set(this,"__className__",className);if(this.setAttribute)this.setAttribute("class",className||value===false?"":dataPriv.get(this,"__className__")||"")}})},hasClass:function(selector){var className,elem,i=0;className=" "+selector+" ";while((elem=this[i++]))if(elem.nodeType===1&&(" "+getClass(elem)+" ").replace(rclass," ").indexOf(className)>-1)return true;return false}});var rreturn=/\r/g,rspaces=/[\x20\t\r\n\f]+/g;jQuery.fn.extend({val:function(value){var hooks,ret,isFunction,elem=this[0];if(!arguments.length){if(elem){hooks=jQuery.valHooks[elem.type]||jQuery.valHooks[elem.nodeName.toLowerCase()];if(hooks&&"get"in hooks&&(ret=hooks.get(elem,"value"))!==undefined)return ret;ret=elem.value;return typeof ret==="string"?ret.replace(rreturn,""):ret==null?"":ret};return};isFunction=jQuery.isFunction(value);return this.each(function(i){var val;if(this.nodeType!==1)return;if(isFunction){val=value.call(this,i,jQuery(this).val())}else val=value;if(val==null){val=""}else if(typeof val==="number"){val+=""}else if(jQuery.isArray(val))val=jQuery.map(val,function(value){return value==null?"":value+""});hooks=jQuery.valHooks[this.type]||jQuery.valHooks[this.nodeName.toLowerCase()];if(!hooks||!("set"in hooks)||hooks.set(this,val,"value")===undefined)this.value=val})}});jQuery.extend({valHooks:{option:{get:function(elem){var val=jQuery.find.attr(elem,"value");return val!=null?val:jQuery.trim(jQuery.text(elem)).replace(rspaces," ")}},select:{get:function(elem){var value,option,options=elem.options,index=elem.selectedIndex,one=elem.type==="select-one"||index<0,values=one?null:[],max=one?index+1:options.length,i=index<0?max:one?index:0;for(;i<max;i++){option=options[i];if((option.selected||i===index)&&(support.optDisabled?!option.disabled:option.getAttribute("disabled")===null)&&(!option.parentNode.disabled||!jQuery.nodeName(option.parentNode,"optgroup"))){value=jQuery(option).val();if(one)return value;values.push(value)}};return values},set:function(elem,value){var optionSet,option,options=elem.options,values=jQuery.makeArray(value),i=options.length;while(i--){option=options[i];if(option.selected=jQuery.inArray(jQuery.valHooks.option.get(option),values)>-1)optionSet=true};if(!optionSet)elem.selectedIndex=-1;return values}}}});jQuery.each(["radio","checkbox"],function(){jQuery.valHooks[this]={set:function(elem,value){if(jQuery.isArray(value))return(elem.checked=jQuery.inArray(jQuery(elem).val(),value)>-1)}};if(!support.checkOn)jQuery.valHooks[this].get=function(elem){return elem.getAttribute("value")===null?"on":elem.value}});var rfocusMorph=/^(?:focusinfocus|focusoutblur)$/;jQuery.extend(jQuery.event,{trigger:function(event,data,elem,onlyHandlers){var i,cur,tmp,bubbleType,ontype,handle,special,eventPath=[elem||document],type=hasOwn.call(event,"type")?event.type:event,namespaces=hasOwn.call(event,"namespace")?event.namespace.split("."):[];cur=tmp=elem=elem||document;if(elem.nodeType===3||elem.nodeType===8)return;if(rfocusMorph.test(type+jQuery.event.triggered))return;if(type.indexOf(".")>-1){namespaces=type.split(".");type=namespaces.shift();namespaces.sort()};ontype=type.indexOf(":")<0&&"on"+type;event=event[jQuery.expando]?event:new jQuery.Event(type,typeof event==="object"&&event);event.isTrigger=onlyHandlers?2:3;event.namespace=namespaces.join(".");event.rnamespace=event.namespace?new RegExp("(^|\\.)"+namespaces.join("\\.(?:.*\\.|)")+"(\\.|$)"):null;event.result=undefined;if(!event.target)event.target=elem;data=data==null?[event]:jQuery.makeArray(data,[event]);special=jQuery.event.special[type]||{};if(!onlyHandlers&&special.trigger&&special.trigger.apply(elem,data)===false)return;if(!onlyHandlers&&!special.noBubble&&!jQuery.isWindow(elem)){bubbleType=special.delegateType||type;if(!rfocusMorph.test(bubbleType+type))cur=cur.parentNode;for(;cur;cur=cur.parentNode){eventPath.push(cur);tmp=cur};if(tmp===(elem.ownerDocument||document))eventPath.push(tmp.defaultView||tmp.parentWindow||window)};i=0;while((cur=eventPath[i++])&&!event.isPropagationStopped()){event.type=i>1?bubbleType:special.bindType||type;handle=(dataPriv.get(cur,"events")||{})[event.type]&&dataPriv.get(cur,"handle");if(handle)handle.apply(cur,data);handle=ontype&&cur[ontype];if(handle&&handle.apply&&acceptData(cur)){event.result=handle.apply(cur,data);if(event.result===false)event.preventDefault()}};event.type=type;if(!onlyHandlers&&!event.isDefaultPrevented())if((!special._default||special._default.apply(eventPath.pop(),data)===false)&&acceptData(elem))if(ontype&&jQuery.isFunction(elem[type])&&!jQuery.isWindow(elem)){tmp=elem[ontype];if(tmp)elem[ontype]=null;jQuery.event.triggered=type;elem[type]();jQuery.event.triggered=undefined;if(tmp)elem[ontype]=tmp};return event.result},simulate:function(type,elem,event){var e=jQuery.extend(new jQuery.Event(),event,{type:type,isSimulated:true});jQuery.event.trigger(e,null,elem)}});jQuery.fn.extend({trigger:function(type,data){return this.each(function(){jQuery.event.trigger(type,data,this)})},triggerHandler:function(type,data){var elem=this[0];if(elem)return jQuery.event.trigger(type,data,elem,true)}});jQuery.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(i,name){jQuery.fn[name]=function(data,fn){return arguments.length>0?this.on(name,null,data,fn):this.trigger(name)}});jQuery.fn.extend({hover:function(fnOver,fnOut){return this.mouseenter(fnOver).mouseleave(fnOut||fnOver)}});support.focusin="onfocusin"in window;if(!support.focusin)jQuery.each({focus:"focusin",blur:"focusout"},function(orig,fix){var handler=function(event){jQuery.event.simulate(fix,event.target,jQuery.event.fix(event))};jQuery.event.special[fix]={setup:function(){var doc=this.ownerDocument||this,attaches=dataPriv.access(doc,fix);if(!attaches)doc.addEventListener(orig,handler,true);dataPriv.access(doc,fix,(attaches||0)+1)},teardown:function(){var doc=this.ownerDocument||this,attaches=dataPriv.access(doc,fix)-1;if(!attaches){doc.removeEventListener(orig,handler,true);dataPriv.remove(doc,fix)}else dataPriv.access(doc,fix,attaches)}}});var location=window.location,nonce=jQuery.now(),rquery=/\?/;jQuery.parseJSON=function(data){return JSON.parse(data+"")};jQuery.parseXML=function(data){var xml;if(!data||typeof data!=="string")return null;try{xml=(new window.DOMParser()).parseFromString(data,"text/xml")}catch(e){xml=undefined};if(!xml||xml.getElementsByTagName("parsererror").length)jQuery.error("Invalid XML: "+data);return xml};var rhash=/#.*$/,rts=/([?&])_=[^&]*/,rheaders=/^(.*?):[ \t]*([^\r\n]*)$/mg,rlocalProtocol=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,rnoContent=/^(?:GET|HEAD)$/,rprotocol=/^\/\//,prefilters={},transports={},allTypes="*/".concat("*"),originAnchor=document.createElement("a");originAnchor.href=location.href
function addToPrefiltersOrTransports(structure){return function(dataTypeExpression,func){if(typeof dataTypeExpression!=="string"){func=dataTypeExpression;dataTypeExpression="*"};var dataType,i=0,dataTypes=dataTypeExpression.toLowerCase().match(rnotwhite)||[];if(jQuery.isFunction(func))while((dataType=dataTypes[i++]))if(dataType[0]==="+"){dataType=dataType.slice(1)||"*";(structure[dataType]=structure[dataType]||[]).unshift(func)}else (structure[dataType]=structure[dataType]||[]).push(func)}}
function inspectPrefiltersOrTransports(structure,options,originalOptions,jqXHR){var inspected={},seekingTransport=(structure===transports)
function inspect(dataType){var selected;inspected[dataType]=true;jQuery.each(structure[dataType]||[],function(_,prefilterOrFactory){var dataTypeOrTransport=prefilterOrFactory(options,originalOptions,jqXHR);if(typeof dataTypeOrTransport==="string"&&!seekingTransport&&!inspected[dataTypeOrTransport]){options.dataTypes.unshift(dataTypeOrTransport);inspect(dataTypeOrTransport);return false}else if(seekingTransport)return!(selected=dataTypeOrTransport)});return selected};return inspect(options.dataTypes[0])||!inspected["*"]&&inspect("*")}
function ajaxExtend(target,src){var key,deep,flatOptions=jQuery.ajaxSettings.flatOptions||{};for(key in src)if(src[key]!==undefined)(flatOptions[key]?target:(deep||(deep={})))[key]=src[key];if(deep)jQuery.extend(true,target,deep);return target}
function ajaxHandleResponses(s,jqXHR,responses){var ct,type,finalDataType,firstDataType,contents=s.contents,dataTypes=s.dataTypes;while(dataTypes[0]==="*"){dataTypes.shift();if(ct===undefined)ct=s.mimeType||jqXHR.getResponseHeader("Content-Type")};if(ct)for(type in contents)if(contents[type]&&contents[type].test(ct)){dataTypes.unshift(type);break};if(dataTypes[0]in responses){finalDataType=dataTypes[0]}else{for(type in responses){if(!dataTypes[0]||s.converters[type+" "+dataTypes[0]]){finalDataType=type;break};if(!firstDataType)firstDataType=type};finalDataType=finalDataType||firstDataType};if(finalDataType){if(finalDataType!==dataTypes[0])dataTypes.unshift(finalDataType);return responses[finalDataType]}}
function ajaxConvert(s,response,jqXHR,isSuccess){var conv2,current,conv,tmp,prev,converters={},dataTypes=s.dataTypes.slice();if(dataTypes[1])for(conv in s.converters)converters[conv.toLowerCase()]=s.converters[conv];current=dataTypes.shift();while(current){if(s.responseFields[current])jqXHR[s.responseFields[current]]=response;if(!prev&&isSuccess&&s.dataFilter)response=s.dataFilter(response,s.dataType);prev=current;current=dataTypes.shift();if(current)if(current==="*"){current=prev}else if(prev!=="*"&&prev!==current){conv=converters[prev+" "+current]||converters["* "+current];if(!conv)for(conv2 in converters){tmp=conv2.split(" ");if(tmp[1]===current){conv=converters[prev+" "+tmp[0]]||converters["* "+tmp[0]];if(conv){if(conv===true){conv=converters[conv2]}else if(converters[conv2]!==true){current=tmp[0];dataTypes.unshift(tmp[1])};break}}};if(conv!==true)if(conv&&s.throws){response=conv(response)}else try{response=conv(response)}catch(e){return{state:"parsererror",error:conv?e:"No conversion from "+prev+" to "+current}}}};return{state:"success",data:response}};jQuery.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:location.href,type:"GET",isLocal:rlocalProtocol.test(location.protocol),global:true,processData:true,async:true,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":allTypes,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":true,"text json":jQuery.parseJSON,"text xml":jQuery.parseXML},flatOptions:{url:true,context:true}},ajaxSetup:function(target,settings){return settings?ajaxExtend(ajaxExtend(target,jQuery.ajaxSettings),settings):ajaxExtend(jQuery.ajaxSettings,target)},ajaxPrefilter:addToPrefiltersOrTransports(prefilters),ajaxTransport:addToPrefiltersOrTransports(transports),ajax:function(url,options){if(typeof url==="object"){options=url;url=undefined};options=options||{};var transport,cacheURL,responseHeadersString,responseHeaders,timeoutTimer,urlAnchor,fireGlobals,i,s=jQuery.ajaxSetup({},options),callbackContext=s.context||s,globalEventContext=s.context&&(callbackContext.nodeType||callbackContext.jquery)?jQuery(callbackContext):jQuery.event,deferred=jQuery.Deferred(),completeDeferred=jQuery.Callbacks("once memory"),statusCode=s.statusCode||{},requestHeaders={},requestHeadersNames={},state=0,strAbort="canceled",jqXHR={readyState:0,getResponseHeader:function(key){var match;if(state===2){if(!responseHeaders){responseHeaders={};while((match=rheaders.exec(responseHeadersString)))responseHeaders[match[1].toLowerCase()]=match[2]};match=responseHeaders[key.toLowerCase()]};return match==null?null:match},getAllResponseHeaders:function(){return state===2?responseHeadersString:null},setRequestHeader:function(name,value){var lname=name.toLowerCase();if(!state){name=requestHeadersNames[lname]=requestHeadersNames[lname]||name;requestHeaders[name]=value};return this},overrideMimeType:function(type){if(!state)s.mimeType=type;return this},statusCode:function(map){var code;if(map)if(state<2){for(code in map)statusCode[code]=[statusCode[code],map[code]]}else jqXHR.always(map[jqXHR.status]);return this},abort:function(statusText){var finalText=statusText||strAbort;if(transport)transport.abort(finalText);done(0,finalText);return this}};deferred.promise(jqXHR).complete=completeDeferred.add;jqXHR.success=jqXHR.done;jqXHR.error=jqXHR.fail;s.url=((url||s.url||location.href)+"").replace(rhash,"").replace(rprotocol,location.protocol+"//");s.type=options.method||options.type||s.method||s.type;s.dataTypes=jQuery.trim(s.dataType||"*").toLowerCase().match(rnotwhite)||[""];if(s.crossDomain==null){urlAnchor=document.createElement("a");try{urlAnchor.href=s.url;urlAnchor.href=urlAnchor.href;s.crossDomain=originAnchor.protocol+"//"+originAnchor.host!==urlAnchor.protocol+"//"+urlAnchor.host}catch(e){s.crossDomain=true}};if(s.data&&s.processData&&typeof s.data!=="string")s.data=jQuery.param(s.data,s.traditional);inspectPrefiltersOrTransports(prefilters,s,options,jqXHR);if(state===2)return jqXHR;fireGlobals=jQuery.event&&s.global;if(fireGlobals&&jQuery.active++===0)jQuery.event.trigger("ajaxStart");s.type=s.type.toUpperCase();s.hasContent=!rnoContent.test(s.type);cacheURL=s.url;if(!s.hasContent){if(s.data){cacheURL=(s.url+=(rquery.test(cacheURL)?"&":"?")+s.data);delete s.data};if(s.cache===false)s.url=rts.test(cacheURL)?cacheURL.replace(rts,"$1_="+ nonce++):cacheURL+(rquery.test(cacheURL)?"&":"?")+"_="+ nonce++};if(s.ifModified){if(jQuery.lastModified[cacheURL])jqXHR.setRequestHeader("If-Modified-Since",jQuery.lastModified[cacheURL]);if(jQuery.etag[cacheURL])jqXHR.setRequestHeader("If-None-Match",jQuery.etag[cacheURL])};if(s.data&&s.hasContent&&s.contentType!==false||options.contentType)jqXHR.setRequestHeader("Content-Type",s.contentType);jqXHR.setRequestHeader("Accept",s.dataTypes[0]&&s.accepts[s.dataTypes[0]]?s.accepts[s.dataTypes[0]]+(s.dataTypes[0]!=="*"?", "+allTypes+"; q=0.01":""):s.accepts["*"]);for(i in s.headers)jqXHR.setRequestHeader(i,s.headers[i]);if(s.beforeSend&&(s.beforeSend.call(callbackContext,jqXHR,s)===false||state===2))return jqXHR.abort();strAbort="abort";for(i in {success:1,error:1,complete:1})jqXHR[i](s[i]);transport=inspectPrefiltersOrTransports(transports,s,options,jqXHR);if(!transport){done(-1,"No Transport")}else{jqXHR.readyState=1;if(fireGlobals)globalEventContext.trigger("ajaxSend",[jqXHR,s]);if(state===2)return jqXHR;if(s.async&&s.timeout>0)timeoutTimer=window.setTimeout(function(){jqXHR.abort("timeout")},s.timeout);try{state=1;transport.send(requestHeaders,done)}catch(e){if(state<2){done(-1,e)}else throw e}}
function done(status,nativeStatusText,responses,headers){var isSuccess,success,error,response,modified,statusText=nativeStatusText;if(state===2)return;state=2;if(timeoutTimer)window.clearTimeout(timeoutTimer);transport=undefined;responseHeadersString=headers||"";jqXHR.readyState=status>0?4:0;isSuccess=status>=200&&status<300||status===304;if(responses)response=ajaxHandleResponses(s,jqXHR,responses);response=ajaxConvert(s,response,jqXHR,isSuccess);if(isSuccess){if(s.ifModified){modified=jqXHR.getResponseHeader("Last-Modified");if(modified)jQuery.lastModified[cacheURL]=modified;modified=jqXHR.getResponseHeader("etag");if(modified)jQuery.etag[cacheURL]=modified};if(status===204||s.type==="HEAD"){statusText="nocontent"}else if(status===304){statusText="notmodified"}else{statusText=response.state;success=response.data;error=response.error;isSuccess=!error}}else{error=statusText;if(status||!statusText){statusText="error";if(status<0)status=0}};jqXHR.status=status;jqXHR.statusText=(nativeStatusText||statusText)+"";if(isSuccess){deferred.resolveWith(callbackContext,[success,statusText,jqXHR])}else deferred.rejectWith(callbackContext,[jqXHR,statusText,error]);jqXHR.statusCode(statusCode);statusCode=undefined;if(fireGlobals)globalEventContext.trigger(isSuccess?"ajaxSuccess":"ajaxError",[jqXHR,s,isSuccess?success:error]);completeDeferred.fireWith(callbackContext,[jqXHR,statusText]);if(fireGlobals){globalEventContext.trigger("ajaxComplete",[jqXHR,s]);if(!(--jQuery.active))jQuery.event.trigger("ajaxStop")}};return jqXHR},getJSON:function(url,data,callback){return jQuery.get(url,data,callback,"json")},getScript:function(url,callback){return jQuery.get(url,undefined,callback,"script")}});jQuery.each(["get","post"],function(i,method){jQuery[method]=function(url,data,callback,type){if(jQuery.isFunction(data)){type=type||callback;callback=data;data=undefined};return jQuery.ajax(jQuery.extend({url:url,type:method,dataType:type,data:data,success:callback},jQuery.isPlainObject(url)&&url))}});jQuery._evalUrl=function(url){return jQuery.ajax({url:url,type:"GET",dataType:"script",async:false,global:false,"throws":true})};jQuery.fn.extend({wrapAll:function(html){var wrap;if(jQuery.isFunction(html))return this.each(function(i){jQuery(this).wrapAll(html.call(this,i))});if(this[0]){wrap=jQuery(html,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode)wrap.insertBefore(this[0]);wrap.map(function(){var elem=this;while(elem.firstElementChild)elem=elem.firstElementChild;return elem}).append(this)};return this},wrapInner:function(html){if(jQuery.isFunction(html))return this.each(function(i){jQuery(this).wrapInner(html.call(this,i))});return this.each(function(){var self=jQuery(this),contents=self.contents();if(contents.length){contents.wrapAll(html)}else self.append(html)})},wrap:function(html){var isFunction=jQuery.isFunction(html);return this.each(function(i){jQuery(this).wrapAll(isFunction?html.call(this,i):html)})},unwrap:function(){return this.parent().each(function(){if(!jQuery.nodeName(this,"body"))jQuery(this).replaceWith(this.childNodes)}).end()}});jQuery.expr.filters.hidden=function(elem){return!jQuery.expr.filters.visible(elem)};jQuery.expr.filters.visible=function(elem){return elem.offsetWidth>0||elem.offsetHeight>0||elem.getClientRects().length>0};var r20=/%20/g,rbracket=/\[\]$/,rCRLF=/\r?\n/g,rsubmitterTypes=/^(?:submit|button|image|reset|file)$/i,rsubmittable=/^(?:input|select|textarea|keygen)/i
function buildParams(prefix,obj,traditional,add){var name;if(jQuery.isArray(obj)){jQuery.each(obj,function(i,v){if(traditional||rbracket.test(prefix)){add(prefix,v)}else buildParams(prefix+"["+(typeof v==="object"&&v!=null?i:"")+"]",v,traditional,add)})}else if(!traditional&&jQuery.type(obj)==="object"){for(name in obj)buildParams(prefix+"["+name+"]",obj[name],traditional,add)}else add(prefix,obj)};jQuery.param=function(a,traditional){var prefix,s=[],add=function(key,value){value=jQuery.isFunction(value)?value():(value==null?"":value);s[s.length]=encodeURIComponent(key)+"="+encodeURIComponent(value)};if(traditional===undefined)traditional=jQuery.ajaxSettings&&jQuery.ajaxSettings.traditional;if(jQuery.isArray(a)||(a.jquery&&!jQuery.isPlainObject(a))){jQuery.each(a,function(){add(this.name,this.value)})}else for(prefix in a)buildParams(prefix,a[prefix],traditional,add);return s.join("&").replace(r20,"+")};jQuery.fn.extend({serialize:function(){return jQuery.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var elements=jQuery.prop(this,"elements");return elements?jQuery.makeArray(elements):this}).filter(function(){var type=this.type;return this.name&&!jQuery(this).is(":disabled")&&rsubmittable.test(this.nodeName)&&!rsubmitterTypes.test(type)&&(this.checked||!rcheckableType.test(type))}).map(function(i,elem){var val=jQuery(this).val();return val==null?null:jQuery.isArray(val)?jQuery.map(val,function(val){return{name:elem.name,value:val.replace(rCRLF,"\r\n")}}):{name:elem.name,value:val.replace(rCRLF,"\r\n")}}).get()}});jQuery.ajaxSettings.xhr=function(){try{return new window.XMLHttpRequest()}catch(e){}};var xhrSuccessStatus={0:200,1223:204},xhrSupported=jQuery.ajaxSettings.xhr();support.cors=!!xhrSupported&&("withCredentials"in xhrSupported);support.ajax=xhrSupported=!!xhrSupported;jQuery.ajaxTransport(function(options){var callback,errorCallback;if(support.cors||xhrSupported&&!options.crossDomain)return{send:function(headers,complete){var i,xhr=options.xhr();xhr.open(options.type,options.url,options.async,options.username,options.password);if(options.xhrFields)for(i in options.xhrFields)xhr[i]=options.xhrFields[i];if(options.mimeType&&xhr.overrideMimeType)xhr.overrideMimeType(options.mimeType);if(!options.crossDomain&&!headers["X-Requested-With"])headers["X-Requested-With"]="XMLHttpRequest";for(i in headers)xhr.setRequestHeader(i,headers[i]);callback=function(type){return function(){if(callback){callback=errorCallback=xhr.onload=xhr.onerror=xhr.onabort=xhr.onreadystatechange=null;if(type==="abort"){xhr.abort()}else if(type==="error"){if(typeof xhr.status!=="number"){complete(0,"error")}else complete(xhr.status,xhr.statusText)}else complete(xhrSuccessStatus[xhr.status]||xhr.status,xhr.statusText,(xhr.responseType||"text")!=="text"||typeof xhr.responseText!=="string"?{binary:xhr.response}:{text:xhr.responseText},xhr.getAllResponseHeaders())}}};xhr.onload=callback();errorCallback=xhr.onerror=callback("error");if(xhr.onabort!==undefined){xhr.onabort=errorCallback}else xhr.onreadystatechange=function(){if(xhr.readyState===4)window.setTimeout(function(){if(callback)errorCallback()})};callback=callback("abort");try{xhr.send(options.hasContent&&options.data||null)}catch(e){if(callback)throw e}},abort:function(){if(callback)callback()}}});jQuery.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(text){jQuery.globalEval(text);return text}}});jQuery.ajaxPrefilter("script",function(s){if(s.cache===undefined)s.cache=false;if(s.crossDomain)s.type="GET"});jQuery.ajaxTransport("script",function(s){if(s.crossDomain){var script,callback;return{send:function(_,complete){script=jQuery("<script>").prop({charset:s.scriptCharset,src:s.url}).on("load error",callback=function(evt){script.remove();callback=null;if(evt)complete(evt.type==="error"?404:200,evt.type)});document.head.appendChild(script[0])},abort:function(){if(callback)callback()}}}});var oldCallbacks=[],rjsonp=/(=)\?(?=&|$)|\?\?/;jQuery.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var callback=oldCallbacks.pop()||(jQuery.expando+"_"+(nonce++));this[callback]=true;return callback}});jQuery.ajaxPrefilter("json jsonp",function(s,originalSettings,jqXHR){var callbackName,overwritten,responseContainer,jsonProp=s.jsonp!==false&&(rjsonp.test(s.url)?"url":typeof s.data==="string"&&(s.contentType||"").indexOf("application/x-www-form-urlencoded")===0&&rjsonp.test(s.data)&&"data");if(jsonProp||s.dataTypes[0]==="jsonp"){callbackName=s.jsonpCallback=jQuery.isFunction(s.jsonpCallback)?s.jsonpCallback():s.jsonpCallback;if(jsonProp){s[jsonProp]=s[jsonProp].replace(rjsonp,"$1"+callbackName)}else if(s.jsonp!==false)s.url+=(rquery.test(s.url)?"&":"?")+s.jsonp+"="+callbackName;s.converters["script json"]=function(){if(!responseContainer)jQuery.error(callbackName+" was not called");return responseContainer[0]};s.dataTypes[0]="json";overwritten=window[callbackName];window[callbackName]=function(){responseContainer=arguments};jqXHR.always(function(){if(overwritten===undefined){jQuery(window).removeProp(callbackName)}else window[callbackName]=overwritten;if(s[callbackName]){s.jsonpCallback=originalSettings.jsonpCallback;oldCallbacks.push(callbackName)};if(responseContainer&&jQuery.isFunction(overwritten))overwritten(responseContainer[0]);responseContainer=overwritten=undefined});return"script"}});jQuery.parseHTML=function(data,context,keepScripts){if(!data||typeof data!=="string")return null;if(typeof context==="boolean"){keepScripts=context;context=false};context=context||document;var parsed=rsingleTag.exec(data),scripts=!keepScripts&&[];if(parsed)return[context.createElement(parsed[1])];parsed=buildFragment([data],context,scripts);if(scripts&&scripts.length)jQuery(scripts).remove();return jQuery.merge([],parsed.childNodes)};var _load=jQuery.fn.load;jQuery.fn.load=function(url,params,callback){if(typeof url!=="string"&&_load)return _load.apply(this,arguments);var selector,type,response,self=this,off=url.indexOf(" ");if(off>-1){selector=jQuery.trim(url.slice(off));url=url.slice(0,off)};if(jQuery.isFunction(params)){callback=params;params=undefined}else if(params&&typeof params==="object")type="POST";if(self.length>0)jQuery.ajax({url:url,type:type||"GET",dataType:"html",data:params}).done(function(responseText){response=arguments;self.html(selector?jQuery("<div>").append(jQuery.parseHTML(responseText)).find(selector):responseText)}).always(callback&&function(jqXHR,status){self.each(function(){callback.apply(this,response||[jqXHR.responseText,status,jqXHR])})});return this};jQuery.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(i,type){jQuery.fn[type]=function(fn){return this.on(type,fn)}});jQuery.expr.filters.animated=function(elem){return jQuery.grep(jQuery.timers,function(fn){return elem===fn.elem}).length}
function getWindow(elem){return jQuery.isWindow(elem)?elem:elem.nodeType===9&&elem.defaultView};jQuery.offset={setOffset:function(elem,options,i){var curPosition,curLeft,curCSSTop,curTop,curOffset,curCSSLeft,calculatePosition,position=jQuery.css(elem,"position"),curElem=jQuery(elem),props={};if(position==="static")elem.style.position="relative";curOffset=curElem.offset();curCSSTop=jQuery.css(elem,"top");curCSSLeft=jQuery.css(elem,"left");calculatePosition=(position==="absolute"||position==="fixed")&&(curCSSTop+curCSSLeft).indexOf("auto")>-1;if(calculatePosition){curPosition=curElem.position();curTop=curPosition.top;curLeft=curPosition.left}else{curTop=parseFloat(curCSSTop)||0;curLeft=parseFloat(curCSSLeft)||0};if(jQuery.isFunction(options))options=options.call(elem,i,jQuery.extend({},curOffset));if(options.top!=null)props.top=(options.top-curOffset.top)+curTop;if(options.left!=null)props.left=(options.left-curOffset.left)+curLeft;if("using"in options){options.using.call(elem,props)}else curElem.css(props)}};jQuery.fn.extend({offset:function(options){if(arguments.length)return options===undefined?this:this.each(function(i){jQuery.offset.setOffset(this,options,i)});var docElem,win,elem=this[0],box={top:0,left:0},doc=elem&&elem.ownerDocument;if(!doc)return;docElem=doc.documentElement;if(!jQuery.contains(docElem,elem))return box;box=elem.getBoundingClientRect();win=getWindow(doc);return{top:box.top+win.pageYOffset-docElem.clientTop,left:box.left+win.pageXOffset-docElem.clientLeft}},position:function(){if(!this[0])return;var offsetParent,offset,elem=this[0],parentOffset={top:0,left:0};if(jQuery.css(elem,"position")==="fixed"){offset=elem.getBoundingClientRect()}else{offsetParent=this.offsetParent();offset=this.offset();if(!jQuery.nodeName(offsetParent[0],"html"))parentOffset=offsetParent.offset();parentOffset.top+=jQuery.css(offsetParent[0],"borderTopWidth",true);parentOffset.left+=jQuery.css(offsetParent[0],"borderLeftWidth",true)};return{top:offset.top-parentOffset.top-jQuery.css(elem,"marginTop",true),left:offset.left-parentOffset.left-jQuery.css(elem,"marginLeft",true)}},offsetParent:function(){return this.map(function(){var offsetParent=this.offsetParent;while(offsetParent&&jQuery.css(offsetParent,"position")==="static")offsetParent=offsetParent.offsetParent;return offsetParent||documentElement})}});jQuery.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(method,prop){var top="pageYOffset"===prop;jQuery.fn[method]=function(val){return access(this,function(elem,method,val){var win=getWindow(elem);if(val===undefined)return win?win[prop]:elem[method];if(win){win.scrollTo(!top?val:win.pageXOffset,top?val:win.pageYOffset)}else elem[method]=val},method,val,arguments.length)}});jQuery.each(["top","left"],function(i,prop){jQuery.cssHooks[prop]=addGetHookIf(support.pixelPosition,function(elem,computed){if(computed){computed=curCSS(elem,prop);return rnumnonpx.test(computed)?jQuery(elem).position()[prop]+"px":computed}})});jQuery.each({Height:"height",Width:"width"},function(name,type){jQuery.each({padding:"inner"+name,content:type,"":"outer"+name},function(defaultExtra,funcName){jQuery.fn[funcName]=function(margin,value){var chainable=arguments.length&&(defaultExtra||typeof margin!=="boolean"),extra=defaultExtra||(margin===true||value===true?"margin":"border");return access(this,function(elem,type,value){var doc;if(jQuery.isWindow(elem))return elem.document.documentElement["client"+name];if(elem.nodeType===9){doc=elem.documentElement;return Math.max(elem.body["scroll"+name],doc["scroll"+name],elem.body["offset"+name],doc["offset"+name],doc["client"+name])};return value===undefined?jQuery.css(elem,type,extra):jQuery.style(elem,type,value,extra)},type,chainable?margin:undefined,chainable,null)}})});jQuery.fn.extend({bind:function(types,data,fn){return this.on(types,null,data,fn)},unbind:function(types,fn){return this.off(types,null,fn)},delegate:function(selector,types,data,fn){return this.on(types,selector,data,fn)},undelegate:function(selector,types,fn){return arguments.length===1?this.off(selector,"**"):this.off(types,selector||"**",fn)},size:function(){return this.length}});jQuery.fn.andSelf=jQuery.fn.addBack;if(typeof define==="function"&&define.amd)define("jquery",[],function(){return jQuery});var _jQuery=window.jQuery,_$=window.$;jQuery.noConflict=function(deep){if(window.$===jQuery)window.$=_$;if(deep&&window.jQuery===jQuery)window.jQuery=_jQuery;return jQuery};if(!noGlobal)window.jQuery=window.$=jQuery;return jQuery}));
(function(){var root=typeof self=='object'&&self.self===self&&self||typeof global=='object'&&global.global===global&&global||this||{},previousUnderscore=root._,ArrayProto=Array.prototype,ObjProto=Object.prototype,SymbolProto=typeof Symbol!=='undefined'?Symbol.prototype:null,push=ArrayProto.push,slice=ArrayProto.slice,toString=ObjProto.toString,hasOwnProperty=ObjProto.hasOwnProperty,nativeIsArray=Array.isArray,nativeKeys=Object.keys,nativeCreate=Object.create,Ctor=function(){},_=function(obj){if(obj instanceof _)return obj;if(!(this instanceof _))return new _(obj);this._wrapped=obj};if(typeof exports!='undefined'&&!exports.nodeType){if(typeof module!='undefined'&&!module.nodeType&&module.exports)exports=module.exports=_;exports._=_}else root._=_;_.VERSION='1.9.0';var optimizeCb=function(func,context,argCount){if(context===void(0))return func;switch(argCount==null?3:argCount){case 1:return function(value){return func.call(context,value)};case 3:return function(value,index,collection){return func.call(context,value,index,collection)};case 4:return function(accumulator,value,index,collection){return func.call(context,accumulator,value,index,collection)}};return function(){return func.apply(context,arguments)}},builtinIteratee,cb=function(value,context,argCount){if(_.iteratee!==builtinIteratee)return _.iteratee(value,context);if(value==null)return _.identity;if(_.isFunction(value))return optimizeCb(value,context,argCount);if(_.isObject(value)&&!_.isArray(value))return _.matcher(value);return _.property(value)};_.iteratee=builtinIteratee=function(value,context){return cb(value,context,Infinity)};var restArguments=function(func,startIndex){startIndex=startIndex==null?func.length-1:+startIndex;return function(){var length=Math.max(arguments.length-startIndex,0),rest=Array(length),index=0;for(;index<length;index++)rest[index]=arguments[index+startIndex];switch(startIndex){case 0:return func.call(this,rest);case 1:return func.call(this,arguments[0],rest);case 2:return func.call(this,arguments[0],arguments[1],rest)};var args=Array(startIndex+1);for(index=0;index<startIndex;index++)args[index]=arguments[index];args[startIndex]=rest;return func.apply(this,args)}},baseCreate=function(prototype){if(!_.isObject(prototype))return{};if(nativeCreate)return nativeCreate(prototype);Ctor.prototype=prototype;var result=new Ctor();Ctor.prototype=null;return result},shallowProperty=function(key){return function(obj){return obj==null?void(0):obj[key]}},deepGet=function(obj,path){var length=path.length;for(var i=0;i<length;i++){if(obj==null)return void(0);obj=obj[path[i]]};return length?obj:void(0)},MAX_ARRAY_INDEX=Math.pow(2,53)-1,getLength=shallowProperty('length'),isArrayLike=function(collection){var length=getLength(collection);return typeof length=='number'&&length>=0&&length<=MAX_ARRAY_INDEX};_.each=_.forEach=function(obj,iteratee,context){iteratee=optimizeCb(iteratee,context);var i,length;if(isArrayLike(obj)){for(i=0,length=obj.length;i<length;i++)iteratee(obj[i],i,obj)}else{var keys=_.keys(obj);for(i=0,length=keys.length;i<length;i++)iteratee(obj[keys[i]],keys[i],obj)};return obj};_.map=_.collect=function(obj,iteratee,context){iteratee=cb(iteratee,context);var keys=!isArrayLike(obj)&&_.keys(obj),length=(keys||obj).length,results=Array(length);for(var index=0;index<length;index++){var currentKey=keys?keys[index]:index;results[index]=iteratee(obj[currentKey],currentKey,obj)};return results};var createReduce=function(dir){var reducer=function(obj,iteratee,memo,initial){var keys=!isArrayLike(obj)&&_.keys(obj),length=(keys||obj).length,index=dir>0?0:length-1;if(!initial){memo=obj[keys?keys[index]:index];index+=dir};for(;index>=0&&index<length;index+=dir){var currentKey=keys?keys[index]:index;memo=iteratee(memo,obj[currentKey],currentKey,obj)};return memo};return function(obj,iteratee,memo,context){var initial=arguments.length>=3;return reducer(obj,optimizeCb(iteratee,context,4),memo,initial)}};_.reduce=_.foldl=_.inject=createReduce(1);_.reduceRight=_.foldr=createReduce(-1);_.find=_.detect=function(obj,predicate,context){var keyFinder=isArrayLike(obj)?_.findIndex:_.findKey,key=keyFinder(obj,predicate,context);if(key!==void(0)&&key!==-1)return obj[key]};_.filter=_.select=function(obj,predicate,context){var results=[];predicate=cb(predicate,context);_.each(obj,function(value,index,list){if(predicate(value,index,list))results.push(value)});return results};_.reject=function(obj,predicate,context){return _.filter(obj,_.negate(cb(predicate)),context)};_.every=_.all=function(obj,predicate,context){predicate=cb(predicate,context);var keys=!isArrayLike(obj)&&_.keys(obj),length=(keys||obj).length;for(var index=0;index<length;index++){var currentKey=keys?keys[index]:index;if(!predicate(obj[currentKey],currentKey,obj))return false};return true};_.some=_.any=function(obj,predicate,context){predicate=cb(predicate,context);var keys=!isArrayLike(obj)&&_.keys(obj),length=(keys||obj).length;for(var index=0;index<length;index++){var currentKey=keys?keys[index]:index;if(predicate(obj[currentKey],currentKey,obj))return true};return false};_.contains=_.includes=_.include=function(obj,item,fromIndex,guard){if(!isArrayLike(obj))obj=_.values(obj);if(typeof fromIndex!='number'||guard)fromIndex=0;return _.indexOf(obj,item,fromIndex)>=0};_.invoke=restArguments(function(obj,path,args){var contextPath,func;if(_.isFunction(path)){func=path}else if(_.isArray(path)){contextPath=path.slice(0,-1);path=path[path.length-1]};return _.map(obj,function(context){var method=func;if(!method){if(contextPath&&contextPath.length)context=deepGet(context,contextPath);if(context==null)return void(0);method=context[path]};return method==null?method:method.apply(context,args)})});_.pluck=function(obj,key){return _.map(obj,_.property(key))};_.where=function(obj,attrs){return _.filter(obj,_.matcher(attrs))};_.findWhere=function(obj,attrs){return _.find(obj,_.matcher(attrs))};_.max=function(obj,iteratee,context){var result=-Infinity,lastComputed=-Infinity,value,computed;if(iteratee==null||typeof iteratee=='number'&&typeof obj[0]!='object'&&obj!=null){obj=isArrayLike(obj)?obj:_.values(obj);for(var i=0,length=obj.length;i<length;i++){value=obj[i];if(value!=null&&value>result)result=value}}else{iteratee=cb(iteratee,context);_.each(obj,function(v,index,list){computed=iteratee(v,index,list);if(computed>lastComputed||computed===-Infinity&&result===-Infinity){result=v;lastComputed=computed}})};return result};_.min=function(obj,iteratee,context){var result=Infinity,lastComputed=Infinity,value,computed;if(iteratee==null||typeof iteratee=='number'&&typeof obj[0]!='object'&&obj!=null){obj=isArrayLike(obj)?obj:_.values(obj);for(var i=0,length=obj.length;i<length;i++){value=obj[i];if(value!=null&&value<result)result=value}}else{iteratee=cb(iteratee,context);_.each(obj,function(v,index,list){computed=iteratee(v,index,list);if(computed<lastComputed||computed===Infinity&&result===Infinity){result=v;lastComputed=computed}})};return result};_.shuffle=function(obj){return _.sample(obj,Infinity)};_.sample=function(obj,n,guard){if(n==null||guard){if(!isArrayLike(obj))obj=_.values(obj);return obj[_.random(obj.length-1)]};var sample=isArrayLike(obj)?_.clone(obj):_.values(obj),length=getLength(sample);n=Math.max(Math.min(n,length),0);var last=length-1;for(var index=0;index<n;index++){var rand=_.random(index,last),temp=sample[index];sample[index]=sample[rand];sample[rand]=temp};return sample.slice(0,n)};_.sortBy=function(obj,iteratee,context){var index=0;iteratee=cb(iteratee,context);return _.pluck(_.map(obj,function(value,key,list){return{value:value,index:index++,criteria:iteratee(value,key,list)}}).sort(function(left,right){var a=left.criteria,b=right.criteria;if(a!==b){if(a>b||a===void(0))return 1;if(a<b||b===void(0))return-1};return left.index-right.index}),'value')};var group=function(behavior,partition){return function(obj,iteratee,context){var result=partition?[[],[]]:{};iteratee=cb(iteratee,context);_.each(obj,function(value,index){var key=iteratee(value,index,obj);behavior(result,value,key)});return result}};_.groupBy=group(function(result,value,key){if(_.has(result,key)){result[key].push(value)}else result[key]=[value]});_.indexBy=group(function(result,value,key){result[key]=value});_.countBy=group(function(result,value,key){if(_.has(result,key)){result[key]++}else result[key]=1});var reStrSymbol=/[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g;_.toArray=function(obj){if(!obj)return[];if(_.isArray(obj))return slice.call(obj);if(_.isString(obj))return obj.match(reStrSymbol);if(isArrayLike(obj))return _.map(obj,_.identity);return _.values(obj)};_.size=function(obj){if(obj==null)return 0;return isArrayLike(obj)?obj.length:_.keys(obj).length};_.partition=group(function(result,value,pass){result[pass?0:1].push(value)},true);_.first=_.head=_.take=function(array,n,guard){if(array==null||array.length<1)return void(0);if(n==null||guard)return array[0];return _.initial(array,array.length-n)};_.initial=function(array,n,guard){return slice.call(array,0,Math.max(0,array.length-(n==null||guard?1:n)))};_.last=function(array,n,guard){if(array==null||array.length<1)return void(0);if(n==null||guard)return array[array.length-1];return _.rest(array,Math.max(0,array.length-n))};_.rest=_.tail=_.drop=function(array,n,guard){return slice.call(array,n==null||guard?1:n)};_.compact=function(array){return _.filter(array,Boolean)};var flatten=function(input,shallow,strict,output){output=output||[];var idx=output.length;for(var i=0,length=getLength(input);i<length;i++){var value=input[i];if(isArrayLike(value)&&(_.isArray(value)||_.isArguments(value))){if(shallow){var j=0,len=value.length;while(j<len)output[idx++]=value[j++]}else{flatten(value,shallow,strict,output);idx=output.length}}else if(!strict)output[idx++]=value};return output};_.flatten=function(array,shallow){return flatten(array,shallow,false)};_.without=restArguments(function(array,otherArrays){return _.difference(array,otherArrays)});_.uniq=_.unique=function(array,isSorted,iteratee,context){if(!_.isBoolean(isSorted)){context=iteratee;iteratee=isSorted;isSorted=false};if(iteratee!=null)iteratee=cb(iteratee,context);var result=[],seen=[];for(var i=0,length=getLength(array);i<length;i++){var value=array[i],computed=iteratee?iteratee(value,i,array):value;if(isSorted&&!iteratee){if(!i||seen!==computed)result.push(value);seen=computed}else if(iteratee){if(!_.contains(seen,computed)){seen.push(computed);result.push(value)}}else if(!_.contains(result,value))result.push(value)};return result};_.union=restArguments(function(arrays){return _.uniq(flatten(arrays,true,true))});_.intersection=function(array){var result=[],argsLength=arguments.length;for(var i=0,length=getLength(array);i<length;i++){var item=array[i];if(_.contains(result,item))continue;var j;for(j=1;j<argsLength;j++)if(!_.contains(arguments[j],item))break;if(j===argsLength)result.push(item)};return result};_.difference=restArguments(function(array,rest){rest=flatten(rest,true,true);return _.filter(array,function(value){return!_.contains(rest,value)})});_.unzip=function(array){var length=array&&_.max(array,getLength).length||0,result=Array(length);for(var index=0;index<length;index++)result[index]=_.pluck(array,index);return result};_.zip=restArguments(_.unzip);_.object=function(list,values){var result={};for(var i=0,length=getLength(list);i<length;i++)if(values){result[list[i]]=values[i]}else result[list[i][0]]=list[i][1];return result};var createPredicateIndexFinder=function(dir){return function(array,predicate,context){predicate=cb(predicate,context);var length=getLength(array),index=dir>0?0:length-1;for(;index>=0&&index<length;index+=dir)if(predicate(array[index],index,array))return index;return-1}};_.findIndex=createPredicateIndexFinder(1);_.findLastIndex=createPredicateIndexFinder(-1);_.sortedIndex=function(array,obj,iteratee,context){iteratee=cb(iteratee,context,1);var value=iteratee(obj),low=0,high=getLength(array);while(low<high){var mid=Math.floor((low+high)/2);if(iteratee(array[mid])<value){low=mid+1}else high=mid};return low};var createIndexFinder=function(dir,predicateFind,sortedIndex){return function(array,item,idx){var i=0,length=getLength(array);if(typeof idx=='number'){if(dir>0){i=idx>=0?idx:Math.max(idx+length,i)}else length=idx>=0?Math.min(idx+1,length):idx+length+1}else if(sortedIndex&&idx&&length){idx=sortedIndex(array,item);return array[idx]===item?idx:-1};if(item!==item){idx=predicateFind(slice.call(array,i,length),_.isNaN);return idx>=0?idx+i:-1};for(idx=dir>0?i:length-1;idx>=0&&idx<length;idx+=dir)if(array[idx]===item)return idx;return-1}};_.indexOf=createIndexFinder(1,_.findIndex,_.sortedIndex);_.lastIndexOf=createIndexFinder(-1,_.findLastIndex);_.range=function(start,stop,step){if(stop==null){stop=start||0;start=0};if(!step)step=stop<start?-1:1;var length=Math.max(Math.ceil((stop-start)/step),0),range=Array(length);for(var idx=0;idx<length;idx++,start+=step)range[idx]=start;return range};_.chunk=function(array,count){if(count==null||count<1)return[];var result=[],i=0,length=array.length;while(i<length)result.push(slice.call(array,i,i+=count));return result};var executeBound=function(sourceFunc,boundFunc,context,callingContext,args){if(!(callingContext instanceof boundFunc))return sourceFunc.apply(context,args);var self=baseCreate(sourceFunc.prototype),result=sourceFunc.apply(self,args);if(_.isObject(result))return result;return self};_.bind=restArguments(function(func,context,args){if(!_.isFunction(func))throw new TypeError('Bind must be called on a function');var bound=restArguments(function(callArgs){return executeBound(func,bound,context,this,args.concat(callArgs))});return bound});_.partial=restArguments(function(func,boundArgs){var placeholder=_.partial.placeholder,bound=function(){var position=0,length=boundArgs.length,args=Array(length);for(var i=0;i<length;i++)args[i]=boundArgs[i]===placeholder?arguments[position++]:boundArgs[i];while(position<arguments.length)args.push(arguments[position++]);return executeBound(func,bound,this,this,args)};return bound});_.partial.placeholder=_;_.bindAll=restArguments(function(obj,keys){keys=flatten(keys,false,false);var index=keys.length;if(index<1)throw new Error('bindAll must be passed function names');while(index--){var key=keys[index];obj[key]=_.bind(obj[key],obj)}});_.memoize=function(func,hasher){var memoize=function(key){var cache=memoize.cache,address=''+(hasher?hasher.apply(this,arguments):key);if(!_.has(cache,address))cache[address]=func.apply(this,arguments);return cache[address]};memoize.cache={};return memoize};_.delay=restArguments(function(func,wait,args){return setTimeout(function(){return func.apply(null,args)},wait)});_.defer=_.partial(_.delay,_,1);_.throttle=function(func,wait,options){var timeout,context,args,result,previous=0;if(!options)options={};var later=function(){previous=options.leading===false?0:_.now();timeout=null;result=func.apply(context,args);if(!timeout)context=args=null},throttled=function(){var now=_.now();if(!previous&&options.leading===false)previous=now;var remaining=wait-(now-previous);context=this;args=arguments;if(remaining<=0||remaining>wait){if(timeout){clearTimeout(timeout);timeout=null};previous=now;result=func.apply(context,args);if(!timeout)context=args=null}else if(!timeout&&options.trailing!==false)timeout=setTimeout(later,remaining);return result};throttled.cancel=function(){clearTimeout(timeout);previous=0;timeout=context=args=null};return throttled};_.debounce=function(func,wait,immediate){var timeout,result,later=function(context,args){timeout=null;if(args)result=func.apply(context,args)},debounced=restArguments(function(args){if(timeout)clearTimeout(timeout);if(immediate){var callNow=!timeout;timeout=setTimeout(later,wait);if(callNow)result=func.apply(this,args)}else timeout=_.delay(later,wait,this,args);return result});debounced.cancel=function(){clearTimeout(timeout);timeout=null};return debounced};_.wrap=function(func,wrapper){return _.partial(wrapper,func)};_.negate=function(predicate){return function(){return!predicate.apply(this,arguments)}};_.compose=function(){var args=arguments,start=args.length-1;return function(){var i=start,result=args[start].apply(this,arguments);while(i--)result=args[i].call(this,result);return result}};_.after=function(times,func){return function(){if(--times<1)return func.apply(this,arguments)}};_.before=function(times,func){var memo;return function(){if(--times>0)memo=func.apply(this,arguments);if(times<=1)func=null;return memo}};_.once=_.partial(_.before,2);_.restArguments=restArguments;var hasEnumBug=!{toString:null}.propertyIsEnumerable('toString'),nonEnumerableProps=['valueOf','isPrototypeOf','toString','propertyIsEnumerable','hasOwnProperty','toLocaleString'],collectNonEnumProps=function(obj,keys){var nonEnumIdx=nonEnumerableProps.length,constructor=obj.constructor,proto=_.isFunction(constructor)&&constructor.prototype||ObjProto,prop='constructor';if(_.has(obj,prop)&&!_.contains(keys,prop))keys.push(prop);while(nonEnumIdx--){prop=nonEnumerableProps[nonEnumIdx];if(prop in obj&&obj[prop]!==proto[prop]&&!_.contains(keys,prop))keys.push(prop)}};_.keys=function(obj){if(!_.isObject(obj))return[];if(nativeKeys)return nativeKeys(obj);var keys=[];for(var key in obj)if(_.has(obj,key))keys.push(key);if(hasEnumBug)collectNonEnumProps(obj,keys);return keys};_.allKeys=function(obj){if(!_.isObject(obj))return[];var keys=[];for(var key in obj)keys.push(key);if(hasEnumBug)collectNonEnumProps(obj,keys);return keys};_.values=function(obj){var keys=_.keys(obj),length=keys.length,values=Array(length);for(var i=0;i<length;i++)values[i]=obj[keys[i]];return values};_.mapObject=function(obj,iteratee,context){iteratee=cb(iteratee,context);var keys=_.keys(obj),length=keys.length,results={};for(var index=0;index<length;index++){var currentKey=keys[index];results[currentKey]=iteratee(obj[currentKey],currentKey,obj)};return results};_.pairs=function(obj){var keys=_.keys(obj),length=keys.length,pairs=Array(length);for(var i=0;i<length;i++)pairs[i]=[keys[i],obj[keys[i]]];return pairs};_.invert=function(obj){var result={},keys=_.keys(obj);for(var i=0,length=keys.length;i<length;i++)result[obj[keys[i]]]=keys[i];return result};_.functions=_.methods=function(obj){var names=[];for(var key in obj)if(_.isFunction(obj[key]))names.push(key);return names.sort()};var createAssigner=function(keysFunc,defaults){return function(obj){var length=arguments.length;if(defaults)obj=Object(obj);if(length<2||obj==null)return obj;for(var index=1;index<length;index++){var source=arguments[index],keys=keysFunc(source),l=keys.length;for(var i=0;i<l;i++){var key=keys[i];if(!defaults||obj[key]===void(0))obj[key]=source[key]}};return obj}};_.extend=createAssigner(_.allKeys);_.extendOwn=_.assign=createAssigner(_.keys);_.findKey=function(obj,predicate,context){predicate=cb(predicate,context);var keys=_.keys(obj),key;for(var i=0,length=keys.length;i<length;i++){key=keys[i];if(predicate(obj[key],key,obj))return key}};var keyInObj=function(value,key,obj){return key in obj};_.pick=restArguments(function(obj,keys){var result={},iteratee=keys[0];if(obj==null)return result;if(_.isFunction(iteratee)){if(keys.length>1)iteratee=optimizeCb(iteratee,keys[1]);keys=_.allKeys(obj)}else{iteratee=keyInObj;keys=flatten(keys,false,false);obj=Object(obj)};for(var i=0,length=keys.length;i<length;i++){var key=keys[i],value=obj[key];if(iteratee(value,key,obj))result[key]=value};return result});_.omit=restArguments(function(obj,keys){var iteratee=keys[0],context;if(_.isFunction(iteratee)){iteratee=_.negate(iteratee);if(keys.length>1)context=keys[1]}else{keys=_.map(flatten(keys,false,false),String);iteratee=function(value,key){return!_.contains(keys,key)}};return _.pick(obj,iteratee,context)});_.defaults=createAssigner(_.allKeys,true);_.create=function(prototype,props){var result=baseCreate(prototype);if(props)_.extendOwn(result,props);return result};_.clone=function(obj){if(!_.isObject(obj))return obj;return _.isArray(obj)?obj.slice():_.extend({},obj)};_.tap=function(obj,interceptor){interceptor(obj);return obj};_.isMatch=function(object,attrs){var keys=_.keys(attrs),length=keys.length;if(object==null)return!length;var obj=Object(object);for(var i=0;i<length;i++){var key=keys[i];if(attrs[key]!==obj[key]||!(key in obj))return false};return true};var eq,deepEq;eq=function(a,b,aStack,bStack){if(a===b)return a!==0||1/a===1/b;if(a==null||b==null)return false;if(a!==a)return b!==b;var type=typeof a;if(type!=='function'&&type!=='object'&&typeof b!='object')return false;return deepEq(a,b,aStack,bStack)};deepEq=function(a,b,aStack,bStack){if(a instanceof _)a=a._wrapped;if(b instanceof _)b=b._wrapped;var className=toString.call(a);if(className!==toString.call(b))return false;switch(className){case'[object RegExp]':case'[object String]':return''+a===''+b;case'[object Number]':if(+a!==+a)return+b!==+b;return+a===0?1/+a===1/b:+a===+b;case'[object Date]':case'[object Boolean]':return+a===+b;case'[object Symbol]':return SymbolProto.valueOf.call(a)===SymbolProto.valueOf.call(b)};var areArrays=className==='[object Array]';if(!areArrays){if(typeof a!='object'||typeof b!='object')return false;var aCtor=a.constructor,bCtor=b.constructor;if(aCtor!==bCtor&&!(_.isFunction(aCtor)&&aCtor instanceof aCtor&&_.isFunction(bCtor)&&bCtor instanceof bCtor)&&('constructor'in a&&'constructor'in b))return false};aStack=aStack||[];bStack=bStack||[];var length=aStack.length;while(length--)if(aStack[length]===a)return bStack[length]===b;aStack.push(a);bStack.push(b);if(areArrays){length=a.length;if(length!==b.length)return false;while(length--)if(!eq(a[length],b[length],aStack,bStack))return false}else{var keys=_.keys(a),key;length=keys.length;if(_.keys(b).length!==length)return false;while(length--){key=keys[length];if(!(_.has(b,key)&&eq(a[key],b[key],aStack,bStack)))return false}};aStack.pop();bStack.pop();return true};_.isEqual=function(a,b){return eq(a,b)};_.isEmpty=function(obj){if(obj==null)return true;if(isArrayLike(obj)&&(_.isArray(obj)||_.isString(obj)||_.isArguments(obj)))return obj.length===0;return _.keys(obj).length===0};_.isElement=function(obj){return!!(obj&&obj.nodeType===1)};_.isArray=nativeIsArray||function(obj){return toString.call(obj)==='[object Array]'};_.isObject=function(obj){var type=typeof obj;return type==='function'||type==='object'&&!!obj};_.each(['Arguments','Function','String','Number','Date','RegExp','Error','Symbol','Map','WeakMap','Set','WeakSet'],function(name){_['is'+name]=function(obj){return toString.call(obj)==='[object '+name+']'}});if(!_.isArguments(arguments))_.isArguments=function(obj){return _.has(obj,'callee')};var nodelist=root.document&&root.document.childNodes;if(typeof/./!='function'&&typeof Int8Array!='object'&&typeof nodelist!='function')_.isFunction=function(obj){return typeof obj=='function'||false};_.isFinite=function(obj){return!_.isSymbol(obj)&&isFinite(obj)&&!isNaN(parseFloat(obj))};_.isNaN=function(obj){return _.isNumber(obj)&&isNaN(obj)};_.isBoolean=function(obj){return obj===true||obj===false||toString.call(obj)==='[object Boolean]'};_.isNull=function(obj){return obj===null};_.isUndefined=function(obj){return obj===void(0)};_.has=function(obj,path){if(!_.isArray(path))return obj!=null&&hasOwnProperty.call(obj,path);var length=path.length;for(var i=0;i<length;i++){var key=path[i];if(obj==null||!hasOwnProperty.call(obj,key))return false;obj=obj[key]};return!!length};_.noConflict=function(){root._=previousUnderscore;return this};_.identity=function(value){return value};_.constant=function(value){return function(){return value}};_.noop=function(){};_.property=function(path){if(!_.isArray(path))return shallowProperty(path);return function(obj){return deepGet(obj,path)}};_.propertyOf=function(obj){if(obj==null)return function(){};return function(path){return!_.isArray(path)?obj[path]:deepGet(obj,path)}};_.matcher=_.matches=function(attrs){attrs=_.extendOwn({},attrs);return function(obj){return _.isMatch(obj,attrs)}};_.times=function(n,iteratee,context){var accum=Array(Math.max(0,n));iteratee=optimizeCb(iteratee,context,1);for(var i=0;i<n;i++)accum[i]=iteratee(i);return accum};_.random=function(min,max){if(max==null){max=min;min=0};return min+Math.floor(Math.random()*(max-min+1))};_.now=Date.now||function(){return new Date().getTime()};var escapeMap={'&':'&amp;','<':'&lt;','>':'&gt;','"':'&quot;',"'":'&#x27;','`':'&#x60;'},unescapeMap=_.invert(escapeMap),createEscaper=function(map){var escaper=function(match){return map[match]},source='(?:'+_.keys(map).join('|')+')',testRegexp=RegExp(source),replaceRegexp=RegExp(source,'g');return function(string){string=string==null?'':''+string;return testRegexp.test(string)?string.replace(replaceRegexp,escaper):string}};_.escape=createEscaper(escapeMap);_.unescape=createEscaper(unescapeMap);_.result=function(obj,path,fallback){if(!_.isArray(path))path=[path];var length=path.length;if(!length)return _.isFunction(fallback)?fallback.call(obj):fallback;for(var i=0;i<length;i++){var prop=obj==null?void(0):obj[path[i]];if(prop===void(0)){prop=fallback;i=length};obj=_.isFunction(prop)?prop.call(obj):prop};return obj};var idCounter=0;_.uniqueId=function(prefix){var id=++idCounter+'';return prefix?prefix+id:id};_.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var noMatch=/(.)^/,escapes={"'":"'",'\\':'\\','\r':'r','\n':'n','\u2028':'u2028','\u2029':'u2029'},escapeRegExp=/\\|'|\r|\n|\u2028|\u2029/g,escapeChar=function(match){return'\\'+escapes[match]};_.template=function(text,settings,oldSettings){if(!settings&&oldSettings)settings=oldSettings;settings=_.defaults({},settings,_.templateSettings);var matcher=RegExp([(settings.escape||noMatch).source,(settings.interpolate||noMatch).source,(settings.evaluate||noMatch).source].join('|')+'|$','g'),index=0,source="__p+='";text.replace(matcher,function(match,escape,interpolate,evaluate,offset){source+=text.slice(index,offset).replace(escapeRegExp,escapeChar);index=offset+match.length;if(escape){source+="'+\n((__t=("+escape+"))==null?'':_.escape(__t))+\n'"}else if(interpolate){source+="'+\n((__t=("+interpolate+"))==null?'':__t)+\n'"}else if(evaluate)source+="';\n"+evaluate+"\n__p+='";return match});source+="';\n";if(!settings.variable)source='with(obj||{}){\n'+source+'}\n';source="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+source+'return __p;\n';var render;try{render=new Function(settings.variable||'obj','_',source)}catch(e){e.source=source;throw e};var template=function(data){return render.call(this,data,_)},argument=settings.variable||'obj';template.source='function('+argument+'){\n'+source+'}';return template};_.chain=function(obj){var instance=_(obj);instance._chain=true;return instance};var chainResult=function(instance,obj){return instance._chain?_(obj).chain():obj};_.mixin=function(obj){_.each(_.functions(obj),function(name){var func=_[name]=obj[name];_.prototype[name]=function(){var args=[this._wrapped];push.apply(args,arguments);return chainResult(this,func.apply(_,args))}});return _};_.mixin(_);_.each(['pop','push','reverse','shift','sort','splice','unshift'],function(name){var method=ArrayProto[name];_.prototype[name]=function(){var obj=this._wrapped;method.apply(obj,arguments);if((name==='shift'||name==='splice')&&obj.length===0)delete obj[0];return chainResult(this,obj)}});_.each(['concat','join','slice'],function(name){var method=ArrayProto[name];_.prototype[name]=function(){return chainResult(this,method.apply(this._wrapped,arguments))}});_.prototype.value=function(){return this._wrapped};_.prototype.valueOf=_.prototype.toJSON=_.prototype.value;_.prototype.toString=function(){return String(this._wrapped)};if(typeof define=='function'&&define.amd)define('underscore',[],function(){return _})}());
(function(factory){var root=(typeof self=='object'&&self.self===self&&self)||(typeof global=='object'&&global.global===global&&global);if(typeof define==='function'&&define.amd){define(['underscore','jquery','exports'],function(_,$,exports){root.Backbone=factory(root,exports,_,$)})}else if(typeof exports!=='undefined'){var _=require('underscore'),$;try{$=require('jquery')}catch(e){};factory(root,exports,_,$)}else root.Backbone=factory(root,{},root._,(root.jQuery||root.Zepto||root.ender||root.$))})(function(root,Backbone,_,$){var previousBackbone=root.Backbone,slice=Array.prototype.slice;Backbone.VERSION='1.3.3';Backbone.$=$;Backbone.noConflict=function(){root.Backbone=previousBackbone;return this};Backbone.emulateHTTP=false;Backbone.emulateJSON=false;var addMethod=function(length,method,attribute){switch(length){case 1:return function(){return _[method](this[attribute])};case 2:return function(value){return _[method](this[attribute],value)};case 3:return function(iteratee,context){return _[method](this[attribute],cb(iteratee,this),context)};case 4:return function(iteratee,defaultVal,context){return _[method](this[attribute],cb(iteratee,this),defaultVal,context)};default:return function(){var args=slice.call(arguments);args.unshift(this[attribute]);return _[method].apply(_,args)}}},addUnderscoreMethods=function(Class,methods,attribute){_.each(methods,function(length,method){if(_[method])Class.prototype[method]=addMethod(length,method,attribute)})},cb=function(iteratee,instance){if(_.isFunction(iteratee))return iteratee;if(_.isObject(iteratee)&&!instance._isModel(iteratee))return modelMatcher(iteratee);if(_.isString(iteratee))return function(model){return model.get(iteratee)};return iteratee},modelMatcher=function(attrs){var matcher=_.matches(attrs);return function(model){return matcher(model.attributes)}},Events=Backbone.Events={},eventSplitter=/\s+/,eventsApi=function(iteratee,events,name,callback,opts){var i=0,names;if(name&&typeof name==='object'){if(callback!==void(0)&&'context'in opts&&opts.context===void(0))opts.context=callback;for(names=_.keys(name);i<names.length;i++)events=eventsApi(iteratee,events,names[i],name[names[i]],opts)}else if(name&&eventSplitter.test(name)){for(names=name.split(eventSplitter);i<names.length;i++)events=iteratee(events,names[i],callback,opts)}else events=iteratee(events,name,callback,opts);return events};Events.on=function(name,callback,context){return internalOn(this,name,callback,context)};var internalOn=function(obj,name,callback,context,listening){obj._events=eventsApi(onApi,obj._events||{},name,callback,{context:context,ctx:obj,listening:listening});if(listening){var listeners=obj._listeners||(obj._listeners={});listeners[listening.id]=listening};return obj};Events.listenTo=function(obj,name,callback){if(!obj)return this;var id=obj._listenId||(obj._listenId=_.uniqueId('l')),listeningTo=this._listeningTo||(this._listeningTo={}),listening=listeningTo[id];if(!listening){var thisId=this._listenId||(this._listenId=_.uniqueId('l'));listening=listeningTo[id]={obj:obj,objId:id,id:thisId,listeningTo:listeningTo,count:0}};internalOn(obj,name,callback,this,listening);return this};var onApi=function(events,name,callback,options){if(callback){var handlers=events[name]||(events[name]=[]),context=options.context,ctx=options.ctx,listening=options.listening;if(listening)listening.count++;handlers.push({callback:callback,context:context,ctx:context||ctx,listening:listening})};return events};Events.off=function(name,callback,context){if(!this._events)return this;this._events=eventsApi(offApi,this._events,name,callback,{context:context,listeners:this._listeners});return this};Events.stopListening=function(obj,name,callback){var listeningTo=this._listeningTo;if(!listeningTo)return this;var ids=obj?[obj._listenId]:_.keys(listeningTo);for(var i=0;i<ids.length;i++){var listening=listeningTo[ids[i]];if(!listening)break;listening.obj.off(name,callback,this)};return this};var offApi=function(events,name,callback,options){if(!events)return;var i=0,listening,context=options.context,listeners=options.listeners;if(!name&&!callback&&!context){var ids=_.keys(listeners);for(;i<ids.length;i++){listening=listeners[ids[i]];delete listeners[listening.id];delete listening.listeningTo[listening.objId]};return};var names=name?[name]:_.keys(events);for(;i<names.length;i++){name=names[i];var handlers=events[name];if(!handlers)break;var remaining=[];for(var j=0;j<handlers.length;j++){var handler=handlers[j];if(callback&&callback!==handler.callback&&callback!==handler.callback._callback||context&&context!==handler.context){remaining.push(handler)}else{listening=handler.listening;if(listening&&--listening.count===0){delete listeners[listening.id];delete listening.listeningTo[listening.objId]}}};if(remaining.length){events[name]=remaining}else delete events[name]};return events};Events.once=function(name,callback,context){var events=eventsApi(onceMap,{},name,callback,_.bind(this.off,this));if(typeof name==='string'&&context==null)callback=void(0);return this.on(events,callback,context)};Events.listenToOnce=function(obj,name,callback){var events=eventsApi(onceMap,{},name,callback,_.bind(this.stopListening,this,obj));return this.listenTo(obj,events)};var onceMap=function(map,name,callback,offer){if(callback){var once=map[name]=_.once(function(){offer(name,once);callback.apply(this,arguments)});once._callback=callback};return map};Events.trigger=function(name){if(!this._events)return this;var length=Math.max(0,arguments.length-1),args=Array(length);for(var i=0;i<length;i++)args[i]=arguments[i+1];eventsApi(triggerApi,this._events,name,void(0),args);return this};var triggerApi=function(objEvents,name,callback,args){if(objEvents){var events=objEvents[name],allEvents=objEvents.all;if(events&&allEvents)allEvents=allEvents.slice();if(events)triggerEvents(events,args);if(allEvents)triggerEvents(allEvents,[name].concat(args))};return objEvents},triggerEvents=function(events,args){var ev,i=-1,l=events.length,a1=args[0],a2=args[1],a3=args[2];switch(args.length){case 0:while(++i<l)(ev=events[i]).callback.call(ev.ctx);return;case 1:while(++i<l)(ev=events[i]).callback.call(ev.ctx,a1);return;case 2:while(++i<l)(ev=events[i]).callback.call(ev.ctx,a1,a2);return;case 3:while(++i<l)(ev=events[i]).callback.call(ev.ctx,a1,a2,a3);return;default:while(++i<l)(ev=events[i]).callback.apply(ev.ctx,args);return}};Events.bind=Events.on;Events.unbind=Events.off;_.extend(Backbone,Events);var Model=Backbone.Model=function(attributes,options){var attrs=attributes||{};options||(options={});this.cid=_.uniqueId(this.cidPrefix);this.attributes={};if(options.collection)this.collection=options.collection;if(options.parse)attrs=this.parse(attrs,options)||{};var defaults=_.result(this,'defaults');attrs=_.defaults(_.extend({},defaults,attrs),defaults);this.set(attrs,options);this.changed={};this.initialize.apply(this,arguments)};_.extend(Model.prototype,Events,{changed:null,validationError:null,idAttribute:'id',cidPrefix:'c',initialize:function(){},toJSON:function(options){return _.clone(this.attributes)},sync:function(){return Backbone.sync.apply(this,arguments)},get:function(attr){return this.attributes[attr]},escape:function(attr){return _.escape(this.get(attr))},has:function(attr){return this.get(attr)!=null},matches:function(attrs){return!!_.iteratee(attrs,this)(this.attributes)},set:function(key,val,options){if(key==null)return this;var attrs;if(typeof key==='object'){attrs=key;options=val}else (attrs={})[key]=val;options||(options={});if(!this._validate(attrs,options))return false;var unset=options.unset,silent=options.silent,changes=[],changing=this._changing;this._changing=true;if(!changing){this._previousAttributes=_.clone(this.attributes);this.changed={}};var current=this.attributes,changed=this.changed,prev=this._previousAttributes;for(var attr in attrs){val=attrs[attr];if(!_.isEqual(current[attr],val))changes.push(attr);if(!_.isEqual(prev[attr],val)){changed[attr]=val}else delete changed[attr];unset?delete current[attr]:current[attr]=val};if(this.idAttribute in attrs)this.id=this.get(this.idAttribute);if(!silent){if(changes.length)this._pending=options;for(var i=0;i<changes.length;i++)this.trigger('change:'+changes[i],this,current[changes[i]],options)};if(changing)return this;if(!silent)while(this._pending){options=this._pending;this._pending=false;this.trigger('change',this,options)};this._pending=false;this._changing=false;return this},unset:function(attr,options){return this.set(attr,void(0),_.extend({},options,{unset:true}))},clear:function(options){var attrs={};for(var key in this.attributes)attrs[key]=void(0);return this.set(attrs,_.extend({},options,{unset:true}))},hasChanged:function(attr){if(attr==null)return!_.isEmpty(this.changed);return _.has(this.changed,attr)},changedAttributes:function(diff){if(!diff)return this.hasChanged()?_.clone(this.changed):false;var old=this._changing?this._previousAttributes:this.attributes,changed={};for(var attr in diff){var val=diff[attr];if(_.isEqual(old[attr],val))continue;changed[attr]=val};return _.size(changed)?changed:false},previous:function(attr){if(attr==null||!this._previousAttributes)return null;return this._previousAttributes[attr]},previousAttributes:function(){return _.clone(this._previousAttributes)},fetch:function(options){options=_.extend({parse:true},options);var model=this,success=options.success;options.success=function(resp){var serverAttrs=options.parse?model.parse(resp,options):resp;if(!model.set(serverAttrs,options))return false;if(success)success.call(options.context,model,resp,options);model.trigger('sync',model,resp,options)};wrapError(this,options);return this.sync('read',this,options)},save:function(key,val,options){var attrs;if(key==null||typeof key==='object'){attrs=key;options=val}else (attrs={})[key]=val;options=_.extend({validate:true,parse:true},options);var wait=options.wait;if(attrs&&!wait){if(!this.set(attrs,options))return false}else if(!this._validate(attrs,options))return false;var model=this,success=options.success,attributes=this.attributes;options.success=function(resp){model.attributes=attributes;var serverAttrs=options.parse?model.parse(resp,options):resp;if(wait)serverAttrs=_.extend({},attrs,serverAttrs);if(serverAttrs&&!model.set(serverAttrs,options))return false;if(success)success.call(options.context,model,resp,options);model.trigger('sync',model,resp,options)};wrapError(this,options);if(attrs&&wait)this.attributes=_.extend({},attributes,attrs);var method=this.isNew()?'create':(options.patch?'patch':'update');if(method==='patch'&&!options.attrs)options.attrs=attrs;var xhr=this.sync(method,this,options);this.attributes=attributes;return xhr},destroy:function(options){options=options?_.clone(options):{};var model=this,success=options.success,wait=options.wait,destroy=function(){model.stopListening();model.trigger('destroy',model,model.collection,options)};options.success=function(resp){if(wait)destroy();if(success)success.call(options.context,model,resp,options);if(!model.isNew())model.trigger('sync',model,resp,options)};var xhr=false;if(this.isNew()){_.defer(options.success)}else{wrapError(this,options);xhr=this.sync('delete',this,options)};if(!wait)destroy();return xhr},url:function(){var base=_.result(this,'urlRoot')||_.result(this.collection,'url')||urlError();if(this.isNew())return base;var id=this.get(this.idAttribute);return base.replace(/[^\/]$/,'$&/')+encodeURIComponent(id)},parse:function(resp,options){return resp},clone:function(){return new this.constructor(this.attributes)},isNew:function(){return!this.has(this.idAttribute)},isValid:function(options){return this._validate({},_.extend({},options,{validate:true}))},_validate:function(attrs,options){if(!options.validate||!this.validate)return true;attrs=_.extend({},this.attributes,attrs);var error=this.validationError=this.validate(attrs,options)||null;if(!error)return true;this.trigger('invalid',this,error,_.extend(options,{validationError:error}));return false}});var modelMethods={keys:1,values:1,pairs:1,invert:1,pick:0,omit:0,chain:1,isEmpty:1};addUnderscoreMethods(Model,modelMethods,'attributes');var Collection=Backbone.Collection=function(models,options){options||(options={});if(options.model)this.model=options.model;if(options.comparator!==void(0))this.comparator=options.comparator;this._reset();this.initialize.apply(this,arguments);if(models)this.reset(models,_.extend({silent:true},options))},setOptions={add:true,remove:true,merge:true},addOptions={add:true,remove:false},splice=function(array,insert,at){at=Math.min(Math.max(at,0),array.length);var tail=Array(array.length-at),length=insert.length,i;for(i=0;i<tail.length;i++)tail[i]=array[i+at];for(i=0;i<length;i++)array[i+at]=insert[i];for(i=0;i<tail.length;i++)array[i+length+at]=tail[i]};_.extend(Collection.prototype,Events,{model:Model,initialize:function(){},toJSON:function(options){return this.map(function(model){return model.toJSON(options)})},sync:function(){return Backbone.sync.apply(this,arguments)},add:function(models,options){return this.set(models,_.extend({merge:false},options,addOptions))},remove:function(models,options){options=_.extend({},options);var singular=!_.isArray(models);models=singular?[models]:models.slice();var removed=this._removeModels(models,options);if(!options.silent&&removed.length){options.changes={added:[],merged:[],removed:removed};this.trigger('update',this,options)};return singular?removed[0]:removed},set:function(models,options){if(models==null)return;options=_.extend({},setOptions,options);if(options.parse&&!this._isModel(models))models=this.parse(models,options)||[];var singular=!_.isArray(models);models=singular?[models]:models.slice();var at=options.at;if(at!=null)at=+at;if(at>this.length)at=this.length;if(at<0)at+=this.length+1;var set=[],toAdd=[],toMerge=[],toRemove=[],modelMap={},add=options.add,merge=options.merge,remove=options.remove,sort=false,sortable=this.comparator&&at==null&&options.sort!==false,sortAttr=_.isString(this.comparator)?this.comparator:null,model,i;for(i=0;i<models.length;i++){model=models[i];var existing=this.get(model);if(existing){if(merge&&model!==existing){var attrs=this._isModel(model)?model.attributes:model;if(options.parse)attrs=existing.parse(attrs,options);existing.set(attrs,options);toMerge.push(existing);if(sortable&&!sort)sort=existing.hasChanged(sortAttr)};if(!modelMap[existing.cid]){modelMap[existing.cid]=true;set.push(existing)};models[i]=existing}else if(add){model=models[i]=this._prepareModel(model,options);if(model){toAdd.push(model);this._addReference(model,options);modelMap[model.cid]=true;set.push(model)}}};if(remove){for(i=0;i<this.length;i++){model=this.models[i];if(!modelMap[model.cid])toRemove.push(model)};if(toRemove.length)this._removeModels(toRemove,options)};var orderChanged=false,replace=!sortable&&add&&remove;if(set.length&&replace){orderChanged=this.length!==set.length||_.some(this.models,function(m,index){return m!==set[index]});this.models.length=0;splice(this.models,set,0);this.length=this.models.length}else if(toAdd.length){if(sortable)sort=true;splice(this.models,toAdd,at==null?this.length:at);this.length=this.models.length};if(sort)this.sort({silent:true});if(!options.silent){for(i=0;i<toAdd.length;i++){if(at!=null)options.index=at+i;model=toAdd[i];model.trigger('add',model,this,options)};if(sort||orderChanged)this.trigger('sort',this,options);if(toAdd.length||toRemove.length||toMerge.length){options.changes={added:toAdd,removed:toRemove,merged:toMerge};this.trigger('update',this,options)}};return singular?models[0]:models},reset:function(models,options){options=options?_.clone(options):{};for(var i=0;i<this.models.length;i++)this._removeReference(this.models[i],options);options.previousModels=this.models;this._reset();models=this.add(models,_.extend({silent:true},options));if(!options.silent)this.trigger('reset',this,options);return models},push:function(model,options){return this.add(model,_.extend({at:this.length},options))},pop:function(options){var model=this.at(this.length-1);return this.remove(model,options)},unshift:function(model,options){return this.add(model,_.extend({at:0},options))},shift:function(options){var model=this.at(0);return this.remove(model,options)},slice:function(){return slice.apply(this.models,arguments)},get:function(obj){if(obj==null)return void(0);return this._byId[obj]||this._byId[this.modelId(obj.attributes||obj)]||obj.cid&&this._byId[obj.cid]},has:function(obj){return this.get(obj)!=null},at:function(index){if(index<0)index+=this.length;return this.models[index]},where:function(attrs,first){return this[first?'find':'filter'](attrs)},findWhere:function(attrs){return this.where(attrs,true)},sort:function(options){var comparator=this.comparator;if(!comparator)throw new Error('Cannot sort a set without a comparator');options||(options={});var length=comparator.length;if(_.isFunction(comparator))comparator=_.bind(comparator,this);if(length===1||_.isString(comparator)){this.models=this.sortBy(comparator)}else this.models.sort(comparator);if(!options.silent)this.trigger('sort',this,options);return this},pluck:function(attr){return this.map(attr+'')},fetch:function(options){options=_.extend({parse:true},options);var success=options.success,collection=this;options.success=function(resp){var method=options.reset?'reset':'set';collection[method](resp,options);if(success)success.call(options.context,collection,resp,options);collection.trigger('sync',collection,resp,options)};wrapError(this,options);return this.sync('read',this,options)},create:function(model,options){options=options?_.clone(options):{};var wait=options.wait;model=this._prepareModel(model,options);if(!model)return false;if(!wait)this.add(model,options);var collection=this,success=options.success;options.success=function(m,resp,callbackOpts){if(wait)collection.add(m,callbackOpts);if(success)success.call(callbackOpts.context,m,resp,callbackOpts)};model.save(null,options);return model},parse:function(resp,options){return resp},clone:function(){return new this.constructor(this.models,{model:this.model,comparator:this.comparator})},modelId:function(attrs){return attrs[this.model.prototype.idAttribute||'id']},_reset:function(){this.length=0;this.models=[];this._byId={}},_prepareModel:function(attrs,options){if(this._isModel(attrs)){if(!attrs.collection)attrs.collection=this;return attrs};options=options?_.clone(options):{};options.collection=this;var model=new this.model(attrs,options);if(!model.validationError)return model;this.trigger('invalid',this,model.validationError,options);return false},_removeModels:function(models,options){var removed=[];for(var i=0;i<models.length;i++){var model=this.get(models[i]);if(!model)continue;var index=this.indexOf(model);this.models.splice(index,1);this.length--;delete this._byId[model.cid];var id=this.modelId(model.attributes);if(id!=null)delete this._byId[id];if(!options.silent){options.index=index;model.trigger('remove',model,this,options)};removed.push(model);this._removeReference(model,options)};return removed},_isModel:function(model){return model instanceof Model},_addReference:function(model,options){this._byId[model.cid]=model;var id=this.modelId(model.attributes);if(id!=null)this._byId[id]=model;model.on('all',this._onModelEvent,this)},_removeReference:function(model,options){delete this._byId[model.cid];var id=this.modelId(model.attributes);if(id!=null)delete this._byId[id];if(this===model.collection)delete model.collection;model.off('all',this._onModelEvent,this)},_onModelEvent:function(event,model,collection,options){if(model){if((event==='add'||event==='remove')&&collection!==this)return;if(event==='destroy')this.remove(model,options);if(event==='change'){var prevId=this.modelId(model.previousAttributes()),id=this.modelId(model.attributes);if(prevId!==id){if(prevId!=null)delete this._byId[prevId];if(id!=null)this._byId[id]=model}}};this.trigger.apply(this,arguments)}});var collectionMethods={forEach:3,each:3,map:3,collect:3,reduce:0,foldl:0,inject:0,reduceRight:0,foldr:0,find:3,detect:3,filter:3,select:3,reject:3,every:3,all:3,some:3,any:3,include:3,includes:3,contains:3,invoke:0,max:3,min:3,toArray:1,size:1,first:3,head:3,take:3,initial:3,rest:3,tail:3,drop:3,last:3,without:0,difference:0,indexOf:3,shuffle:1,lastIndexOf:3,isEmpty:1,chain:1,sample:3,partition:3,groupBy:3,countBy:3,sortBy:3,indexBy:3,findIndex:3,findLastIndex:3};addUnderscoreMethods(Collection,collectionMethods,'models');var View=Backbone.View=function(options){this.cid=_.uniqueId('view');_.extend(this,_.pick(options,viewOptions));this._ensureElement();this.initialize.apply(this,arguments)},delegateEventSplitter=/^(\S+)\s*(.*)$/,viewOptions=['model','collection','el','id','attributes','className','tagName','events'];_.extend(View.prototype,Events,{tagName:'div',$:function(selector){return this.$el.find(selector)},initialize:function(){},render:function(){return this},remove:function(){this._removeElement();this.stopListening();return this},_removeElement:function(){this.$el.remove()},setElement:function(element){this.undelegateEvents();this._setElement(element);this.delegateEvents();return this},_setElement:function(el){this.$el=el instanceof Backbone.$?el:Backbone.$(el);this.el=this.$el[0]},delegateEvents:function(events){events||(events=_.result(this,'events'));if(!events)return this;this.undelegateEvents();for(var key in events){var method=events[key];if(!_.isFunction(method))method=this[method];if(!method)continue;var match=key.match(delegateEventSplitter);this.delegate(match[1],match[2],_.bind(method,this))};return this},delegate:function(eventName,selector,listener){this.$el.on(eventName+'.delegateEvents'+this.cid,selector,listener);return this},undelegateEvents:function(){if(this.$el)this.$el.off('.delegateEvents'+this.cid);return this},undelegate:function(eventName,selector,listener){this.$el.off(eventName+'.delegateEvents'+this.cid,selector,listener);return this},_createElement:function(tagName){return document.createElement(tagName)},_ensureElement:function(){if(!this.el){var attrs=_.extend({},_.result(this,'attributes'));if(this.id)attrs.id=_.result(this,'id');if(this.className)attrs['class']=_.result(this,'className');this.setElement(this._createElement(_.result(this,'tagName')));this._setAttributes(attrs)}else this.setElement(_.result(this,'el'))},_setAttributes:function(attributes){this.$el.attr(attributes)}});Backbone.sync=function(method,model,options){var type=methodMap[method];_.defaults(options||(options={}),{emulateHTTP:Backbone.emulateHTTP,emulateJSON:Backbone.emulateJSON});var params={type:type,dataType:'json'};if(!options.url)params.url=_.result(model,'url')||urlError();if(options.data==null&&model&&(method==='create'||method==='update'||method==='patch')){params.contentType='application/json';params.data=JSON.stringify(options.attrs||model.toJSON(options))};if(options.emulateJSON){params.contentType='application/x-www-form-urlencoded';params.data=params.data?{model:params.data}:{}};if(options.emulateHTTP&&(type==='PUT'||type==='DELETE'||type==='PATCH')){params.type='POST';if(options.emulateJSON)params.data._method=type;var beforeSend=options.beforeSend;options.beforeSend=function(xhr){xhr.setRequestHeader('X-HTTP-Method-Override',type);if(beforeSend)return beforeSend.apply(this,arguments)}};if(params.type!=='GET'&&!options.emulateJSON)params.processData=false;var error=options.error;options.error=function(xhr,textStatus,errorThrown){options.textStatus=textStatus;options.errorThrown=errorThrown;if(error)error.call(options.context,xhr,textStatus,errorThrown)};var xhr=options.xhr=Backbone.ajax(_.extend(params,options));model.trigger('request',model,xhr,options);return xhr};var methodMap={create:'POST',update:'PUT',patch:'PATCH','delete':'DELETE',read:'GET'};Backbone.ajax=function(){return Backbone.$.ajax.apply(Backbone.$,arguments)};var Router=Backbone.Router=function(options){options||(options={});if(options.routes)this.routes=options.routes;this._bindRoutes();this.initialize.apply(this,arguments)},optionalParam=/\((.*?)\)/g,namedParam=/(\(\?)?:\w+/g,splatParam=/\*\w+/g,escapeRegExp=/[\-{}\[\]+?.,\\\^$|#\s]/g;_.extend(Router.prototype,Events,{initialize:function(){},route:function(route,name,callback){if(!_.isRegExp(route))route=this._routeToRegExp(route);if(_.isFunction(name)){callback=name;name=''};if(!callback)callback=this[name];var router=this;Backbone.history.route(route,function(fragment){var args=router._extractParameters(route,fragment);if(router.execute(callback,args,name)!==false){router.trigger.apply(router,['route:'+name].concat(args));router.trigger('route',name,args);Backbone.history.trigger('route',router,name,args)}});return this},execute:function(callback,args,name){if(callback)callback.apply(this,args)},navigate:function(fragment,options){Backbone.history.navigate(fragment,options);return this},_bindRoutes:function(){if(!this.routes)return;this.routes=_.result(this,'routes');var route,routes=_.keys(this.routes);while((route=routes.pop())!=null)this.route(route,this.routes[route])},_routeToRegExp:function(route){route=route.replace(escapeRegExp,'\\$&').replace(optionalParam,'(?:$1)?').replace(namedParam,function(match,optional){return optional?match:'([^/?]+)'}).replace(splatParam,'([^?]*?)');return new RegExp('^'+route+'(?:\\?([\\s\\S]*))?$')},_extractParameters:function(route,fragment){var params=route.exec(fragment).slice(1);return _.map(params,function(param,i){if(i===params.length-1)return param||null;return param?decodeURIComponent(param):null})}});var History=Backbone.History=function(){this.handlers=[];this.checkUrl=_.bind(this.checkUrl,this);if(typeof window!=='undefined'){this.location=window.location;this.history=window.history}},routeStripper=/^[#\/]|\s+$/g,rootStripper=/^\/+|\/+$/g,pathStripper=/#.*$/;History.started=false;_.extend(History.prototype,Events,{interval:50,atRoot:function(){var path=this.location.pathname.replace(/[^\/]$/,'$&/');return path===this.root&&!this.getSearch()},matchRoot:function(){var path=this.decodeFragment(this.location.pathname),rootPath=path.slice(0,this.root.length-1)+'/';return rootPath===this.root},decodeFragment:function(fragment){return decodeURI(fragment.replace(/%25/g,'%2525'))},getSearch:function(){var match=this.location.href.replace(/#.*/,'').match(/\?.+/);return match?match[0]:''},getHash:function(window){var match=(window||this).location.href.match(/#(.*)$/);return match?match[1]:''},getPath:function(){var path=this.decodeFragment(this.location.pathname+this.getSearch()).slice(this.root.length-1);return path.charAt(0)==='/'?path.slice(1):path},getFragment:function(fragment){if(fragment==null)if(this._usePushState||!this._wantsHashChange){fragment=this.getPath()}else fragment=this.getHash();return fragment.replace(routeStripper,'')},start:function(options){if(History.started)throw new Error('Backbone.history has already been started');History.started=true;this.options=_.extend({root:'/'},this.options,options);this.root=this.options.root;this._wantsHashChange=this.options.hashChange!==false;this._hasHashChange='onhashchange'in window&&(document.documentMode===void(0)||document.documentMode>7);this._useHashChange=this._wantsHashChange&&this._hasHashChange;this._wantsPushState=!!this.options.pushState;this._hasPushState=!!(this.history&&this.history.pushState);this._usePushState=this._wantsPushState&&this._hasPushState;this.fragment=this.getFragment();this.root=('/'+this.root+'/').replace(rootStripper,'/');if(this._wantsHashChange&&this._wantsPushState)if(!this._hasPushState&&!this.atRoot()){var rootPath=this.root.slice(0,-1)||'/';this.location.replace(rootPath+'#'+this.getPath());return true}else if(this._hasPushState&&this.atRoot())this.navigate(this.getHash(),{replace:true});if(!this._hasHashChange&&this._wantsHashChange&&!this._usePushState){this.iframe=document.createElement('iframe');this.iframe.src='javascript:0';this.iframe.style.display='none';this.iframe.tabIndex=-1;var body=document.body,iWindow=body.insertBefore(this.iframe,body.firstChild).contentWindow;iWindow.document.open();iWindow.document.close();iWindow.location.hash='#'+this.fragment};var addEventListener=window.addEventListener||function(eventName,listener){return attachEvent('on'+eventName,listener)};if(this._usePushState){addEventListener('popstate',this.checkUrl,false)}else if(this._useHashChange&&!this.iframe){addEventListener('hashchange',this.checkUrl,false)}else if(this._wantsHashChange)this._checkUrlInterval=setInterval(this.checkUrl,this.interval);if(!this.options.silent)return this.loadUrl()},stop:function(){var removeEventListener=window.removeEventListener||function(eventName,listener){return detachEvent('on'+eventName,listener)};if(this._usePushState){removeEventListener('popstate',this.checkUrl,false)}else if(this._useHashChange&&!this.iframe)removeEventListener('hashchange',this.checkUrl,false);if(this.iframe){document.body.removeChild(this.iframe);this.iframe=null};if(this._checkUrlInterval)clearInterval(this._checkUrlInterval);History.started=false},route:function(route,callback){this.handlers.unshift({route:route,callback:callback})},checkUrl:function(e){var current=this.getFragment();if(current===this.fragment&&this.iframe)current=this.getHash(this.iframe.contentWindow);if(current===this.fragment)return false;if(this.iframe)this.navigate(current);this.loadUrl()},loadUrl:function(fragment){if(!this.matchRoot())return false;fragment=this.fragment=this.getFragment(fragment);return _.some(this.handlers,function(handler){if(handler.route.test(fragment)){handler.callback(fragment);return true}})},navigate:function(fragment,options){if(!History.started)return false;if(!options||options===true)options={trigger:!!options};fragment=this.getFragment(fragment||'');var rootPath=this.root;if(fragment===''||fragment.charAt(0)==='?')rootPath=rootPath.slice(0,-1)||'/';var url=rootPath+fragment;fragment=this.decodeFragment(fragment.replace(pathStripper,''));if(this.fragment===fragment)return;this.fragment=fragment;if(this._usePushState){this.history[options.replace?'replaceState':'pushState']({},document.title,url)}else if(this._wantsHashChange){this._updateHash(this.location,fragment,options.replace);if(this.iframe&&fragment!==this.getHash(this.iframe.contentWindow)){var iWindow=this.iframe.contentWindow;if(!options.replace){iWindow.document.open();iWindow.document.close()};this._updateHash(iWindow.location,fragment,options.replace)}}else return this.location.assign(url);if(options.trigger)return this.loadUrl(fragment)},_updateHash:function(location,fragment,replace){if(replace){var href=location.href.replace(/(javascript:|#).*$/,'');location.replace(href+'#'+fragment)}else location.hash='#'+fragment}});Backbone.history=new History();var extend=function(protoProps,staticProps){var parent=this,child;if(protoProps&&_.has(protoProps,'constructor')){child=protoProps.constructor}else child=function(){return parent.apply(this,arguments)};_.extend(child,parent,staticProps);child.prototype=_.create(parent.prototype,protoProps);child.prototype.constructor=child;child.__super__=parent.prototype;return child};Model.extend=Collection.extend=Router.extend=View.extend=History.extend=extend;var urlError=function(){throw new Error('A "url" property or function must be specified')},wrapError=function(model,options){var error=options.error;options.error=function(resp){if(error)error.call(options.context,model,resp,options);model.trigger('error',model,resp,options)}};return Backbone});
(function(factory){'use strict';if(typeof define==='function'&&define.amd){define(['jquery'],factory)}else if(typeof exports!=='undefined'){module.exports=factory(require('jquery'))}else factory(jQuery)}(function($){'use strict';var Slick=window.Slick||{};Slick=(function(){var instanceUid=0
function Slick(element,settings){var _=this,dataSettings;_.defaults={accessibility:true,adaptiveHeight:false,appendArrows:$(element),appendDots:$(element),arrows:true,asNavFor:null,prevArrow:'<button class="slick-prev" aria-label="Previous" type="button">Previous</button>',nextArrow:'<button class="slick-next" aria-label="Next" type="button">Next</button>',autoplay:false,autoplaySpeed:3e3,centerMode:false,centerPadding:'50px',cssEase:'ease',customPaging:function(slider,i){return $('<button type="button" />').text(i+1)},dots:false,dotsClass:'slick-dots',draggable:true,easing:'linear',edgeFriction:0.35,fade:false,focusOnSelect:false,focusOnChange:false,infinite:true,initialSlide:0,lazyLoad:'ondemand',mobileFirst:false,pauseOnHover:true,pauseOnFocus:true,pauseOnDotsHover:false,respondTo:'window',responsive:null,rows:1,rtl:false,slide:'',slidesPerRow:1,slidesToShow:1,slidesToScroll:1,speed:500,swipe:true,swipeToSlide:false,touchMove:true,touchThreshold:5,useCSS:true,useTransform:true,variableWidth:false,vertical:false,verticalSwiping:false,waitForAnimate:true,zIndex:1e3};_.initials={animating:false,dragging:false,autoPlayTimer:null,currentDirection:0,currentLeft:null,currentSlide:0,direction:1,$dots:null,listWidth:null,listHeight:null,loadIndex:0,$nextArrow:null,$prevArrow:null,scrolling:false,slideCount:null,slideWidth:null,$slideTrack:null,$slides:null,sliding:false,slideOffset:0,swipeLeft:null,swiping:false,$list:null,touchObject:{},transformsEnabled:false,unslicked:false};$.extend(_,_.initials);_.activeBreakpoint=null;_.animType=null;_.animProp=null;_.breakpoints=[];_.breakpointSettings=[];_.cssTransitions=false;_.focussed=false;_.interrupted=false;_.hidden='hidden';_.paused=true;_.positionProp=null;_.respondTo=null;_.rowCount=1;_.shouldClick=true;_.$slider=$(element);_.$slidesCache=null;_.transformType=null;_.transitionType=null;_.visibilityChange='visibilitychange';_.windowWidth=0;_.windowTimer=null;dataSettings=$(element).data('slick')||{};_.options=$.extend({},_.defaults,settings,dataSettings);_.currentSlide=_.options.initialSlide;_.originalSettings=_.options;if(typeof document.mozHidden!=='undefined'){_.hidden='mozHidden';_.visibilityChange='mozvisibilitychange'}else if(typeof document.webkitHidden!=='undefined'){_.hidden='webkitHidden';_.visibilityChange='webkitvisibilitychange'};_.autoPlay=$.proxy(_.autoPlay,_);_.autoPlayClear=$.proxy(_.autoPlayClear,_);_.autoPlayIterator=$.proxy(_.autoPlayIterator,_);_.changeSlide=$.proxy(_.changeSlide,_);_.clickHandler=$.proxy(_.clickHandler,_);_.selectHandler=$.proxy(_.selectHandler,_);_.setPosition=$.proxy(_.setPosition,_);_.swipeHandler=$.proxy(_.swipeHandler,_);_.dragHandler=$.proxy(_.dragHandler,_);_.keyHandler=$.proxy(_.keyHandler,_);_.instanceUid=instanceUid++;_.htmlExpr=/^(?:\s*(<[\w\W]+>)[^>]*)$/;_.registerBreakpoints();_.init(true)};return Slick}());Slick.prototype.activateADA=function(){var _=this;_.$slideTrack.find('.slick-active').attr({'aria-hidden':'false'}).find('a, input, button, select').attr({tabindex:'0'})};Slick.prototype.addSlide=Slick.prototype.slickAdd=function(markup,index,addBefore){var _=this;if(typeof index==='boolean'){addBefore=index;index=null}else if(index<0||(index>=_.slideCount))return false;_.unload();if(typeof index==='number'){if(index===0&&_.$slides.length===0){$(markup).appendTo(_.$slideTrack)}else if(addBefore){$(markup).insertBefore(_.$slides.eq(index))}else $(markup).insertAfter(_.$slides.eq(index))}else if(addBefore===true){$(markup).prependTo(_.$slideTrack)}else $(markup).appendTo(_.$slideTrack);_.$slides=_.$slideTrack.children(this.options.slide);_.$slideTrack.children(this.options.slide).detach();_.$slideTrack.append(_.$slides);_.$slides.each(function(index,element){$(element).attr('data-slick-index',index)});_.$slidesCache=_.$slides;_.reinit()};Slick.prototype.animateHeight=function(){var _=this;if(_.options.slidesToShow===1&&_.options.adaptiveHeight===true&&_.options.vertical===false){var targetHeight=_.$slides.eq(_.currentSlide).outerHeight(true);_.$list.animate({height:targetHeight},_.options.speed)}};Slick.prototype.animateSlide=function(targetLeft,callback){var animProps={},_=this;_.animateHeight();if(_.options.rtl===true&&_.options.vertical===false)targetLeft=-targetLeft;if(_.transformsEnabled===false){if(_.options.vertical===false){_.$slideTrack.animate({left:targetLeft},_.options.speed,_.options.easing,callback)}else _.$slideTrack.animate({top:targetLeft},_.options.speed,_.options.easing,callback)}else if(_.cssTransitions===false){if(_.options.rtl===true)_.currentLeft=-(_.currentLeft);$({animStart:_.currentLeft}).animate({animStart:targetLeft},{duration:_.options.speed,easing:_.options.easing,step:function(now){now=Math.ceil(now);if(_.options.vertical===false){animProps[_.animType]='translate('+now+'px, 0px)';_.$slideTrack.css(animProps)}else{animProps[_.animType]='translate(0px,'+now+'px)';_.$slideTrack.css(animProps)}},complete:function(){if(callback)callback.call()}})}else{_.applyTransition();targetLeft=Math.ceil(targetLeft);if(_.options.vertical===false){animProps[_.animType]='translate3d('+targetLeft+'px, 0px, 0px)'}else animProps[_.animType]='translate3d(0px,'+targetLeft+'px, 0px)';_.$slideTrack.css(animProps);if(callback)setTimeout(function(){_.disableTransition();callback.call()},_.options.speed)}};Slick.prototype.getNavTarget=function(){var _=this,asNavFor=_.options.asNavFor;if(asNavFor&&asNavFor!==null)asNavFor=$(asNavFor).not(_.$slider);return asNavFor};Slick.prototype.asNavFor=function(index){var _=this,asNavFor=_.getNavTarget();if(asNavFor!==null&&typeof asNavFor==='object')asNavFor.each(function(){var target=$(this).slick('getSlick');if(!target.unslicked)target.slideHandler(index,true)})};Slick.prototype.applyTransition=function(slide){var _=this,transition={};if(_.options.fade===false){transition[_.transitionType]=_.transformType+' '+_.options.speed+'ms '+_.options.cssEase}else transition[_.transitionType]='opacity '+_.options.speed+'ms '+_.options.cssEase;if(_.options.fade===false){_.$slideTrack.css(transition)}else _.$slides.eq(slide).css(transition)};Slick.prototype.autoPlay=function(){var _=this;_.autoPlayClear();if(_.slideCount>_.options.slidesToShow)_.autoPlayTimer=setInterval(_.autoPlayIterator,_.options.autoplaySpeed)};Slick.prototype.autoPlayClear=function(){var _=this;if(_.autoPlayTimer)clearInterval(_.autoPlayTimer)};Slick.prototype.autoPlayIterator=function(){var _=this,slideTo=_.currentSlide+_.options.slidesToScroll;if(!_.paused&&!_.interrupted&&!_.focussed){if(_.options.infinite===false)if(_.direction===1&&(_.currentSlide+1)===(_.slideCount-1)){_.direction=0}else if(_.direction===0){slideTo=_.currentSlide-_.options.slidesToScroll;if(_.currentSlide-1===0)_.direction=1};_.slideHandler(slideTo)}};Slick.prototype.buildArrows=function(){var _=this;if(_.options.arrows===true){_.$prevArrow=$(_.options.prevArrow).addClass('slick-arrow');_.$nextArrow=$(_.options.nextArrow).addClass('slick-arrow');if(_.slideCount>_.options.slidesToShow){_.$prevArrow.removeClass('slick-hidden').removeAttr('aria-hidden tabindex');_.$nextArrow.removeClass('slick-hidden').removeAttr('aria-hidden tabindex');if(_.htmlExpr.test(_.options.prevArrow))_.$prevArrow.prependTo(_.options.appendArrows);if(_.htmlExpr.test(_.options.nextArrow))_.$nextArrow.appendTo(_.options.appendArrows);if(_.options.infinite!==true)_.$prevArrow.addClass('slick-disabled').attr('aria-disabled','true')}else _.$prevArrow.add(_.$nextArrow).addClass('slick-hidden').attr({'aria-disabled':'true',tabindex:'-1'})}};Slick.prototype.buildDots=function(){var _=this,i,dot;if(_.options.dots===true){_.$slider.addClass('slick-dotted');dot=$('<ul />').addClass(_.options.dotsClass);for(i=0;i<=_.getDotCount();i+=1)dot.append($('<li />').append(_.options.customPaging.call(this,_,i)));_.$dots=dot.appendTo(_.options.appendDots);_.$dots.find('li').first().addClass('slick-active')}};Slick.prototype.buildOut=function(){var _=this;_.$slides=_.$slider.children(_.options.slide+':not(.slick-cloned)').addClass('slick-slide');_.slideCount=_.$slides.length;_.$slides.each(function(index,element){$(element).attr('data-slick-index',index).data('originalStyling',$(element).attr('style')||'')});_.$slider.addClass('slick-slider');_.$slideTrack=(_.slideCount===0)?$('<div class="slick-track"/>').appendTo(_.$slider):_.$slides.wrapAll('<div class="slick-track"/>').parent();_.$list=_.$slideTrack.wrap('<div class="slick-list"/>').parent();_.$slideTrack.css('opacity',0);if(_.options.centerMode===true||_.options.swipeToSlide===true)_.options.slidesToScroll=1;$('img[data-lazy]',_.$slider).not('[src]').addClass('slick-loading');_.setupInfinite();_.buildArrows();_.buildDots();_.updateDots();_.setSlideClasses(typeof _.currentSlide==='number'?_.currentSlide:0);if(_.options.draggable===true)_.$list.addClass('draggable')};Slick.prototype.buildRows=function(){var _=this,a,b,c,newSlides,numOfSlides,originalSlides,slidesPerSection;newSlides=document.createDocumentFragment();originalSlides=_.$slider.children();if(_.options.rows>1){slidesPerSection=_.options.slidesPerRow*_.options.rows;numOfSlides=Math.ceil(originalSlides.length/slidesPerSection);for(a=0;a<numOfSlides;a++){var slide=document.createElement('div');for(b=0;b<_.options.rows;b++){var row=document.createElement('div');for(c=0;c<_.options.slidesPerRow;c++){var target=(a*slidesPerSection+((b*_.options.slidesPerRow)+c));if(originalSlides.get(target))row.appendChild(originalSlides.get(target))};slide.appendChild(row)};newSlides.appendChild(slide)};_.$slider.empty().append(newSlides);_.$slider.children().children().children().css({width:(100/_.options.slidesPerRow)+'%',display:'inline-block'})}};Slick.prototype.checkResponsive=function(initial,forceUpdate){var _=this,breakpoint,targetBreakpoint,respondToWidth,triggerBreakpoint=false,sliderWidth=_.$slider.width(),windowWidth=window.innerWidth||$(window).width();if(_.respondTo==='window'){respondToWidth=windowWidth}else if(_.respondTo==='slider'){respondToWidth=sliderWidth}else if(_.respondTo==='min')respondToWidth=Math.min(windowWidth,sliderWidth);if(_.options.responsive&&_.options.responsive.length&&_.options.responsive!==null){targetBreakpoint=null;for(breakpoint in _.breakpoints)if(_.breakpoints.hasOwnProperty(breakpoint))if(_.originalSettings.mobileFirst===false){if(respondToWidth<_.breakpoints[breakpoint])targetBreakpoint=_.breakpoints[breakpoint]}else if(respondToWidth>_.breakpoints[breakpoint])targetBreakpoint=_.breakpoints[breakpoint];if(targetBreakpoint!==null){if(_.activeBreakpoint!==null){if(targetBreakpoint!==_.activeBreakpoint||forceUpdate){_.activeBreakpoint=targetBreakpoint;if(_.breakpointSettings[targetBreakpoint]==='unslick'){_.unslick(targetBreakpoint)}else{_.options=$.extend({},_.originalSettings,_.breakpointSettings[targetBreakpoint]);if(initial===true)_.currentSlide=_.options.initialSlide;_.refresh(initial)};triggerBreakpoint=targetBreakpoint}}else{_.activeBreakpoint=targetBreakpoint;if(_.breakpointSettings[targetBreakpoint]==='unslick'){_.unslick(targetBreakpoint)}else{_.options=$.extend({},_.originalSettings,_.breakpointSettings[targetBreakpoint]);if(initial===true)_.currentSlide=_.options.initialSlide;_.refresh(initial)};triggerBreakpoint=targetBreakpoint}}else if(_.activeBreakpoint!==null){_.activeBreakpoint=null;_.options=_.originalSettings;if(initial===true)_.currentSlide=_.options.initialSlide;_.refresh(initial);triggerBreakpoint=targetBreakpoint};if(!initial&&triggerBreakpoint!==false)_.$slider.trigger('breakpoint',[_,triggerBreakpoint])}};Slick.prototype.changeSlide=function(event,dontAnimate){var _=this,$target=$(event.currentTarget),indexOffset,slideOffset,unevenOffset;if($target.is('a'))event.preventDefault();if(!$target.is('li'))$target=$target.closest('li');unevenOffset=(_.slideCount%_.options.slidesToScroll!==0);indexOffset=unevenOffset?0:(_.slideCount-_.currentSlide)%_.options.slidesToScroll;switch(event.data.message){case'previous':slideOffset=indexOffset===0?_.options.slidesToScroll:_.options.slidesToShow-indexOffset;if(_.slideCount>_.options.slidesToShow)_.slideHandler(_.currentSlide-slideOffset,false,dontAnimate);break;case'next':slideOffset=indexOffset===0?_.options.slidesToScroll:indexOffset;if(_.slideCount>_.options.slidesToShow)_.slideHandler(_.currentSlide+slideOffset,false,dontAnimate);break;case'index':var index=event.data.index===0?0:event.data.index||$target.index()*_.options.slidesToScroll;_.slideHandler(_.checkNavigable(index),false,dontAnimate);$target.children().trigger('focus');break;default:return}};Slick.prototype.checkNavigable=function(index){var _=this,navigables,prevNavigable;navigables=_.getNavigableIndexes();prevNavigable=0;if(index>navigables[navigables.length-1]){index=navigables[navigables.length-1]}else for(var n in navigables){if(index<navigables[n]){index=prevNavigable;break};prevNavigable=navigables[n]};return index};Slick.prototype.cleanUpEvents=function(){var _=this;if(_.options.dots&&_.$dots!==null){$('li',_.$dots).off('click.slick',_.changeSlide).off('mouseenter.slick',$.proxy(_.interrupt,_,true)).off('mouseleave.slick',$.proxy(_.interrupt,_,false));if(_.options.accessibility===true)_.$dots.off('keydown.slick',_.keyHandler)};_.$slider.off('focus.slick blur.slick');if(_.options.arrows===true&&_.slideCount>_.options.slidesToShow){_.$prevArrow&&_.$prevArrow.off('click.slick',_.changeSlide);_.$nextArrow&&_.$nextArrow.off('click.slick',_.changeSlide);if(_.options.accessibility===true){_.$prevArrow&&_.$prevArrow.off('keydown.slick',_.keyHandler);_.$nextArrow&&_.$nextArrow.off('keydown.slick',_.keyHandler)}};_.$list.off('touchstart.slick mousedown.slick',_.swipeHandler);_.$list.off('touchmove.slick mousemove.slick',_.swipeHandler);_.$list.off('touchend.slick mouseup.slick',_.swipeHandler);_.$list.off('touchcancel.slick mouseleave.slick',_.swipeHandler);_.$list.off('click.slick',_.clickHandler);$(document).off(_.visibilityChange,_.visibility);_.cleanUpSlideEvents();if(_.options.accessibility===true)_.$list.off('keydown.slick',_.keyHandler);if(_.options.focusOnSelect===true)$(_.$slideTrack).children().off('click.slick',_.selectHandler);$(window).off('orientationchange.slick.slick-'+_.instanceUid,_.orientationChange);$(window).off('resize.slick.slick-'+_.instanceUid,_.resize);$('[draggable!=true]',_.$slideTrack).off('dragstart',_.preventDefault);$(window).off('load.slick.slick-'+_.instanceUid,_.setPosition)};Slick.prototype.cleanUpSlideEvents=function(){var _=this;_.$list.off('mouseenter.slick',$.proxy(_.interrupt,_,true));_.$list.off('mouseleave.slick',$.proxy(_.interrupt,_,false))};Slick.prototype.cleanUpRows=function(){var _=this,originalSlides;if(_.options.rows>1){originalSlides=_.$slides.children().children();originalSlides.removeAttr('style');_.$slider.empty().append(originalSlides)}};Slick.prototype.clickHandler=function(event){var _=this;if(_.shouldClick===false){event.stopImmediatePropagation();event.stopPropagation();event.preventDefault()}};Slick.prototype.destroy=function(refresh){var _=this;_.autoPlayClear();_.touchObject={};_.cleanUpEvents();$('.slick-cloned',_.$slider).detach();if(_.$dots)_.$dots.remove();if(_.$prevArrow&&_.$prevArrow.length){_.$prevArrow.removeClass('slick-disabled slick-arrow slick-hidden').removeAttr('aria-hidden aria-disabled tabindex').css('display','');if(_.htmlExpr.test(_.options.prevArrow))_.$prevArrow.remove()};if(_.$nextArrow&&_.$nextArrow.length){_.$nextArrow.removeClass('slick-disabled slick-arrow slick-hidden').removeAttr('aria-hidden aria-disabled tabindex').css('display','');if(_.htmlExpr.test(_.options.nextArrow))_.$nextArrow.remove()};if(_.$slides){_.$slides.removeClass('slick-slide slick-active slick-center slick-visible slick-current').removeAttr('aria-hidden').removeAttr('data-slick-index').each(function(){$(this).attr('style',$(this).data('originalStyling'))});_.$slideTrack.children(this.options.slide).detach();_.$slideTrack.detach();_.$list.detach();_.$slider.append(_.$slides)};_.cleanUpRows();_.$slider.removeClass('slick-slider');_.$slider.removeClass('slick-initialized');_.$slider.removeClass('slick-dotted');_.unslicked=true;if(!refresh)_.$slider.trigger('destroy',[_])};Slick.prototype.disableTransition=function(slide){var _=this,transition={};transition[_.transitionType]='';if(_.options.fade===false){_.$slideTrack.css(transition)}else _.$slides.eq(slide).css(transition)};Slick.prototype.fadeSlide=function(slideIndex,callback){var _=this;if(_.cssTransitions===false){_.$slides.eq(slideIndex).css({zIndex:_.options.zIndex});_.$slides.eq(slideIndex).animate({opacity:1},_.options.speed,_.options.easing,callback)}else{_.applyTransition(slideIndex);_.$slides.eq(slideIndex).css({opacity:1,zIndex:_.options.zIndex});if(callback)setTimeout(function(){_.disableTransition(slideIndex);callback.call()},_.options.speed)}};Slick.prototype.fadeSlideOut=function(slideIndex){var _=this;if(_.cssTransitions===false){_.$slides.eq(slideIndex).animate({opacity:0,zIndex:_.options.zIndex-2},_.options.speed,_.options.easing)}else{_.applyTransition(slideIndex);_.$slides.eq(slideIndex).css({opacity:0,zIndex:_.options.zIndex-2})}};Slick.prototype.filterSlides=Slick.prototype.slickFilter=function(filter){var _=this;if(filter!==null){_.$slidesCache=_.$slides;_.unload();_.$slideTrack.children(this.options.slide).detach();_.$slidesCache.filter(filter).appendTo(_.$slideTrack);_.reinit()}};Slick.prototype.focusHandler=function(){var _=this;_.$slider.off('focus.slick blur.slick').on('focus.slick blur.slick','*',function(event){event.stopImmediatePropagation();var $sf=$(this);setTimeout(function(){if(_.options.pauseOnFocus){_.focussed=$sf.is(':focus');_.autoPlay()}},0)})};Slick.prototype.getCurrent=Slick.prototype.slickCurrentSlide=function(){var _=this;return _.currentSlide};Slick.prototype.getDotCount=function(){var _=this,breakPoint=0,counter=0,pagerQty=0;if(_.options.infinite===true){if(_.slideCount<=_.options.slidesToShow){++pagerQty}else while(breakPoint<_.slideCount){++pagerQty;breakPoint=counter+_.options.slidesToScroll;counter+=_.options.slidesToScroll<=_.options.slidesToShow?_.options.slidesToScroll:_.options.slidesToShow}}else if(_.options.centerMode===true){pagerQty=_.slideCount}else if(!_.options.asNavFor){pagerQty=1+Math.ceil((_.slideCount-_.options.slidesToShow)/_.options.slidesToScroll)}else while(breakPoint<_.slideCount){++pagerQty;breakPoint=counter+_.options.slidesToScroll;counter+=_.options.slidesToScroll<=_.options.slidesToShow?_.options.slidesToScroll:_.options.slidesToShow};return pagerQty-1};Slick.prototype.getLeft=function(slideIndex){var _=this,targetLeft,verticalHeight,verticalOffset=0,targetSlide,coef;_.slideOffset=0;verticalHeight=_.$slides.first().outerHeight(true);if(_.options.infinite===true){if(_.slideCount>_.options.slidesToShow){_.slideOffset=(_.slideWidth*_.options.slidesToShow)*-1;coef=-1;if(_.options.vertical===true&&_.options.centerMode===true)if(_.options.slidesToShow===2){coef=-1.5}else if(_.options.slidesToShow===1)coef=-2;verticalOffset=(verticalHeight*_.options.slidesToShow)*coef};if(_.slideCount%_.options.slidesToScroll!==0)if(slideIndex+_.options.slidesToScroll>_.slideCount&&_.slideCount>_.options.slidesToShow)if(slideIndex>_.slideCount){_.slideOffset=((_.options.slidesToShow-(slideIndex-_.slideCount))*_.slideWidth)*-1;verticalOffset=((_.options.slidesToShow-(slideIndex-_.slideCount))*verticalHeight)*-1}else{_.slideOffset=((_.slideCount%_.options.slidesToScroll)*_.slideWidth)*-1;verticalOffset=((_.slideCount%_.options.slidesToScroll)*verticalHeight)*-1}}else if(slideIndex+_.options.slidesToShow>_.slideCount){_.slideOffset=((slideIndex+_.options.slidesToShow)-_.slideCount)*_.slideWidth;verticalOffset=((slideIndex+_.options.slidesToShow)-_.slideCount)*verticalHeight};if(_.slideCount<=_.options.slidesToShow){_.slideOffset=0;verticalOffset=0};if(_.options.centerMode===true&&_.slideCount<=_.options.slidesToShow){_.slideOffset=((_.slideWidth*Math.floor(_.options.slidesToShow))/2)-((_.slideWidth*_.slideCount)/2)}else if(_.options.centerMode===true&&_.options.infinite===true){_.slideOffset+=_.slideWidth*Math.floor(_.options.slidesToShow/2)-_.slideWidth}else if(_.options.centerMode===true){_.slideOffset=0;_.slideOffset+=_.slideWidth*Math.floor(_.options.slidesToShow/2)};if(_.options.vertical===false){targetLeft=((slideIndex*_.slideWidth)*-1)+_.slideOffset}else targetLeft=((slideIndex*verticalHeight)*-1)+verticalOffset;if(_.options.variableWidth===true){if(_.slideCount<=_.options.slidesToShow||_.options.infinite===false){targetSlide=_.$slideTrack.children('.slick-slide').eq(slideIndex)}else targetSlide=_.$slideTrack.children('.slick-slide').eq(slideIndex+_.options.slidesToShow);if(_.options.rtl===true){if(targetSlide[0]){targetLeft=(_.$slideTrack.width()-targetSlide[0].offsetLeft-targetSlide.width())*-1}else targetLeft=0}else targetLeft=targetSlide[0]?targetSlide[0].offsetLeft*-1:0;if(_.options.centerMode===true){if(_.slideCount<=_.options.slidesToShow||_.options.infinite===false){targetSlide=_.$slideTrack.children('.slick-slide').eq(slideIndex)}else targetSlide=_.$slideTrack.children('.slick-slide').eq(slideIndex+_.options.slidesToShow+1);if(_.options.rtl===true){if(targetSlide[0]){targetLeft=(_.$slideTrack.width()-targetSlide[0].offsetLeft-targetSlide.width())*-1}else targetLeft=0}else targetLeft=targetSlide[0]?targetSlide[0].offsetLeft*-1:0;targetLeft+=(_.$list.width()-targetSlide.outerWidth())/2}};return targetLeft};Slick.prototype.getOption=Slick.prototype.slickGetOption=function(option){var _=this;return _.options[option]};Slick.prototype.getNavigableIndexes=function(){var _=this,breakPoint=0,counter=0,indexes=[],max;if(_.options.infinite===false){max=_.slideCount}else{breakPoint=_.options.slidesToScroll*-1;counter=_.options.slidesToScroll*-1;max=_.slideCount*2};while(breakPoint<max){indexes.push(breakPoint);breakPoint=counter+_.options.slidesToScroll;counter+=_.options.slidesToScroll<=_.options.slidesToShow?_.options.slidesToScroll:_.options.slidesToShow};return indexes};Slick.prototype.getSlick=function(){return this};Slick.prototype.getSlideCount=function(){var _=this,slidesTraversed,swipedSlide,centerOffset;centerOffset=_.options.centerMode===true?_.slideWidth*Math.floor(_.options.slidesToShow/2):0;if(_.options.swipeToSlide===true){_.$slideTrack.find('.slick-slide').each(function(index,slide){if(slide.offsetLeft-centerOffset+($(slide).outerWidth()/2)>(_.swipeLeft*-1)){swipedSlide=slide;return false}});slidesTraversed=Math.abs($(swipedSlide).attr('data-slick-index')-_.currentSlide)||1;return slidesTraversed}else return _.options.slidesToScroll};Slick.prototype.goTo=Slick.prototype.slickGoTo=function(slide,dontAnimate){var _=this;_.changeSlide({data:{message:'index',index:parseInt(slide)}},dontAnimate)};Slick.prototype.init=function(creation){var _=this;if(!$(_.$slider).hasClass('slick-initialized')){$(_.$slider).addClass('slick-initialized');_.buildRows();_.buildOut();_.setProps();_.startLoad();_.loadSlider();_.initializeEvents();_.updateArrows();_.updateDots();_.checkResponsive(true);_.focusHandler()};if(creation)_.$slider.trigger('init',[_]);if(_.options.accessibility===true)_.initADA();if(_.options.autoplay){_.paused=false;_.autoPlay()}};Slick.prototype.initADA=function(){var _=this,numDotGroups=Math.ceil(_.slideCount/_.options.slidesToShow),tabControlIndexes=_.getNavigableIndexes().filter(function(val){return(val>=0)&&(val<_.slideCount)});_.$slides.add(_.$slideTrack.find('.slick-cloned')).attr({'aria-hidden':'true',tabindex:'-1'}).find('a, input, button, select').attr({tabindex:'-1'});if(_.$dots!==null){_.$slides.not(_.$slideTrack.find('.slick-cloned')).each(function(i){var slideControlIndex=tabControlIndexes.indexOf(i);$(this).attr({role:'tabpanel',id:'slick-slide'+_.instanceUid+i,tabindex:-1});if(slideControlIndex!==-1)$(this).attr({'aria-describedby':'slick-slide-control'+_.instanceUid+slideControlIndex})});_.$dots.attr('role','tablist').find('li').each(function(i){var mappedSlideIndex=tabControlIndexes[i];$(this).attr({role:'presentation'});$(this).find('button').first().attr({role:'tab',id:'slick-slide-control'+_.instanceUid+i,'aria-controls':'slick-slide'+_.instanceUid+mappedSlideIndex,'aria-label':(i+1)+' of '+numDotGroups,'aria-selected':null,tabindex:'-1'})}).eq(_.currentSlide).find('button').attr({'aria-selected':'true',tabindex:'0'}).end()};for(var i=_.currentSlide,max=i+_.options.slidesToShow;i<max;i++)_.$slides.eq(i).attr('tabindex',0);_.activateADA()};Slick.prototype.initArrowEvents=function(){var _=this;if(_.options.arrows===true&&_.slideCount>_.options.slidesToShow){_.$prevArrow.off('click.slick').on('click.slick',{message:'previous'},_.changeSlide);_.$nextArrow.off('click.slick').on('click.slick',{message:'next'},_.changeSlide);if(_.options.accessibility===true){_.$prevArrow.on('keydown.slick',_.keyHandler);_.$nextArrow.on('keydown.slick',_.keyHandler)}}};Slick.prototype.initDotEvents=function(){var _=this;if(_.options.dots===true){$('li',_.$dots).on('click.slick',{message:'index'},_.changeSlide);if(_.options.accessibility===true)_.$dots.on('keydown.slick',_.keyHandler)};if(_.options.dots===true&&_.options.pauseOnDotsHover===true)$('li',_.$dots).on('mouseenter.slick',$.proxy(_.interrupt,_,true)).on('mouseleave.slick',$.proxy(_.interrupt,_,false))};Slick.prototype.initSlideEvents=function(){var _=this;if(_.options.pauseOnHover){_.$list.on('mouseenter.slick',$.proxy(_.interrupt,_,true));_.$list.on('mouseleave.slick',$.proxy(_.interrupt,_,false))}};Slick.prototype.initializeEvents=function(){var _=this;_.initArrowEvents();_.initDotEvents();_.initSlideEvents();_.$list.on('touchstart.slick mousedown.slick',{action:'start'},_.swipeHandler);_.$list.on('touchmove.slick mousemove.slick',{action:'move'},_.swipeHandler);_.$list.on('touchend.slick mouseup.slick',{action:'end'},_.swipeHandler);_.$list.on('touchcancel.slick mouseleave.slick',{action:'end'},_.swipeHandler);_.$list.on('click.slick',_.clickHandler);$(document).on(_.visibilityChange,$.proxy(_.visibility,_));if(_.options.accessibility===true)_.$list.on('keydown.slick',_.keyHandler);if(_.options.focusOnSelect===true)$(_.$slideTrack).children().on('click.slick',_.selectHandler);$(window).on('orientationchange.slick.slick-'+_.instanceUid,$.proxy(_.orientationChange,_));$(window).on('resize.slick.slick-'+_.instanceUid,$.proxy(_.resize,_));$('[draggable!=true]',_.$slideTrack).on('dragstart',_.preventDefault);$(window).on('load.slick.slick-'+_.instanceUid,_.setPosition);$(_.setPosition)};Slick.prototype.initUI=function(){var _=this;if(_.options.arrows===true&&_.slideCount>_.options.slidesToShow){_.$prevArrow.show();_.$nextArrow.show()};if(_.options.dots===true&&_.slideCount>_.options.slidesToShow)_.$dots.show()};Slick.prototype.keyHandler=function(event){var _=this;if(!event.target.tagName.match('TEXTAREA|INPUT|SELECT'))if(event.keyCode===37&&_.options.accessibility===true){_.changeSlide({data:{message:_.options.rtl===true?'next':'previous'}})}else if(event.keyCode===39&&_.options.accessibility===true)_.changeSlide({data:{message:_.options.rtl===true?'previous':'next'}})};Slick.prototype.lazyLoad=function(){var _=this,loadRange,cloneRange,rangeStart,rangeEnd
function loadImages(imagesScope){$('img[data-lazy]',imagesScope).each(function(){var image=$(this),imageSource=$(this).attr('data-lazy'),imageSrcSet=$(this).attr('data-srcset'),imageSizes=$(this).attr('data-sizes')||_.$slider.attr('data-sizes'),imageToLoad=document.createElement('img');imageToLoad.onload=function(){image.animate({opacity:0},100,function(){if(imageSrcSet){image.attr('srcset',imageSrcSet);if(imageSizes)image.attr('sizes',imageSizes)};image.attr('src',imageSource).animate({opacity:1},200,function(){image.removeAttr('data-lazy data-srcset data-sizes').removeClass('slick-loading')});_.$slider.trigger('lazyLoaded',[_,image,imageSource])})};imageToLoad.onerror=function(){image.removeAttr('data-lazy').removeClass('slick-loading').addClass('slick-lazyload-error');_.$slider.trigger('lazyLoadError',[_,image,imageSource])};imageToLoad.src=imageSource})};if(_.options.centerMode===true){if(_.options.infinite===true){rangeStart=_.currentSlide+(_.options.slidesToShow/2+1);rangeEnd=rangeStart+_.options.slidesToShow+2}else{rangeStart=Math.max(0,_.currentSlide-(_.options.slidesToShow/2+1));rangeEnd=2+(_.options.slidesToShow/2+1)+_.currentSlide}}else{rangeStart=_.options.infinite?_.options.slidesToShow+_.currentSlide:_.currentSlide;rangeEnd=Math.ceil(rangeStart+_.options.slidesToShow);if(_.options.fade===true){if(rangeStart>0)rangeStart--;if(rangeEnd<=_.slideCount)rangeEnd++}};loadRange=_.$slider.find('.slick-slide').slice(rangeStart,rangeEnd);if(_.options.lazyLoad==='anticipated'){var prevSlide=rangeStart-1,nextSlide=rangeEnd,$slides=_.$slider.find('.slick-slide');for(var i=0;i<_.options.slidesToScroll;i++){if(prevSlide<0)prevSlide=_.slideCount-1;loadRange=loadRange.add($slides.eq(prevSlide));loadRange=loadRange.add($slides.eq(nextSlide));prevSlide--;nextSlide++}};loadImages(loadRange);if(_.slideCount<=_.options.slidesToShow){cloneRange=_.$slider.find('.slick-slide');loadImages(cloneRange)}else if(_.currentSlide>=_.slideCount-_.options.slidesToShow){cloneRange=_.$slider.find('.slick-cloned').slice(0,_.options.slidesToShow);loadImages(cloneRange)}else if(_.currentSlide===0){cloneRange=_.$slider.find('.slick-cloned').slice(_.options.slidesToShow*-1);loadImages(cloneRange)}};Slick.prototype.loadSlider=function(){var _=this;_.setPosition();_.$slideTrack.css({opacity:1});_.$slider.removeClass('slick-loading');_.initUI();if(_.options.lazyLoad==='progressive')_.progressiveLazyLoad()};Slick.prototype.next=Slick.prototype.slickNext=function(){var _=this;_.changeSlide({data:{message:'next'}})};Slick.prototype.orientationChange=function(){var _=this;_.checkResponsive();_.setPosition()};Slick.prototype.pause=Slick.prototype.slickPause=function(){var _=this;_.autoPlayClear();_.paused=true};Slick.prototype.play=Slick.prototype.slickPlay=function(){var _=this;_.autoPlay();_.options.autoplay=true;_.paused=false;_.focussed=false;_.interrupted=false};Slick.prototype.postSlide=function(index){var _=this;if(!_.unslicked){_.$slider.trigger('afterChange',[_,index]);_.animating=false;if(_.slideCount>_.options.slidesToShow)_.setPosition();_.swipeLeft=null;if(_.options.autoplay)_.autoPlay();if(_.options.accessibility===true){_.initADA();if(_.options.focusOnChange){var $currentSlide=$(_.$slides.get(_.currentSlide));$currentSlide.attr('tabindex',0).focus()}}}};Slick.prototype.prev=Slick.prototype.slickPrev=function(){var _=this;_.changeSlide({data:{message:'previous'}})};Slick.prototype.preventDefault=function(event){event.preventDefault()};Slick.prototype.progressiveLazyLoad=function(tryCount){tryCount=tryCount||1;var _=this,$imgsToLoad=$('img[data-lazy]',_.$slider),image,imageSource,imageSrcSet,imageSizes,imageToLoad;if($imgsToLoad.length){image=$imgsToLoad.first();imageSource=image.attr('data-lazy');imageSrcSet=image.attr('data-srcset');imageSizes=image.attr('data-sizes')||_.$slider.attr('data-sizes');imageToLoad=document.createElement('img');imageToLoad.onload=function(){if(imageSrcSet){image.attr('srcset',imageSrcSet);if(imageSizes)image.attr('sizes',imageSizes)};image.attr('src',imageSource).removeAttr('data-lazy data-srcset data-sizes').removeClass('slick-loading');if(_.options.adaptiveHeight===true)_.setPosition();_.$slider.trigger('lazyLoaded',[_,image,imageSource]);_.progressiveLazyLoad()};imageToLoad.onerror=function(){if(tryCount<3){setTimeout(function(){_.progressiveLazyLoad(tryCount+1)},500)}else{image.removeAttr('data-lazy').removeClass('slick-loading').addClass('slick-lazyload-error');_.$slider.trigger('lazyLoadError',[_,image,imageSource]);_.progressiveLazyLoad()}};imageToLoad.src=imageSource}else _.$slider.trigger('allImagesLoaded',[_])};Slick.prototype.refresh=function(initializing){var _=this,currentSlide,lastVisibleIndex;lastVisibleIndex=_.slideCount-_.options.slidesToShow;if(!_.options.infinite&&(_.currentSlide>lastVisibleIndex))_.currentSlide=lastVisibleIndex;if(_.slideCount<=_.options.slidesToShow)_.currentSlide=0;currentSlide=_.currentSlide;_.destroy(true);$.extend(_,_.initials,{currentSlide:currentSlide});_.init();if(!initializing)_.changeSlide({data:{message:'index',index:currentSlide}},false)};Slick.prototype.registerBreakpoints=function(){var _=this,breakpoint,currentBreakpoint,l,responsiveSettings=_.options.responsive||null;if($.type(responsiveSettings)==='array'&&responsiveSettings.length){_.respondTo=_.options.respondTo||'window';for(breakpoint in responsiveSettings){l=_.breakpoints.length-1;if(responsiveSettings.hasOwnProperty(breakpoint)){currentBreakpoint=responsiveSettings[breakpoint].breakpoint;while(l>=0){if(_.breakpoints[l]&&_.breakpoints[l]===currentBreakpoint)_.breakpoints.splice(l,1);l--};_.breakpoints.push(currentBreakpoint);_.breakpointSettings[currentBreakpoint]=responsiveSettings[breakpoint].settings}};_.breakpoints.sort(function(a,b){return(_.options.mobileFirst)?a-b:b-a})}};Slick.prototype.reinit=function(){var _=this;_.$slides=_.$slideTrack.children(_.options.slide).addClass('slick-slide');_.slideCount=_.$slides.length;if(_.currentSlide>=_.slideCount&&_.currentSlide!==0)_.currentSlide=_.currentSlide-_.options.slidesToScroll;if(_.slideCount<=_.options.slidesToShow)_.currentSlide=0;_.registerBreakpoints();_.setProps();_.setupInfinite();_.buildArrows();_.updateArrows();_.initArrowEvents();_.buildDots();_.updateDots();_.initDotEvents();_.cleanUpSlideEvents();_.initSlideEvents();_.checkResponsive(false,true);if(_.options.focusOnSelect===true)$(_.$slideTrack).children().on('click.slick',_.selectHandler);_.setSlideClasses(typeof _.currentSlide==='number'?_.currentSlide:0);_.setPosition();_.focusHandler();_.paused=!_.options.autoplay;_.autoPlay();_.$slider.trigger('reInit',[_])};Slick.prototype.resize=function(){var _=this;if($(window).width()!==_.windowWidth){clearTimeout(_.windowDelay);_.windowDelay=window.setTimeout(function(){_.windowWidth=$(window).width();_.checkResponsive();if(!_.unslicked)_.setPosition()},50)}};Slick.prototype.removeSlide=Slick.prototype.slickRemove=function(index,removeBefore,removeAll){var _=this;if(typeof index==='boolean'){removeBefore=index;index=removeBefore===true?0:_.slideCount-1}else index=removeBefore===true?--index:index;if(_.slideCount<1||index<0||index>_.slideCount-1)return false;_.unload();if(removeAll===true){_.$slideTrack.children().remove()}else _.$slideTrack.children(this.options.slide).eq(index).remove();_.$slides=_.$slideTrack.children(this.options.slide);_.$slideTrack.children(this.options.slide).detach();_.$slideTrack.append(_.$slides);_.$slidesCache=_.$slides;_.reinit()};Slick.prototype.setCSS=function(position){var _=this,positionProps={},x,y;if(_.options.rtl===true)position=-position;x=_.positionProp=='left'?Math.ceil(position)+'px':'0px';y=_.positionProp=='top'?Math.ceil(position)+'px':'0px';positionProps[_.positionProp]=position;if(_.transformsEnabled===false){_.$slideTrack.css(positionProps)}else{positionProps={};if(_.cssTransitions===false){positionProps[_.animType]='translate('+x+', '+y+')';_.$slideTrack.css(positionProps)}else{positionProps[_.animType]='translate3d('+x+', '+y+', 0px)';_.$slideTrack.css(positionProps)}}};Slick.prototype.setDimensions=function(){var _=this;if(_.options.vertical===false){if(_.options.centerMode===true)_.$list.css({padding:('0px '+_.options.centerPadding)})}else{_.$list.height(_.$slides.first().outerHeight(true)*_.options.slidesToShow);if(_.options.centerMode===true)_.$list.css({padding:(_.options.centerPadding+' 0px')})};_.listWidth=_.$list.width();_.listHeight=_.$list.height();if(_.options.vertical===false&&_.options.variableWidth===false){_.slideWidth=Math.ceil(_.listWidth/_.options.slidesToShow);_.$slideTrack.width(Math.ceil((_.slideWidth*_.$slideTrack.children('.slick-slide').length)))}else if(_.options.variableWidth===true){_.$slideTrack.width(5e3*_.slideCount)}else{_.slideWidth=Math.ceil(_.listWidth);_.$slideTrack.height(Math.ceil((_.$slides.first().outerHeight(true)*_.$slideTrack.children('.slick-slide').length)))};var offset=_.$slides.first().outerWidth(true)-_.$slides.first().width();if(_.options.variableWidth===false)_.$slideTrack.children('.slick-slide').width(_.slideWidth-offset)};Slick.prototype.setFade=function(){var _=this,targetLeft;_.$slides.each(function(index,element){targetLeft=(_.slideWidth*index)*-1;if(_.options.rtl===true){$(element).css({position:'relative',right:targetLeft,top:0,zIndex:_.options.zIndex-2,opacity:0})}else $(element).css({position:'relative',left:targetLeft,top:0,zIndex:_.options.zIndex-2,opacity:0})});_.$slides.eq(_.currentSlide).css({zIndex:_.options.zIndex-1,opacity:1})};Slick.prototype.setHeight=function(){var _=this;if(_.options.slidesToShow===1&&_.options.adaptiveHeight===true&&_.options.vertical===false){var targetHeight=_.$slides.eq(_.currentSlide).outerHeight(true);_.$list.css('height',targetHeight)}};Slick.prototype.setOption=Slick.prototype.slickSetOption=function(){var _=this,l,item,option,value,refresh=false,type;if($.type(arguments[0])==='object'){option=arguments[0];refresh=arguments[1];type='multiple'}else if($.type(arguments[0])==='string'){option=arguments[0];value=arguments[1];refresh=arguments[2];if(arguments[0]==='responsive'&&$.type(arguments[1])==='array'){type='responsive'}else if(typeof arguments[1]!=='undefined')type='single'};if(type==='single'){_.options[option]=value}else if(type==='multiple'){$.each(option,function(opt,val){_.options[opt]=val})}else if(type==='responsive')for(item in value)if($.type(_.options.responsive)!=='array'){_.options.responsive=[value[item]]}else{l=_.options.responsive.length-1;while(l>=0){if(_.options.responsive[l].breakpoint===value[item].breakpoint)_.options.responsive.splice(l,1);l--};_.options.responsive.push(value[item])};if(refresh){_.unload();_.reinit()}};Slick.prototype.setPosition=function(){var _=this;_.setDimensions();_.setHeight();if(_.options.fade===false){_.setCSS(_.getLeft(_.currentSlide))}else _.setFade();_.$slider.trigger('setPosition',[_])};Slick.prototype.setProps=function(){var _=this,bodyStyle=document.body.style;_.positionProp=_.options.vertical===true?'top':'left';if(_.positionProp==='top'){_.$slider.addClass('slick-vertical')}else _.$slider.removeClass('slick-vertical');if(bodyStyle.WebkitTransition!==undefined||bodyStyle.MozTransition!==undefined||bodyStyle.msTransition!==undefined)if(_.options.useCSS===true)_.cssTransitions=true;if(_.options.fade)if(typeof _.options.zIndex==='number'){if(_.options.zIndex<3)_.options.zIndex=3}else _.options.zIndex=_.defaults.zIndex;if(bodyStyle.OTransform!==undefined){_.animType='OTransform';_.transformType='-o-transform';_.transitionType='OTransition';if(bodyStyle.perspectiveProperty===undefined&&bodyStyle.webkitPerspective===undefined)_.animType=false};if(bodyStyle.MozTransform!==undefined){_.animType='MozTransform';_.transformType='-moz-transform';_.transitionType='MozTransition';if(bodyStyle.perspectiveProperty===undefined&&bodyStyle.MozPerspective===undefined)_.animType=false};if(bodyStyle.webkitTransform!==undefined){_.animType='webkitTransform';_.transformType='-webkit-transform';_.transitionType='webkitTransition';if(bodyStyle.perspectiveProperty===undefined&&bodyStyle.webkitPerspective===undefined)_.animType=false};if(bodyStyle.msTransform!==undefined){_.animType='msTransform';_.transformType='-ms-transform';_.transitionType='msTransition';if(bodyStyle.msTransform===undefined)_.animType=false};if(bodyStyle.transform!==undefined&&_.animType!==false){_.animType='transform';_.transformType='transform';_.transitionType='transition'};_.transformsEnabled=_.options.useTransform&&(_.animType!==null&&_.animType!==false)};Slick.prototype.setSlideClasses=function(index){var _=this,centerOffset,allSlides,indexOffset,remainder;allSlides=_.$slider.find('.slick-slide').removeClass('slick-active slick-center slick-current').attr('aria-hidden','true');_.$slides.eq(index).addClass('slick-current');if(_.options.centerMode===true){var evenCoef=_.options.slidesToShow%2===0?1:0;centerOffset=Math.floor(_.options.slidesToShow/2);if(_.options.infinite===true){if(index>=centerOffset&&index<=(_.slideCount-1)-centerOffset){_.$slides.slice(index-centerOffset+evenCoef,index+centerOffset+1).addClass('slick-active').attr('aria-hidden','false')}else{indexOffset=_.options.slidesToShow+index;allSlides.slice(indexOffset-centerOffset+1+evenCoef,indexOffset+centerOffset+2).addClass('slick-active').attr('aria-hidden','false')};if(index===0){allSlides.eq(allSlides.length-1-_.options.slidesToShow).addClass('slick-center')}else if(index===_.slideCount-1)allSlides.eq(_.options.slidesToShow).addClass('slick-center')};_.$slides.eq(index).addClass('slick-center')}else if(index>=0&&index<=(_.slideCount-_.options.slidesToShow)){_.$slides.slice(index,index+_.options.slidesToShow).addClass('slick-active').attr('aria-hidden','false')}else if(allSlides.length<=_.options.slidesToShow){allSlides.addClass('slick-active').attr('aria-hidden','false')}else{remainder=_.slideCount%_.options.slidesToShow;indexOffset=_.options.infinite===true?_.options.slidesToShow+index:index;if(_.options.slidesToShow==_.options.slidesToScroll&&(_.slideCount-index)<_.options.slidesToShow){allSlides.slice(indexOffset-(_.options.slidesToShow-remainder),indexOffset+remainder).addClass('slick-active').attr('aria-hidden','false')}else allSlides.slice(indexOffset,indexOffset+_.options.slidesToShow).addClass('slick-active').attr('aria-hidden','false')};if(_.options.lazyLoad==='ondemand'||_.options.lazyLoad==='anticipated')_.lazyLoad()};Slick.prototype.setupInfinite=function(){var _=this,i,slideIndex,infiniteCount;if(_.options.fade===true)_.options.centerMode=false;if(_.options.infinite===true&&_.options.fade===false){slideIndex=null;if(_.slideCount>_.options.slidesToShow){if(_.options.centerMode===true){infiniteCount=_.options.slidesToShow+1}else infiniteCount=_.options.slidesToShow;for(i=_.slideCount;i>(_.slideCount-infiniteCount);i-=1){slideIndex=i-1;$(_.$slides[slideIndex]).clone(true).attr('id','').attr('data-slick-index',slideIndex-_.slideCount).prependTo(_.$slideTrack).addClass('slick-cloned')};for(i=0;i<infiniteCount+_.slideCount;i+=1){slideIndex=i;$(_.$slides[slideIndex]).clone(true).attr('id','').attr('data-slick-index',slideIndex+_.slideCount).appendTo(_.$slideTrack).addClass('slick-cloned')};_.$slideTrack.find('.slick-cloned').find('[id]').each(function(){$(this).attr('id','')})}}};Slick.prototype.interrupt=function(toggle){var _=this;if(!toggle)_.autoPlay();_.interrupted=toggle};Slick.prototype.selectHandler=function(event){var _=this,targetElement=$(event.target).is('.slick-slide')?$(event.target):$(event.target).parents('.slick-slide'),index=parseInt(targetElement.attr('data-slick-index'));if(!index)index=0;if(_.slideCount<=_.options.slidesToShow){_.slideHandler(index,false,true);return};_.slideHandler(index)};Slick.prototype.slideHandler=function(index,sync,dontAnimate){var targetSlide,animSlide,oldSlide,slideLeft,targetLeft=null,_=this,navTarget;sync=sync||false;if(_.animating===true&&_.options.waitForAnimate===true)return;if(_.options.fade===true&&_.currentSlide===index)return;if(sync===false)_.asNavFor(index);targetSlide=index;targetLeft=_.getLeft(targetSlide);slideLeft=_.getLeft(_.currentSlide);_.currentLeft=_.swipeLeft===null?slideLeft:_.swipeLeft;if(_.options.infinite===false&&_.options.centerMode===false&&(index<0||index>_.getDotCount()*_.options.slidesToScroll)){if(_.options.fade===false){targetSlide=_.currentSlide;if(dontAnimate!==true){_.animateSlide(slideLeft,function(){_.postSlide(targetSlide)})}else _.postSlide(targetSlide)};return}else if(_.options.infinite===false&&_.options.centerMode===true&&(index<0||index>(_.slideCount-_.options.slidesToScroll))){if(_.options.fade===false){targetSlide=_.currentSlide;if(dontAnimate!==true){_.animateSlide(slideLeft,function(){_.postSlide(targetSlide)})}else _.postSlide(targetSlide)};return};if(_.options.autoplay)clearInterval(_.autoPlayTimer);if(targetSlide<0){if(_.slideCount%_.options.slidesToScroll!==0){animSlide=_.slideCount-(_.slideCount%_.options.slidesToScroll)}else animSlide=_.slideCount+targetSlide}else if(targetSlide>=_.slideCount){if(_.slideCount%_.options.slidesToScroll!==0){animSlide=0}else animSlide=targetSlide-_.slideCount}else animSlide=targetSlide;_.animating=true;_.$slider.trigger('beforeChange',[_,_.currentSlide,animSlide]);oldSlide=_.currentSlide;_.currentSlide=animSlide;_.setSlideClasses(_.currentSlide);if(_.options.asNavFor){navTarget=_.getNavTarget();navTarget=navTarget.slick('getSlick');if(navTarget.slideCount<=navTarget.options.slidesToShow)navTarget.setSlideClasses(_.currentSlide)};_.updateDots();_.updateArrows();if(_.options.fade===true){if(dontAnimate!==true){_.fadeSlideOut(oldSlide);_.fadeSlide(animSlide,function(){_.postSlide(animSlide)})}else _.postSlide(animSlide);_.animateHeight();return};if(dontAnimate!==true){_.animateSlide(targetLeft,function(){_.postSlide(animSlide)})}else _.postSlide(animSlide)};Slick.prototype.startLoad=function(){var _=this;if(_.options.arrows===true&&_.slideCount>_.options.slidesToShow){_.$prevArrow.hide();_.$nextArrow.hide()};if(_.options.dots===true&&_.slideCount>_.options.slidesToShow)_.$dots.hide();_.$slider.addClass('slick-loading')};Slick.prototype.swipeDirection=function(){var xDist,yDist,r,swipeAngle,_=this;xDist=_.touchObject.startX-_.touchObject.curX;yDist=_.touchObject.startY-_.touchObject.curY;r=Math.atan2(yDist,xDist);swipeAngle=Math.round(r*180/Math.PI);if(swipeAngle<0)swipeAngle=360-Math.abs(swipeAngle);if((swipeAngle<=45)&&(swipeAngle>=0))return(_.options.rtl===false?'left':'right');if((swipeAngle<=360)&&(swipeAngle>=315))return(_.options.rtl===false?'left':'right');if((swipeAngle>=135)&&(swipeAngle<=225))return(_.options.rtl===false?'right':'left');if(_.options.verticalSwiping===true)if((swipeAngle>=35)&&(swipeAngle<=135)){return'down'}else return'up';return'vertical'};Slick.prototype.swipeEnd=function(event){var _=this,slideCount,direction;_.dragging=false;_.swiping=false;if(_.scrolling){_.scrolling=false;return false};_.interrupted=false;_.shouldClick=(_.touchObject.swipeLength>10)?false:true;if(_.touchObject.curX===undefined)return false;if(_.touchObject.edgeHit===true)_.$slider.trigger('edge',[_,_.swipeDirection()]);if(_.touchObject.swipeLength>=_.touchObject.minSwipe){direction=_.swipeDirection();switch(direction){case'left':case'down':slideCount=_.options.swipeToSlide?_.checkNavigable(_.currentSlide+_.getSlideCount()):_.currentSlide+_.getSlideCount();_.currentDirection=0;break;case'right':case'up':slideCount=_.options.swipeToSlide?_.checkNavigable(_.currentSlide-_.getSlideCount()):_.currentSlide-_.getSlideCount();_.currentDirection=1;break;default:};if(direction!='vertical'){_.slideHandler(slideCount);_.touchObject={};_.$slider.trigger('swipe',[_,direction])}}else if(_.touchObject.startX!==_.touchObject.curX){_.slideHandler(_.currentSlide);_.touchObject={}}};Slick.prototype.swipeHandler=function(event){var _=this;if((_.options.swipe===false)||('ontouchend'in document&&_.options.swipe===false)){return}else if(_.options.draggable===false&&event.type.indexOf('mouse')!==-1)return;_.touchObject.fingerCount=event.originalEvent&&event.originalEvent.touches!==undefined?event.originalEvent.touches.length:1;_.touchObject.minSwipe=_.listWidth/_.options.touchThreshold;if(_.options.verticalSwiping===true)_.touchObject.minSwipe=_.listHeight/_.options.touchThreshold;switch(event.data.action){case'start':_.swipeStart(event);break;case'move':_.swipeMove(event);break;case'end':_.swipeEnd(event);break}};Slick.prototype.swipeMove=function(event){var _=this,edgeWasHit=false,curLeft,swipeDirection,swipeLength,positionOffset,touches,verticalSwipeLength;touches=event.originalEvent!==undefined?event.originalEvent.touches:null;if(!_.dragging||_.scrolling||touches&&touches.length!==1)return false;curLeft=_.getLeft(_.currentSlide);_.touchObject.curX=touches!==undefined?touches[0].pageX:event.clientX;_.touchObject.curY=touches!==undefined?touches[0].pageY:event.clientY;_.touchObject.swipeLength=Math.round(Math.sqrt(Math.pow(_.touchObject.curX-_.touchObject.startX,2)));verticalSwipeLength=Math.round(Math.sqrt(Math.pow(_.touchObject.curY-_.touchObject.startY,2)));if(!_.options.verticalSwiping&&!_.swiping&&verticalSwipeLength>4){_.scrolling=true;return false};if(_.options.verticalSwiping===true)_.touchObject.swipeLength=verticalSwipeLength;swipeDirection=_.swipeDirection();if(event.originalEvent!==undefined&&_.touchObject.swipeLength>4){_.swiping=true;event.preventDefault()};positionOffset=(_.options.rtl===false?1:-1)*(_.touchObject.curX>_.touchObject.startX?1:-1);if(_.options.verticalSwiping===true)positionOffset=_.touchObject.curY>_.touchObject.startY?1:-1;swipeLength=_.touchObject.swipeLength;_.touchObject.edgeHit=false;if(_.options.infinite===false)if((_.currentSlide===0&&swipeDirection==='right')||(_.currentSlide>=_.getDotCount()&&swipeDirection==='left')){swipeLength=_.touchObject.swipeLength*_.options.edgeFriction;_.touchObject.edgeHit=true};if(_.options.vertical===false){_.swipeLeft=curLeft+swipeLength*positionOffset}else _.swipeLeft=curLeft+(swipeLength*(_.$list.height()/_.listWidth))*positionOffset;if(_.options.verticalSwiping===true)_.swipeLeft=curLeft+swipeLength*positionOffset;if(_.options.fade===true||_.options.touchMove===false)return false;if(_.animating===true){_.swipeLeft=null;return false};_.setCSS(_.swipeLeft)};Slick.prototype.swipeStart=function(event){var _=this,touches;_.interrupted=true;if(_.touchObject.fingerCount!==1||_.slideCount<=_.options.slidesToShow){_.touchObject={};return false};if(event.originalEvent!==undefined&&event.originalEvent.touches!==undefined)touches=event.originalEvent.touches[0];_.touchObject.startX=_.touchObject.curX=touches!==undefined?touches.pageX:event.clientX;_.touchObject.startY=_.touchObject.curY=touches!==undefined?touches.pageY:event.clientY;_.dragging=true};Slick.prototype.unfilterSlides=Slick.prototype.slickUnfilter=function(){var _=this;if(_.$slidesCache!==null){_.unload();_.$slideTrack.children(this.options.slide).detach();_.$slidesCache.appendTo(_.$slideTrack);_.reinit()}};Slick.prototype.unload=function(){var _=this;$('.slick-cloned',_.$slider).remove();if(_.$dots)_.$dots.remove();if(_.$prevArrow&&_.htmlExpr.test(_.options.prevArrow))_.$prevArrow.remove();if(_.$nextArrow&&_.htmlExpr.test(_.options.nextArrow))_.$nextArrow.remove();_.$slides.removeClass('slick-slide slick-active slick-visible slick-current').attr('aria-hidden','true').css('width','')};Slick.prototype.unslick=function(fromBreakpoint){var _=this;_.$slider.trigger('unslick',[_,fromBreakpoint]);_.destroy()};Slick.prototype.updateArrows=function(){var _=this,centerOffset;centerOffset=Math.floor(_.options.slidesToShow/2);if(_.options.arrows===true&&_.slideCount>_.options.slidesToShow&&!_.options.infinite){_.$prevArrow.removeClass('slick-disabled').attr('aria-disabled','false');_.$nextArrow.removeClass('slick-disabled').attr('aria-disabled','false');if(_.currentSlide===0){_.$prevArrow.addClass('slick-disabled').attr('aria-disabled','true');_.$nextArrow.removeClass('slick-disabled').attr('aria-disabled','false')}else if(_.currentSlide>=_.slideCount-_.options.slidesToShow&&_.options.centerMode===false){_.$nextArrow.addClass('slick-disabled').attr('aria-disabled','true');_.$prevArrow.removeClass('slick-disabled').attr('aria-disabled','false')}else if(_.currentSlide>=_.slideCount-1&&_.options.centerMode===true){_.$nextArrow.addClass('slick-disabled').attr('aria-disabled','true');_.$prevArrow.removeClass('slick-disabled').attr('aria-disabled','false')}}};Slick.prototype.updateDots=function(){var _=this;if(_.$dots!==null){_.$dots.find('li').removeClass('slick-active').end();_.$dots.find('li').eq(Math.floor(_.currentSlide/_.options.slidesToScroll)).addClass('slick-active')}};Slick.prototype.visibility=function(){var _=this;if(_.options.autoplay)if(document[_.hidden]){_.interrupted=true}else _.interrupted=false};$.fn.slick=function(){var _=this,opt=arguments[0],args=Array.prototype.slice.call(arguments,1),l=_.length,i,ret;for(i=0;i<l;i++){if(typeof opt=='object'||typeof opt=='undefined'){_[i].slick=new Slick(_[i],opt)}else ret=_[i].slick[opt].apply(_[i].slick,args);if(typeof ret!='undefined')return ret};return _}}));
var _slice=Array.prototype.slice,_slicedToArray=(function(){function sliceIterator(arr,i){var _arr=[],_n=true,_d=false,_e=undefined;try{for(var _i=arr[Symbol.iterator](),_s;!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break}}catch(err){_d=true;_e=err}finally{try{if(!_n&&_i['return'])_i['return']()}finally{if(_d)throw _e}};return _arr};return function(arr,i){if(Array.isArray(arr)){return arr}else if(Symbol.iterator in Object(arr)){return sliceIterator(arr,i)}else throw new TypeError('Invalid attempt to destructure non-iterable instance')}})(),_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)if(Object.prototype.hasOwnProperty.call(source,key))target[key]=source[key]};return target}
function _toConsumableArray(arr){if(Array.isArray(arr)){for(var i=0,arr2=Array(arr.length);i<arr.length;i++)arr2[i]=arr[i];return arr2}else return Array.from(arr)};(function(global,factory){typeof exports==='object'&&typeof module!=='undefined'?module.exports=factory(require('jquery')):typeof define==='function'&&define.amd?define(['jquery'],factory):global.parsley=factory(global.jQuery)})(this,function($){'use strict';var globalID=1,pastWarnings={},Utils={attr:function attr(element,namespace,obj){var i,attribute,attributes,regex=new RegExp('^'+namespace,'i');if('undefined'===typeof obj){obj={}}else for(i in obj)if(obj.hasOwnProperty(i))delete obj[i];if(!element)return obj;attributes=element.attributes;for(i=attributes.length;i--;){attribute=attributes[i];if(attribute&&attribute.specified&&regex.test(attribute.name))obj[this.camelize(attribute.name.slice(namespace.length))]=this.deserializeValue(attribute.value)};return obj},checkAttr:function checkAttr(element,namespace,_checkAttr){return element.hasAttribute(namespace+_checkAttr)},setAttr:function setAttr(element,namespace,attr,value){element.setAttribute(this.dasherize(namespace+attr),String(value))},getType:function getType(element){return element.getAttribute('type')||'text'},generateID:function generateID(){return''+ globalID++},deserializeValue:function deserializeValue(value){var num;try{return value?value=="true"||(value=="false"?false:value=="null"?null:!isNaN(num=Number(value))?num:/^[\[\{]/.test(value)?JSON.parse(value):value):value}catch(e){return value}},camelize:function camelize(str){return str.replace(/-+(.)?/g,function(match,chr){return chr?chr.toUpperCase():''})},dasherize:function dasherize(str){return str.replace(/::/g,'/').replace(/([A-Z]+)([A-Z][a-z])/g,'$1_$2').replace(/([a-z\d])([A-Z])/g,'$1_$2').replace(/_/g,'-').toLowerCase()},warn:function warn(){var _window$console;if(window.console&&'function'===typeof window.console.warn)(_window$console=window.console).warn.apply(_window$console,arguments)},warnOnce:function warnOnce(msg){if(!pastWarnings[msg]){pastWarnings[msg]=true;this.warn.apply(this,arguments)}},_resetWarnings:function _resetWarnings(){pastWarnings={}},trimString:function trimString(string){return string.replace(/^\s+|\s+$/g,'')},parse:{date:function date(string){var parsed=string.match(/^(\d{4,})-(\d\d)-(\d\d)$/);if(!parsed)return null;var _parsed$map=parsed.map(function(x){return parseInt(x,10)}),_parsed$map2=_slicedToArray(_parsed$map,4),_=_parsed$map2[0],year=_parsed$map2[1],month=_parsed$map2[2],day=_parsed$map2[3],date=new Date(year,month-1,day);if(date.getFullYear()!==year||date.getMonth()+1!==month||date.getDate()!==day)return null;return date},string:function string(_string){return _string},integer:function integer(string){if(isNaN(string))return null;return parseInt(string,10)},number:function number(string){if(isNaN(string))throw null;return parseFloat(string)},'boolean':function _boolean(string){return!/^\s*false\s*$/i.test(string)},object:function object(string){return Utils.deserializeValue(string)},regexp:function regexp(_regexp){var flags='';if(/^\/.*\/(?:[gimy]*)$/.test(_regexp)){flags=_regexp.replace(/.*\/([gimy]*)$/,'$1');_regexp=_regexp.replace(new RegExp('^/(.*?)/'+flags+'$'),'$1')}else _regexp='^'+_regexp+'$';return new RegExp(_regexp,flags)}},parseRequirement:function parseRequirement(requirementType,string){var converter=this.parse[requirementType||'string'];if(!converter)throw'Unknown requirement specification: "'+requirementType+'"';var converted=converter(string);if(converted===null)throw'Requirement is not a '+requirementType+': "'+string+'"';return converted},namespaceEvents:function namespaceEvents(events,namespace){events=this.trimString(events||'').split(/\s+/);if(!events[0])return'';return $.map(events,function(evt){return evt+'.'+namespace}).join(' ')},difference:function difference(array,remove){var result=[];$.each(array,function(_,elem){if(remove.indexOf(elem)==-1)result.push(elem)});return result},all:function all(promises){return $.when.apply($,_toConsumableArray(promises).concat([42,42]))},objectCreate:Object.create||(function(){var Object=function Object(){};return function(prototype){if(arguments.length>1)throw Error('Second argument not supported');if(typeof prototype!='object')throw TypeError('Argument must be an object');Object.prototype=prototype;var result=new Object();Object.prototype=null;return result}})(),_SubmitSelector:'input[type="submit"], button:submit'},Defaults={namespace:'data-parsley-',inputs:'input, textarea, select',excluded:'input[type=button], input[type=submit], input[type=reset], input[type=hidden]',priorityEnabled:true,multiple:null,group:null,uiEnabled:true,validationThreshold:3,focus:'first',trigger:false,triggerAfterFailure:'input',errorClass:'parsley-error',successClass:'parsley-success',classHandler:function classHandler(Field){},errorsContainer:function errorsContainer(Field){},errorsWrapper:'<ul class="parsley-errors-list"></ul>',errorTemplate:'<li></li>'},Base=function Base(){this.__id__=Utils.generateID()};Base.prototype={asyncSupport:true,_pipeAccordingToValidationResult:function _pipeAccordingToValidationResult(){var _this=this,pipe=function pipe(){var r=$.Deferred();if(true!==_this.validationResult)r.reject();return r.resolve().promise()};return[pipe,pipe]},actualizeOptions:function actualizeOptions(){Utils.attr(this.element,this.options.namespace,this.domOptions);if(this.parent&&this.parent.actualizeOptions)this.parent.actualizeOptions();return this},_resetOptions:function _resetOptions(initOptions){this.domOptions=Utils.objectCreate(this.parent.options);this.options=Utils.objectCreate(this.domOptions);for(var i in initOptions)if(initOptions.hasOwnProperty(i))this.options[i]=initOptions[i];this.actualizeOptions()},_listeners:null,on:function on(name,fn){this._listeners=this._listeners||{};var queue=this._listeners[name]=this._listeners[name]||[];queue.push(fn);return this},subscribe:function subscribe(name,fn){$.listenTo(this,name.toLowerCase(),fn)},off:function off(name,fn){var queue=this._listeners&&this._listeners[name];if(queue)if(!fn){delete this._listeners[name]}else for(var i=queue.length;i--;)if(queue[i]===fn)queue.splice(i,1);return this},unsubscribe:function unsubscribe(name,fn){$.unsubscribeTo(this,name.toLowerCase())},trigger:function trigger(name,target,extraArg){target=target||this;var queue=this._listeners&&this._listeners[name],result,parentResult;if(queue)for(var i=queue.length;i--;){result=queue[i].call(target,target,extraArg);if(result===false)return result};if(this.parent)return this.parent.trigger(name,target,extraArg);return true},asyncIsValid:function asyncIsValid(group,force){Utils.warnOnce("asyncIsValid is deprecated; please use whenValid instead");return this.whenValid({group:group,force:force})},_findRelated:function _findRelated(){return this.options.multiple?$(this.parent.element.querySelectorAll('['+this.options.namespace+'multiple="'+this.options.multiple+'"]')):this.$element}};var convertArrayRequirement=function convertArrayRequirement(string,length){var m=string.match(/^\s*\[(.*)\]\s*$/);if(!m)throw'Requirement is not an array: "'+string+'"';var values=m[1].split(',').map(Utils.trimString);if(values.length!==length)throw'Requirement has '+values.length+' values when '+length+' are needed';return values},convertExtraOptionRequirement=function convertExtraOptionRequirement(requirementSpec,string,extraOptionReader){var main=null,extra={};for(var key in requirementSpec)if(key){var value=extraOptionReader(key);if('string'===typeof value)value=Utils.parseRequirement(requirementSpec[key],value);extra[key]=value}else main=Utils.parseRequirement(requirementSpec[key],string);return[main,extra]},Validator=function Validator(spec){$.extend(true,this,spec)};Validator.prototype={validate:function validate(value,requirementFirstArg){if(this.fn){if(arguments.length>3)requirementFirstArg=[].slice.call(arguments,1,-1);return this.fn(value,requirementFirstArg)};if(Array.isArray(value)){if(!this.validateMultiple)throw'Validator `'+this.name+'` does not handle multiple values';return this.validateMultiple.apply(this,arguments)}else{var instance=arguments[arguments.length-1];if(this.validateDate&&instance._isDateInput()){arguments[0]=Utils.parse.date(arguments[0]);if(arguments[0]===null)return false;return this.validateDate.apply(this,arguments)};if(this.validateNumber){if(isNaN(value))return false;arguments[0]=parseFloat(arguments[0]);return this.validateNumber.apply(this,arguments)};if(this.validateString)return this.validateString.apply(this,arguments);throw'Validator `'+this.name+'` only handles multiple values'}},parseRequirements:function parseRequirements(requirements,extraOptionReader){if('string'!==typeof requirements)return Array.isArray(requirements)?requirements:[requirements];var type=this.requirementType;if(Array.isArray(type)){var values=convertArrayRequirement(requirements,type.length);for(var i=0;i<values.length;i++)values[i]=Utils.parseRequirement(type[i],values[i]);return values}else if($.isPlainObject(type)){return convertExtraOptionRequirement(type,requirements,extraOptionReader)}else return[Utils.parseRequirement(type,requirements)]},requirementType:'string',priority:2};var ValidatorRegistry=function ValidatorRegistry(validators,catalog){this.__class__='ValidatorRegistry';this.locale='en';this.init(validators||{},catalog||{})},typeTesters={email:/^((([a-zA-Z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-zA-Z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-zA-Z]|\d|-|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-zA-Z]|\d|-|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/,number:/^-?(\d*\.)?\d+(e[-+]?\d+)?$/i,integer:/^-?\d+$/,digits:/^\d+$/,alphanum:/^\w+$/i,date:{test:function test(value){return Utils.parse.date(value)!==null}},url:new RegExp("^(?:(?:https?|ftp)://)?(?:\\S+(?::\\S*)?@)?(?:(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|"+'(?:(?:[a-zA-Z\\u00a1-\\uffff0-9]-*)*[a-zA-Z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-zA-Z\\u00a1-\\uffff0-9]-*)*[a-zA-Z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-zA-Z\\u00a1-\\uffff]{2,}))'+")(?::\\d{2,5})?(?:/\\S*)?$")};typeTesters.range=typeTesters.number;var decimalPlaces=function decimalPlaces(num){var match=(''+num).match(/(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/);if(!match)return 0;return Math.max(0,(match[1]?match[1].length:0)-(match[2]?+match[2]:0))},ValidatorRegistry__parseArguments=function ValidatorRegistry__parseArguments(type,args){return args.map(Utils.parse[type])},ValidatorRegistry__operatorToValidator=function ValidatorRegistry__operatorToValidator(type,operator){return function(value){for(var _len=arguments.length,requirementsAndInput=Array(_len>1?_len-1:0),_key=1;_key<_len;_key++)requirementsAndInput[_key-1]=arguments[_key];requirementsAndInput.pop();return operator.apply(undefined,[value].concat(_toConsumableArray(ValidatorRegistry__parseArguments(type,requirementsAndInput))))}},ValidatorRegistry__comparisonOperator=function ValidatorRegistry__comparisonOperator(operator){return{validateDate:ValidatorRegistry__operatorToValidator('date',operator),validateNumber:ValidatorRegistry__operatorToValidator('number',operator),requirementType:operator.length<=2?'string':['string','string'],priority:30}};ValidatorRegistry.prototype={init:function init(validators,catalog){this.catalog=catalog;this.validators=_extends({},this.validators);for(var name in validators)this.addValidator(name,validators[name].fn,validators[name].priority);window.Parsley.trigger('parsley:validator:init')},setLocale:function setLocale(locale){if('undefined'===typeof this.catalog[locale])throw new Error(locale+' is not available in the catalog');this.locale=locale;return this},addCatalog:function addCatalog(locale,messages,set){if('object'===typeof messages)this.catalog[locale]=messages;if(true===set)return this.setLocale(locale);return this},addMessage:function addMessage(locale,name,message){if('undefined'===typeof this.catalog[locale])this.catalog[locale]={};this.catalog[locale][name]=message;return this},addMessages:function addMessages(locale,nameMessageObject){for(var name in nameMessageObject)this.addMessage(locale,name,nameMessageObject[name]);return this},addValidator:function addValidator(name,arg1,arg2){if(this.validators[name]){Utils.warn('Validator "'+name+'" is already defined.')}else if(Defaults.hasOwnProperty(name)){Utils.warn('"'+name+'" is a restricted keyword and is not a valid validator name.');return};return this._setValidator.apply(this,arguments)},hasValidator:function hasValidator(name){return!!this.validators[name]},updateValidator:function updateValidator(name,arg1,arg2){if(!this.validators[name]){Utils.warn('Validator "'+name+'" is not already defined.');return this.addValidator.apply(this,arguments)};return this._setValidator.apply(this,arguments)},removeValidator:function removeValidator(name){if(!this.validators[name])Utils.warn('Validator "'+name+'" is not defined.');delete this.validators[name];return this},_setValidator:function _setValidator(name,validator,priority){if('object'!==typeof validator)validator={fn:validator,priority:priority};if(!validator.validate)validator=new Validator(validator);this.validators[name]=validator;for(var locale in validator.messages||{})this.addMessage(locale,name,validator.messages[locale]);return this},getErrorMessage:function getErrorMessage(constraint){var message;if('type'===constraint.name){var typeMessages=this.catalog[this.locale][constraint.name]||{};message=typeMessages[constraint.requirements]}else message=this.formatMessage(this.catalog[this.locale][constraint.name],constraint.requirements);return message||this.catalog[this.locale].defaultMessage||this.catalog.en.defaultMessage},formatMessage:function formatMessage(string,parameters){if('object'===typeof parameters){for(var i in parameters)string=this.formatMessage(string,parameters[i]);return string};return'string'===typeof string?string.replace(/%s/i,parameters):''},validators:{notblank:{validateString:function validateString(value){return(/\S/.test(value))},priority:2},required:{validateMultiple:function validateMultiple(values){return values.length>0},validateString:function validateString(value){return(/\S/.test(value))},priority:512},type:{validateString:function validateString(value,type){var _ref=arguments.length<=2||arguments[2]===undefined?{}:arguments[2],_ref$step=_ref.step,step=_ref$step===undefined?'any':_ref$step,_ref$base=_ref.base,base=_ref$base===undefined?0:_ref$base,tester=typeTesters[type];if(!tester)throw new Error('validator type `'+type+'` is not supported');if(!tester.test(value))return false;if('number'===type)if(!/^any$/i.test(step||'')){var nb=Number(value),decimals=Math.max(decimalPlaces(step),decimalPlaces(base));if(decimalPlaces(nb)>decimals)return false;var toInt=function toInt(f){return Math.round(f*Math.pow(10,decimals))};if((toInt(nb)-toInt(base))%toInt(step)!=0)return false};return true},requirementType:{'':'string',step:'string',base:'number'},priority:256},pattern:{validateString:function validateString(value,regexp){return regexp.test(value)},requirementType:'regexp',priority:64},minlength:{validateString:function validateString(value,requirement){return value.length>=requirement},requirementType:'integer',priority:30},maxlength:{validateString:function validateString(value,requirement){return value.length<=requirement},requirementType:'integer',priority:30},length:{validateString:function validateString(value,min,max){return value.length>=min&&value.length<=max},requirementType:['integer','integer'],priority:30},mincheck:{validateMultiple:function validateMultiple(values,requirement){return values.length>=requirement},requirementType:'integer',priority:30},maxcheck:{validateMultiple:function validateMultiple(values,requirement){return values.length<=requirement},requirementType:'integer',priority:30},check:{validateMultiple:function validateMultiple(values,min,max){return values.length>=min&&values.length<=max},requirementType:['integer','integer'],priority:30},min:ValidatorRegistry__comparisonOperator(function(value,requirement){return value>=requirement}),max:ValidatorRegistry__comparisonOperator(function(value,requirement){return value<=requirement}),range:ValidatorRegistry__comparisonOperator(function(value,min,max){return value>=min&&value<=max}),equalto:{validateString:function validateString(value,refOrValue){var $reference=$(refOrValue);if($reference.length){return value===$reference.val()}else return value===refOrValue},priority:256}}};var UI={},diffResults=function diffResults(newResult,oldResult,deep){var added=[],kept=[];for(var i=0;i<newResult.length;i++){var found=false;for(var j=0;j<oldResult.length;j++)if(newResult[i].assert.name===oldResult[j].assert.name){found=true;break};if(found){kept.push(newResult[i])}else added.push(newResult[i])};return{kept:kept,added:added,removed:!deep?diffResults(oldResult,newResult,true).added:[]}};UI.Form={_actualizeTriggers:function _actualizeTriggers(){var _this2=this;this.$element.on('submit.Parsley',function(evt){_this2.onSubmitValidate(evt)});this.$element.on('click.Parsley',Utils._SubmitSelector,function(evt){_this2.onSubmitButton(evt)});if(false===this.options.uiEnabled)return;this.element.setAttribute('novalidate','')},focus:function focus(){this._focusedField=null;if(true===this.validationResult||'none'===this.options.focus)return null;for(var i=0;i<this.fields.length;i++){var field=this.fields[i];if(true!==field.validationResult&&field.validationResult.length>0&&'undefined'===typeof field.options.noFocus){this._focusedField=field.$element;if('first'===this.options.focus)break}};if(null===this._focusedField)return null;return this._focusedField.focus()},_destroyUI:function _destroyUI(){this.$element.off('.Parsley')}};UI.Field={_reflowUI:function _reflowUI(){this._buildUI();if(!this._ui)return;var diff=diffResults(this.validationResult,this._ui.lastValidationResult);this._ui.lastValidationResult=this.validationResult;this._manageStatusClass();this._manageErrorsMessages(diff);this._actualizeTriggers();if((diff.kept.length||diff.added.length)&&!this._failedOnce){this._failedOnce=true;this._actualizeTriggers()}},getErrorsMessages:function getErrorsMessages(){if(true===this.validationResult)return[];var messages=[];for(var i=0;i<this.validationResult.length;i++)messages.push(this.validationResult[i].errorMessage||this._getErrorMessage(this.validationResult[i].assert));return messages},addError:function addError(name){var _ref2=arguments.length<=1||arguments[1]===undefined?{}:arguments[1],message=_ref2.message,assert=_ref2.assert,_ref2$updateClass=_ref2.updateClass,updateClass=_ref2$updateClass===undefined?true:_ref2$updateClass;this._buildUI();this._addError(name,{message:message,assert:assert});if(updateClass)this._errorClass()},updateError:function updateError(name){var _ref3=arguments.length<=1||arguments[1]===undefined?{}:arguments[1],message=_ref3.message,assert=_ref3.assert,_ref3$updateClass=_ref3.updateClass,updateClass=_ref3$updateClass===undefined?true:_ref3$updateClass;this._buildUI();this._updateError(name,{message:message,assert:assert});if(updateClass)this._errorClass()},removeError:function removeError(name){var _ref4=arguments.length<=1||arguments[1]===undefined?{}:arguments[1],_ref4$updateClass=_ref4.updateClass,updateClass=_ref4$updateClass===undefined?true:_ref4$updateClass;this._buildUI();this._removeError(name);if(updateClass)this._manageStatusClass()},_manageStatusClass:function _manageStatusClass(){if(this.hasConstraints()&&this.needsValidation()&&true===this.validationResult){this._successClass()}else if(this.validationResult.length>0){this._errorClass()}else this._resetClass()},_manageErrorsMessages:function _manageErrorsMessages(diff){if('undefined'!==typeof this.options.errorsMessagesDisabled)return;if('undefined'!==typeof this.options.errorMessage){if(diff.added.length||diff.kept.length){this._insertErrorWrapper();if(0===this._ui.$errorsWrapper.find('.parsley-custom-error-message').length)this._ui.$errorsWrapper.append($(this.options.errorTemplate).addClass('parsley-custom-error-message'));return this._ui.$errorsWrapper.addClass('filled').find('.parsley-custom-error-message').html(this.options.errorMessage)};return this._ui.$errorsWrapper.removeClass('filled').find('.parsley-custom-error-message').remove()};for(var i=0;i<diff.removed.length;i++)this._removeError(diff.removed[i].assert.name);for(i=0;i<diff.added.length;i++)this._addError(diff.added[i].assert.name,{message:diff.added[i].errorMessage,assert:diff.added[i].assert});for(i=0;i<diff.kept.length;i++)this._updateError(diff.kept[i].assert.name,{message:diff.kept[i].errorMessage,assert:diff.kept[i].assert})},_addError:function _addError(name,_ref5){var message=_ref5.message,assert=_ref5.assert;this._insertErrorWrapper();this._ui.$errorClassHandler.attr('aria-describedby',this._ui.errorsWrapperId);this._ui.$errorsWrapper.addClass('filled').append($(this.options.errorTemplate).addClass('parsley-'+name).html(message||this._getErrorMessage(assert)))},_updateError:function _updateError(name,_ref6){var message=_ref6.message,assert=_ref6.assert;this._ui.$errorsWrapper.addClass('filled').find('.parsley-'+name).html(message||this._getErrorMessage(assert))},_removeError:function _removeError(name){this._ui.$errorClassHandler.removeAttr('aria-describedby');this._ui.$errorsWrapper.removeClass('filled').find('.parsley-'+name).remove()},_getErrorMessage:function _getErrorMessage(constraint){var customConstraintErrorMessage=constraint.name+'Message';if('undefined'!==typeof this.options[customConstraintErrorMessage])return window.Parsley.formatMessage(this.options[customConstraintErrorMessage],constraint.requirements);return window.Parsley.getErrorMessage(constraint)},_buildUI:function _buildUI(){if(this._ui||false===this.options.uiEnabled)return;var _ui={};this.element.setAttribute(this.options.namespace+'id',this.__id__);_ui.$errorClassHandler=this._manageClassHandler();_ui.errorsWrapperId='parsley-id-'+(this.options.multiple?'multiple-'+this.options.multiple:this.__id__);_ui.$errorsWrapper=$(this.options.errorsWrapper).attr('id',_ui.errorsWrapperId);_ui.lastValidationResult=[];_ui.validationInformationVisible=false;this._ui=_ui},_manageClassHandler:function _manageClassHandler(){if('string'===typeof this.options.classHandler&&$(this.options.classHandler).length)return $(this.options.classHandler);var $handlerFunction=this.options.classHandler;if('string'===typeof this.options.classHandler&&'function'===typeof window[this.options.classHandler])$handlerFunction=window[this.options.classHandler];if('function'===typeof $handlerFunction){var $handler=$handlerFunction.call(this,this);if('undefined'!==typeof $handler&&$handler.length)return $handler}else if('object'===typeof $handlerFunction&&$handlerFunction instanceof jQuery&&$handlerFunction.length){return $handlerFunction}else if($handlerFunction)Utils.warn('The class handler `'+$handlerFunction+'` does not exist in DOM nor as a global JS function');return this._inputHolder()},_inputHolder:function _inputHolder(){if(!this.options.multiple||this.element.nodeName==='SELECT')return this.$element;return this.$element.parent()},_insertErrorWrapper:function _insertErrorWrapper(){var $errorsContainer=this.options.errorsContainer;if(0!==this._ui.$errorsWrapper.parent().length)return this._ui.$errorsWrapper.parent();if('string'===typeof $errorsContainer)if($($errorsContainer).length){return $($errorsContainer).append(this._ui.$errorsWrapper)}else if('function'===typeof window[$errorsContainer]){$errorsContainer=window[$errorsContainer]}else Utils.warn('The errors container `'+$errorsContainer+'` does not exist in DOM nor as a global JS function');if('function'===typeof $errorsContainer)$errorsContainer=$errorsContainer.call(this,this);if('object'===typeof $errorsContainer&&$errorsContainer.length)return $errorsContainer.append(this._ui.$errorsWrapper);return this._inputHolder().after(this._ui.$errorsWrapper)},_actualizeTriggers:function _actualizeTriggers(){var _this3=this,$toBind=this._findRelated(),trigger;$toBind.off('.Parsley');if(this._failedOnce){$toBind.on(Utils.namespaceEvents(this.options.triggerAfterFailure,'Parsley'),function(){_this3._validateIfNeeded()})}else if(trigger=Utils.namespaceEvents(this.options.trigger,'Parsley'))$toBind.on(trigger,function(event){_this3._validateIfNeeded(event)})},_validateIfNeeded:function _validateIfNeeded(event){var _this4=this;if(event&&/key|input/.test(event.type))if(!(this._ui&&this._ui.validationInformationVisible)&&this.getValue().length<=this.options.validationThreshold)return;if(this.options.debounce){window.clearTimeout(this._debounced);this._debounced=window.setTimeout(function(){return _this4.validate()},this.options.debounce)}else this.validate()},_resetUI:function _resetUI(){this._failedOnce=false;this._actualizeTriggers();if('undefined'===typeof this._ui)return;this._ui.$errorsWrapper.removeClass('filled').children().remove();this._resetClass();this._ui.lastValidationResult=[];this._ui.validationInformationVisible=false},_destroyUI:function _destroyUI(){this._resetUI();if('undefined'!==typeof this._ui)this._ui.$errorsWrapper.remove();delete this._ui},_successClass:function _successClass(){this._ui.validationInformationVisible=true;this._ui.$errorClassHandler.removeClass(this.options.errorClass).addClass(this.options.successClass)},_errorClass:function _errorClass(){this._ui.validationInformationVisible=true;this._ui.$errorClassHandler.removeClass(this.options.successClass).addClass(this.options.errorClass)},_resetClass:function _resetClass(){this._ui.$errorClassHandler.removeClass(this.options.successClass).removeClass(this.options.errorClass)}};var Form=function Form(element,domOptions,options){this.__class__='Form';this.element=element;this.$element=$(element);this.domOptions=domOptions;this.options=options;this.parent=window.Parsley;this.fields=[];this.validationResult=null},Form__statusMapping={pending:null,resolved:true,rejected:false};Form.prototype={onSubmitValidate:function onSubmitValidate(event){var _this5=this;if(true===event.parsley)return;var submitSource=this._submitSource||this.$element.find(Utils._SubmitSelector)[0];this._submitSource=null;this.$element.find('.parsley-synthetic-submit-button').prop('disabled',true);if(submitSource&&null!==submitSource.getAttribute('formnovalidate'))return;window.Parsley._remoteCache={};var promise=this.whenValidate({event:event});if('resolved'===promise.state()&&false!==this._trigger('submit'));else{event.stopImmediatePropagation();event.preventDefault();if('pending'===promise.state())promise.done(function(){_this5._submit(submitSource)})}},onSubmitButton:function onSubmitButton(event){this._submitSource=event.currentTarget},_submit:function _submit(submitSource){if(false===this._trigger('submit'))return;if(submitSource){var $synthetic=this.$element.find('.parsley-synthetic-submit-button').prop('disabled',false);if(0===$synthetic.length)$synthetic=$('<input class="parsley-synthetic-submit-button" type="hidden">').appendTo(this.$element);$synthetic.attr({name:submitSource.getAttribute('name'),value:submitSource.getAttribute('value')})};this.$element.trigger(_extends($.Event('submit'),{parsley:true}))},validate:function validate(options){if(arguments.length>=1&&!$.isPlainObject(options)){Utils.warnOnce('Calling validate on a parsley form without passing arguments as an object is deprecated.');var _arguments=_slice.call(arguments),group=_arguments[0],force=_arguments[1],event=_arguments[2];options={group:group,force:force,event:event}};return Form__statusMapping[this.whenValidate(options).state()]},whenValidate:function whenValidate(){var _Utils$all$done$fail$always,_this6=this,_ref7=arguments.length<=0||arguments[0]===undefined?{}:arguments[0],group=_ref7.group,force=_ref7.force,event=_ref7.event;this.submitEvent=event;if(event)this.submitEvent=_extends({},event,{preventDefault:function preventDefault(){Utils.warnOnce("Using `this.submitEvent.preventDefault()` is deprecated; instead, call `this.validationResult = false`");_this6.validationResult=false}});this.validationResult=true;this._trigger('validate');this._refreshFields();var promises=this._withoutReactualizingFormOptions(function(){return $.map(_this6.fields,function(field){return field.whenValidate({force:force,group:group})})});return(_Utils$all$done$fail$always=Utils.all(promises).done(function(){_this6._trigger('success')}).fail(function(){_this6.validationResult=false;_this6.focus();_this6._trigger('error')}).always(function(){_this6._trigger('validated')})).pipe.apply(_Utils$all$done$fail$always,_toConsumableArray(this._pipeAccordingToValidationResult()))},isValid:function isValid(options){if(arguments.length>=1&&!$.isPlainObject(options)){Utils.warnOnce('Calling isValid on a parsley form without passing arguments as an object is deprecated.');var _arguments2=_slice.call(arguments),group=_arguments2[0],force=_arguments2[1];options={group:group,force:force}};return Form__statusMapping[this.whenValid(options).state()]},whenValid:function whenValid(){var _this7=this,_ref8=arguments.length<=0||arguments[0]===undefined?{}:arguments[0],group=_ref8.group,force=_ref8.force;this._refreshFields();var promises=this._withoutReactualizingFormOptions(function(){return $.map(_this7.fields,function(field){return field.whenValid({group:group,force:force})})});return Utils.all(promises)},refresh:function refresh(){this._refreshFields();return this},reset:function reset(){for(var i=0;i<this.fields.length;i++)this.fields[i].reset();this._trigger('reset')},destroy:function destroy(){this._destroyUI();for(var i=0;i<this.fields.length;i++)this.fields[i].destroy();this.$element.removeData('Parsley');this._trigger('destroy')},_refreshFields:function _refreshFields(){return this.actualizeOptions()._bindFields()},_bindFields:function _bindFields(){var _this8=this,oldFields=this.fields;this.fields=[];this.fieldsMappedById={};this._withoutReactualizingFormOptions(function(){_this8.$element.find(_this8.options.inputs).not(_this8.options.excluded).each(function(_,element){var fieldInstance=new window.Parsley.Factory(element,{},_this8);if(('Field'===fieldInstance.__class__||'FieldMultiple'===fieldInstance.__class__)&&true!==fieldInstance.options.excluded){var uniqueId=fieldInstance.__class__+'-'+fieldInstance.__id__;if('undefined'===typeof _this8.fieldsMappedById[uniqueId]){_this8.fieldsMappedById[uniqueId]=fieldInstance;_this8.fields.push(fieldInstance)}}});$.each(Utils.difference(oldFields,_this8.fields),function(_,field){field.reset()})});return this},_withoutReactualizingFormOptions:function _withoutReactualizingFormOptions(fn){var oldActualizeOptions=this.actualizeOptions;this.actualizeOptions=function(){return this};var result=fn();this.actualizeOptions=oldActualizeOptions;return result},_trigger:function _trigger(eventName){return this.trigger('form:'+eventName)}};var Constraint=function Constraint(parsleyField,name,requirements,priority,isDomConstraint){var validatorSpec=window.Parsley._validatorRegistry.validators[name],validator=new Validator(validatorSpec);priority=priority||parsleyField.options[name+'Priority']||validator.priority;isDomConstraint=true===isDomConstraint;_extends(this,{validator:validator,name:name,requirements:requirements,priority:priority,isDomConstraint:isDomConstraint});this._parseRequirements(parsleyField.options)},capitalize=function capitalize(str){var cap=str[0].toUpperCase();return cap+str.slice(1)};Constraint.prototype={validate:function validate(value,instance){var _validator;return(_validator=this.validator).validate.apply(_validator,[value].concat(_toConsumableArray(this.requirementList),[instance]))},_parseRequirements:function _parseRequirements(options){var _this9=this;this.requirementList=this.validator.parseRequirements(this.requirements,function(key){return options[_this9.name+capitalize(key)]})}};var Field=function Field(field,domOptions,options,parsleyFormInstance){this.__class__='Field';this.element=field;this.$element=$(field);if('undefined'!==typeof parsleyFormInstance)this.parent=parsleyFormInstance;this.options=options;this.domOptions=domOptions;this.constraints=[];this.constraintsByName={};this.validationResult=true;this._bindConstraints()},parsley_field__statusMapping={pending:null,resolved:true,rejected:false};Field.prototype={validate:function validate(options){if(arguments.length>=1&&!$.isPlainObject(options)){Utils.warnOnce('Calling validate on a parsley field without passing arguments as an object is deprecated.');options={options:options}};var promise=this.whenValidate(options);if(!promise)return true;switch(promise.state()){case'pending':return null;case'resolved':return true;case'rejected':return this.validationResult}},whenValidate:function whenValidate(){var _whenValid$always$done$fail$always,_this10=this,_ref9=arguments.length<=0||arguments[0]===undefined?{}:arguments[0],force=_ref9.force,group=_ref9.group;this.refresh();if(group&&!this._isInGroup(group))return;this.value=this.getValue();this._trigger('validate');return(_whenValid$always$done$fail$always=this.whenValid({force:force,value:this.value,_refreshed:true}).always(function(){_this10._reflowUI()}).done(function(){_this10._trigger('success')}).fail(function(){_this10._trigger('error')}).always(function(){_this10._trigger('validated')})).pipe.apply(_whenValid$always$done$fail$always,_toConsumableArray(this._pipeAccordingToValidationResult()))},hasConstraints:function hasConstraints(){return 0!==this.constraints.length},needsValidation:function needsValidation(value){if('undefined'===typeof value)value=this.getValue();if(!value.length&&!this._isRequired()&&'undefined'===typeof this.options.validateIfEmpty)return false;return true},_isInGroup:function _isInGroup(group){if(Array.isArray(this.options.group))return-1!==$.inArray(group,this.options.group);return this.options.group===group},isValid:function isValid(options){if(arguments.length>=1&&!$.isPlainObject(options)){Utils.warnOnce('Calling isValid on a parsley field without passing arguments as an object is deprecated.');var _arguments3=_slice.call(arguments),force=_arguments3[0],value=_arguments3[1];options={force:force,value:value}};var promise=this.whenValid(options);if(!promise)return true;return parsley_field__statusMapping[promise.state()]},whenValid:function whenValid(){var _this11=this,_ref10=arguments.length<=0||arguments[0]===undefined?{}:arguments[0],_ref10$force=_ref10.force,force=_ref10$force===undefined?false:_ref10$force,value=_ref10.value,group=_ref10.group,_refreshed=_ref10._refreshed;if(!_refreshed)this.refresh();if(group&&!this._isInGroup(group))return;this.validationResult=true;if(!this.hasConstraints())return $.when();if('undefined'===typeof value||null===value)value=this.getValue();if(!this.needsValidation(value)&&true!==force)return $.when();var groupedConstraints=this._getGroupedConstraints(),promises=[];$.each(groupedConstraints,function(_,constraints){var promise=Utils.all($.map(constraints,function(constraint){return _this11._validateConstraint(value,constraint)}));promises.push(promise);if(promise.state()==='rejected')return false});return Utils.all(promises)},_validateConstraint:function _validateConstraint(value,constraint){var _this12=this,result=constraint.validate(value,this);if(false===result)result=$.Deferred().reject();return Utils.all([result]).fail(function(errorMessage){if(!(_this12.validationResult instanceof Array))_this12.validationResult=[];_this12.validationResult.push({assert:constraint,errorMessage:'string'===typeof errorMessage&&errorMessage})})},getValue:function getValue(){var value;if('function'===typeof this.options.value){value=this.options.value(this)}else if('undefined'!==typeof this.options.value){value=this.options.value}else value=this.$element.val();if('undefined'===typeof value||null===value)return'';return this._handleWhitespace(value)},reset:function reset(){this._resetUI();return this._trigger('reset')},destroy:function destroy(){this._destroyUI();this.$element.removeData('Parsley');this.$element.removeData('FieldMultiple');this._trigger('destroy')},refresh:function refresh(){this._refreshConstraints();return this},_refreshConstraints:function _refreshConstraints(){return this.actualizeOptions()._bindConstraints()},refreshConstraints:function refreshConstraints(){Utils.warnOnce("Parsley's refreshConstraints is deprecated. Please use refresh");return this.refresh()},addConstraint:function addConstraint(name,requirements,priority,isDomConstraint){if(window.Parsley._validatorRegistry.validators[name]){var constraint=new Constraint(this,name,requirements,priority,isDomConstraint);if('undefined'!==this.constraintsByName[constraint.name])this.removeConstraint(constraint.name);this.constraints.push(constraint);this.constraintsByName[constraint.name]=constraint};return this},removeConstraint:function removeConstraint(name){for(var i=0;i<this.constraints.length;i++)if(name===this.constraints[i].name){this.constraints.splice(i,1);break};delete this.constraintsByName[name];return this},updateConstraint:function updateConstraint(name,parameters,priority){return this.removeConstraint(name).addConstraint(name,parameters,priority)},_bindConstraints:function _bindConstraints(){var constraints=[],constraintsByName={};for(var i=0;i<this.constraints.length;i++)if(false===this.constraints[i].isDomConstraint){constraints.push(this.constraints[i]);constraintsByName[this.constraints[i].name]=this.constraints[i]};this.constraints=constraints;this.constraintsByName=constraintsByName;for(var name in this.options)this.addConstraint(name,this.options[name],undefined,true);return this._bindHtml5Constraints()},_bindHtml5Constraints:function _bindHtml5Constraints(){if(null!==this.element.getAttribute('required'))this.addConstraint('required',true,undefined,true);if(null!==this.element.getAttribute('pattern'))this.addConstraint('pattern',this.element.getAttribute('pattern'),undefined,true);var min=this.element.getAttribute('min'),max=this.element.getAttribute('max');if(null!==min&&null!==max){this.addConstraint('range',[min,max],undefined,true)}else if(null!==min){this.addConstraint('min',min,undefined,true)}else if(null!==max)this.addConstraint('max',max,undefined,true);if(null!==this.element.getAttribute('minlength')&&null!==this.element.getAttribute('maxlength')){this.addConstraint('length',[this.element.getAttribute('minlength'),this.element.getAttribute('maxlength')],undefined,true)}else if(null!==this.element.getAttribute('minlength')){this.addConstraint('minlength',this.element.getAttribute('minlength'),undefined,true)}else if(null!==this.element.getAttribute('maxlength'))this.addConstraint('maxlength',this.element.getAttribute('maxlength'),undefined,true);var type=Utils.getType(this.element);if('number'===type){return this.addConstraint('type',['number',{step:this.element.getAttribute('step')||'1',base:min||this.element.getAttribute('value')}],undefined,true)}else if(/^(email|url|range|date)$/i.test(type))return this.addConstraint('type',type,undefined,true);return this},_isRequired:function _isRequired(){if('undefined'===typeof this.constraintsByName.required)return false;return false!==this.constraintsByName.required.requirements},_trigger:function _trigger(eventName){return this.trigger('field:'+eventName)},_handleWhitespace:function _handleWhitespace(value){if(true===this.options.trimValue)Utils.warnOnce('data-parsley-trim-value="true" is deprecated, please use data-parsley-whitespace="trim"');if('squish'===this.options.whitespace)value=value.replace(/\s{2,}/g,' ');if('trim'===this.options.whitespace||'squish'===this.options.whitespace||true===this.options.trimValue)value=Utils.trimString(value);return value},_isDateInput:function _isDateInput(){var c=this.constraintsByName.type;return c&&c.requirements==='date'},_getGroupedConstraints:function _getGroupedConstraints(){if(false===this.options.priorityEnabled)return[this.constraints];var groupedConstraints=[],index={};for(var i=0;i<this.constraints.length;i++){var p=this.constraints[i].priority;if(!index[p])groupedConstraints.push(index[p]=[]);index[p].push(this.constraints[i])};groupedConstraints.sort(function(a,b){return b[0].priority-a[0].priority});return groupedConstraints}};var parsley_field=Field,Multiple=function Multiple(){this.__class__='FieldMultiple'};Multiple.prototype={addElement:function addElement($element){this.$elements.push($element);return this},_refreshConstraints:function _refreshConstraints(){var fieldConstraints;this.constraints=[];if(this.element.nodeName==='SELECT'){this.actualizeOptions()._bindConstraints();return this};for(var i=0;i<this.$elements.length;i++){if(!$('html').has(this.$elements[i]).length){this.$elements.splice(i,1);continue};fieldConstraints=this.$elements[i].data('FieldMultiple')._refreshConstraints().constraints;for(var j=0;j<fieldConstraints.length;j++)this.addConstraint(fieldConstraints[j].name,fieldConstraints[j].requirements,fieldConstraints[j].priority,fieldConstraints[j].isDomConstraint)};return this},getValue:function getValue(){if('function'===typeof this.options.value){return this.options.value(this)}else if('undefined'!==typeof this.options.value)return this.options.value;if(this.element.nodeName==='INPUT'){var type=Utils.getType(this.element);if(type==='radio')return this._findRelated().filter(':checked').val()||'';if(type==='checkbox'){var values=[];this._findRelated().filter(':checked').each(function(){values.push($(this).val())});return values}};if(this.element.nodeName==='SELECT'&&null===this.$element.val())return[];return this.$element.val()},_init:function _init(){this.$elements=[this.$element];return this}};var Factory=function Factory(element,options,parsleyFormInstance){this.element=element;this.$element=$(element);var savedparsleyFormInstance=this.$element.data('Parsley');if(savedparsleyFormInstance){if('undefined'!==typeof parsleyFormInstance&&savedparsleyFormInstance.parent===window.Parsley){savedparsleyFormInstance.parent=parsleyFormInstance;savedparsleyFormInstance._resetOptions(savedparsleyFormInstance.options)};if('object'===typeof options)_extends(savedparsleyFormInstance.options,options);return savedparsleyFormInstance};if(!this.$element.length)throw new Error('You must bind Parsley on an existing element.');if('undefined'!==typeof parsleyFormInstance&&'Form'!==parsleyFormInstance.__class__)throw new Error('Parent instance must be a Form instance');this.parent=parsleyFormInstance||window.Parsley;return this.init(options)};Factory.prototype={init:function init(options){this.__class__='Parsley';this.__version__='2.8.1';this.__id__=Utils.generateID();this._resetOptions(options);if(this.element.nodeName==='FORM'||Utils.checkAttr(this.element,this.options.namespace,'validate')&&!this.$element.is(this.options.inputs))return this.bind('parsleyForm');return this.isMultiple()?this.handleMultiple():this.bind('parsleyField')},isMultiple:function isMultiple(){var type=Utils.getType(this.element);return type==='radio'||type==='checkbox'||this.element.nodeName==='SELECT'&&null!==this.element.getAttribute('multiple')},handleMultiple:function handleMultiple(){var _this13=this,name,multiple,parsleyMultipleInstance;this.options.multiple=this.options.multiple||(name=this.element.getAttribute('name'))||this.element.getAttribute('id');if(this.element.nodeName==='SELECT'&&null!==this.element.getAttribute('multiple')){this.options.multiple=this.options.multiple||this.__id__;return this.bind('parsleyFieldMultiple')}else if(!this.options.multiple){Utils.warn('To be bound by Parsley, a radio, a checkbox and a multiple select input must have either a name or a multiple option.',this.$element);return this};this.options.multiple=this.options.multiple.replace(/(:|\.|\[|\]|\{|\}|\$)/g,'');if(name)$('input[name="'+name+'"]').each(function(i,input){var type=Utils.getType(input);if(type==='radio'||type==='checkbox')input.setAttribute(_this13.options.namespace+'multiple',_this13.options.multiple)});var $previouslyRelated=this._findRelated();for(var i=0;i<$previouslyRelated.length;i++){parsleyMultipleInstance=$($previouslyRelated.get(i)).data('Parsley');if('undefined'!==typeof parsleyMultipleInstance){if(!this.$element.data('FieldMultiple'))parsleyMultipleInstance.addElement(this.$element);break}};this.bind('parsleyField',true);return parsleyMultipleInstance||this.bind('parsleyFieldMultiple')},bind:function bind(type,doNotStore){var parsleyInstance;switch(type){case'parsleyForm':parsleyInstance=$.extend(new Form(this.element,this.domOptions,this.options),new Base(),window.ParsleyExtend)._bindFields();break;case'parsleyField':parsleyInstance=$.extend(new parsley_field(this.element,this.domOptions,this.options,this.parent),new Base(),window.ParsleyExtend);break;case'parsleyFieldMultiple':parsleyInstance=$.extend(new parsley_field(this.element,this.domOptions,this.options,this.parent),new Multiple(),new Base(),window.ParsleyExtend)._init();break;default:throw new Error(type+'is not a supported Parsley type')};if(this.options.multiple)Utils.setAttr(this.element,this.options.namespace,'multiple',this.options.multiple);if('undefined'!==typeof doNotStore){this.$element.data('FieldMultiple',parsleyInstance);return parsleyInstance};this.$element.data('Parsley',parsleyInstance);parsleyInstance._actualizeTriggers();parsleyInstance._trigger('init');return parsleyInstance}};var vernums=$.fn.jquery.split('.');if(parseInt(vernums[0])<=1&&parseInt(vernums[1])<8)throw"The loaded version of jQuery is too old. Please upgrade to 1.8.x or better.";if(!vernums.forEach)Utils.warn('Parsley requires ES5 to run properly. Please include https://github.com/es-shims/es5-shim');var Parsley=_extends(new Base(),{element:document,$element:$(document),actualizeOptions:null,_resetOptions:null,Factory:Factory,version:'2.8.1'});_extends(parsley_field.prototype,UI.Field,Base.prototype);_extends(Form.prototype,UI.Form,Base.prototype);_extends(Factory.prototype,Base.prototype);$.fn.parsley=$.fn.psly=function(options){if(this.length>1){var instances=[];this.each(function(){instances.push($(this).parsley(options))});return instances};if(this.length==0)return;return new Factory(this[0],options)};if('undefined'===typeof window.ParsleyExtend)window.ParsleyExtend={};Parsley.options=_extends(Utils.objectCreate(Defaults),window.ParsleyConfig);window.ParsleyConfig=Parsley.options;window.Parsley=window.psly=Parsley;Parsley.Utils=Utils;window.ParsleyUtils={};$.each(Utils,function(key,value){if('function'===typeof value)window.ParsleyUtils[key]=function(){Utils.warnOnce('Accessing `window.ParsleyUtils` is deprecated. Use `window.Parsley.Utils` instead.');return Utils[key].apply(Utils,arguments)}});var registry=window.Parsley._validatorRegistry=new ValidatorRegistry(window.ParsleyConfig.validators,window.ParsleyConfig.i18n);window.ParsleyValidator={};$.each('setLocale addCatalog addMessage addMessages getErrorMessage formatMessage addValidator updateValidator removeValidator hasValidator'.split(' '),function(i,method){window.Parsley[method]=function(){return registry[method].apply(registry,arguments)};window.ParsleyValidator[method]=function(){var _window$Parsley;Utils.warnOnce('Accessing the method \''+method+'\' through Validator is deprecated. Simply call \'window.Parsley.'+method+'(...)\'');return(_window$Parsley=window.Parsley)[method].apply(_window$Parsley,arguments)}});window.Parsley.UI=UI;window.ParsleyUI={removeError:function removeError(instance,name,doNotUpdateClass){var updateClass=true!==doNotUpdateClass;Utils.warnOnce('Accessing UI is deprecated. Call \'removeError\' on the instance directly. Please comment in issue 1073 as to your need to call this method.');return instance.removeError(name,{updateClass:updateClass})},getErrorsMessages:function getErrorsMessages(instance){Utils.warnOnce('Accessing UI is deprecated. Call \'getErrorsMessages\' on the instance directly.');return instance.getErrorsMessages()}};$.each('addError updateError'.split(' '),function(i,method){window.ParsleyUI[method]=function(instance,name,message,assert,doNotUpdateClass){var updateClass=true!==doNotUpdateClass;Utils.warnOnce('Accessing UI is deprecated. Call \''+method+'\' on the instance directly. Please comment in issue 1073 as to your need to call this method.');return instance[method](name,{message:message,assert:assert,updateClass:updateClass})}});if(false!==window.ParsleyConfig.autoBind)$(function(){if($('[data-parsley-validate]').length)$('[data-parsley-validate]').parsley()});var o=$({}),deprecated=function deprecated(){Utils.warnOnce("Parsley's pubsub module is deprecated; use the 'on' and 'off' methods on parsley instances or window.Parsley")}
function adapt(fn,context){if(!fn.parsleyAdaptedCallback)fn.parsleyAdaptedCallback=function(){var args=Array.prototype.slice.call(arguments,0);args.unshift(this);fn.apply(context||o,args)};return fn.parsleyAdaptedCallback};var eventPrefix='parsley:'
function eventName(name){if(name.lastIndexOf(eventPrefix,0)===0)return name.substr(eventPrefix.length);return name};$.listen=function(name,callback){var context;deprecated();if('object'===typeof arguments[1]&&'function'===typeof arguments[2]){context=arguments[1];callback=arguments[2]};if('function'!==typeof callback)throw new Error('Wrong parameters');window.Parsley.on(eventName(name),adapt(callback,context))};$.listenTo=function(instance,name,fn){deprecated();if(!(instance instanceof parsley_field)&&!(instance instanceof Form))throw new Error('Must give Parsley instance');if('string'!==typeof name||'function'!==typeof fn)throw new Error('Wrong parameters');instance.on(eventName(name),adapt(fn))};$.unsubscribe=function(name,fn){deprecated();if('string'!==typeof name||'function'!==typeof fn)throw new Error('Wrong arguments');window.Parsley.off(eventName(name),fn.parsleyAdaptedCallback)};$.unsubscribeTo=function(instance,name){deprecated();if(!(instance instanceof parsley_field)&&!(instance instanceof Form))throw new Error('Must give Parsley instance');instance.off(eventName(name))};$.unsubscribeAll=function(name){deprecated();window.Parsley.off(eventName(name));$('form,input,textarea,select').each(function(){var instance=$(this).data('Parsley');if(instance)instance.off(eventName(name))})};$.emit=function(name,instance){var _instance;deprecated();var instanceGiven=instance instanceof parsley_field||instance instanceof Form,args=Array.prototype.slice.call(arguments,instanceGiven?2:1);args.unshift(eventName(name));if(!instanceGiven)instance=window.Parsley;(_instance=instance).trigger.apply(_instance,_toConsumableArray(args))};var pubsub={};$.extend(true,Parsley,{asyncValidators:{'default':{fn:function fn(xhr){return xhr.status>=200&&xhr.status<300},url:false},reverse:{fn:function fn(xhr){return xhr.status<200||xhr.status>=300},url:false}},addAsyncValidator:function addAsyncValidator(name,fn,url,options){Parsley.asyncValidators[name]={fn:fn,url:url||false,options:options||{}};return this}});Parsley.addValidator('remote',{requirementType:{'':'string',validator:'string',reverse:'boolean',options:'object'},validateString:function validateString(value,url,options,instance){var data={},ajaxOptions,csr,validator=options.validator||(true===options.reverse?'reverse':'default');if('undefined'===typeof Parsley.asyncValidators[validator])throw new Error('Calling an undefined async validator: `'+validator+'`');url=Parsley.asyncValidators[validator].url||url;if(url.indexOf('{value}')>-1){url=url.replace('{value}',encodeURIComponent(value))}else data[instance.element.getAttribute('name')||instance.element.getAttribute('id')]=value;var remoteOptions=$.extend(true,options.options||{},Parsley.asyncValidators[validator].options);ajaxOptions=$.extend(true,{},{url:url,data:data,type:'GET'},remoteOptions);instance.trigger('field:ajaxoptions',instance,ajaxOptions);csr=$.param(ajaxOptions);if('undefined'===typeof Parsley._remoteCache)Parsley._remoteCache={};var xhr=Parsley._remoteCache[csr]=Parsley._remoteCache[csr]||$.ajax(ajaxOptions),handleXhr=function handleXhr(){var result=Parsley.asyncValidators[validator].fn.call(instance,xhr,url,options);if(!result)result=$.Deferred().reject();return $.when(result)};return xhr.then(handleXhr,handleXhr)},priority:-1});Parsley.on('form:submit',function(){Parsley._remoteCache={}});Base.prototype.addAsyncValidator=function(){Utils.warnOnce('Accessing the method `addAsyncValidator` through an instance is deprecated. Simply call `Parsley.addAsyncValidator(...)`');return Parsley.addAsyncValidator.apply(Parsley,arguments)};Parsley.addMessages('en',{defaultMessage:"This value seems to be invalid.",type:{email:"This value should be a valid email.",url:"This value should be a valid url.",number:"This value should be a valid number.",integer:"This value should be a valid integer.",digits:"This value should be digits.",alphanum:"This value should be alphanumeric."},notblank:"This value should not be blank.",required:"This value is required.",pattern:"This value seems to be invalid.",min:"This value should be greater than or equal to %s.",max:"This value should be lower than or equal to %s.",range:"This value should be between %s and %s.",minlength:"This value is too short. It should have %s characters or more.",maxlength:"This value is too long. It should have %s characters or fewer.",length:"This value length is invalid. It should be between %s and %s characters long.",mincheck:"You must select at least %s choices.",maxcheck:"You must select %s choices or fewer.",check:"You must select between %s and %s choices.",equalto:"This value should be the same."});Parsley.setLocale('en')
function InputEvent(){var _this14=this,globals=window||global;_extends(this,{isNativeEvent:function isNativeEvent(evt){return evt.originalEvent&&evt.originalEvent.isTrusted!==false},fakeInputEvent:function fakeInputEvent(evt){if(_this14.isNativeEvent(evt))$(evt.target).trigger('input')},misbehaves:function misbehaves(evt){if(_this14.isNativeEvent(evt)){_this14.behavesOk(evt);$(document).on('change.inputevent',evt.data.selector,_this14.fakeInputEvent);_this14.fakeInputEvent(evt)}},behavesOk:function behavesOk(evt){if(_this14.isNativeEvent(evt))$(document).off('input.inputevent',evt.data.selector,_this14.behavesOk).off('change.inputevent',evt.data.selector,_this14.misbehaves)},install:function install(){if(globals.inputEventPatched)return;globals.inputEventPatched='0.0.3';var _arr=['select','input[type="checkbox"]','input[type="radio"]','input[type="file"]'];for(var _i=0;_i<_arr.length;_i++){var selector=_arr[_i];$(document).on('input.inputevent',selector,{selector:selector},_this14.behavesOk).on('change.inputevent',selector,{selector:selector},_this14.misbehaves)}},uninstall:function uninstall(){delete globals.inputEventPatched;$(document).off('.inputevent')}})};var inputevent=new InputEvent();inputevent.install();var parsley=Parsley;return parsley});
Parsley.addMessages('pt-pt',{defaultMessage:"Este valor parece ser inválido.",type:{email:"Este campo deve ser um email válido.",url:"Este campo deve ser um URL válido.",number:"Este campo deve ser um número válido.",integer:"Este campo deve ser um número inteiro válido.",digits:"Este campo deve conter apenas dígitos.",alphanum:"Este campo deve ser alfanumérico."},notblank:"Este campo não pode ficar vazio.",required:"Este campo é obrigatório.",pattern:"Este campo parece estar inválido.",min:"Este valor deve ser maior ou igual a %s.",max:"Este valor deve ser menor ou igual a %s.",range:"Este valor deve estar entre %s e %s.",minlength:"Este campo é pequeno demais. Deve ter %s caracteres ou mais.",maxlength:"Este campo é grande demais. Deve ter %s caracteres ou menos.",length:"O tamanho deste campo é inválido. Ele deveria ter entre %s e %s caracteres.",mincheck:"Escolha pelo menos %s opções.",maxcheck:"Escolha %s opções ou mais",check:"Escolha entre %s e %s opções.",equalto:"Este valor deveria ser igual."});Parsley.setLocale('pt-pt');
(function(root,factory){if(typeof define==='function'&&define.amd){define(['jquery'],factory)}else factory(jQuery)}(this,function($){'use strict';var api={},conf={triggerSelector:'[data-modal-target]',triggerTargetKey:'modalTarget',visibilityToggleClass:'flex-modal-item--visible',modalOptions:{closeBtnMarkup:'<button class="flex-modal-item__close" type="button">x</button>',autoCloseOthers:true,closeOnOverlayClick:true,closeOnEscKey:true}},$root,EVENT_NS='flexModal',CLASS_MODAL_ITEM_HIDDEN='flex-modal-hide',CLASS_MODAL_ITEM='flex-modal-item',CLASS_MODAL_ITEM_MODIFIER_READY='flex-modal-item--ready',CLASS_MODAL_ITEM_CONTENT='flex-modal-item__content',CLASS_MODAL_ITEM_CLOSE='flex-modal-item__close',MODAL_ITEM_TPL='<article class="flex-modal-item"><div class="flex-modal-item__content"></div></article>'
function init(){var $body=$('body');$root=$('<aside class="flex-modal"></aside>');$body.append($root);$body.on('click.'+EVENT_NS,function(event){var $trigger=$(event.target),modalId;if(!$trigger.is(conf.triggerSelector))return;if(typeof conf.triggerTargetKey==='function'){modalId=conf.triggerTargetKey().call($trigger,event)}else modalId=$trigger.data(conf.triggerTargetKey);open(modalId)});$(document).on('keydown.'+EVENT_NS,function(event){if(event.keyCode!==27)return;$root.children('.'+conf.visibilityToggleClass).each(function(){var $modal=$(this);if($modal.data('options').closeOnEscKey===true)close($modal.attr('id'))})});$root.on('click.'+EVENT_NS,function(event){var $evtTarget=$(event.target);if($evtTarget.hasClass(CLASS_MODAL_ITEM)){if($evtTarget.data('options').closeOnOverlayClick!==true)return;close($evtTarget.attr('id'))}else if($evtTarget.hasClass(CLASS_MODAL_ITEM_CLOSE)||$evtTarget.closest('.'+CLASS_MODAL_ITEM_CLOSE).length)close($evtTarget.closest('.'+CLASS_MODAL_ITEM).attr('id'))})}
function addModal(modalId,cb){modalId=modalId||'';modalId=sanitizeId(modalId);var $sourceModal=$('#'+modalId);if(!$sourceModal.length)return false;var modalContent=$sourceModal.html();if(modalContent===undefined)return false;var $newModal=$(MODAL_ITEM_TPL),$newModalContent=$newModal.children('.'+CLASS_MODAL_ITEM_CONTENT),options=$.extend(true,{},conf.modalOptions,$sourceModal.data());$newModal.attr('id',modalId);$newModal.data('options',options);$newModalContent.append(modalContent);if(options.closeBtnMarkup)$newModalContent.append($(options.closeBtnMarkup));$newModal.addClass($sourceModal.attr('class').replace(CLASS_MODAL_ITEM_HIDDEN,''));$sourceModal.remove();$root.append($newModal);if(cb)cb.call($newModal[0],api);return true}
function open(modalId){modalId=modalId||'';modalId=sanitizeId(modalId);var $modal=$root.children('#'+modalId);if(!$modal.length){if(addModal(modalId)===true)open(modalId);return api};var options=$modal.data('options');if(options.autoCloseOthers===true)$root.children('.'+conf.visibilityToggleClass).each(function(){close($(this).attr('id'))});$modal.on('transitionend.open.'+EVENT_NS+' webkitTransitionEnd.open.'+EVENT_NS,function(event){if(!$modal.is(event.target))return;$modal.trigger('afterOpen.'+EVENT_NS,api);$modal.off('.open.'+EVENT_NS)});$modal.addClass(CLASS_MODAL_ITEM_MODIFIER_READY);$modal.width();$modal.addClass(conf.visibilityToggleClass);$modal.trigger('open.'+EVENT_NS,api);return api}
function close(modalId){var $modal;if(modalId===undefined){$modal=$root.children()}else{modalId=sanitizeId(modalId);$modal=$root.children('#'+modalId);if(!$modal.length)return api};$modal.on('transitionend.close.'+EVENT_NS+' webkitTransitionEnd.close.'+EVENT_NS,function(event){if(!$modal.is(event.target))return;$modal.removeClass(CLASS_MODAL_ITEM_MODIFIER_READY);$modal.trigger('afterClose.'+EVENT_NS,api);$modal.off('.close.'+EVENT_NS)});$modal.removeClass(conf.visibilityToggleClass);$modal.trigger('close.'+EVENT_NS,api);return api}
function sanitizeId(id){return id.slice(0,1)==='#'?id.slice(1):id};$.extend(api,{config:conf,add:addModal,open:open,close:close});$(function(){init();$.flexModal=api})}));
(function(factory){if(typeof define==='function'&&define.amd){define(['jquery'],factory)}else if(typeof exports==='object'){factory(require('jquery'))}else factory(window.jQuery||window.Zepto)}(function($){var CLOSE_EVENT='Close',BEFORE_CLOSE_EVENT='BeforeClose',AFTER_CLOSE_EVENT='AfterClose',BEFORE_APPEND_EVENT='BeforeAppend',MARKUP_PARSE_EVENT='MarkupParse',OPEN_EVENT='Open',CHANGE_EVENT='Change',NS='mfp',EVENT_NS='.'+NS,READY_CLASS='mfp-ready',REMOVING_CLASS='mfp-removing',PREVENT_CLOSE_CLASS='mfp-prevent-close',mfp,MagnificPopup=function(){},_isJQ=!!(window.jQuery),_prevStatus,_window=$(window),_document,_prevContentType,_wrapClasses,_currPopupType,_mfpOn=function(name,f){mfp.ev.on(NS+name+EVENT_NS,f)},_getEl=function(className,appendTo,html,raw){var el=document.createElement('div');el.className='mfp-'+className;if(html)el.innerHTML=html;if(!raw){el=$(el);if(appendTo)el.appendTo(appendTo)}else if(appendTo)appendTo.appendChild(el);return el},_mfpTrigger=function(e,data){mfp.ev.triggerHandler(NS+e,data);if(mfp.st.callbacks){e=e.charAt(0).toLowerCase()+e.slice(1);if(mfp.st.callbacks[e])mfp.st.callbacks[e].apply(mfp,$.isArray(data)?data:[data])}},_getCloseBtn=function(type){if(type!==_currPopupType||!mfp.currTemplate.closeBtn){mfp.currTemplate.closeBtn=$(mfp.st.closeMarkup.replace('%title%',mfp.st.tClose));_currPopupType=type};return mfp.currTemplate.closeBtn},_checkInstance=function(){if(!$.magnificPopup.instance){mfp=new MagnificPopup();mfp.init();$.magnificPopup.instance=mfp}},supportsTransitions=function(){var s=document.createElement('p').style,v=['ms','O','Moz','Webkit'];if(s.transition!==undefined)return true;while(v.length)if(v.pop()+'Transition'in s)return true;return false};MagnificPopup.prototype={constructor:MagnificPopup,init:function(){var appVersion=navigator.appVersion;mfp.isLowIE=mfp.isIE8=document.all&&!document.addEventListener;mfp.isAndroid=/android/gi.test(appVersion);mfp.isIOS=/iphone|ipad|ipod/gi.test(appVersion);mfp.supportsTransition=supportsTransitions();mfp.probablyMobile=(mfp.isAndroid||mfp.isIOS||/(Opera Mini)|Kindle|webOS|BlackBerry|(Opera Mobi)|(Windows Phone)|IEMobile/i.test(navigator.userAgent));_document=$(document);mfp.popupsCache={}},open:function(data){var i;if(data.isObj===false){mfp.items=data.items.toArray();mfp.index=0;var items=data.items,item;for(i=0;i<items.length;i++){item=items[i];if(item.parsed)item=item.el[0];if(item===data.el[0]){mfp.index=i;break}}}else{mfp.items=$.isArray(data.items)?data.items:[data.items];mfp.index=data.index||0};if(mfp.isOpen){mfp.updateItemHTML();return};mfp.types=[];_wrapClasses='';if(data.mainEl&&data.mainEl.length){mfp.ev=data.mainEl.eq(0)}else mfp.ev=_document;if(data.key){if(!mfp.popupsCache[data.key])mfp.popupsCache[data.key]={};mfp.currTemplate=mfp.popupsCache[data.key]}else mfp.currTemplate={};mfp.st=$.extend(true,{},$.magnificPopup.defaults,data);mfp.fixedContentPos=mfp.st.fixedContentPos==='auto'?!mfp.probablyMobile:mfp.st.fixedContentPos;if(mfp.st.modal){mfp.st.closeOnContentClick=false;mfp.st.closeOnBgClick=false;mfp.st.showCloseBtn=false;mfp.st.enableEscapeKey=false};if(!mfp.bgOverlay){mfp.bgOverlay=_getEl('bg').on('click'+EVENT_NS,function(){mfp.close()});mfp.wrap=_getEl('wrap').attr('tabindex',-1).on('click'+EVENT_NS,function(e){if(mfp._checkIfClose(e.target))mfp.close()});mfp.container=_getEl('container',mfp.wrap)};mfp.contentContainer=_getEl('content');if(mfp.st.preloader)mfp.preloader=_getEl('preloader',mfp.container,mfp.st.tLoading);var modules=$.magnificPopup.modules;for(i=0;i<modules.length;i++){var n=modules[i];n=n.charAt(0).toUpperCase()+n.slice(1);mfp['init'+n].call(mfp)};_mfpTrigger('BeforeOpen');if(mfp.st.showCloseBtn)if(!mfp.st.closeBtnInside){mfp.wrap.append(_getCloseBtn())}else{_mfpOn(MARKUP_PARSE_EVENT,function(e,template,values,item){values.close_replaceWith=_getCloseBtn(item.type)});_wrapClasses+=' mfp-close-btn-in'};if(mfp.st.alignTop)_wrapClasses+=' mfp-align-top';if(mfp.fixedContentPos){mfp.wrap.css({overflow:mfp.st.overflowY,overflowX:'hidden',overflowY:mfp.st.overflowY})}else mfp.wrap.css({top:_window.scrollTop(),position:'absolute'});if(mfp.st.fixedBgPos===false||(mfp.st.fixedBgPos==='auto'&&!mfp.fixedContentPos))mfp.bgOverlay.css({height:_document.height(),position:'absolute'});if(mfp.st.enableEscapeKey)_document.on('keyup'+EVENT_NS,function(e){if(e.keyCode===27)mfp.close()});_window.on('resize'+EVENT_NS,function(){mfp.updateSize()});if(!mfp.st.closeOnContentClick)_wrapClasses+=' mfp-auto-cursor';if(_wrapClasses)mfp.wrap.addClass(_wrapClasses);var windowHeight=mfp.wH=_window.height(),windowStyles={};if(mfp.fixedContentPos)if(mfp._hasScrollBar(windowHeight)){var s=mfp._getScrollbarSize();if(s)windowStyles.marginRight=s};if(mfp.fixedContentPos)if(!mfp.isIE7){windowStyles.overflow='hidden'}else $('body, html').css('overflow','hidden');var classesToadd=mfp.st.mainClass;if(mfp.isIE7)classesToadd+=' mfp-ie7';if(classesToadd)mfp._addClassToMFP(classesToadd);mfp.updateItemHTML();_mfpTrigger('BuildControls');$('html').css(windowStyles);mfp.bgOverlay.add(mfp.wrap).prependTo(mfp.st.prependTo||$(document.body));mfp._lastFocusedEl=document.activeElement;setTimeout(function(){if(mfp.content){mfp._addClassToMFP(READY_CLASS);mfp._setFocus()}else mfp.bgOverlay.addClass(READY_CLASS);_document.on('focusin'+EVENT_NS,mfp._onFocusIn)},16);mfp.isOpen=true;mfp.updateSize(windowHeight);_mfpTrigger(OPEN_EVENT);return data},close:function(){if(!mfp.isOpen)return;_mfpTrigger(BEFORE_CLOSE_EVENT);mfp.isOpen=false;if(mfp.st.removalDelay&&!mfp.isLowIE&&mfp.supportsTransition){mfp._addClassToMFP(REMOVING_CLASS);setTimeout(function(){mfp._close()},mfp.st.removalDelay)}else mfp._close()},_close:function(){_mfpTrigger(CLOSE_EVENT);var classesToRemove=REMOVING_CLASS+' '+READY_CLASS+' ';mfp.bgOverlay.detach();mfp.wrap.detach();mfp.container.empty();if(mfp.st.mainClass)classesToRemove+=mfp.st.mainClass+' ';mfp._removeClassFromMFP(classesToRemove);if(mfp.fixedContentPos){var windowStyles={marginRight:''};if(mfp.isIE7){$('body, html').css('overflow','')}else windowStyles.overflow='';$('html').css(windowStyles)};_document.off('keyup'+EVENT_NS+' focusin'+EVENT_NS);mfp.ev.off(EVENT_NS);mfp.wrap.attr('class','mfp-wrap').removeAttr('style');mfp.bgOverlay.attr('class','mfp-bg');mfp.container.attr('class','mfp-container');if(mfp.st.showCloseBtn&&(!mfp.st.closeBtnInside||mfp.currTemplate[mfp.currItem.type]===true))if(mfp.currTemplate.closeBtn)mfp.currTemplate.closeBtn.detach();if(mfp.st.autoFocusLast&&mfp._lastFocusedEl)$(mfp._lastFocusedEl).focus();mfp.currItem=null;mfp.content=null;mfp.currTemplate=null;mfp.prevHeight=0;_mfpTrigger(AFTER_CLOSE_EVENT)},updateSize:function(winHeight){if(mfp.isIOS){var zoomLevel=document.documentElement.clientWidth/window.innerWidth,height=window.innerHeight*zoomLevel;mfp.wrap.css('height',height);mfp.wH=height}else mfp.wH=winHeight||_window.height();if(!mfp.fixedContentPos)mfp.wrap.css('height',mfp.wH);_mfpTrigger('Resize')},updateItemHTML:function(){var item=mfp.items[mfp.index];mfp.contentContainer.detach();if(mfp.content)mfp.content.detach();if(!item.parsed)item=mfp.parseEl(mfp.index);var type=item.type;_mfpTrigger('BeforeChange',[mfp.currItem?mfp.currItem.type:'',type]);mfp.currItem=item;if(!mfp.currTemplate[type]){var markup=mfp.st[type]?mfp.st[type].markup:false;_mfpTrigger('FirstMarkupParse',markup);if(markup){mfp.currTemplate[type]=$(markup)}else mfp.currTemplate[type]=true};if(_prevContentType&&_prevContentType!==item.type)mfp.container.removeClass('mfp-'+_prevContentType+'-holder');var newContent=mfp['get'+type.charAt(0).toUpperCase()+type.slice(1)](item,mfp.currTemplate[type]);mfp.appendContent(newContent,type);item.preloaded=true;_mfpTrigger(CHANGE_EVENT,item);_prevContentType=item.type;mfp.container.prepend(mfp.contentContainer);_mfpTrigger('AfterChange')},appendContent:function(newContent,type){mfp.content=newContent;if(newContent){if(mfp.st.showCloseBtn&&mfp.st.closeBtnInside&&mfp.currTemplate[type]===true){if(!mfp.content.find('.mfp-close').length)mfp.content.append(_getCloseBtn())}else mfp.content=newContent}else mfp.content='';_mfpTrigger(BEFORE_APPEND_EVENT);mfp.container.addClass('mfp-'+type+'-holder');mfp.contentContainer.append(mfp.content)},parseEl:function(index){var item=mfp.items[index],type;if(item.tagName){item={el:$(item)}}else{type=item.type;item={data:item,src:item.src}};if(item.el){var types=mfp.types;for(var i=0;i<types.length;i++)if(item.el.hasClass('mfp-'+types[i])){type=types[i];break};item.src=item.el.attr('data-mfp-src');if(!item.src)item.src=item.el.attr('href')};item.type=type||mfp.st.type||'inline';item.index=index;item.parsed=true;mfp.items[index]=item;_mfpTrigger('ElementParse',item);return mfp.items[index]},addGroup:function(el,options){var eHandler=function(e){e.mfpEl=this;mfp._openClick(e,el,options)};if(!options)options={};var eName='click.magnificPopup';options.mainEl=el;if(options.items){options.isObj=true;el.off(eName).on(eName,eHandler)}else{options.isObj=false;if(options.delegate){el.off(eName).on(eName,options.delegate,eHandler)}else{options.items=el;el.off(eName).on(eName,eHandler)}}},_openClick:function(e,el,options){var midClick=options.midClick!==undefined?options.midClick:$.magnificPopup.defaults.midClick;if(!midClick&&(e.which===2||e.ctrlKey||e.metaKey||e.altKey||e.shiftKey))return;var disableOn=options.disableOn!==undefined?options.disableOn:$.magnificPopup.defaults.disableOn;if(disableOn)if($.isFunction(disableOn)){if(!disableOn.call(mfp))return true}else if(_window.width()<disableOn)return true;if(e.type){e.preventDefault();if(mfp.isOpen)e.stopPropagation()};options.el=$(e.mfpEl);if(options.delegate)options.items=el.find(options.delegate);mfp.open(options)},updateStatus:function(status,text){if(mfp.preloader){if(_prevStatus!==status)mfp.container.removeClass('mfp-s-'+_prevStatus);if(!text&&status==='loading')text=mfp.st.tLoading;var data={status:status,text:text};_mfpTrigger('UpdateStatus',data);status=data.status;text=data.text;mfp.preloader.html(text);mfp.preloader.find('a').on('click',function(e){e.stopImmediatePropagation()});mfp.container.addClass('mfp-s-'+status);_prevStatus=status}},_checkIfClose:function(target){if($(target).hasClass(PREVENT_CLOSE_CLASS))return;var closeOnContent=mfp.st.closeOnContentClick,closeOnBg=mfp.st.closeOnBgClick;if(closeOnContent&&closeOnBg){return true}else{if(!mfp.content||$(target).hasClass('mfp-close')||(mfp.preloader&&target===mfp.preloader[0]))return true;if((target!==mfp.content[0]&&!$.contains(mfp.content[0],target))){if(closeOnBg)if($.contains(document,target))return true}else if(closeOnContent)return true};return false},_addClassToMFP:function(cName){mfp.bgOverlay.addClass(cName);mfp.wrap.addClass(cName)},_removeClassFromMFP:function(cName){this.bgOverlay.removeClass(cName);mfp.wrap.removeClass(cName)},_hasScrollBar:function(winHeight){return((mfp.isIE7?_document.height():document.body.scrollHeight)>(winHeight||_window.height()))},_setFocus:function(){(mfp.st.focus?mfp.content.find(mfp.st.focus).eq(0):mfp.wrap).focus()},_onFocusIn:function(e){if(e.target!==mfp.wrap[0]&&!$.contains(mfp.wrap[0],e.target)){mfp._setFocus();return false}},_parseMarkup:function(template,values,item){var arr;if(item.data)values=$.extend(item.data,values);_mfpTrigger(MARKUP_PARSE_EVENT,[template,values,item]);$.each(values,function(key,value){if(value===undefined||value===false)return true;arr=key.split('_');if(arr.length>1){var el=template.find(EVENT_NS+'-'+arr[0]);if(el.length>0){var attr=arr[1];if(attr==='replaceWith'){if(el[0]!==value[0])el.replaceWith(value)}else if(attr==='img'){if(el.is('img')){el.attr('src',value)}else el.replaceWith($('<img>').attr('src',value).attr('class',el.attr('class')))}else el.attr(arr[1],value)}}else template.find(EVENT_NS+'-'+key).html(value)})},_getScrollbarSize:function(){if(mfp.scrollbarSize===undefined){var scrollDiv=document.createElement("div");scrollDiv.style.cssText='width: 99px; height: 99px; overflow: scroll; position: absolute; top: -9999px;';document.body.appendChild(scrollDiv);mfp.scrollbarSize=scrollDiv.offsetWidth-scrollDiv.clientWidth;document.body.removeChild(scrollDiv)};return mfp.scrollbarSize}};$.magnificPopup={instance:null,proto:MagnificPopup.prototype,modules:[],open:function(options,index){_checkInstance();if(!options){options={}}else options=$.extend(true,{},options);options.isObj=true;options.index=index||0;return this.instance.open(options)},close:function(){return $.magnificPopup.instance&&$.magnificPopup.instance.close()},registerModule:function(name,module){if(module.options)$.magnificPopup.defaults[name]=module.options;$.extend(this.proto,module.proto);this.modules.push(name)},defaults:{disableOn:0,key:null,midClick:false,mainClass:'',preloader:true,focus:'',closeOnContentClick:false,closeOnBgClick:true,closeBtnInside:true,showCloseBtn:true,enableEscapeKey:true,modal:false,alignTop:false,removalDelay:0,prependTo:null,fixedContentPos:'auto',fixedBgPos:'auto',overflowY:'auto',closeMarkup:'<button title="%title%" type="button" class="mfp-close">&#215;</button>',tClose:'Close (Esc)',tLoading:'Loading...',autoFocusLast:true}};$.fn.magnificPopup=function(options){_checkInstance();var jqEl=$(this);if(typeof options==="string"){if(options==='open'){var items,itemOpts=_isJQ?jqEl.data('magnificPopup'):jqEl[0].magnificPopup,index=parseInt(arguments[1],10)||0;if(itemOpts.items){items=itemOpts.items[index]}else{items=jqEl;if(itemOpts.delegate)items=items.find(itemOpts.delegate);items=items.eq(index)};mfp._openClick({mfpEl:items},jqEl,itemOpts)}else if(mfp.isOpen)mfp[options].apply(mfp,Array.prototype.slice.call(arguments,1))}else{options=$.extend(true,{},options);if(_isJQ){jqEl.data('magnificPopup',options)}else jqEl[0].magnificPopup=options;mfp.addGroup(jqEl,options)};return jqEl};var INLINE_NS='inline',_hiddenClass,_inlinePlaceholder,_lastInlineElement,_putInlineElementsBack=function(){if(_lastInlineElement){_inlinePlaceholder.after(_lastInlineElement.addClass(_hiddenClass)).detach();_lastInlineElement=null}};$.magnificPopup.registerModule(INLINE_NS,{options:{hiddenClass:'hide',markup:'',tNotFound:'Content not found'},proto:{initInline:function(){mfp.types.push(INLINE_NS);_mfpOn(CLOSE_EVENT+'.'+INLINE_NS,function(){_putInlineElementsBack()})},getInline:function(item,template){_putInlineElementsBack();if(item.src){var inlineSt=mfp.st.inline,el=$(item.src);if(el.length){var parent=el[0].parentNode;if(parent&&parent.tagName){if(!_inlinePlaceholder){_hiddenClass=inlineSt.hiddenClass;_inlinePlaceholder=_getEl(_hiddenClass);_hiddenClass='mfp-'+_hiddenClass};_lastInlineElement=el.after(_inlinePlaceholder).detach().removeClass(_hiddenClass)};mfp.updateStatus('ready')}else{mfp.updateStatus('error',inlineSt.tNotFound);el=$('<div>')};item.inlineElement=el;return el};mfp.updateStatus('ready');mfp._parseMarkup(template,{},item);return template}}});var AJAX_NS='ajax',_ajaxCur,_removeAjaxCursor=function(){if(_ajaxCur)$(document.body).removeClass(_ajaxCur)},_destroyAjaxRequest=function(){_removeAjaxCursor();if(mfp.req)mfp.req.abort()};$.magnificPopup.registerModule(AJAX_NS,{options:{settings:null,cursor:'mfp-ajax-cur',tError:'<a href="%url%">The content</a> could not be loaded.'},proto:{initAjax:function(){mfp.types.push(AJAX_NS);_ajaxCur=mfp.st.ajax.cursor;_mfpOn(CLOSE_EVENT+'.'+AJAX_NS,_destroyAjaxRequest);_mfpOn('BeforeChange.'+AJAX_NS,_destroyAjaxRequest)},getAjax:function(item){if(_ajaxCur)$(document.body).addClass(_ajaxCur);mfp.updateStatus('loading');var opts=$.extend({url:item.src,success:function(data,textStatus,jqXHR){var temp={data:data,xhr:jqXHR};_mfpTrigger('ParseAjax',temp);mfp.appendContent($(temp.data),AJAX_NS);item.finished=true;_removeAjaxCursor();mfp._setFocus();setTimeout(function(){mfp.wrap.addClass(READY_CLASS)},16);mfp.updateStatus('ready');_mfpTrigger('AjaxContentAdded')},error:function(){_removeAjaxCursor();item.finished=item.loadError=true;mfp.updateStatus('error',mfp.st.ajax.tError.replace('%url%',item.src))}},mfp.st.ajax.settings);mfp.req=$.ajax(opts);return''}}});var _imgInterval,_getTitle=function(item){if(item.data&&item.data.title!==undefined)return item.data.title;var src=mfp.st.image.titleSrc;if(src)if($.isFunction(src)){return src.call(mfp,item)}else if(item.el)return item.el.attr(src)||'';return''};$.magnificPopup.registerModule('image',{options:{markup:'<div class="mfp-figure"><div class="mfp-close"></div><figure><div class="mfp-img"></div><figcaption><div class="mfp-bottom-bar"><div class="mfp-title"></div><div class="mfp-counter"></div></div></figcaption></figure></div>',cursor:'mfp-zoom-out-cur',titleSrc:'title',verticalFit:true,tError:'<a href="%url%">The image</a> could not be loaded.'},proto:{initImage:function(){var imgSt=mfp.st.image,ns='.image';mfp.types.push('image');_mfpOn(OPEN_EVENT+ns,function(){if(mfp.currItem.type==='image'&&imgSt.cursor)$(document.body).addClass(imgSt.cursor)});_mfpOn(CLOSE_EVENT+ns,function(){if(imgSt.cursor)$(document.body).removeClass(imgSt.cursor);_window.off('resize'+EVENT_NS)});_mfpOn('Resize'+ns,mfp.resizeImage);if(mfp.isLowIE)_mfpOn('AfterChange',mfp.resizeImage)},resizeImage:function(){var item=mfp.currItem;if(!item||!item.img)return;if(mfp.st.image.verticalFit){var decr=0;if(mfp.isLowIE)decr=parseInt(item.img.css('padding-top'),10)+parseInt(item.img.css('padding-bottom'),10);item.img.css('max-height',mfp.wH-decr)}},_onImageHasSize:function(item){if(item.img){item.hasSize=true;if(_imgInterval)clearInterval(_imgInterval);item.isCheckingImgSize=false;_mfpTrigger('ImageHasSize',item);if(item.imgHidden){if(mfp.content)mfp.content.removeClass('mfp-loading');item.imgHidden=false}}},findImageSize:function(item){var counter=0,img=item.img[0],mfpSetInterval=function(delay){if(_imgInterval)clearInterval(_imgInterval);_imgInterval=setInterval(function(){if(img.naturalWidth>0){mfp._onImageHasSize(item);return};if(counter>200)clearInterval(_imgInterval);counter++;if(counter===3){mfpSetInterval(10)}else if(counter===40){mfpSetInterval(50)}else if(counter===100)mfpSetInterval(500)},delay)};mfpSetInterval(1)},getImage:function(item,template){var guard=0,onLoadComplete=function(){if(item)if(item.img[0].complete){item.img.off('.mfploader');if(item===mfp.currItem){mfp._onImageHasSize(item);mfp.updateStatus('ready')};item.hasSize=true;item.loaded=true;_mfpTrigger('ImageLoadComplete')}else{guard++;if(guard<200){setTimeout(onLoadComplete,100)}else onLoadError()}},onLoadError=function(){if(item){item.img.off('.mfploader');if(item===mfp.currItem){mfp._onImageHasSize(item);mfp.updateStatus('error',imgSt.tError.replace('%url%',item.src))};item.hasSize=true;item.loaded=true;item.loadError=true}},imgSt=mfp.st.image,el=template.find('.mfp-img');if(el.length){var img=document.createElement('img');img.className='mfp-img';if(item.el&&item.el.find('img').length)img.alt=item.el.find('img').attr('alt');item.img=$(img).on('load.mfploader',onLoadComplete).on('error.mfploader',onLoadError);img.src=item.src;if(el.is('img'))item.img=item.img.clone();img=item.img[0];if(img.naturalWidth>0){item.hasSize=true}else if(!img.width)item.hasSize=false};mfp._parseMarkup(template,{title:_getTitle(item),img_replaceWith:item.img},item);mfp.resizeImage();if(item.hasSize){if(_imgInterval)clearInterval(_imgInterval);if(item.loadError){template.addClass('mfp-loading');mfp.updateStatus('error',imgSt.tError.replace('%url%',item.src))}else{template.removeClass('mfp-loading');mfp.updateStatus('ready')};return template};mfp.updateStatus('loading');item.loading=true;if(!item.hasSize){item.imgHidden=true;template.addClass('mfp-loading');mfp.findImageSize(item)};return template}}});var hasMozTransform,getHasMozTransform=function(){if(hasMozTransform===undefined)hasMozTransform=document.createElement('p').style.MozTransform!==undefined;return hasMozTransform};$.magnificPopup.registerModule('zoom',{options:{enabled:false,easing:'ease-in-out',duration:300,opener:function(element){return element.is('img')?element:element.find('img')}},proto:{initZoom:function(){var zoomSt=mfp.st.zoom,ns='.zoom',image;if(!zoomSt.enabled||!mfp.supportsTransition)return;var duration=zoomSt.duration,getElToAnimate=function(image){var newImg=image.clone().removeAttr('style').removeAttr('class').addClass('mfp-animated-image'),transition='all '+(zoomSt.duration/1e3)+'s '+zoomSt.easing,cssObj={position:'fixed',zIndex:9999,left:0,top:0,'-webkit-backface-visibility':'hidden'},t='transition';cssObj['-webkit-'+t]=cssObj['-moz-'+t]=cssObj['-o-'+t]=cssObj[t]=transition;newImg.css(cssObj);return newImg},showMainContent=function(){mfp.content.css('visibility','visible')},openTimeout,animatedImg;_mfpOn('BuildControls'+ns,function(){if(mfp._allowZoom()){clearTimeout(openTimeout);mfp.content.css('visibility','hidden');image=mfp._getItemToZoom();if(!image){showMainContent();return};animatedImg=getElToAnimate(image);animatedImg.css(mfp._getOffset());mfp.wrap.append(animatedImg);openTimeout=setTimeout(function(){animatedImg.css(mfp._getOffset(true));openTimeout=setTimeout(function(){showMainContent();setTimeout(function(){animatedImg.remove();image=animatedImg=null;_mfpTrigger('ZoomAnimationEnded')},16)},duration)},16)}});_mfpOn(BEFORE_CLOSE_EVENT+ns,function(){if(mfp._allowZoom()){clearTimeout(openTimeout);mfp.st.removalDelay=duration;if(!image){image=mfp._getItemToZoom();if(!image)return;animatedImg=getElToAnimate(image)};animatedImg.css(mfp._getOffset(true));mfp.wrap.append(animatedImg);mfp.content.css('visibility','hidden');setTimeout(function(){animatedImg.css(mfp._getOffset())},16)}});_mfpOn(CLOSE_EVENT+ns,function(){if(mfp._allowZoom()){showMainContent();if(animatedImg)animatedImg.remove();image=null}})},_allowZoom:function(){return mfp.currItem.type==='image'},_getItemToZoom:function(){if(mfp.currItem.hasSize){return mfp.currItem.img}else return false},_getOffset:function(isLarge){var el;if(isLarge){el=mfp.currItem.img}else el=mfp.st.zoom.opener(mfp.currItem.el||mfp.currItem);var offset=el.offset(),paddingTop=parseInt(el.css('padding-top'),10),paddingBottom=parseInt(el.css('padding-bottom'),10);offset.top-=($(window).scrollTop()-paddingTop);var obj={width:el.width(),height:(_isJQ?el.innerHeight():el[0].offsetHeight)-paddingBottom-paddingTop};if(getHasMozTransform()){obj['-moz-transform']=obj.transform='translate('+offset.left+'px,'+offset.top+'px)'}else{obj.left=offset.left;obj.top=offset.top};return obj}}});var IFRAME_NS='iframe',_emptyPage='//about:blank',_fixIframeBugs=function(isShowing){if(mfp.currTemplate[IFRAME_NS]){var el=mfp.currTemplate[IFRAME_NS].find('iframe');if(el.length){if(!isShowing)el[0].src=_emptyPage;if(mfp.isIE8)el.css('display',isShowing?'block':'none')}}};$.magnificPopup.registerModule(IFRAME_NS,{options:{markup:'<div class="mfp-iframe-scaler"><div class="mfp-close"></div><iframe class="mfp-iframe" src="//about:blank" frameborder="0" allowfullscreen></iframe></div>',srcAction:'iframe_src',patterns:{youtube:{index:'youtube.com',id:'v=',src:'//www.youtube.com/embed/%id%?autoplay=1'},vimeo:{index:'vimeo.com/',id:'/',src:'//player.vimeo.com/video/%id%?autoplay=1'},gmaps:{index:'//maps.google.',src:'%id%&output=embed'}}},proto:{initIframe:function(){mfp.types.push(IFRAME_NS);_mfpOn('BeforeChange',function(e,prevType,newType){if(prevType!==newType)if(prevType===IFRAME_NS){_fixIframeBugs()}else if(newType===IFRAME_NS)_fixIframeBugs(true)});_mfpOn(CLOSE_EVENT+'.'+IFRAME_NS,function(){_fixIframeBugs()})},getIframe:function(item,template){var embedSrc=item.src,iframeSt=mfp.st.iframe;$.each(iframeSt.patterns,function(){if(embedSrc.indexOf(this.index)>-1){if(this.id)if(typeof this.id==='string'){embedSrc=embedSrc.substr(embedSrc.lastIndexOf(this.id)+this.id.length,embedSrc.length)}else embedSrc=this.id.call(this,embedSrc);embedSrc=this.src.replace('%id%',embedSrc);return false}});var dataObj={};if(iframeSt.srcAction)dataObj[iframeSt.srcAction]=embedSrc;mfp._parseMarkup(template,dataObj,item);mfp.updateStatus('ready');return template}}});var _getLoopedId=function(index){var numSlides=mfp.items.length;if(index>numSlides-1){return index-numSlides}else if(index<0)return numSlides+index;return index},_replaceCurrTotal=function(text,curr,total){return text.replace(/%curr%/gi,curr+1).replace(/%total%/gi,total)};$.magnificPopup.registerModule('gallery',{options:{enabled:false,arrowMarkup:'<button title="%title%" type="button" class="mfp-arrow mfp-arrow-%dir%"></button>',preload:[0,2],navigateByImgClick:true,arrows:true,tPrev:'Previous (Left arrow key)',tNext:'Next (Right arrow key)',tCounter:'%curr% of %total%'},proto:{initGallery:function(){var gSt=mfp.st.gallery,ns='.mfp-gallery';mfp.direction=true;if(!gSt||!gSt.enabled)return false;_wrapClasses+=' mfp-gallery';_mfpOn(OPEN_EVENT+ns,function(){if(gSt.navigateByImgClick)mfp.wrap.on('click'+ns,'.mfp-img',function(){if(mfp.items.length>1){mfp.next();return false}});_document.on('keydown'+ns,function(e){if(e.keyCode===37){mfp.prev()}else if(e.keyCode===39)mfp.next()})});_mfpOn('UpdateStatus'+ns,function(e,data){if(data.text)data.text=_replaceCurrTotal(data.text,mfp.currItem.index,mfp.items.length)});_mfpOn(MARKUP_PARSE_EVENT+ns,function(e,element,values,item){var l=mfp.items.length;values.counter=l>1?_replaceCurrTotal(gSt.tCounter,item.index,l):''});_mfpOn('BuildControls'+ns,function(){if(mfp.items.length>1&&gSt.arrows&&!mfp.arrowLeft){var markup=gSt.arrowMarkup,arrowLeft=mfp.arrowLeft=$(markup.replace(/%title%/gi,gSt.tPrev).replace(/%dir%/gi,'left')).addClass(PREVENT_CLOSE_CLASS),arrowRight=mfp.arrowRight=$(markup.replace(/%title%/gi,gSt.tNext).replace(/%dir%/gi,'right')).addClass(PREVENT_CLOSE_CLASS);arrowLeft.click(function(){mfp.prev()});arrowRight.click(function(){mfp.next()});mfp.container.append(arrowLeft.add(arrowRight))}});_mfpOn(CHANGE_EVENT+ns,function(){if(mfp._preloadTimeout)clearTimeout(mfp._preloadTimeout);mfp._preloadTimeout=setTimeout(function(){mfp.preloadNearbyImages();mfp._preloadTimeout=null},16)});_mfpOn(CLOSE_EVENT+ns,function(){_document.off(ns);mfp.wrap.off('click'+ns);mfp.arrowRight=mfp.arrowLeft=null})},next:function(){mfp.direction=true;mfp.index=_getLoopedId(mfp.index+1);mfp.updateItemHTML()},prev:function(){mfp.direction=false;mfp.index=_getLoopedId(mfp.index-1);mfp.updateItemHTML()},goTo:function(newIndex){mfp.direction=(newIndex>=mfp.index);mfp.index=newIndex;mfp.updateItemHTML()},preloadNearbyImages:function(){var p=mfp.st.gallery.preload,preloadBefore=Math.min(p[0],mfp.items.length),preloadAfter=Math.min(p[1],mfp.items.length),i;for(i=1;i<=(mfp.direction?preloadAfter:preloadBefore);i++)mfp._preloadItem(mfp.index+i);for(i=1;i<=(mfp.direction?preloadBefore:preloadAfter);i++)mfp._preloadItem(mfp.index-i)},_preloadItem:function(index){index=_getLoopedId(index);if(mfp.items[index].preloaded)return;var item=mfp.items[index];if(!item.parsed)item=mfp.parseEl(index);_mfpTrigger('LazyLoad',item);if(item.type==='image')item.img=$('<img class="mfp-img" />').on('load.mfploader',function(){item.hasSize=true}).on('error.mfploader',function(){item.hasSize=true;item.loadError=true;_mfpTrigger('LazyLoadError',item)}).attr('src',item.src);item.preloaded=true}}});var RETINA_NS='retina';$.magnificPopup.registerModule(RETINA_NS,{options:{replaceSrc:function(item){return item.src.replace(/\.\w+$/,function(m){return'@2x'+m})},ratio:1},proto:{initRetina:function(){if(window.devicePixelRatio>1){var st=mfp.st.retina,ratio=st.ratio;ratio=!isNaN(ratio)?ratio:ratio();if(ratio>1){_mfpOn('ImageHasSize.'+RETINA_NS,function(e,item){item.img.css({'max-width':item.img[0].naturalWidth/ratio,width:'100%'})});_mfpOn('ElementParse.'+RETINA_NS,function(e,item){item.src=st.replaceSrc(item,ratio)})}}}}});_checkInstance()}));
(function(root,factory){if(typeof define==='function'&&define.amd){define(['jquery'],factory)}else factory(jQuery)}(this,function($){'use strict';var NAMESPACE='toggleWidget',defaults={enabled:true,toggleBtnSelector:'.toggle-widget__toggle-btn',toggleContentSelector:'.toggle-widget__content',openClass:'toggle-widget--open',afterOpenClass:'toggle-widget--after-open',offsetTopShift:-20,scrollDuration:300},$htmlBody;$(function(){$htmlBody=$('html, body');$.fn[NAMESPACE]=function(options){return this.each(function(){var dataApi=$(this).data(NAMESPACE);if(dataApi)if(options==='destroy'&&proto.isPrototypeOf(dataApi)){dataApi.destroy();return}else throw NAMESPACE+' api already attached';ToggleWidget(_.extend({},defaults,options,{targetElem:this}))})}});var proto={},ToggleWidget=function(options){var api,$el=$(options.targetElem);if(!$el.length)return;var isOpen=$el.hasClass(options.openClass),isEnabled=options.enabled,$toggleContent,$toggleContentInner;if(options.toggleContent&&!options.toggleContentSelector)options.toggleContentSelector=options.toggleContent;if($.isFunction(options.toggleContentSelector)){$toggleContent=options.toggleContentSelector.call(this,$el)}else $toggleContent=$el.find(options.toggleContentSelector);$toggleContentInner=$toggleContent.children();$el.addClass('toggle-widget');$toggleContent.addClass('toggle-widget__content');if(options.toggleBtnSelector!==false)$el.on('click.'+NAMESPACE,options.toggleBtnSelector,function(){api.toggle()});api=_.extend(Object.create(proto),{open:function(){var self=this;if(isOpen===true)return this;if(isEnabled===false)return this;$el.trigger('beforeOpen.'+NAMESPACE,this);var contentInnerHeight=this.getContentInnerHeight();$toggleContent.off('.close.'+NAMESPACE);$toggleContent.on('transitionend.open.'+NAMESPACE+' webkitTransitionEnd.open.'+NAMESPACE,function(event){if(!$toggleContent.is(event.target))return;$toggleContent.css('height','auto');$toggleContent.off('.open.'+NAMESPACE);$el.addClass(options.afterOpenClass);$el.trigger('afterOpen.'+NAMESPACE,self)});$el.addClass(options.openClass);$toggleContent.css('height',contentInnerHeight);isOpen=true;return this},close:function(){var self=this;if(isOpen===false)return this;if(isEnabled===false)return this;$el.removeClass(options.afterOpenClass);$el.trigger('beforeClose.'+NAMESPACE,this);var contentInnerHeight=this.getContentInnerHeight();$toggleContent.off('.open.'+NAMESPACE);$toggleContent.on('transitionend.close.'+NAMESPACE+' webkitTransitionEnd.close.'+NAMESPACE,function(event){if(!$toggleContent.is(event.target))return;$toggleContent.off('.close.'+NAMESPACE);$el.trigger('afterClose.'+NAMESPACE,self)});$el.removeClass(options.openClass);$toggleContent.css('height',contentInnerHeight);$toggleContent.css('height');$toggleContent.css('height','');isOpen=false;return this},toggle:function(){if(isOpen===true){return this.close()}else return this.open()},enable:function(){isEnabled=true;return this},disable:function(){isEnabled=false;return this},getOffsetTop:function(){var offsetTop=$el.offset().top;offsetTop+=options.offsetTopShift;return offsetTop},getContentInnerHeight:function(){return $toggleContentInner.outerHeight()},scrollToOffsetTop:function(){var self=this;$htmlBody.animate({scrollTop:this.getOffsetTop()},options.scrollDuration,function(){$el.trigger('afterScrollToOffsetTop.'+NAMESPACE,self)});return this},isOpen:function(){return isOpen},destroy:function(){$el.removeClass(options.openClass);$toggleContent.css('height','');$el.off('.'+NAMESPACE);$el.data(NAMESPACE,null)}});if(isOpen)$toggleContent.css('height','auto');$el.data(NAMESPACE,api);$el.trigger('afterInit.'+NAMESPACE,api);return api}}));
(function($,window,undefined){var defaults={active:null,event:'click',disabled:[],collapsible:'accordion',startCollapsed:false,rotate:false,setHash:false,animation:'default',animationQueue:false,duration:500,fluidHeight:true,scrollToAccordion:false,scrollToAccordionOnLoad:true,scrollToAccordionOffset:0,accordionTabElement:'<div></div>',click:function(){},activate:function(){},deactivate:function(){},load:function(){},activateState:function(){},classes:{stateDefault:'r-tabs-state-default',stateActive:'r-tabs-state-active',stateDisabled:'r-tabs-state-disabled',stateExcluded:'r-tabs-state-excluded',container:'r-tabs',ul:'r-tabs-nav',tab:'r-tabs-tab',anchor:'r-tabs-anchor',panel:'r-tabs-panel',accordionTitle:'r-tabs-accordion-title'}}
function ResponsiveTabs(element,options){this.element=element;this.$element=$(element);this.tabs=[];this.state='';this.rotateInterval=0;this.$queue=$({});this.options=$.extend({},defaults,options);this.init()};ResponsiveTabs.prototype.init=function(){var _this=this;this.tabs=this._loadElements();this._loadClasses();this._loadEvents();$(window).on('resize',function(e){_this._setState(e);if(_this.options.fluidHeight!==true)_this._equaliseHeights()});$(window).on('hashchange',function(e){var tabRef=_this._getTabRefBySelector(window.location.hash),oTab=_this._getTab(tabRef);if(tabRef>=0&&!oTab._ignoreHashChange&&!oTab.disabled)_this._openTab(e,_this._getTab(tabRef),true)});if(this.options.rotate!==false)this.startRotation();if(this.options.fluidHeight!==true)_this._equaliseHeights();this.$element.bind('tabs-click',function(e,oTab){_this.options.click.call(this,e,oTab)});this.$element.bind('tabs-activate',function(e,oTab){_this.options.activate.call(this,e,oTab)});this.$element.bind('tabs-deactivate',function(e,oTab){_this.options.deactivate.call(this,e,oTab)});this.$element.bind('tabs-activate-state',function(e,state){_this.options.activateState.call(this,e,state)});this.$element.bind('tabs-load',function(e){var startTab;_this._setState(e);if(_this.options.startCollapsed!==true&&!(_this.options.startCollapsed==='accordion'&&_this.state==='accordion')){startTab=_this._getStartTab();_this._openTab(e,startTab);_this.options.load.call(this,e,startTab)}});this.$element.trigger('tabs-load')};ResponsiveTabs.prototype._loadElements=function(){var _this=this,$ul=this.$element.children('ul:first'),tabs=[],id=0;this.$element.addClass(_this.options.classes.container);$ul.addClass(_this.options.classes.ul);$('li',$ul).each(function(){var $tab=$(this),isExcluded=$tab.hasClass(_this.options.classes.stateExcluded),$anchor,$panel,$accordionTab,$accordionAnchor,panelSelector;if(!isExcluded){$anchor=$('a',$tab);panelSelector=$anchor.attr('href');$panel=$(panelSelector);$accordionTab=$(_this.options.accordionTabElement).insertBefore($panel);$accordionAnchor=$('<a></a>').attr('href',panelSelector).html($anchor.html()).appendTo($accordionTab);var oTab={_ignoreHashChange:false,id:id,disabled:($.inArray(id,_this.options.disabled)!==-1),tab:$(this),anchor:$('a',$tab),panel:$panel,selector:panelSelector,accordionTab:$accordionTab,accordionAnchor:$accordionAnchor,active:false};id++;tabs.push(oTab)}});return tabs};ResponsiveTabs.prototype._loadClasses=function(){for(var i=0;i<this.tabs.length;i++){this.tabs[i].tab.addClass(this.options.classes.stateDefault).addClass(this.options.classes.tab);this.tabs[i].anchor.addClass(this.options.classes.anchor);this.tabs[i].panel.addClass(this.options.classes.stateDefault).addClass(this.options.classes.panel);this.tabs[i].accordionTab.addClass(this.options.classes.accordionTitle);this.tabs[i].accordionAnchor.addClass(this.options.classes.anchor);if(this.tabs[i].disabled){this.tabs[i].tab.removeClass(this.options.classes.stateDefault).addClass(this.options.classes.stateDisabled);this.tabs[i].accordionTab.removeClass(this.options.classes.stateDefault).addClass(this.options.classes.stateDisabled)}}};ResponsiveTabs.prototype._loadEvents=function(){var _this=this,fActivate=function(e){var current=_this._getCurrentTab(),activatedTab=e.data.tab;e.preventDefault();activatedTab.tab.trigger('tabs-click',activatedTab);if(!activatedTab.disabled){if(_this.options.setHash)if(history.pushState){history.pushState(null,null,window.location.origin+window.location.pathname+window.location.search+activatedTab.selector)}else window.location.hash=activatedTab.selector;e.data.tab._ignoreHashChange=true;if(current!==activatedTab||_this._isCollapisble()){_this._closeTab(e,current);if(current!==activatedTab||!_this._isCollapisble())_this._openTab(e,activatedTab,false,true)}}};for(var i=0;i<this.tabs.length;i++){this.tabs[i].anchor.on(_this.options.event,{tab:_this.tabs[i]},fActivate);this.tabs[i].accordionAnchor.on(_this.options.event,{tab:_this.tabs[i]},fActivate)}};ResponsiveTabs.prototype._getStartTab=function(){var tabRef=this._getTabRefBySelector(window.location.hash),startTab;if(tabRef>=0&&!this._getTab(tabRef).disabled){startTab=this._getTab(tabRef)}else if(this.options.active>0&&!this._getTab(this.options.active).disabled){startTab=this._getTab(this.options.active)}else startTab=this._getTab(0);return startTab};ResponsiveTabs.prototype._setState=function(e){var $ul=$('ul:first',this.$element),oldState=this.state,startCollapsedIsState=(typeof this.options.startCollapsed==='string'),startTab;if($ul.is(':visible')){this.state='tabs'}else this.state='accordion';if(this.state!==oldState){this.$element.trigger('tabs-activate-state',{oldState:oldState,newState:this.state});if(oldState&&startCollapsedIsState&&this.options.startCollapsed!==this.state&&this._getCurrentTab()===undefined){startTab=this._getStartTab(e);this._openTab(e,startTab)}}};ResponsiveTabs.prototype._openTab=function(e,oTab,closeCurrent,stopRotation){var _this=this,scrollOffset;if(closeCurrent)this._closeTab(e,this._getCurrentTab());if(stopRotation&&this.rotateInterval>0)this.stopRotation();oTab.active=true;oTab.tab.removeClass(_this.options.classes.stateDefault).addClass(_this.options.classes.stateActive);oTab.accordionTab.removeClass(_this.options.classes.stateDefault).addClass(_this.options.classes.stateActive);_this._doTransition(oTab.panel,_this.options.animation,'open',function(){var scrollOnLoad=(e.type!=='tabs-load'||_this.options.scrollToAccordionOnLoad);oTab.panel.removeClass(_this.options.classes.stateDefault).addClass(_this.options.classes.stateActive);if(_this.getState()==='accordion'&&_this.options.scrollToAccordion&&(!_this._isInView(oTab.accordionTab)||_this.options.animation!=='default')&&scrollOnLoad){scrollOffset=oTab.accordionTab.offset().top-_this.options.scrollToAccordionOffset;if(_this.options.animation!=='default'&&_this.options.duration>0){$('html, body').animate({scrollTop:scrollOffset},_this.options.duration)}else $('html, body').scrollTop(scrollOffset)}});this.$element.trigger('tabs-activate',oTab)};ResponsiveTabs.prototype._closeTab=function(e,oTab){var _this=this,doQueueOnState=typeof _this.options.animationQueue==='string',doQueue;if(oTab!==undefined){if(doQueueOnState&&_this.getState()===_this.options.animationQueue){doQueue=true}else if(doQueueOnState){doQueue=false}else doQueue=_this.options.animationQueue;oTab.active=false;oTab.tab.removeClass(_this.options.classes.stateActive).addClass(_this.options.classes.stateDefault);_this._doTransition(oTab.panel,_this.options.animation,'close',function(){oTab.accordionTab.removeClass(_this.options.classes.stateActive).addClass(_this.options.classes.stateDefault);oTab.panel.removeClass(_this.options.classes.stateActive).addClass(_this.options.classes.stateDefault)},!doQueue);this.$element.trigger('tabs-deactivate',oTab)}};ResponsiveTabs.prototype._doTransition=function(panel,method,state,callback,dequeue){var effect,_this=this;switch(method){case'slide':effect=(state==='open')?'slideDown':'slideUp';break;case'fade':effect=(state==='open')?'fadeIn':'fadeOut';break;default:effect=(state==='open')?'show':'hide';_this.options.duration=0;break};this.$queue.queue('responsive-tabs',function(next){panel[effect]({duration:_this.options.duration,complete:function(){callback.call(panel,method,state);next()}})});if(state==='open'||dequeue)this.$queue.dequeue('responsive-tabs')};ResponsiveTabs.prototype._isCollapisble=function(){return(typeof this.options.collapsible==='boolean'&&this.options.collapsible)||(typeof this.options.collapsible==='string'&&this.options.collapsible===this.getState())};ResponsiveTabs.prototype._getTab=function(numRef){return this.tabs[numRef]};ResponsiveTabs.prototype._getTabRefBySelector=function(selector){for(var i=0;i<this.tabs.length;i++)if(this.tabs[i].selector===selector)return i;return-1};ResponsiveTabs.prototype._getCurrentTab=function(){return this._getTab(this._getCurrentTabRef())};ResponsiveTabs.prototype._getNextTabRef=function(currentTabRef){var tabRef=(currentTabRef||this._getCurrentTabRef()),nextTabRef=(tabRef===this.tabs.length-1)?0:tabRef+1;return(this._getTab(nextTabRef).disabled)?this._getNextTabRef(nextTabRef):nextTabRef};ResponsiveTabs.prototype._getPreviousTabRef=function(){return(this._getCurrentTabRef()===0)?this.tabs.length-1:this._getCurrentTabRef()-1};ResponsiveTabs.prototype._getCurrentTabRef=function(){for(var i=0;i<this.tabs.length;i++)if(this.tabs[i].active)return i;return-1};ResponsiveTabs.prototype._equaliseHeights=function(){var maxHeight=0;$.each($.map(this.tabs,function(tab){maxHeight=Math.max(maxHeight,tab.panel.css('minHeight','').height());return tab.panel}),function(){this.css('minHeight',maxHeight)})};ResponsiveTabs.prototype._isInView=function($element){var docViewTop=$(window).scrollTop(),docViewBottom=docViewTop+$(window).height(),elemTop=$element.offset().top,elemBottom=elemTop+$element.height();return((elemBottom<=docViewBottom)&&(elemTop>=docViewTop))};ResponsiveTabs.prototype.activate=function(tabRef,stopRotation){var e=jQuery.Event('tabs-activate'),oTab=this._getTab(tabRef);if(!oTab.disabled)this._openTab(e,oTab,true,stopRotation||true)};ResponsiveTabs.prototype.deactivate=function(tabRef){var e=jQuery.Event('tabs-dectivate'),oTab=this._getTab(tabRef);if(!oTab.disabled)this._closeTab(e,oTab)};ResponsiveTabs.prototype.enable=function(tabRef){var oTab=this._getTab(tabRef);if(oTab){oTab.disabled=false;oTab.tab.addClass(this.options.classes.stateDefault).removeClass(this.options.classes.stateDisabled);oTab.accordionTab.addClass(this.options.classes.stateDefault).removeClass(this.options.classes.stateDisabled)}};ResponsiveTabs.prototype.disable=function(tabRef){var oTab=this._getTab(tabRef);if(oTab){oTab.disabled=true;oTab.tab.removeClass(this.options.classes.stateDefault).addClass(this.options.classes.stateDisabled);oTab.accordionTab.removeClass(this.options.classes.stateDefault).addClass(this.options.classes.stateDisabled)}};ResponsiveTabs.prototype.getState=function(){return this.state};ResponsiveTabs.prototype.startRotation=function(speed){var _this=this;if(this.tabs.length>this.options.disabled.length){this.rotateInterval=setInterval(function(){var e=jQuery.Event('rotate');_this._openTab(e,_this._getTab(_this._getNextTabRef()),true)},speed||(($.isNumeric(_this.options.rotate))?_this.options.rotate:4e3))}else throw new Error("Rotation is not possible if all tabs are disabled")};ResponsiveTabs.prototype.stopRotation=function(){window.clearInterval(this.rotateInterval);this.rotateInterval=0};ResponsiveTabs.prototype.option=function(key,value){if(value)this.options[key]=value;return this.options[key]};$.fn.responsiveTabs=function(options){var args=arguments,instance;if(options===undefined||typeof options==='object'){return this.each(function(){if(!$.data(this,'responsivetabs'))$.data(this,'responsivetabs',new ResponsiveTabs(this,options))})}else if(typeof options==='string'&&options[0]!=='_'&&options!=='init'){instance=$.data(this[0],'responsivetabs');if(options==='destroy')$.data(this,'responsivetabs',null);if(instance instanceof ResponsiveTabs&&typeof instance[options]==='function'){return instance[options].apply(instance,Array.prototype.slice.call(args,1))}else return this}}}(jQuery,window));
(function(window,document){'use strict';var arrProto=Array.prototype,renderedClass='lazy-element--rendered',throttleTimout=200,scrollYOffset=50,renderEvent=(function(){var event;if(typeof window.Event==='function'){event=new Event('render')}else{event=document.createEvent('Event');event.initEvent('render',true,true)};return event})(),isVisibleAndInViewport=function(elem){var rect=elem.getBoundingClientRect();return elem.offsetParent&&rect.bottom>0&&rect.top-scrollYOffset<window.innerHeight&&rect.right>0&&rect.left<window.innerWidth},renderElement=function(elem){var noscript=elem.querySelector('noscript');if(!noscript||elem.lazyElementsTimer)return;elem.lazyElementsTimer=window.requestAnimationFrame(function(){noscript.outerHTML=noscript.textContent;elem.classList.add(renderedClass);elem.dispatchEvent(renderEvent);elem.lazyElementsTimer=null;if(typeof window.picturefill==='function')window.picturefill({elements:[elem.querySelector('img')]})})},checkElementAndRenderIfVisible=function(elem){if(isVisibleAndInViewport(elem)){renderElement(elem);return false};return true},checkElements=function(elements){return arrProto.filter.call(elements,checkElementAndRenderIfVisible)},attachViewportListener=function(pendingElements){var listener=_.throttle(function(){pendingElements=checkElements(pendingElements);if(pendingElements.length===0){window.removeEventListener('scroll',listener);window.removeEventListener('resize',listener)}},throttleTimout);window.addEventListener('scroll',listener);window.addEventListener('resize',listener)};window.lazyElements=function(elements,forceRender){if(elements&&elements.nodeType===1)elements=[elements];if(forceRender){arrProto.forEach.call(elements,renderElement)}else{elements=checkElements(elements);if(elements.length>0)attachViewportListener(elements)}}})(window,document);
(function(){'use strict';var api={},defaults={debug:false},conf;if(_===undefined||Backbone===undefined||jQuery===undefined)return;var resolved=Deferred().resolve().promise(),rejected=Deferred().reject().promise(),when=$.when,appReady=Deferred();_.extend(api,EventEmitter());appReady.done(function(){api.trigger('appReady')})
function EventEmitter(){return _.pick(Backbone.Events,['on','off','once','trigger'])}
function Deferred(){return new $.Deferred()}
function setValueByNamespace(obj,namespace,value){var tree=namespace.split('.'),key=tree.shift();while(tree.length){if(obj[key]!==undefined){obj=obj[key]}else obj=obj[key]={};key=tree.shift()};if(obj[key]===undefined){obj[key]=value;return true}else return false}
function getValueByNameSpace(obj,namespace){var tree=namespace.split('.'),key=tree.shift();while(tree.length){if(obj[key]===undefined)return;obj=obj[key];key=tree.shift()};return obj[namespace]}
function register(namespace,moduleApi){if(!namespace)return new Error('Namespace missing: ');var newModule=setValueByNamespace(this,namespace,moduleApi);return newModule?new Error('Module exists already: ',namespace):this}
function getConfig(namespace){var config=getValueByNameSpace(conf,namespace);if(!config)return;return deepCopy(config)}
function deepCopy(obj){return $.extend(true,{},obj)}
function init(options){conf=_.extend({},defaults,options);if(conf.debug===true)this.on('all',function(event){console.log(event)});api.getConfig=getConfig;$(function(){appReady.done(function(){api.trigger('appReadyEnd')});appReady.resolve()})};window.app=_.extend(api,{init:init,register:register,ready:function(cb){appReady.done.call(appReady,cb)},'$':jQuery,ajax:jQuery.ajax,deepCopy:deepCopy,Deferred:Deferred,resolved:resolved,rejected:rejected,when:when,Events:EventEmitter})}());
(function(app){var NAMESPACE='utils.natSort'
function naturalSort(a,b){var re=/(^-?[0-9]+(\.?[0-9]*)[df]?e?[0-9]?$|^0x[0-9a-f]+$|[0-9]+)/gi,sre=/(^[ ]*|[ ]*$)/g,dre=/(^([\w ]+,?[\w ]+)?[\w ]+,?[\w ]+\d+:\d+(:\d+)?[\w ]?|^\d{1,4}[\/\-]\d{1,4}[\/\-]\d{1,4}|^\w+, \w+ \d+, \d{4})/,hre=/^0x[0-9a-f]+$/i,ore=/^0/,i=function(s){return naturalSort.insensitive&&(''+s).toLowerCase()||''+s},x=i(a).replace(sre,'')||'',y=i(b).replace(sre,'')||'',xN=x.replace(re,'\0$1\0').replace(/\0$/,'').replace(/^\0/,'').split('\0'),yN=y.replace(re,'\0$1\0').replace(/\0$/,'').replace(/^\0/,'').split('\0'),xD=parseInt(x.match(hre))||(xN.length!=1&&x.match(dre)&&Date.parse(x)),yD=parseInt(y.match(hre))||xD&&y.match(dre)&&Date.parse(y)||null,oFxNcL,oFyNcL;if(yD)if(xD<yD){return-1}else if(xD>yD)return 1;for(var cLoc=0,numS=Math.max(xN.length,yN.length);cLoc<numS;cLoc++){oFxNcL=!(xN[cLoc]||'').match(ore)&&parseFloat(xN[cLoc])||xN[cLoc]||0;oFyNcL=!(yN[cLoc]||'').match(ore)&&parseFloat(yN[cLoc])||yN[cLoc]||0;if(isNaN(oFxNcL)!==isNaN(oFyNcL)){return(isNaN(oFxNcL))?1:-1}else if(typeof oFxNcL!==typeof oFyNcL){oFxNcL+='';oFyNcL+=''};if(oFxNcL<oFyNcL)return-1;if(oFxNcL>oFyNcL)return 1};return 0};naturalSort.insensitive=true;app.register(NAMESPACE,naturalSort)}(app));
(function(app){var NAMESPACE='utils.getTemplate',$=app.$
function getTemplate(selector){var $templateElem=$(selector),templateFunc=false;if(!$templateElem.length){console.error('Template missing: '+selector);return false};try{templateFunc=_.template($templateElem.html())}catch(e){console.error(e,'Template function failed: '+selector)};return templateFunc};app.register(NAMESPACE,getTemplate)}(app));
(function(app){var NAMESPACE='tracking',defaults={},conf,$=app.$;app.ready(function(){conf=_.defaults({},app.getConfig(NAMESPACE),defaults);app.register(NAMESPACE,module)});var module={gtmPush:function(data){var dataLayer=window.dataLayer;if(!dataLayer)return this;if(!data||!$.isPlainObject(data))return this;dataLayer.push(data);return this},gaSendEvent:function(params){var ga=window.ga;if(!ga)return this;if(!params||!$.isPlainObject(params))return this;ga('send','event',params);return this},facebookQueue:function(){var fbq=window.fbq;if(!fbq)return this;if(!arguments.length)return this;fbq.apply(null,arguments);return this}}}(app));
(function(app){var NAMESPACE='scrollHelper',defaults={},conf,$;app.ready(function(){conf=_.defaults({},app.getConfig(NAMESPACE),defaults);if(jQuery===undefined)throw'jQuery missing';$=jQuery;$(window).on('scroll.'+NAMESPACE,_.after(2,scrollHandler));scrollHandler();app.register(NAMESPACE,module)
function scrollHandler(event){app.trigger('scroll.'+NAMESPACE,{originalEvent:event,scrollY:window.scrollY})}});var module={scrollTo:function(target,options){options=options||{};var posY;if(target instanceof $){posY=target.offset().top}else{posY=parseInt(target);if(isNaN(posY))throw'target must be scrollPosition or jQuery Element'};if(posY>=0){(function(){if(!options.done)return;app.on('scroll.scrollHelper',scrollHandler)
function scrollHandler(data){if(data.scrollY===posY){options.done();app.off('scroll.scrollHelper',scrollHandler)}}}());window.scrollTo(0,posY)}},getDocumentScrollHeight:function(){var body=document.body,html=document.documentElement;return Math.max(body.scrollHeight,body.offsetHeight,html.clientHeight,html.scrollHeight,html.offsetHeight)}}}(app));
(function(app){var NAMESPACE='viewportHelper',defaults={triggerNormalEvents:true,debounceRate:100,breakpoints:[{width:0,name:'extra-small'},{width:768,name:'small'},{width:992,name:'medium'},{width:1200,name:'large'}]},conf,$=app.$,$window;app.ready(function(){conf=_.defaults({},app.getConfig(NAMESPACE),defaults);$window=$(window);app.register(NAMESPACE,Module(conf))});var Module=function(options){var api,windowWidth,windowHeight,currentBreakpoint;options=_.extend({},conf,options);if(options.triggerNormalEvents===true){$window.on('resize.'+NAMESPACE,resizeHandler);triggerDebouncedResize=_.debounce(triggerDebouncedResize,options.debounceRate);triggerDebouncedBreakpointChange=_.debounce(triggerDebouncedBreakpointChange,options.debounceRate)}else $window.on('resize.'+NAMESPACE,_.debounce(resizeHandler,options.debounceRate));api={getAllBreakpoints:function(){return app.deepCopy(options.breakpoints)},getBreakpointByWidth:function(targetWidth){if(isNaN(targetWidth))throw'width must be number';var targetIdx=_.sortedIndex(options.breakpoints,{width:targetWidth+1},'width');targetIdx-=1;return _.extend({},options.breakpoints[targetIdx])},getViewportState:function(){return{width:windowWidth,height:windowHeight,breakpoint:currentBreakpoint}}};updateViewportState();return api
function updateViewportState(){windowWidth=window.innerWidth;windowHeight=window.innerHeight;currentBreakpoint=api.getBreakpointByWidth(windowWidth)}
function resizeHandler(origEvent){var data,oldBreakpoint=currentBreakpoint,newBreakpoint;updateViewportState();newBreakpoint=currentBreakpoint;data={width:windowWidth,height:windowHeight,breakpoint:newBreakpoint,scrollY:$window.scrollTop(),origEvent:origEvent};if(options.triggerNormalEvents===true)app.trigger('resize.'+NAMESPACE,data);triggerDebouncedResize(data);if(oldBreakpoint.width!==newBreakpoint.width){if(options.triggerNormalEvents===true)app.trigger('breakpoint.'+NAMESPACE,data);triggerDebouncedBreakpointChange(data)}}
function triggerDebouncedResize(data){app.trigger('resizeDebounced.'+NAMESPACE,data)}
function triggerDebouncedBreakpointChange(data){app.trigger('breakpointDebounced.'+NAMESPACE,data)}}}(app));
(function(app){var NAMESPACE='pageFooterToTop',defaults={selector:'.page-footer-to-top',breakpoints:{isMobileBelow:768}},conf,$=app.$,viewportIsMobile,$htmlBody,$pageFooter,$pageFooterToTop,$pageFooterToTopDesktop;app.ready(function(){conf=_.defaults({},app.getConfig(NAMESPACE),defaults);if(!app.scrollHelper)return;if(!app.viewportHelper)return;$htmlBody=$('html, body');$pageFooter=$('.page-footer');$pageFooterToTop=$(conf.selector);$pageFooterToTopDesktop=$pageFooterToTop.filter('.page-footer-to-top--desktop');if(!$pageFooterToTop.length)return;app.on('breakpointDebounced.viewportHelper',breakpointHandler);breakpointHandler();app.on('scroll.scrollHelper',function(data){scrollHandler(data.scrollY)});$pageFooterToTop.on('click.'+NAMESPACE,function(event){event.preventDefault();app.scrollHelper.scrollTo(0,{duration:300})})
function breakpointHandler(){viewportIsMobile=(app.viewportHelper.getViewportState().width<conf.breakpoints.isMobileBelow)}
function scrollHandler(scrollTop){if(viewportIsMobile)return;var elOffsetTop=parseInt($pageFooter.offset().top),windowHeight=app.viewportHelper.getViewportState().height,bottomEdgeVisible=scrollTop>=elOffsetTop-windowHeight;$pageFooterToTopDesktop.toggleClass('page-footer-to-top--visible',bottomEdgeVisible)}})}(app));
(function(app){var NAMESPACE='mainNavMobile',defaults={breakpoints:{isMobileBelow:992},prepareMarkup:null},conf,$=app.$,$window,$html,$mainNavTrigger,$mainNav,$mainNavInner,$navSlider,$levelContents,$mainNavListItems,$mainNavDropdownListItems,mobileNavIsOpen,viewportIsMobile,windowScrollTop,pageHeaderCollapseItemIsOpen=false,currentLevel=0,maxListLevel=0,LEVEL_CONTENT_CLASS='main-nav__level-content',LEVEL_CONTENT_VISIBLE_STATE_CLASS=LEVEL_CONTENT_CLASS+'--visible',GET_LEVEL_OF_CONTENT_REG_EXP=new RegExp(LEVEL_CONTENT_CLASS+'--([0-9]+)'),LEVEL_LIST_CLASS='main-nav__level-list';app.ready(function(){conf=_.defaults({},app.getConfig(NAMESPACE),defaults);if(!requestAnimationFrame)throw'requestAnimationFrame not supported';if(!app.viewportHelper)throw'viewportHelper module missing';$window=$(window);$html=$('html');$mainNavTrigger=$('.main-nav-trigger');$mainNav=$('.main-nav');$mainNavInner=$mainNav.find('.main-nav__inner');$navSlider=$mainNavInner.children('.main-nav__nav-slider');$levelContents=$navSlider.find('.'+LEVEL_CONTENT_CLASS).not('.'+LEVEL_CONTENT_CLASS+'--1');$mainNavListItems=$mainNavInner.find('.'+LEVEL_LIST_CLASS+'-item');$mainNavDropdownListItems=$navSlider.find('.'+LEVEL_LIST_CLASS+'--1 > .main-nav__level-list-item--has-sub');if(!$mainNav.length||!$mainNavInner.length||!$navSlider.length){console.info('no main-nav found, module disabled');return};app.register(NAMESPACE,module);module.render()});var module={render:function(){mobileNavIsOpen=false;app.on('breakpointDebounced.viewportHelper',breakpointHandler);breakpointHandler();app.on('open.pageHeaderCollapseItem',function(){pageHeaderCollapseItemIsOpen=true});app.on('close.pageHeaderCollapseItem',function(){pageHeaderCollapseItemIsOpen=false});if($levelContents.length){requestAnimationFrame(prepareMarkup);maxListLevel=this.getDeepestListLevel();this.goToLevelByContent(this.getCurrentLevelContent())};this.render=function(){}
function breakpointHandler(){var _viewportIsMobile=viewportIsMobile;viewportIsMobile=(app.viewportHelper.getViewportState().width<conf.breakpoints.isMobileBelow);if(_viewportIsMobile===viewportIsMobile)return;initEventHandling()}},openMobileNav:function(){if(mobileNavIsOpen===true)return this;windowScrollTop=$window.scrollTop();$mainNav.on('transitionend.'+NAMESPACE+' webkitTransitionEnd.'+NAMESPACE,function(){$html.addClass('page--clip-viewport');$mainNav.off('.'+NAMESPACE)});mobileNavIsOpen=true;$html.addClass('is-main-nav-open');app.trigger('open.'+NAMESPACE);return this},closeMobileNav:function(){if(mobileNavIsOpen===false)return this;mobileNavIsOpen=false;$html.removeClass('page--clip-viewport is-main-nav-open');$window.scrollTop(windowScrollTop);app.trigger('close.'+NAMESPACE);return this},toggleMobileNav:function(){if(mobileNavIsOpen){this.closeMobileNav()}else this.openMobileNav();return this},goToHomeLevel:function(){if(currentLevel===0)return this;currentLevel=0;$navSlider.css('left',0);levelContentVisibilityCleanup();return this},goToPrevLevel:function(){if(currentLevel===0)return this;currentLevel-=1;$navSlider.css('left',-currentLevel*100+'%');levelContentVisibilityCleanup();return this},goToLevelByContent:function($levelContent){if(currentLevel===maxListLevel)return this;$levelContent=$($levelContent);if(!$levelContent.hasClass(LEVEL_CONTENT_CLASS))return this;currentLevel=this.getLvlOfContent($levelContent)-1;$levelContents.filter($levelContent.parents('.'+LEVEL_CONTENT_CLASS)).addClass(LEVEL_CONTENT_VISIBLE_STATE_CLASS);$levelContent.addClass(LEVEL_CONTENT_VISIBLE_STATE_CLASS);$navSlider.css('left',-currentLevel*100+'%');return this},getLvlOfContent:function($levelContent){$levelContent=$($levelContent);var lvl=$levelContent.attr('class').match(GET_LEVEL_OF_CONTENT_REG_EXP)||[];lvl=lvl[1];return parseInt(lvl)},getCurrentLevelContent:function(){var $currentListItemLink=$mainNavListItems.filter('.main-nav__level-list-item--current').children('a'),$nextElem=$currentListItemLink.next();if($nextElem.hasClass(LEVEL_CONTENT_CLASS)){return $nextElem}else return $currentListItemLink.closest('.'+LEVEL_CONTENT_CLASS)},getDeepestListLevel:function(){var self=this,maxLevel=0;$levelContents.each(function(){var lvl=self.getLvlOfContent($(this));if(lvl>maxLevel)maxLevel=lvl});maxLevel=maxLevel[1]-1;return maxLevel}};initEventHandling=_.bind(initEventHandling,module);prepareMarkup=_.bind(prepareMarkup,module);levelContentVisibilityCleanup=_.bind(levelContentVisibilityCleanup,module)
function initEventHandling(){var self=this;if(viewportIsMobile){$mainNavTrigger.on('click.'+NAMESPACE,function(){if(pageHeaderCollapseItemIsOpen){app.once('close.pageHeaderCollapseItem',function(){self.toggleMobileNav()})}else self.toggleMobileNav()});$html.on('click.'+NAMESPACE,function(event){if($(event.target).closest('.main-nav, .main-nav-trigger').length)return;self.closeMobileNav();$mainNavDropdownListItems.removeClass('main-nav__level-list-item--entered')});$mainNavInner.on('click.'+NAMESPACE,'.main-nav__level-list-item--go-home > a',function(event){event.preventDefault();self.goToHomeLevel()}).on('click.'+NAMESPACE,'.main-nav__level-list-item--go-back > a',function(event){event.preventDefault();self.goToPrevLevel()}).on('click.'+NAMESPACE,'.main-nav__level-list-item--has-sub > a',function(event){var $nextSibling=$(this).next();event.preventDefault();self.goToLevelByContent($nextSibling)})}else{self.closeMobileNav();$mainNavTrigger.off('.'+NAMESPACE);$html.off('.'+NAMESPACE);$mainNavInner.off('.'+NAMESPACE)}}
function prepareMarkup(){if(_.isFunction(conf.prepareMarkup)){conf.prepareMarkup.call(this);return};var $svgIconArrow=$('<svg class="svg-icon svg-icon--arrow"><use xlink:href="#kit--arrow"></use></svg>'),$svgIconOverview=$('<svg class="svg-icon svg-icon--overview"><use xlink:href="#kit--overview"></use></svg>'),$svgIconGlobe=$('<svg class="svg-icon svg-icon--globe"><use xlink:href="#kit--globe"></use></svg>');$mainNavListItems.filter('.main-nav__level-list-item--title').children('a').each(function(){var $closestLink=$(this).closest('.main-nav__level-list-item--has-sub').children('a');$(this).attr('href',$closestLink.attr('href')).html($closestLink.data('level-title'))});$levelContents.find('.main-nav__level-list').each(function(){var $goBackLinks=$(this).children('.main-nav__level-list-item--go-back');$goBackLinks.each(function(idx){var $closestTitleLink=$(this).closest('.main-nav__level-list--'+(idx+2)).children('.main-nav__level-list-item--title').children('a');$(this).children('a').html($closestTitleLink.text())})});$mainNav.find('.main-nav-meta-nav').each(function(){$levelContents.append($(this).clone())});$mainNavListItems.not('.main-nav__level-list-item--title').children('a').append($svgIconArrow.clone());$mainNavListItems.filter('.main-nav__level-list-item--title').children('a').append($svgIconOverview.clone());$mainNavListItems.filter('.main-nav__level-list-item--go-home').children('a').append($svgIconGlobe.clone());$('.main-nav-language-nav [class*="lang-"]').each(function(){var $item=$(this),langKey=$item.attr('class').match(/lang-([a-z]{2})/i)||[];langKey=langKey[1];if(!langKey)return;var svgHtml=$('<svg class="svg-icon svg-icon--no-fill svg-icon--flag-'+langKey+'"><use xlink:href="#flag--'+langKey+'"></use></svg>');$(this).children('a, span').append(svgHtml)})}
function levelContentVisibilityCleanup(){var self=this,$filteredLevelContents=$levelContents.filter(function(){if(!$(this).hasClass(LEVEL_CONTENT_VISIBLE_STATE_CLASS))return false;var lvl=self.getLvlOfContent($(this));return lvl-1>currentLevel});$navSlider.on('transitionend.'+NAMESPACE+' webkitTransitionEnd.'+NAMESPACE,function(){$filteredLevelContents.removeClass(LEVEL_CONTENT_VISIBLE_STATE_CLASS);$navSlider.off('.'+NAMESPACE)})}}(app));
(function(app){var NAMESPACE='styledSelect',defaults={selector:'.styled-select',autoStart:true,labelSelector:'.styled-select__mask-text',styleInit:null,autosubmitOnChange:false},conf,$=app.$;app.ready(function(){conf=_.defaults({},app.getConfig(NAMESPACE),defaults);app.register(NAMESPACE,Module);if(conf.autoStart===true)$(conf.selector).each(function(){Module({targetElem:$(this)})})});var Module=function(options){options=_.extend({},conf,options);return StyledSelect(options)},StyledSelect=function(options){var api,$targetElem=$(options.targetElem);if(!$targetElem.length)return;var $select=$targetElem.find('select'),$label=$targetElem.find(options.labelSelector);if(!$targetElem.length)return;if(!$select.is('select'))throw'element supplied must be of node type select';if(!$label.length)throw'select label (mask) missing';if($targetElem.data(NAMESPACE))return;if(options.styleInit&&$.isFunction(options.styleInit))options.styleInit.call($targetElem);$select.on('change.'+NAMESPACE,function(){api.updateSelect()});api={updateSelect:function(){var selectedOption=$select.children(':selected'),selectedOptionText=selectedOption.html();$label.html(selectedOptionText);if(selectedOption.length){$targetElem.addClass('styled-select--option-selected');$targetElem.removeClass('styled-select--disabled-option-selected styled-select--no-option-selected');if(selectedOption.attr('disabled'))$targetElem.addClass('styled-select--disabled-option-selected')}else $targetElem.addClass('styled-select--no-option-selected');if(options.autosubmitOnChange===true&&this.form)this.form.submit();return this},destroySelect:function(){$select.off('.'+NAMESPACE);return this}};api.updateSelect();$targetElem.data(NAMESPACE,api);return api}}(app));
(function(app){var NAMESPACE='contentForm',defaults={selector:'.content-form',autoStart:true,breakpoints:{isMobileBelow:992},parsleyOptions:{errorClass:'content-form__field--is-error',successClass:'content-form__field--is-success',classHandler:function(field){return field.$element.closest('.content-form__field')},errorsContainer:function(field){return field.$element.closest('.content-form__field')},errorsWrapper:'<ul class="content-form__field-errors-list"></ul>'},enableValidation:function($form){return!$form.is('[novalidate]')},formRequestIsPendingClass:'content-form--is-pending-submission',checkboxDropdownOptions:{moveHelperInput:true,delimiter:', '},enableAjax:function($form){return $form.hasClass('content-form--ajax')},ajaxResponseFilter:function(response){return $(response).find('.content-form-thank-you').eq(0)}},conf,$=app.$,viewportIsMobile;app.ready(function(){conf=_.defaults({},app.getConfig(NAMESPACE),defaults);if(Parsley===undefined)throw'Parsley or scrollHelper missing';if(!app.viewportHelper)throw'viewportHelper module missing';if(!app.scrollHelper)throw'scrollHelper module missing';app.on('breakpointDebounced.viewportHelper',breakpointHandler);breakpointHandler();app.register(NAMESPACE,Module);if(conf.autoStart===true)$(conf.selector).each(function(){Module({targetElem:$(this)})})
function breakpointHandler(){viewportIsMobile=(app.viewportHelper.getViewportState().width<conf.breakpoints.isMobileBelow)}});var Module=function(options){return ContentForm(_.extend({},conf,options))},ContentForm=function(options){var api,$targetElem=$(options.targetElem);if(!$targetElem.length)return;if($targetElem.data(NAMESPACE))return;api={initFormFieldState:initFormFieldState,initCheckboxDropdowns:initCheckboxDropdowns};initFormFieldState();initCheckboxDropdowns(options.checkboxDropdownOptions);if(_.isFunction(options.enableValidation))options.enableValidation=_.bind(options.enableValidation,api,$targetElem);if(_.result(options,'enableValidation')===true)initFormValidation();if(_.isFunction(options.enableAjax))options.enableAjax=_.bind(options.enableAjax,api,$targetElem);$targetElem.data(NAMESPACE,api);return api
function initFormFieldState(){$targetElem.find('.content-form__field').off('.'+NAMESPACE).filter('.content-form__field--input, .content-form__field--textarea').each(function(){var $field=$(this),$input=$field.find('input, textarea').eq(0);$input.on('keyup.'+NAMESPACE+' change.'+NAMESPACE+' input',handler);handler()
function handler(event){$field.toggleClass('content-form__field--is-entered',$input.val()!=='')}}).end().filter('.content-form__field--radio, .content-form__field--checkbox').each(function(){var $field=$(this),$input=$field.find('input');$input.on('change.'+NAMESPACE,handler);handler()
function handler(event){$field.toggleClass('content-form__field--is-entered',$input.is(':checked'))}});return api}
function initCheckboxDropdowns(options){var $checkboxDropdowns=$targetElem.find('.content-form__field--checkbox-dropdown');$checkboxDropdowns.off('click.'+NAMESPACE).on('click.'+NAMESPACE,'.content-form__field-inner-label',function(event){var $delegateTarget=$(event.delegateTarget),isCurrentlyOpen=$delegateTarget.hasClass('content-form__field--checkbox-dropdown-open');$delegateTarget.toggleClass('content-form__field--checkbox-dropdown-open').trigger('openStateChange.'+NAMESPACE,{oldState:isCurrentlyOpen,newState:!isCurrentlyOpen})}).on('change.'+NAMESPACE,'input[type="checkbox"]',function(event){var $delegateTarget=$(event.delegateTarget),newVal=[];$delegateTarget.find('input[type="checkbox"]').filter(':checked').each(function(){newVal.push($(this).val())});$delegateTarget.children('input[type="hidden"]').val(newVal.join($delegateTarget.data('delimiter')||', '))});if(options)$checkboxDropdowns.each(function(){var $dropdownField=$(this);if(options.moveHelperInput===true)$dropdownField.next('input[type="hidden"]').appendTo($dropdownField);if(options.delimiter&&options.delimiter.length)$dropdownField.data('delimiter',options.delimiter)});return api}
function initFormValidation(){var pendingRequest=false;$targetElem.find('.required').attr('data-parsley-required',true);api.formValidationApi=$targetElem.parsley(options.parsleyOptions);api.formValidationApi.on('form:error',function(){if(!viewportIsMobile)return;var firstFieldWithError=_.find(this.fields,function(field){return!!field.getErrorsMessages().length}),offsetTop=$(firstFieldWithError.$element[0]).offset().top;app.scrollHelper.scrollTo(offsetTop-30)});api.formValidationApi.on('form:submit',function(){if(pendingRequest===true||$.isPlainObject(pendingRequest))return false;$targetElem.addClass(options.formRequestIsPendingClass);pendingRequest=true;if(_.result(options,'enableAjax')===true){pendingRequest=$.ajax({type:'POST',dataType:'html',url:$targetElem.attr('action'),data:$targetElem.serialize(),success:function(response){response=options.ajaxResponseFilter.call($targetElem,response);$targetElem.replaceWith(response)},error:function(jqXhr,textStatus,errorThrown){$targetElem.replaceWith(textStatus+': '+errorThrown);console.error(textStatus,errorThrown)}}).always(function(){$targetElem.removeClass(options.formRequestIsPendingClass);pendingRequest=false});return false}})}}}(app));
(function(app){var NAMESPACE='contentImg',defaults={selector:'.content-img',autoStart:true,magnificPopup:{type:'image',image:{cursor:null},closeMarkup:'<button title="%title%" type="button" class="content-img-popup__close-btn mfp-close"><svg class="svg-icon svg-icon--cross" xmlns="http://www.w3.org/2000/svg" width="422.6" height="422.6" viewBox="0 0 422.6 422.6"><path d="M246.7 211.3L415.3 42.7c9.8-9.8 9.8-25.6 0-35.4-9.8-9.8-25.6-9.8-35.4 0L211.3 175.9 42.7 7.3c-9.8-9.8-25.6-9.8-35.4 0-9.8 9.8-9.8 25.6 0 35.4l168.6 168.6L7.3 379.9c-9.8 9.8-9.8 25.6 0 35.4 4.9 4.9 11.3 7.3 17.7 7.3s12.8-2.4 17.7-7.3l168.6-168.6 168.6 168.6c4.9 4.9 11.3 7.3 17.7 7.3s12.8-2.4 17.7-7.3c9.8-9.8 9.8-25.6 0-35.4L246.7 211.3z"/></svg></button>',mainClass:'content-img-popup',fixedContentPos:true,overflowY:'scroll'}},conf,$=app.$;app.ready(function(){conf=_.defaults({},app.getConfig(NAMESPACE),defaults);if(!$.fn.magnificPopup)throw'jQuery magnificPopup plugin missing';app.register(NAMESPACE,Module);if(conf.autoStart===true)$(conf.selector).each(function(){Module({targetElem:$(this)})})});var Module=function(options){options=_.extend({},conf,options);var $targetElem=$(options.targetElem);if($targetElem.hasClass('content-img--popup'))return ContentImagePopup(options)},ContentImagePopup=function(options){var $targetElem=$(options.targetElem);if(!$targetElem.length)return;$targetElem.children('.content-img__link').magnificPopup(options.magnificPopup);return{}}}(app));
(function(app){var NAMESPACE='contentVideo',defaults={selector:'.page-content .content-video',autoStart:true},conf,$=app.$;app.ready(function(){conf=_.defaults({},app.getConfig(NAMESPACE),defaults);if(!window.lazyElements)throw'lazyElements plugin missing';app.register(NAMESPACE,Module);if(conf.autoStart===true)$(conf.selector).each(function(){Module({targetElem:$(this)})})});var Module=function(options){return ContentVideo(_.extend({},conf,options))},ContentVideo=function(options){var api,$targetElem=$(options.targetElem);if(!$targetElem.length)return;lazyElements($targetElem);api={};return api}}(app));
(function(app){var NAMESPACE='contentTeaser2',defaults={selector:'.page-content .content-teaser-2',autoStart:true},conf,$=app.$;app.ready(function(){conf=_.defaults({},app.getConfig(NAMESPACE),defaults);if(!window.lazyElements)throw'lazyElements plugin missing';app.register(NAMESPACE,Module);if(conf.autoStart===true)$(conf.selector).each(function(){Module({targetElem:$(this)})})});var Module=function(options){return ContentTeaser2(_.extend({},conf,options))},ContentTeaser2=function(options){var $targetElem=$(options.targetElem);if(!$targetElem.length)return;lazyElements($targetElem.find('.content-teaser-2__target-img-wrap--lazy'));return{}}}(app));
(function(app){var NAMESPACE='contentImageGallery',defaults={selector:'.page-content .content-image-gallery__inner',autoStart:true,magnificPopup:{delegate:'.content-image-gallery__item-link',type:'image',image:{cursor:null},gallery:{enabled:true,preload:[1,3],navigateByImgClick:true,arrowMarkup:'<button title="%title%" type="button" class="content-image-gallery__popup-arrow content-image-gallery__popup-arrow--%dir% mfp-arrow mfp-arrow-%dir%"><svg class="svg-icon svg-icon--arrow" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 500 280"><path d="M491.2 8.8c-11.7-11.7-30.7-11.7-42.4 0L250 207.6 51.2 8.8C39.5-2.9 20.5-2.9 8.8 8.8-3 20.5-3 39.5 8.8 51.2l220 220c2.9 2.9 6.3 5.1 9.9 6.6 3.6 1.5 7.4 2.2 11.3 2.2 7.7 0 15.4-2.9 21.2-8.8l220-220c11.8-11.7 11.8-30.7 0-42.4z"/></svg></button>',tCounter:'<span class="content-image-gallery__popup-counter mfp-counter">%curr%/%total%</span>'},closeMarkup:'<button title="%title%" type="button" class="content-image-gallery__popup-close-btn mfp-close"><svg class="svg-icon svg-icon--cross" xmlns="http://www.w3.org/2000/svg" width="422.6" height="422.6" viewBox="0 0 422.6 422.6"><path d="M246.7 211.3L415.3 42.7c9.8-9.8 9.8-25.6 0-35.4-9.8-9.8-25.6-9.8-35.4 0L211.3 175.9 42.7 7.3c-9.8-9.8-25.6-9.8-35.4 0-9.8 9.8-9.8 25.6 0 35.4l168.6 168.6L7.3 379.9c-9.8 9.8-9.8 25.6 0 35.4 4.9 4.9 11.3 7.3 17.7 7.3s12.8-2.4 17.7-7.3l168.6-168.6 168.6 168.6c4.9 4.9 11.3 7.3 17.7 7.3s12.8-2.4 17.7-7.3c9.8-9.8 9.8-25.6 0-35.4L246.7 211.3z"/></svg></button>',mainClass:'content-image-gallery__popup',fixedContentPos:true,overflowY:'scroll'}},conf,$=app.$;app.ready(function(){conf=_.defaults({},app.getConfig(NAMESPACE),defaults);if(!window.lazyElements)throw'lazyElements plugin missing';if(!$.fn.magnificPopup)throw'jQuery Magnific Popup missing';app.register(NAMESPACE,Module);if(conf.autoStart===true)$(conf.selector).each(function(){Module({targetElem:$(this)})})});var Module=function(options){return ContentImageGallery(_.extend({},conf,options))},ContentImageGallery=function(options){var api,$targetElem=$(options.targetElem);if(!$targetElem.length)return;lazyElements($targetElem.find('.content-image-gallery__item-link--lazy'));$targetElem.magnificPopup(options.magnificPopup);api={};return api}}(app));
(function(app){var NAMESPACE='contentAccordion',defaults={selector:'.page-content .content-accordion',autoStart:true,breakpoints:{isMobileBelow:992},toggleBtnSelector:'.content-accordion__toggle-btn',toggleContentSelector:'.content-accordion__content',openClass:'content-accordion--open',offsetTopShift:-20},conf,$=app.$,viewportIsMobile,$accordionWrapTpl;app.ready(function(){conf=_.defaults({},app.getConfig(NAMESPACE),defaults);if(!$.fn.toggleWidget)throw'jQuery toggleWidget plugin missing';if(!app.viewportHelper)throw'viewportHelper module missing';$accordionWrapTpl=$('<section class="content-accordions-wrap content-element"></section>');app.on('breakpointDebounced.viewportHelper',breakpointHandler);breakpointHandler();app.register(NAMESPACE,Module);if(conf.autoStart===true)$(conf.selector).each(function(){Module({targetElem:$(this)})})
function breakpointHandler(){viewportIsMobile=(app.viewportHelper.getViewportState().width<conf.breakpoints.isMobileBelow)}});var Module=function(options){return ContentAccordion(_.extend({},conf,options))},ContentAccordion=function(options){var $newAccordionWrap,$targetElem=$(options.targetElem);if(!$targetElem.length)return;if(!$targetElem.parent('.content-accordions-wrap').length){$newAccordionWrap=$accordionWrapTpl.clone();$newAccordionWrap.append($targetElem.nextUntil(':not(.content-accordion)'));$newAccordionWrap.insertBefore($targetElem);$newAccordionWrap.prepend($targetElem)};$targetElem.toggleWidget(options);$targetElem.on('beforeClose',function(api){if(viewportIsMobile===true)api.scrollToOffsetTop()});return{}}}(app));
(function(app){var NAMESPACE='contentTabs',defaults={selector:'.page-content .content-tabs',autoStart:true,responsiveTabs:{collapsible:false,load:function(event,firstTab){$(this).find('.r-tabs-accordion-title a').append('<svg class="svg-icon svg-icon--arrow"><use xlink:href="#kit--arrow"></use></svg>')}}},conf,$=app.$;app.ready(function(){conf=_.defaults({},app.getConfig(NAMESPACE),defaults);if(!$.fn.responsiveTabs)throw'jQuery responsiveTabs plugin missing';app.register(NAMESPACE,Module);if(conf.autoStart===true)$(conf.selector).each(function(){Module({targetElem:$(this)})})});var Module=function(options){return ContentTabs(_.extend({},conf,options))},ContentTabs=function(options){var $targetElem=$(options.targetElem);if(!$targetElem.length)return;$targetElem.responsiveTabs(options.responsiveTabs);return{}}}(app));
(function(app){var NAMESPACE='cookieLayer',defaults={selector:'#cookie-layer'},conf,$=app.$;app.ready(function(){conf=_.defaults({},app.getConfig(NAMESPACE),defaults);if(!$.flexModal)throw'jquery FlexModal plugin missing';var hideCookieLayer=document.cookie.match(/hideCookieLayer=(.*?)(?:;|$)/);if(hideCookieLayer!==null)hideCookieLayer=hideCookieLayer[1];if(hideCookieLayer==='true')return;app.register(NAMESPACE,Module())});var Module=function(options){var api;options=_.extend({},conf,options);var $cookieLayerItem=$(options.selector);if(!$cookieLayerItem.length)return;var $cookieLayerItemContent;$cookieLayerItem.data({closeBtnMarkup:false,closeOnOverlayClick:false,closeOnEscKey:false});$.flexModal.add(options.selector,function(flexModalApi){$cookieLayerItem=$(this);$cookieLayerItemContent=$cookieLayerItem.children();app.on('resizeDebounced.viewportHelper.'+NAMESPACE,function(){updateHeight()});requestAnimationFrame(function(){updateHeight()});$cookieLayerItem.on('click','.btn-confirm',function(){api.saveCookie(true);updateHeight(0);flexModalApi.close(options.selector);app.off('resizeDebounced.viewportHelper.'+NAMESPACE)})});$.flexModal.open(options.selector);api={saveCookie:function(val){if(!val)return api;var exdate=new Date();exdate.setDate(exdate.getDate()+356);exdate="; expires="+exdate.toUTCString()+'; path=/;';document.cookie="hideCookieLayer="+val+exdate;return api}};return api
function updateHeight(newHeight){newHeight=(typeof newHeight==='number')?newHeight:$cookieLayerItemContent.outerHeight();$cookieLayerItem.css('height',newHeight)}}}(app));
(function($){'use strict'
function MultipleSelect($el,options){var that=this,name=$el.attr('name')||options.name||'',elWidth=$el.width();this.$el=$el.hide();this.options=options;this.$parent=$('<div class="ms-parent"></div>');this.$choice=$('<button type="button" class="ms-choice"><span class="placeholder">'+options.placeholder+'</span><div></div></button>');this.$drop=$('<div class="ms-drop '+options.position+'"></div>');this.$el.after(this.$parent);this.$parent.append(this.$choice);this.$parent.append(this.$drop);if(this.$el.prop('disabled'))this.$choice.addClass('disabled');this.$choice.css('width',elWidth+'px');this.$drop.css({width:(options.width||elWidth)+'px'});if(!this.options.keepOpen)$('body').click(function(e){if($(e.target)[0]===that.$choice[0]||$(e.target).parents('.ms-choice')[0]===that.$choice[0])return;if(($(e.target)[0]===that.$drop[0]||$(e.target).parents('.ms-drop')[0]!==that.$drop[0])&&that.options.isOpen)that.close()});this.selectAllName='name="selectAll'+name+'"';this.selectGroupName='name="selectGroup'+name+'"';this.selectItemName='name="selectItem'+name+'"'};MultipleSelect.prototype={constructor:MultipleSelect,init:function(){var that=this,html=[];if(this.options.filter)html.push('<div class="ms-search">','<input type="text" autocomplete="off" autocorrect="off" autocapitilize="off" spellcheck="false">','</div>');html.push('<ul>');if(this.options.selectAll&&!this.options.single)html.push('<li>','<label>','<input type="checkbox" '+this.selectAllName+' /> ',this.options.selectAllText,'</label>','</li>');$.each(this.$el.children(),function(i,elm){html.push(that.optionToHtml(i,elm))});html.push('<li class="ms-no-results">No matches found</li>');html.push('</ul>');this.$drop.html(html.join(''));this.$drop.find('ul').css('max-height',this.options.maxHeight+'px');this.$drop.find('.multiple').css('width',this.options.multipleWidth+'px');this.$searchInput=this.$drop.find('.ms-search input');this.$selectAll=this.$drop.find('input['+this.selectAllName+']');this.$selectGroups=this.$drop.find('input['+this.selectGroupName+']');this.$selectItems=this.$drop.find('input['+this.selectItemName+']:enabled');this.$disableItems=this.$drop.find('input['+this.selectItemName+']:disabled');this.$noResults=this.$drop.find('.ms-no-results');this.events();this.update();if(this.options.isOpen)this.open()},optionToHtml:function(i,elm,group,groupDisabled){var that=this,$elm=$(elm),html=[],multiple=this.options.multiple,disabled,type=this.options.single?'radio':'checkbox';if($elm.is('option')){var value=$elm.val(),text=$elm.text(),selected=$elm.prop('selected'),style=this.options.styler(value)?' style="'+this.options.styler(value)+'"':'';disabled=groupDisabled||$elm.prop('disabled');html.push('<li'+(multiple?' class="multiple"':'')+style+'>','<label'+(disabled?' class="disabled"':'')+'>','<input type="'+type+'" '+this.selectItemName+' value="'+value+'"'+(selected?' checked="checked"':'')+(disabled?' disabled="disabled"':'')+(group?' data-group="'+group+'"':'')+'/> ',text,'</label>','</li>')}else if(!group&&$elm.is('optgroup')){var _group='group_'+i,label=$elm.attr('label');disabled=$elm.prop('disabled');html.push('<li class="group">','<label class="optgroup'+(disabled?' disabled':'')+'" data-group="'+_group+'">','<input type="checkbox" '+this.selectGroupName+(disabled?' disabled="disabled"':'')+' /> ',label,'</label>','</li>');$.each($elm.children(),function(i,elm){html.push(that.optionToHtml(i,elm,_group,disabled))})};return html.join('')},events:function(){var that=this;this.$choice.off('click').on('click',function(e){e.preventDefault();that[that.options.isOpen?'close':'open']()}).off('focus').on('focus',this.options.onFocus).off('blur').on('blur',this.options.onBlur);this.$parent.off('keydown').on('keydown',function(e){switch(e.which){case 27:that.close();that.$choice.focus();break}});this.$searchInput.off('keyup').on('keyup',function(){that.filter()});this.$selectAll.off('click').on('click',function(){var checked=$(this).prop('checked'),$items=that.$selectItems.filter(':visible');if($items.length===that.$selectItems.length){that[checked?'checkAll':'uncheckAll']()}else{that.$selectGroups.prop('checked',checked);$items.prop('checked',checked);that.options[checked?'onCheckAll':'onUncheckAll']();that.update()}});this.$selectGroups.off('click').on('click',function(){var group=$(this).parent().attr('data-group'),$items=that.$selectItems.filter(':visible'),$children=$items.filter('[data-group="'+group+'"]'),checked=$children.length!==$children.filter(':checked').length;$children.prop('checked',checked);that.updateSelectAll();that.update();that.options.onOptgroupClick({label:$(this).parent().text(),checked:checked,children:$children.get()})});this.$selectItems.off('click').on('click',function(){that.updateSelectAll();that.update();that.updateOptGroupSelect();that.options.onClick({label:$(this).parent().text(),value:$(this).val(),checked:$(this).prop('checked')})})},open:function(){if(this.$choice.hasClass('disabled'))return;this.options.isOpen=true;this.$choice.find('>div').addClass('open');this.$drop.show();if(this.options.container){var offset=this.$drop.offset();this.$drop.appendTo($(this.options.container));this.$drop.offset({top:offset.top,left:offset.left})};if(this.options.filter){this.$searchInput.val('');this.filter()};this.options.onOpen()},close:function(){this.options.isOpen=false;this.$choice.find('>div').removeClass('open');this.$drop.hide();if(this.options.container){this.$parent.append(this.$drop);this.$drop.css({top:'auto',left:'auto'})};this.options.onClose()},update:function(){var selects=this.getSelects('text'),$span=this.$choice.find('>span');if(selects.length===this.$selectItems.length+this.$disableItems.length&&this.options.allSelected){$span.removeClass('placeholder').html(this.options.allSelected)}else if(selects.length>this.options.minumimCountSelected&&this.options.countSelected){$span.removeClass('placeholder').html(this.options.countSelected.replace('#',selects.length).replace('%',this.$selectItems.length+this.$disableItems.length))}else if(selects.length){$span.removeClass('placeholder').html(selects.join(', '))}else $span.addClass('placeholder').html(this.options.placeholder);this.$el.val(this.getSelects())},updateSelectAll:function(){var $items=this.$selectItems.filter(':visible');this.$selectAll.prop('checked',$items.length&&$items.length===$items.filter(':checked').length);if(this.$selectAll.prop('checked'))this.options.onCheckAll()},updateOptGroupSelect:function(){var $items=this.$selectItems.filter(':visible');$.each(this.$selectGroups,function(i,val){var group=$(val).parent().attr('data-group'),$children=$items.filter('[data-group="'+group+'"]');$(val).prop('checked',$children.length&&$children.length===$children.filter(':checked').length)})},getSelects:function(type){var that=this,texts=[],values=[];this.$drop.find('input['+this.selectItemName+']:checked').each(function(){texts.push($(this).parent().text());values.push($(this).val())});if(type==='text'&&this.$selectGroups.length){texts=[];this.$selectGroups.each(function(){var html=[],text=$.trim($(this).parent().text()),group=$(this).parent().data('group'),$children=that.$drop.find('['+that.selectItemName+'][data-group="'+group+'"]'),$selected=$children.filter(':checked');if($selected.length===0)return;html.push('[');html.push(text);if($children.length>$selected.length){var list=[];$selected.each(function(){list.push($(this).parent().text())});html.push(': '+list.join(', '))};html.push(']');texts.push(html.join(''))})};return type==='text'?texts:values},setSelects:function(values){var that=this;this.$selectItems.prop('checked',false);$.each(values,function(i,value){that.$selectItems.filter('[value="'+value+'"]').prop('checked',true)});this.$selectAll.prop('checked',this.$selectItems.length===this.$selectItems.filter(':checked').length);this.update()},enable:function(){this.$choice.removeClass('disabled')},disable:function(){this.$choice.addClass('disabled')},checkAll:function(){this.$selectItems.prop('checked',true);this.$selectGroups.prop('checked',true);this.$selectAll.prop('checked',true);this.update();this.options.onCheckAll()},uncheckAll:function(){this.$selectItems.prop('checked',false);this.$selectGroups.prop('checked',false);this.$selectAll.prop('checked',false);this.update();this.options.onUncheckAll()},focus:function(){this.$choice.focus();this.options.onFocus()},blur:function(){this.$choice.blur();this.options.onBlur()},refresh:function(){this.init()},filter:function(){var that=this,text=$.trim(this.$searchInput.val()).toLowerCase();if(text.length===0){this.$selectItems.parent().show();this.$disableItems.parent().show();this.$selectGroups.parent().show()}else{this.$selectItems.each(function(){var $parent=$(this).parent();$parent[$parent.text().toLowerCase().indexOf(text)<0?'hide':'show']()});this.$disableItems.parent().hide();this.$selectGroups.each(function(){var $parent=$(this).parent(),group=$parent.attr('data-group'),$items=that.$selectItems.filter(':visible');$parent[$items.filter('[data-group="'+group+'"]').length===0?'hide':'show']()});if(this.$selectItems.filter(':visible').length){this.$selectAll.parent().show();this.$noResults.hide()}else{this.$selectAll.parent().hide();this.$noResults.show()}};this.updateOptGroupSelect();this.updateSelectAll()}};$.fn.multipleSelect=function(){var option=arguments[0],args=arguments,value,allowedMethods=['getSelects','setSelects','enable','disable','checkAll','uncheckAll','focus','blur','open','close','refresh'];this.each(function(){var $this=$(this),data=$this.data('multipleSelect'),options=$.extend({},$.fn.multipleSelect.defaults,$this.data(),typeof option==='object'&&option);if(!data){data=new MultipleSelect($this,options);$this.data('multipleSelect',data)};if(typeof option==='string'){if($.inArray(option,allowedMethods)<0)throw"Unknown method: "+option;value=data[option](args[1])}else data.init()});return value?value:this};$.fn.multipleSelect.defaults={name:'',isOpen:false,placeholder:'',selectAll:true,selectAllText:'Select all',allSelected:'All selected',minumimCountSelected:3,countSelected:'# of % selected',multiple:false,multipleWidth:80,single:false,filter:false,width:undefined,maxHeight:250,container:null,position:'bottom',keepOpen:false,styler:function(){return false},onOpen:function(){return false},onClose:function(){return false},onCheckAll:function(){return false},onUncheckAll:function(){return false},onFocus:function(){return false},onBlur:function(){return false},onOptgroupClick:function(){return false},onClick:function(){return false}}})(jQuery);
(function(root,factory){if(typeof define==='function'&&define.amd){define('sifter',factory)}else if(typeof exports==='object'){module.exports=factory()}else root.Sifter=factory()}(this,function(){var Sifter=function(items,settings){this.items=items;this.settings=settings||{diacritics:true}};Sifter.prototype.tokenize=function(query){query=trim(String(query||'').toLowerCase());if(!query||!query.length)return[];var i,n,regex,letter,tokens=[],words=query.split(/ +/);for(i=0,n=words.length;i<n;i++){regex=escape_regex(words[i]);if(this.settings.diacritics)for(letter in DIACRITICS)if(DIACRITICS.hasOwnProperty(letter))regex=regex.replace(new RegExp(letter,'g'),DIACRITICS[letter]);tokens.push({string:words[i],regex:new RegExp(regex,'i')})};return tokens};Sifter.prototype.iterator=function(object,callback){var iterator;if(is_array(object)){iterator=Array.prototype.forEach||function(callback){for(var i=0,n=this.length;i<n;i++)callback(this[i],i,this)}}else iterator=function(callback){for(var key in this)if(this.hasOwnProperty(key))callback(this[key],key,this)};iterator.apply(object,[callback])};Sifter.prototype.getScoreFunction=function(search,options){var self,fields,tokens,token_count,nesting;self=this;search=self.prepareSearch(search,options);tokens=search.tokens;fields=search.options.fields;token_count=tokens.length;nesting=search.options.nesting;var scoreValue=function(value,token){var score,pos;if(!value)return 0;value=String(value||'');pos=value.search(token.regex);if(pos===-1)return 0;score=token.string.length/value.length;if(pos===0)score+=0.5;return score},scoreObject=(function(){var field_count=fields.length;if(!field_count)return function(){return 0};if(field_count===1)return function(token,data){return scoreValue(getattr(data,fields[0],nesting),token)};return function(token,data){for(var i=0,sum=0;i<field_count;i++)sum+=scoreValue(getattr(data,fields[i],nesting),token);return sum/field_count}})();if(!token_count)return function(){return 0};if(token_count===1)return function(data){return scoreObject(tokens[0],data)};if(search.options.conjunction==='and'){return function(data){var score;for(var i=0,sum=0;i<token_count;i++){score=scoreObject(tokens[i],data);if(score<=0)return 0;sum+=score};return sum/token_count}}else return function(data){for(var i=0,sum=0;i<token_count;i++)sum+=scoreObject(tokens[i],data);return sum/token_count}};Sifter.prototype.getSortFunction=function(search,options){var i,n,self,field,fields,fields_count,multiplier,multipliers,get_field,implicit_score,sort;self=this;search=self.prepareSearch(search,options);sort=(!search.query&&options.sort_empty)||options.sort;get_field=function(name,result){if(name==='$score')return result.score;return getattr(self.items[result.id],name,options.nesting)};fields=[];if(sort)for(i=0,n=sort.length;i<n;i++)if(search.query||sort[i].field!=='$score')fields.push(sort[i]);if(search.query){implicit_score=true;for(i=0,n=fields.length;i<n;i++)if(fields[i].field==='$score'){implicit_score=false;break};if(implicit_score)fields.unshift({field:'$score',direction:'desc'})}else for(i=0,n=fields.length;i<n;i++)if(fields[i].field==='$score'){fields.splice(i,1);break};multipliers=[];for(i=0,n=fields.length;i<n;i++)multipliers.push(fields[i].direction==='desc'?-1:1);fields_count=fields.length;if(!fields_count){return null}else if(fields_count===1){field=fields[0].field;multiplier=multipliers[0];return function(a,b){return multiplier*cmp(get_field(field,a),get_field(field,b))}}else return function(a,b){var i,result,a_value,b_value,field;for(i=0;i<fields_count;i++){field=fields[i].field;result=multipliers[i]*cmp(get_field(field,a),get_field(field,b));if(result)return result};return 0}};Sifter.prototype.prepareSearch=function(query,options){if(typeof query==='object')return query;options=extend({},options);var option_fields=options.fields,option_sort=options.sort,option_sort_empty=options.sort_empty;if(option_fields&&!is_array(option_fields))options.fields=[option_fields];if(option_sort&&!is_array(option_sort))options.sort=[option_sort];if(option_sort_empty&&!is_array(option_sort_empty))options.sort_empty=[option_sort_empty];return{options:options,query:String(query||'').toLowerCase(),tokens:this.tokenize(query),total:0,items:[]}};Sifter.prototype.search=function(query,options){var self=this,value,score,search,calculateScore,fn_sort,fn_score;search=this.prepareSearch(query,options);options=search.options;query=search.query;fn_score=options.score||self.getScoreFunction(search);if(query.length){self.iterator(self.items,function(item,id){score=fn_score(item);if(options.filter===false||score>0)search.items.push({score:score,id:id})})}else self.iterator(self.items,function(item,id){search.items.push({score:1,id:id})});fn_sort=self.getSortFunction(search,options);if(fn_sort)search.items.sort(fn_sort);search.total=search.items.length;if(typeof options.limit==='number')search.items=search.items.slice(0,options.limit);return search};var cmp=function(a,b){if(typeof a==='number'&&typeof b==='number')return a>b?1:(a<b?-1:0);a=asciifold(String(a||''));b=asciifold(String(b||''));if(a>b)return 1;if(b>a)return-1;return 0},extend=function(a,b){var i,n,k,object;for(i=1,n=arguments.length;i<n;i++){object=arguments[i];if(!object)continue;for(k in object)if(object.hasOwnProperty(k))a[k]=object[k]};return a},getattr=function(obj,name,nesting){if(!obj||!name)return;if(!nesting)return obj[name];var names=name.split(".");while(names.length&&(obj=obj[names.shift()]));return obj},trim=function(str){return(str+'').replace(/^\s+|\s+$|/g,'')},escape_regex=function(str){return(str+'').replace(/([.?*+^$[\]\\(){}|-])/g,'\\$1')},is_array=Array.isArray||(typeof $!=='undefined'&&$.isArray)||function(object){return Object.prototype.toString.call(object)==='[object Array]'},DIACRITICS={a:'[aḀḁĂăÂâǍǎȺⱥȦȧẠạÄäÀàÁáĀāÃãÅåąĄÃąĄ]',b:'[b␢βΒB฿𐌁ᛒ]',c:'[cĆćĈĉČčĊċC̄c̄ÇçḈḉȻȼƇƈɕᴄＣｃ]',d:'[dĎďḊḋḐḑḌḍḒḓḎḏĐđD̦d̦ƉɖƊɗƋƌᵭᶁᶑȡᴅＤｄð]',e:'[eÉéÈèÊêḘḙĚěĔĕẼẽḚḛẺẻĖėËëĒēȨȩĘęᶒɆɇȄȅẾếỀềỄễỂểḜḝḖḗḔḕȆȇẸẹỆệⱸᴇＥｅɘǝƏƐε]',f:'[fƑƒḞḟ]',g:'[gɢ₲ǤǥĜĝĞğĢģƓɠĠġ]',h:'[hĤĥĦħḨḩẖẖḤḥḢḣɦʰǶƕ]',i:'[iÍíÌìĬĭÎîǏǐÏïḮḯĨĩĮįĪīỈỉȈȉȊȋỊịḬḭƗɨɨ̆ᵻᶖİiIıɪＩｉ]',j:'[jȷĴĵɈɉʝɟʲ]',k:'[kƘƙꝀꝁḰḱǨǩḲḳḴḵκϰ₭]',l:'[lŁłĽľĻļĹĺḶḷḸḹḼḽḺḻĿŀȽƚⱠⱡⱢɫɬᶅɭȴʟＬｌ]',n:'[nŃńǸǹŇňÑñṄṅŅņṆṇṊṋṈṉN̈n̈ƝɲȠƞᵰᶇɳȵɴＮｎŊŋ]',o:'[oØøÖöÓóÒòÔôǑǒŐőŎŏȮȯỌọƟɵƠơỎỏŌōÕõǪǫȌȍՕօ]',p:'[pṔṕṖṗⱣᵽƤƥᵱ]',q:'[qꝖꝗʠɊɋꝘꝙq̃]',r:'[rŔŕɌɍŘřŖŗṘṙȐȑȒȓṚṛⱤɽ]',s:'[sŚśṠṡṢṣꞨꞩŜŝŠšŞşȘșS̈s̈]',t:'[tŤťṪṫŢţṬṭƮʈȚțṰṱṮṯƬƭ]',u:'[uŬŭɄʉỤụÜüÚúÙùÛûǓǔŰűŬŭƯưỦủŪūŨũŲųȔȕ∪]',v:'[vṼṽṾṿƲʋꝞꝟⱱʋ]',w:'[wẂẃẀẁŴŵẄẅẆẇẈẉ]',x:'[xẌẍẊẋχ]',y:'[yÝýỲỳŶŷŸÿỸỹẎẏỴỵɎɏƳƴ]',z:'[zŹźẐẑŽžŻżẒẓẔẕƵƶ]'},asciifold=(function(){var i,n,k,chunk,foreignletters='',lookup={};for(k in DIACRITICS)if(DIACRITICS.hasOwnProperty(k)){chunk=DIACRITICS[k].substring(2,DIACRITICS[k].length-1);foreignletters+=chunk;for(i=0,n=chunk.length;i<n;i++)lookup[chunk.charAt(i)]=k};var regexp=new RegExp('['+foreignletters+']','g');return function(str){return str.replace(regexp,function(foreignletter){return lookup[foreignletter]}).toLowerCase()}})();return Sifter}));(function(root,factory){if(typeof define==='function'&&define.amd){define('microplugin',factory)}else if(typeof exports==='object'){module.exports=factory()}else root.MicroPlugin=factory()}(this,function(){var MicroPlugin={};MicroPlugin.mixin=function(Interface){Interface.plugins={};Interface.prototype.initializePlugins=function(plugins){var i,n,key,self=this,queue=[];self.plugins={names:[],settings:{},requested:{},loaded:{}};if(utils.isArray(plugins)){for(i=0,n=plugins.length;i<n;i++)if(typeof plugins[i]==='string'){queue.push(plugins[i])}else{self.plugins.settings[plugins[i].name]=plugins[i].options;queue.push(plugins[i].name)}}else if(plugins)for(key in plugins)if(plugins.hasOwnProperty(key)){self.plugins.settings[key]=plugins[key];queue.push(key)};while(queue.length)self.require(queue.shift())};Interface.prototype.loadPlugin=function(name){var self=this,plugins=self.plugins,plugin=Interface.plugins[name];if(!Interface.plugins.hasOwnProperty(name))throw new Error('Unable to find "'+name+'" plugin');plugins.requested[name]=true;plugins.loaded[name]=plugin.fn.apply(self,[self.plugins.settings[name]||{}]);plugins.names.push(name)};Interface.prototype.require=function(name){var self=this,plugins=self.plugins;if(!self.plugins.loaded.hasOwnProperty(name)){if(plugins.requested[name])throw new Error('Plugin has circular dependency ("'+name+'")');self.loadPlugin(name)};return plugins.loaded[name]};Interface.define=function(name,fn){Interface.plugins[name]={name:name,fn:fn}}};var utils={isArray:Array.isArray||function(vArg){return Object.prototype.toString.call(vArg)==='[object Array]'}};return MicroPlugin}));(function(root,factory){if(typeof define==='function'&&define.amd){define('selectize',['jquery','sifter','microplugin'],factory)}else if(typeof exports==='object'){module.exports=factory(require('jquery'),require('sifter'),require('microplugin'))}else root.Selectize=factory(root.jQuery,root.Sifter,root.MicroPlugin)}(this,function($,Sifter,MicroPlugin){'use strict';var highlight=function($element,pattern){if(typeof pattern==='string'&&!pattern.length)return;var regex=(typeof pattern==='string')?new RegExp(pattern,'i'):pattern,highlight=function(node){var skip=0;if(node.nodeType===3){var pos=node.data.search(regex);if(pos>=0&&node.data.length>0){var match=node.data.match(regex),spannode=document.createElement('span');spannode.className='highlight';var middlebit=node.splitText(pos),endbit=middlebit.splitText(match[0].length),middleclone=middlebit.cloneNode(true);spannode.appendChild(middleclone);middlebit.parentNode.replaceChild(spannode,middlebit);skip=1}}else if(node.nodeType===1&&node.childNodes&&!/(script|style)/i.test(node.tagName))for(var i=0;i<node.childNodes.length;++i)i+=highlight(node.childNodes[i]);return skip};return $element.each(function(){highlight(this)})};$.fn.removeHighlight=function(){return this.find("span.highlight").each(function(){this.parentNode.firstChild.nodeName;var parent=this.parentNode;parent.replaceChild(this.firstChild,this);parent.normalize()}).end()};var MicroEvent=function(){};MicroEvent.prototype={on:function(event,fct){this._events=this._events||{};this._events[event]=this._events[event]||[];this._events[event].push(fct)},off:function(event,fct){var n=arguments.length;if(n===0)return delete this._events;if(n===1)return delete this._events[event];this._events=this._events||{};if(event in this._events===false)return;this._events[event].splice(this._events[event].indexOf(fct),1)},trigger:function(event){this._events=this._events||{};if(event in this._events===false)return;for(var i=0;i<this._events[event].length;i++)this._events[event][i].apply(this,Array.prototype.slice.call(arguments,1))}};MicroEvent.mixin=function(destObject){var props=['on','off','trigger'];for(var i=0;i<props.length;i++)destObject.prototype[props[i]]=MicroEvent.prototype[props[i]]};var IS_MAC=/Mac/.test(navigator.userAgent),KEY_A=65,KEY_COMMA=188,KEY_RETURN=13,KEY_ESC=27,KEY_LEFT=37,KEY_UP=38,KEY_P=80,KEY_RIGHT=39,KEY_DOWN=40,KEY_N=78,KEY_BACKSPACE=8,KEY_DELETE=46,KEY_SHIFT=16,KEY_CMD=IS_MAC?91:17,KEY_CTRL=IS_MAC?18:17,KEY_TAB=9,TAG_SELECT=1,TAG_INPUT=2,SUPPORTS_VALIDITY_API=!/android/i.test(window.navigator.userAgent)&&!!document.createElement('input').validity,isset=function(object){return typeof object!=='undefined'},hash_key=function(value){if(typeof value==='undefined'||value===null)return null;if(typeof value==='boolean')return value?'1':'0';return value+''},escape_html=function(str){return(str+'').replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;').replace(/"/g,'&quot;')},escape_replace=function(str){return(str+'').replace(/\$/g,'$$$$')},hook={};hook.before=function(self,method,fn){var original=self[method];self[method]=function(){fn.apply(self,arguments);return original.apply(self,arguments)}};hook.after=function(self,method,fn){var original=self[method];self[method]=function(){var result=original.apply(self,arguments);fn.apply(self,arguments);return result}};var once=function(fn){var called=false;return function(){if(called)return;called=true;fn.apply(this,arguments)}},debounce=function(fn,delay){var timeout;return function(){var self=this,args=arguments;window.clearTimeout(timeout);timeout=window.setTimeout(function(){fn.apply(self,args)},delay)}},debounce_events=function(self,types,fn){var type,trigger=self.trigger,event_args={};self.trigger=function(){var type=arguments[0];if(types.indexOf(type)!==-1){event_args[type]=arguments}else return trigger.apply(self,arguments)};fn.apply(self,[]);self.trigger=trigger;for(type in event_args)if(event_args.hasOwnProperty(type))trigger.apply(self,event_args[type])},watchChildEvent=function($parent,event,selector,fn){$parent.on(event,selector,function(e){var child=e.target;while(child&&child.parentNode!==$parent[0])child=child.parentNode;e.currentTarget=child;return fn.apply(this,[e])})},getSelection=function(input){var result={};if('selectionStart'in input){result.start=input.selectionStart;result.length=input.selectionEnd-result.start}else if(document.selection){input.focus();var sel=document.selection.createRange(),selLen=document.selection.createRange().text.length;sel.moveStart('character',-input.value.length);result.start=sel.text.length-selLen;result.length=selLen};return result},transferStyles=function($from,$to,properties){var i,n,styles={};if(properties){for(i=0,n=properties.length;i<n;i++)styles[properties[i]]=$from.css(properties[i])}else styles=$from.css();$to.css(styles)},measureString=function(str,$parent){if(!str)return 0;var $test=$('<test>').css({position:'absolute',top:-99999,left:-99999,width:'auto',padding:0,whiteSpace:'pre'}).text(str).appendTo('body');transferStyles($parent,$test,['letterSpacing','fontSize','fontFamily','fontWeight','textTransform']);var width=$test.width();$test.remove();return width},autoGrow=function($input){var currentWidth=null,update=function(e,options){var value,keyCode,printable,placeholder,width,shift,character,selection;e=e||window.event||{};options=options||{};if(e.metaKey||e.altKey)return;if(!options.force&&$input.data('grow')===false)return;value=$input.val();if(e.type&&e.type.toLowerCase()==='keydown'){keyCode=e.keyCode;printable=((keyCode>=97&&keyCode<=122)||(keyCode>=65&&keyCode<=90)||(keyCode>=48&&keyCode<=57)||keyCode===32);if(keyCode===KEY_DELETE||keyCode===KEY_BACKSPACE){selection=getSelection($input[0]);if(selection.length){value=value.substring(0,selection.start)+value.substring(selection.start+selection.length)}else if(keyCode===KEY_BACKSPACE&&selection.start){value=value.substring(0,selection.start-1)+value.substring(selection.start+1)}else if(keyCode===KEY_DELETE&&typeof selection.start!=='undefined')value=value.substring(0,selection.start)+value.substring(selection.start+1)}else if(printable){shift=e.shiftKey;character=String.fromCharCode(e.keyCode);if(shift){character=character.toUpperCase()}else character=character.toLowerCase();value+=character}};placeholder=$input.attr('placeholder');if(!value&&placeholder)value=placeholder;width=measureString(value,$input)+4;if(width!==currentWidth){currentWidth=width;$input.width(width);$input.triggerHandler('resize')}};$input.on('keydown keyup update blur',update);update()},domToString=function(d){var tmp=document.createElement('div');tmp.appendChild(d.cloneNode(true));return tmp.innerHTML},logError=function(message,options){if(!options)options={};var component="Selectize";console.error(component+": "+message);if(options.explanation){if(console.group)console.group();console.error(options.explanation);if(console.group)console.groupEnd()}},Selectize=function($input,settings){var key,i,n,dir,input,self=this;input=$input[0];input.selectize=self;var computedStyle=window.getComputedStyle&&window.getComputedStyle(input,null);dir=computedStyle?computedStyle.getPropertyValue('direction'):input.currentStyle&&input.currentStyle.direction;dir=dir||$input.parents('[dir]:first').attr('dir')||'';$.extend(self,{order:0,settings:settings,$input:$input,tabIndex:$input.attr('tabindex')||'',tagType:input.tagName.toLowerCase()==='select'?TAG_SELECT:TAG_INPUT,rtl:/rtl/i.test(dir),eventNS:'.selectize'+(++Selectize.count),highlightedValue:null,isOpen:false,isDisabled:false,isRequired:$input.is('[required]'),isInvalid:false,isLocked:false,isFocused:false,isInputHidden:false,isSetup:false,isShiftDown:false,isCmdDown:false,isCtrlDown:false,ignoreFocus:false,ignoreBlur:false,ignoreHover:false,hasOptions:false,currentResults:null,lastValue:'',caretPos:0,loading:0,loadedSearches:{},$activeOption:null,$activeItems:[],optgroups:{},options:{},userOptions:{},items:[],renderCache:{},onSearchChange:settings.loadThrottle===null?self.onSearchChange:debounce(self.onSearchChange,settings.loadThrottle)});self.sifter=new Sifter(this.options,{diacritics:settings.diacritics});if(self.settings.options){for(i=0,n=self.settings.options.length;i<n;i++)self.registerOption(self.settings.options[i]);delete self.settings.options};if(self.settings.optgroups){for(i=0,n=self.settings.optgroups.length;i<n;i++)self.registerOptionGroup(self.settings.optgroups[i]);delete self.settings.optgroups};self.settings.mode=self.settings.mode||(self.settings.maxItems===1?'single':'multi');if(typeof self.settings.hideSelected!=='boolean')self.settings.hideSelected=self.settings.mode==='multi';self.initializePlugins(self.settings.plugins);self.setupCallbacks();self.setupTemplates();self.setup()};MicroEvent.mixin(Selectize);if(typeof MicroPlugin!=="undefined"){MicroPlugin.mixin(Selectize)}else logError("Dependency MicroPlugin is missing",{explanation:"Make sure you either: (1) are using the \"standalone\" version of Selectize, or (2) require MicroPlugin before you load Selectize."});$.extend(Selectize.prototype,{setup:function(){var self=this,settings=self.settings,eventNS=self.eventNS,$window=$(window),$document=$(document),$input=self.$input,$wrapper,$control,$control_input,$dropdown,$dropdown_content,$dropdown_parent,inputMode,timeout_blur,timeout_focus,classes,classes_plugins,inputId;inputMode=self.settings.mode;classes=$input.attr('class')||'';$wrapper=$('<div>').addClass(settings.wrapperClass).addClass(classes).addClass(inputMode);$control=$('<div>').addClass(settings.inputClass).addClass('items').appendTo($wrapper);$control_input=$('<input type="text" autocomplete="off" />').appendTo($control).attr('tabindex',$input.is(':disabled')?'-1':self.tabIndex);$dropdown_parent=$(settings.dropdownParent||$wrapper);$dropdown=$('<div>').addClass(settings.dropdownClass).addClass(inputMode).hide().appendTo($dropdown_parent);$dropdown_content=$('<div>').addClass(settings.dropdownContentClass).appendTo($dropdown);if(inputId=$input.attr('id')){$control_input.attr('id',inputId+'-selectized');$("label[for='"+inputId+"']").attr('for',inputId+'-selectized')};if(self.settings.copyClassesToDropdown)$dropdown.addClass(classes);$wrapper.css({width:$input[0].style.width});if(self.plugins.names.length){classes_plugins='plugin-'+self.plugins.names.join(' plugin-');$wrapper.addClass(classes_plugins);$dropdown.addClass(classes_plugins)};if((settings.maxItems===null||settings.maxItems>1)&&self.tagType===TAG_SELECT)$input.attr('multiple','multiple');if(self.settings.placeholder)$control_input.attr('placeholder',settings.placeholder);if(!self.settings.splitOn&&self.settings.delimiter){var delimiterEscaped=self.settings.delimiter.replace(/[-\/\\^$*+?.()|[\]{}]/g,'\\$&');self.settings.splitOn=new RegExp('\\s*'+delimiterEscaped+'+\\s*')};if($input.attr('autocorrect'))$control_input.attr('autocorrect',$input.attr('autocorrect'));if($input.attr('autocapitalize'))$control_input.attr('autocapitalize',$input.attr('autocapitalize'));self.$wrapper=$wrapper;self.$control=$control;self.$control_input=$control_input;self.$dropdown=$dropdown;self.$dropdown_content=$dropdown_content;$dropdown.on('mouseenter','[data-selectable]',function(){return self.onOptionHover.apply(self,arguments)});$dropdown.on('mousedown click','[data-selectable]',function(){return self.onOptionSelect.apply(self,arguments)});watchChildEvent($control,'mousedown','*:not(input)',function(){return self.onItemSelect.apply(self,arguments)});autoGrow($control_input);$control.on({mousedown:function(){return self.onMouseDown.apply(self,arguments)},click:function(){return self.onClick.apply(self,arguments)}});$control_input.on({mousedown:function(e){e.stopPropagation()},keydown:function(){return self.onKeyDown.apply(self,arguments)},keyup:function(){return self.onKeyUp.apply(self,arguments)},keypress:function(){return self.onKeyPress.apply(self,arguments)},resize:function(){self.positionDropdown.apply(self,[])},blur:function(){return self.onBlur.apply(self,arguments)},focus:function(){self.ignoreBlur=false;return self.onFocus.apply(self,arguments)},paste:function(){return self.onPaste.apply(self,arguments)}});$document.on('keydown'+eventNS,function(e){self.isCmdDown=e[IS_MAC?'metaKey':'ctrlKey'];self.isCtrlDown=e[IS_MAC?'altKey':'ctrlKey'];self.isShiftDown=e.shiftKey});$document.on('keyup'+eventNS,function(e){if(e.keyCode===KEY_CTRL)self.isCtrlDown=false;if(e.keyCode===KEY_SHIFT)self.isShiftDown=false;if(e.keyCode===KEY_CMD)self.isCmdDown=false});$document.on('mousedown'+eventNS,function(e){if(self.isFocused){if(e.target===self.$dropdown[0]||e.target.parentNode===self.$dropdown[0])return false;if(!self.$control.has(e.target).length&&e.target!==self.$control[0])self.blur(e.target)}});$window.on(['scroll'+eventNS,'resize'+eventNS].join(' '),function(){if(self.isOpen)self.positionDropdown.apply(self,arguments)});$window.on('mousemove'+eventNS,function(){self.ignoreHover=false});this.revertSettings={$children:$input.children().detach(),tabindex:$input.attr('tabindex')};$input.attr('tabindex',-1).hide().after(self.$wrapper);if($.isArray(settings.items)){self.setValue(settings.items);delete settings.items};if(SUPPORTS_VALIDITY_API)$input.on('invalid'+eventNS,function(e){e.preventDefault();self.isInvalid=true;self.refreshState()});self.updateOriginalInput();self.refreshItems();self.refreshState();self.updatePlaceholder();self.isSetup=true;if($input.is(':disabled'))self.disable();self.on('change',this.onChange);$input.data('selectize',self);$input.addClass('selectized');self.trigger('initialize');if(settings.preload===true)self.onSearchChange('')},setupTemplates:function(){var self=this,field_label=self.settings.labelField,field_optgroup=self.settings.optgroupLabelField,templates={optgroup:function(data){return'<div class="optgroup">'+data.html+'</div>'},optgroup_header:function(data,escape){return'<div class="optgroup-header">'+escape(data[field_optgroup])+'</div>'},option:function(data,escape){return'<div class="option">'+escape(data[field_label])+'</div>'},item:function(data,escape){return'<div class="item">'+escape(data[field_label])+'</div>'},option_create:function(data,escape){return'<div class="create">Add <strong>'+escape(data.input)+'</strong>&hellip;</div>'}};self.settings.render=$.extend({},templates,self.settings.render)},setupCallbacks:function(){var key,fn,callbacks={initialize:'onInitialize',change:'onChange',item_add:'onItemAdd',item_remove:'onItemRemove',clear:'onClear',option_add:'onOptionAdd',option_remove:'onOptionRemove',option_clear:'onOptionClear',optgroup_add:'onOptionGroupAdd',optgroup_remove:'onOptionGroupRemove',optgroup_clear:'onOptionGroupClear',dropdown_open:'onDropdownOpen',dropdown_close:'onDropdownClose',type:'onType',load:'onLoad',focus:'onFocus',blur:'onBlur'};for(key in callbacks)if(callbacks.hasOwnProperty(key)){fn=this.settings[callbacks[key]];if(fn)this.on(key,fn)}},onClick:function(e){var self=this;if(!self.isFocused){self.focus();e.preventDefault()}},onMouseDown:function(e){var self=this,defaultPrevented=e.isDefaultPrevented(),$target=$(e.target);if(self.isFocused){if(e.target!==self.$control_input[0]){if(self.settings.mode==='single'){self.isOpen?self.close():self.open()}else if(!defaultPrevented)self.setActiveItem(null);return false}}else if(!defaultPrevented)window.setTimeout(function(){self.focus()},0)},onChange:function(){this.$input.trigger('change')},onPaste:function(e){var self=this;if(self.isFull()||self.isInputHidden||self.isLocked){e.preventDefault();return};if(self.settings.splitOn)setTimeout(function(){var pastedText=self.$control_input.val();if(!pastedText.match(self.settings.splitOn))return;var splitInput=$.trim(pastedText).split(self.settings.splitOn);for(var i=0,n=splitInput.length;i<n;i++)self.createItem(splitInput[i])},0)},onKeyPress:function(e){if(this.isLocked)return e&&e.preventDefault();var character=String.fromCharCode(e.keyCode||e.which);if(this.settings.create&&this.settings.mode==='multi'&&character===this.settings.delimiter){this.createItem();e.preventDefault();return false}},onKeyDown:function(e){var isInput=e.target===this.$control_input[0],self=this;if(self.isLocked){if(e.keyCode!==KEY_TAB)e.preventDefault();return};switch(e.keyCode){case KEY_A:if(self.isCmdDown){self.selectAll();return};break;case KEY_ESC:if(self.isOpen){e.preventDefault();e.stopPropagation();self.close()};return;case KEY_N:if(!e.ctrlKey||e.altKey)break;case KEY_DOWN:if(!self.isOpen&&self.hasOptions){self.open()}else if(self.$activeOption){self.ignoreHover=true;var $next=self.getAdjacentOption(self.$activeOption,1);if($next.length)self.setActiveOption($next,true,true)};e.preventDefault();return;case KEY_P:if(!e.ctrlKey||e.altKey)break;case KEY_UP:if(self.$activeOption){self.ignoreHover=true;var $prev=self.getAdjacentOption(self.$activeOption,-1);if($prev.length)self.setActiveOption($prev,true,true)};e.preventDefault();return;case KEY_RETURN:if(self.isOpen&&self.$activeOption){self.onOptionSelect({currentTarget:self.$activeOption});e.preventDefault()};return;case KEY_LEFT:self.advanceSelection(-1,e);return;case KEY_RIGHT:self.advanceSelection(1,e);return;case KEY_TAB:if(self.settings.selectOnTab&&self.isOpen&&self.$activeOption){self.onOptionSelect({currentTarget:self.$activeOption});if(!self.isFull())e.preventDefault()};if(self.settings.create&&self.createItem())e.preventDefault();return;case KEY_BACKSPACE:case KEY_DELETE:self.deleteSelection(e);return};if((self.isFull()||self.isInputHidden)&&!(IS_MAC?e.metaKey:e.ctrlKey)){e.preventDefault();return}},onKeyUp:function(e){var self=this;if(self.isLocked)return e&&e.preventDefault();var value=self.$control_input.val()||'';if(self.lastValue!==value){self.lastValue=value;self.onSearchChange(value);self.refreshOptions();self.trigger('type',value)}},onSearchChange:function(value){var self=this,fn=self.settings.load;if(!fn)return;if(self.loadedSearches.hasOwnProperty(value))return;self.loadedSearches[value]=true;self.load(function(callback){fn.apply(self,[value,callback])})},onFocus:function(e){var self=this,wasFocused=self.isFocused;if(self.isDisabled){self.blur();e&&e.preventDefault();return false};if(self.ignoreFocus)return;self.isFocused=true;if(self.settings.preload==='focus')self.onSearchChange('');if(!wasFocused)self.trigger('focus');if(!self.$activeItems.length){self.showInput();self.setActiveItem(null);self.refreshOptions(!!self.settings.openOnFocus)};self.refreshState()},onBlur:function(e,dest){var self=this;if(!self.isFocused)return;self.isFocused=false;if(self.ignoreFocus){return}else if(!self.ignoreBlur&&document.activeElement===self.$dropdown_content[0]){self.ignoreBlur=true;self.onFocus(e);return};var deactivate=function(){self.close();self.setTextboxValue('');self.setActiveItem(null);self.setActiveOption(null);self.setCaret(self.items.length);self.refreshState();dest&&dest.focus&&dest.focus();self.ignoreFocus=false;self.trigger('blur')};self.ignoreFocus=true;if(self.settings.create&&self.settings.createOnBlur){self.createItem(null,false,deactivate)}else deactivate()},onOptionHover:function(e){if(this.ignoreHover)return;this.setActiveOption(e.currentTarget,false)},onOptionSelect:function(e){var value,$target,$option,self=this;if(e.preventDefault){e.preventDefault();e.stopPropagation()};$target=$(e.currentTarget);if($target.hasClass('create')){self.createItem(null,function(){if(self.settings.closeAfterSelect)self.close()})}else{value=$target.attr('data-value');if(typeof value!=='undefined'){self.lastQuery=null;self.setTextboxValue('');self.addItem(value);if(self.settings.closeAfterSelect){self.close()}else if(!self.settings.hideSelected&&e.type&&/mouse/.test(e.type))self.setActiveOption(self.getOption(value))}}},onItemSelect:function(e){var self=this;if(self.isLocked)return;if(self.settings.mode==='multi'){e.preventDefault();self.setActiveItem(e.currentTarget,e)}},load:function(fn){var self=this,$wrapper=self.$wrapper.addClass(self.settings.loadingClass);self.loading++;fn.apply(self,[function(results){self.loading=Math.max(self.loading-1,0);if(results&&results.length){self.addOption(results);self.refreshOptions(self.isFocused&&!self.isInputHidden)};if(!self.loading)$wrapper.removeClass(self.settings.loadingClass);self.trigger('load',results)}])},setTextboxValue:function(value){var $input=this.$control_input,changed=$input.val()!==value;if(changed){$input.val(value).triggerHandler('update');this.lastValue=value}},getValue:function(){if(this.tagType===TAG_SELECT&&this.$input.attr('multiple')){return this.items}else return this.items.join(this.settings.delimiter)},setValue:function(value,silent){var events=silent?[]:['change'];debounce_events(this,events,function(){this.clear(silent);this.addItems(value,silent)})},setActiveItem:function($item,e){var self=this,eventName,i,idx,begin,end,item,swap,$last;if(self.settings.mode==='single')return;$item=$($item);if(!$item.length){$(self.$activeItems).removeClass('active');self.$activeItems=[];if(self.isFocused)self.showInput();return};eventName=e&&e.type.toLowerCase();if(eventName==='mousedown'&&self.isShiftDown&&self.$activeItems.length){$last=self.$control.children('.active:last');begin=Array.prototype.indexOf.apply(self.$control[0].childNodes,[$last[0]]);end=Array.prototype.indexOf.apply(self.$control[0].childNodes,[$item[0]]);if(begin>end){swap=begin;begin=end;end=swap};for(i=begin;i<=end;i++){item=self.$control[0].childNodes[i];if(self.$activeItems.indexOf(item)===-1){$(item).addClass('active');self.$activeItems.push(item)}};e.preventDefault()}else if((eventName==='mousedown'&&self.isCtrlDown)||(eventName==='keydown'&&this.isShiftDown)){if($item.hasClass('active')){idx=self.$activeItems.indexOf($item[0]);self.$activeItems.splice(idx,1);$item.removeClass('active')}else self.$activeItems.push($item.addClass('active')[0])}else{$(self.$activeItems).removeClass('active');self.$activeItems=[$item.addClass('active')[0]]};self.hideInput();if(!this.isFocused)self.focus()},setActiveOption:function($option,scroll,animate){var height_menu,height_item,y,scroll_top,scroll_bottom,self=this;if(self.$activeOption)self.$activeOption.removeClass('active');self.$activeOption=null;$option=$($option);if(!$option.length)return;self.$activeOption=$option.addClass('active');if(scroll||!isset(scroll)){height_menu=self.$dropdown_content.height();height_item=self.$activeOption.outerHeight(true);scroll=self.$dropdown_content.scrollTop()||0;y=self.$activeOption.offset().top-self.$dropdown_content.offset().top+scroll;scroll_top=y;scroll_bottom=y-height_menu+height_item;if(y+height_item>height_menu+scroll){self.$dropdown_content.stop().animate({scrollTop:scroll_bottom},animate?self.settings.scrollDuration:0)}else if(y<scroll)self.$dropdown_content.stop().animate({scrollTop:scroll_top},animate?self.settings.scrollDuration:0)}},selectAll:function(){var self=this;if(self.settings.mode==='single')return;self.$activeItems=Array.prototype.slice.apply(self.$control.children(':not(input)').addClass('active'));if(self.$activeItems.length){self.hideInput();self.close()};self.focus()},hideInput:function(){var self=this;self.setTextboxValue('');self.$control_input.css({opacity:0,position:'absolute',left:self.rtl?1e4:-1e4});self.isInputHidden=true},showInput:function(){this.$control_input.css({opacity:1,position:'relative',left:0});this.isInputHidden=false},focus:function(){var self=this;if(self.isDisabled)return;self.ignoreFocus=true;self.$control_input[0].focus();window.setTimeout(function(){self.ignoreFocus=false;self.onFocus()},0)},blur:function(dest){this.$control_input[0].blur();this.onBlur(null,dest)},getScoreFunction:function(query){return this.sifter.getScoreFunction(query,this.getSearchOptions())},getSearchOptions:function(){var settings=this.settings,sort=settings.sortField;if(typeof sort==='string')sort=[{field:sort}];return{fields:settings.searchField,conjunction:settings.searchConjunction,sort:sort}},search:function(query){var i,value,score,result,calculateScore,self=this,settings=self.settings,options=this.getSearchOptions();if(settings.score){calculateScore=self.settings.score.apply(this,[query]);if(typeof calculateScore!=='function')throw new Error('Selectize "score" setting must be a function that returns a function')};if(query!==self.lastQuery){self.lastQuery=query;result=self.sifter.search(query,$.extend(options,{score:calculateScore}));self.currentResults=result}else result=$.extend(true,{},self.currentResults);if(settings.hideSelected)for(i=result.items.length-1;i>=0;i--)if(self.items.indexOf(hash_key(result.items[i].id))!==-1)result.items.splice(i,1);return result},refreshOptions:function(triggerDropdown){var i,j,k,n,groups,groups_order,option,option_html,optgroup,optgroups,html,html_children,has_create_option,$active,$active_before,$create;if(typeof triggerDropdown==='undefined')triggerDropdown=true;var self=this,query=$.trim(self.$control_input.val()),results=self.search(query),$dropdown_content=self.$dropdown_content,active_before=self.$activeOption&&hash_key(self.$activeOption.attr('data-value'));n=results.items.length;if(typeof self.settings.maxOptions==='number')n=Math.min(n,self.settings.maxOptions);groups={};groups_order=[];for(i=0;i<n;i++){option=self.options[results.items[i].id];option_html=self.render('option',option);optgroup=option[self.settings.optgroupField]||'';optgroups=$.isArray(optgroup)?optgroup:[optgroup];for(j=0,k=optgroups&&optgroups.length;j<k;j++){optgroup=optgroups[j];if(!self.optgroups.hasOwnProperty(optgroup))optgroup='';if(!groups.hasOwnProperty(optgroup)){groups[optgroup]=document.createDocumentFragment();groups_order.push(optgroup)};groups[optgroup].appendChild(option_html)}};if(this.settings.lockOptgroupOrder)groups_order.sort(function(a,b){var a_order=self.optgroups[a].$order||0,b_order=self.optgroups[b].$order||0;return a_order-b_order});html=document.createDocumentFragment();for(i=0,n=groups_order.length;i<n;i++){optgroup=groups_order[i];if(self.optgroups.hasOwnProperty(optgroup)&&groups[optgroup].childNodes.length){html_children=document.createDocumentFragment();html_children.appendChild(self.render('optgroup_header',self.optgroups[optgroup]));html_children.appendChild(groups[optgroup]);html.appendChild(self.render('optgroup',$.extend({},self.optgroups[optgroup],{html:domToString(html_children),dom:html_children})))}else html.appendChild(groups[optgroup])};$dropdown_content.html(html);if(self.settings.highlight&&results.query.length&&results.tokens.length){$dropdown_content.removeHighlight();for(i=0,n=results.tokens.length;i<n;i++)highlight($dropdown_content,results.tokens[i].regex)};if(!self.settings.hideSelected)for(i=0,n=self.items.length;i<n;i++)self.getOption(self.items[i]).addClass('selected');has_create_option=self.canCreate(query);if(has_create_option){$dropdown_content.prepend(self.render('option_create',{input:query}));$create=$($dropdown_content[0].childNodes[0])};self.hasOptions=results.items.length>0||has_create_option;if(self.hasOptions){if(results.items.length>0){$active_before=active_before&&self.getOption(active_before);if($active_before&&$active_before.length){$active=$active_before}else if(self.settings.mode==='single'&&self.items.length)$active=self.getOption(self.items[0]);if(!$active||!$active.length)if($create&&!self.settings.addPrecedence){$active=self.getAdjacentOption($create,1)}else $active=$dropdown_content.find('[data-selectable]:first')}else $active=$create;self.setActiveOption($active);if(triggerDropdown&&!self.isOpen)self.open()}else{self.setActiveOption(null);if(triggerDropdown&&self.isOpen)self.close()}},addOption:function(data){var i,n,value,self=this;if($.isArray(data)){for(i=0,n=data.length;i<n;i++)self.addOption(data[i]);return};if(value=self.registerOption(data)){self.userOptions[value]=true;self.lastQuery=null;self.trigger('option_add',value,data)}},registerOption:function(data){var key=hash_key(data[this.settings.valueField]);if(typeof key==='undefined'||key===null||this.options.hasOwnProperty(key))return false;data.$order=data.$order||++this.order;this.options[key]=data;return key},registerOptionGroup:function(data){var key=hash_key(data[this.settings.optgroupValueField]);if(!key)return false;data.$order=data.$order||++this.order;this.optgroups[key]=data;return key},addOptionGroup:function(id,data){data[this.settings.optgroupValueField]=id;if(id=this.registerOptionGroup(data))this.trigger('optgroup_add',id,data)},removeOptionGroup:function(id){if(this.optgroups.hasOwnProperty(id)){delete this.optgroups[id];this.renderCache={};this.trigger('optgroup_remove',id)}},clearOptionGroups:function(){this.optgroups={};this.renderCache={};this.trigger('optgroup_clear')},updateOption:function(value,data){var self=this,$item,$item_new,value_new,index_item,cache_items,cache_options,order_old;value=hash_key(value);value_new=hash_key(data[self.settings.valueField]);if(value===null)return;if(!self.options.hasOwnProperty(value))return;if(typeof value_new!=='string')throw new Error('Value must be set in option data');order_old=self.options[value].$order;if(value_new!==value){delete self.options[value];index_item=self.items.indexOf(value);if(index_item!==-1)self.items.splice(index_item,1,value_new)};data.$order=data.$order||order_old;self.options[value_new]=data;cache_items=self.renderCache['item'];cache_options=self.renderCache['option'];if(cache_items){delete cache_items[value];delete cache_items[value_new]};if(cache_options){delete cache_options[value];delete cache_options[value_new]};if(self.items.indexOf(value_new)!==-1){$item=self.getItem(value);$item_new=$(self.render('item',data));if($item.hasClass('active'))$item_new.addClass('active');$item.replaceWith($item_new)};self.lastQuery=null;if(self.isOpen)self.refreshOptions(false)},removeOption:function(value,silent){var self=this;value=hash_key(value);var cache_items=self.renderCache['item'],cache_options=self.renderCache['option'];if(cache_items)delete cache_items[value];if(cache_options)delete cache_options[value];delete self.userOptions[value];delete self.options[value];self.lastQuery=null;self.trigger('option_remove',value);self.removeItem(value,silent)},clearOptions:function(){var self=this;self.loadedSearches={};self.userOptions={};self.renderCache={};self.options=self.sifter.items={};self.lastQuery=null;self.trigger('option_clear');self.clear()},getOption:function(value){return this.getElementWithValue(value,this.$dropdown_content.find('[data-selectable]'))},getAdjacentOption:function($option,direction){var $options=this.$dropdown.find('[data-selectable]'),index=$options.index($option)+direction;return index>=0&&index<$options.length?$options.eq(index):$()},getElementWithValue:function(value,$els){value=hash_key(value);if(typeof value!=='undefined'&&value!==null)for(var i=0,n=$els.length;i<n;i++)if($els[i].getAttribute('data-value')===value)return $($els[i]);return $()},getItem:function(value){return this.getElementWithValue(value,this.$control.children())},addItems:function(values,silent){var items=$.isArray(values)?values:[values];for(var i=0,n=items.length;i<n;i++){this.isPending=(i<n-1);this.addItem(items[i],silent)}},addItem:function(value,silent){var events=silent?[]:['change'];debounce_events(this,events,function(){var $item,$option,$options,self=this,inputMode=self.settings.mode,i,active,value_next,wasFull;value=hash_key(value);if(self.items.indexOf(value)!==-1){if(inputMode==='single')self.close();return};if(!self.options.hasOwnProperty(value))return;if(inputMode==='single')self.clear(silent);if(inputMode==='multi'&&self.isFull())return;$item=$(self.render('item',self.options[value]));wasFull=self.isFull();self.items.splice(self.caretPos,0,value);self.insertAtCaret($item);if(!self.isPending||(!wasFull&&self.isFull()))self.refreshState();if(self.isSetup){$options=self.$dropdown_content.find('[data-selectable]');if(!self.isPending){$option=self.getOption(value);value_next=self.getAdjacentOption($option,1).attr('data-value');self.refreshOptions(self.isFocused&&inputMode!=='single');if(value_next)self.setActiveOption(self.getOption(value_next))};if(!$options.length||self.isFull()){self.close()}else self.positionDropdown();self.updatePlaceholder();self.trigger('item_add',value,$item);self.updateOriginalInput({silent:silent})}})},removeItem:function(value,silent){var self=this,$item,i,idx;$item=(value instanceof $)?value:self.getItem(value);value=hash_key($item.attr('data-value'));i=self.items.indexOf(value);if(i!==-1){$item.remove();if($item.hasClass('active')){idx=self.$activeItems.indexOf($item[0]);self.$activeItems.splice(idx,1)};self.items.splice(i,1);self.lastQuery=null;if(!self.settings.persist&&self.userOptions.hasOwnProperty(value))self.removeOption(value,silent);if(i<self.caretPos)self.setCaret(self.caretPos-1);self.refreshState();self.updatePlaceholder();self.updateOriginalInput({silent:silent});self.positionDropdown();self.trigger('item_remove',value,$item)}},createItem:function(input,triggerDropdown){var self=this,caret=self.caretPos;input=input||$.trim(self.$control_input.val()||'');var callback=arguments[arguments.length-1];if(typeof callback!=='function')callback=function(){};if(typeof triggerDropdown!=='boolean')triggerDropdown=true;if(!self.canCreate(input)){callback();return false};self.lock();var setup=(typeof self.settings.create==='function')?this.settings.create:function(input){var data={};data[self.settings.labelField]=input;data[self.settings.valueField]=input;return data},create=once(function(data){self.unlock();if(!data||typeof data!=='object')return callback();var value=hash_key(data[self.settings.valueField]);if(typeof value!=='string')return callback();self.setTextboxValue('');self.addOption(data);self.setCaret(caret);self.addItem(value);self.refreshOptions(triggerDropdown&&self.settings.mode!=='single');callback(data)}),output=setup.apply(this,[input,create]);if(typeof output!=='undefined')create(output);return true},refreshItems:function(){this.lastQuery=null;if(this.isSetup)this.addItem(this.items);this.refreshState();this.updateOriginalInput()},refreshState:function(){this.refreshValidityState();this.refreshClasses()},refreshValidityState:function(){if(!this.isRequired)return false;var invalid=!this.items.length;this.isInvalid=invalid;this.$control_input.prop('required',invalid);this.$input.prop('required',!invalid)},refreshClasses:function(){var self=this,isFull=self.isFull(),isLocked=self.isLocked;self.$wrapper.toggleClass('rtl',self.rtl);self.$control.toggleClass('focus',self.isFocused).toggleClass('disabled',self.isDisabled).toggleClass('required',self.isRequired).toggleClass('invalid',self.isInvalid).toggleClass('locked',isLocked).toggleClass('full',isFull).toggleClass('not-full',!isFull).toggleClass('input-active',self.isFocused&&!self.isInputHidden).toggleClass('dropdown-active',self.isOpen).toggleClass('has-options',!$.isEmptyObject(self.options)).toggleClass('has-items',self.items.length>0);self.$control_input.data('grow',!isFull&&!isLocked)},isFull:function(){return this.settings.maxItems!==null&&this.items.length>=this.settings.maxItems},updateOriginalInput:function(opts){var i,n,options,label,self=this;opts=opts||{};if(self.tagType===TAG_SELECT){options=[];for(i=0,n=self.items.length;i<n;i++){label=self.options[self.items[i]][self.settings.labelField]||'';options.push('<option value="'+escape_html(self.items[i])+'" selected="selected">'+escape_html(label)+'</option>')};if(!options.length&&!this.$input.attr('multiple'))options.push('<option value="" selected="selected"></option>');self.$input.html(options.join(''))}else{self.$input.val(self.getValue());self.$input.attr('value',self.$input.val())};if(self.isSetup)if(!opts.silent)self.trigger('change',self.$input.val())},updatePlaceholder:function(){if(!this.settings.placeholder)return;var $input=this.$control_input;if(this.items.length){$input.removeAttr('placeholder')}else $input.attr('placeholder',this.settings.placeholder);$input.triggerHandler('update',{force:true})},open:function(){var self=this;if(self.isLocked||self.isOpen||(self.settings.mode==='multi'&&self.isFull()))return;self.focus();self.isOpen=true;self.refreshState();self.$dropdown.css({visibility:'hidden',display:'block'});self.positionDropdown();self.$dropdown.css({visibility:'visible'});self.trigger('dropdown_open',self.$dropdown)},close:function(){var self=this,trigger=self.isOpen;if(self.settings.mode==='single'&&self.items.length){self.hideInput();self.$control_input.blur()};self.isOpen=false;self.$dropdown.hide();self.setActiveOption(null);self.refreshState();if(trigger)self.trigger('dropdown_close',self.$dropdown)},positionDropdown:function(){var $control=this.$control,offset=this.settings.dropdownParent==='body'?$control.offset():$control.position();offset.top+=$control.outerHeight(true);this.$dropdown.css({width:$control.outerWidth(),top:offset.top,left:offset.left})},clear:function(silent){var self=this;if(!self.items.length)return;self.$control.children(':not(input)').remove();self.items=[];self.lastQuery=null;self.setCaret(0);self.setActiveItem(null);self.updatePlaceholder();self.updateOriginalInput({silent:silent});self.refreshState();self.showInput();self.trigger('clear')},insertAtCaret:function($el){var caret=Math.min(this.caretPos,this.items.length);if(caret===0){this.$control.prepend($el)}else $(this.$control[0].childNodes[caret]).before($el);this.setCaret(caret+1)},deleteSelection:function(e){var i,n,direction,selection,values,caret,option_select,$option_select,$tail,self=this;direction=(e&&e.keyCode===KEY_BACKSPACE)?-1:1;selection=getSelection(self.$control_input[0]);if(self.$activeOption&&!self.settings.hideSelected)option_select=self.getAdjacentOption(self.$activeOption,-1).attr('data-value');values=[];if(self.$activeItems.length){$tail=self.$control.children('.active:'+(direction>0?'last':'first'));caret=self.$control.children(':not(input)').index($tail);if(direction>0)caret++;for(i=0,n=self.$activeItems.length;i<n;i++)values.push($(self.$activeItems[i]).attr('data-value'));if(e){e.preventDefault();e.stopPropagation()}}else if((self.isFocused||self.settings.mode==='single')&&self.items.length)if(direction<0&&selection.start===0&&selection.length===0){values.push(self.items[self.caretPos-1])}else if(direction>0&&selection.start===self.$control_input.val().length)values.push(self.items[self.caretPos]);if(!values.length||(typeof self.settings.onDelete==='function'&&self.settings.onDelete.apply(self,[values])===false))return false;if(typeof caret!=='undefined')self.setCaret(caret);while(values.length)self.removeItem(values.pop());self.showInput();self.positionDropdown();self.refreshOptions(true);if(option_select){$option_select=self.getOption(option_select);if($option_select.length)self.setActiveOption($option_select)};return true},advanceSelection:function(direction,e){var tail,selection,idx,valueLength,cursorAtEdge,$tail,self=this;if(direction===0)return;if(self.rtl)direction*=-1;tail=direction>0?'last':'first';selection=getSelection(self.$control_input[0]);if(self.isFocused&&!self.isInputHidden){valueLength=self.$control_input.val().length;cursorAtEdge=direction<0?selection.start===0&&selection.length===0:selection.start===valueLength;if(cursorAtEdge&&!valueLength)self.advanceCaret(direction,e)}else{$tail=self.$control.children('.active:'+tail);if($tail.length){idx=self.$control.children(':not(input)').index($tail);self.setActiveItem(null);self.setCaret(direction>0?idx+1:idx)}}},advanceCaret:function(direction,e){var self=this,fn,$adj;if(direction===0)return;fn=direction>0?'next':'prev';if(self.isShiftDown){$adj=self.$control_input[fn]();if($adj.length){self.hideInput();self.setActiveItem($adj);e&&e.preventDefault()}}else self.setCaret(self.caretPos+direction)},setCaret:function(i){var self=this;if(self.settings.mode==='single'){i=self.items.length}else i=Math.max(0,Math.min(self.items.length,i));if(!self.isPending){var j,n,fn,$children,$child;$children=self.$control.children(':not(input)');for(j=0,n=$children.length;j<n;j++){$child=$($children[j]).detach();if(j<i){self.$control_input.before($child)}else self.$control.append($child)}};self.caretPos=i},lock:function(){this.close();this.isLocked=true;this.refreshState()},unlock:function(){this.isLocked=false;this.refreshState()},disable:function(){var self=this;self.$input.prop('disabled',true);self.$control_input.prop('disabled',true).prop('tabindex',-1);self.isDisabled=true;self.lock()},enable:function(){var self=this;self.$input.prop('disabled',false);self.$control_input.prop('disabled',false).prop('tabindex',self.tabIndex);self.isDisabled=false;self.unlock()},destroy:function(){var self=this,eventNS=self.eventNS,revertSettings=self.revertSettings;self.trigger('destroy');self.off();self.$wrapper.remove();self.$dropdown.remove();self.$input.html('').append(revertSettings.$children).removeAttr('tabindex').removeClass('selectized').attr({tabindex:revertSettings.tabindex}).show();self.$control_input.removeData('grow');self.$input.removeData('selectize');$(window).off(eventNS);$(document).off(eventNS);$(document.body).off(eventNS);delete self.$input[0].selectize},render:function(templateName,data){var value,id,label,html='',cache=false,self=this,regex_tag=/^[\t \r\n]*<([a-z][a-z0-9\-_]*(?:\:[a-z][a-z0-9\-_]*)?)/i;if(templateName==='option'||templateName==='item'){value=hash_key(data[self.settings.valueField]);cache=!!value};if(cache){if(!isset(self.renderCache[templateName]))self.renderCache[templateName]={};if(self.renderCache[templateName].hasOwnProperty(value))return self.renderCache[templateName][value]};html=$(self.settings.render[templateName].apply(this,[data,escape_html]));if(templateName==='option'||templateName==='option_create'){html.attr('data-selectable','')}else if(templateName==='optgroup'){id=data[self.settings.optgroupValueField]||'';html.attr('data-group',id)};if(templateName==='option'||templateName==='item')html.attr('data-value',value||'');if(cache)self.renderCache[templateName][value]=html[0];return html[0]},clearCache:function(templateName){var self=this;if(typeof templateName==='undefined'){self.renderCache={}}else delete self.renderCache[templateName]},canCreate:function(input){var self=this;if(!self.settings.create)return false;var filter=self.settings.createFilter;return input.length&&(typeof filter!=='function'||filter.apply(self,[input]))&&(typeof filter!=='string'||new RegExp(filter).test(input))&&(!(filter instanceof RegExp)||filter.test(input))}});Selectize.count=0;Selectize.defaults={options:[],optgroups:[],plugins:[],delimiter:',',splitOn:null,persist:true,diacritics:true,create:false,createOnBlur:false,createFilter:null,highlight:true,openOnFocus:true,maxOptions:1e3,maxItems:null,hideSelected:null,addPrecedence:false,selectOnTab:false,preload:false,allowEmptyOption:false,closeAfterSelect:false,scrollDuration:60,loadThrottle:300,loadingClass:'loading',dataAttr:'data-data',optgroupField:'optgroup',valueField:'value',labelField:'text',optgroupLabelField:'label',optgroupValueField:'value',lockOptgroupOrder:false,sortField:'$order',searchField:['text'],searchConjunction:'and',mode:null,wrapperClass:'selectize-control',inputClass:'selectize-input',dropdownClass:'selectize-dropdown',dropdownContentClass:'selectize-dropdown-content',dropdownParent:null,copyClassesToDropdown:true,render:{}};$.fn.selectize=function(settings_user){var defaults=$.fn.selectize.defaults,settings=$.extend({},defaults,settings_user),attr_data=settings.dataAttr,field_label=settings.labelField,field_value=settings.valueField,field_optgroup=settings.optgroupField,field_optgroup_label=settings.optgroupLabelField,field_optgroup_value=settings.optgroupValueField,init_textbox=function($input,settings_element){var i,n,values,option,data_raw=$input.attr(attr_data);if(!data_raw){var value=$.trim($input.val()||'');if(!settings.allowEmptyOption&&!value.length)return;values=value.split(settings.delimiter);for(i=0,n=values.length;i<n;i++){option={};option[field_label]=values[i];option[field_value]=values[i];settings_element.options.push(option)};settings_element.items=values}else{settings_element.options=JSON.parse(data_raw);for(i=0,n=settings_element.options.length;i<n;i++)settings_element.items.push(settings_element.options[i][field_value])}},init_select=function($input,settings_element){var i,n,tagName,$children,order=0,options=settings_element.options,optionsMap={},readData=function($el){var data=attr_data&&$el.attr(attr_data);if(typeof data==='string'&&data.length)return JSON.parse(data);return null},addOption=function($option,group){$option=$($option);var value=hash_key($option.val());if(!value&&!settings.allowEmptyOption)return;if(optionsMap.hasOwnProperty(value)){if(group){var arr=optionsMap[value][field_optgroup];if(!arr){optionsMap[value][field_optgroup]=group}else if(!$.isArray(arr)){optionsMap[value][field_optgroup]=[arr,group]}else arr.push(group)};return};var option=readData($option)||{};option[field_label]=option[field_label]||$option.text();option[field_value]=option[field_value]||value;option[field_optgroup]=option[field_optgroup]||group;optionsMap[value]=option;options.push(option);if($option.is(':selected'))settings_element.items.push(value)},addGroup=function($optgroup){var i,n,id,optgroup,$options;$optgroup=$($optgroup);id=$optgroup.attr('label');if(id){optgroup=readData($optgroup)||{};optgroup[field_optgroup_label]=id;optgroup[field_optgroup_value]=id;settings_element.optgroups.push(optgroup)};$options=$('option',$optgroup);for(i=0,n=$options.length;i<n;i++)addOption($options[i],id)};settings_element.maxItems=$input.attr('multiple')?null:1;$children=$input.children();for(i=0,n=$children.length;i<n;i++){tagName=$children[i].tagName.toLowerCase();if(tagName==='optgroup'){addGroup($children[i])}else if(tagName==='option')addOption($children[i])}};return this.each(function(){if(this.selectize)return;var instance,$input=$(this),tag_name=this.tagName.toLowerCase(),placeholder=$input.attr('placeholder')||$input.attr('data-placeholder');if(!placeholder&&!settings.allowEmptyOption)placeholder=$input.children('option[value=""]').text();var settings_element={placeholder:placeholder,options:[],optgroups:[],items:[]};if(tag_name==='select'){init_select($input,settings_element)}else init_textbox($input,settings_element);instance=new Selectize($input,$.extend(true,{},defaults,settings_element,settings_user))})};$.fn.selectize.defaults=Selectize.defaults;$.fn.selectize.support={validity:SUPPORTS_VALIDITY_API};Selectize.define('drag_drop',function(options){if(!$.fn.sortable)throw new Error('The "drag_drop" plugin requires jQuery UI "sortable".');if(this.settings.mode!=='multi')return;var self=this;self.lock=(function(){var original=self.lock;return function(){var sortable=self.$control.data('sortable');if(sortable)sortable.disable();return original.apply(self,arguments)}})();self.unlock=(function(){var original=self.unlock;return function(){var sortable=self.$control.data('sortable');if(sortable)sortable.enable();return original.apply(self,arguments)}})();self.setup=(function(){var original=self.setup;return function(){original.apply(this,arguments);var $control=self.$control.sortable({items:'[data-value]',forcePlaceholderSize:true,disabled:self.isLocked,start:function(e,ui){ui.placeholder.css('width',ui.helper.css('width'));$control.css({overflow:'visible'})},stop:function(){$control.css({overflow:'hidden'});var active=self.$activeItems?self.$activeItems.slice():null,values=[];$control.children('[data-value]').each(function(){values.push($(this).attr('data-value'))});self.setValue(values);self.setActiveItem(active)}})}})()});Selectize.define('dropdown_header',function(options){var self=this;options=$.extend({title:'Untitled',headerClass:'selectize-dropdown-header',titleRowClass:'selectize-dropdown-header-title',labelClass:'selectize-dropdown-header-label',closeClass:'selectize-dropdown-header-close',html:function(data){return('<div class="'+data.headerClass+'"><div class="'+data.titleRowClass+'"><span class="'+data.labelClass+'">'+data.title+'</span><a href="javascript:void(0)" class="'+data.closeClass+'">&times;</a></div></div>')}},options);self.setup=(function(){var original=self.setup;return function(){original.apply(self,arguments);self.$dropdown_header=$(options.html(options));self.$dropdown.prepend(self.$dropdown_header)}})()});Selectize.define('optgroup_columns',function(options){var self=this;options=$.extend({equalizeWidth:true,equalizeHeight:true},options);this.getAdjacentOption=function($option,direction){var $options=$option.closest('[data-group]').find('[data-selectable]'),index=$options.index($option)+direction;return index>=0&&index<$options.length?$options.eq(index):$()};this.onKeyDown=(function(){var original=self.onKeyDown;return function(e){var index,$option,$options,$optgroup;if(this.isOpen&&(e.keyCode===KEY_LEFT||e.keyCode===KEY_RIGHT)){self.ignoreHover=true;$optgroup=this.$activeOption.closest('[data-group]');index=$optgroup.find('[data-selectable]').index(this.$activeOption);if(e.keyCode===KEY_LEFT){$optgroup=$optgroup.prev('[data-group]')}else $optgroup=$optgroup.next('[data-group]');$options=$optgroup.find('[data-selectable]');$option=$options.eq(Math.min($options.length-1,index));if($option.length)this.setActiveOption($option);return};return original.apply(this,arguments)}})();var getScrollbarWidth=function(){var div,width=getScrollbarWidth.width,doc=document;if(typeof width==='undefined'){div=doc.createElement('div');div.innerHTML='<div style="width:50px;height:50px;position:absolute;left:-50px;top:-50px;overflow:auto;"><div style="width:1px;height:100px;"></div></div>';div=div.firstChild;doc.body.appendChild(div);width=getScrollbarWidth.width=div.offsetWidth-div.clientWidth;doc.body.removeChild(div)};return width},equalizeSizes=function(){var i,n,height_max,width,width_last,width_parent,$optgroups;$optgroups=$('[data-group]',self.$dropdown_content);n=$optgroups.length;if(!n||!self.$dropdown_content.width())return;if(options.equalizeHeight){height_max=0;for(i=0;i<n;i++)height_max=Math.max(height_max,$optgroups.eq(i).height());$optgroups.css({height:height_max})};if(options.equalizeWidth){width_parent=self.$dropdown_content.innerWidth()-getScrollbarWidth();width=Math.round(width_parent/n);$optgroups.css({width:width});if(n>1){width_last=width_parent-width*(n-1);$optgroups.eq(n-1).css({width:width_last})}}};if(options.equalizeHeight||options.equalizeWidth){hook.after(this,'positionDropdown',equalizeSizes);hook.after(this,'refreshOptions',equalizeSizes)}});Selectize.define('remove_button',function(options){options=$.extend({label:'&times;',title:'Remove',className:'remove',append:true},options);var singleClose=function(thisRef,options){options.className='remove-single';var self=thisRef,html='<a href="javascript:void(0)" class="'+options.className+'" tabindex="-1" title="'+escape_html(options.title)+'">'+options.label+'</a>',append=function(html_container,html_element){return html_container+html_element};thisRef.setup=(function(){var original=self.setup;return function(){if(options.append){var id=$(self.$input.context).attr('id'),selectizer=$('#'+id),render_item=self.settings.render.item;self.settings.render.item=function(data){return append(render_item.apply(thisRef,arguments),html)}};original.apply(thisRef,arguments);thisRef.$control.on('click','.'+options.className,function(e){e.preventDefault();if(self.isLocked)return;self.clear()})}})()},multiClose=function(thisRef,options){var self=thisRef,html='<a href="javascript:void(0)" class="'+options.className+'" tabindex="-1" title="'+escape_html(options.title)+'">'+options.label+'</a>',append=function(html_container,html_element){var pos=html_container.search(/(<\/[^>]+>\s*)$/);return html_container.substring(0,pos)+html_element+html_container.substring(pos)};thisRef.setup=(function(){var original=self.setup;return function(){if(options.append){var render_item=self.settings.render.item;self.settings.render.item=function(data){return append(render_item.apply(thisRef,arguments),html)}};original.apply(thisRef,arguments);thisRef.$control.on('click','.'+options.className,function(e){e.preventDefault();if(self.isLocked)return;var $item=$(e.currentTarget).parent();self.setActiveItem($item);if(self.deleteSelection())self.setCaret(self.items.length)})}})()};if(this.settings.mode==='single'){singleClose(this,options);return}else multiClose(this,options)});Selectize.define('restore_on_backspace',function(options){var self=this;options.text=options.text||function(option){return option[this.settings.labelField]};this.onKeyDown=(function(){var original=self.onKeyDown;return function(e){var index,option;if(e.keyCode===KEY_BACKSPACE&&this.$control_input.val()===''&&!this.$activeItems.length){index=this.caretPos-1;if(index>=0&&index<this.items.length){option=this.options[this.items[index]];if(this.deleteSelection(e)){this.setTextboxValue(options.text.apply(this,[option]));this.refreshOptions(true)};e.preventDefault();return}};return original.apply(this,arguments)}})()});return Selectize}));
(function(window){'use strict';var count=0,logEnabled=false,hiddenCheckEnabled=false,msgHeader='message',msgHeaderLen=msgHeader.length,msgId='[iFrameSizer]',msgIdLen=msgId.length,pagePosition=null,requestAnimationFrame=window.requestAnimationFrame,resetRequiredMethods={max:1,scroll:1,bodyScroll:1,documentElementScroll:1},settings={},timer=null,logId='Host Page',defaults={autoResize:true,bodyBackground:null,bodyMargin:null,bodyMarginV1:8,bodyPadding:null,checkOrigin:true,inPageLinks:false,enablePublicMethods:true,heightCalculationMethod:'bodyOffset',id:'iFrameResizer',interval:32,log:false,maxHeight:Infinity,maxWidth:Infinity,minHeight:0,minWidth:0,resizeFrom:'parent',scrolling:false,sizeHeight:true,sizeWidth:false,tolerance:0,widthCalculationMethod:'scroll',closedCallback:function(){},initCallback:function(){},messageCallback:function(){warn('MessageCallback function not defined')},resizedCallback:function(){},scrollCallback:function(){return true}}
function addEventListener(obj,evt,func){if('addEventListener'in window){obj.addEventListener(evt,func,false)}else if('attachEvent'in window)obj.attachEvent('on'+evt,func)}
function removeEventListener(el,evt,func){if('removeEventListener'in window){el.removeEventListener(evt,func,false)}else if('detachEvent'in window)el.detachEvent('on'+evt,func)}
function setupRequestAnimationFrame(){var vendors=['moz','webkit','o','ms'],x;for(x=0;x<vendors.length&&!requestAnimationFrame;x+=1)requestAnimationFrame=window[vendors[x]+'RequestAnimationFrame'];if(!requestAnimationFrame)log('setup','RequestAnimationFrame not supported')}
function getMyID(iframeId){var retStr='Host page: '+iframeId;if(window.top!==window.self)if(window.parentIFrame&&window.parentIFrame.getId){retStr=window.parentIFrame.getId()+': '+iframeId}else retStr='Nested host page: '+iframeId;return retStr}
function formatLogHeader(iframeId){return msgId+'['+getMyID(iframeId)+']'}
function isLogEnabled(iframeId){return settings[iframeId]?settings[iframeId].log:logEnabled}
function log(iframeId,msg){output('log',iframeId,msg,isLogEnabled(iframeId))}
function info(iframeId,msg){output('info',iframeId,msg,isLogEnabled(iframeId))}
function warn(iframeId,msg){output('warn',iframeId,msg,true)}
function output(type,iframeId,msg,enabled){if(true===enabled&&'object'===typeof window.console)console[type](formatLogHeader(iframeId),msg)}
function iFrameListener(event){function resizeIFrame(){function resize(){setSize(messageData);setPagePosition(iframeId)};ensureInRange('Height');ensureInRange('Width');syncResize(resize,messageData,'init')}
function processMsg(){var data=msg.substr(msgIdLen).split(':');return{iframe:settings[data[0]].iframe,id:data[0],height:data[1],width:data[2],type:data[3]}}
function ensureInRange(Dimension){var max=Number(settings[iframeId]['max'+Dimension]),min=Number(settings[iframeId]['min'+Dimension]),dimension=Dimension.toLowerCase(),size=Number(messageData[dimension]);log(iframeId,'Checking '+dimension+' is in range '+min+'-'+max);if(size<min){size=min;log(iframeId,'Set '+dimension+' to min value')};if(size>max){size=max;log(iframeId,'Set '+dimension+' to max value')};messageData[dimension]=''+size}
function isMessageFromIFrame(){function checkAllowedOrigin(){function checkList(){var i=0,retCode=false;log(iframeId,'Checking connection is from allowed list of origins: '+checkOrigin);for(;i<checkOrigin.length;i++)if(checkOrigin[i]===origin){retCode=true;break};return retCode}
function checkSingle(){var remoteHost=settings[iframeId].remoteHost;log(iframeId,'Checking connection is from: '+remoteHost);return origin===remoteHost};return checkOrigin.constructor===Array?checkList():checkSingle()};var origin=event.origin,checkOrigin=settings[iframeId].checkOrigin;if(checkOrigin&&(''+origin!=='null')&&!checkAllowedOrigin())throw new Error('Unexpected message received from: '+origin+' for '+messageData.iframe.id+'. Message was: '+event.data+'. This error can be disabled by setting the checkOrigin: false option or by providing of array of trusted domains.');return true}
function isMessageForUs(){return msgId===((''+msg).substr(0,msgIdLen))&&(msg.substr(msgIdLen).split(':')[0]in settings)}
function isMessageFromMetaParent(){var retCode=messageData.type in{'true':1,'false':1,'undefined':1};if(retCode)log(iframeId,'Ignoring init message from meta parent page');return retCode}
function getMsgBody(offset){return msg.substr(msg.indexOf(':')+msgHeaderLen+offset)}
function forwardMsgFromIFrame(msgBody){log(iframeId,'MessageCallback passed: {iframe: '+messageData.iframe.id+', message: '+msgBody+'}');callback('messageCallback',{iframe:messageData.iframe,message:JSON.parse(msgBody)});log(iframeId,'--')}
function getPageInfo(){var bodyPosition=document.body.getBoundingClientRect(),iFramePosition=messageData.iframe.getBoundingClientRect();return JSON.stringify({clientHeight:Math.max(document.documentElement.clientHeight,window.innerHeight||0),clientWidth:Math.max(document.documentElement.clientWidth,window.innerWidth||0),offsetTop:parseInt(iFramePosition.top-bodyPosition.top,10),offsetLeft:parseInt(iFramePosition.left-bodyPosition.left,10),scrollTop:window.pageYOffset,scrollLeft:window.pageXOffset})}
function sendPageInfoToIframe(iframe,iframeId){function debouncedTrigger(){trigger('Send Page Info','pageInfo:'+getPageInfo(),iframe,iframeId)};debouce(debouncedTrigger,32)}
function startPageInfoMonitor(){function setListener(type,func){function sendPageInfo(){if(settings[id]){sendPageInfoToIframe(settings[id].iframe,id)}else stop()};['scroll','resize'].forEach(function(evt){log(id,type+evt+' listener for sendPageInfo');func(window,evt,sendPageInfo)})}
function stop(){setListener('Remove ',removeEventListener)}
function start(){setListener('Add ',addEventListener)};var id=iframeId;start();settings[id].stopPageInfo=stop}
function stopPageInfoMonitor(){if(settings[iframeId]&&settings[iframeId].stopPageInfo){settings[iframeId].stopPageInfo();delete settings[iframeId].stopPageInfo}}
function checkIFrameExists(){var retBool=true;if(null===messageData.iframe){warn(iframeId,'IFrame ('+messageData.id+') not found');retBool=false};return retBool}
function getElementPosition(target){var iFramePosition=target.getBoundingClientRect();getPagePosition(iframeId);return{x:Math.floor(Number(iFramePosition.left)+Number(pagePosition.x)),y:Math.floor(Number(iFramePosition.top)+Number(pagePosition.y))}}
function scrollRequestFromChild(addOffset){function reposition(){pagePosition=newPosition;scrollTo();log(iframeId,'--')}
function calcOffset(){return{x:Number(messageData.width)+offset.x,y:Number(messageData.height)+offset.y}}
function scrollParent(){if(window.parentIFrame){window.parentIFrame['scrollTo'+(addOffset?'Offset':'')](newPosition.x,newPosition.y)}else warn(iframeId,'Unable to scroll to requested position, window.parentIFrame not found')};var offset=addOffset?getElementPosition(messageData.iframe):{x:0,y:0},newPosition=calcOffset();log(iframeId,'Reposition requested from iFrame (offset x:'+offset.x+' y:'+offset.y+')');if(window.top!==window.self){scrollParent()}else reposition()}
function scrollTo(){if(false!==callback('scrollCallback',pagePosition)){setPagePosition(iframeId)}else unsetPagePosition()}
function findTarget(location){function jumpToTarget(){var jumpPosition=getElementPosition(target);log(iframeId,'Moving to in page link (#'+hash+') at x: '+jumpPosition.x+' y: '+jumpPosition.y);pagePosition={x:jumpPosition.x,y:jumpPosition.y};scrollTo();log(iframeId,'--')}
function jumpToParent(){if(window.parentIFrame){window.parentIFrame.moveToAnchor(hash)}else log(iframeId,'In page link #'+hash+' not found and window.parentIFrame not found')};var hash=location.split('#')[1]||'',hashData=decodeURIComponent(hash),target=document.getElementById(hashData)||document.getElementsByName(hashData)[0];if(target){jumpToTarget()}else if(window.top!==window.self){jumpToParent()}else log(iframeId,'In page link #'+hash+' not found')}
function callback(funcName,val){return chkCallback(iframeId,funcName,val)}
function actionMsg(){if(settings[iframeId].firstRun)firstRun();switch(messageData.type){case'close':closeIFrame(messageData.iframe);break;case'message':forwardMsgFromIFrame(getMsgBody(6));break;case'scrollTo':scrollRequestFromChild(false);break;case'scrollToOffset':scrollRequestFromChild(true);break;case'pageInfo':sendPageInfoToIframe(settings[iframeId].iframe,iframeId);startPageInfoMonitor();break;case'pageInfoStop':stopPageInfoMonitor();break;case'inPageLink':findTarget(getMsgBody(9));break;case'reset':resetIFrame(messageData);break;case'init':resizeIFrame();callback('initCallback',messageData.iframe);callback('resizedCallback',messageData);break;default:resizeIFrame();callback('resizedCallback',messageData)}}
function hasSettings(iframeId){var retBool=true;if(!settings[iframeId]){retBool=false;warn(messageData.type+' No settings for '+iframeId+'. Message was: '+msg)};return retBool}
function iFrameReadyMsgReceived(){for(var iframeId in settings)trigger('iFrame requested init',createOutgoingMsg(iframeId),document.getElementById(iframeId),iframeId)}
function firstRun(){settings[iframeId].firstRun=false};var msg=event.data,messageData={},iframeId=null;if('[iFrameResizerChild]Ready'===msg){iFrameReadyMsgReceived()}else if(isMessageForUs()){messageData=processMsg();iframeId=logId=messageData.id;if(!isMessageFromMetaParent()&&hasSettings(iframeId)){log(iframeId,'Received: '+msg);if(checkIFrameExists()&&isMessageFromIFrame())actionMsg()}}else info(iframeId,'Ignored: '+msg)}
function chkCallback(iframeId,funcName,val){var func=null,retVal=null;if(settings[iframeId]){func=settings[iframeId][funcName];if('function'===typeof func){retVal=func(val)}else throw new TypeError(funcName+' on iFrame['+iframeId+'] is not a function')};return retVal}
function closeIFrame(iframe){var iframeId=iframe.id;log(iframeId,'Removing iFrame: '+iframeId);iframe.parentNode.removeChild(iframe);chkCallback(iframeId,'closedCallback',iframeId);log(iframeId,'--');delete settings[iframeId]}
function getPagePosition(iframeId){if(null===pagePosition){pagePosition={x:(window.pageXOffset!==undefined)?window.pageXOffset:document.documentElement.scrollLeft,y:(window.pageYOffset!==undefined)?window.pageYOffset:document.documentElement.scrollTop};log(iframeId,'Get page position: '+pagePosition.x+','+pagePosition.y)}}
function setPagePosition(iframeId){if(null!==pagePosition){window.scrollTo(pagePosition.x,pagePosition.y);log(iframeId,'Set page position: '+pagePosition.x+','+pagePosition.y);unsetPagePosition()}}
function unsetPagePosition(){pagePosition=null}
function resetIFrame(messageData){function reset(){setSize(messageData);trigger('reset','reset',messageData.iframe,messageData.id)};log(messageData.id,'Size reset requested by '+('init'===messageData.type?'host page':'iFrame'));getPagePosition(messageData.id);syncResize(reset,messageData,'reset')}
function setSize(messageData){function setDimension(dimension){messageData.iframe.style[dimension]=messageData[dimension]+'px';log(messageData.id,'IFrame ('+iframeId+') '+dimension+' set to '+messageData[dimension]+'px')}
function chkZero(dimension){if(!hiddenCheckEnabled&&'0'===messageData[dimension]){hiddenCheckEnabled=true;log(iframeId,'Hidden iFrame detected, creating visibility listener');fixHiddenIFrames()}}
function processDimension(dimension){setDimension(dimension);chkZero(dimension)};var iframeId=messageData.iframe.id;if(settings[iframeId]){if(settings[iframeId].sizeHeight)processDimension('height');if(settings[iframeId].sizeWidth)processDimension('width')}}
function syncResize(func,messageData,doNotSync){if(doNotSync!==messageData.type&&requestAnimationFrame){log(messageData.id,'Requesting animation frame');requestAnimationFrame(func)}else func()}
function trigger(calleeMsg,msg,iframe,id){function postMessageToIFrame(){var target=settings[id].targetOrigin;log(id,'['+calleeMsg+'] Sending msg to iframe['+id+'] ('+msg+') targetOrigin: '+target);iframe.contentWindow.postMessage(msgId+msg,target)}
function iFrameNotFound(){info(id,'['+calleeMsg+'] IFrame('+id+') not found');if(settings[id])delete settings[id]}
function chkAndSend(){if(iframe&&'contentWindow'in iframe&&(null!==iframe.contentWindow)){postMessageToIFrame()}else iFrameNotFound()};id=id||iframe.id;if(settings[id])chkAndSend()}
function createOutgoingMsg(iframeId){return iframeId+':'+settings[iframeId].bodyMarginV1+':'+settings[iframeId].sizeWidth+':'+settings[iframeId].log+':'+settings[iframeId].interval+':'+settings[iframeId].enablePublicMethods+':'+settings[iframeId].autoResize+':'+settings[iframeId].bodyMargin+':'+settings[iframeId].heightCalculationMethod+':'+settings[iframeId].bodyBackground+':'+settings[iframeId].bodyPadding+':'+settings[iframeId].tolerance+':'+settings[iframeId].inPageLinks+':'+settings[iframeId].resizeFrom+':'+settings[iframeId].widthCalculationMethod}
function setupIFrame(iframe,options){function setLimits(){function addStyle(style){if((Infinity!==settings[iframeId][style])&&(0!==settings[iframeId][style])){iframe.style[style]=settings[iframeId][style]+'px';log(iframeId,'Set '+style+' = '+settings[iframeId][style]+'px')}}
function chkMinMax(dimension){if(settings[iframeId]['min'+dimension]>settings[iframeId]['max'+dimension])throw new Error('Value for min'+dimension+' can not be greater than max'+dimension)};chkMinMax('Height');chkMinMax('Width');addStyle('maxHeight');addStyle('minHeight');addStyle('maxWidth');addStyle('minWidth')}
function newId(){var id=((options&&options.id)||defaults.id+ count++);if(null!==document.getElementById(id))id=id+ count++;return id}
function ensureHasId(iframeId){logId=iframeId;if(''===iframeId){iframe.id=iframeId=newId();logEnabled=(options||{}).log;logId=iframeId;log(iframeId,'Added missing iframe ID: '+iframeId+' ('+iframe.src+')')};return iframeId}
function setScrolling(){log(iframeId,'IFrame scrolling '+(settings[iframeId].scrolling?'enabled':'disabled')+' for '+iframeId);iframe.style.overflow=false===settings[iframeId].scrolling?'hidden':'auto';iframe.scrolling=false===settings[iframeId].scrolling?'no':'yes'}
function setupBodyMarginValues(){if(('number'===typeof(settings[iframeId].bodyMargin))||('0'===settings[iframeId].bodyMargin)){settings[iframeId].bodyMarginV1=settings[iframeId].bodyMargin;settings[iframeId].bodyMargin=''+settings[iframeId].bodyMargin+'px'}}
function checkReset(){var firstRun=settings[iframeId].firstRun,resetRequertMethod=settings[iframeId].heightCalculationMethod in resetRequiredMethods;if(!firstRun&&resetRequertMethod)resetIFrame({iframe:iframe,height:0,width:0,type:'init'})}
function setupIFrameObject(){if(Function.prototype.bind)settings[iframeId].iframe.iFrameResizer={close:closeIFrame.bind(null,settings[iframeId].iframe),resize:trigger.bind(null,'Window resize','resize',settings[iframeId].iframe),moveToAnchor:function(anchor){trigger('Move to anchor','inPageLink:'+anchor,settings[iframeId].iframe,iframeId)},sendMessage:function(message){message=JSON.stringify(message);trigger('Send Message','message:'+message,settings[iframeId].iframe,iframeId)}}}
function init(msg){function iFrameLoaded(){trigger('iFrame.onload',msg,iframe);checkReset()};addEventListener(iframe,'load',iFrameLoaded);trigger('init',msg,iframe)}
function checkOptions(options){if('object'!==typeof options)throw new TypeError('Options is not an object')}
function copyOptions(options){for(var option in defaults)if(defaults.hasOwnProperty(option))settings[iframeId][option]=options.hasOwnProperty(option)?options[option]:defaults[option]}
function getTargetOrigin(remoteHost){return(''===remoteHost||'file://'===remoteHost)?'*':remoteHost}
function processOptions(options){options=options||{};settings[iframeId]={firstRun:true,iframe:iframe,remoteHost:iframe.src.split('/').slice(0,3).join('/')};checkOptions(options);copyOptions(options);settings[iframeId].targetOrigin=true===settings[iframeId].checkOrigin?getTargetOrigin(settings[iframeId].remoteHost):'*'}
function beenHere(){return(iframeId in settings&&'iFrameResizer'in iframe)};var iframeId=ensureHasId(iframe.id);if(!beenHere()){processOptions(options);setScrolling();setLimits();setupBodyMarginValues();init(createOutgoingMsg(iframeId));setupIFrameObject()}else warn(iframeId,'Ignored iFrame, already setup.')}
function debouce(fn,time){if(null===timer)timer=setTimeout(function(){timer=null;fn()},time)}
function fixHiddenIFrames(){function checkIFrames(){function checkIFrame(settingId){function chkDimension(dimension){return'0px'===settings[settingId].iframe.style[dimension]}
function isVisible(el){return(null!==el.offsetParent)};if(isVisible(settings[settingId].iframe)&&(chkDimension('height')||chkDimension('width')))trigger('Visibility change','resize',settings[settingId].iframe,settingId)};for(var settingId in settings)checkIFrame(settingId)}
function mutationObserved(mutations){log('window','Mutation observed: '+mutations[0].target+' '+mutations[0].type);debouce(checkIFrames,16)}
function createMutationObserver(){var target=document.querySelector('body'),config={attributes:true,attributeOldValue:false,characterData:true,characterDataOldValue:false,childList:true,subtree:true},observer=new MutationObserver(mutationObserved);observer.observe(target,config)};var MutationObserver=window.MutationObserver||window.WebKitMutationObserver;if(MutationObserver)createMutationObserver()}
function resizeIFrames(event){function resize(){sendTriggerMsg('Window '+event,'resize')};log('window','Trigger event: '+event);debouce(resize,16)}
function tabVisible(){function resize(){sendTriggerMsg('Tab Visable','resize')};if('hidden'!==document.visibilityState){log('document','Trigger event: Visiblity change');debouce(resize,16)}}
function sendTriggerMsg(eventName,event){function isIFrameResizeEnabled(iframeId){return'parent'===settings[iframeId].resizeFrom&&settings[iframeId].autoResize&&!settings[iframeId].firstRun};for(var iframeId in settings)if(isIFrameResizeEnabled(iframeId))trigger(eventName,event,document.getElementById(iframeId),iframeId)}
function setupEventListeners(){addEventListener(window,'message',iFrameListener);addEventListener(window,'resize',function(){resizeIFrames('resize')});addEventListener(document,'visibilitychange',tabVisible);addEventListener(document,'-webkit-visibilitychange',tabVisible);addEventListener(window,'focusin',function(){resizeIFrames('focus')});addEventListener(window,'focus',function(){resizeIFrames('focus')})}
function factory(){function init(options,element){function chkType(){if(!element.tagName){throw new TypeError('Object is not a valid DOM element')}else if('IFRAME'!==element.tagName.toUpperCase())throw new TypeError('Expected <IFRAME> tag, found <'+element.tagName+'>')};if(element){chkType();setupIFrame(element,options);iFrames.push(element)}};var iFrames;setupRequestAnimationFrame();setupEventListeners();return function iFrameResizeF(options,target){iFrames=[];switch(typeof target){case'undefined':case'string':Array.prototype.forEach.call(document.querySelectorAll(target||'iframe'),init.bind(undefined,options));break;case'object':init(options,target);break;default:throw new TypeError('Unexpected data type ('+typeof target+')')};return iFrames}}
function createJQueryPublicMethod($){$.fn.iFrameResize=function $iFrameResizeF(options){return this.filter('iframe').each(function(index,element){setupIFrame(element,options)}).end()}};if(window.jQuery)createJQueryPublicMethod(jQuery);if(typeof define==='function'&&define.amd){define([],factory)}else if(typeof module==='object'&&typeof module.exports==='object'){module.exports=factory()}else window.iFrameResize=window.iFrameResize||factory()})(window||{});
(function(factory){'use strict';if(typeof define==='function'&&define.amd){define(['jquery'],factory)}else if(typeof exports==='object'){module.exports=factory(require('jquery'))}else factory(jQuery)}(function($){'use strict';Number.isNaN=Number.isNaN||function(value){return typeof value==='number'&&value!==value}
function supportsRange(){var input=document.createElement('input');input.setAttribute('type','range');return input.type!=='text'};var pluginName='rangeslider',pluginIdentifier=0,hasInputRangeSupport=supportsRange(),defaults={polyfill:true,orientation:'horizontal',rangeClass:'rangeslider',disabledClass:'rangeslider--disabled',activeClass:'rangeslider--active',horizontalClass:'rangeslider--horizontal',verticalClass:'rangeslider--vertical',fillClass:'rangeslider__fill',handleClass:'rangeslider__handle',startEvent:['mousedown','touchstart','pointerdown'],moveEvent:['mousemove','touchmove','pointermove'],endEvent:['mouseup','touchend','pointerup']},constants={orientation:{horizontal:{dimension:'width',direction:'left',directionStyle:'left',coordinate:'x'},vertical:{dimension:'height',direction:'top',directionStyle:'bottom',coordinate:'y'}}}
function delay(fn,wait){var args=Array.prototype.slice.call(arguments,2);return setTimeout(function(){return fn.apply(null,args)},wait)}
function debounce(fn,debounceDuration){debounceDuration=debounceDuration||100;return function(){if(!fn.debouncing){var args=Array.prototype.slice.apply(arguments);fn.lastReturnVal=fn.apply(window,args);fn.debouncing=true};clearTimeout(fn.debounceTimeout);fn.debounceTimeout=setTimeout(function(){fn.debouncing=false},debounceDuration);return fn.lastReturnVal}}
function isHidden(element){return(element&&(element.offsetWidth===0||element.offsetHeight===0||element.open===false))}
function getHiddenParentNodes(element){var parents=[],node=element.parentNode;while(isHidden(node)){parents.push(node);node=node.parentNode};return parents}
function getDimension(element,key){var hiddenParentNodes=getHiddenParentNodes(element),hiddenParentNodesLength=hiddenParentNodes.length,inlineStyle=[],dimension=element[key]
function toggleOpenProperty(element){if(typeof element.open!=='undefined')element.open=(element.open)?false:true};if(hiddenParentNodesLength){for(var i=0;i<hiddenParentNodesLength;i++){inlineStyle[i]=hiddenParentNodes[i].style.cssText;if(hiddenParentNodes[i].style.setProperty){hiddenParentNodes[i].style.setProperty('display','block','important')}else hiddenParentNodes[i].style.cssText+=';display: block !important';hiddenParentNodes[i].style.height='0';hiddenParentNodes[i].style.overflow='hidden';hiddenParentNodes[i].style.visibility='hidden';toggleOpenProperty(hiddenParentNodes[i])};dimension=element[key];for(var j=0;j<hiddenParentNodesLength;j++){hiddenParentNodes[j].style.cssText=inlineStyle[j];toggleOpenProperty(hiddenParentNodes[j])}};return dimension}
function tryParseFloat(str,defaultValue){var value=parseFloat(str);return Number.isNaN(value)?defaultValue:value}
function ucfirst(str){return str.charAt(0).toUpperCase()+str.substr(1)}
function Plugin(element,options){this.$window=$(window);this.$document=$(document);this.$element=$(element);this.options=$.extend({},defaults,options);this.polyfill=this.options.polyfill;this.orientation=this.$element[0].getAttribute('data-orientation')||this.options.orientation;this.onInit=this.options.onInit;this.onSlide=this.options.onSlide;this.onSlideEnd=this.options.onSlideEnd;this.DIMENSION=constants.orientation[this.orientation].dimension;this.DIRECTION=constants.orientation[this.orientation].direction;this.DIRECTION_STYLE=constants.orientation[this.orientation].directionStyle;this.COORDINATE=constants.orientation[this.orientation].coordinate;if(this.polyfill)if(hasInputRangeSupport)return false;this.identifier='js-'+pluginName+'-'+(pluginIdentifier++);this.startEvent=this.options.startEvent.join('.'+this.identifier+' ')+'.'+this.identifier;this.moveEvent=this.options.moveEvent.join('.'+this.identifier+' ')+'.'+this.identifier;this.endEvent=this.options.endEvent.join('.'+this.identifier+' ')+'.'+this.identifier;this.toFixed=(this.step+'').replace('.','').length-1;this.$fill=$('<div class="'+this.options.fillClass+'" />');this.$handle=$('<div class="'+this.options.handleClass+'" />');this.$range=$('<div class="'+this.options.rangeClass+' '+this.options[this.orientation+'Class']+'" id="'+this.identifier+'" />').insertAfter(this.$element).prepend(this.$fill,this.$handle);this.$element.css({position:'absolute',width:'1px',height:'1px',overflow:'hidden',opacity:'0'});this.handleDown=$.proxy(this.handleDown,this);this.handleMove=$.proxy(this.handleMove,this);this.handleEnd=$.proxy(this.handleEnd,this);this.init();var _this=this;this.$window.on('resize.'+this.identifier,debounce(function(){delay(function(){_this.update(false,false)},300)},20));this.$document.on(this.startEvent,'#'+this.identifier+':not(.'+this.options.disabledClass+')',this.handleDown);this.$element.on('change.'+this.identifier,function(e,data){if(data&&data.origin===_this.identifier)return;var value=e.target.value,pos=_this.getPositionFromValue(value);_this.setPosition(pos)})};Plugin.prototype.init=function(){this.update(true,false);if(this.onInit&&typeof this.onInit==='function')this.onInit()};Plugin.prototype.update=function(updateAttributes,triggerSlide){updateAttributes=updateAttributes||false;if(updateAttributes){this.min=tryParseFloat(this.$element[0].getAttribute('min'),0);this.max=tryParseFloat(this.$element[0].getAttribute('max'),100);this.value=tryParseFloat(this.$element[0].value,Math.round(this.min+(this.max-this.min)/2));this.step=tryParseFloat(this.$element[0].getAttribute('step'),1)};this.handleDimension=getDimension(this.$handle[0],'offset'+ucfirst(this.DIMENSION));this.rangeDimension=getDimension(this.$range[0],'offset'+ucfirst(this.DIMENSION));this.maxHandlePos=this.rangeDimension-this.handleDimension;this.grabPos=this.handleDimension/2;this.position=this.getPositionFromValue(this.value);if(this.$element[0].disabled){this.$range.addClass(this.options.disabledClass)}else this.$range.removeClass(this.options.disabledClass);this.setPosition(this.position,triggerSlide)};Plugin.prototype.handleDown=function(e){e.preventDefault();if(e.button&&e.button!==0)return;this.$document.on(this.moveEvent,this.handleMove);this.$document.on(this.endEvent,this.handleEnd);this.$range.addClass(this.options.activeClass);if((' '+e.target.className+' ').replace(/[\n\t]/g,' ').indexOf(this.options.handleClass)>-1)return;var pos=this.getRelativePosition(e),rangePos=this.$range[0].getBoundingClientRect()[this.DIRECTION],handlePos=this.getPositionFromNode(this.$handle[0])-rangePos,setPos=(this.orientation==='vertical')?(this.maxHandlePos-(pos-this.grabPos)):(pos-this.grabPos);this.setPosition(setPos);if(pos>=handlePos&&pos<handlePos+this.handleDimension)this.grabPos=pos-handlePos};Plugin.prototype.handleMove=function(e){e.preventDefault();var pos=this.getRelativePosition(e),setPos=(this.orientation==='vertical')?(this.maxHandlePos-(pos-this.grabPos)):(pos-this.grabPos);this.setPosition(setPos)};Plugin.prototype.handleEnd=function(e){e.preventDefault();this.$document.off(this.moveEvent,this.handleMove);this.$document.off(this.endEvent,this.handleEnd);this.$range.removeClass(this.options.activeClass);this.$element.trigger('change',{origin:this.identifier});if(this.onSlideEnd&&typeof this.onSlideEnd==='function')this.onSlideEnd(this.position,this.value)};Plugin.prototype.cap=function(pos,min,max){if(pos<min)return min;if(pos>max)return max;return pos};Plugin.prototype.setPosition=function(pos,triggerSlide){var value,newPos;if(triggerSlide===undefined)triggerSlide=true;value=this.getValueFromPosition(this.cap(pos,0,this.maxHandlePos));newPos=this.getPositionFromValue(value);this.$fill[0].style[this.DIMENSION]=(newPos+this.grabPos)+'px';this.$handle[0].style[this.DIRECTION_STYLE]=newPos+'px';this.setValue(value);this.position=newPos;this.value=value;if(triggerSlide&&this.onSlide&&typeof this.onSlide==='function')this.onSlide(newPos,value)};Plugin.prototype.getPositionFromNode=function(node){var i=0;while(node!==null){i+=node.offsetLeft;node=node.offsetParent};return i};Plugin.prototype.getRelativePosition=function(e){var ucCoordinate=ucfirst(this.COORDINATE),rangePos=this.$range[0].getBoundingClientRect()[this.DIRECTION],pageCoordinate=0;if(typeof e.originalEvent['client'+ucCoordinate]!=='undefined'){pageCoordinate=e.originalEvent['client'+ucCoordinate]}else if(e.originalEvent.touches&&e.originalEvent.touches[0]&&typeof e.originalEvent.touches[0]['client'+ucCoordinate]!=='undefined'){pageCoordinate=e.originalEvent.touches[0]['client'+ucCoordinate]}else if(e.currentPoint&&typeof e.currentPoint[this.COORDINATE]!=='undefined')pageCoordinate=e.currentPoint[this.COORDINATE];return pageCoordinate-rangePos};Plugin.prototype.getPositionFromValue=function(value){var percentage,pos;percentage=(value-this.min)/(this.max-this.min);pos=(!Number.isNaN(percentage))?percentage*this.maxHandlePos:0;return pos};Plugin.prototype.getValueFromPosition=function(pos){var percentage,value;percentage=(pos/(this.maxHandlePos||1));value=this.step*Math.round(percentage*(this.max-this.min)/this.step)+this.min;return Number(value.toFixed(this.toFixed))};Plugin.prototype.setValue=function(value){if(value===this.value&&this.$element[0].value!=='')return;this.$element.val(value).trigger('input',{origin:this.identifier})};Plugin.prototype.destroy=function(){this.$document.off('.'+this.identifier);this.$window.off('.'+this.identifier);this.$element.off('.'+this.identifier).removeAttr('style').removeData('plugin_'+pluginName);if(this.$range&&this.$range.length)this.$range[0].parentNode.removeChild(this.$range[0])};$.fn[pluginName]=function(options){var args=Array.prototype.slice.call(arguments,1);return this.each(function(){var $this=$(this),data=$this.data('plugin_'+pluginName);if(!data)$this.data('plugin_'+pluginName,(data=new Plugin(this,options)));if(typeof options==='string')data[options].apply(data,args)})};return'rangeslider.js is available in jQuery context e.g $(selector).rangeslider(options);'}));
/*!
 * Vue.js v2.5.17
 * (c) 2014-2018 Evan You
 * Released under the MIT License.
 */
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.Vue=t()}(this,function(){"use strict";var y=Object.freeze({});function M(e){return null==e}function D(e){return null!=e}function S(e){return!0===e}function T(e){return"string"==typeof e||"number"==typeof e||"symbol"==typeof e||"boolean"==typeof e}function P(e){return null!==e&&"object"==typeof e}var r=Object.prototype.toString;function l(e){return"[object Object]"===r.call(e)}function i(e){var t=parseFloat(String(e));return 0<=t&&Math.floor(t)===t&&isFinite(e)}function t(e){return null==e?"":"object"==typeof e?JSON.stringify(e,null,2):String(e)}function F(e){var t=parseFloat(e);return isNaN(t)?e:t}function s(e,t){for(var n=Object.create(null),r=e.split(","),i=0;i<r.length;i++)n[r[i]]=!0;return t?function(e){return n[e.toLowerCase()]}:function(e){return n[e]}}var c=s("slot,component",!0),u=s("key,ref,slot,slot-scope,is");function f(e,t){if(e.length){var n=e.indexOf(t);if(-1<n)return e.splice(n,1)}}var n=Object.prototype.hasOwnProperty;function p(e,t){return n.call(e,t)}function e(t){var n=Object.create(null);return function(e){return n[e]||(n[e]=t(e))}}var o=/-(\w)/g,g=e(function(e){return e.replace(o,function(e,t){return t?t.toUpperCase():""})}),d=e(function(e){return e.charAt(0).toUpperCase()+e.slice(1)}),a=/\B([A-Z])/g,_=e(function(e){return e.replace(a,"-$1").toLowerCase()});var v=Function.prototype.bind?function(e,t){return e.bind(t)}:function(n,r){function e(e){var t=arguments.length;return t?1<t?n.apply(r,arguments):n.call(r,e):n.call(r)}return e._length=n.length,e};function h(e,t){t=t||0;for(var n=e.length-t,r=new Array(n);n--;)r[n]=e[n+t];return r}function m(e,t){for(var n in t)e[n]=t[n];return e}function b(e){for(var t={},n=0;n<e.length;n++)e[n]&&m(t,e[n]);return t}function $(e,t,n){}var O=function(e,t,n){return!1},w=function(e){return e};function C(t,n){if(t===n)return!0;var e=P(t),r=P(n);if(!e||!r)return!e&&!r&&String(t)===String(n);try{var i=Array.isArray(t),o=Array.isArray(n);if(i&&o)return t.length===n.length&&t.every(function(e,t){return C(e,n[t])});if(i||o)return!1;var a=Object.keys(t),s=Object.keys(n);return a.length===s.length&&a.every(function(e){return C(t[e],n[e])})}catch(e){return!1}}function x(e,t){for(var n=0;n<e.length;n++)if(C(e[n],t))return n;return-1}function R(e){var t=!1;return function(){t||(t=!0,e.apply(this,arguments))}}var E="data-server-rendered",k=["component","directive","filter"],A=["beforeCreate","created","beforeMount","mounted","beforeUpdate","updated","beforeDestroy","destroyed","activated","deactivated","errorCaptured"],j={optionMergeStrategies:Object.create(null),silent:!1,productionTip:!1,devtools:!1,performance:!1,errorHandler:null,warnHandler:null,ignoredElements:[],keyCodes:Object.create(null),isReservedTag:O,isReservedAttr:O,isUnknownElement:O,getTagNamespace:$,parsePlatformTagName:w,mustUseProp:O,_lifecycleHooks:A};function N(e,t,n,r){Object.defineProperty(e,t,{value:n,enumerable:!!r,writable:!0,configurable:!0})}var L=/[^\w.$]/;var I,H="__proto__"in{},B="undefined"!=typeof window,U="undefined"!=typeof WXEnvironment&&!!WXEnvironment.platform,V=U&&WXEnvironment.platform.toLowerCase(),z=B&&window.navigator.userAgent.toLowerCase(),K=z&&/msie|trident/.test(z),J=z&&0<z.indexOf("msie 9.0"),q=z&&0<z.indexOf("edge/"),W=(z&&z.indexOf("android"),z&&/iphone|ipad|ipod|ios/.test(z)||"ios"===V),G=(z&&/chrome\/\d+/.test(z),{}.watch),Z=!1;if(B)try{var X={};Object.defineProperty(X,"passive",{get:function(){Z=!0}}),window.addEventListener("test-passive",null,X)}catch(e){}var Y=function(){return void 0===I&&(I=!B&&!U&&"undefined"!=typeof global&&"server"===global.process.env.VUE_ENV),I},Q=B&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function ee(e){return"function"==typeof e&&/native code/.test(e.toString())}var te,ne="undefined"!=typeof Symbol&&ee(Symbol)&&"undefined"!=typeof Reflect&&ee(Reflect.ownKeys);te="undefined"!=typeof Set&&ee(Set)?Set:function(){function e(){this.set=Object.create(null)}return e.prototype.has=function(e){return!0===this.set[e]},e.prototype.add=function(e){this.set[e]=!0},e.prototype.clear=function(){this.set=Object.create(null)},e}();var re=$,ie=0,oe=function(){this.id=ie++,this.subs=[]};oe.prototype.addSub=function(e){this.subs.push(e)},oe.prototype.removeSub=function(e){f(this.subs,e)},oe.prototype.depend=function(){oe.target&&oe.target.addDep(this)},oe.prototype.notify=function(){for(var e=this.subs.slice(),t=0,n=e.length;t<n;t++)e[t].update()},oe.target=null;var ae=[];function se(e){oe.target&&ae.push(oe.target),oe.target=e}function ce(){oe.target=ae.pop()}var le=function(e,t,n,r,i,o,a,s){this.tag=e,this.data=t,this.children=n,this.text=r,this.elm=i,this.ns=void 0,this.context=o,this.fnContext=void 0,this.fnOptions=void 0,this.fnScopeId=void 0,this.key=t&&t.key,this.componentOptions=a,this.componentInstance=void 0,this.parent=void 0,this.raw=!1,this.isStatic=!1,this.isRootInsert=!0,this.isComment=!1,this.isCloned=!1,this.isOnce=!1,this.asyncFactory=s,this.asyncMeta=void 0,this.isAsyncPlaceholder=!1},ue={child:{configurable:!0}};ue.child.get=function(){return this.componentInstance},Object.defineProperties(le.prototype,ue);var fe=function(e){void 0===e&&(e="");var t=new le;return t.text=e,t.isComment=!0,t};function pe(e){return new le(void 0,void 0,void 0,String(e))}function de(e){var t=new le(e.tag,e.data,e.children,e.text,e.elm,e.context,e.componentOptions,e.asyncFactory);return t.ns=e.ns,t.isStatic=e.isStatic,t.key=e.key,t.isComment=e.isComment,t.fnContext=e.fnContext,t.fnOptions=e.fnOptions,t.fnScopeId=e.fnScopeId,t.isCloned=!0,t}var ve=Array.prototype,he=Object.create(ve);["push","pop","shift","unshift","splice","sort","reverse"].forEach(function(o){var a=ve[o];N(he,o,function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var n,r=a.apply(this,e),i=this.__ob__;switch(o){case"push":case"unshift":n=e;break;case"splice":n=e.slice(2)}return n&&i.observeArray(n),i.dep.notify(),r})});var me=Object.getOwnPropertyNames(he),ye=!0;function ge(e){ye=e}var _e=function(e){(this.value=e,this.dep=new oe,this.vmCount=0,N(e,"__ob__",this),Array.isArray(e))?((H?be:$e)(e,he,me),this.observeArray(e)):this.walk(e)};function be(e,t,n){e.__proto__=t}function $e(e,t,n){for(var r=0,i=n.length;r<i;r++){var o=n[r];N(e,o,t[o])}}function we(e,t){var n;if(P(e)&&!(e instanceof le))return p(e,"__ob__")&&e.__ob__ instanceof _e?n=e.__ob__:ye&&!Y()&&(Array.isArray(e)||l(e))&&Object.isExtensible(e)&&!e._isVue&&(n=new _e(e)),t&&n&&n.vmCount++,n}function Ce(n,e,r,t,i){var o=new oe,a=Object.getOwnPropertyDescriptor(n,e);if(!a||!1!==a.configurable){var s=a&&a.get;s||2!==arguments.length||(r=n[e]);var c=a&&a.set,l=!i&&we(r);Object.defineProperty(n,e,{enumerable:!0,configurable:!0,get:function(){var e=s?s.call(n):r;return oe.target&&(o.depend(),l&&(l.dep.depend(),Array.isArray(e)&&function e(t){for(var n=void 0,r=0,i=t.length;r<i;r++)(n=t[r])&&n.__ob__&&n.__ob__.dep.depend(),Array.isArray(n)&&e(n)}(e))),e},set:function(e){var t=s?s.call(n):r;e===t||e!=e&&t!=t||(c?c.call(n,e):r=e,l=!i&&we(e),o.notify())}})}}function xe(e,t,n){if(Array.isArray(e)&&i(t))return e.length=Math.max(e.length,t),e.splice(t,1,n),n;if(t in e&&!(t in Object.prototype))return e[t]=n;var r=e.__ob__;return e._isVue||r&&r.vmCount?n:r?(Ce(r.value,t,n),r.dep.notify(),n):e[t]=n}function ke(e,t){if(Array.isArray(e)&&i(t))e.splice(t,1);else{var n=e.__ob__;e._isVue||n&&n.vmCount||p(e,t)&&(delete e[t],n&&n.dep.notify())}}_e.prototype.walk=function(e){for(var t=Object.keys(e),n=0;n<t.length;n++)Ce(e,t[n])},_e.prototype.observeArray=function(e){for(var t=0,n=e.length;t<n;t++)we(e[t])};var Ae=j.optionMergeStrategies;function Oe(e,t){if(!t)return e;for(var n,r,i,o=Object.keys(t),a=0;a<o.length;a++)r=e[n=o[a]],i=t[n],p(e,n)?l(r)&&l(i)&&Oe(r,i):xe(e,n,i);return e}function Se(n,r,i){return i?function(){var e="function"==typeof r?r.call(i,i):r,t="function"==typeof n?n.call(i,i):n;return e?Oe(e,t):t}:r?n?function(){return Oe("function"==typeof r?r.call(this,this):r,"function"==typeof n?n.call(this,this):n)}:r:n}function Te(e,t){return t?e?e.concat(t):Array.isArray(t)?t:[t]:e}function Ee(e,t,n,r){var i=Object.create(e||null);return t?m(i,t):i}Ae.data=function(e,t,n){return n?Se(e,t,n):t&&"function"!=typeof t?e:Se(e,t)},A.forEach(function(e){Ae[e]=Te}),k.forEach(function(e){Ae[e+"s"]=Ee}),Ae.watch=function(e,t,n,r){if(e===G&&(e=void 0),t===G&&(t=void 0),!t)return Object.create(e||null);if(!e)return t;var i={};for(var o in m(i,e),t){var a=i[o],s=t[o];a&&!Array.isArray(a)&&(a=[a]),i[o]=a?a.concat(s):Array.isArray(s)?s:[s]}return i},Ae.props=Ae.methods=Ae.inject=Ae.computed=function(e,t,n,r){if(!e)return t;var i=Object.create(null);return m(i,e),t&&m(i,t),i},Ae.provide=Se;var je=function(e,t){return void 0===t?e:t};function Ne(n,r,i){"function"==typeof r&&(r=r.options),function(e,t){var n=e.props;if(n){var r,i,o={};if(Array.isArray(n))for(r=n.length;r--;)"string"==typeof(i=n[r])&&(o[g(i)]={type:null});else if(l(n))for(var a in n)i=n[a],o[g(a)]=l(i)?i:{type:i};e.props=o}}(r),function(e,t){var n=e.inject;if(n){var r=e.inject={};if(Array.isArray(n))for(var i=0;i<n.length;i++)r[n[i]]={from:n[i]};else if(l(n))for(var o in n){var a=n[o];r[o]=l(a)?m({from:o},a):{from:a}}}}(r),function(e){var t=e.directives;if(t)for(var n in t){var r=t[n];"function"==typeof r&&(t[n]={bind:r,update:r})}}(r);var e=r.extends;if(e&&(n=Ne(n,e,i)),r.mixins)for(var t=0,o=r.mixins.length;t<o;t++)n=Ne(n,r.mixins[t],i);var a,s={};for(a in n)c(a);for(a in r)p(n,a)||c(a);function c(e){var t=Ae[e]||je;s[e]=t(n[e],r[e],i,e)}return s}function Le(e,t,n,r){if("string"==typeof n){var i=e[t];if(p(i,n))return i[n];var o=g(n);if(p(i,o))return i[o];var a=d(o);return p(i,a)?i[a]:i[n]||i[o]||i[a]}}function Ie(e,t,n,r){var i=t[e],o=!p(n,e),a=n[e],s=Pe(Boolean,i.type);if(-1<s)if(o&&!p(i,"default"))a=!1;else if(""===a||a===_(e)){var c=Pe(String,i.type);(c<0||s<c)&&(a=!0)}if(void 0===a){a=function(e,t,n){if(!p(t,"default"))return;var r=t.default;if(e&&e.$options.propsData&&void 0===e.$options.propsData[n]&&void 0!==e._props[n])return e._props[n];return"function"==typeof r&&"Function"!==Me(t.type)?r.call(e):r}(r,i,e);var l=ye;ge(!0),we(a),ge(l)}return a}function Me(e){var t=e&&e.toString().match(/^\s*function (\w+)/);return t?t[1]:""}function De(e,t){return Me(e)===Me(t)}function Pe(e,t){if(!Array.isArray(t))return De(t,e)?0:-1;for(var n=0,r=t.length;n<r;n++)if(De(t[n],e))return n;return-1}function Fe(e,t,n){if(t)for(var r=t;r=r.$parent;){var i=r.$options.errorCaptured;if(i)for(var o=0;o<i.length;o++)try{if(!1===i[o].call(r,e,t,n))return}catch(e){Re(e,r,"errorCaptured hook")}}Re(e,t,n)}function Re(e,t,n){if(j.errorHandler)try{return j.errorHandler.call(null,e,t,n)}catch(e){He(e,null,"config.errorHandler")}He(e,t,n)}function He(e,t,n){if(!B&&!U||"undefined"==typeof console)throw e;console.error(e)}var Be,Ue,Ve=[],ze=!1;function Ke(){ze=!1;for(var e=Ve.slice(0),t=Ve.length=0;t<e.length;t++)e[t]()}var Je=!1;if("undefined"!=typeof setImmediate&&ee(setImmediate))Ue=function(){setImmediate(Ke)};else if("undefined"==typeof MessageChannel||!ee(MessageChannel)&&"[object MessageChannelConstructor]"!==MessageChannel.toString())Ue=function(){setTimeout(Ke,0)};else{var qe=new MessageChannel,We=qe.port2;qe.port1.onmessage=Ke,Ue=function(){We.postMessage(1)}}if("undefined"!=typeof Promise&&ee(Promise)){var Ge=Promise.resolve();Be=function(){Ge.then(Ke),W&&setTimeout($)}}else Be=Ue;function Ze(e,t){var n;if(Ve.push(function(){if(e)try{e.call(t)}catch(e){Fe(e,t,"nextTick")}else n&&n(t)}),ze||(ze=!0,Je?Ue():Be()),!e&&"undefined"!=typeof Promise)return new Promise(function(e){n=e})}var Xe=new te;function Ye(e){!function e(t,n){var r,i;var o=Array.isArray(t);if(!o&&!P(t)||Object.isFrozen(t)||t instanceof le)return;if(t.__ob__){var a=t.__ob__.dep.id;if(n.has(a))return;n.add(a)}if(o)for(r=t.length;r--;)e(t[r],n);else for(i=Object.keys(t),r=i.length;r--;)e(t[i[r]],n)}(e,Xe),Xe.clear()}var Qe,et=e(function(e){var t="&"===e.charAt(0),n="~"===(e=t?e.slice(1):e).charAt(0),r="!"===(e=n?e.slice(1):e).charAt(0);return{name:e=r?e.slice(1):e,once:n,capture:r,passive:t}});function tt(e){function i(){var e=arguments,t=i.fns;if(!Array.isArray(t))return t.apply(null,arguments);for(var n=t.slice(),r=0;r<n.length;r++)n[r].apply(null,e)}return i.fns=e,i}function nt(e,t,n,r,i){var o,a,s,c;for(o in e)a=e[o],s=t[o],c=et(o),M(a)||(M(s)?(M(a.fns)&&(a=e[o]=tt(a)),n(c.name,a,c.once,c.capture,c.passive,c.params)):a!==s&&(s.fns=a,e[o]=s));for(o in t)M(e[o])&&r((c=et(o)).name,t[o],c.capture)}function rt(e,t,n){var r;e instanceof le&&(e=e.data.hook||(e.data.hook={}));var i=e[t];function o(){n.apply(this,arguments),f(r.fns,o)}M(i)?r=tt([o]):D(i.fns)&&S(i.merged)?(r=i).fns.push(o):r=tt([i,o]),r.merged=!0,e[t]=r}function it(e,t,n,r,i){if(D(t)){if(p(t,n))return e[n]=t[n],i||delete t[n],!0;if(p(t,r))return e[n]=t[r],i||delete t[r],!0}return!1}function ot(e){return T(e)?[pe(e)]:Array.isArray(e)?function e(t,n){var r=[];var i,o,a,s;for(i=0;i<t.length;i++)M(o=t[i])||"boolean"==typeof o||(a=r.length-1,s=r[a],Array.isArray(o)?0<o.length&&(at((o=e(o,(n||"")+"_"+i))[0])&&at(s)&&(r[a]=pe(s.text+o[0].text),o.shift()),r.push.apply(r,o)):T(o)?at(s)?r[a]=pe(s.text+o):""!==o&&r.push(pe(o)):at(o)&&at(s)?r[a]=pe(s.text+o.text):(S(t._isVList)&&D(o.tag)&&M(o.key)&&D(n)&&(o.key="__vlist"+n+"_"+i+"__"),r.push(o)));return r}(e):void 0}function at(e){return D(e)&&D(e.text)&&!1===e.isComment}function st(e,t){return(e.__esModule||ne&&"Module"===e[Symbol.toStringTag])&&(e=e.default),P(e)?t.extend(e):e}function ct(e){return e.isComment&&e.asyncFactory}function lt(e){if(Array.isArray(e))for(var t=0;t<e.length;t++){var n=e[t];if(D(n)&&(D(n.componentOptions)||ct(n)))return n}}function ut(e,t,n){n?Qe.$once(e,t):Qe.$on(e,t)}function ft(e,t){Qe.$off(e,t)}function pt(e,t,n){Qe=e,nt(t,n||{},ut,ft),Qe=void 0}function dt(e,t){var n={};if(!e)return n;for(var r=0,i=e.length;r<i;r++){var o=e[r],a=o.data;if(a&&a.attrs&&a.attrs.slot&&delete a.attrs.slot,o.context!==t&&o.fnContext!==t||!a||null==a.slot)(n.default||(n.default=[])).push(o);else{var s=a.slot,c=n[s]||(n[s]=[]);"template"===o.tag?c.push.apply(c,o.children||[]):c.push(o)}}for(var l in n)n[l].every(vt)&&delete n[l];return n}function vt(e){return e.isComment&&!e.asyncFactory||" "===e.text}function ht(e,t){t=t||{};for(var n=0;n<e.length;n++)Array.isArray(e[n])?ht(e[n],t):t[e[n].key]=e[n].fn;return t}var mt=null;function yt(e){for(;e&&(e=e.$parent);)if(e._inactive)return!0;return!1}function gt(e,t){if(t){if(e._directInactive=!1,yt(e))return}else if(e._directInactive)return;if(e._inactive||null===e._inactive){e._inactive=!1;for(var n=0;n<e.$children.length;n++)gt(e.$children[n]);_t(e,"activated")}}function _t(t,n){se();var e=t.$options[n];if(e)for(var r=0,i=e.length;r<i;r++)try{e[r].call(t)}catch(e){Fe(e,t,n+" hook")}t._hasHookEvent&&t.$emit("hook:"+n),ce()}var bt=[],$t=[],wt={},Ct=!1,xt=!1,kt=0;function At(){var e,t;for(xt=!0,bt.sort(function(e,t){return e.id-t.id}),kt=0;kt<bt.length;kt++)t=(e=bt[kt]).id,wt[t]=null,e.run();var n=$t.slice(),r=bt.slice();kt=bt.length=$t.length=0,wt={},Ct=xt=!1,function(e){for(var t=0;t<e.length;t++)e[t]._inactive=!0,gt(e[t],!0)}(n),function(e){var t=e.length;for(;t--;){var n=e[t],r=n.vm;r._watcher===n&&r._isMounted&&_t(r,"updated")}}(r),Q&&j.devtools&&Q.emit("flush")}var Ot=0,St=function(e,t,n,r,i){this.vm=e,i&&(e._watcher=this),e._watchers.push(this),r?(this.deep=!!r.deep,this.user=!!r.user,this.lazy=!!r.lazy,this.sync=!!r.sync):this.deep=this.user=this.lazy=this.sync=!1,this.cb=n,this.id=++Ot,this.active=!0,this.dirty=this.lazy,this.deps=[],this.newDeps=[],this.depIds=new te,this.newDepIds=new te,this.expression="","function"==typeof t?this.getter=t:(this.getter=function(e){if(!L.test(e)){var n=e.split(".");return function(e){for(var t=0;t<n.length;t++){if(!e)return;e=e[n[t]]}return e}}}(t),this.getter||(this.getter=function(){})),this.value=this.lazy?void 0:this.get()};St.prototype.get=function(){var e;se(this);var t=this.vm;try{e=this.getter.call(t,t)}catch(e){if(!this.user)throw e;Fe(e,t,'getter for watcher "'+this.expression+'"')}finally{this.deep&&Ye(e),ce(),this.cleanupDeps()}return e},St.prototype.addDep=function(e){var t=e.id;this.newDepIds.has(t)||(this.newDepIds.add(t),this.newDeps.push(e),this.depIds.has(t)||e.addSub(this))},St.prototype.cleanupDeps=function(){for(var e=this.deps.length;e--;){var t=this.deps[e];this.newDepIds.has(t.id)||t.removeSub(this)}var n=this.depIds;this.depIds=this.newDepIds,this.newDepIds=n,this.newDepIds.clear(),n=this.deps,this.deps=this.newDeps,this.newDeps=n,this.newDeps.length=0},St.prototype.update=function(){this.lazy?this.dirty=!0:this.sync?this.run():function(e){var t=e.id;if(null==wt[t]){if(wt[t]=!0,xt){for(var n=bt.length-1;kt<n&&bt[n].id>e.id;)n--;bt.splice(n+1,0,e)}else bt.push(e);Ct||(Ct=!0,Ze(At))}}(this)},St.prototype.run=function(){if(this.active){var e=this.get();if(e!==this.value||P(e)||this.deep){var t=this.value;if(this.value=e,this.user)try{this.cb.call(this.vm,e,t)}catch(e){Fe(e,this.vm,'callback for watcher "'+this.expression+'"')}else this.cb.call(this.vm,e,t)}}},St.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},St.prototype.depend=function(){for(var e=this.deps.length;e--;)this.deps[e].depend()},St.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||f(this.vm._watchers,this);for(var e=this.deps.length;e--;)this.deps[e].removeSub(this);this.active=!1}};var Tt={enumerable:!0,configurable:!0,get:$,set:$};function Et(e,t,n){Tt.get=function(){return this[t][n]},Tt.set=function(e){this[t][n]=e},Object.defineProperty(e,n,Tt)}function jt(e){e._watchers=[];var t=e.$options;t.props&&function(n,r){var i=n.$options.propsData||{},o=n._props={},a=n.$options._propKeys=[];n.$parent&&ge(!1);var e=function(e){a.push(e);var t=Ie(e,r,i,n);Ce(o,e,t),e in n||Et(n,"_props",e)};for(var t in r)e(t);ge(!0)}(e,t.props),t.methods&&function(e,t){e.$options.props;for(var n in t)e[n]=null==t[n]?$:v(t[n],e)}(e,t.methods),t.data?function(e){var t=e.$options.data;l(t=e._data="function"==typeof t?function(e,t){se();try{return e.call(t,t)}catch(e){return Fe(e,t,"data()"),{}}finally{ce()}}(t,e):t||{})||(t={});var n=Object.keys(t),r=e.$options.props,i=(e.$options.methods,n.length);for(;i--;){var o=n[i];r&&p(r,o)||(void 0,36!==(a=(o+"").charCodeAt(0))&&95!==a&&Et(e,"_data",o))}var a;we(t,!0)}(e):we(e._data={},!0),t.computed&&function(e,t){var n=e._computedWatchers=Object.create(null),r=Y();for(var i in t){var o=t[i],a="function"==typeof o?o:o.get;r||(n[i]=new St(e,a||$,$,Nt)),i in e||Lt(e,i,o)}}(e,t.computed),t.watch&&t.watch!==G&&function(e,t){for(var n in t){var r=t[n];if(Array.isArray(r))for(var i=0;i<r.length;i++)Mt(e,n,r[i]);else Mt(e,n,r)}}(e,t.watch)}var Nt={lazy:!0};function Lt(e,t,n){var r=!Y();"function"==typeof n?(Tt.get=r?It(t):n,Tt.set=$):(Tt.get=n.get?r&&!1!==n.cache?It(t):n.get:$,Tt.set=n.set?n.set:$),Object.defineProperty(e,t,Tt)}function It(t){return function(){var e=this._computedWatchers&&this._computedWatchers[t];if(e)return e.dirty&&e.evaluate(),oe.target&&e.depend(),e.value}}function Mt(e,t,n,r){return l(n)&&(n=(r=n).handler),"string"==typeof n&&(n=e[n]),e.$watch(t,n,r)}function Dt(t,e){if(t){for(var n=Object.create(null),r=ne?Reflect.ownKeys(t).filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}):Object.keys(t),i=0;i<r.length;i++){for(var o=r[i],a=t[o].from,s=e;s;){if(s._provided&&p(s._provided,a)){n[o]=s._provided[a];break}s=s.$parent}if(!s&&"default"in t[o]){var c=t[o].default;n[o]="function"==typeof c?c.call(e):c}}return n}}function Pt(e,t){var n,r,i,o,a;if(Array.isArray(e)||"string"==typeof e)for(n=new Array(e.length),r=0,i=e.length;r<i;r++)n[r]=t(e[r],r);else if("number"==typeof e)for(n=new Array(e),r=0;r<e;r++)n[r]=t(r+1,r);else if(P(e))for(o=Object.keys(e),n=new Array(o.length),r=0,i=o.length;r<i;r++)a=o[r],n[r]=t(e[a],a,r);return D(n)&&(n._isVList=!0),n}function Ft(e,t,n,r){var i,o=this.$scopedSlots[e];if(o)n=n||{},r&&(n=m(m({},r),n)),i=o(n)||t;else{var a=this.$slots[e];a&&(a._rendered=!0),i=a||t}var s=n&&n.slot;return s?this.$createElement("template",{slot:s},i):i}function Rt(e){return Le(this.$options,"filters",e)||w}function Ht(e,t){return Array.isArray(e)?-1===e.indexOf(t):e!==t}function Bt(e,t,n,r,i){var o=j.keyCodes[t]||n;return i&&r&&!j.keyCodes[t]?Ht(i,r):o?Ht(o,e):r?_(r)!==t:void 0}function Ut(n,r,i,o,a){if(i)if(P(i)){var s;Array.isArray(i)&&(i=b(i));var e=function(t){if("class"===t||"style"===t||u(t))s=n;else{var e=n.attrs&&n.attrs.type;s=o||j.mustUseProp(r,e,t)?n.domProps||(n.domProps={}):n.attrs||(n.attrs={})}t in s||(s[t]=i[t],a&&((n.on||(n.on={}))["update:"+t]=function(e){i[t]=e}))};for(var t in i)e(t)}else;return n}function Vt(e,t){var n=this._staticTrees||(this._staticTrees=[]),r=n[e];return r&&!t||Kt(r=n[e]=this.$options.staticRenderFns[e].call(this._renderProxy,null,this),"__static__"+e,!1),r}function zt(e,t,n){return Kt(e,"__once__"+t+(n?"_"+n:""),!0),e}function Kt(e,t,n){if(Array.isArray(e))for(var r=0;r<e.length;r++)e[r]&&"string"!=typeof e[r]&&Jt(e[r],t+"_"+r,n);else Jt(e,t,n)}function Jt(e,t,n){e.isStatic=!0,e.key=t,e.isOnce=n}function qt(e,t){if(t)if(l(t)){var n=e.on=e.on?m({},e.on):{};for(var r in t){var i=n[r],o=t[r];n[r]=i?[].concat(i,o):o}}else;return e}function Wt(e){e._o=zt,e._n=F,e._s=t,e._l=Pt,e._t=Ft,e._q=C,e._i=x,e._m=Vt,e._f=Rt,e._k=Bt,e._b=Ut,e._v=pe,e._e=fe,e._u=ht,e._g=qt}function Gt(e,t,n,o,r){var a,s=r.options;p(o,"_uid")?(a=Object.create(o))._original=o:o=(a=o)._original;var i=S(s._compiled),c=!i;this.data=e,this.props=t,this.children=n,this.parent=o,this.listeners=e.on||y,this.injections=Dt(s.inject,o),this.slots=function(){return dt(n,o)},i&&(this.$options=s,this.$slots=this.slots(),this.$scopedSlots=e.scopedSlots||y),s._scopeId?this._c=function(e,t,n,r){var i=rn(a,e,t,n,r,c);return i&&!Array.isArray(i)&&(i.fnScopeId=s._scopeId,i.fnContext=o),i}:this._c=function(e,t,n,r){return rn(a,e,t,n,r,c)}}function Zt(e,t,n,r){var i=de(e);return i.fnContext=n,i.fnOptions=r,t.slot&&((i.data||(i.data={})).slot=t.slot),i}function Xt(e,t){for(var n in t)e[g(n)]=t[n]}Wt(Gt.prototype);var Yt={init:function(e,t,n,r){if(e.componentInstance&&!e.componentInstance._isDestroyed&&e.data.keepAlive){var i=e;Yt.prepatch(i,i)}else{(e.componentInstance=function(e,t,n,r){var i={_isComponent:!0,parent:t,_parentVnode:e,_parentElm:n||null,_refElm:r||null},o=e.data.inlineTemplate;D(o)&&(i.render=o.render,i.staticRenderFns=o.staticRenderFns);return new e.componentOptions.Ctor(i)}(e,mt,n,r)).$mount(t?e.elm:void 0,t)}},prepatch:function(e,t){var n=t.componentOptions;!function(e,t,n,r,i){var o=!!(i||e.$options._renderChildren||r.data.scopedSlots||e.$scopedSlots!==y);if(e.$options._parentVnode=r,e.$vnode=r,e._vnode&&(e._vnode.parent=r),e.$options._renderChildren=i,e.$attrs=r.data.attrs||y,e.$listeners=n||y,t&&e.$options.props){ge(!1);for(var a=e._props,s=e.$options._propKeys||[],c=0;c<s.length;c++){var l=s[c],u=e.$options.props;a[l]=Ie(l,u,t,e)}ge(!0),e.$options.propsData=t}n=n||y;var f=e.$options._parentListeners;e.$options._parentListeners=n,pt(e,n,f),o&&(e.$slots=dt(i,r.context),e.$forceUpdate())}(t.componentInstance=e.componentInstance,n.propsData,n.listeners,t,n.children)},insert:function(e){var t,n=e.context,r=e.componentInstance;r._isMounted||(r._isMounted=!0,_t(r,"mounted")),e.data.keepAlive&&(n._isMounted?((t=r)._inactive=!1,$t.push(t)):gt(r,!0))},destroy:function(e){var t=e.componentInstance;t._isDestroyed||(e.data.keepAlive?function e(t,n){if(!(n&&(t._directInactive=!0,yt(t))||t._inactive)){t._inactive=!0;for(var r=0;r<t.$children.length;r++)e(t.$children[r]);_t(t,"deactivated")}}(t,!0):t.$destroy())}},Qt=Object.keys(Yt);function en(e,t,n,r,i){if(!M(e)){var o=n.$options._base;if(P(e)&&(e=o.extend(e)),"function"==typeof e){var a,s,c,l,u,f,p;if(M(e.cid)&&void 0===(e=function(t,n,e){if(S(t.error)&&D(t.errorComp))return t.errorComp;if(D(t.resolved))return t.resolved;if(S(t.loading)&&D(t.loadingComp))return t.loadingComp;if(!D(t.contexts)){var r=t.contexts=[e],i=!0,o=function(){for(var e=0,t=r.length;e<t;e++)r[e].$forceUpdate()},a=R(function(e){t.resolved=st(e,n),i||o()}),s=R(function(e){D(t.errorComp)&&(t.error=!0,o())}),c=t(a,s);return P(c)&&("function"==typeof c.then?M(t.resolved)&&c.then(a,s):D(c.component)&&"function"==typeof c.component.then&&(c.component.then(a,s),D(c.error)&&(t.errorComp=st(c.error,n)),D(c.loading)&&(t.loadingComp=st(c.loading,n),0===c.delay?t.loading=!0:setTimeout(function(){M(t.resolved)&&M(t.error)&&(t.loading=!0,o())},c.delay||200)),D(c.timeout)&&setTimeout(function(){M(t.resolved)&&s(null)},c.timeout))),i=!1,t.loading?t.loadingComp:t.resolved}t.contexts.push(e)}(a=e,o,n)))return s=a,c=t,l=n,u=r,f=i,(p=fe()).asyncFactory=s,p.asyncMeta={data:c,context:l,children:u,tag:f},p;t=t||{},dn(e),D(t.model)&&function(e,t){var n=e.model&&e.model.prop||"value",r=e.model&&e.model.event||"input";(t.props||(t.props={}))[n]=t.model.value;var i=t.on||(t.on={});D(i[r])?i[r]=[t.model.callback].concat(i[r]):i[r]=t.model.callback}(e.options,t);var d=function(e,t,n){var r=t.options.props;if(!M(r)){var i={},o=e.attrs,a=e.props;if(D(o)||D(a))for(var s in r){var c=_(s);it(i,a,s,c,!0)||it(i,o,s,c,!1)}return i}}(t,e);if(S(e.options.functional))return function(e,t,n,r,i){var o=e.options,a={},s=o.props;if(D(s))for(var c in s)a[c]=Ie(c,s,t||y);else D(n.attrs)&&Xt(a,n.attrs),D(n.props)&&Xt(a,n.props);var l=new Gt(n,a,i,r,e),u=o.render.call(null,l._c,l);if(u instanceof le)return Zt(u,n,l.parent,o);if(Array.isArray(u)){for(var f=ot(u)||[],p=new Array(f.length),d=0;d<f.length;d++)p[d]=Zt(f[d],n,l.parent,o);return p}}(e,d,t,n,r);var v=t.on;if(t.on=t.nativeOn,S(e.options.abstract)){var h=t.slot;t={},h&&(t.slot=h)}!function(e){for(var t=e.hook||(e.hook={}),n=0;n<Qt.length;n++){var r=Qt[n];t[r]=Yt[r]}}(t);var m=e.options.name||i;return new le("vue-component-"+e.cid+(m?"-"+m:""),t,void 0,void 0,void 0,n,{Ctor:e,propsData:d,listeners:v,tag:i,children:r},a)}}}var tn=1,nn=2;function rn(e,t,n,r,i,o){return(Array.isArray(n)||T(n))&&(i=r,r=n,n=void 0),S(o)&&(i=nn),function(e,t,n,r,i){if(D(n)&&D(n.__ob__))return fe();D(n)&&D(n.is)&&(t=n.is);if(!t)return fe();Array.isArray(r)&&"function"==typeof r[0]&&((n=n||{}).scopedSlots={default:r[0]},r.length=0);i===nn?r=ot(r):i===tn&&(r=function(e){for(var t=0;t<e.length;t++)if(Array.isArray(e[t]))return Array.prototype.concat.apply([],e);return e}(r));var o,a;if("string"==typeof t){var s;a=e.$vnode&&e.$vnode.ns||j.getTagNamespace(t),o=j.isReservedTag(t)?new le(j.parsePlatformTagName(t),n,r,void 0,void 0,e):D(s=Le(e.$options,"components",t))?en(s,n,e,r,t):new le(t,n,r,void 0,void 0,e)}else o=en(t,n,e,r);return Array.isArray(o)?o:D(o)?(D(a)&&function e(t,n,r){t.ns=n;"foreignObject"===t.tag&&(n=void 0,r=!0);if(D(t.children))for(var i=0,o=t.children.length;i<o;i++){var a=t.children[i];D(a.tag)&&(M(a.ns)||S(r)&&"svg"!==a.tag)&&e(a,n,r)}}(o,a),D(n)&&function(e){P(e.style)&&Ye(e.style);P(e.class)&&Ye(e.class)}(n),o):fe()}(e,t,n,r,i)}var on,an,sn,cn,ln,un,fn,pn=0;function dn(e){var t=e.options;if(e.super){var n=dn(e.super);if(n!==e.superOptions){e.superOptions=n;var r=function(e){var t,n=e.options,r=e.extendOptions,i=e.sealedOptions;for(var o in n)n[o]!==i[o]&&(t||(t={}),t[o]=vn(n[o],r[o],i[o]));return t}(e);r&&m(e.extendOptions,r),(t=e.options=Ne(n,e.extendOptions)).name&&(t.components[t.name]=e)}}return t}function vn(e,t,n){if(Array.isArray(e)){var r=[];n=Array.isArray(n)?n:[n],t=Array.isArray(t)?t:[t];for(var i=0;i<e.length;i++)(0<=t.indexOf(e[i])||n.indexOf(e[i])<0)&&r.push(e[i]);return r}return e}function hn(e){this._init(e)}function mn(e){e.cid=0;var a=1;e.extend=function(e){e=e||{};var t=this,n=t.cid,r=e._Ctor||(e._Ctor={});if(r[n])return r[n];var i=e.name||t.options.name,o=function(e){this._init(e)};return((o.prototype=Object.create(t.prototype)).constructor=o).cid=a++,o.options=Ne(t.options,e),o.super=t,o.options.props&&function(e){var t=e.options.props;for(var n in t)Et(e.prototype,"_props",n)}(o),o.options.computed&&function(e){var t=e.options.computed;for(var n in t)Lt(e.prototype,n,t[n])}(o),o.extend=t.extend,o.mixin=t.mixin,o.use=t.use,k.forEach(function(e){o[e]=t[e]}),i&&(o.options.components[i]=o),o.superOptions=t.options,o.extendOptions=e,o.sealedOptions=m({},o.options),r[n]=o}}function yn(e){return e&&(e.Ctor.options.name||e.tag)}function gn(e,t){return Array.isArray(e)?-1<e.indexOf(t):"string"==typeof e?-1<e.split(",").indexOf(t):(n=e,"[object RegExp]"===r.call(n)&&e.test(t));var n}function _n(e,t){var n=e.cache,r=e.keys,i=e._vnode;for(var o in n){var a=n[o];if(a){var s=yn(a.componentOptions);s&&!t(s)&&bn(n,o,r,i)}}}function bn(e,t,n,r){var i=e[t];!i||r&&i.tag===r.tag||i.componentInstance.$destroy(),e[t]=null,f(n,t)}hn.prototype._init=function(e){var t,n,r,i,o=this;o._uid=pn++,o._isVue=!0,e&&e._isComponent?function(e,t){var n=e.$options=Object.create(e.constructor.options),r=t._parentVnode;n.parent=t.parent,n._parentVnode=r,n._parentElm=t._parentElm,n._refElm=t._refElm;var i=r.componentOptions;n.propsData=i.propsData,n._parentListeners=i.listeners,n._renderChildren=i.children,n._componentTag=i.tag,t.render&&(n.render=t.render,n.staticRenderFns=t.staticRenderFns)}(o,e):o.$options=Ne(dn(o.constructor),e||{},o),function(e){var t=e.$options,n=t.parent;if(n&&!t.abstract){for(;n.$options.abstract&&n.$parent;)n=n.$parent;n.$children.push(e)}e.$parent=n,e.$root=n?n.$root:e,e.$children=[],e.$refs={},e._watcher=null,e._inactive=null,e._directInactive=!1,e._isMounted=!1,e._isDestroyed=!1,e._isBeingDestroyed=!1}((o._renderProxy=o)._self=o),function(e){e._events=Object.create(null),e._hasHookEvent=!1;var t=e.$options._parentListeners;t&&pt(e,t)}(o),function(i){i._vnode=null,i._staticTrees=null;var e=i.$options,t=i.$vnode=e._parentVnode,n=t&&t.context;i.$slots=dt(e._renderChildren,n),i.$scopedSlots=y,i._c=function(e,t,n,r){return rn(i,e,t,n,r,!1)},i.$createElement=function(e,t,n,r){return rn(i,e,t,n,r,!0)};var r=t&&t.data;Ce(i,"$attrs",r&&r.attrs||y,null,!0),Ce(i,"$listeners",e._parentListeners||y,null,!0)}(o),_t(o,"beforeCreate"),(n=Dt((t=o).$options.inject,t))&&(ge(!1),Object.keys(n).forEach(function(e){Ce(t,e,n[e])}),ge(!0)),jt(o),(i=(r=o).$options.provide)&&(r._provided="function"==typeof i?i.call(r):i),_t(o,"created"),o.$options.el&&o.$mount(o.$options.el)},on=hn,an={get:function(){return this._data}},sn={get:function(){return this._props}},Object.defineProperty(on.prototype,"$data",an),Object.defineProperty(on.prototype,"$props",sn),on.prototype.$set=xe,on.prototype.$delete=ke,on.prototype.$watch=function(e,t,n){if(l(t))return Mt(this,e,t,n);(n=n||{}).user=!0;var r=new St(this,e,t,n);return n.immediate&&t.call(this,r.value),function(){r.teardown()}},ln=/^hook:/,(cn=hn).prototype.$on=function(e,t){if(Array.isArray(e))for(var n=0,r=e.length;n<r;n++)this.$on(e[n],t);else(this._events[e]||(this._events[e]=[])).push(t),ln.test(e)&&(this._hasHookEvent=!0);return this},cn.prototype.$once=function(e,t){var n=this;function r(){n.$off(e,r),t.apply(n,arguments)}return r.fn=t,n.$on(e,r),n},cn.prototype.$off=function(e,t){var n=this;if(!arguments.length)return n._events=Object.create(null),n;if(Array.isArray(e)){for(var r=0,i=e.length;r<i;r++)this.$off(e[r],t);return n}var o=n._events[e];if(!o)return n;if(!t)return n._events[e]=null,n;if(t)for(var a,s=o.length;s--;)if((a=o[s])===t||a.fn===t){o.splice(s,1);break}return n},cn.prototype.$emit=function(t){var n=this,e=n._events[t];if(e){e=1<e.length?h(e):e;for(var r=h(arguments,1),i=0,o=e.length;i<o;i++)try{e[i].apply(n,r)}catch(e){Fe(e,n,'event handler for "'+t+'"')}}return n},(un=hn).prototype._update=function(e,t){var n=this;n._isMounted&&_t(n,"beforeUpdate");var r=n.$el,i=n._vnode,o=mt;(mt=n)._vnode=e,i?n.$el=n.__patch__(i,e):(n.$el=n.__patch__(n.$el,e,t,!1,n.$options._parentElm,n.$options._refElm),n.$options._parentElm=n.$options._refElm=null),mt=o,r&&(r.__vue__=null),n.$el&&(n.$el.__vue__=n),n.$vnode&&n.$parent&&n.$vnode===n.$parent._vnode&&(n.$parent.$el=n.$el)},un.prototype.$forceUpdate=function(){this._watcher&&this._watcher.update()},un.prototype.$destroy=function(){var e=this;if(!e._isBeingDestroyed){_t(e,"beforeDestroy"),e._isBeingDestroyed=!0;var t=e.$parent;!t||t._isBeingDestroyed||e.$options.abstract||f(t.$children,e),e._watcher&&e._watcher.teardown();for(var n=e._watchers.length;n--;)e._watchers[n].teardown();e._data.__ob__&&e._data.__ob__.vmCount--,e._isDestroyed=!0,e.__patch__(e._vnode,null),_t(e,"destroyed"),e.$off(),e.$el&&(e.$el.__vue__=null),e.$vnode&&(e.$vnode.parent=null)}},Wt((fn=hn).prototype),fn.prototype.$nextTick=function(e){return Ze(e,this)},fn.prototype._render=function(){var t,n=this,e=n.$options,r=e.render,i=e._parentVnode;i&&(n.$scopedSlots=i.data.scopedSlots||y),n.$vnode=i;try{t=r.call(n._renderProxy,n.$createElement)}catch(e){Fe(e,n,"render"),t=n._vnode}return t instanceof le||(t=fe()),t.parent=i,t};var $n,wn,Cn,xn=[String,RegExp,Array],kn={KeepAlive:{name:"keep-alive",abstract:!0,props:{include:xn,exclude:xn,max:[String,Number]},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){for(var e in this.cache)bn(this.cache,e,this.keys)},mounted:function(){var e=this;this.$watch("include",function(t){_n(e,function(e){return gn(t,e)})}),this.$watch("exclude",function(t){_n(e,function(e){return!gn(t,e)})})},render:function(){var e=this.$slots.default,t=lt(e),n=t&&t.componentOptions;if(n){var r=yn(n),i=this.include,o=this.exclude;if(i&&(!r||!gn(i,r))||o&&r&&gn(o,r))return t;var a=this.cache,s=this.keys,c=null==t.key?n.Ctor.cid+(n.tag?"::"+n.tag:""):t.key;a[c]?(t.componentInstance=a[c].componentInstance,f(s,c),s.push(c)):(a[c]=t,s.push(c),this.max&&s.length>parseInt(this.max)&&bn(a,s[0],s,this._vnode)),t.data.keepAlive=!0}return t||e&&e[0]}}};$n=hn,Cn={get:function(){return j}},Object.defineProperty($n,"config",Cn),$n.util={warn:re,extend:m,mergeOptions:Ne,defineReactive:Ce},$n.set=xe,$n.delete=ke,$n.nextTick=Ze,$n.options=Object.create(null),k.forEach(function(e){$n.options[e+"s"]=Object.create(null)}),m(($n.options._base=$n).options.components,kn),$n.use=function(e){var t=this._installedPlugins||(this._installedPlugins=[]);if(-1<t.indexOf(e))return this;var n=h(arguments,1);return n.unshift(this),"function"==typeof e.install?e.install.apply(e,n):"function"==typeof e&&e.apply(null,n),t.push(e),this},$n.mixin=function(e){return this.options=Ne(this.options,e),this},mn($n),wn=$n,k.forEach(function(n){wn[n]=function(e,t){return t?("component"===n&&l(t)&&(t.name=t.name||e,t=this.options._base.extend(t)),"directive"===n&&"function"==typeof t&&(t={bind:t,update:t}),this.options[n+"s"][e]=t):this.options[n+"s"][e]}}),Object.defineProperty(hn.prototype,"$isServer",{get:Y}),Object.defineProperty(hn.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(hn,"FunctionalRenderContext",{value:Gt}),hn.version="2.5.17";var An=s("style,class"),On=s("input,textarea,option,select,progress"),Sn=function(e,t,n){return"value"===n&&On(e)&&"button"!==t||"selected"===n&&"option"===e||"checked"===n&&"input"===e||"muted"===n&&"video"===e},Tn=s("contenteditable,draggable,spellcheck"),En=s("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,translate,truespeed,typemustmatch,visible"),jn="http://www.w3.org/1999/xlink",Nn=function(e){return":"===e.charAt(5)&&"xlink"===e.slice(0,5)},Ln=function(e){return Nn(e)?e.slice(6,e.length):""},In=function(e){return null==e||!1===e};function Mn(e){for(var t=e.data,n=e,r=e;D(r.componentInstance);)(r=r.componentInstance._vnode)&&r.data&&(t=Dn(r.data,t));for(;D(n=n.parent);)n&&n.data&&(t=Dn(t,n.data));return function(e,t){if(D(e)||D(t))return Pn(e,Fn(t));return""}(t.staticClass,t.class)}function Dn(e,t){return{staticClass:Pn(e.staticClass,t.staticClass),class:D(e.class)?[e.class,t.class]:t.class}}function Pn(e,t){return e?t?e+" "+t:e:t||""}function Fn(e){return Array.isArray(e)?function(e){for(var t,n="",r=0,i=e.length;r<i;r++)D(t=Fn(e[r]))&&""!==t&&(n&&(n+=" "),n+=t);return n}(e):P(e)?function(e){var t="";for(var n in e)e[n]&&(t&&(t+=" "),t+=n);return t}(e):"string"==typeof e?e:""}var Rn={svg:"http://www.w3.org/2000/svg",math:"http://www.w3.org/1998/Math/MathML"},Hn=s("html,body,base,head,link,meta,style,title,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,menuitem,summary,content,element,shadow,template,blockquote,iframe,tfoot"),Bn=s("svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,foreignObject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view",!0),Un=function(e){return Hn(e)||Bn(e)};function Vn(e){return Bn(e)?"svg":"math"===e?"math":void 0}var zn=Object.create(null);var Kn=s("text,number,password,search,email,tel,url");function Jn(e){if("string"==typeof e){var t=document.querySelector(e);return t||document.createElement("div")}return e}var qn=Object.freeze({createElement:function(e,t){var n=document.createElement(e);return"select"!==e||t.data&&t.data.attrs&&void 0!==t.data.attrs.multiple&&n.setAttribute("multiple","multiple"),n},createElementNS:function(e,t){return document.createElementNS(Rn[e],t)},createTextNode:function(e){return document.createTextNode(e)},createComment:function(e){return document.createComment(e)},insertBefore:function(e,t,n){e.insertBefore(t,n)},removeChild:function(e,t){e.removeChild(t)},appendChild:function(e,t){e.appendChild(t)},parentNode:function(e){return e.parentNode},nextSibling:function(e){return e.nextSibling},tagName:function(e){return e.tagName},setTextContent:function(e,t){e.textContent=t},setStyleScope:function(e,t){e.setAttribute(t,"")}}),Wn={create:function(e,t){Gn(t)},update:function(e,t){e.data.ref!==t.data.ref&&(Gn(e,!0),Gn(t))},destroy:function(e){Gn(e,!0)}};function Gn(e,t){var n=e.data.ref;if(D(n)){var r=e.context,i=e.componentInstance||e.elm,o=r.$refs;t?Array.isArray(o[n])?f(o[n],i):o[n]===i&&(o[n]=void 0):e.data.refInFor?Array.isArray(o[n])?o[n].indexOf(i)<0&&o[n].push(i):o[n]=[i]:o[n]=i}}var Zn=new le("",{},[]),Xn=["create","activate","update","remove","destroy"];function Yn(e,t){return e.key===t.key&&(e.tag===t.tag&&e.isComment===t.isComment&&D(e.data)===D(t.data)&&function(e,t){if("input"!==e.tag)return!0;var n,r=D(n=e.data)&&D(n=n.attrs)&&n.type,i=D(n=t.data)&&D(n=n.attrs)&&n.type;return r===i||Kn(r)&&Kn(i)}(e,t)||S(e.isAsyncPlaceholder)&&e.asyncFactory===t.asyncFactory&&M(t.asyncFactory.error))}function Qn(e,t,n){var r,i,o={};for(r=t;r<=n;++r)D(i=e[r].key)&&(o[i]=r);return o}var er={create:tr,update:tr,destroy:function(e){tr(e,Zn)}};function tr(e,t){(e.data.directives||t.data.directives)&&function(t,n){var e,r,i,o=t===Zn,a=n===Zn,s=rr(t.data.directives,t.context),c=rr(n.data.directives,n.context),l=[],u=[];for(e in c)r=s[e],i=c[e],r?(i.oldValue=r.value,ir(i,"update",n,t),i.def&&i.def.componentUpdated&&u.push(i)):(ir(i,"bind",n,t),i.def&&i.def.inserted&&l.push(i));if(l.length){var f=function(){for(var e=0;e<l.length;e++)ir(l[e],"inserted",n,t)};o?rt(n,"insert",f):f()}u.length&&rt(n,"postpatch",function(){for(var e=0;e<u.length;e++)ir(u[e],"componentUpdated",n,t)});if(!o)for(e in s)c[e]||ir(s[e],"unbind",t,t,a)}(e,t)}var nr=Object.create(null);function rr(e,t){var n,r,i,o=Object.create(null);if(!e)return o;for(n=0;n<e.length;n++)(r=e[n]).modifiers||(r.modifiers=nr),(o[(i=r,i.rawName||i.name+"."+Object.keys(i.modifiers||{}).join("."))]=r).def=Le(t.$options,"directives",r.name);return o}function ir(t,n,r,e,i){var o=t.def&&t.def[n];if(o)try{o(r.elm,t,r,e,i)}catch(e){Fe(e,r.context,"directive "+t.name+" "+n+" hook")}}var or=[Wn,er];function ar(e,t){var n=t.componentOptions;if(!(D(n)&&!1===n.Ctor.options.inheritAttrs||M(e.data.attrs)&&M(t.data.attrs))){var r,i,o=t.elm,a=e.data.attrs||{},s=t.data.attrs||{};for(r in D(s.__ob__)&&(s=t.data.attrs=m({},s)),s)i=s[r],a[r]!==i&&sr(o,r,i);for(r in(K||q)&&s.value!==a.value&&sr(o,"value",s.value),a)M(s[r])&&(Nn(r)?o.removeAttributeNS(jn,Ln(r)):Tn(r)||o.removeAttribute(r))}}function sr(e,t,n){-1<e.tagName.indexOf("-")?cr(e,t,n):En(t)?In(n)?e.removeAttribute(t):(n="allowfullscreen"===t&&"EMBED"===e.tagName?"true":t,e.setAttribute(t,n)):Tn(t)?e.setAttribute(t,In(n)||"false"===n?"false":"true"):Nn(t)?In(n)?e.removeAttributeNS(jn,Ln(t)):e.setAttributeNS(jn,t,n):cr(e,t,n)}function cr(t,e,n){if(In(n))t.removeAttribute(e);else{if(K&&!J&&"TEXTAREA"===t.tagName&&"placeholder"===e&&!t.__ieph){var r=function(e){e.stopImmediatePropagation(),t.removeEventListener("input",r)};t.addEventListener("input",r),t.__ieph=!0}t.setAttribute(e,n)}}var lr={create:ar,update:ar};function ur(e,t){var n=t.elm,r=t.data,i=e.data;if(!(M(r.staticClass)&&M(r.class)&&(M(i)||M(i.staticClass)&&M(i.class)))){var o=Mn(t),a=n._transitionClasses;D(a)&&(o=Pn(o,Fn(a))),o!==n._prevClass&&(n.setAttribute("class",o),n._prevClass=o)}}var fr,pr,dr,vr,hr,mr,yr={create:ur,update:ur},gr=/[\w).+\-_$\]]/;function _r(e){var t,n,r,i,o,a=!1,s=!1,c=!1,l=!1,u=0,f=0,p=0,d=0;for(r=0;r<e.length;r++)if(n=t,t=e.charCodeAt(r),a)39===t&&92!==n&&(a=!1);else if(s)34===t&&92!==n&&(s=!1);else if(c)96===t&&92!==n&&(c=!1);else if(l)47===t&&92!==n&&(l=!1);else if(124!==t||124===e.charCodeAt(r+1)||124===e.charCodeAt(r-1)||u||f||p){switch(t){case 34:s=!0;break;case 39:a=!0;break;case 96:c=!0;break;case 40:p++;break;case 41:p--;break;case 91:f++;break;case 93:f--;break;case 123:u++;break;case 125:u--}if(47===t){for(var v=r-1,h=void 0;0<=v&&" "===(h=e.charAt(v));v--);h&&gr.test(h)||(l=!0)}}else void 0===i?(d=r+1,i=e.slice(0,r).trim()):m();function m(){(o||(o=[])).push(e.slice(d,r).trim()),d=r+1}if(void 0===i?i=e.slice(0,r).trim():0!==d&&m(),o)for(r=0;r<o.length;r++)i=br(i,o[r]);return i}function br(e,t){var n=t.indexOf("(");if(n<0)return'_f("'+t+'")('+e+")";var r=t.slice(0,n),i=t.slice(n+1);return'_f("'+r+'")('+e+(")"!==i?","+i:i)}function $r(e){console.error("[Vue compiler]: "+e)}function wr(e,t){return e?e.map(function(e){return e[t]}).filter(function(e){return e}):[]}function Cr(e,t,n){(e.props||(e.props=[])).push({name:t,value:n}),e.plain=!1}function xr(e,t,n){(e.attrs||(e.attrs=[])).push({name:t,value:n}),e.plain=!1}function kr(e,t,n){e.attrsMap[t]=n,e.attrsList.push({name:t,value:n})}function Ar(e,t,n,r,i,o){var a;(r=r||y).capture&&(delete r.capture,t="!"+t),r.once&&(delete r.once,t="~"+t),r.passive&&(delete r.passive,t="&"+t),"click"===t&&(r.right?(t="contextmenu",delete r.right):r.middle&&(t="mouseup")),r.native?(delete r.native,a=e.nativeEvents||(e.nativeEvents={})):a=e.events||(e.events={});var s={value:n.trim()};r!==y&&(s.modifiers=r);var c=a[t];Array.isArray(c)?i?c.unshift(s):c.push(s):a[t]=c?i?[s,c]:[c,s]:s,e.plain=!1}function Or(e,t,n){var r=Sr(e,":"+t)||Sr(e,"v-bind:"+t);if(null!=r)return _r(r);if(!1!==n){var i=Sr(e,t);if(null!=i)return JSON.stringify(i)}}function Sr(e,t,n){var r;if(null!=(r=e.attrsMap[t]))for(var i=e.attrsList,o=0,a=i.length;o<a;o++)if(i[o].name===t){i.splice(o,1);break}return n&&delete e.attrsMap[t],r}function Tr(e,t,n){var r=n||{},i=r.number,o="$$v",a=o;r.trim&&(a="(typeof $$v === 'string'? $$v.trim(): $$v)"),i&&(a="_n("+a+")");var s=Er(t,a);e.model={value:"("+t+")",expression:'"'+t+'"',callback:"function ($$v) {"+s+"}"}}function Er(e,t){var n=function(e){if(e=e.trim(),fr=e.length,e.indexOf("[")<0||e.lastIndexOf("]")<fr-1)return-1<(vr=e.lastIndexOf("."))?{exp:e.slice(0,vr),key:'"'+e.slice(vr+1)+'"'}:{exp:e,key:null};pr=e,vr=hr=mr=0;for(;!Nr();)Lr(dr=jr())?Mr(dr):91===dr&&Ir(dr);return{exp:e.slice(0,hr),key:e.slice(hr+1,mr)}}(e);return null===n.key?e+"="+t:"$set("+n.exp+", "+n.key+", "+t+")"}function jr(){return pr.charCodeAt(++vr)}function Nr(){return fr<=vr}function Lr(e){return 34===e||39===e}function Ir(e){var t=1;for(hr=vr;!Nr();)if(Lr(e=jr()))Mr(e);else if(91===e&&t++,93===e&&t--,0===t){mr=vr;break}}function Mr(e){for(var t=e;!Nr()&&(e=jr())!==t;);}var Dr,Pr="__r",Fr="__c";function Rr(e,t,n,r,i){var o,a,s,c,l;t=(o=t)._withTask||(o._withTask=function(){Je=!0;var e=o.apply(null,arguments);return Je=!1,e}),n&&(a=t,s=e,c=r,l=Dr,t=function e(){null!==a.apply(null,arguments)&&Hr(s,e,c,l)}),Dr.addEventListener(e,t,Z?{capture:r,passive:i}:r)}function Hr(e,t,n,r){(r||Dr).removeEventListener(e,t._withTask||t,n)}function Br(e,t){if(!M(e.data.on)||!M(t.data.on)){var n=t.data.on||{},r=e.data.on||{};Dr=t.elm,function(e){if(D(e[Pr])){var t=K?"change":"input";e[t]=[].concat(e[Pr],e[t]||[]),delete e[Pr]}D(e[Fr])&&(e.change=[].concat(e[Fr],e.change||[]),delete e[Fr])}(n),nt(n,r,Rr,Hr,t.context),Dr=void 0}}var Ur={create:Br,update:Br};function Vr(e,t){if(!M(e.data.domProps)||!M(t.data.domProps)){var n,r,i,o,a=t.elm,s=e.data.domProps||{},c=t.data.domProps||{};for(n in D(c.__ob__)&&(c=t.data.domProps=m({},c)),s)M(c[n])&&(a[n]="");for(n in c){if(r=c[n],"textContent"===n||"innerHTML"===n){if(t.children&&(t.children.length=0),r===s[n])continue;1===a.childNodes.length&&a.removeChild(a.childNodes[0])}if("value"===n){var l=M(a._value=r)?"":String(r);o=l,(i=a).composing||"OPTION"!==i.tagName&&!function(e,t){var n=!0;try{n=document.activeElement!==e}catch(e){}return n&&e.value!==t}(i,o)&&!function(e,t){var n=e.value,r=e._vModifiers;if(D(r)){if(r.lazy)return!1;if(r.number)return F(n)!==F(t);if(r.trim)return n.trim()!==t.trim()}return n!==t}(i,o)||(a.value=l)}else a[n]=r}}}var zr={create:Vr,update:Vr},Kr=e(function(e){var n={},r=/:(.+)/;return e.split(/;(?![^(]*\))/g).forEach(function(e){if(e){var t=e.split(r);1<t.length&&(n[t[0].trim()]=t[1].trim())}}),n});function Jr(e){var t=qr(e.style);return e.staticStyle?m(e.staticStyle,t):t}function qr(e){return Array.isArray(e)?b(e):"string"==typeof e?Kr(e):e}var Wr,Gr=/^--/,Zr=/\s*!important$/,Xr=function(e,t,n){if(Gr.test(t))e.style.setProperty(t,n);else if(Zr.test(n))e.style.setProperty(t,n.replace(Zr,""),"important");else{var r=Qr(t);if(Array.isArray(n))for(var i=0,o=n.length;i<o;i++)e.style[r]=n[i];else e.style[r]=n}},Yr=["Webkit","Moz","ms"],Qr=e(function(e){if(Wr=Wr||document.createElement("div").style,"filter"!==(e=g(e))&&e in Wr)return e;for(var t=e.charAt(0).toUpperCase()+e.slice(1),n=0;n<Yr.length;n++){var r=Yr[n]+t;if(r in Wr)return r}});function ei(e,t){var n=t.data,r=e.data;if(!(M(n.staticStyle)&&M(n.style)&&M(r.staticStyle)&&M(r.style))){var i,o,a=t.elm,s=r.staticStyle,c=r.normalizedStyle||r.style||{},l=s||c,u=qr(t.data.style)||{};t.data.normalizedStyle=D(u.__ob__)?m({},u):u;var f=function(e,t){var n,r={};if(t)for(var i=e;i.componentInstance;)(i=i.componentInstance._vnode)&&i.data&&(n=Jr(i.data))&&m(r,n);(n=Jr(e.data))&&m(r,n);for(var o=e;o=o.parent;)o.data&&(n=Jr(o.data))&&m(r,n);return r}(t,!0);for(o in l)M(f[o])&&Xr(a,o,"");for(o in f)(i=f[o])!==l[o]&&Xr(a,o,null==i?"":i)}}var ti={create:ei,update:ei};function ni(t,e){if(e&&(e=e.trim()))if(t.classList)-1<e.indexOf(" ")?e.split(/\s+/).forEach(function(e){return t.classList.add(e)}):t.classList.add(e);else{var n=" "+(t.getAttribute("class")||"")+" ";n.indexOf(" "+e+" ")<0&&t.setAttribute("class",(n+e).trim())}}function ri(t,e){if(e&&(e=e.trim()))if(t.classList)-1<e.indexOf(" ")?e.split(/\s+/).forEach(function(e){return t.classList.remove(e)}):t.classList.remove(e),t.classList.length||t.removeAttribute("class");else{for(var n=" "+(t.getAttribute("class")||"")+" ",r=" "+e+" ";0<=n.indexOf(r);)n=n.replace(r," ");(n=n.trim())?t.setAttribute("class",n):t.removeAttribute("class")}}function ii(e){if(e){if("object"==typeof e){var t={};return!1!==e.css&&m(t,oi(e.name||"v")),m(t,e),t}return"string"==typeof e?oi(e):void 0}}var oi=e(function(e){return{enterClass:e+"-enter",enterToClass:e+"-enter-to",enterActiveClass:e+"-enter-active",leaveClass:e+"-leave",leaveToClass:e+"-leave-to",leaveActiveClass:e+"-leave-active"}}),ai=B&&!J,si="transition",ci="animation",li="transition",ui="transitionend",fi="animation",pi="animationend";ai&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(li="WebkitTransition",ui="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(fi="WebkitAnimation",pi="webkitAnimationEnd"));var di=B?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(e){return e()};function vi(e){di(function(){di(e)})}function hi(e,t){var n=e._transitionClasses||(e._transitionClasses=[]);n.indexOf(t)<0&&(n.push(t),ni(e,t))}function mi(e,t){e._transitionClasses&&f(e._transitionClasses,t),ri(e,t)}function yi(t,e,n){var r=_i(t,e),i=r.type,o=r.timeout,a=r.propCount;if(!i)return n();var s=i===si?ui:pi,c=0,l=function(){t.removeEventListener(s,u),n()},u=function(e){e.target===t&&++c>=a&&l()};setTimeout(function(){c<a&&l()},o+1),t.addEventListener(s,u)}var gi=/\b(transform|all)(,|$)/;function _i(e,t){var n,r=window.getComputedStyle(e),i=r[li+"Delay"].split(", "),o=r[li+"Duration"].split(", "),a=bi(i,o),s=r[fi+"Delay"].split(", "),c=r[fi+"Duration"].split(", "),l=bi(s,c),u=0,f=0;return t===si?0<a&&(n=si,u=a,f=o.length):t===ci?0<l&&(n=ci,u=l,f=c.length):f=(n=0<(u=Math.max(a,l))?l<a?si:ci:null)?n===si?o.length:c.length:0,{type:n,timeout:u,propCount:f,hasTransform:n===si&&gi.test(r[li+"Property"])}}function bi(n,e){for(;n.length<e.length;)n=n.concat(n);return Math.max.apply(null,e.map(function(e,t){return $i(e)+$i(n[t])}))}function $i(e){return 1e3*Number(e.slice(0,-1))}function wi(n,e){var r=n.elm;D(r._leaveCb)&&(r._leaveCb.cancelled=!0,r._leaveCb());var t=ii(n.data.transition);if(!M(t)&&!D(r._enterCb)&&1===r.nodeType){for(var i=t.css,o=t.type,a=t.enterClass,s=t.enterToClass,c=t.enterActiveClass,l=t.appearClass,u=t.appearToClass,f=t.appearActiveClass,p=t.beforeEnter,d=t.enter,v=t.afterEnter,h=t.enterCancelled,m=t.beforeAppear,y=t.appear,g=t.afterAppear,_=t.appearCancelled,b=t.duration,$=mt,w=mt.$vnode;w&&w.parent;)$=(w=w.parent).context;var C=!$._isMounted||!n.isRootInsert;if(!C||y||""===y){var x=C&&l?l:a,k=C&&f?f:c,A=C&&u?u:s,O=C&&m||p,S=C&&"function"==typeof y?y:d,T=C&&g||v,E=C&&_||h,j=F(P(b)?b.enter:b),N=!1!==i&&!J,L=ki(S),I=r._enterCb=R(function(){N&&(mi(r,A),mi(r,k)),I.cancelled?(N&&mi(r,x),E&&E(r)):T&&T(r),r._enterCb=null});n.data.show||rt(n,"insert",function(){var e=r.parentNode,t=e&&e._pending&&e._pending[n.key];t&&t.tag===n.tag&&t.elm._leaveCb&&t.elm._leaveCb(),S&&S(r,I)}),O&&O(r),N&&(hi(r,x),hi(r,k),vi(function(){mi(r,x),I.cancelled||(hi(r,A),L||(xi(j)?setTimeout(I,j):yi(r,o,I)))})),n.data.show&&(e&&e(),S&&S(r,I)),N||L||I()}}}function Ci(e,t){var n=e.elm;D(n._enterCb)&&(n._enterCb.cancelled=!0,n._enterCb());var r=ii(e.data.transition);if(M(r)||1!==n.nodeType)return t();if(!D(n._leaveCb)){var i=r.css,o=r.type,a=r.leaveClass,s=r.leaveToClass,c=r.leaveActiveClass,l=r.beforeLeave,u=r.leave,f=r.afterLeave,p=r.leaveCancelled,d=r.delayLeave,v=r.duration,h=!1!==i&&!J,m=ki(u),y=F(P(v)?v.leave:v),g=n._leaveCb=R(function(){n.parentNode&&n.parentNode._pending&&(n.parentNode._pending[e.key]=null),h&&(mi(n,s),mi(n,c)),g.cancelled?(h&&mi(n,a),p&&p(n)):(t(),f&&f(n)),n._leaveCb=null});d?d(_):_()}function _(){g.cancelled||(e.data.show||((n.parentNode._pending||(n.parentNode._pending={}))[e.key]=e),l&&l(n),h&&(hi(n,a),hi(n,c),vi(function(){mi(n,a),g.cancelled||(hi(n,s),m||(xi(y)?setTimeout(g,y):yi(n,o,g)))})),u&&u(n,g),h||m||g())}}function xi(e){return"number"==typeof e&&!isNaN(e)}function ki(e){if(M(e))return!1;var t=e.fns;return D(t)?ki(Array.isArray(t)?t[0]:t):1<(e._length||e.length)}function Ai(e,t){!0!==t.data.show&&wi(t)}var Oi=function(e){var r,t,g={},n=e.modules,_=e.nodeOps;for(r=0;r<Xn.length;++r)for(g[Xn[r]]=[],t=0;t<n.length;++t)D(n[t][Xn[r]])&&g[Xn[r]].push(n[t][Xn[r]]);function o(e){var t=_.parentNode(e);D(t)&&_.removeChild(t,e)}function b(e,t,n,r,i,o,a){if(D(e.elm)&&D(o)&&(e=o[a]=de(e)),e.isRootInsert=!i,!function(e,t,n,r){var i=e.data;if(D(i)){var o=D(e.componentInstance)&&i.keepAlive;if(D(i=i.hook)&&D(i=i.init)&&i(e,!1,n,r),D(e.componentInstance))return d(e,t),S(o)&&function(e,t,n,r){for(var i,o=e;o.componentInstance;)if(o=o.componentInstance._vnode,D(i=o.data)&&D(i=i.transition)){for(i=0;i<g.activate.length;++i)g.activate[i](Zn,o);t.push(o);break}u(n,e.elm,r)}(e,t,n,r),!0}}(e,t,n,r)){var s=e.data,c=e.children,l=e.tag;D(l)?(e.elm=e.ns?_.createElementNS(e.ns,l):_.createElement(l,e),f(e),v(e,c,t),D(s)&&h(e,t)):S(e.isComment)?e.elm=_.createComment(e.text):e.elm=_.createTextNode(e.text),u(n,e.elm,r)}}function d(e,t){D(e.data.pendingInsert)&&(t.push.apply(t,e.data.pendingInsert),e.data.pendingInsert=null),e.elm=e.componentInstance.$el,$(e)?(h(e,t),f(e)):(Gn(e),t.push(e))}function u(e,t,n){D(e)&&(D(n)?n.parentNode===e&&_.insertBefore(e,t,n):_.appendChild(e,t))}function v(e,t,n){if(Array.isArray(t))for(var r=0;r<t.length;++r)b(t[r],n,e.elm,null,!0,t,r);else T(e.text)&&_.appendChild(e.elm,_.createTextNode(String(e.text)))}function $(e){for(;e.componentInstance;)e=e.componentInstance._vnode;return D(e.tag)}function h(e,t){for(var n=0;n<g.create.length;++n)g.create[n](Zn,e);D(r=e.data.hook)&&(D(r.create)&&r.create(Zn,e),D(r.insert)&&t.push(e))}function f(e){var t;if(D(t=e.fnScopeId))_.setStyleScope(e.elm,t);else for(var n=e;n;)D(t=n.context)&&D(t=t.$options._scopeId)&&_.setStyleScope(e.elm,t),n=n.parent;D(t=mt)&&t!==e.context&&t!==e.fnContext&&D(t=t.$options._scopeId)&&_.setStyleScope(e.elm,t)}function y(e,t,n,r,i,o){for(;r<=i;++r)b(n[r],o,e,t,!1,n,r)}function w(e){var t,n,r=e.data;if(D(r))for(D(t=r.hook)&&D(t=t.destroy)&&t(e),t=0;t<g.destroy.length;++t)g.destroy[t](e);if(D(t=e.children))for(n=0;n<e.children.length;++n)w(e.children[n])}function C(e,t,n,r){for(;n<=r;++n){var i=t[n];D(i)&&(D(i.tag)?(a(i),w(i)):o(i.elm))}}function a(e,t){if(D(t)||D(e.data)){var n,r=g.remove.length+1;for(D(t)?t.listeners+=r:t=function(e,t){function n(){0==--n.listeners&&o(e)}return n.listeners=t,n}(e.elm,r),D(n=e.componentInstance)&&D(n=n._vnode)&&D(n.data)&&a(n,t),n=0;n<g.remove.length;++n)g.remove[n](e,t);D(n=e.data.hook)&&D(n=n.remove)?n(e,t):t()}else o(e.elm)}function x(e,t,n,r){for(var i=n;i<r;i++){var o=t[i];if(D(o)&&Yn(e,o))return i}}function k(e,t,n,r){if(e!==t){var i=t.elm=e.elm;if(S(e.isAsyncPlaceholder))D(t.asyncFactory.resolved)?O(e.elm,t,n):t.isAsyncPlaceholder=!0;else if(S(t.isStatic)&&S(e.isStatic)&&t.key===e.key&&(S(t.isCloned)||S(t.isOnce)))t.componentInstance=e.componentInstance;else{var o,a=t.data;D(a)&&D(o=a.hook)&&D(o=o.prepatch)&&o(e,t);var s=e.children,c=t.children;if(D(a)&&$(t)){for(o=0;o<g.update.length;++o)g.update[o](e,t);D(o=a.hook)&&D(o=o.update)&&o(e,t)}M(t.text)?D(s)&&D(c)?s!==c&&function(e,t,n,r,i){for(var o,a,s,c=0,l=0,u=t.length-1,f=t[0],p=t[u],d=n.length-1,v=n[0],h=n[d],m=!i;c<=u&&l<=d;)M(f)?f=t[++c]:M(p)?p=t[--u]:Yn(f,v)?(k(f,v,r),f=t[++c],v=n[++l]):Yn(p,h)?(k(p,h,r),p=t[--u],h=n[--d]):Yn(f,h)?(k(f,h,r),m&&_.insertBefore(e,f.elm,_.nextSibling(p.elm)),f=t[++c],h=n[--d]):(Yn(p,v)?(k(p,v,r),m&&_.insertBefore(e,p.elm,f.elm),p=t[--u]):(M(o)&&(o=Qn(t,c,u)),M(a=D(v.key)?o[v.key]:x(v,t,c,u))?b(v,r,e,f.elm,!1,n,l):Yn(s=t[a],v)?(k(s,v,r),t[a]=void 0,m&&_.insertBefore(e,s.elm,f.elm)):b(v,r,e,f.elm,!1,n,l)),v=n[++l]);u<c?y(e,M(n[d+1])?null:n[d+1].elm,n,l,d,r):d<l&&C(0,t,c,u)}(i,s,c,n,r):D(c)?(D(e.text)&&_.setTextContent(i,""),y(i,null,c,0,c.length-1,n)):D(s)?C(0,s,0,s.length-1):D(e.text)&&_.setTextContent(i,""):e.text!==t.text&&_.setTextContent(i,t.text),D(a)&&D(o=a.hook)&&D(o=o.postpatch)&&o(e,t)}}}function A(e,t,n){if(S(n)&&D(e.parent))e.parent.data.pendingInsert=t;else for(var r=0;r<t.length;++r)t[r].data.hook.insert(t[r])}var m=s("attrs,class,staticClass,staticStyle,key");function O(e,t,n,r){var i,o=t.tag,a=t.data,s=t.children;if(r=r||a&&a.pre,t.elm=e,S(t.isComment)&&D(t.asyncFactory))return t.isAsyncPlaceholder=!0;if(D(a)&&(D(i=a.hook)&&D(i=i.init)&&i(t,!0),D(i=t.componentInstance)))return d(t,n),!0;if(D(o)){if(D(s))if(e.hasChildNodes())if(D(i=a)&&D(i=i.domProps)&&D(i=i.innerHTML)){if(i!==e.innerHTML)return!1}else{for(var c=!0,l=e.firstChild,u=0;u<s.length;u++){if(!l||!O(l,s[u],n,r)){c=!1;break}l=l.nextSibling}if(!c||l)return!1}else v(t,s,n);if(D(a)){var f=!1;for(var p in a)if(!m(p)){f=!0,h(t,n);break}!f&&a.class&&Ye(a.class)}}else e.data!==t.text&&(e.data=t.text);return!0}return function(e,t,n,r,i,o){if(!M(t)){var a,s=!1,c=[];if(M(e))s=!0,b(t,c,i,o);else{var l=D(e.nodeType);if(!l&&Yn(e,t))k(e,t,c,r);else{if(l){if(1===e.nodeType&&e.hasAttribute(E)&&(e.removeAttribute(E),n=!0),S(n)&&O(e,t,c))return A(t,c,!0),e;a=e,e=new le(_.tagName(a).toLowerCase(),{},[],void 0,a)}var u=e.elm,f=_.parentNode(u);if(b(t,c,u._leaveCb?null:f,_.nextSibling(u)),D(t.parent))for(var p=t.parent,d=$(t);p;){for(var v=0;v<g.destroy.length;++v)g.destroy[v](p);if(p.elm=t.elm,d){for(var h=0;h<g.create.length;++h)g.create[h](Zn,p);var m=p.data.hook.insert;if(m.merged)for(var y=1;y<m.fns.length;y++)m.fns[y]()}else Gn(p);p=p.parent}D(f)?C(0,[e],0,0):D(e.tag)&&w(e)}}return A(t,c,s),t.elm}D(e)&&w(e)}}({nodeOps:qn,modules:[lr,yr,Ur,zr,ti,B?{create:Ai,activate:Ai,remove:function(e,t){!0!==e.data.show?Ci(e,t):t()}}:{}].concat(or)});J&&document.addEventListener("selectionchange",function(){var e=document.activeElement;e&&e.vmodel&&Mi(e,"input")});var Si={inserted:function(e,t,n,r){"select"===n.tag?(r.elm&&!r.elm._vOptions?rt(n,"postpatch",function(){Si.componentUpdated(e,t,n)}):Ti(e,t,n.context),e._vOptions=[].map.call(e.options,Ni)):("textarea"===n.tag||Kn(e.type))&&(e._vModifiers=t.modifiers,t.modifiers.lazy||(e.addEventListener("compositionstart",Li),e.addEventListener("compositionend",Ii),e.addEventListener("change",Ii),J&&(e.vmodel=!0)))},componentUpdated:function(e,t,n){if("select"===n.tag){Ti(e,t,n.context);var r=e._vOptions,i=e._vOptions=[].map.call(e.options,Ni);if(i.some(function(e,t){return!C(e,r[t])}))(e.multiple?t.value.some(function(e){return ji(e,i)}):t.value!==t.oldValue&&ji(t.value,i))&&Mi(e,"change")}}};function Ti(e,t,n){Ei(e,t,n),(K||q)&&setTimeout(function(){Ei(e,t,n)},0)}function Ei(e,t,n){var r=t.value,i=e.multiple;if(!i||Array.isArray(r)){for(var o,a,s=0,c=e.options.length;s<c;s++)if(a=e.options[s],i)o=-1<x(r,Ni(a)),a.selected!==o&&(a.selected=o);else if(C(Ni(a),r))return void(e.selectedIndex!==s&&(e.selectedIndex=s));i||(e.selectedIndex=-1)}}function ji(t,e){return e.every(function(e){return!C(e,t)})}function Ni(e){return"_value"in e?e._value:e.value}function Li(e){e.target.composing=!0}function Ii(e){e.target.composing&&(e.target.composing=!1,Mi(e.target,"input"))}function Mi(e,t){var n=document.createEvent("HTMLEvents");n.initEvent(t,!0,!0),e.dispatchEvent(n)}function Di(e){return!e.componentInstance||e.data&&e.data.transition?e:Di(e.componentInstance._vnode)}var Pi={model:Si,show:{bind:function(e,t,n){var r=t.value,i=(n=Di(n)).data&&n.data.transition,o=e.__vOriginalDisplay="none"===e.style.display?"":e.style.display;r&&i?(n.data.show=!0,wi(n,function(){e.style.display=o})):e.style.display=r?o:"none"},update:function(e,t,n){var r=t.value;!r!=!t.oldValue&&((n=Di(n)).data&&n.data.transition?(n.data.show=!0,r?wi(n,function(){e.style.display=e.__vOriginalDisplay}):Ci(n,function(){e.style.display="none"})):e.style.display=r?e.__vOriginalDisplay:"none")},unbind:function(e,t,n,r,i){i||(e.style.display=e.__vOriginalDisplay)}}},Fi={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function Ri(e){var t=e&&e.componentOptions;return t&&t.Ctor.options.abstract?Ri(lt(t.children)):e}function Hi(e){var t={},n=e.$options;for(var r in n.propsData)t[r]=e[r];var i=n._parentListeners;for(var o in i)t[g(o)]=i[o];return t}function Bi(e,t){if(/\d-keep-alive$/.test(t.tag))return e("keep-alive",{props:t.componentOptions.propsData})}var Ui={name:"transition",props:Fi,abstract:!0,render:function(e){var t=this,n=this.$slots.default;if(n&&(n=n.filter(function(e){return e.tag||ct(e)})).length){var r=this.mode,i=n[0];if(function(e){for(;e=e.parent;)if(e.data.transition)return!0}(this.$vnode))return i;var o=Ri(i);if(!o)return i;if(this._leaving)return Bi(e,i);var a="__transition-"+this._uid+"-";o.key=null==o.key?o.isComment?a+"comment":a+o.tag:T(o.key)?0===String(o.key).indexOf(a)?o.key:a+o.key:o.key;var s,c,l=(o.data||(o.data={})).transition=Hi(this),u=this._vnode,f=Ri(u);if(o.data.directives&&o.data.directives.some(function(e){return"show"===e.name})&&(o.data.show=!0),f&&f.data&&(s=o,(c=f).key!==s.key||c.tag!==s.tag)&&!ct(f)&&(!f.componentInstance||!f.componentInstance._vnode.isComment)){var p=f.data.transition=m({},l);if("out-in"===r)return this._leaving=!0,rt(p,"afterLeave",function(){t._leaving=!1,t.$forceUpdate()}),Bi(e,i);if("in-out"===r){if(ct(o))return u;var d,v=function(){d()};rt(l,"afterEnter",v),rt(l,"enterCancelled",v),rt(p,"delayLeave",function(e){d=e})}}return i}}},Vi=m({tag:String,moveClass:String},Fi);function zi(e){e.elm._moveCb&&e.elm._moveCb(),e.elm._enterCb&&e.elm._enterCb()}function Ki(e){e.data.newPos=e.elm.getBoundingClientRect()}function Ji(e){var t=e.data.pos,n=e.data.newPos,r=t.left-n.left,i=t.top-n.top;if(r||i){e.data.moved=!0;var o=e.elm.style;o.transform=o.WebkitTransform="translate("+r+"px,"+i+"px)",o.transitionDuration="0s"}}delete Vi.mode;var qi={Transition:Ui,TransitionGroup:{props:Vi,render:function(e){for(var t=this.tag||this.$vnode.data.tag||"span",n=Object.create(null),r=this.prevChildren=this.children,i=this.$slots.default||[],o=this.children=[],a=Hi(this),s=0;s<i.length;s++){var c=i[s];c.tag&&null!=c.key&&0!==String(c.key).indexOf("__vlist")&&(o.push(c),((n[c.key]=c).data||(c.data={})).transition=a)}if(r){for(var l=[],u=[],f=0;f<r.length;f++){var p=r[f];p.data.transition=a,p.data.pos=p.elm.getBoundingClientRect(),n[p.key]?l.push(p):u.push(p)}this.kept=e(t,null,l),this.removed=u}return e(t,null,o)},beforeUpdate:function(){this.__patch__(this._vnode,this.kept,!1,!0),this._vnode=this.kept},updated:function(){var e=this.prevChildren,r=this.moveClass||(this.name||"v")+"-move";e.length&&this.hasMove(e[0].elm,r)&&(e.forEach(zi),e.forEach(Ki),e.forEach(Ji),this._reflow=document.body.offsetHeight,e.forEach(function(e){if(e.data.moved){var n=e.elm,t=n.style;hi(n,r),t.transform=t.WebkitTransform=t.transitionDuration="",n.addEventListener(ui,n._moveCb=function e(t){t&&!/transform$/.test(t.propertyName)||(n.removeEventListener(ui,e),n._moveCb=null,mi(n,r))})}}))},methods:{hasMove:function(e,t){if(!ai)return!1;if(this._hasMove)return this._hasMove;var n=e.cloneNode();e._transitionClasses&&e._transitionClasses.forEach(function(e){ri(n,e)}),ni(n,t),n.style.display="none",this.$el.appendChild(n);var r=_i(n);return this.$el.removeChild(n),this._hasMove=r.hasTransform}}}};hn.config.mustUseProp=Sn,hn.config.isReservedTag=Un,hn.config.isReservedAttr=An,hn.config.getTagNamespace=Vn,hn.config.isUnknownElement=function(e){if(!B)return!0;if(Un(e))return!1;if(e=e.toLowerCase(),null!=zn[e])return zn[e];var t=document.createElement(e);return-1<e.indexOf("-")?zn[e]=t.constructor===window.HTMLUnknownElement||t.constructor===window.HTMLElement:zn[e]=/HTMLUnknownElement/.test(t.toString())},m(hn.options.directives,Pi),m(hn.options.components,qi),hn.prototype.__patch__=B?Oi:$,hn.prototype.$mount=function(e,t){return e=e&&B?Jn(e):void 0,r=e,i=t,(n=this).$el=r,n.$options.render||(n.$options.render=fe),_t(n,"beforeMount"),new St(n,function(){n._update(n._render(),i)},$,null,!0),i=!1,null==n.$vnode&&(n._isMounted=!0,_t(n,"mounted")),n;var n,r,i},B&&setTimeout(function(){j.devtools&&Q&&Q.emit("init",hn)},0);var Wi=/\{\{((?:.|\n)+?)\}\}/g,Gi=/[-.*+?^${}()|[\]\/\\]/g,Zi=e(function(e){var t=e[0].replace(Gi,"\\$&"),n=e[1].replace(Gi,"\\$&");return new RegExp(t+"((?:.|\\n)+?)"+n,"g")});var Xi={staticKeys:["staticClass"],transformNode:function(e,t){t.warn;var n=Sr(e,"class");n&&(e.staticClass=JSON.stringify(n));var r=Or(e,"class",!1);r&&(e.classBinding=r)},genData:function(e){var t="";return e.staticClass&&(t+="staticClass:"+e.staticClass+","),e.classBinding&&(t+="class:"+e.classBinding+","),t}};var Yi,Qi={staticKeys:["staticStyle"],transformNode:function(e,t){t.warn;var n=Sr(e,"style");n&&(e.staticStyle=JSON.stringify(Kr(n)));var r=Or(e,"style",!1);r&&(e.styleBinding=r)},genData:function(e){var t="";return e.staticStyle&&(t+="staticStyle:"+e.staticStyle+","),e.styleBinding&&(t+="style:("+e.styleBinding+"),"),t}},eo=function(e){return(Yi=Yi||document.createElement("div")).innerHTML=e,Yi.textContent},to=s("area,base,br,col,embed,frame,hr,img,input,isindex,keygen,link,meta,param,source,track,wbr"),no=s("colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source"),ro=s("address,article,aside,base,blockquote,body,caption,col,colgroup,dd,details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,title,tr,track"),io=/^\s*([^\s"'<>\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,oo="[a-zA-Z_][\\w\\-\\.]*",ao="((?:"+oo+"\\:)?"+oo+")",so=new RegExp("^<"+ao),co=/^\s*(\/?)>/,lo=new RegExp("^<\\/"+ao+"[^>]*>"),uo=/^<!DOCTYPE [^>]+>/i,fo=/^<!\--/,po=/^<!\[/,vo=!1;"x".replace(/x(.)?/g,function(e,t){vo=""===t});var ho=s("script,style,textarea",!0),mo={},yo={"&lt;":"<","&gt;":">","&quot;":'"',"&amp;":"&","&#10;":"\n","&#9;":"\t"},go=/&(?:lt|gt|quot|amp);/g,_o=/&(?:lt|gt|quot|amp|#10|#9);/g,bo=s("pre,textarea",!0),$o=function(e,t){return e&&bo(e)&&"\n"===t[0]};var wo,Co,xo,ko,Ao,Oo,So,To,Eo=/^@|^v-on:/,jo=/^v-|^@|^:/,No=/([^]*?)\s+(?:in|of)\s+([^]*)/,Lo=/,([^,\}\]]*)(?:,([^,\}\]]*))?$/,Io=/^\(|\)$/g,Mo=/:(.*)$/,Do=/^:|^v-bind:/,Po=/\.[^.]+/g,Fo=e(eo);function Ro(e,t,n){return{type:1,tag:e,attrsList:t,attrsMap:function(e){for(var t={},n=0,r=e.length;n<r;n++)t[e[n].name]=e[n].value;return t}(t),parent:n,children:[]}}function Ho(e,p){wo=p.warn||$r,Oo=p.isPreTag||O,So=p.mustUseProp||O,To=p.getTagNamespace||O,xo=wr(p.modules,"transformNode"),ko=wr(p.modules,"preTransformNode"),Ao=wr(p.modules,"postTransformNode"),Co=p.delimiters;var d,v,h=[],i=!1!==p.preserveWhitespace,m=!1,y=!1;function g(e){e.pre&&(m=!1),Oo(e.tag)&&(y=!1);for(var t=0;t<Ao.length;t++)Ao[t](e,p)}return function(i,d){for(var e,v,h=[],m=d.expectHTML,y=d.isUnaryTag||O,g=d.canBeLeftOpenTag||O,a=0;i;){if(e=i,v&&ho(v)){var r=0,o=v.toLowerCase(),t=mo[o]||(mo[o]=new RegExp("([\\s\\S]*?)(</"+o+"[^>]*>)","i")),n=i.replace(t,function(e,t,n){return r=n.length,ho(o)||"noscript"===o||(t=t.replace(/<!\--([\s\S]*?)-->/g,"$1").replace(/<!\[CDATA\[([\s\S]*?)]]>/g,"$1")),$o(o,t)&&(t=t.slice(1)),d.chars&&d.chars(t),""});a+=i.length-n.length,i=n,A(o,a-r,a)}else{var s=i.indexOf("<");if(0===s){if(fo.test(i)){var c=i.indexOf("--\x3e");if(0<=c){d.shouldKeepComment&&d.comment(i.substring(4,c)),C(c+3);continue}}if(po.test(i)){var l=i.indexOf("]>");if(0<=l){C(l+2);continue}}var u=i.match(uo);if(u){C(u[0].length);continue}var f=i.match(lo);if(f){var p=a;C(f[0].length),A(f[1],p,a);continue}var _=x();if(_){k(_),$o(v,i)&&C(1);continue}}var b=void 0,$=void 0,w=void 0;if(0<=s){for($=i.slice(s);!(lo.test($)||so.test($)||fo.test($)||po.test($)||(w=$.indexOf("<",1))<0);)s+=w,$=i.slice(s);b=i.substring(0,s),C(s)}s<0&&(b=i,i=""),d.chars&&b&&d.chars(b)}if(i===e){d.chars&&d.chars(i);break}}function C(e){a+=e,i=i.substring(e)}function x(){var e=i.match(so);if(e){var t,n,r={tagName:e[1],attrs:[],start:a};for(C(e[0].length);!(t=i.match(co))&&(n=i.match(io));)C(n[0].length),r.attrs.push(n);if(t)return r.unarySlash=t[1],C(t[0].length),r.end=a,r}}function k(e){var t=e.tagName,n=e.unarySlash;m&&("p"===v&&ro(t)&&A(v),g(t)&&v===t&&A(t));for(var r,i,o,a=y(t)||!!n,s=e.attrs.length,c=new Array(s),l=0;l<s;l++){var u=e.attrs[l];vo&&-1===u[0].indexOf('""')&&(""===u[3]&&delete u[3],""===u[4]&&delete u[4],""===u[5]&&delete u[5]);var f=u[3]||u[4]||u[5]||"",p="a"===t&&"href"===u[1]?d.shouldDecodeNewlinesForHref:d.shouldDecodeNewlines;c[l]={name:u[1],value:(r=f,i=p,o=i?_o:go,r.replace(o,function(e){return yo[e]}))}}a||(h.push({tag:t,lowerCasedTag:t.toLowerCase(),attrs:c}),v=t),d.start&&d.start(t,c,a,e.start,e.end)}function A(e,t,n){var r,i;if(null==t&&(t=a),null==n&&(n=a),e&&(i=e.toLowerCase()),e)for(r=h.length-1;0<=r&&h[r].lowerCasedTag!==i;r--);else r=0;if(0<=r){for(var o=h.length-1;r<=o;o--)d.end&&d.end(h[o].tag,t,n);h.length=r,v=r&&h[r-1].tag}else"br"===i?d.start&&d.start(e,[],!0,t,n):"p"===i&&(d.start&&d.start(e,[],!1,t,n),d.end&&d.end(e,t,n))}A()}(e,{warn:wo,expectHTML:p.expectHTML,isUnaryTag:p.isUnaryTag,canBeLeftOpenTag:p.canBeLeftOpenTag,shouldDecodeNewlines:p.shouldDecodeNewlines,shouldDecodeNewlinesForHref:p.shouldDecodeNewlinesForHref,shouldKeepComment:p.comments,start:function(e,t,n){var r=v&&v.ns||To(e);K&&"svg"===r&&(t=function(e){for(var t=[],n=0;n<e.length;n++){var r=e[n];Ko.test(r.name)||(r.name=r.name.replace(Jo,""),t.push(r))}return t}(t));var i,o,a,s,c,l=Ro(e,t,v);r&&(l.ns=r),"style"!==(i=l).tag&&("script"!==i.tag||i.attrsMap.type&&"text/javascript"!==i.attrsMap.type)||Y()||(l.forbidden=!0);for(var u=0;u<ko.length;u++)l=ko[u](l,p)||l;if(m||(null!=Sr(o=l,"v-pre")&&(o.pre=!0),l.pre&&(m=!0)),Oo(l.tag)&&(y=!0),m?function(e){var t=e.attrsList.length;if(t)for(var n=e.attrs=new Array(t),r=0;r<t;r++)n[r]={name:e.attrsList[r].name,value:JSON.stringify(e.attrsList[r].value)};else e.pre||(e.plain=!0)}(l):l.processed||(Uo(l),function(e){var t=Sr(e,"v-if");if(t)e.if=t,Vo(e,{exp:t,block:e});else{null!=Sr(e,"v-else")&&(e.else=!0);var n=Sr(e,"v-else-if");n&&(e.elseif=n)}}(l),null!=Sr(a=l,"v-once")&&(a.once=!0),Bo(l,p)),d?h.length||d.if&&(l.elseif||l.else)&&Vo(d,{exp:l.elseif,block:l}):d=l,v&&!l.forbidden)if(l.elseif||l.else)s=l,(c=function(e){var t=e.length;for(;t--;){if(1===e[t].type)return e[t];e.pop()}}(v.children))&&c.if&&Vo(c,{exp:s.elseif,block:s});else if(l.slotScope){v.plain=!1;var f=l.slotTarget||'"default"';(v.scopedSlots||(v.scopedSlots={}))[f]=l}else v.children.push(l),l.parent=v;n?g(l):(v=l,h.push(l))},end:function(){var e=h[h.length-1],t=e.children[e.children.length-1];t&&3===t.type&&" "===t.text&&!y&&e.children.pop(),h.length-=1,v=h[h.length-1],g(e)},chars:function(e){if(v&&(!K||"textarea"!==v.tag||v.attrsMap.placeholder!==e)){var t,n,r=v.children;if(e=y||e.trim()?"script"===(t=v).tag||"style"===t.tag?e:Fo(e):i&&r.length?" ":"")!m&&" "!==e&&(n=function(e,t){var n=t?Zi(t):Wi;if(n.test(e)){for(var r,i,o,a=[],s=[],c=n.lastIndex=0;r=n.exec(e);){c<(i=r.index)&&(s.push(o=e.slice(c,i)),a.push(JSON.stringify(o)));var l=_r(r[1].trim());a.push("_s("+l+")"),s.push({"@binding":l}),c=i+r[0].length}return c<e.length&&(s.push(o=e.slice(c)),a.push(JSON.stringify(o))),{expression:a.join("+"),tokens:s}}}(e,Co))?r.push({type:2,expression:n.expression,tokens:n.tokens,text:e}):" "===e&&r.length&&" "===r[r.length-1].text||r.push({type:3,text:e})}},comment:function(e){v.children.push({type:3,text:e,isComment:!0})}}),d}function Bo(e,t){var n,r,i,o;(r=Or(n=e,"key"))&&(n.key=r),e.plain=!e.key&&!e.attrsList.length,(o=Or(i=e,"ref"))&&(i.ref=o,i.refInFor=function(e){for(var t=e;t;){if(void 0!==t.for)return!0;t=t.parent}return!1}(i)),function(e){if("slot"===e.tag)e.slotName=Or(e,"name");else{var t;"template"===e.tag?(t=Sr(e,"scope"),e.slotScope=t||Sr(e,"slot-scope")):(t=Sr(e,"slot-scope"))&&(e.slotScope=t);var n=Or(e,"slot");n&&(e.slotTarget='""'===n?'"default"':n,"template"===e.tag||e.slotScope||xr(e,"slot",n))}}(e),function(e){var t;(t=Or(e,"is"))&&(e.component=t);null!=Sr(e,"inline-template")&&(e.inlineTemplate=!0)}(e);for(var a=0;a<xo.length;a++)e=xo[a](e,t)||e;!function(e){var t,n,r,i,o,a,s,c=e.attrsList;for(t=0,n=c.length;t<n;t++)if(r=i=c[t].name,o=c[t].value,jo.test(r))if(e.hasBindings=!0,(a=zo(r))&&(r=r.replace(Po,"")),Do.test(r))r=r.replace(Do,""),o=_r(o),s=!1,a&&(a.prop&&(s=!0,"innerHtml"===(r=g(r))&&(r="innerHTML")),a.camel&&(r=g(r)),a.sync&&Ar(e,"update:"+g(r),Er(o,"$event"))),s||!e.component&&So(e.tag,e.attrsMap.type,r)?Cr(e,r,o):xr(e,r,o);else if(Eo.test(r))r=r.replace(Eo,""),Ar(e,r,o,a,!1);else{var l=(r=r.replace(jo,"")).match(Mo),u=l&&l[1];u&&(r=r.slice(0,-(u.length+1))),p=r,d=i,v=o,h=u,m=a,((f=e).directives||(f.directives=[])).push({name:p,rawName:d,value:v,arg:h,modifiers:m}),f.plain=!1}else xr(e,r,JSON.stringify(o)),!e.component&&"muted"===r&&So(e.tag,e.attrsMap.type,r)&&Cr(e,r,"true");var f,p,d,v,h,m}(e)}function Uo(e){var t;if(t=Sr(e,"v-for")){var n=function(e){var t=e.match(No);if(!t)return;var n={};n.for=t[2].trim();var r=t[1].trim().replace(Io,""),i=r.match(Lo);i?(n.alias=r.replace(Lo,""),n.iterator1=i[1].trim(),i[2]&&(n.iterator2=i[2].trim())):n.alias=r;return n}(t);n&&m(e,n)}}function Vo(e,t){e.ifConditions||(e.ifConditions=[]),e.ifConditions.push(t)}function zo(e){var t=e.match(Po);if(t){var n={};return t.forEach(function(e){n[e.slice(1)]=!0}),n}}var Ko=/^xmlns:NS\d+/,Jo=/^NS\d+:/;function qo(e){return Ro(e.tag,e.attrsList.slice(),e.parent)}var Wo=[Xi,Qi,{preTransformNode:function(e,t){if("input"===e.tag){var n,r=e.attrsMap;if(!r["v-model"])return;if((r[":type"]||r["v-bind:type"])&&(n=Or(e,"type")),r.type||n||!r["v-bind"]||(n="("+r["v-bind"]+").type"),n){var i=Sr(e,"v-if",!0),o=i?"&&("+i+")":"",a=null!=Sr(e,"v-else",!0),s=Sr(e,"v-else-if",!0),c=qo(e);Uo(c),kr(c,"type","checkbox"),Bo(c,t),c.processed=!0,c.if="("+n+")==='checkbox'"+o,Vo(c,{exp:c.if,block:c});var l=qo(e);Sr(l,"v-for",!0),kr(l,"type","radio"),Bo(l,t),Vo(c,{exp:"("+n+")==='radio'"+o,block:l});var u=qo(e);return Sr(u,"v-for",!0),kr(u,":type",n),Bo(u,t),Vo(c,{exp:i,block:u}),a?c.else=!0:s&&(c.elseif=s),c}}}}];var Go,Zo,Xo,Yo={expectHTML:!0,modules:Wo,directives:{model:function(e,t,n){var r,i,o,a,s,c,l,u,f,p,d,v,h,m,y,g,_=t.value,b=t.modifiers,$=e.tag,w=e.attrsMap.type;if(e.component)return Tr(e,_,b),!1;if("select"===$)h=e,m=_,g=(g='var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = "_value" in o ? o._value : o.value;return '+((y=b)&&y.number?"_n(val)":"val")+"});")+" "+Er(m,"$event.target.multiple ? $$selectedVal : $$selectedVal[0]"),Ar(h,"change",g,null,!0);else if("input"===$&&"checkbox"===w)c=e,l=_,f=(u=b)&&u.number,p=Or(c,"value")||"null",d=Or(c,"true-value")||"true",v=Or(c,"false-value")||"false",Cr(c,"checked","Array.isArray("+l+")?_i("+l+","+p+")>-1"+("true"===d?":("+l+")":":_q("+l+","+d+")")),Ar(c,"change","var $$a="+l+",$$el=$event.target,$$c=$$el.checked?("+d+"):("+v+");if(Array.isArray($$a)){var $$v="+(f?"_n("+p+")":p)+",$$i=_i($$a,$$v);if($$el.checked){$$i<0&&("+Er(l,"$$a.concat([$$v])")+")}else{$$i>-1&&("+Er(l,"$$a.slice(0,$$i).concat($$a.slice($$i+1))")+")}}else{"+Er(l,"$$c")+"}",null,!0);else if("input"===$&&"radio"===w)r=e,i=_,a=(o=b)&&o.number,s=Or(r,"value")||"null",Cr(r,"checked","_q("+i+","+(s=a?"_n("+s+")":s)+")"),Ar(r,"change",Er(i,s),null,!0);else if("input"===$||"textarea"===$)!function(e,t,n){var r=e.attrsMap.type,i=n||{},o=i.lazy,a=i.number,s=i.trim,c=!o&&"range"!==r,l=o?"change":"range"===r?Pr:"input",u="$event.target.value";s&&(u="$event.target.value.trim()"),a&&(u="_n("+u+")");var f=Er(t,u);c&&(f="if($event.target.composing)return;"+f),Cr(e,"value","("+t+")"),Ar(e,l,f,null,!0),(s||a)&&Ar(e,"blur","$forceUpdate()")}(e,_,b);else if(!j.isReservedTag($))return Tr(e,_,b),!1;return!0},text:function(e,t){t.value&&Cr(e,"textContent","_s("+t.value+")")},html:function(e,t){t.value&&Cr(e,"innerHTML","_s("+t.value+")")}},isPreTag:function(e){return"pre"===e},isUnaryTag:to,mustUseProp:Sn,canBeLeftOpenTag:no,isReservedTag:Un,getTagNamespace:Vn,staticKeys:(Go=Wo,Go.reduce(function(e,t){return e.concat(t.staticKeys||[])},[]).join(","))},Qo=e(function(e){return s("type,tag,attrsList,attrsMap,plain,parent,children,attrs"+(e?","+e:""))});function ea(e,t){e&&(Zo=Qo(t.staticKeys||""),Xo=t.isReservedTag||O,function e(t){t.static=function(e){if(2===e.type)return!1;if(3===e.type)return!0;return!(!e.pre&&(e.hasBindings||e.if||e.for||c(e.tag)||!Xo(e.tag)||function(e){for(;e.parent;){if("template"!==(e=e.parent).tag)return!1;if(e.for)return!0}return!1}(e)||!Object.keys(e).every(Zo)))}(t);if(1===t.type){if(!Xo(t.tag)&&"slot"!==t.tag&&null==t.attrsMap["inline-template"])return;for(var n=0,r=t.children.length;n<r;n++){var i=t.children[n];e(i),i.static||(t.static=!1)}if(t.ifConditions)for(var o=1,a=t.ifConditions.length;o<a;o++){var s=t.ifConditions[o].block;e(s),s.static||(t.static=!1)}}}(e),function e(t,n){if(1===t.type){if((t.static||t.once)&&(t.staticInFor=n),t.static&&t.children.length&&(1!==t.children.length||3!==t.children[0].type))return void(t.staticRoot=!0);if(t.staticRoot=!1,t.children)for(var r=0,i=t.children.length;r<i;r++)e(t.children[r],n||!!t.for);if(t.ifConditions)for(var o=1,a=t.ifConditions.length;o<a;o++)e(t.ifConditions[o].block,n)}}(e,!1))}var ta=/^([\w$_]+|\([^)]*?\))\s*=>|^function\s*\(/,na=/^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\['[^']*?']|\["[^"]*?"]|\[\d+]|\[[A-Za-z_$][\w$]*])*$/,ra={esc:27,tab:9,enter:13,space:32,up:38,left:37,right:39,down:40,delete:[8,46]},ia={esc:"Escape",tab:"Tab",enter:"Enter",space:" ",up:["Up","ArrowUp"],left:["Left","ArrowLeft"],right:["Right","ArrowRight"],down:["Down","ArrowDown"],delete:["Backspace","Delete"]},oa=function(e){return"if("+e+")return null;"},aa={stop:"$event.stopPropagation();",prevent:"$event.preventDefault();",self:oa("$event.target !== $event.currentTarget"),ctrl:oa("!$event.ctrlKey"),shift:oa("!$event.shiftKey"),alt:oa("!$event.altKey"),meta:oa("!$event.metaKey"),left:oa("'button' in $event && $event.button !== 0"),middle:oa("'button' in $event && $event.button !== 1"),right:oa("'button' in $event && $event.button !== 2")};function sa(e,t,n){var r=t?"nativeOn:{":"on:{";for(var i in e)r+='"'+i+'":'+ca(i,e[i])+",";return r.slice(0,-1)+"}"}function ca(t,e){if(!e)return"function(){}";if(Array.isArray(e))return"["+e.map(function(e){return ca(t,e)}).join(",")+"]";var n=na.test(e.value),r=ta.test(e.value);if(e.modifiers){var i="",o="",a=[];for(var s in e.modifiers)if(aa[s])o+=aa[s],ra[s]&&a.push(s);else if("exact"===s){var c=e.modifiers;o+=oa(["ctrl","shift","alt","meta"].filter(function(e){return!c[e]}).map(function(e){return"$event."+e+"Key"}).join("||"))}else a.push(s);return a.length&&(i+="if(!('button' in $event)&&"+a.map(la).join("&&")+")return null;"),o&&(i+=o),"function($event){"+i+(n?"return "+e.value+"($event)":r?"return ("+e.value+")($event)":e.value)+"}"}return n||r?e.value:"function($event){"+e.value+"}"}function la(e){var t=parseInt(e,10);if(t)return"$event.keyCode!=="+t;var n=ra[e],r=ia[e];return"_k($event.keyCode,"+JSON.stringify(e)+","+JSON.stringify(n)+",$event.key,"+JSON.stringify(r)+")"}var ua={on:function(e,t){e.wrapListeners=function(e){return"_g("+e+","+t.value+")"}},bind:function(t,n){t.wrapData=function(e){return"_b("+e+",'"+t.tag+"',"+n.value+","+(n.modifiers&&n.modifiers.prop?"true":"false")+(n.modifiers&&n.modifiers.sync?",true":"")+")"}},cloak:$},fa=function(e){this.options=e,this.warn=e.warn||$r,this.transforms=wr(e.modules,"transformCode"),this.dataGenFns=wr(e.modules,"genData"),this.directives=m(m({},ua),e.directives);var t=e.isReservedTag||O;this.maybeComponent=function(e){return!t(e.tag)},this.onceId=0,this.staticRenderFns=[]};function pa(e,t){var n=new fa(t);return{render:"with(this){return "+(e?da(e,n):'_c("div")')+"}",staticRenderFns:n.staticRenderFns}}function da(e,t){if(e.staticRoot&&!e.staticProcessed)return va(e,t);if(e.once&&!e.onceProcessed)return ha(e,t);if(e.for&&!e.forProcessed)return f=t,v=(u=e).for,h=u.alias,m=u.iterator1?","+u.iterator1:"",y=u.iterator2?","+u.iterator2:"",u.forProcessed=!0,(d||"_l")+"(("+v+"),function("+h+m+y+"){return "+(p||da)(u,f)+"})";if(e.if&&!e.ifProcessed)return ma(e,t);if("template"!==e.tag||e.slotTarget){if("slot"===e.tag)return function(e,t){var n=e.slotName||'"default"',r=_a(e,t),i="_t("+n+(r?","+r:""),o=e.attrs&&"{"+e.attrs.map(function(e){return g(e.name)+":"+e.value}).join(",")+"}",a=e.attrsMap["v-bind"];!o&&!a||r||(i+=",null");o&&(i+=","+o);a&&(i+=(o?"":",null")+","+a);return i+")"}(e,t);var n;if(e.component)a=e.component,c=t,l=(s=e).inlineTemplate?null:_a(s,c,!0),n="_c("+a+","+ya(s,c)+(l?","+l:"")+")";else{var r=e.plain?void 0:ya(e,t),i=e.inlineTemplate?null:_a(e,t,!0);n="_c('"+e.tag+"'"+(r?","+r:"")+(i?","+i:"")+")"}for(var o=0;o<t.transforms.length;o++)n=t.transforms[o](e,n);return n}return _a(e,t)||"void 0";var a,s,c,l,u,f,p,d,v,h,m,y}function va(e,t){return e.staticProcessed=!0,t.staticRenderFns.push("with(this){return "+da(e,t)+"}"),"_m("+(t.staticRenderFns.length-1)+(e.staticInFor?",true":"")+")"}function ha(e,t){if(e.onceProcessed=!0,e.if&&!e.ifProcessed)return ma(e,t);if(e.staticInFor){for(var n="",r=e.parent;r;){if(r.for){n=r.key;break}r=r.parent}return n?"_o("+da(e,t)+","+t.onceId+++","+n+")":da(e,t)}return va(e,t)}function ma(e,t,n,r){return e.ifProcessed=!0,function e(t,n,r,i){if(!t.length)return i||"_e()";var o=t.shift();return o.exp?"("+o.exp+")?"+a(o.block)+":"+e(t,n,r,i):""+a(o.block);function a(e){return r?r(e,n):e.once?ha(e,n):da(e,n)}}(e.ifConditions.slice(),t,n,r)}function ya(e,t){var n,r,i="{",o=function(e,t){var n=e.directives;if(!n)return;var r,i,o,a,s="directives:[",c=!1;for(r=0,i=n.length;r<i;r++){o=n[r],a=!0;var l=t.directives[o.name];l&&(a=!!l(e,o,t.warn)),a&&(c=!0,s+='{name:"'+o.name+'",rawName:"'+o.rawName+'"'+(o.value?",value:("+o.value+"),expression:"+JSON.stringify(o.value):"")+(o.arg?',arg:"'+o.arg+'"':"")+(o.modifiers?",modifiers:"+JSON.stringify(o.modifiers):"")+"},")}if(c)return s.slice(0,-1)+"]"}(e,t);o&&(i+=o+","),e.key&&(i+="key:"+e.key+","),e.ref&&(i+="ref:"+e.ref+","),e.refInFor&&(i+="refInFor:true,"),e.pre&&(i+="pre:true,"),e.component&&(i+='tag:"'+e.tag+'",');for(var a=0;a<t.dataGenFns.length;a++)i+=t.dataGenFns[a](e);if(e.attrs&&(i+="attrs:{"+wa(e.attrs)+"},"),e.props&&(i+="domProps:{"+wa(e.props)+"},"),e.events&&(i+=sa(e.events,!1,t.warn)+","),e.nativeEvents&&(i+=sa(e.nativeEvents,!0,t.warn)+","),e.slotTarget&&!e.slotScope&&(i+="slot:"+e.slotTarget+","),e.scopedSlots&&(i+=(n=e.scopedSlots,r=t,"scopedSlots:_u(["+Object.keys(n).map(function(e){return ga(e,n[e],r)}).join(",")+"]),")),e.model&&(i+="model:{value:"+e.model.value+",callback:"+e.model.callback+",expression:"+e.model.expression+"},"),e.inlineTemplate){var s=function(e,t){var n=e.children[0];if(1===n.type){var r=pa(n,t.options);return"inlineTemplate:{render:function(){"+r.render+"},staticRenderFns:["+r.staticRenderFns.map(function(e){return"function(){"+e+"}"}).join(",")+"]}"}}(e,t);s&&(i+=s+",")}return i=i.replace(/,$/,"")+"}",e.wrapData&&(i=e.wrapData(i)),e.wrapListeners&&(i=e.wrapListeners(i)),i}function ga(e,t,n){return t.for&&!t.forProcessed?(r=e,o=n,a=(i=t).for,s=i.alias,c=i.iterator1?","+i.iterator1:"",l=i.iterator2?","+i.iterator2:"",i.forProcessed=!0,"_l(("+a+"),function("+s+c+l+"){return "+ga(r,i,o)+"})"):"{key:"+e+",fn:"+("function("+String(t.slotScope)+"){return "+("template"===t.tag?t.if?t.if+"?"+(_a(t,n)||"undefined")+":undefined":_a(t,n)||"undefined":da(t,n))+"}")+"}";var r,i,o,a,s,c,l}function _a(e,t,n,r,i){var o=e.children;if(o.length){var a=o[0];if(1===o.length&&a.for&&"template"!==a.tag&&"slot"!==a.tag)return(r||da)(a,t);var s=n?function(e,t){for(var n=0,r=0;r<e.length;r++){var i=e[r];if(1===i.type){if(ba(i)||i.ifConditions&&i.ifConditions.some(function(e){return ba(e.block)})){n=2;break}(t(i)||i.ifConditions&&i.ifConditions.some(function(e){return t(e.block)}))&&(n=1)}}return n}(o,t.maybeComponent):0,c=i||$a;return"["+o.map(function(e){return c(e,t)}).join(",")+"]"+(s?","+s:"")}}function ba(e){return void 0!==e.for||"template"===e.tag||"slot"===e.tag}function $a(e,t){return 1===e.type?da(e,t):3===e.type&&e.isComment?(r=e,"_e("+JSON.stringify(r.text)+")"):"_v("+(2===(n=e).type?n.expression:Ca(JSON.stringify(n.text)))+")";var n,r}function wa(e){for(var t="",n=0;n<e.length;n++){var r=e[n];t+='"'+r.name+'":'+Ca(r.value)+","}return t.slice(0,-1)}function Ca(e){return e.replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}new RegExp("\\b"+"do,if,for,let,new,try,var,case,else,with,await,break,catch,class,const,super,throw,while,yield,delete,export,import,return,switch,default,extends,finally,continue,debugger,function,arguments".split(",").join("\\b|\\b")+"\\b"),new RegExp("\\b"+"delete,typeof,void".split(",").join("\\s*\\([^\\)]*\\)|\\b")+"\\s*\\([^\\)]*\\)");function xa(t,n){try{return new Function(t)}catch(e){return n.push({err:e,code:t}),$}}var ka,Aa,Oa=(ka=function(e,t){var n=Ho(e.trim(),t);!1!==t.optimize&&ea(n,t);var r=pa(n,t);return{ast:n,render:r.render,staticRenderFns:r.staticRenderFns}},function(s){function e(e,t){var n=Object.create(s),r=[],i=[];if(n.warn=function(e,t){(t?i:r).push(e)},t)for(var o in t.modules&&(n.modules=(s.modules||[]).concat(t.modules)),t.directives&&(n.directives=m(Object.create(s.directives||null),t.directives)),t)"modules"!==o&&"directives"!==o&&(n[o]=t[o]);var a=ka(e,n);return a.errors=r,a.tips=i,a}return{compile:e,compileToFunctions:(c=e,l=Object.create(null),function(e,t,n){(t=m({},t)).warn,delete t.warn;var r=t.delimiters?String(t.delimiters)+e:e;if(l[r])return l[r];var i=c(e,t),o={},a=[];return o.render=xa(i.render,a),o.staticRenderFns=i.staticRenderFns.map(function(e){return xa(e,a)}),l[r]=o})};var c,l})(Yo).compileToFunctions;function Sa(e){return(Aa=Aa||document.createElement("div")).innerHTML=e?'<a href="\n"/>':'<div a="\n"/>',0<Aa.innerHTML.indexOf("&#10;")}var Ta=!!B&&Sa(!1),Ea=!!B&&Sa(!0),ja=e(function(e){var t=Jn(e);return t&&t.innerHTML}),Na=hn.prototype.$mount;return hn.prototype.$mount=function(e,t){if((e=e&&Jn(e))===document.body||e===document.documentElement)return this;var n=this.$options;if(!n.render){var r=n.template;if(r)if("string"==typeof r)"#"===r.charAt(0)&&(r=ja(r));else{if(!r.nodeType)return this;r=r.innerHTML}else e&&(r=function(e){{if(e.outerHTML)return e.outerHTML;var t=document.createElement("div");return t.appendChild(e.cloneNode(!0)),t.innerHTML}}(e));if(r){var i=Oa(r,{shouldDecodeNewlines:Ta,shouldDecodeNewlinesForHref:Ea,delimiters:n.delimiters,comments:n.comments},this),o=i.render,a=i.staticRenderFns;n.render=o,n.staticRenderFns=a}}return Na.call(this,e,t)},hn.compile=Oa,hn});
(function(app){if(!app)throw'app namespace missing';var CustomVue=Vue.extend({methods:Object.assign({scrollTo:function(selector,offset){var target=document.querySelector(selector);if(target)this.scrollToElement(target,offset)},scrollToElement:function(element,offset){if(element.offsetParent||element===document.body)window.requestAnimationFrame(function(){window.scrollBy({top:element.getBoundingClientRect().top-(offset||0),behavior:'smooth'})})},trackEvent:function(event,data){if(typeof dataLayer!=='undefined'&&typeof dataLayer.push==='function')dataLayer.push(Object.assign({event:event},data))}}),provide:function(){return{scrollTo:this.scrollTo,scrollToElement:this.scrollToElement,trackEvent:this.trackEvent}},mounted:function(){this.$el.classList.remove('vue-hidden')}}),vueInstances=[];if(document.readyState==='loading'){document.addEventListener('DOMContentLoaded',domLoad)}else domLoad()
function domLoad(){if(!!window.MSInputMethodContext&&!!document.documentMode){document.body.classList.add('ie11');window.app.isIE11=true};vueInstances=app.getVueInstances().map(function(options){if('string'===typeof options)options={el:options};return new CustomVue(options)});window.appConf=_.mapObject(window.appConf,function(config){return typeof config==='function'?config(window.app):config});window.app.init(window.appConf);if(window.lazyElements)lazyElements(document.querySelectorAll('.lazy-element'))}})(window.stillApp)
function decryptCharcode(n,start,end,offset){n=n+offset;if(offset>0&&n>end){n=start+(n-end-1)}else if(offset<0&&n<start)n=end-(start-n-1);return String.fromCharCode(n)}
function decryptString(enc,offset){var dec="",len=enc.length;for(var i=0;i<len;i++){var n=enc.charCodeAt(i);if(n>=0x2B&&n<=0x3A){dec+=decryptCharcode(n,0x2B,0x3A,offset)}else if(n>=0x40&&n<=0x5A){dec+=decryptCharcode(n,0x40,0x5A,offset)}else if(n>=0x61&&n<=0x7A){dec+=decryptCharcode(n,0x61,0x7A,offset)}else dec+=enc.charAt(i)};return dec}
function linkTo_UnCryptMailto(s){location.href=decryptString(s,3)};
(function(app){var NAMESPACE='pageHeader',defaults={minScrollDistanceToShow:0,breakpoints:{isMobileBelow:768},toggleCollapseContentStateClass:true,closeCollapseContentsBtnSelector:'.page-header__close-collapse-items-btn',scrollStateInitDelay:1e3},conf,$=app.$,$window,$pageHeader,scrollHideExclusionDistance,skipScrollHandlerThrottle=false,mainNavIsOpen=false,collapseOnScrollIsEnabled=false,scrollEventObservationEnabled=false,isVisible=true,isFixed=true,isExpanded=true,lastScrollTop=0;app.ready(function(){conf=_.defaults({},app.getConfig(NAMESPACE),defaults);if(!app.viewportHelper)throw'viewportHelper module missing';$window=$(window);$pageHeader=$('.page-header');if(!$pageHeader.length)return;isVisible=$pageHeader.hasClass('page-header--visible')?true:$pageHeader.hasClass('page-header--hidden')?false:isVisible;isFixed=$pageHeader.hasClass('page-header--fixed')?true:$pageHeader.hasClass('page-header--unfixed')?false:isFixed;isExpanded=$pageHeader.hasClass('page-header--expanded')?true:$pageHeader.hasClass('page-header--collapsed')?false:isExpanded;if($pageHeader.data('collapseOnScroll')!==undefined)collapseOnScrollIsEnabled=!!$pageHeader.data('collapseOnScroll');app.register(NAMESPACE,Module())});var Module=function(options){options=_.extend({},conf,options);var api={show:function(){if(isFixed===false)return this;if(isVisible===true)return this;isVisible=true;updateDOMState();app.trigger('visible.'+NAMESPACE,this);return this},hide:function(){if(isFixed===false)return this;if(isVisible===false)return this;isVisible=false;updateDOMState();app.trigger('hidden.'+NAMESPACE,this);return this},isVisible:function(){return isVisible},isHidden:function(){return!isVisible},fix:function(){if(isFixed===true)return this;isFixed=true;updateDOMState();app.trigger('fixed.'+NAMESPACE,this);return this},unfix:function(){if(isFixed===false)return this;isFixed=false;updateDOMState();app.trigger('unfixed.'+NAMESPACE,this);return this},isFixed:function(){return isFixed},isUnfixed:function(){return!isFixed},expand:function(){if(collapseOnScrollIsEnabled===false)return this;if(isExpanded===true)return this;isExpanded=true;updateDOMState();app.trigger('expanded.'+NAMESPACE,this);return this},collapse:function(){if(collapseOnScrollIsEnabled===false)return this;if(isExpanded===false)return this;isExpanded=false;updateDOMState();app.trigger('collapsed.'+NAMESPACE,this);return this},isExpanded:function(){return isExpanded},isCollapsed:function(){return!isExpanded},enableCollapseOnScroll:function(){if(collapseOnScrollIsEnabled===true)return this;collapseOnScrollIsEnabled=true;app.trigger('enabledCollapseOnScroll.'+NAMESPACE,this);this.expand();return this},disableCollapseOnScroll:function(){if(collapseOnScrollIsEnabled===false)return this;this.expand();collapseOnScrollIsEnabled=false;app.trigger('disabledCollapseOnScroll.'+NAMESPACE,this);return this},collapseOnScrollIsEnabled:function(){return collapseOnScrollIsEnabled},enableScrollEventObservation:function(updateState){if(scrollEventObservationEnabled===true)return this;scrollEventObservationEnabled=true;app.trigger('enabledScrollEventObservation.'+NAMESPACE,this);if(updateState===true)scrollHandler($window.scrollTop());return this},disableScrollEventObservation:function(){if(scrollEventObservationEnabled===false)return this;scrollEventObservationEnabled=false;app.trigger('disabledScrollEventObservation.'+NAMESPACE,this);return this},scrollEventObservationIsEnabled:function(){return scrollEventObservationEnabled},closeAllCollapseItems:function(){$pageHeader.find('.page-header-collapse-content').each(function(){var api=$(this).data('pageHeaderCollapseItem');if(!api)return;api.close()});return this},getVisibleHeight:function(){if(!isVisible)return 0;var height=$pageHeader[0].getBoundingClientRect().height,translateY=(function(){var pageHeaderInner=$pageHeader[0].querySelector('.page-header__inner'),transform=window.getComputedStyle(pageHeaderInner).transform,match=transform.match(/^matrix\((.+)\)$/);return match===null?0:parseFloat(match[1].split(', ')[5])}());return height+translateY}},scrollHandlerThrottled=_.throttle(function(scrollTop){scrollHandler(scrollTop);lastScrollTop=scrollTop},150);scrollHideExclusionDistance=$pageHeader.outerHeight();lastScrollTop=$window.scrollTop();app.on('breakpointDebounced.viewportHelper',breakpointHandler);breakpointHandler();app.on('scroll.scrollHelper',function(data){if(scrollEventObservationEnabled===false)return;if(skipScrollHandlerThrottle){scrollHandler(data.scrollY);skipScrollHandlerThrottle=false;mainNavIsOpen=false}else scrollHandlerThrottled(data.scrollY)});if(options.toggleCollapseContentStateClass===true){$pageHeader.on('open.pageHeaderCollapseItem',function(event,api){$pageHeader.addClass('page-header--collapse-content-visible')});$pageHeader.on('close.pageHeaderCollapseItem',function(event,api){$pageHeader.removeClass('page-header--collapse-content-visible')})};$pageHeader.find(options.closeCollapseContentsBtnSelector).on('click',function(){api.closeAllCollapseItems()});$pageHeader.find('.page-header-hotline--desktop-main-bar .page-header-hotline__link').on('click',function(){api.expand()});updateDOMState();$('.main-nav-trigger, .main-nav').on('click.'+NAMESPACE,function(event){api.closeAllCollapseItems()});requestAnimationFrame(function(){setTimeout(function(){scrollEventObservationEnabled=true;scrollHandler(lastScrollTop)},options.scrollStateInitDelay)});app.on('open.mainNavMobile',function(){mainNavIsOpen=true});app.on('close.mainNavMobile',function(){skipScrollHandlerThrottle=true});return api
function scrollHandler(scrollTop){if(mainNavIsOpen||isFixed===false)return;var scrollDirection=scrollTop>lastScrollTop?'down':'up';if(scrollTop<=scrollHideExclusionDistance){api.show();api.expand();return};if(scrollDirection==='down'){api.collapse()}else api.expand()}
function breakpointHandler(){api.show();api.expand()}
function updateDOMState(){$pageHeader.toggleClass('page-header--visible',isVisible);$pageHeader.toggleClass('page-header--hidden',!isVisible);$pageHeader.toggleClass('page-header--fixed',isFixed);$pageHeader.toggleClass('page-header--unfixed',!isFixed);$pageHeader.toggleClass('page-header--expanded',isExpanded);$pageHeader.toggleClass('page-header--collapsed',!isExpanded)}}}(app));
(function(app){var NAMESPACE='pageHeaderCollapseItem',defaults={itemSelector:'.page-header-collapse-item',autoStart:true,itemOpenClass:'page-header-collapse-item--open',contentOpenClass:'page-header-collapse-content--open'},conf,$=app.$,$window,$html,ADDITIONAL_HTML_CLASS='page--clip-viewport',windowScrollTop,mainNavMobileIsOpen=false,pageHeaderApi;app.ready(function(){conf=_.defaults({},app.getConfig(NAMESPACE),defaults);pageHeaderApi=app.pageHeader;$window=$(window);$html=$('html');app.register(NAMESPACE,Module);if(conf.autoStart===true){var dataTargets=[];$(conf.itemSelector).each(function(){dataTargets.push($(this).data('target'))});dataTargets=_.uniq(dataTargets);dataTargets.forEach(function(dataTarget){Module({collapseItems:$(conf.itemSelector).filter('[data-target="'+dataTarget+'"]'),collapseContent:dataTarget})})}});var Module=function(options){options=_.extend({},conf,options);return PageHeaderCollapseItem(options)},PageHeaderCollapseItem=function(options){var api,$collapseItems=$(options.collapseItems);if(!$collapseItems.length)return;var $collapseContent=$(options.collapseContent);if(!$collapseContent.length)return;if($collapseContent.data(NAMESPACE))return;var isOpen=false;app.on('open.mainNavMobile',function(){mainNavMobileIsOpen=true});app.on('close.mainNavMobile',function(){mainNavMobileIsOpen=false});$collapseItems.on('click.'+NAMESPACE,'.page-header-collapse-item__toggle',function(){if(mainNavMobileIsOpen){app.once('close.mainNavMobile',function(){api.toggle()})}else api.toggle()});api={open:function(){if(isOpen)return this;windowScrollTop=$window.scrollTop();$collapseContent.on('transitionend.'+NAMESPACE+' webkitTransitionEnd.'+NAMESPACE,function(){$html.addClass(ADDITIONAL_HTML_CLASS);$collapseContent.off('.'+NAMESPACE);app.trigger('afterOpen.'+NAMESPACE,{$elem:$collapseContent,api:api});$collapseContent.trigger('afterOpen.'+NAMESPACE,api)});$collapseItems.addClass(options.itemOpenClass);$collapseContent.addClass(options.contentOpenClass);isOpen=true;app.trigger('open.'+NAMESPACE,{$elem:$collapseContent,api:api});$collapseContent.trigger('open.'+NAMESPACE,api);return this},close:function(){if(!isOpen)return this;$collapseContent.on('transitionend.'+NAMESPACE+' webkitTransitionEnd.'+NAMESPACE,function(){$collapseContent.off('.'+NAMESPACE);app.trigger('afterClose.'+NAMESPACE,{$elem:$collapseContent,api:api});$collapseContent.trigger('afterClose.'+NAMESPACE,api)});$html.removeClass(ADDITIONAL_HTML_CLASS);$collapseItems.removeClass(options.itemOpenClass);$collapseContent.removeClass(options.contentOpenClass);$window.scrollTop(windowScrollTop);if(pageHeaderApi)app.once('hidden.pageHeader',function(){pageHeaderApi.show()});isOpen=false;app.trigger('close.'+NAMESPACE,{$elem:$collapseContent,api:api});$collapseContent.trigger('close.'+NAMESPACE,api);return this},toggle:function(){if(isOpen===true){return this.close()}else return this.open()}};$collapseContent.data(NAMESPACE,api);return api}}(app));
(function(app){var NAMESPACE='pageHeaderSearch',defaults={selector:'.page-header-search',collapseContentSelector:'.page-header-collapse-content--search',searchTermInputDelay:100,searchTermMinLength:2},conf,$=app.$,autocompleteCache={};app.ready(function(){conf=_.defaults({},app.getConfig(NAMESPACE),defaults);if(!$.fn.multipleSelect)return;app.register(NAMESPACE,Module())});var Module=function(options){var api;options=_.extend({},conf,options);var $pageHeaderSearch=$(options.selector);if(!$pageHeaderSearch.length)return;var $pageHeaderSearchCollapseContent=$(options.collapseContentSelector);if(!$pageHeaderSearchCollapseContent.length)return;var $form=$pageHeaderSearch.find('.page-header-search__form'),$searchInput=$pageHeaderSearch.find('.page-header-search__query-input'),$autoCompleteListSelect=$pageHeaderSearch.find('.page-header-search__autocomplete-list-select'),$searchResults=$pageHeaderSearch.find('.page-header-search__results');(function(){$searchInput.on('input',_.debounce(function(){searchInputInputHandler()},options.searchTermInputDelay)).on('keydown',function(event){switch(event.which){case 27:hideAutocomplete();break}}).on('focus',function(event){var searchTerm=$searchInput.val();if(!isValidSearchTerm(searchTerm))return;searchInputInputHandler()});$autoCompleteListSelect.multipleSelect({width:'100%',maxHeight:400,selectAll:false,allSelected:false,countSelected:false,single:true,keepOpen:true,onClick:function(view){if(view.value===null)return;var val=$.trim(view.label);$searchInput.val(val);if(!isValidSearchTerm(val)){$searchInput.focus();return};submitSearch(val)}})
function searchInputInputHandler(){var searchTerm=$searchInput.val();getAutocompleteItemsFor(searchTerm).done(function(response){var items=[];_.each(response,function(termIndex,term){items.push({value:term,text:term,termIndex:termIndex})});items=_.sortBy(items,'termIndex');items.reverse();renderAutocomplete(items);if(!items.length)return;showAutocomplete()}).fail(function(){renderAutocomplete()})}}());$pageHeaderSearchCollapseContent.on('open.pageHeaderCollapseItem',function(event,api){$searchInput.focus()});$form.on('submit',function(event){event.preventDefault();var searchTerm=$searchInput.val();if(!isValidSearchTerm(searchTerm)){$searchInput.focus();return};submitSearch(searchTerm)});$('body').on('click',function(event){if($(event.target).closest($searchInput).length)return;hideAutocomplete()})
function getAutocompleteItemsFor(term){if(!isValidSearchTerm(term))return $.Deferred().reject();if(_.size(autocompleteCache)>1e3)autocompleteCache={};if(autocompleteCache[term])return $.Deferred().resolve((autocompleteCache[term]));var requestData=$form.serialize();requestData+='&eID=tx_solr_suggest';requestData+='&termLowercase='+term.toLowerCase();requestData+='&termOriginal='+term;return $.ajax({url:window.location.origin,dataType:'json',data:requestData}).done(function(response){autocompleteCache[term]=response})}
function getResultsForCurrentFormState(){var requestData=$form.serialize();requestData+='&type=10191514';return $.ajax({url:$form.attr('action'),dataType:'html',data:requestData})}
function submitSearch(term){hideAutocomplete();$pageHeaderSearch.addClass('page-header-search--pending-submission');getResultsForCurrentFormState().done(function(response){var $results=$(response).find('.tx-solr-search-results__item');if($results.length){renderResults($results)}else renderResults($(response).find('.tx-solr-search-no-results'))}).fail(function(){renderResults()}).always(function(){$pageHeaderSearch.removeClass('page-header-search--pending-submission')})}
function renderAutocomplete(items){items=items||[];if(!items.length)hideAutocomplete();items=items.slice(0,5);$autoCompleteListSelect.html(_.reduce(items,function(memo,item){var str=memo;str+='<option value="'+item.value+'"';if(!item.value)str+=' disabled';str+='>';str+=item.text;str+='</option>';return str},''));$autoCompleteListSelect.multipleSelect('refresh')}
function renderResults(items){items=items||[];items=items.slice(0,20);$searchResults.html(items)}
function showAutocomplete(){$autoCompleteListSelect.multipleSelect('open')}
function hideAutocomplete(){$autoCompleteListSelect.multipleSelect('close')};api={};return api}
function isValidSearchTerm(term){return!(typeof term!=='string'||term.length<conf.searchTermMinLength)}}(app));
(function(app){var NAMESPACE='pageHeaderContact',defaults={selector:'.page-header-contact',collapseContentSelector:'.page-header-collapse-content--contact'},conf,$=app.$,$pageHeader;app.ready(function(){conf=_.defaults({},app.getConfig(NAMESPACE),defaults);$pageHeader=$('.page-header');if(!$pageHeader.length)return;app.register(NAMESPACE,Module())});var Module=function(options){var api;options=_.extend({},conf,options);var $pageHeaderSearch=$(options.selector);if(!$pageHeaderSearch.length)return;var $pageHeaderSearchCollapseContent=$(options.collapseContentSelector);if(!$pageHeaderSearchCollapseContent.length)return;api={};return api}}(app));
(function(app){var NAMESPACE='pageHeaderAnchorNav',defaults={selector:'.page-header-anchor-nav'},conf,$=app.$;app.ready(function(){conf=_.defaults({},app.getConfig(NAMESPACE),defaults);app.register(NAMESPACE,Module())});var Module=function(options){var api;options=_.extend({},conf,options);var $contentAnchors=$('.content-anchor'),$pageHeaderAnchorNav=$(options.selector);if(!$pageHeaderAnchorNav.length)return;(function(){$pageHeaderAnchorNav.html(function(){return _.reduce($contentAnchors,function(memo,anchor,idx){var $anchor=$(anchor),linkText=$anchor.data('title')||$anchor.attr('name');return memo+createListItemAnchor('#'+$anchor.attr('name'),linkText)},'')})}());api={};return api}
function createListItemAnchor(href,text){return'<a href="'+href+'" class="page-header-anchor-nav__link page-header-anchor-nav__link--anchor">'+text+'</a>'}}(app));
(function(app){var NAMESPACE='mainNavDesktop',defaults={desktopNavTriggerTimeoutDuration:100,breakpoints:{isMobileBelow:992}},conf,$=app.$,$html,$body,$mainNav,$mainNavInner,$mainNavLevelList1Items,$mainNavLevelList2Items,$currentMainNavLevelList1Item,$listItemActivateStateIndicator,viewportIsMobile,desktopNavTriggerTimeoutLevel1,LEVEL_LIST_CLASS='main-nav__level-list',LEVEL_CONTENT_CLASS='main-nav__level-content';app.ready(function(){conf=_.defaults({},app.getConfig(NAMESPACE),defaults);if(!app.viewportHelper)throw'viewportHelper module missing';if(!Modernizr)throw'Modernizr missing';$html=$('html');$body=$('body');$mainNav=$('.main-nav');$mainNavInner=$mainNav.find('.main-nav__inner');$mainNavLevelList1Items=$mainNav.find('.'+LEVEL_LIST_CLASS+'--1 > .main-nav__level-list-item');$mainNavLevelList2Items=$mainNav.find('.'+LEVEL_LIST_CLASS+'--2 > .main-nav__level-list-item');if(!$mainNav.length||!$mainNavInner.length)return;if(!app.mainNavMobile)throw'mainNavMobile module missing';app.register(NAMESPACE,Module())});var Module=function(options){options=_.extend({},conf,options);var api={close:function(){$mainNavLevelList1Items.removeClass('main-nav__level-list-item--entered');$mainNavLevelList2Items.removeClass('main-nav__level-list-item--entered');if($currentMainNavLevelList1Item.length){updateListItemActiveStateIndicator($currentMainNavLevelList1Item.width(),$currentMainNavLevelList1Item.position().left)}else $listItemActivateStateIndicator.removeClass('main-nav__list-item-activate-state-indicator--visible');$html.removeClass('page--main-nav-desktop-open');app.trigger('close.'+NAMESPACE);return this}};app.on('breakpointDebounced.viewportHelper',breakpointHandler);breakpointHandler();return api
function initEventHandling(){if(viewportIsMobile){$mainNavInner.off('.'+NAMESPACE);$body.off('.'+NAMESPACE);$mainNavInner.find('.'+LEVEL_CONTENT_CLASS+'--2 > .container').css('minHeight','');$mainNavInner.find('.main-nav__list-item-activate-state-indicator').remove()}else{$mainNavInner.on('click.'+NAMESPACE,'.'+LEVEL_CONTENT_CLASS+'-close-btn',function(event){api.close()});$listItemActivateStateIndicator=$('<i class="main-nav__list-item-activate-state-indicator main-nav__list-item-activate-state-indicator--visible">');$currentMainNavLevelList1Item=$mainNavLevelList1Items.filter('.main-nav__level-list-item--current');if($currentMainNavLevelList1Item.length){updateListItemActiveStateIndicator($currentMainNavLevelList1Item.width(),$currentMainNavLevelList1Item.position().left)}else $listItemActivateStateIndicator.removeClass('main-nav__list-item-activate-state-indicator--visible');$mainNavInner.find('.'+LEVEL_CONTENT_CLASS+'--1').append($listItemActivateStateIndicator);if(Modernizr.touchevents){$mainNavInner.on('click.'+NAMESPACE,'.'+LEVEL_LIST_CLASS+'--1 > .main-nav__level-list-item > a',function(event){var $listItem=$(this).parent(),targetIsActive=$listItem.hasClass('main-nav__level-list-item--entered');if($listItem.hasClass('main-nav__level-list-item--has-sub'))event.preventDefault();$mainNavLevelList1Items.removeClass('main-nav__level-list-item--entered');$mainNavLevelList2Items.removeClass('main-nav__level-list-item--entered');$listItem.toggleClass('main-nav__level-list-item--entered',!targetIsActive);$html.toggleClass('page--main-nav-desktop-open',!targetIsActive);if(targetIsActive)return;setContainerMinHeight($listItem);updateListItemActiveStateIndicator($listItem.width(),$listItem.position().left)});$mainNavInner.on('click.'+NAMESPACE,'.'+LEVEL_LIST_CLASS+'--2 > .main-nav__level-list-item > a',function(event){var $listItem=$(this).parent(),targetIsActive=$listItem.hasClass('main-nav__level-list-item--entered');if($listItem.hasClass('main-nav__level-list-item--has-sub'))event.preventDefault();$mainNavLevelList2Items.removeClass('main-nav__level-list-item--entered');$listItem.toggleClass('main-nav__level-list-item--entered',!targetIsActive)});$body.on('click.'+NAMESPACE,function(event){if($(event.target).closest($mainNavLevelList1Items).length)return;api.close()})}else{$mainNavInner.on('mouseenter.'+NAMESPACE,'.'+LEVEL_LIST_CLASS+'--1 > .main-nav__level-list-item',function(event){var $listItem=$(this);clearTimeout(desktopNavTriggerTimeoutLevel1);desktopNavTriggerTimeoutLevel1=setTimeout(function(){$mainNavLevelList1Items.removeClass('main-nav__level-list-item--entered');$mainNavLevelList2Items.removeClass('main-nav__level-list-item--entered');$listItem.addClass('main-nav__level-list-item--entered');setContainerMinHeight($listItem);updateListItemActiveStateIndicator($listItem.width(),$listItem.position().left)},options.desktopNavTriggerTimeoutDuration)}).on('mouseleave.'+NAMESPACE,'.'+LEVEL_LIST_CLASS+'--1 > .main-nav__level-list-item',function(event){clearTimeout(desktopNavTriggerTimeoutLevel1);desktopNavTriggerTimeoutLevel1=setTimeout(function(){api.close()},options.desktopNavTriggerTimeoutDuration)});$mainNavInner.on('mouseenter.'+NAMESPACE,'.'+LEVEL_LIST_CLASS+'--2 > .main-nav__level-list-item',function(event){var $listItem=$(this);$mainNavLevelList2Items.removeClass('main-nav__level-list-item--entered');$listItem.addClass('main-nav__level-list-item--entered')})}}}
function breakpointHandler(){var _viewportIsMobile=viewportIsMobile;viewportIsMobile=(app.viewportHelper.getViewportState().width<options.breakpoints.isMobileBelow);if(_viewportIsMobile===viewportIsMobile)return;initEventHandling()}
function updateListItemActiveStateIndicator(width,positionLeft){$listItemActivateStateIndicator.addClass('main-nav__list-item-activate-state-indicator--visible');$listItemActivateStateIndicator.css({width:width,transform:'translateX('+positionLeft+'px)'})}
function setContainerMinHeight($listItem){var $levelContent2Container=$listItem.children('.'+LEVEL_CONTENT_CLASS).children('.container'),containerPaddingTopAndBottom=parseInt($levelContent2Container.eq(0).css('paddingTop'))+parseInt($levelContent2Container.eq(0).css('paddingBottom'));$levelContent2Container.css('minHeight',function(){var $level3Lists=$levelContent2Container.find('.'+LEVEL_LIST_CLASS+'--3'),level3ListHeights=$level3Lists.toArray().map(function(list){return $(list).outerHeight()});return Math.max.apply(null,level3ListHeights)+containerPaddingTopAndBottom})}}}(app));
(function(app){var NAMESPACE='subNav',defaults={breakpoints:{isMobileBelow:768}},conf,$=app.$,$window,$subNav,$pageHeader,viewportIsMobile,pageHeaderIsFixed,pageHeaderIsExpanded,isVisible=false;app.ready(function(){conf=_.defaults({},app.getConfig(NAMESPACE),defaults);if(!app.viewportHelper)throw'viewportHelper module missing';if(!Modernizr)throw'Modernizr missing';$window=$(window);$pageHeader=$('.page-header');if(!$pageHeader.length)return;$subNav=$('.sub-nav');if(!$subNav.length)return;isVisible=$subNav.hasClass('sub-nav--visible')?true:$subNav.hasClass('sub-nav--hidden')?false:isVisible;pageHeaderIsFixed=app.pageHeader.isFixed();pageHeaderIsExpanded=app.pageHeader.isExpanded();app.register(NAMESPACE,Module())});var Module=function(options){var api;options=_.extend({},conf,options);api={show:function(){if(isVisible===true)return this;isVisible=true;updateDOMState();app.trigger('visible.'+NAMESPACE,this);return this},hide:function(){if(isVisible===false)return this;isVisible=false;updateDOMState();app.trigger('hidden.'+NAMESPACE,this);return this},toggle:function(){if(isVisible===true){return this.hide()}else return this.show()},isVisible:function(){return isVisible},isHidden:function(){return!isVisible}};app.on('breakpointDebounced.viewportHelper',breakpointHandler);breakpointHandler();app.on('open.mainNavMobile open.mainNavDesktop',function(){api.hide()});app.on('fixed.pageHeader',function(){pageHeaderIsFixed=true;updateDOMState()});app.on('unfixed.pageHeader',function(){pageHeaderIsFixed=false;updateDOMState()});app.on('expanded.pageHeader',function(){pageHeaderIsExpanded=true;updateDOMState()});app.on('collapsed.pageHeader',function(){pageHeaderIsExpanded=false;updateDOMState()});if(Modernizr.touchevents){$subNav.on('click.'+NAMESPACE,'.sub-nav__trigger-btn',function(){api.toggle()})}else{$subNav.on('mouseenter.'+NAMESPACE,'.sub-nav__trigger-btn',function(){api.show()});$subNav.on('mouseleave.'+NAMESPACE,'.sub-nav__content',function(event){api.hide()});$subNav.on('mouseenter.'+NAMESPACE,'.breadcrumb',function(){api.hide()})};updateDOMState();return api
function breakpointHandler(){viewportIsMobile=(app.viewportHelper.getViewportState().width<conf.breakpoints.isMobileBelow)}}
function updateDOMState(){$subNav.toggleClass('sub-nav--visible',isVisible);$subNav.toggleClass('sub-nav--hidden',!isVisible);$subNav.toggleClass('sub-nav--fixed',pageHeaderIsFixed);$subNav.toggleClass('sub-nav--unfixed',!pageHeaderIsFixed);$subNav.toggleClass('sub-nav--expanded',pageHeaderIsExpanded);$subNav.toggleClass('sub-nav--collapsed',!pageHeaderIsExpanded)}}(app));
(function(app){var NAMESPACE='contentRow',defaults={selector:'.page-content .content-row',autoStart:true,breakpoints:{isMobileBelow:992,hideVideoBelow:768},toggleBtnSelector:'.content-row__toggle-trigger',toggleContentSelector:function($el){return $el.next('.content-row--toggle-content')},openClass:'content-row--toggle-is-open',offsetTopShift:-150,scrollDuration:500},conf,$=app.$,viewportIsMobile;app.ready(function(){conf=_.defaults({},app.getConfig(NAMESPACE),defaults);if(!app.viewportHelper)throw'viewportHelper module missing';if(!app.scrollHelper)throw'scrollHelper module missing';if(!$.fn.toggleWidget)throw'jQuery ToggletWidget plugin missing';if(!window.lazyElements)throw'lazyElements plugin missing';app.on('breakpointDebounced.viewportHelper',breakpointHandler);breakpointHandler();app.register(NAMESPACE,Module);if(conf.autoStart===true)$(conf.selector).each(function(){Module({targetElem:$(this)})})
function breakpointHandler(){viewportIsMobile=(app.viewportHelper.getViewportState().width<conf.breakpoints.isMobileBelow)}});var Module=function(options){options=_.extend({},conf,options);var $targetElem=$(options.targetElem);if($targetElem.is('.content-row--bg-video, .content-row--bg-video-content-layout')){ContentRowVideo(options)}else if($targetElem.is('.content-row--stage-video')){ContentRowVideo(_.extend(options,{videoElemSelector:'.content-row__stage-video',videoHiddenClass:'content-row--stage-video-hidden'}))}else if($targetElem.is('.content-row--stage-img')){ContentRowStageImage(options)}else if($targetElem.next('.content-row--toggle-content').length)ContentToggleRow(options);if($targetElem.is('.content-row--bg-img'))ContentRowBgImage(_.extend(options,{lazyWrapSelector:'.content-row__bg-img-wrap--lazy'}));return{}},ContentRowVideo=function(options){var api,$targetElem=$(options.targetElem);if(!$targetElem.length)return;options=_.defaults({},options,{videoElemSelector:'.content-row__bg-video',videoHiddenClass:'content-row--bg-video-hidden'});var video=$targetElem.find(options.videoElemSelector)[0];if(!video)return;if(!$targetElem.find('.content-row__text-box').children().length)$targetElem.find('.content-row__text-box').remove();app.on('breakpoint.viewportHelper',breakpointHandler);breakpointHandler();api={};return api
function breakpointHandler(){if(app.viewportHelper.getViewportState().width<options.breakpoints.hideVideoBelow){$targetElem.addClass(options.videoHiddenClass);video.pause()}else{$targetElem.removeClass(options.videoHiddenClass);video.play()}}},ContentToggleRow=function(options){var api,$targetElem=$(options.targetElem);if(!$targetElem.length)return;var $targetElemContent=$targetElem.next('.content-row--toggle-content');if(!$targetElemContent.length)return;$targetElem.addClass('content-row--toggle');if($targetElemContent.hasClass('content-row--toggle-content-default-open')){$targetElem.addClass(options.openClass);$targetElemContent.removeClass('content-row--toggle-content-default-open')};$targetElem.toggleWidget(_.extend({},options));$targetElem.on('beforeOpen.toggleWidget.'+NAMESPACE,function(event,toggleWidgetApi){if(!$targetElem.is(event.target))return;app.scrollHelper.scrollTo($targetElemContent.offset().top+options.offsetTopShift,{duration:options.scrollDuration})});$targetElem.on('afterClose.toggleWidget.'+NAMESPACE,function(event,toggleWidgetApi){if(!$targetElem.is(event.target))return;if(viewportIsMobile===true)app.scrollHelper.scrollTo($targetElemContent.offset().top+options.offsetTopShift,{duration:options.scrollDuration})});$targetElemContent.on('click.'+NAMESPACE,'.content-row__toggle-close-btn',function(){$targetElem.data('toggleWidget').close()});api={};return api},ContentRowBgImage=function(options){var api,$targetElem=$(options.targetElem);if(!$targetElem.length)return;var $lazyWrap=$targetElem.find(options.lazyWrapSelector);if(!$lazyWrap.length)return;lazyElements($lazyWrap);api={};return api},ContentRowStageImage=function(options){var api,$targetElem=$(options.targetElem);if(!$targetElem.length)return;if(!$targetElem.find('.content-row__text-box').children().length)$targetElem.find('.content-row__text-box').remove();api={};return api}}(app));
(function(app){var NAMESPACE='contentFormCustom',defaults={selector:'.content-form',formRequestIsPendingClass:'content-form--is-pending-submission',ajaxResponseFilter:function(response){return $(response).find('.content-form-thank-you').eq(0)}},conf,$=app.$,$userIdInput,countryCode='',roiId,trackingApi,csrfTokenRequests={};app.ready(function(){conf=_.defaults({},app.getConfig(NAMESPACE),defaults);if(!app.contentForm)throw'contentForm module missing';trackingApi=app.tracking;if(!trackingApi)throw'tracking module missing';$userIdInput=$('<input type="hidden" name="roi-id">');countryCode=document.documentElement.lang;roiId=createRoiId();$userIdInput.val(roiId);app.register(NAMESPACE,Module);$(conf.selector).each(function(){Module({targetElem:$(this)})})});var Module=function(options){if(options==='getRoiId')return roiId;return ContentFormCustom(_.extend({},conf,options))},ContentFormCustom=function(options){var api,$targetElem=$(options.targetElem);if(!$targetElem.length)return;var formId=parseInt($targetElem.data('uid'));if(isNaN(formId))formId=null;var $csrfInput=$targetElem.find('.powermail-csrf-'+formId);if($targetElem.data(NAMESPACE))return;if(!$targetElem.find('input[name="roi-id"]').length&&$targetElem.data('noRoiId')===undefined)$targetElem.append($userIdInput.clone());if($targetElem.hasClass('content-form--product'))$targetElem.find('input, textarea').attr('autocomplete','disabled');(function(){if(!$targetElem.hasClass('job-detail-page-form'))return;var $triggerBtn=$('.job-employment-page__trigger-btn');$targetElem.find('input[name*="job-detail-page-form-job-uid"]').val($triggerBtn.data('jobUid'));$targetElem.find('input[name*="job-detail-page-form-mail-subject"]').val($triggerBtn.data('mailSubject'))}());if(formId||$csrfInput.length)getCsrfToken(formId).done(function(token){setInputValues(token)});if(!cookieEnabled()){$targetElem.find('.content-form__fieldset').remove();$targetElem.find('.content-form__msg--cookies-disabled').removeClass('hidden')};(function(){var formValidationApi=$targetElem.data('contentForm').formValidationApi;if(!formValidationApi)return;var pendingRequest=false,formType=$targetElem.hasClass('content-form--product')?'product':'general';formValidationApi.off('form:submit');if($targetElem.hasClass('content-form--ajax')){formValidationApi.on('form:submit',function(){if(pendingRequest===true||$.isPlainObject(pendingRequest))return false;$targetElem.addClass(options.formRequestIsPendingClass);pendingRequest=$.ajax({type:'POST',dataType:'html',url:$targetElem.attr('action'),data:$targetElem.serialize(),success:function(response){if(_.isFunction(options.ajaxResponseFilter))response=options.ajaxResponseFilter.call($targetElem,response);var data=getTrackingData();trackingApi.gtmPush(data);$targetElem.replaceWith(response)},error:function(jqXhr,textStatus,errorThrown){$targetElem.replaceWith(textStatus+': '+errorThrown);console.error(textStatus,errorThrown)}}).always(function(){$targetElem.removeClass(options.formRequestIsPendingClass);pendingRequest=false});return false})}else formValidationApi.on('form:submit',function(){if(pendingRequest===true||$.isPlainObject(pendingRequest))return false;$targetElem.addClass(options.formRequestIsPendingClass);pendingRequest=true;var data=getTrackingData();trackingApi.gtmPush(data)})
function getFormTitleByPrevElements(){var $prevAllFiltered=$targetElem.prevAll('h1, h2, h3, h4, .content-text');if($prevAllFiltered.length){return $prevAllFiltered.not('.content-text').eq(0).text()}else return $prevAllFiltered.filter('.content-text').find('h1, h2, h3, h4').eq(0).text()}
function getTrackingData(){return{event:'formSubmit',formType:formType,title:$targetElem.data('title')||getFormTitleByPrevElements()||undefined,uid:$targetElem.data('uid'),contentId:$targetElem.data('cid'),roiId:roiId,truckName:$('.product-stage__text-box-headline--2').text()||undefined,truckCategory:$('.product-stage__text-box-headline--1').text()||undefined}}}());api={updateCsrfToken:function(){var req=csrfTokenRequests[formId];if(!req)return this;$.ajax({type:'GET',url:req.responseURL,cache:false,success:function(response){setInputValues(response)},error:function(jqXhr,textStatus,errorThrown){console.error(textStatus,errorThrown)}});return this}};$targetElem.data(NAMESPACE,api);return api
function setInputValues(value){if(!$csrfInput.length||$csrfInput.val()===value)return;$csrfInput.val(value);$csrfInput.trigger('change')}
function cookieEnabled(){var cookieEnabled=navigator.cookieEnabled;if(!cookieEnabled){document.cookie="test";cookieEnabled=document.cookie.indexOf("test")!==-1};return cookieEnabled}}
function getCsrfToken(formId){var promise=app.Deferred(),req=csrfTokenRequests[formId];if(req){if(req.response){promise.resolve(req.response)}else req.addEventListener('load',function(){promise.resolve(req.response)})}else{req=csrfTokenRequests[formId]=new XMLHttpRequest();req.open('GET','?eID=tx_mmpackage_create_csrf_token&formId='+formId+'&token=nb6e;KPFrEip1Z7Qus!TA',true);req.onload=function(){if(this.status>=200&&this.status<400){promise.resolve(req.response)}else console.error(this.response)};req.onerror=function(err){console.error(err)};req.send()};return promise}
function createRoiId(){var id=document.cookie.match(/fe_typo_user_roi=(.*?)(?:;|$)/);if(id){id=id[1]}else{id=countryCode.toUpperCase();id+='-';id+=Date.now();id+='-';id+=String.fromCharCode(getRandomInt(97,122));id+=String.fromCharCode(getRandomInt(97,122));id+=String.fromCharCode(getRandomInt(97,122))};var exdate=new Date();exdate.setDate(exdate.getDate()+3650);exdate="; expires="+exdate.toUTCString()+'; path=/; domain=.'+location.hostname.replace(/^.+\.still/,'still');document.cookie="fe_typo_user_roi="+id+exdate;return id}
function getRandomInt(min,max){return Math.floor(Math.random()*(max-min+1))+min}}(app));
(function(app){var NAMESPACE='contentSplashTeaser',defaults={autoStart:true,displayDelay:2e3},conf,$=app.$,teaserCounter=1;app.ready(function(){conf=_.defaults({},app.getConfig(NAMESPACE),defaults);if(!app.scrollHelper)throw'scrollHelper module missing';app.register(NAMESPACE,Module);if(conf.autoStart===true)$('.page-content .content-splash-teaser').each(function(){Module({targetElem:$(this)})})});var Module=function(options){options=_.extend({},conf,options);if($(options.targetElem).hasClass('content-splash-teaser--type-2')){return ContentSplashTeaserType2(options)}else return ContentSplashTeaser(options)},ApiProto=function(options){var api,$targetElem=$(options.targetElem);if(!$targetElem.length)return;var isEnabled=false,isVisible=false;$targetElem.addClass('content-splash-teaser--idx-'+teaserCounter);teaserCounter+=1;if(options.initEvents!==false){$(document).on('keydown.'+NAMESPACE,function(event){if(event.keyCode!==27||isVisible===false)return;api.hide()});$targetElem.on('click.'+NAMESPACE,function(event){var $evtTarget=$(event.target);if($evtTarget.hasClass('content-splash-teaser')){api.hide()}else if($evtTarget.hasClass('content-splash-teaser__disable-permanent-btn')||$evtTarget.closest('.content-splash-teaser__disable-permanent-btn').length){$targetElem.one('afterHide.'+NAMESPACE,function(){api.disable(true)});api.hide()}else if($evtTarget.hasClass('content-splash-teaser__disable-btn')||$evtTarget.closest('.content-splash-teaser__disable-btn').length){if(isVisible){$targetElem.one('afterHide.'+NAMESPACE,function(){api.disable()});api.hide()}else api.disable()}else if($evtTarget.hasClass('content-splash-teaser__toggle-btn')||$evtTarget.closest('.content-splash-teaser__toggle-btn').length)api.toggle()})};api={show:function(){var self=this;if(isEnabled===false)return this;if(isVisible===true)return this;$targetElem.on('transitionend.show.'+NAMESPACE+' webkitTransitionEnd.show.'+NAMESPACE,function(event){if(!$targetElem.is(event.target))return;$targetElem.trigger('afterShow.'+NAMESPACE,self);$targetElem.off('.show.'+NAMESPACE)});$targetElem.addClass('content-splash-teaser--visible');isVisible=true;$targetElem.trigger('show.'+NAMESPACE,this);return this},hide:function(){var self=this;if(isEnabled===false)return this;if(isVisible===false)return this;$targetElem.on('transitionend.hide.'+NAMESPACE+' webkitTransitionEnd.hide.'+NAMESPACE,function(event){if(!$targetElem.is(event.target))return;$targetElem.trigger('afterHide.'+NAMESPACE,self);$targetElem.off('.hide.'+NAMESPACE)});$targetElem.removeClass('content-splash-teaser--visible');isVisible=false;$targetElem.trigger('hide.'+NAMESPACE,this);return this},toggle:function(){if(isVisible===true){return this.hide()}else return this.show()},isVisible:function(){return isVisible},enable:function(force){if(isEnabled===true&&force!==true)return this;$targetElem.addClass('content-splash-teaser--enabled');isEnabled=true;$targetElem.trigger('enabled.'+NAMESPACE,this);return this},disable:function(force){if(isEnabled===false&&force!==true)return this;$targetElem.removeClass('content-splash-teaser--enabled');isEnabled=false;$targetElem.trigger('disabled.'+NAMESPACE,this);return this},isEnabled:function(){return isEnabled}};return api},ContentSplashTeaser=function(options){var $targetElem=$(options.targetElem),apiProto=ApiProto(options);if(!apiProto)return;var api=Object.create(apiProto),isEnabled=getIsEnabledState();app.on('scroll.scrollHelper',function(data){var scrollTreshold=app.scrollHelper.getDocumentScrollHeight()-window.innerHeight-100;$targetElem.toggleClass('content-splash-teaser--on-page-bottom',data.scrollY>=scrollTreshold)});_.extend(api,{enable:function(force,permanent){if(isEnabled===true&&force!==true)return this;$targetElem.addClass('content-splash-teaser--enabled');isEnabled=true;apiProto.enable();$targetElem.trigger('enabled.'+NAMESPACE,this);if(permanent===true)saveIsEnabledState();return this},disable:function(force,permanent){if(isEnabled===false&&force!==true)return this;$targetElem.removeClass('content-splash-teaser--enabled');isEnabled=false;apiProto.disable();$targetElem.trigger('disabled.'+NAMESPACE,this);if(permanent===true)saveIsEnabledState();return this},isEnabled:function(){return isEnabled}});if(isEnabled===true)setTimeout(function(){api.enable(true,true)},options.displayDelay);$targetElem.data(NAMESPACE,api);return api
function saveIsEnabledState(){var exdate=new Date();exdate.setDate(exdate.getDate()+30);exdate="; expires="+exdate.toUTCString()+'; path=/; domain=.'+location.hostname.replace(/(?:.+\.)?([a-z0-9\-]+\.[a-z]{2,})$/,'$1');document.cookie="mmKitContentSplashTeaserEnabled="+isEnabled+exdate}
function getIsEnabledState(){var isEnabledCookie=document.cookie.match(/mmKitContentSplashTeaserEnabled=(.*?)(?:;|$)/);if(isEnabledCookie)isEnabledCookie=isEnabledCookie[1];return isEnabledCookie===null||(isEnabledCookie!=='false'&&isEnabledCookie!==false)}},ContentSplashTeaserType2=function(options){var $targetElem=$(options.targetElem),apiProto=ApiProto(options);if(!apiProto)return;var api=Object.create(apiProto),contentElementUId=$targetElem.data('contentElementUidForTeaserActivation'),$contentElement=document.getElementById('c'+contentElementUId);if(!$contentElement)return
function scrollHandler(){var contentElementVPDistanceTop=$contentElement.getBoundingClientRect().top-window.innerHeight;if(contentElementVPDistanceTop<=0){api.enable();app.off('scroll.scrollHelper',scrollHandler)}};app.on('scroll.scrollHelper',scrollHandler);_.extend(api,{});$targetElem.data(NAMESPACE,api);return api}}(app));
(function(app){var NAMESPACE='contentSlideshow',defaults={selector:'.page-content .content-slideshow',autoStart:true,toggleNoDotNavClass:true,defaultSlickSettings:{autoplay:false,autoplaySpeed:3e3,speed:350,infinite:false,swipe:(function(){return!!Modernizr.touchevents}()),fade:false,dots:true,dotsClass:'content-slideshow__dot-nav',slidesToShow:1,slidesToScroll:1,arrows:true,prevArrow:'<button type="button" class="content-slideshow__arrow content-slideshow__arrow-prev" tabindex="-1"><svg class="svg-icon svg-icon--arrow"><use xlink:href="#kit--arrow"></use></svg>Prev</button>',nextArrow:'<button type="button" class="content-slideshow__arrow content-slideshow__arrow-next" tabindex="-1"><svg class="svg-icon svg-icon--arrow"><use xlink:href="#kit--arrow"></use></svg>Next</button>',mobileFirst:true,customPaging:function(api,i){return'<span class="content-slideshow__dot-nav-btn" data-role="none">'+i+'</span>'}},slickSettingsByType:{type1:{fade:true,responsive:[{breakpoint:767,settings:{arrows:false}}]},type2:{}}},conf,$=app.$,lazyElements,viewportIsMobile;app.ready(function(){conf=_.defaults({},app.getConfig(NAMESPACE),defaults);if(!Modernizr)throw'Modernizr missing';if(!$.fn.slick)throw'jQuery slick slider missing';lazyElements=window.lazyElements||_.noop;app.register(NAMESPACE,Module);app.on('breakpointDebounced.viewportHelper',breakpointHandler);breakpointHandler();if(conf.autoStart===true)$(conf.selector).each(function(){Module({targetElem:$(this)})})
function breakpointHandler(){viewportIsMobile=(app.viewportHelper.getViewportState().width<768)}});var Module=function(options){options=_.extend({},conf,options);return ContentSlideshow(options)},ContentSlideshow=function(options){var api,$targetElem=$(options.targetElem);if(!$targetElem.length)return;if(options.toggleNoDotNavClass===true)$targetElem.on('breakpoint init',function(event,slickApi,breakpoint){$targetElem.toggleClass('content-slideshow--no-dot-nav',slickApi.$dots.children().length<=1)});$targetElem.on('init afterChange',function(event,slickApi){lazyElements($targetElem.find('.content-teaser-2__target-img-wrap--lazy, .content-category-teaser__img-wrap--lazy').not('.lazy-element--rendered'));$targetElem.find('.content-slideshow__dot-nav').toggleClass('content-slideshow__dot-nav--show-indication',slickApi.slideCount>9&&viewportIsMobile).attr('data-total-slides',slickApi.slideCount).attr('data-current-slide-number',slickApi.currentSlide+1)});if($targetElem.hasClass('content-slideshow--type-1')){$targetElem.slick(_.extend({},options.defaultSlickSettings,options.slickSettingsByType.type1))}else if($targetElem.hasClass('content-slideshow--type-2')||$targetElem.hasClass('content-slideshow--type-3')){$targetElem.slick(_.extend({},options.defaultSlickSettings,{responsive:[{breakpoint:767,settings:{slidesToShow:$targetElem.data('numberOfSlidesInViewportTablet')||1}},{breakpoint:1199,settings:{slidesToShow:$targetElem.data('numberOfSlidesInViewportDesktop')||1}}]}))}else $targetElem.slick(options.defaultSlickSettings);api={};return api}}(app));
(function(app){var NAMESPACE='contentSlideshowTracking',$=app.$,$body,trackingApi;app.ready(function(){if(!app.tracking)return;$body=$('body');trackingApi=app.tracking;var oldSlideIdx=0;$body.on('swipe','.content-slideshow',function(event,slick,direction){direction=direction==='right'?'left':'right';oldSlideIdx=slick.currentSlide;trackingApi.gtmPush({event:'sliderSwipe',direction:direction,slideWidth:slick.slideWidth})});$body.on('click','.content-slideshow .slick-arrow, .content-slideshow .slick-dots li',function(event){var $elem=$(this),slick=$elem.closest('.content-slideshow').slick('getSlick'),gtmData={slideWidth:slick.slideWidth};if($elem.hasClass('slick-arrow')){gtmData.direction=$elem.hasClass('slick-next')?'right':'left';gtmData.event='sliderNavigation';oldSlideIdx=slick.currentSlide}else{gtmData.direction=slick.currentSlide>oldSlideIdx?'right':'left';gtmData.event='sliderDotNavigation';oldSlideIdx=slick.currentSlide};trackingApi.gtmPush(gtmData)})})}(app));
/**
 * Content stage slider
 * Collection
 * @see https://teamnet.mellowmessage.de/pages/viewpage.action?pageId=61094030
 */
(function( app ) {
    /**
     * Module Namespace
     * Use to register module and events.
     */
    var NAMESPACE = 'contentStageSlideshow';

    /**
     * Default configuration
     * Required configuration to ensure minimal functionality.
     *
     * @property {string} selector - selector string
     * @property {object|string} all settings after selector - slick plugin default settings, @see http://kenwheeler.github.io/slick/#settings
     */
    var defaults = {
        selector: '.page-content .content-stage-slideshow',
        autoStart: true,
        resizeHandler: function( event, api ) {
            var dotNavTop = '';
            var topValue = '';

            if ( app.viewportHelper.getViewportState().width < 768 ) {
                var slideImgOrVideoWrapHeight = api.$slides.eq(api.currentSlide).find('.content-stage-slideshow__slide-img-wrap, .content-stage-slideshow__slide-video-wrap').outerHeight();
                topValue = slideImgOrVideoWrapHeight / 2;
                dotNavTop = slideImgOrVideoWrapHeight - 30;
            }

            api.$dots.css('top', dotNavTop);
            api.$prevArrow.css('top', topValue);
            api.$nextArrow.css('top', topValue);
        },
        hideVideosBelow: 768,
        stopAutoplayAfterClickInteraction: true,

        // slider settings
        autoplay: (function() {
            return !Modernizr.touchevents;
        }()),
        autoplaySpeed: 4000,
        speed: 350,
        swipe: (function() {
            return !!Modernizr.touchevents;
        }()),
        fade: true,
        dots: true,
        pauseOnHover: true,
        pauseOnFocus: false,
        pauseOnDotsHover: true,
        waitForAnimate: false,
        dotsClass: 'content-stage-slideshow__dot-nav',
        slidesToShow: 1,
        slidesToScroll: 1,
        arrows: true,
        prevArrow: '<button type="button" class="content-stage-slideshow__arrow content-stage-slideshow__arrow-prev" tabindex="-1"><svg class="svg-icon svg-icon--arrow"><use xlink:href="#kit--arrow"></use></svg>Prev</button>',
        nextArrow: '<button type="button" class="content-stage-slideshow__arrow content-stage-slideshow__arrow-next" tabindex="-1"><svg class="svg-icon svg-icon--arrow"><use xlink:href="#kit--arrow"></use></svg>Next</button>',
        mobileFirst: true,
        customPaging: function( api, i ) {
            return '<button type="button" class="content-stage-slideshow__dot-nav-btn" data-role="none" role="button" tabindex="0">' + i + '</button>';
        },
        adaptiveHeight: true
    };

    /**
     * Private variables/state
     * Variables not to be exposed, nor inherited or modified.
     * e.g. shortcuts to dependencies or variables to spare memory.
     */
    var conf;
    var $ = app.$;

    // Module startup
    // The DOM is ready to be manipulated
    app.ready(function() {
        // apply custom config if present
        conf = _.defaults({}, app.getConfig(NAMESPACE), defaults);

        // set private variables and check dependencies
        if ( !Modernizr ) throw 'Modernizr missing';
        if ( !$.fn.slick ) throw 'jQuery slick slider plugin missing';
        if ( !app.viewportHelper ) throw 'viewportHelper module missing';
        if ( !window.lazyElements ) throw 'lazyElements plugin missing';

        // Register Module
        app.register(NAMESPACE, Module);

        // Auto-initialize collection
        if ( conf.autoStart === true ) {
            $(conf.selector).each(function() {
                Module({
                    targetElem: $(this)
                });
            });
        }
    });

    /**
     * Module api
     * Return new instances of a prototype or plain functionality.
     * Depending on options supplied you may choose what object/functionality to run/return.
     */
    var Module = function( options ) {
        options = _.extend({}, conf, options);

        return ContentStageSlideshow(options);
    };

    var ContentStageSlideshow = function( options ) {
        var api;
        var $targetElem = $(options.targetElem);
        var lastVideo;
        var videosVisible;
        if ( !$targetElem.length ) return;

        options = _.defaults({}, options, {
            videosHiddenClass: 'content-stage-slideshow--videos-hidden'
        });

        if ( _.isFunction(options.resizeHandler) ) {
            $targetElem.on('setPosition.' + NAMESPACE, options.resizeHandler);
        }

        app.on('breakpointDebounced.viewportHelper', breakpointHandler);
        breakpointHandler();

        $targetElem.on('init afterChange', function( event, slickApi ) {
            var currentSlideIdx = slickApi.currentSlide;
            // always use previous and next slide as they will be ignored if lazy-loaded already
            var $targetSlides = getNeighborSlidesByCurrentIdx(currentSlideIdx, slickApi.$slides);
            if ( event.type === 'init' ) {
                // preload initial slide
                $targetSlides = $targetSlides.add(slickApi.$slides.eq(currentSlideIdx));
            }
            preloadImageOfSlides($targetSlides);

            var currentSlideVideo = slickApi.$slides.eq(currentSlideIdx).find('.content-stage-slideshow__slide-video')[0];
            if ( currentSlideVideo ) {
                if ( lastVideo ) {
                    lastVideo.pause();
                }
                // save and play video in the current slide
                lastVideo = currentSlideVideo;
                if ( videosVisible ) {
                    var promise = lastVideo.play();
                    if ( promise !== undefined ) {
                        // catch exception to avoid console error message
                        promise.catch(_.noop);
                    }
                }
            } else {
                if ( lastVideo ) {
                    lastVideo.pause();
                    lastVideo = null;
                }
            }
        });
        $targetElem.slick(options);

        if ( options.autoplay === true && options.stopAutoplayAfterClickInteraction === true ) {
            $targetElem.one('click', function( event ) {
                $targetElem.slick('slickPause');
                $targetElem.slick('slickSetOption', 'autoplay', false);
            });
        }

        api = {
            // No methods yet
        };

        // expose API to public
        //$targetElem.data(NAMESPACE, api);

        return api;

        function getNeighborSlidesByCurrentIdx( currentIdx, $slides ) {
            var slideCount = $slides.length;
            var previousSlideIdx = currentIdx === 0 ? slideCount - 1 : currentIdx - 1;
            var nextSlideIdx = currentIdx === slideCount - 1 ? 0 : currentIdx + 1;
            return $slides.eq(previousSlideIdx).add($slides.eq(nextSlideIdx));
        }

        function preloadImageOfSlides( $slides ) {
            if ( !$slides.length ) return;
            $slides = $slides.find('.content-stage-slideshow__slide-img-wrap--lazy')
            // exclude already rendered slides
                .not('.lazy-element--rendered');
            lazyElements($slides.toArray(), true);
        }

        function breakpointHandler() {
            videosVisible = app.viewportHelper.getViewportState().width >= options.hideVideosBelow;

            $targetElem.toggleClass(options.videosHiddenClass, !videosVisible);
            if ( lastVideo ) {
                if ( videosVisible ) {
                    var promise = lastVideo.play();
                    if ( promise !== undefined ) {
                        // catch exception to avoid console error message
                        promise.catch(_.noop);
                    }
                } else {
                    lastVideo.pause();
                }
            }
        }
    };

}(app));
(function(app){var NAMESPACE='contentNavigation',defaults={autoStart:true,fixationThresholdShift:function(params){return-params.pageHeaderShift},targetScrollPositionShift:function(params){var contentNavigationHeight=params.$el.offsetHeight,shift=contentNavigationHeight;shift+=params.pageHeaderShift;shift+=10;return-shift},breakpoints:{isMobileBelow:768}},conf,$=app.$,viewportIsMobile,topEdgeAboveViewportTop=null,topEdgeAboveEndThreshold=null,$pageHeader,pageHeaderIsFixed=null,pageHeaderIsExpanded=null,targetIdCounter=0;app.ready(function(){conf=_.defaults({},app.getConfig(NAMESPACE),defaults);if(!app.scrollHelper)throw'scrollHelper module missing';if(!app.viewportHelper)throw'viewportHelper module missing';if(!requestAnimationFrame)throw'requestAnimationFrame not supported';if(app.pageHeader&&typeof app.pageHeader.isFixed==='function'&&typeof app.pageHeader.isExpanded==='function'){$pageHeader=document.querySelector('.page-header');pageHeaderIsFixed=app.pageHeader.isFixed();pageHeaderIsExpanded=app.pageHeader.isExpanded()};app.register(NAMESPACE,Module);app.on('breakpointDebounced.viewportHelper',breakpointHandler);breakpointHandler();if(conf.autoStart===true)document.querySelectorAll('.page-content .content-navigation').forEach(function($el){Module({$el:$el})})
function breakpointHandler(){viewportIsMobile=(app.viewportHelper.getViewportState().width<conf.breakpoints.isMobileBelow)}});var Module=function(options){options=_.extend({},conf,options);if(options.$el instanceof HTMLElement===false)throw'No root HTML element supplied';return Navigation(options)},ApiProto=function(options){var api;api={};return api},Navigation=function(options){var apiProto=ApiProto(options);if(!apiProto)return;var api=Object.create(apiProto),$el=options.$el,$elInner=$el.querySelector('.content-navigation__inner');(function(){requestAnimationFrame(function(){$el.style.height=$elInner.offsetHeight+'px';$el.classList.add('content-navigation--ready');app.on('breakpoint.viewportHelper',function(){$el.style.height=$elInner.offsetHeight+'px'})});var $elementsToBePrepended=$('.content-divider--type-2 .content-divider__text, .content-divider--type-4 .content-divider__text, .content-anchor--include-in-content-navigation'),$dividerHeadlines=$elementsToBePrepended.filter('.content-divider--type-2 .content-divider__text, .content-divider--type-4 .content-divider__text');$dividerHeadlines.not('[id]').attr('id',function(){return uniqueTargetId()});$($el).find('.content-navigation__list').prepend(function(){$elementsToBePrepended=$elementsToBePrepended.not(function(){if(!$(this).hasClass('content-divider__text'))return false;return $(this).closest('.content-divider').data('is-contact-section')===true});return _.reduce($elementsToBePrepended,function(memo,element,idx){var $element=$(element),headlineText;if($element.hasClass('content-divider__text')){headlineText=$element.data('short-text')||$element.text()}else headlineText=$element.data('title');return memo+createListItemAnchor('#'+$element.attr('id'),headlineText)},'')});var $dividerHeadlineWithContactSection=$dividerHeadlines.filter(function(){return $(this).closest('.content-divider').data('is-contact-section')===true}).eq(0);if($dividerHeadlineWithContactSection.length)$($el).find('.content-navigation__trigger-wrap').removeAttr('hidden').children().each(function(idx,link){var label=$dividerHeadlineWithContactSection.data('shortText');link.href='#'+$dividerHeadlineWithContactSection.attr('id');if(label)link.innerText=label})}());var $linksWithAnchor=$el.querySelectorAll('.content-navigation__link--anchor'),anchors=Array.from($linksWithAnchor).map(function($item){return document.getElementById($item.hash.slice(1))});anchors=_.compact(anchors);var $endAnchor=document.getElementById($el.dataset.endThresholdId),isInPreparationState=false,getPageHeaderShift=(function(){if(_.isFunction(options.pageHeaderShift)){return function(){return options.pageHeaderShift.call(api,{$el:$el})}}else return function(){return app.pageHeader.getVisibleHeight()}}()),getTargetScrollPosition=(function(){if(_.isFunction(options.targetScrollPositionShift)){return function($anchorElement,$link){var position=$anchorElement.getBoundingClientRect().top+window.pageYOffset;position+=options.targetScrollPositionShift.call(api,{$el:$el,$link:$link,$anchorElement:$anchorElement,pageHeaderShift:getPageHeaderShift()});return position}}else if(!isNaN(parseFloat(options.targetScrollPositionShift)))return function($anchorElement){var position=$anchorElement.getBoundingClientRect().top+window.pageYOffset;position+=parseFloat(options.targetScrollPositionShift);return position}}()),getFixationThreshold=(function(){if(_.isFunction(options.fixationThresholdShift)){return function(){var elOffsetTop=$el.getBoundingClientRect().top+window.pageYOffset;elOffsetTop+=options.fixationThresholdShift.call(api,{$el:$el,pageHeaderShift:getPageHeaderShift()});return elOffsetTop}}else if(!isNaN(parseFloat(options.fixationThresholdShift)))return function(){var contentNavigationOffsetTop=$el.getBoundingClientRect().top+window.pageYOffset;contentNavigationOffsetTop+=parseFloat(options.fixationThresholdShift);return contentNavigationOffsetTop}}()),getFixationEndThreshold=function(){if(!$endAnchor)return Infinity;var position=$endAnchor.getBoundingClientRect().top+window.pageYOffset;return position};if(options.$el.dataset&&options.$el.dataset.fixate==='true')app.on('scroll.scrollHelper',function(data){scrollHandler(data.scrollY)});if(app.pageHeader&&typeof app.pageHeader.isFixed==='function'&&typeof app.pageHeader.isExpanded==='function')app.on('fixed.pageHeader unfixed.pageHeader collapsed.pageHeader expanded.pageHeader',function(){pageHeaderIsFixed=app.pageHeader.isFixed();pageHeaderIsExpanded=app.pageHeader.isExpanded();updateDOMState()});$el.addEventListener('click',function(event){var $link=event.target.closest('.content-navigation__link, .content-navigation__trigger-btn');if(!$link)return;var hash=$link.hash,$anchorTarget,targetScrollPosition,scrollDebouncedHandler;if(hash.slice(0,1)==='#'){event.preventDefault();$anchorTarget=document.getElementById(hash.slice(1));if(!$anchorTarget){console.info('No anchor element found for "'+hash+'"');return};targetScrollPosition=getTargetScrollPosition($anchorTarget,$link);if(app.pageHeader){scrollDebouncedHandler=_.debounce(function(){app.pageHeader.enableScrollEventObservation();window.removeEventListener('scroll',scrollDebouncedHandler,true)},100);window.addEventListener('scroll',scrollDebouncedHandler,true);app.pageHeader.disableScrollEventObservation()};window.scrollTo(0,targetScrollPosition)}});requestAnimationFrame(function(){setTimeout(function(){updateDOMState();scrollHandler(window.pageYOffset)},100)});_.extend(api,{});return api
function scrollHandler(scrollTop){if(viewportIsMobile)return;var fixationThreshold=getFixationThreshold(),fixationEndThreshold=getFixationEndThreshold();topEdgeAboveViewportTop=scrollTop>=fixationThreshold;topEdgeAboveEndThreshold=scrollTop>=fixationEndThreshold;if(!isInPreparationState&&!topEdgeAboveViewportTop){$el.classList.add('content-navigation--preparing-fixed');isInPreparationState=true};updateDOMState();if(isInPreparationState&&topEdgeAboveViewportTop){$el.clientHeight;$el.classList.remove('content-navigation--preparing-fixed');isInPreparationState=false};listItemActiveStateHandler(scrollTop)}
function listItemActiveStateHandler(scrollTop){var anchorOffsetTops=_.map(anchors,function($anchor,idx){return getTargetScrollPosition($anchor,$linksWithAnchor[idx])-1}),targetItemIdx=_.sortedIndex(anchorOffsetTops,scrollTop)-1;_.without($linksWithAnchor,$linksWithAnchor[targetItemIdx]).forEach(function($item){$item.parentElement.classList.remove('content-navigation__list-item--active')});if(targetItemIdx>-1)$linksWithAnchor[targetItemIdx].parentElement.classList.add('content-navigation__list-item--active')}
function updateDOMState(){if(topEdgeAboveViewportTop){$el.classList.add('content-navigation--fixed');$el.classList.remove('content-navigation--unfixed')}else{$el.classList.remove('content-navigation--fixed');$el.classList.add('content-navigation--unfixed')};if(topEdgeAboveEndThreshold){$el.classList.add('content-navigation--after-end-threshold')}else $el.classList.remove('content-navigation--after-end-threshold');if(pageHeaderIsFixed){$el.classList.add('content-navigation--page-header-fixed');$el.classList.remove('content-navigation--page-header-unfixed')}else{$el.classList.remove('content-navigation--page-header-fixed');$el.classList.add('content-navigation--page-header-unfixed')};if(pageHeaderIsExpanded){$el.classList.add('content-navigation--page-header-expanded');$el.classList.remove('content-navigation--page-header-collapsed')}else{$el.classList.remove('content-navigation--page-header-expanded');$el.classList.add('content-navigation--page-header-collapsed')}}
function createListItemAnchor(href,text){var listItem='<li class="content-navigation__list-item">';listItem+='<a href="'+href+'" class="content-navigation__link content-navigation__link--anchor"><span class="content-navigation__link-inner">'+text+'</span></a>';listItem+='</li>';return listItem}
function uniqueTargetId(){targetIdCounter+=1;return'content-navigation-target-'+targetIdCounter}}}(app));
(function(app){var NAMESPACE='fullPageIframe',defaults={selector:'.full-page-iframe'},conf,$=app.$,$iFrame,mobileSrc,desktopSrc;app.ready(function(){conf=_.defaults({},app.getConfig(NAMESPACE),defaults);$iFrame=$(conf.selector);mobileSrc=$iFrame.data('mobile-src')||'';desktopSrc=$iFrame.data('desktop-src')||'';if(!mobileSrc||!desktopSrc)return;if(!app.viewportHelper)return;app.on('breakpointDebounced.viewportHelper',function(data){Module.setSrcByWidth(data.width)});Module.setSrcByWidth(app.viewportHelper.getViewportState().width);app.register(NAMESPACE,Module)});var Module={setSrcByWidth:function(width){if(isNaN(width))throw'width must be number (given: '+width+')';if(width>=768){this.switchSrcTo(desktopSrc)}else this.switchSrcTo(mobileSrc);return this},switchSrcTo:function(src){$iFrame.attr('src',src);return this}}}(app));
(function(app){var NAMESPACE='rentalPageIframe',defaults={selector:'.rental-page-iframe'},conf,$=app.$;app.ready(function(){conf=_.defaults({},app.getConfig(NAMESPACE),defaults);var $iFrame=$(conf.selector),src=$iFrame.data('src');if(!$iFrame.length||!src)return;var deeplink='?tx_stillrental_pi1[deeplink]=1',hash=window.location.hash,catId=hash.match(/catId:([0-9]+)/)||[],productId=hash.match(/productId:([0-9]+)/)||[];catId=catId[1];productId=productId[1];if(catId===null||catId===undefined||productId===null||productId===undefined){$iFrame.attr('src',src)}else{deeplink+='&tx_stillrental_pi1[category]='+catId;deeplink+='&tx_stillrental_pi1[product]='+productId;$iFrame.attr('src',src+deeplink)}})}(app));
(function(app){var NAMESPACE='contentIframe',defaults={selector:'.content-iframe',autoStart:true},conf,$=app.$;app.ready(function(){conf=_.defaults({},app.getConfig(NAMESPACE),defaults);if(!$.fn.iFrameResize)throw'jQuery iFrameResize plugin missing';app.register(NAMESPACE,Module);if(conf.autoStart===true)$(conf.selector).each(function(){Module({targetElem:$(this)})})});var Module=function(options){options=_.extend({},conf,options);if($(options.targetElem).hasClass('content-iframe--kursguiden')){return ContentIframeKursguidenNO(options)}else return ContentIframe(options)},ContentIframe=function(options){var $targetElem=$(options.targetElem);if(!$targetElem.length)return;$targetElem.on('load',function(){$targetElem.iFrameResize({log:true,heightCalculationMethod:$targetElem.data('heightCalculationMethod')||'bodyOffset'})});return{}},ContentIframeKursguidenNO=function(options){var $targetElem=$(options.targetElem);if(!$targetElem.length)return;window.addEventListener('message',function(event){if(event.origin!=="https://www.kursguiden.no")return;var data=event.data;if(data.type==='resize'&&data.height>0)$targetElem.css('height',data.height)},false);return{}}}(app));
(function(app){var NAMESPACE='jobSearch.Models.FilterForm',defaults={},$=app.$,mediator,predefinedAttributes={},integerKeys=['categoryUid'],floatKeys=[],stringKeys=['jobType','jobTitle','branch','placeOfWork'],numberArrayKeys=[],stringArrayKeys=[],booleanKeys=[],api=Backbone.Model.extend({defaults:{jobType:null,jobTitle:null,categoryUid:null,branch:null,placeOfWork:null},sync:function(method,model,options){},initialize:function(attrs,options){this.conf=_.extend({},defaults,options);mediator=this.conf.mediator;predefinedAttributes=this.conf.predefinedAttributes;predefinedAttributes=_.pick(predefinedAttributes,Object.keys(this.defaults));predefinedAttributes=sanitizePrimitiveAttributes(predefinedAttributes,true);predefinedAttributes=sanitizeAttributesToConform(predefinedAttributes,false);_.extend(this.defaults,predefinedAttributes);var self=this;mediator.on('requestSearchFiltersChange',function(data){data.success=_.isFunction(data.success)?data.success:_.noop;if(data.reset===true)data.filters=_.clone(this.defaults);data.filters=this.cleanupAttributes(data.filters,{reportErrors:false});this.save(data.filters);data.success()},this);this.on('change reset',function(model,options){var filterData=self.getFilterData();mediator.trigger('searchFiltersChange',{filters:filterData,equalDefaults:_.isEqual(_.omit(self.defaults,'id'),filterData)})},this);mediator.on('appReady',function(){this.save(predefinedAttributes,{silent:true});this.trigger('reset')},this)},getFilterData:function(targetKey){var targetValue;if(targetKey!==undefined){targetValue=this.get(targetKey);if($.isPlainObject(targetValue)){return app.deepCopy(targetValue)}else return targetValue}else return app.deepCopy(_.omit(this.toJSON(),'id'))},cleanupAttributes:function(attributes,options){var filterWhitelist=Object.keys(this.defaults),filterWhitelistDiff=_.difference(Object.keys(attributes),filterWhitelist);if(options.reportErrors===true&&filterWhitelistDiff.length)console.info('keys not on whitelist; '+filterWhitelistDiff.join(', '));attributes=_.pick(attributes,filterWhitelist);attributes=sanitizePrimitiveAttributes(attributes,true);attributes=sanitizeAttributesToConform(attributes,options.reportErrors);return attributes}})
function sanitizePrimitiveAttributes(attributes,skipNull){attributes=app.deepCopy(attributes);return _.mapObject(attributes,function(value,key){if(skipNull===true&&value===null)return value;if(integerKeys.indexOf(key)!==-1)return parseInt(value);if(floatKeys.indexOf(key)!==-1)return parseFloat(value);if(stringKeys.indexOf(key)!==-1)return value.toString();if(numberArrayKeys.indexOf(key)!==-1)return _.map(value,function(value){return parseInt(value)});if(stringArrayKeys.indexOf(key)!==-1)return _.map(value,function(value){return value.toString()});if(booleanKeys.indexOf(key)!==-1){value=value==='true'?true:value;value=value==='false'?false:value;value=value===1?true:value;value=value===0?false:value};return value})}
function sanitizeAttributesToConform(attributes,reportErrors){attributes=app.deepCopy(attributes);return _.mapObject(attributes,function(value,key){if(value===null)return value;var tmpObj={};tmpObj[key]=value;var attributesAreValidResult=attributesAreValid(tmpObj);if(attributesAreValidResult!==true){if(reportErrors===true)console.info(attributesAreValidResult[1]);return null};if(stringKeys.indexOf(key)!==-1&&value===''){return null}else if(numberArrayKeys.indexOf(key)!==-1&&!value.length){return null}else if(stringArrayKeys.indexOf(key)!==-1&&!value.length)return null;return value})}
function attributesAreValid(attributes){var errMsg,areValid=_.every(attributes,function(value,key,list){if(integerKeys.indexOf(key)!==-1&&isNaN(value)){errMsg=[key,key+' given, but not a number (uid: '+list.uid+')']}else if(floatKeys.indexOf(key)!==-1&&isNaN(value)){errMsg=[key,key+' given, but not a number (uid: '+list.uid+')']}else if(stringKeys.indexOf(key)!==-1&&!_.isString(value)){errMsg=[key,key+' given, but not a string (uid: '+list.uid+')']}else if(numberArrayKeys.indexOf(key)!==-1){if(!_.isArray(value)){errMsg=[key,key+' given, but not an array (uid: '+list.uid+')']}else _.every(value,function(valueArr,keyArr){if(isNaN(valueArr))errMsg=[key,key+' given, but item '+keyArr+' is not a number (uid: '+list.uid+')'];return errMsg===undefined})}else if(stringArrayKeys.indexOf(key)!==-1&&!_.isArray(value)){if(!_.isArray(value)){errMsg=[key,key+' given, but not an array (uid: '+list.uid+')']}else _.every(value,function(valueArr,keyArr){if(!_.isString(valueArr))errMsg=[key,key+' given, but item '+keyArr+' is not a number (uid: '+list.uid+')'];return errMsg===undefined})}else if(booleanKeys.indexOf(key)!==-1&&!_.isBoolean(value))errMsg=[key,key+' given, but not a boolean (uid: '+list.uid+')'];return errMsg===undefined});return areValid===true?true:errMsg};app.register(NAMESPACE,api)}(app));
(function(app){var NAMESPACE='jobSearch.Views.SearchResults',defaults={},$=app.$,mediator,items,searchResultsItemTpl,$noResultsInfo,$resultItemModal,$resultItemForm,$resultItemFormFragment,currentFilters={},api=Backbone.View.extend({el:'.job-search__results',events:{'click .job-search__result-item-modal-btn':function(event){var $resultItem=$(event.target).closest('.job-search__result-item');prepareModal({jobTitle:$resultItem.find('.job-search__result-item-job-title').text(),jobLink:$resultItem.find('.job-search__result-item-detail-link').attr('href')});$.flexModal.open('#job-search-modal-result-item-form')}},initialize:function(options){this.conf=_.extend({},defaults,options);mediator=this.conf.mediator;searchResultsItemTpl=this.conf.template;if(!searchResultsItemTpl)return this;items=this.conf.data.items;$noResultsInfo=this.$el.next('.job-search__no-results-info');$resultItemForm=$('.job-search-form--result-item');if($resultItemForm.length){var $formFragmentSourceCsrfInput=$resultItemForm.find('.csrf-input');if($formFragmentSourceCsrfInput.val()===''){$formFragmentSourceCsrfInput.one('change',prepareFormFragmentSource)}else prepareFormFragmentSource();$.flexModal.add('#job-search-modal-result-item-form',function(api){$resultItemModal=$(this)});this.$el.addClass('job-search__results--has-form')};mediator.on('searchFiltersChange',function(data){currentFilters=data.filters||{};this.render()},this);this.render();return this
function prepareFormFragmentSource(){$resultItemFormFragment=$resultItemForm.clone();$resultItemForm.remove();$resultItemFormFragment.removeClass('hidden');$resultItemFormFragment.removeAttr('novalidate')}},render:function(){var jobTitleFilterRegExp,resultsList=_.where(items,_.omit(currentFilters,function(value,key){return _.isNull(value)||key==='jobTitle'}));if(currentFilters.jobTitle){jobTitleFilterRegExp=RegExp(currentFilters.jobTitle);resultsList=_.filter(resultsList,function(result){return jobTitleFilterRegExp.test(result.jobTitle)===true})};if(resultsList.length){var htmlStr=_.reduce(resultsList,function(memo,item){return memo+searchResultsItemTpl(item)},'',this);$noResultsInfo.addClass('hidden');this.$el.html(htmlStr)}else{this.$el.html('');$noResultsInfo.removeClass('hidden')};return this}})
function prepareModal(params){var $newForm=$resultItemFormFragment.clone();$newForm.find('input[name*="job-search-form-job-title"]').val(params.jobTitle||'');$newForm.find('input[name*="job-search-form-job-link"]').val(params.jobLink||'');$resultItemModal.find('.job-search-modal__intro').html(params.jobTitle||'');$resultItemModal.find('.job-search-modal-result-item-form-wrap').html($newForm);app.contentForm({targetElem:$newForm});app.contentFormCustom({targetElem:$newForm});$newForm.data('contentFormCustom').updateCsrfToken()};app.register(NAMESPACE,api)}(app));
(function(app){var NAMESPACE='jobSearch.Views.FilterForm',defaults={},$=app.$,mediator,data,$filterFormTextInputsAndSelects,currentFilters={},api=Backbone.View.extend({el:'.job-search__filter-form',events:{submit:function(event){event.preventDefault()},input:function(event){if(data&&data.triggeredInRenderForm===true)return;var $eventTarget=$(event.target),eventTargetName=$eventTarget.attr('name'),eventTargetValue=$eventTarget.val(),filters={};if(!eventTargetName)return;if($eventTarget.is('[type="checkbox"]'))eventTargetValue=$eventTarget.is(':checked')?eventTargetValue:null;filters[eventTargetName]=eventTargetValue;mediator.trigger('requestSearchFiltersChange',{filters:filters})}},initialize:function(options){this.conf=_.extend({},defaults,options);var $jobTypeSelect=this.$el.find('#job-search-filter-form__job-type'),$categorySelect=this.$el.find('#job-search-filter-form__category'),$branchSelect=this.$el.find('#job-search-filter-form__branch'),$placeOfWorkSelect=this.$el.find('#job-search-filter-form__place-of-work');mediator=this.conf.mediator;$filterFormTextInputsAndSelects=this.$el.find('.job-search-filter-form__field-text-input, .job-search-filter-form__field-select');data={jobTypes:this.conf.data.jobTypes,jobTypeLabels:this.conf.data.jobTypeLabels,categories:this.conf.data.categories,branches:this.conf.data.branches,placesOfWork:this.conf.data.placesOfWork};data.jobTypes=_.sortBy(data.jobTypes);data.categories=_.sortBy(data.categories,'name');data.branches=_.sortBy(data.branches);data.placesOfWork=_.sortBy(data.placesOfWork);if($jobTypeSelect.length)$jobTypeSelect.append(_.reduce(data.jobTypeLabels,function(memo,item,key){return memo+'<option value="'+key+'">'+item+'</option>'},''));if($categorySelect.length)$categorySelect.append(_.reduce(data.categories,function(memo,item,idx){return memo+'<option value="'+item.uid+'">'+item.name+'</option>'},''));if($branchSelect.length)$branchSelect.append(_.reduce(data.branches,function(memo,item,idx){return memo+'<option value="'+item+'">'+item+'</option>'},''));if($placeOfWorkSelect.length)$placeOfWorkSelect.append(_.reduce(data.placesOfWork,function(memo,item,idx){if(item||item.length){return memo+'<option value="'+item+'">'+item+'</option>'}else return memo},''));mediator.on('searchFiltersChange',function(data){currentFilters=data.filters||{};this.renderForm()},this);return this},renderForm:function(){$filterFormTextInputsAndSelects.each(function(){var $input=$(this),inputName=$input.attr('name'),currentVal=sanitizeUserInput($input.val()),filterVal=currentFilters[this.name];if(currentVal===filterVal)return;$input.val(filterVal).trigger('input',{triggeredInRenderForm:true}).trigger('change',{triggeredInRenderForm:true})});return this}})
function sanitizeUserInput(value){if(value===''||value===undefined)return null;if(value==='true')return true;if(value==='false')return false;if(!isNaN(parseInt(value)))return parseInt(value);return value};app.register(NAMESPACE,api)}(app));
(function(app){var NAMESPACE='jobSearch.Views.JobTickerForm',defaults={},$=app.$,mediator,$rangeInput,$rangeOutput,api=Backbone.View.extend({el:'.job-search-job-ticker-form',initialize:function(options){this.conf=_.extend({},defaults,options);mediator=this.conf.mediator;$rangeInput=this.$el.find('input[type="range"]');if(!$rangeInput.length)return this;$rangeOutput=$rangeInput.closest('.content-form__field').find('.content-form__field-inner-range-output');$rangeInput.attr('min','10');$rangeInput.attr('max','110');$rangeInput.attr('step','10');$rangeInput.val(10);$rangeInput.rangeslider({polyfill:false,onInit:function(){setOutputValue($rangeInput.val());$rangeInput.next('.rangeslider').find('.rangeslider__handle').append('<span class="rangeslider__handle-inner">')},onSlide:function(position,value){setOutputValue(value)}})
function setOutputValue(value){value=value>100?'> 100 km':value+' km';$rangeOutput.html(value)};return this}});app.register(NAMESPACE,api)}(app));
(function(app){var NAMESPACE='jobSearch.Routers.Main',defaults={},$=app.$,mediator,api=Backbone.Router.extend({routes:{'jobType=:value':function(value){mediator.trigger('requestSearchFiltersChange',{filters:{jobType:value}})},'jobTitle=*path':function(value){mediator.trigger('requestSearchFiltersChange',{filters:{jobTitle:value}})},'categoryUid=:value':function(value){mediator.trigger('requestSearchFiltersChange',{filters:{categoryUid:value}})},'branch=:value':function(value){mediator.trigger('requestSearchFiltersChange',{filters:{branch:value}})},'placeOfWork=:value':function(value){mediator.trigger('requestSearchFiltersChange',{filters:{placeOfWork:value}})},'*path':function(){}},initialize:function(options){this.conf=_.extend({},defaults,options);mediator=this.conf.mediator;mediator.on('appReady',function(){Backbone.history.start()})}});app.register(NAMESPACE,api)}(app));
(function(app){var NAMESPACE='jobSearch',defaults={requiredJobKeys:['beginAs','branch','placeOfWork','categoryUid','jobTitle','publicationLink','subtitle','startDate','duration','specification','funktion','jobType']},conf,$=app.$,$jobSearch,getTemplate;app.ready(function(){conf=_.defaults({},app.getConfig(NAMESPACE),defaults);$jobSearch=$('.job-search');getTemplate=app.utils.getTemplate;if(!$jobSearch.length||!Backbone||!getTemplate)return;module=_.extend(app[NAMESPACE],module);module.render(window.jobSearchData)});var module={instances:{models:{},collections:{},views:{},routers:{}},render:function(jobSearchData){var self=this;this.instances.mediator=app.Events();if(!jobSearchData||!jobSearchData.categories||!jobSearchData.items)throw'jobSearch data missing or faulty';jobSearchData.jobTypes=_.keys(_.groupBy(jobSearchData.items,'jobType'));jobSearchData.branches=_.keys(_.groupBy(jobSearchData.items,'branch'));jobSearchData.placesOfWork=_.keys(_.groupBy(jobSearchData.items,'placeOfWork'));jobSearchData.items=_.map(jobSearchData.items,function(item){return _.pick(item,conf.requiredJobKeys)});jobSearchData.predefinedFilters=_.omit(jobSearchData.predefinedFilters,_.isNull);this.instances.routers.main=new this.Routers.Main({mediator:this.instances.mediator});this.instances.models.filterForm=new this.Models.FilterForm(null,{mediator:this.instances.mediator,jobSearchData:jobSearchData,predefinedAttributes:jobSearchData.predefinedFilters});this.instances.views.searchResults=new this.Views.SearchResults({mediator:this.instances.mediator,data:{items:jobSearchData.items},template:getTemplate('#job-search__result-item-template')});this.instances.views.filterForm=new this.Views.FilterForm({mediator:this.instances.mediator,data:{jobTypes:jobSearchData.jobTypes,jobTypeLabels:jobSearchData.labels.jobTypes,categories:jobSearchData.categories,branches:jobSearchData.branches,placesOfWork:jobSearchData.placesOfWork}});this.instances.views.jobTickerForm=new this.Views.JobTickerForm({mediator:this.instances.mediator});requestAnimationFrame(function(){self.instances.mediator.trigger('appReady')});this.render=function(){};return this}}}(app));
(function(app){var NAMESPACE='contactSearch.Models.Contact',defaults={},api=Backbone.Model.extend({defaults:{firstName:null,lastName:null,phone:null,fax:null,email:null,department:null,isMainContact:false},idAttribute:'uid'});app.register(NAMESPACE,api)}(app));
(function(app){var NAMESPACE='contactSearch.Models.Form',defaults={},$=app.$,mediator,predefinedAttributes={},integerKeys=[],floatKeys=[],stringKeys=[],numberArrayKeys=['departments'],stringArrayKeys=[],booleanKeys=[],api=Backbone.Model.extend({defaults:{departments:null},sync:function(method,model,options){},initialize:function(attrs,options){this.conf=_.extend({},defaults,options);mediator=this.conf.mediator;predefinedAttributes=this.conf.predefinedAttributes;predefinedAttributes=_.pick(predefinedAttributes,Object.keys(this.defaults));predefinedAttributes=sanitizePrimitiveAttributes(predefinedAttributes,true);predefinedAttributes=sanitizeAttributesToConform(predefinedAttributes,false);_.extend(this.defaults,predefinedAttributes);var self=this;mediator.on('requestSearchFiltersChange',function(data){data.success=_.isFunction(data.success)?data.success:_.noop;if(data.reset===true)data.filters=_.clone(this.defaults);data.filters=this.cleanupAttributes(data.filters,{reportErrors:false});this.save(data.filters);data.success()},this);this.on('change reset',function(model,options){var filterData=self.getFilterData();mediator.trigger('searchFiltersChange',{filters:filterData,equalDefaults:_.isEqual(_.omit(self.defaults,'id'),filterData)})},this);mediator.on('appReady',function(){this.save(predefinedAttributes,{silent:true});this.trigger('reset')},this)},getFilterData:function(targetKey){var targetValue;if(targetKey!==undefined){targetValue=this.get(targetKey);if($.isPlainObject(targetValue)){return app.deepCopy(targetValue)}else return targetValue}else return app.deepCopy(_.omit(this.toJSON(),'id'))},cleanupAttributes:function(attributes,options){var filterWhitelist=Object.keys(this.defaults),filterWhitelistDiff=_.difference(Object.keys(attributes),filterWhitelist);if(options.reportErrors===true&&filterWhitelistDiff.length)console.info('keys not on whitelist; '+filterWhitelistDiff.join(', '));attributes=_.pick(attributes,filterWhitelist);attributes=sanitizePrimitiveAttributes(attributes,true);attributes=sanitizeAttributesToConform(attributes,options.reportErrors);return attributes}})
function sanitizePrimitiveAttributes(attributes,skipNull){attributes=app.deepCopy(attributes);return _.mapObject(attributes,function(value,key){if(skipNull===true&&value===null)return value;if(integerKeys.indexOf(key)!==-1)return parseInt(value);if(floatKeys.indexOf(key)!==-1)return parseFloat(value);if(stringKeys.indexOf(key)!==-1)return value.toString();if(numberArrayKeys.indexOf(key)!==-1)return _.map(value,function(value){return parseInt(value)});if(stringArrayKeys.indexOf(key)!==-1)return _.map(value,function(value){return value.toString()});if(booleanKeys.indexOf(key)!==-1){value=value==='true'?true:value;value=value==='false'?false:value;value=value===1?true:value;value=value===0?false:value};return value})}
function sanitizeAttributesToConform(attributes,reportErrors){attributes=app.deepCopy(attributes);return _.mapObject(attributes,function(value,key){if(value===null)return value;var tmpObj={};tmpObj[key]=value;var attributesAreValidResult=attributesAreValid(tmpObj);if(attributesAreValidResult!==true){if(reportErrors===true)console.info(attributesAreValidResult[1]);return null};if(stringKeys.indexOf(key)!==-1&&value===''){return null}else if(numberArrayKeys.indexOf(key)!==-1&&!value.length){return null}else if(stringArrayKeys.indexOf(key)!==-1&&!value.length)return null;return value})}
function attributesAreValid(attributes){var errMsg,areValid=_.every(attributes,function(value,key,list){if(integerKeys.indexOf(key)!==-1&&isNaN(value)){errMsg=[key,key+' given, but not a number (uid: '+list.uid+')']}else if(floatKeys.indexOf(key)!==-1&&isNaN(value)){errMsg=[key,key+' given, but not a number (uid: '+list.uid+')']}else if(stringKeys.indexOf(key)!==-1&&!_.isString(value)){errMsg=[key,key+' given, but not a string (uid: '+list.uid+')']}else if(numberArrayKeys.indexOf(key)!==-1){if(!_.isArray(value)){errMsg=[key,key+' given, but not an array (uid: '+list.uid+')']}else _.every(value,function(valueArr,keyArr){if(isNaN(valueArr))errMsg=[key,key+' given, but item '+keyArr+' is not a number (uid: '+list.uid+')'];return errMsg===undefined})}else if(stringArrayKeys.indexOf(key)!==-1&&!_.isArray(value)){if(!_.isArray(value)){errMsg=[key,key+' given, but not an array (uid: '+list.uid+')']}else _.every(value,function(valueArr,keyArr){if(!_.isString(valueArr))errMsg=[key,key+' given, but item '+keyArr+' is not a number (uid: '+list.uid+')'];return errMsg===undefined})}else if(booleanKeys.indexOf(key)!==-1&&!_.isBoolean(value))errMsg=[key,key+' given, but not a boolean (uid: '+list.uid+')'];return errMsg===undefined});return areValid===true?true:errMsg};app.register(NAMESPACE,api)}(app));
(function(app){var NAMESPACE='contactSearch.Collections.Contacts',defaults={},$=app.$,mediator,integerKeys=['uid','department'],floatKeys=[],stringKeys=['firstName','lastName','email','phone','fax'],numberArrayKeys=[],stringArrayKeys=[],booleanKeys=['isMainContact'],currentFilters={},contactSearchData,api=Backbone.Collection.extend({initialize:function(contacts,options){this.conf=_.extend({},defaults,options);mediator=this.conf.mediator;contactSearchData=this.conf.contactSearchData;this.on('invalid',function(list,err){throw'Contacts collection - invalid model: '+err});this.on('reset',function(){var allContacts=this.toJSONDeep();if(!allContacts.length)return;var filteredContacts=this.getFilteredContacts(),filteredContactsMapped=_.map(filteredContacts,this.mapAttributesToFullData);mediator.trigger('contactsChange',{contacts:allContacts});mediator.trigger('resultsChange',{contacts:filteredContacts,contactsMapped:filteredContactsMapped})});mediator.on('searchFiltersChange',function(data){currentFilters=_.omit(data.filters,_.isNull);var filteredContacts=this.getFilteredContacts(),filteredContactsMapped=_.map(filteredContacts,this.mapAttributesToFullData);mediator.trigger('resultsChange',{contacts:filteredContacts,contactsMapped:filteredContactsMapped})},this);mediator.on('requestContactData',function(data){data.error=_.isFunction(data.error)?data.error:_.noop;data.uid=parseInt(data.uid);var targetModel=this.get(data.uid),targetModelAttributes;if(!targetModel){data.error();return};targetModelAttributes=app.deepCopy(targetModel.toJSON());data.success({raw:targetModelAttributes,mapped:this.mapAttributesToFullData(targetModelAttributes)})},this);mediator.on('appReady',function(){if(contacts&&contacts.length)this.trigger('reset')},this)},comparator:'lastName',toJSONDeep:function(){return _.map(this.toJSON(),app.deepCopy)},parse:function(response,options){response=_.map(response,function(attributes,key){var attributesAreValidResult;if(attributes===null)return false;if(attributes.uid===undefined){console.info('Contacts Collection: uid missing ('+attributes.firstName+' '+attributes.lastName+')');return false};if(attributes.department===undefined){console.info('Contacts Collection: department missing (uid: '+attributes.uid+')');return false};if(!attributes.lastName.length){console.info('Contacts Collection: lastName missing (uid: '+attributes.uid+')');return false};attributes=sanitizePrimitiveAttributes(attributes);attributesAreValidResult=attributesAreValid(attributes);if(attributesAreValidResult!==true){console.info(attributesAreValidResult[1]);return false};return attributes});response=_.compact(response);return response},getFilteredContacts:function(){return filterContacts(this.toJSONDeep(),currentFilters)},mapAttributesToFullData:function(attributes){attributes=app.deepCopy(attributes);attributes.department=attributes.department===null?null:contactSearchData.departments[attributes.department];return attributes}})
function filterContacts(contacts,filters){if(!Object.keys(filters).length)return[];return _.filter(contacts,function(contact){return filters.departments.indexOf(contact.department)!==-1})}
function sanitizePrimitiveAttributes(attributes,skipNull){attributes=app.deepCopy(attributes);return _.mapObject(attributes,function(value,key){if(skipNull===true&&value===null)return value;if(integerKeys.indexOf(key)!==-1)return parseInt(value);if(floatKeys.indexOf(key)!==-1)return parseFloat(value);if(stringKeys.indexOf(key)!==-1)return value.toString();if(numberArrayKeys.indexOf(key)!==-1)return _.map(value,function(value){return parseInt(value)});if(stringArrayKeys.indexOf(key)!==-1)return _.map(value,function(value){return value.toString()});if(booleanKeys.indexOf(key)!==-1){value=value==='true'?true:value;value=value==='false'?false:value;value=value===1?true:value;value=value===0?false:value};return value})}
function attributesAreValid(attributes){var errMsg,areValid=_.every(attributes,function(value,key,list){if(integerKeys.indexOf(key)!==-1&&isNaN(value)){errMsg=[key,key+' given, but not a number (uid: '+list.uid+')']}else if(floatKeys.indexOf(key)!==-1&&isNaN(value)){errMsg=[key,key+' given, but not a number (uid: '+list.uid+')']}else if(stringKeys.indexOf(key)!==-1&&!_.isString(value)){errMsg=[key,key+' given, but not a string (uid: '+list.uid+')']}else if(numberArrayKeys.indexOf(key)!==-1){if(!_.isArray(value)){errMsg=[key,key+' given, but not an array (uid: '+list.uid+')']}else _.every(value,function(valueArr,keyArr){if(isNaN(valueArr))errMsg=[key,key+' given, but item '+keyArr+' is not a number (uid: '+list.uid+')'];return errMsg===undefined})}else if(stringArrayKeys.indexOf(key)!==-1&&!_.isArray(value)){if(!_.isArray(value)){errMsg=[key,key+' given, but not an array (uid: '+list.uid+')']}else _.every(value,function(valueArr,keyArr){if(!_.isString(valueArr))errMsg=[key,key+' given, but item '+keyArr+' is not a number (uid: '+list.uid+')'];return errMsg===undefined})}else if(booleanKeys.indexOf(key)!==-1&&!_.isBoolean(value))errMsg=[key,key+' given, but not a boolean (uid: '+list.uid+')'];return errMsg===undefined});return areValid===true?true:errMsg};app.register(NAMESPACE,api)}(app));
(function(app){var NAMESPACE='contactSearch.Views.Results',defaults={},$=app.$,mediator,resultsTpl,results=[],currentFilters={},api=Backbone.View.extend({el:'.contact-search-results',initialize:function(options){this.conf=_.extend({},defaults,options);mediator=this.conf.mediator;resultsTpl=this.conf.template;if(!resultsTpl)return this;mediator.on('searchFiltersChange',function(data){currentFilters=_.omit(data.filters,_.isNull)||{};if(!results.length&&!Object.keys(currentFilters).length)this.render()},this);mediator.on('resultsChange',function(data){results=data.contacts||[];results=_.map(data.contacts,function(attributes,idx){attributes.mapped=data.contactsMapped[idx];return attributes});this.render()},this);this.render();return this},render:function(){this.$el.html(resultsTpl({items:results,showNoResultsInfo:Object.keys(currentFilters).length!==0}));return this}});app.register(NAMESPACE,api)}(app));
(function(app){var NAMESPACE='contactSearch.Views.Form',defaults={},$=app.$,mediator,data,$filterFormTextInputsAndSelects,currentFilters={},departmentSortingOrder=[14,15,10,20,17,13,22],api=Backbone.View.extend({el:'.contact-search-form',events:{submit:function(event){event.preventDefault()},input:function(event){if(data&&data.triggeredInRenderForm===true)return;var $eventTarget=$(event.target),eventTargetName=$eventTarget.attr('name'),eventTargetValue=$eventTarget.val(),filters={};if(!eventTargetName)return;if($eventTarget.is('[type="checkbox"]'))eventTargetValue=$eventTarget.is(':checked')?eventTargetValue:null;if(eventTargetName==='departments')eventTargetValue=[eventTargetValue];filters[eventTargetName]=eventTargetValue;mediator.trigger('requestSearchFiltersChange',{filters:filters})}},initialize:function(options){this.conf=_.extend({},defaults,options);var departmentsData=this.conf.contactSearchData.departments,$departmentSelect=this.$el.find('#contact-search-form__departments');if(_.isArray(this.conf.contactSearchData.predefinedFilters.departments))return;mediator=this.conf.mediator;$filterFormTextInputsAndSelects=this.$el.find('.contact-search-form__field-text-input, .contact-search-form__field-select');mediator.on('contactsChange',function(data){var contacts=data.contacts||{},assignedDepartments=Object.keys(_.groupBy(contacts,'department')),departmentsToRender=_.omit(departmentsData,function(value,key){return assignedDepartments.indexOf(key)===-1});departmentsToRender=_.map(departmentsToRender,function(name,key){return{uid:parseInt(key,10),name:name}});departmentsToRender.sort(sortByUids);if($departmentSelect.length)$departmentSelect.append(_.reduce(departmentsToRender,function(memo,item,key){return memo+'<option value="'+item.uid+'">'+item.name+'</option>'},''))
function sortByUids(departmentA,departmentB){return sortByUid(departmentSortingOrder[0])
function sortByUid(uid,idx){if(uid===undefined)return 0;idx=idx===undefined?0:idx;var departmentAHasUid=departmentA.uid===uid,departmentBHasUid=departmentB.uid===uid;if(!departmentAHasUid&&!departmentBHasUid){idx+=1;return sortByUid(departmentSortingOrder[idx],idx)}else if(departmentAHasUid){return-1}else return 1}}},this);mediator.on('searchFiltersChange',function(data){currentFilters=data.filters||{};this.renderForm()},this);return this},renderForm:function(){$filterFormTextInputsAndSelects.each(function(){var $input=$(this),inputName=$input.attr('name'),currentVal=sanitizeUserInput($input.val()),filterVal=currentFilters[this.name];if(currentVal===filterVal)return;$input.val(filterVal).trigger('input',{triggeredInRenderForm:true}).trigger('change',{triggeredInRenderForm:true})});return this}})
function sanitizeUserInput(value){if(value===''||value===undefined)return null;if(value==='true')return true;if(value==='false')return false;if(!isNaN(parseInt(value)))return parseInt(value);return value};app.register(NAMESPACE,api)}(app));
(function(app){var NAMESPACE='contactSearch.Routers.Main',defaults={},$=app.$,mediator,api=Backbone.Router.extend({routes:{'*path':function(){}},initialize:function(options){this.conf=_.extend({},defaults,options);mediator=this.conf.mediator;mediator.on('appReady',function(){})}});app.register(NAMESPACE,api)}(app));
(function(app){var NAMESPACE='contactSearch',defaults={},conf,$=app.$,$contactSearch,getTemplate;app.ready(function(){conf=_.defaults({},app.getConfig(NAMESPACE),defaults);$contactSearch=$('.contact-search');getTemplate=app.utils.getTemplate;if(!$contactSearch.length||!Backbone||!getTemplate)return;module=_.extend(app[NAMESPACE],module);module.render(window.contactSearchData)});var module={instances:{models:{},collections:{},views:{},routers:{}},render:function(contactSearchData){var self=this;this.instances.mediator=app.Events();if(!contactSearchData)throw'contactSearchData data missing or faulty';contactSearchData.predefinedFilters=_.omit(contactSearchData.predefinedFilters,_.isNull);contactSearchData.configurationValues=_.omit(contactSearchData.configurationValues,_.isNull);if(contactSearchData.predefinedFilters.departments&&contactSearchData.predefinedFilters.departments!==null&&!_.isArray(contactSearchData.predefinedFilters.departments)){contactSearchData.predefinedFilters.departments=contactSearchData.predefinedFilters.departments.split(',');contactSearchData.predefinedFilters.departments=_.map(contactSearchData.predefinedFilters.departments,function(value){return parseInt(value)})};contactSearchData.contacts=_.map(contactSearchData.contacts,function(contact){if(contact.type&&contact.type.identifier==='MAINCONTACT')contact.isMainContact=true;contact.department=contact.department.uid;contact.position=contact.name;if(contact.employee){contact.name=contact.employee.name;contact.email=contact.employee.email;contact.phone=contact.employee.phone;contact.mobile=contact.employee.mobile;contact.fax=contact.employee.fax};var nameWords=contact.name.split(' ');contact.lastName=nameWords.pop();contact.firstName=nameWords.join(' ');delete contact.type;delete contact.region;delete contact.employee;delete contact.name;return contact});this.instances.routers.main=new this.Routers.Main({mediator:this.instances.mediator});this.instances.models.form=new this.Models.Form(null,{mediator:this.instances.mediator,contactSearchData:contactSearchData,predefinedAttributes:contactSearchData.predefinedFilters});this.instances.collections.contacts=new this.Collections.Contacts(contactSearchData.contacts,{mediator:this.instances.mediator,model:this.Models.Contact,parse:true,reset:true,contactSearchData:_.omit(contactSearchData,'contacts')});this.instances.views.results=new this.Views.Results({mediator:this.instances.mediator,data:{items:contactSearchData.items},template:getTemplate('#contact-search-results-template')});this.instances.views.form=new this.Views.Form({mediator:this.instances.mediator,contactSearchData:contactSearchData});requestAnimationFrame(function(){self.instances.mediator.trigger('appReady')});this.render=function(){};return this}}}(app));
(function(app){var NAMESPACE='branchSearch.Models.Form',defaults={},$=app.$,mediator,integerKeys=[],floatKeys=[],stringKeys=['postCode'],numberArrayKeys=[],stringArrayKeys=[],booleanKeys=[],api=Backbone.Model.extend({defaults:{postCode:null},sync:function(method,model,options){},initialize:function(attrs,options){this.conf=_.extend({},defaults,options);mediator=this.conf.mediator;var self=this;mediator.on('requestPostCodeChange',function(data){data.success=_.isFunction(data.success)?data.success:_.noop;if(data.reset===true)data.postCode=_.clone(this.defaults.postCode);data.filters=this.cleanupAttributes({postCode:data.postCode},{reportErrors:false});this.save({postCode:data.postCode});data.success()},this);this.on('change reset',function(model,options){var postCode=self.getFilterData().postCode;mediator.trigger('postCodeChange',{postCode:postCode,equalDefaults:_.isEqual(self.defaults.postCode,postCode)})},this);mediator.on('appReady',function(){this.trigger('reset')},this)},getFilterData:function(targetKey){var targetValue;if(targetKey!==undefined){targetValue=this.get(targetKey);if($.isPlainObject(targetValue)){return app.deepCopy(targetValue)}else return targetValue}else return app.deepCopy(_.omit(this.toJSON(),'id'))},cleanupAttributes:function(attributes,options){var filterWhitelist=Object.keys(this.defaults),filterWhitelistDiff=_.difference(Object.keys(attributes),filterWhitelist);if(options.reportErrors===true&&filterWhitelistDiff.length)console.info('keys not on whitelist; '+filterWhitelistDiff.join(', '));attributes=_.pick(attributes,filterWhitelist);attributes=sanitizePrimitiveAttributes(attributes,true);attributes=sanitizeAttributesToConform(attributes,options.reportErrors);return attributes}})
function sanitizePrimitiveAttributes(attributes,skipNull){attributes=app.deepCopy(attributes);return _.mapObject(attributes,function(value,key){if(skipNull===true&&value===null)return value;if(integerKeys.indexOf(key)!==-1)return parseInt(value);if(floatKeys.indexOf(key)!==-1)return parseFloat(value);if(stringKeys.indexOf(key)!==-1)return value.toString();if(numberArrayKeys.indexOf(key)!==-1)return _.map(value,function(value){return parseInt(value)});if(stringArrayKeys.indexOf(key)!==-1)return _.map(value,function(value){return value.toString()});if(booleanKeys.indexOf(key)!==-1){value=value==='true'?true:value;value=value==='false'?false:value;value=value===1?true:value;value=value===0?false:value};return value})}
function sanitizeAttributesToConform(attributes,reportErrors){attributes=app.deepCopy(attributes);return _.mapObject(attributes,function(value,key){if(value===null)return value;var tmpObj={};tmpObj[key]=value;var attributesAreValidResult=attributesAreValid(tmpObj);if(attributesAreValidResult!==true){if(reportErrors===true)console.info(attributesAreValidResult[1]);return null};if(stringKeys.indexOf(key)!==-1&&value===''){return null}else if(numberArrayKeys.indexOf(key)!==-1&&!value.length){return null}else if(stringArrayKeys.indexOf(key)!==-1&&!value.length)return null;return value})}
function attributesAreValid(attributes){var errMsg,areValid=_.every(attributes,function(value,key,list){if(integerKeys.indexOf(key)!==-1&&isNaN(value)){errMsg=[key,key+' given, but not a number (uid: '+list.uid+')']}else if(floatKeys.indexOf(key)!==-1&&isNaN(value)){errMsg=[key,key+' given, but not a number (uid: '+list.uid+')']}else if(stringKeys.indexOf(key)!==-1&&!_.isString(value)){errMsg=[key,key+' given, but not a string (uid: '+list.uid+')']}else if(numberArrayKeys.indexOf(key)!==-1){if(!_.isArray(value)){errMsg=[key,key+' given, but not an array (uid: '+list.uid+')']}else _.every(value,function(valueArr,keyArr){if(isNaN(valueArr))errMsg=[key,key+' given, but item '+keyArr+' is not a number (uid: '+list.uid+')'];return errMsg===undefined})}else if(stringArrayKeys.indexOf(key)!==-1&&!_.isArray(value)){if(!_.isArray(value)){errMsg=[key,key+' given, but not an array (uid: '+list.uid+')']}else _.every(value,function(valueArr,keyArr){if(!_.isString(valueArr))errMsg=[key,key+' given, but item '+keyArr+' is not a number (uid: '+list.uid+')'];return errMsg===undefined})}else if(booleanKeys.indexOf(key)!==-1&&!_.isBoolean(value))errMsg=[key,key+' given, but not a boolean (uid: '+list.uid+')'];return errMsg===undefined});return areValid===true?true:errMsg};app.register(NAMESPACE,api)}(app));
(function(app){var NAMESPACE='branchSearch.Views.Results',defaults={},$=app.$,mediator,resultsViewTpl,currentResultUid,currentPostCode=null,api=Backbone.View.extend({el:'.branch-search-results',initialize:function(options){this.conf=_.extend({},defaults,options);mediator=this.conf.mediator;resultsViewTpl=this.conf.template;if(!resultsViewTpl)return this;var self=this,locationsReady=$.Deferred();mediator.on('requestResultChange',function(data){if(data.reset===true){self.beforeRenderHandler();return};var uid=parseInt(data.uid);if(isNaN(uid)||currentResultUid===uid)return;locationsReady.done(function(){self.beforeRenderHandler(uid)})},this);mediator.once('locationsChange',function(data){if(!data.locations.length)return;locationsReady.resolve()},this);mediator.on('postCodeChange',function(data){currentPostCode=data.postCode||null},this);this.render();return this},beforeRenderHandler:function(uid){var self=this;if(isNaN(uid)){self.render();mediator.trigger('resultsViewChange',{oldUid:currentResultUid,newUid:null});currentResultUid=null;return};self.$el.addClass('branch-search-results--loading');mediator.trigger('requestLocationData',{uid:uid,success:function(locationData){finishBeforeRender(locationData)}})
function finishBeforeRender(locationData){self.$el.removeClass('branch-search-results--loading');self.render(locationData);mediator.trigger('resultsViewChange',{oldUid:currentResultUid,newUid:uid});currentResultUid=uid}},render:function(data){var items=(data&&data.mapped)?[data.mapped]:[];this.$el.html(resultsViewTpl({items:items,showNoResultsInfo:currentPostCode!==null}));return this}});app.register(NAMESPACE,api)}(app));
(function(app){var NAMESPACE='branchSearch.Views.Form',defaults={},$=app.$,mediator,branchSearchData,$filterFormTextInputsAndSelects,currentPostCode='',locationsSubset=[],postCodeValidationPattern,countryCode,$postCodeInput,api=Backbone.View.extend({el:'.branch-search-form',events:{submit:function(event){event.preventDefault();var val=$postCodeInput.val();if(isValidPostCode(val)){$postCodeInput.closest('.content-form__field').removeClass('content-form__field--is-error');if(val.length===4)val='0'+val}else{$postCodeInput.closest('.content-form__field').addClass('content-form__field--is-error');$postCodeInput.focus()};mediator.trigger('requestPostCodeChange',{postCode:val,success:function(){submitPostCode()}})},'click .branch-search-form__submit-btn':function(event){}},initialize:function(options){this.conf=_.extend({},defaults,options);mediator=this.conf.mediator;branchSearchData=this.conf.branchSearchData;$filterFormTextInputsAndSelects=this.$el.find('.contact-search-form__field-text-input, .contact-search-form__field-select');$postCodeInput=this.$el.find('#branch-search-form__post-code');postCodeValidationPattern=RegExp($postCodeInput.attr('pattern'));if(!postCodeValidationPattern)return this;countryCode=branchSearchData.countryCodes[branchSearchData.configurationValues.countryCode];mediator.on('locationsChange',function(data){locationsSubset=_.map(data.locations,function(location){location.mainContacts=_.where(location.contacts,{isMainContact:true});location.mainContacts=_.uniq(location.mainContacts,function(contact){return contact.department});return _.pick(location,'address1','city','uid','postCode','name','email','fax','phone','url','routeLink')})});mediator.on('postCodeChange',function(data){currentPostCode=data.postCode;this.renderPostCodeInput()},this);return this},renderPostCodeInput:function(){$postCodeInput.val(currentPostCode).trigger('input',{triggeredInRender:true}).trigger('change',{triggeredInRender:true});return this}})
function isValidPostCode(postCode){return!(typeof postCode!=='string'||!postCodeValidationPattern.test(postCode))}
function submitPostCode(postCode){postCode=postCode||currentPostCode;if(!postCode)return;getBranchRegionData(postCode,countryCode).fail(function(){mediator.trigger('requestResultChange',{reset:true})}).done(function(branchRegionData){mediator.trigger('requestResultChange',{uid:branchRegionData.mainLocationUid})})}
function getBranchRegionData(postCode,countryCode){var promise=app.Deferred();mediator.trigger('requestBranchRegionData',{postCode:postCode,countryCodeMapped:countryCode,success:function(branchRegionData){promise.resolve(branchRegionData)},error:function(){console.info('requestBranchRegionData failed for postCode '+postCode+' and country code '+countryCode);promise.reject()}});return promise.promise()}
function sanitizeUserInput(value){if(value===''||value===undefined)return null;if(value==='true')return true;if(value==='false')return false;if(!isNaN(parseInt(value)))return parseInt(value);return value};app.register(NAMESPACE,api)}(app));
(function(app){var NAMESPACE='branchSearch',defaults={},conf,$=app.$,$branchSearch,getTemplate;app.ready(function(){conf=_.defaults({},app.getConfig(NAMESPACE),defaults);$branchSearch=$('.branch-search');getTemplate=app.utils.getTemplate;if(!$branchSearch.length||!Backbone||!getTemplate)return;module=_.extend(app[NAMESPACE],module);module.render(window.branchSearchData)});var module={instances:{models:{},collections:{},views:{},routers:{}},render:function(branchSearchData){var self=this;this.instances.mediator=app.Events();if(!branchSearchData)throw'branchSearchData data missing or faulty';this.instances.models.form=new this.Models.Form(null,{mediator:this.instances.mediator,branchSearchData:branchSearchData});this.instances.collections.locations=new app.oneMap.Collections.Locations(branchSearchData.locations,{mediator:this.instances.mediator,model:app.oneMap.Models.Location,parse:true,reset:true,oneMapData:_.omit(branchSearchData,'locations','salesRegions')});this.instances.collections.salesRegions=new app.oneMap.Collections.SalesRegions(branchSearchData.salesRegions,{mediator:this.instances.mediator,model:app.oneMap.Models.SalesRegion,parse:true,reset:true,oneMapData:_.omit(branchSearchData,'locations','salesRegions')});this.instances.collections.branchRegions=new app.oneMap.Collections.BranchRegions(branchSearchData.branchRegions,{mediator:this.instances.mediator,model:app.oneMap.Models.BranchRegion,parse:true,reset:true});this.instances.views.results=new this.Views.Results({mediator:this.instances.mediator,template:getTemplate('#branch-search-results-template')});this.instances.views.form=new this.Views.Form({mediator:this.instances.mediator,branchSearchData:branchSearchData});requestAnimationFrame(function(){self.instances.mediator.trigger('appReady')});this.render=function(){};return this}}}(app));
(function(app){var NAMESPACE='productOverviewList',defaults={selector:'.product-overview-list'},conf,$=app.$,$root;app.ready(function(){conf=_.defaults({},app.getConfig(NAMESPACE),defaults);$root=$(conf.selector);if(!$root.length)return;if(!$root.hasClass('product-overview-list--vehicles'))return;var $automatedItems=$root.find('.product-overview-list__item--automated'),$notAutomatedItems=$root.find('.product-overview-list__item').not($automatedItems),$radioAll=$root.find('#product-overview-list__radio-input-show-all'),$radioAutomated=$root.find('#product-overview-list__radio-input-show-automated'),$radioNotAutomated=$root.find('#product-overview-list__radio-input-show-not-automated');$root.find('.product-overview-list__header-radio-input').on('change',function(){$automatedItems.toggleClass('product-overview-list__item--disabled',!($radioAll[0].checked||$radioAutomated[0].checked));$notAutomatedItems.toggleClass('product-overview-list__item--disabled',!($radioAll[0].checked||$radioNotAutomated[0].checked))})})}(app));
(function(app){var NAMESPACE='productDetail',defaults={selector:'.tx-stillproducts .product-detail-item'},conf,$=app.$,$productDetailItem;app.ready(function(){conf=_.defaults({},app.getConfig(NAMESPACE),defaults);$productDetailItem=$(conf.selector);if(!$productDetailItem.length)return;var headlineText=$productDetailItem.find('header h1').text();$('.product-detail-form input.layout3').val(headlineText)})}(app));
(function(app){var NAMESPACE='productCTATeaser',defaults={selector:'.product-cta-teaser--rental-trucks, .product-cta-teaser--used-trucks'},conf,$=app.$,$productCTATeasers;app.ready(function(){conf=_.defaults({},app.getConfig(NAMESPACE),defaults);$productCTATeasers=$(conf.selector);if(!$productCTATeasers.length)return;$productCTATeasers.find('.product-cta-teaser__body-text[data-src]').each(function(){var $headerText=$(this),requestUrl=$headerText.data('src'),text=$headerText.data('text');if(!requestUrl||!requestUrl.length||!text||!text.length)return;$.ajax(requestUrl,{method:'GET',cache:false,dataType:'json',success:function(response){$headerText.html(text.replace('%1s',response.price))},error:function(jqXHR,err,msg){console.info(msg)}})})})}(app));
(function(app){var NAMESPACE='rackAdvisor',defaults={rackTypesSelector:'input[type="checkbox"][name*="racktypes"]',selectedRackTypesDelimiter:'|'},conf,$=app.$,$rackAdvisor,$stepIndication,$rackAdvisorMainFooter,$rackAdvisorCTA,$rackAdvisorCTAForm,$rackAdvisorResultsForm,$rackAdvisorForms,$rackAdvisorResultsFormCheckboxes,sliderApi,mainFooterToggleWidgetApi,ctaToggleWidgetApi,getTemplate,stepIndicationTpl,currentPath=[],historyPath=[];app.ready(function(){conf=_.defaults({},app.getConfig(NAMESPACE),defaults);$rackAdvisor=$('.rack-advisor');$stepIndication=$rackAdvisor.find('.rack-advisor-main__step-indication');$rackAdvisorCTA=$rackAdvisor.find('.rack-advisor-cta');$rackAdvisorMainFooter=$rackAdvisor.find('.rack-advisor-main__footer');$rackAdvisorCTAForm=$('.rack-advisor-form--cta');$rackAdvisorResultsForm=$('.rack-advisor-form--results');$rackAdvisorResultsFormCheckboxes=$rackAdvisorResultsForm.find(conf.rackTypesSelector);$rackAdvisorForms=$rackAdvisorCTAForm.add($rackAdvisorResultsForm);getTemplate=app.utils.getTemplate;if(!$rackAdvisor.length||!$rackAdvisorForms.length||!getTemplate||!$.fn.slick||!$.fn.toggleWidget)return;stepIndicationTpl=getTemplate('#rack-advisor-main__step-indication-item-template');if(!stepIndicationTpl)return;(function(){$rackAdvisorCTA.find('.rack-advisor-cta__toggle-content-inner').prepend($rackAdvisorCTAForm);$rackAdvisorMainFooter.find('.rack-advisor-main__footer-toggle-content-inner').append($rackAdvisorResultsForm);$rackAdvisorForms=$rackAdvisorForms.not('content-form-thank-you');var $hotlineEl=$('.rack-advisor-hotline');$rackAdvisorForms.find('.content-form__field--submit').each(function(){$(this).prepend($hotlineEl.clone().removeClass('rack-advisor-hotline--tpl'))});$hotlineEl.remove();$rackAdvisorForms.find(conf.rackTypesSelector).closest('.content-form__field').addClass('content-form__field--checkbox-dropdown').removeClass('content-form__field--checkbox');$rackAdvisorForms.each(function(){var contentFormApi=$(this).data('contentForm');if(!contentFormApi)return;contentFormApi.initCheckboxDropdowns({moveHelperInput:true,delimiter:conf.selectedRackTypesDelimiter})});$rackAdvisorResultsForm.find('.content-form__field--checkbox-dropdown').addClass('content-form__field--checkbox-dropdown-open')}());(function(){var $rackAdvisorCTAToggle=$rackAdvisorCTA.find('.rack-advisor-cta__toggle');$rackAdvisorCTAToggle.toggleWidget({toggleBtnSelector:'.rack-advisor-cta__toggle-close-btn',toggleContentSelector:'.rack-advisor-cta__toggle-content',openClass:'rack-advisor-cta__toggle--open'});ctaToggleWidgetApi=$rackAdvisorCTAToggle.data('toggleWidget');$rackAdvisorCTAToggle.on('beforeOpen.toggleWidget.'+NAMESPACE,function(){$rackAdvisorCTA.addClass('rack-advisor-cta--toggle-visible')});$rackAdvisorCTAToggle.on('afterClose.toggleWidget.'+NAMESPACE,function(){$rackAdvisorCTA.removeClass('rack-advisor-cta--toggle-visible')});$rackAdvisorMainFooter.toggleWidget({toggleBtnSelector:false,toggleContentSelector:'.rack-advisor-main__footer-content',openClass:'rack-advisor-main__footer--open'});mainFooterToggleWidgetApi=$rackAdvisorMainFooter.data('toggleWidget');if($rackAdvisorCTAForm.hasClass('content-form-thank-you'))ctaToggleWidgetApi.open();if($rackAdvisorResultsForm.hasClass('content-form-thank-you'))mainFooterToggleWidgetApi.open().scrollToOffsetTop();sliderApi=$rackAdvisor.find('.rack-advisor-main__inner').slick({autoplay:false,speed:300,swipe:false,draggable:false,touchMove:false,fade:true,dots:false,slidesToShow:1,slidesToScroll:1,arrows:false,waitForAnimate:false,adaptiveHeight:true,mobileFirst:true,responsive:[{breakpoint:767,settings:{adaptiveHeight:false}}]}).slick('getSlick')}());(function(){$rackAdvisor.on('click.'+NAMESPACE,'.rack-advisor-main__step-indication-item',function(event){var idx=$(this).index(),newCurrentPath=historyPath.slice(0,idx);if(newCurrentPath.toString()!==currentPath.toString()){currentPath=newCurrentPath;module.render()}});$rackAdvisor.on('click.'+NAMESPACE,'.rack-advisor-main__item--question .rack-advisor-main__item-btn',function(event){var idx=$(this).index();currentPath.push(idx);if(currentPath.length>historyPath.length||idx!==historyPath[currentPath.length-1])historyPath=currentPath.slice();module.render()});$rackAdvisorCTA.on('click.'+NAMESPACE,'.rack-advisor-cta__trigger-btn',function(event){ctaToggleWidgetApi.open()});$rackAdvisorForms.on('input.'+NAMESPACE,'input[name*="ra-form-results-name"], input[name*="ra-form-cta-name"]',function(event){var $form=$(event.delegateTarget),currentName=$(this).val();$form.find('.rack-advisor-form__dynamic-name').html(currentName)})}());(function(){if(!app.tracking||!app.tracking.gtmPush||!app.tracking.gaSendEvent)return;$rackAdvisorForms.each(function(){var $form=$(this),pendingRequest=false,formValidationApi=$form.data('contentForm').formValidationApi;formValidationApi.off('form:submit');formValidationApi.on('form:submit',function(){if(pendingRequest===true||$.isPlainObject(pendingRequest))return false;$form.addClass('content-form--is-pending-submission');pendingRequest=$.ajax({type:'POST',dataType:'html',url:$form.attr('action'),data:$form.serialize(),success:function(response){response=$(response).find('.content-form-thank-you').eq(0).removeClass('hidden');var roiId=app.contentForm?app.contentFormCustom('getRoiId'):'No ROI-Id',selectedRackTypes=$form.find(conf.rackTypesSelector).serializeArray(),formType=$form.is($rackAdvisorCTAForm)?'cta':'results';selectedRackTypes=_.pluck(selectedRackTypes,'value');selectedRackTypes=selectedRackTypes.join(conf.selectedRackTypesDelimiter);var data={event:'formSubmitRackAdvisor'+($form.is($rackAdvisorCTAForm)?'CTA':'Results'),url:window.location.pathname,roiId:roiId,selectedRackTypes:selectedRackTypes};app.tracking.gtmPush(data);app.tracking.gaSendEvent({eventCategory:'Rack Advisor Forms',eventAction:'formSubmitAjax',eventLabel:formType});$form.replaceWith(response)},error:function(jqXhr,textStatus,errorThrown){$form.replaceWith(textStatus+': '+errorThrown);console.error(textStatus,errorThrown)}}).always(function(){$form.removeClass('content-form--is-pending-submission');pendingRequest=false});return false})})}());app.register(NAMESPACE,module);module.render()});var module={render:function(){var self=this,$itemAtCurrentPath=this.getDOMItemAtPath(currentPath),itemDataCurrentPath=this.getDataOfItem($itemAtCurrentPath),itemDataHistoryPath=this.getDataOfItem(this.getDOMItemAtPath(historyPath));if(!itemDataCurrentPath){console.error('item for current path missing:',currentPath);currentPath.splice(-1,1);historyPath=currentPath.slice();return this.render()};if(itemDataCurrentPath.type==='results'){setCheckboxDropdownItemsInResultsForm(itemDataCurrentPath.racks);sliderApi.$slider.one('afterChange',function(){mainFooterToggleWidgetApi.open()})}else if(!$rackAdvisorResultsForm.hasClass('content-form-thank-you'))mainFooterToggleWidgetApi.close();if(itemDataCurrentPath.type==='question')$itemAtCurrentPath.find('.rack-advisor-main__item-btn').removeClass('rack-advisor-main__item-btn--active btn--is-active').eq(historyPath[currentPath.length]).addClass('rack-advisor-main__item-btn--active btn--is-active');sliderApi.goTo(itemDataCurrentPath.idx);$stepIndication.html(stepIndicationTpl({numberOfSteps:historyPath.length+1,currentStepIndex:currentPath.length+1,lastStepIsResult:itemDataHistoryPath.type==='results'}));return this},getDOMItemAtPath:function(path){var targetItem;if(!_.isArray(path))throw'path must be array: '+path;path=path.toString();sliderApi.$slides.each(function(){var item=$(this),itemPaths=item.data('path');if(!_.isArray(itemPaths))throw'data-path attribute on item faulty - must be array: '+itemPaths;if(!path.length&&!itemPaths.length){targetItem=item;return false};return!_.some(itemPaths,function(itemPath){if(path!==itemPath.toString())return false;targetItem=item;return true})});return $(targetItem)},getDataOfItem:function($item){var data={},racks=[];$item=$($item);if(!$item.length)return;var type=$item.attr('class').match(/rack-advisor-main__item--([a-z\-]+)/i);if(type===null)throw'type not retrievable, not matching expression - class syntax faulty';type=type[1];if(type==='results'){$item.find('.rack-advisor-main__item-result-headline').each(function(){racks.push($.trim($(this).text()))});data.racks=racks};return _.extend(data,{idx:sliderApi.$slides.index($item),paths:$item.data('path'),type:type})}}
function setCheckboxDropdownItemsInResultsForm(racktypes){$rackAdvisorResultsFormCheckboxes.each(function(){var $input=$(this),isCurrentlyChecked=this.checked,isValueMatchingSomeRacktype=racktypes.indexOf($input.val())!==-1;this.checked=isValueMatchingSomeRacktype;if(isCurrentlyChecked!==isValueMatchingSomeRacktype)$(this).trigger('change')})}}(app));
(function(app){var NAMESPACE='internalLink',defaults={selector:'.internal-link'},conf,$=app.$;app.ready(function(){conf=_.defaults({},app.getConfig(NAMESPACE),defaults);var $svgIconWrap=$('<span class="arrow-link__icon-bg"></span><svg class="svg-icon svg-icon--arrow"><use xlink:href="#kit--arrow"></use></svg>');$(conf.selector).addClass('arrow-link').prepend($svgIconWrap.clone())})}(app));
(function(app){var NAMESPACE='quickInquiry',defaults={selector:'.quick-inquiry',autoStart:true},conf,$=app.$,dropdownData,$body,ROW_ITEM_DISABLED_CLASS='quick-inquiry-content-row__item--disabled',ROW_ITEM_HIDDEN_CLASS='quick-inquiry-content-row__item--hidden';app.ready(function(){conf=_.defaults({},app.getConfig(NAMESPACE),defaults);dropdownData=window.quickInquiryDropdownData;if(!Modernizr||!$.fn.toggleWidget||!dropdownData)return;$body=$('body');app.register(NAMESPACE,Module);if(conf.autoStart===true)$(conf.selector).each(function(){Module({targetElem:$(this)})})});var Module=function(options){options=_.extend({},conf,options);return QuickInquiry(options)},QuickInquiry=function(options){var api,$targetElem=$(options.targetElem);if(!$targetElem.length)return;var $dropdownItems=$targetElem.find('.quick-inquiry-content-row--dropdowns .quick-inquiry-content-row__item'),$dropdownItemSelects=$dropdownItems.find('.quick-inquiry-content-row__item-select'),$interestButtons=$targetElem.find('.quick-inquiry-content-row--buttons .quick-inquiry-content-row__item-btn'),$quickInquiryForm=$('.quick-inquiry-form'),$dropdownsHelperInput=$quickInquiryForm.find('input[name*="qi-form-looking-for"]'),$interestButtonsHelperInput=$quickInquiryForm.find('input[name*="qi-form-interested-in"]'),$quickInquiryFormRowTriggerBtnWrap=$targetElem.find('.quick-inquiry-form-row-trigger-btn-wrap');api={};$targetElem.toggleWidget({toggleBtnSelector:'.quick-inquiry__header',toggleContentSelector:'.quick-inquiry__content',openClass:'quick-inquiry--open'});if($quickInquiryForm.hasClass('content-form-thank-you')){$targetElem.find('.quick-inquiry__content-inner').html($quickInquiryForm);$targetElem.data('toggleWidget').open();return};$targetElem.find('.quick-inquiry-form-row').toggleWidget({toggleBtnSelector:'.quick-inquiry-form-row__toggle-close-btn',toggleContentSelector:'.quick-inquiry-form-row__content',openClass:'quick-inquiry-form-row--open'});$targetElem.find('.quick-inquiry-form-row__content-inner').append($quickInquiryForm);(function(){var $producttypeSelect=$dropdownItems.filter('.quick-inquiry-content-row__item--producttype').find('.quick-inquiry-content-row__item-select'),$liftheightSelect=$dropdownItems.filter('.quick-inquiry-content-row__item--liftheight').find('.quick-inquiry-content-row__item-select'),$towingcapacitySelect=$dropdownItems.filter('.quick-inquiry-content-row__item--towingcapacity').find('.quick-inquiry-content-row__item-select'),$liftcapacitySelect=$dropdownItems.filter('.quick-inquiry-content-row__item--liftcapacity').find('.quick-inquiry-content-row__item-select');$producttypeSelect.on('change.'+NAMESPACE,function(){var selectedOptionValue=$producttypeSelect.children(':selected').val(),producttypeData=dropdownData[selectedOptionValue];if(typeof selectedOptionValue=="undefined"||!producttypeData){$dropdownItems.not('.quick-inquiry-content-row__item--producttype').addClass(ROW_ITEM_DISABLED_CLASS);return};$liftheightSelect.children().not(':first[disabled]').remove();$liftcapacitySelect.children().not(':first[disabled]').remove();$towingcapacitySelect.children().not(':first[disabled]').remove();if(producttypeData.towingcapacity){$towingcapacitySelect.append(createOptions(producttypeData.towingcapacity.min,producttypeData.towingcapacity.max,producttypeData.towingcapacity.intervals))}else $liftheightSelect.append(createOptions(producttypeData.liftheight.min,producttypeData.liftheight.max,producttypeData.liftheight.intervals));$liftcapacitySelect.append(createOptions(producttypeData.liftcapacity.min,producttypeData.liftcapacity.max,producttypeData.liftcapacity.intervals));$liftheightSelect.prop('selectedIndex',0);$liftcapacitySelect.prop('selectedIndex',0);$towingcapacitySelect.prop('selectedIndex',0);$liftheightSelect.trigger('change');$liftcapacitySelect.trigger('change');$towingcapacitySelect.trigger('change');$dropdownItems.not('.quick-inquiry-content-row__item--producttype').removeClass(ROW_ITEM_DISABLED_CLASS);if(producttypeData.towingcapacity){$towingcapacitySelect.children().not(':first[disabled]').remove();$towingcapacitySelect.append(createOptions(producttypeData.towingcapacity.min,producttypeData.towingcapacity.max,producttypeData.towingcapacity.intervals));$dropdownItems.filter('.quick-inquiry-content-row__item--liftheight').addClass(ROW_ITEM_HIDDEN_CLASS);$dropdownItems.filter('.quick-inquiry-content-row__item--towingcapacity').removeClass(ROW_ITEM_HIDDEN_CLASS)}else{$dropdownItems.filter('.quick-inquiry-content-row__item--liftheight').removeClass(ROW_ITEM_HIDDEN_CLASS);$dropdownItems.filter('.quick-inquiry-content-row__item--towingcapacity').addClass(ROW_ITEM_HIDDEN_CLASS)}})
function createOptions(min,max,optionsValues){var optionsHtml='';min=parseInt(min);max=parseInt(max);if(min<optionsValues[0])optionsValues.unshift(min);if(max>optionsValues[optionsValues.length-1])optionsValues.push(max);_.each(optionsValues,function(value){optionsHtml+='<option value="';optionsHtml+=value;optionsHtml+='">';optionsHtml+=value;optionsHtml+='</option>'});return optionsHtml}}());(function(){$quickInquiryFormRowTriggerBtnWrap.find('.quick-inquiry-form-row-trigger-btn').on('click.'+NAMESPACE,function(){$targetElem.find('.quick-inquiry-form-row').data('toggleWidget').open()});$targetElem.find('.quick-inquiry-form-row').on('beforeOpen.toggleWidget.'+NAMESPACE+' afterClose.toggleWidget.'+NAMESPACE,function(event){$quickInquiryFormRowTriggerBtnWrap.toggleClass('quick-inquiry-form-row-trigger-btn-wrap--hidden',event.type==='beforeOpen')});$dropdownItemSelects.on('change.'+NAMESPACE,function(){var newVal=[];$dropdownItemSelects.not(function(){var $select=$(this);return $select.closest('.quick-inquiry-content-row__item').hasClass(ROW_ITEM_HIDDEN_CLASS)||!$select.val()}).each(function(){var selectValueText=$(this).children(':selected').not('[disabled]').html(),selectUnit=$(this).prev().children('.quick-inquiry-content-row__item-dropdown-mask-text').data('unit');if(!selectUnit||!selectUnit.length){selectUnit=''}else selectUnit=' '+selectUnit;newVal.push(selectValueText+selectUnit)});$dropdownsHelperInput.val(newVal.join('|'))});$targetElem.find('.quick-inquiry-content-row--buttons').on('click.'+NAMESPACE,'.quick-inquiry-content-row__item-btn',function(){var newVal=[];$(this).toggleClass('quick-inquiry-content-row__item-btn--active');$interestButtons.filter('.quick-inquiry-content-row__item-btn--active').each(function(){var text=$(this).text();text=$.trim(text);newVal.push(text)});$interestButtonsHelperInput.val(newVal.join('|'))})}());$dropdownItems.filter('.quick-inquiry-content-row__item--producttype').find('.quick-inquiry-content-row__item-select').val(-1).trigger('change');(function(){if(!app.tracking||!app.tracking.gtmPush||!app.tracking.gaSendEvent)return;$quickInquiryForm.on('submit.'+NAMESPACE,function(event){var $form=$(this);if($form.data('submitTracked')===true)return;var data={event:'formSubmit',url:window.location.pathname,truckTypes:$interestButtonsHelperInput.val()};if(app.contentForm)data.roiId=app.contentFormCustom('getRoiId');app.tracking.gtmPush(data);app.tracking.gaSendEvent({eventCategory:'Quick Inquiry Forms',eventAction:'formSubmit',eventLabel:'quickInquiry',hitCallback:function(){$form.data('submitTracked',true);$form[0].submit()}});setTimeout(function(){$form[0].submit()},5e3);return false})}());$targetElem.data(NAMESPACE,api);return api}}(app));
(function(app){var NAMESPACE='contentQuickInquirySimple',defaults={},conf,$=app.$,$quickInquirySimple,$quickInquirySimpleForm,toggleWidgetApi;app.ready(function(){conf=_.defaults({},app.getConfig(NAMESPACE),defaults);$quickInquirySimple=$('.content-quick-inquiry-simple');$quickInquirySimpleForm=$($quickInquirySimple.data('targetForm'));if(!$quickInquirySimple.length||!$quickInquirySimpleForm.length)return;if(!$.fn.toggleWidget)throw'jQuery toggleWidget plugin missing';(function(){$quickInquirySimple.find('.content-quick-inquiry-simple__toggle-content-inner').prepend($quickInquirySimpleForm);$quickInquirySimpleForm.addClass('content-quick-inquiry-simple-form')}());(function(){var $quickInquirySimpleToggle=$quickInquirySimple.find('.content-quick-inquiry-simple__toggle');$quickInquirySimpleToggle.toggleWidget({toggleBtnSelector:'.content-quick-inquiry-simple__toggle-close-btn',toggleContentSelector:'.content-quick-inquiry-simple__toggle-content',openClass:'content-quick-inquiry-simple__toggle--open'});toggleWidgetApi=$quickInquirySimpleToggle.data('toggleWidget');$quickInquirySimpleToggle.on('beforeOpen.toggleWidget.'+NAMESPACE,function(){$quickInquirySimple.addClass('content-quick-inquiry-simple--toggle-visible')});$quickInquirySimpleToggle.on('afterClose.toggleWidget.'+NAMESPACE,function(){$quickInquirySimple.removeClass('content-quick-inquiry-simple--toggle-visible')});if($quickInquirySimpleForm.hasClass('content-form-thank-you'))toggleWidgetApi.open()}());$quickInquirySimple.on('click.'+NAMESPACE,'.content-quick-inquiry-simple__trigger-btn',function(event){toggleWidgetApi.open()})})}(app));
(function(app){var NAMESPACE='contentCampaignTeaser',defaults={selector:'.content-campaign-teaser',autoStart:true},conf,$=app.$;app.ready(function(){conf=_.defaults({},app.getConfig(NAMESPACE),defaults);if(!window.lazyElements)throw'lazyElements plugin missing';app.register(NAMESPACE,Module);if(conf.autoStart===true)$(conf.selector).each(function(){Module({targetElem:$(this)})})});var Module=function(options){return ContentCampaignTeaser(_.extend({},conf,options))},ContentCampaignTeaser=function(options){var $targetElem=$(options.targetElem);if(!$targetElem.length)return;lazyElements($targetElem.find('.content-campaign-teaser__img-link--lazy'));return{}}}(app));
(function(app){var NAMESPACE='contentCampaignTeaserAccordion',defaults={selector:'.content-campaign-teaser-accordion',autoStart:true},conf,$=app.$;app.ready(function(){conf=_.defaults({},app.getConfig(NAMESPACE),defaults);if(!window.lazyElements)throw'lazyElements plugin missing';if(!$.fn.toggleWidget)throw'jQuery toggleWidget plugin missing';app.register(NAMESPACE,Module);if(conf.autoStart===true)$(conf.selector).each(function(){Module({targetElem:$(this)})})});var Module=function(options){return ContentCampaignTeaserAccordion(_.extend({},conf,options))},ContentCampaignTeaserAccordion=function(options){var $targetElem=$(options.targetElem);if(!$targetElem.length)return;lazyElements($targetElem.find('.content-campaign-teaser-accordion__img-box--lazy'));$targetElem.find('.content-campaign-teaser-accordion__toggle').toggleWidget({toggleBtnSelector:'.content-campaign-teaser-accordion__toggle-btn',toggleContentSelector:'.content-campaign-teaser-accordion__toggle-content',openClass:'content-campaign-teaser-accordion__toggle--open'});return{}}}(app));
(function(app){var NAMESPACE='contentCategoryTeaser',defaults={selector:'.content-category-teaser',autoStart:true},conf,$=app.$;app.ready(function(){conf=_.defaults({},app.getConfig(NAMESPACE),defaults);if(!window.lazyElements)throw'lazyElements plugin missing';app.register(NAMESPACE,Module);if(conf.autoStart===true)$(conf.selector).each(function(){Module({targetElem:$(this)})})});var Module=function(options){return ContentCategoryTeaser(_.extend({},conf,options))},ContentCategoryTeaser=function(options){var $targetElem=$(options.targetElem);if(!$targetElem.length)return;lazyElements($targetElem.find('.content-category-teaser__img-wrap--lazy'));return{}}}(app));
(function(app){var NAMESPACE='news',defaults={itemsToShowIncreaseBy:5},conf,$=app.$,lazyElements,$newsOverview,$newsOverviewList,$newsOverviewItems,$showMoreBtn,showMoreUrl,pendingRequest=false,currentPage;app.ready(function(){conf=_.defaults({},app.getConfig(NAMESPACE),defaults);lazyElements=window.lazyElements||_.noop;$newsOverview=$('.news-overview');$newsOverviewList=$newsOverview.find('.news-overview__list');if(!$newsOverview.length||!$newsOverviewList.length)return;$newsOverviewItems=$newsOverviewList.find('.news-overview-item');showMoreUrl=$newsOverviewList.data('showMoreUrl');$showMoreBtn=$newsOverview.find('.news-overview__show-more-btn');$newsOverview.find('.news-overview__filter-form').on('change.'+NAMESPACE,function(){$newsOverview.find('.news-overview__filter-form')[0].submit()});$showMoreBtn.on('click.'+NAMESPACE,function(){api.showMore()});(function(){var savedScrollPosition=document.cookie.match(/newsOverviewLastScrollPosition=(.*?)(?:;|$)/);if(savedScrollPosition)savedScrollPosition=parseInt(savedScrollPosition[1],10);var savedCurrentPage=document.cookie.match(/newsOverviewCurrentPage=(.*?)(?:;|$)/);if(savedCurrentPage)savedCurrentPage=parseInt(savedCurrentPage[1],10);if(Number.isInteger(savedScrollPosition)&&savedScrollPosition>0)if(Number.isInteger(savedCurrentPage)&&savedCurrentPage>0){loadMoreUntilListStateRestored().done(function(){window.scrollTo(0,savedScrollPosition)})}else{currentPage=0;window.scrollTo(0,savedScrollPosition)}
function loadMoreUntilListStateRestored(){var promise=$.Deferred();iterateRequest();return promise
function iterateRequest(){api.showMore().done(function(){if(currentPage===savedCurrentPage){promise.resolve()}else iterateRequest()})}}}());(function(){window.addEventListener('unload',function(){saveCurrentScrollPosition();saveCurrentPage()})
function saveCurrentScrollPosition(){var exdate=new Date();exdate.setDate(exdate.getDate()+1);exdate="; expires="+exdate.toUTCString()+'; path=/;';document.cookie="newsOverviewLastScrollPosition="+window.scrollY+exdate}
function saveCurrentPage(){var exdate=new Date();exdate.setDate(exdate.getDate()+1);exdate="; expires="+exdate.toUTCString()+'; path=/;';document.cookie="newsOverviewCurrentPage="+currentPage+exdate}}());app.register(NAMESPACE,api)});var api={showMore:function(){if(pendingRequest===true||$.isPlainObject(pendingRequest))return;$showMoreBtn.addClass('news-overview__show-more-btn--pending-request');pendingRequest=$.ajax({type:'GET',url:showMoreUrl,dataType:'json',success:function(response){if(!response||!response.content||!response.link){$showMoreBtn.remove();return};showMoreUrl=response.link;currentPage=getCurrentPageFromLink(response.link);$newsOverviewList.append(response.content);$newsOverviewItems=$newsOverviewList.find('.news-overview-item');lazyElements($newsOverviewItems.find('.content-teaser-2__target-img-wrap--lazy'),true)},error:function(jqXhr,textStatus,errorThrown){console.error(textStatus,errorThrown)}}).always(function(){pendingRequest=false;$showMoreBtn.removeClass('news-overview__show-more-btn--pending-request')});return pendingRequest.promise()}}
function getCurrentPageFromLink(link){var currentPage=window.decodeURIComponent(link);currentPage=currentPage.match(/\[page]=(\d+)&?/);if(currentPage){currentPage=parseInt(currentPage[1],10);return currentPage-1}else return 0}}(app));
(function(app){var NAMESPACE='fairReport',defaults={resultsInputSelector:'#fair-report__results',selectedRackTypesDelimiter:'|'},conf,$=app.$,$fairReport,$stepIndication,$fairReportForm,$fairReportFormSurvey,$fairReportFormResultsList,$fairReportFormResultsInput,sliderApi,getTemplate,stepIndicationTpl,resultsListTpl,currentState,viewportIsMobile;app.ready(function(){conf=_.defaults({},app.getConfig(NAMESPACE),defaults);$fairReport=$('.fair-report');$stepIndication=$fairReport.find('.fair-report__step-indication');$fairReportForm=$('.fair-report-form');$fairReportFormSurvey=$fairReport.find('.fair-report-form__survey');$fairReportFormResultsList=$fairReportForm.find('.fair-report-form__results-list');$fairReportFormResultsInput=$('#fair-report-form__results');getTemplate=app.utils.getTemplate;if(!$fairReport.length||!getTemplate||!$.fn.slick||!$.fn.toggleWidget)return;if(!app.viewportHelper)throw'viewportHelper module missing';stepIndicationTpl=getTemplate('#fair-report__step-indication-item-template');if(!stepIndicationTpl)return;resultsListTpl=getTemplate('#fair-report__results-list-template');if(!resultsListTpl)return;sliderApi=$fairReportFormSurvey.slick({autoplay:false,speed:300,swipe:false,draggable:false,touchMove:false,fade:true,dots:false,slidesToShow:1,slidesToScroll:1,arrows:false,waitForAnimate:false,adaptiveHeight:true,mobileFirst:true,responsive:[{breakpoint:767,settings:{adaptiveHeight:false}}]}).slick('getSlick');(function(){$fairReport.on('click.'+NAMESPACE,'.fair-report__step-indication-item',function(event){var idx=$(this).index();sliderApi.goTo(idx);module.renderStepIndication()});$fairReport.on('click.'+NAMESPACE,'.fair-report-item--question .fair-report-item__btn',function(event){var $btn=$(this),btnIdx=$btn.index(),$item=$btn.closest('.fair-report-item--question'),itemIdx=$item.index(),currentStateItem=currentState[itemIdx];if($btn.hasClass('fair-report-item__btn--next')){sliderApi.next();module.renderSurvey();module.renderStepIndication();if(viewportIsMobile&&app.scrollHelper&&typeof app.scrollHelper.scrollTo==='function')app.scrollHelper.scrollTo($fairReportForm.offset().top-70);return};if(currentStateItem.indexOf(btnIdx)!==-1){currentStateItem.splice(currentStateItem.indexOf(btnIdx),1)}else currentStateItem.push(btnIdx);currentStateItem.sort(function(a,b){if(a>b)return 1;if(a<b)return-1;return 0});module.renderSurvey()});$fairReport.on('click.'+NAMESPACE,'.fair-report__restart-btn',function(event){window.location.reload()})}());(function(){app.contentForm({targetElem:$fairReportForm,enableValidation:true});app.contentFormCustom({targetElem:$fairReportForm});var pendingRequest=false,formValidationApi=$fairReportForm.data('contentForm').formValidationApi;formValidationApi.off('form:submit');formValidationApi.on('form:submit',function(){if(pendingRequest===true||$.isPlainObject(pendingRequest))return false;$fairReportForm.addClass('content-form--is-pending-submission');pendingRequest=$.ajax({type:'POST',dataType:'json',url:$fairReportForm.attr('action'),data:$fairReportForm.serialize(),success:function(response){if(!response.success||response.success===false){console.error(response);return};$fairReportForm.find('.fair-report-form__fieldset').html('');$fairReportForm.find('.fair-report__restart-btn').removeClass('fair-report__restart-btn--hidden')},error:function(jqXhr,textStatus,errorThrown){$fairReportForm.find('.fair-report-form__fieldset').html(textStatus+': '+errorThrown);$fairReportForm.find('.fair-report__restart-btn').removeClass('fair-report__restart-btn--hidden');console.error(textStatus,errorThrown)}}).always(function(){$fairReportForm.removeClass('content-form--is-pending-submission');pendingRequest=false});return false})}());app.register(NAMESPACE,module);currentState=_.map(Array($fairReportForm.find('.fair-report-item--question').length),function(){return[]});if(app.pageHeader&&typeof app.pageHeader.unfix==='function')app.pageHeader.unfix();app.on('breakpointDebounced.viewportHelper',breakpointHandler);breakpointHandler();module.renderSurvey()
function breakpointHandler(){viewportIsMobile=(app.viewportHelper.getViewportState().width<768)}});var module={renderSurvey:function(){var $currentItem,currentItemIdx=sliderApi.currentSlide,currentStateItem=currentState[currentItemIdx];if(currentItemIdx===sliderApi.slideCount-1){listChosenAnswersInResults(currentState)}else{$currentItem=sliderApi.$slides.eq(currentItemIdx);$currentItem.find('.fair-report-item__btn').not('.fair-report-item__btn--next').each(function(idx,oldClass){$(this).toggleClass('fair-report-item__btn--active btn--is-active',currentStateItem.indexOf(idx)!==-1)});if($currentItem.hasClass('fair-report-item--required'))$currentItem.find('.fair-report-item__btn--next').attr('disabled',currentStateItem.length===0)};return this},renderStepIndication:function(){var currentItemIdx=sliderApi.currentSlide,numberOfStepsAnswered=_.reject(currentState,function(item){return item.length===0}).length,numberOfSteps=numberOfStepsAnswered;if(currentItemIdx>=numberOfStepsAnswered)numberOfSteps=currentItemIdx+1;if(numberOfStepsAnswered===sliderApi.slideCount-1)numberOfSteps=sliderApi.slideCount;$stepIndication.html(stepIndicationTpl({numberOfSteps:numberOfSteps,currentStepIndex:currentItemIdx+1,lastStepIsResult:numberOfSteps===sliderApi.slideCount}));return this}}
function listChosenAnswersInResults(state){var mappedState=_.map(state,function(item,idx){var $item=$fairReportForm.find('.fair-report-item--question').eq(idx),question=$item.children('.fair-report-item__headline').text(),answers=_.map(item,function(btnIdx){return $item.find('.fair-report-item__btn').eq(btnIdx).text()});return{question:question,answers:answers}});$fairReportFormResultsList.html(resultsListTpl({items:mappedState}));mappedState=_.map(mappedState,function(item,idx){item.answers=item.answers.join(', ');return item});$fairReportFormResultsInput.val(JSON.stringify(mappedState));$fairReportFormSurvey.one('afterChange',function(){setTimeout(function(){sliderApi.setPosition()},100)})}
function statesAreEqual(stateA,stateB){return _.every(stateA,function(itemA,keyA){return _.difference(itemA,stateB[keyA]).length===0})}}(app));
(function(app){var NAMESPACE='contentTable',defaults={selector:'.contenttable',autoStart:true},conf,$=app.$;app.ready(function(){conf=_.defaults({},app.getConfig(NAMESPACE),defaults);app.register(NAMESPACE,Module);if(conf.autoStart===true)$(conf.selector).each(function(){Module({targetElem:$(this)})})});var Module=function(options){options=_.extend({},conf,options);return ContentTable(options)},ContentTable=function(options){var $targetElem=$(options.targetElem);if(!$targetElem.length)return;$targetElem.addClass('content-table').removeAttr('width');$targetElem.find('tr').addClass('content-table__row').removeAttr('style').removeAttr('bgcolor');$targetElem.find('td').addClass('content-table__cell').removeAttr('style').removeAttr('width');$targetElem.find('th').addClass('content-table__cell content-table__cell--header').removeAttr('style');return{}}}(app));
(function(app){var NAMESPACE='contentTabs2',defaults={selector:'.page-content .content-tabs-2',autoStart:true},conf,$=app.$;app.ready(function(){conf=_.defaults({},app.getConfig(NAMESPACE),defaults);if(!$.fn.toggleWidget)throw'jQuery toggleWidget plugin missing';app.register(NAMESPACE,Module);if(conf.autoStart===true)$(conf.selector).each(function(){Module({targetElem:$(this)})})});var Module=function(options){return ToggleTabs(_.extend({},conf,options))},ToggleTabs=function(options){var $targetElem=$(options.targetElem),$tabLinks=$targetElem.find('.content-tabs-2__tab-link'),$tabContents=$targetElem.find('.content-tabs-2__tab-content');if(!$targetElem.length||!$tabLinks.length)return;$tabLinks.each(function(){var $link=$(this),$tabContent=$tabContents.filter($link.attr('href')),toggleWidgetApi;if(!$tabContent.length)return;toggleWidgetApi=$tabContent.toggleWidget({toggleBtnSelector:false,toggleContentSelector:'.content-tabs-2__tab-content-toggle-wrap',openClass:'content-tabs-2__tab-content--open'}).data('toggleWidget');$link.click(function(event){var tabIsOpen=$link.hasClass('content-tabs-2__tab-link--open');event.preventDefault();toggleWidgetApi.toggle();$tabLinks.removeClass('content-tabs-2__tab-link--open');if(tabIsOpen===false)$link.addClass('content-tabs-2__tab-link--open');$tabContents.filter('.content-tabs-2__tab-content--open').not($tabContent).each(function(){$(this).data('toggleWidget').close()})})})}}(app));
(function(app){var NAMESPACE='tuggerTrainConsultant',defaults={autoStart:true},conf,$=app.$,getTemplate,trackingApi,stepIndicationTpl,resultsListTpl,viewportIsMobile,pathItemPrototype={id:null,chosenAnswers:[],finished:false},ITEM_TYPE_QUESTION='question',ITEM_TYPE_RESULT='result';app.ready(function(){conf=_.defaults({},app.getConfig(NAMESPACE),defaults);getTemplate=app.utils.getTemplate;trackingApi=app.tracking;if(!getTemplate||!app.scrollHelper||!$.fn.slick||!$.fn.toggleWidget)return;if(!$('#tugger-train-consultant-main__step-indication-item-template').length)return;stepIndicationTpl=getTemplate('#tugger-train-consultant-main__step-indication-item-template');if(!stepIndicationTpl)return;resultsListTpl=getTemplate('#tugger-train-consultant__results-list-template');if(!resultsListTpl)return;app.on('breakpointDebounced.viewportHelper',breakpointHandler);breakpointHandler();app.register(NAMESPACE,Module);if(conf.autoStart===true)$('.page-content .tugger-train-consultant').each(function(){Module({targetElem:$(this)})})
function breakpointHandler(){viewportIsMobile=(app.viewportHelper.getViewportState().width<768)}});var Module=function(options){options=_.extend({},conf,options);return TuggerTrainConsultant(options)},ApiProto=function(options){var api,sliderApi,mainFooterToggleWidgetApi1,pathState=[],currentStepIdx=0,$tuggerTrainConsultant=$(options.targetElem);if(!$tuggerTrainConsultant.length)return;var $tuggerTrainConsultantMainInner=$tuggerTrainConsultant.find('.tugger-train-consultant-main__inner'),$stepIndication=$tuggerTrainConsultant.find('.tugger-train-consultant-main__step-indication'),$resultsForm=$tuggerTrainConsultant.find('.tugger-train-consultant-form'),$resultsList=$tuggerTrainConsultant.find('.tugger-train-consultant__results-list'),$chosenAnswersInput=$resultsForm.find('input[name*="chosen_answers"]'),$mainFooterToggleTrigger1=$tuggerTrainConsultant.find('.tugger-train-consultant-main__item--result .tugger-train-consultant-main__item-toggle-trigger--1'),$items=$tuggerTrainConsultant.find('.tugger-train-consultant-main__item');(function(){mainFooterToggleWidgetApi1=$tuggerTrainConsultant.find('.tugger-train-consultant-main__footer-content .toggle-widget').eq(0).data('toggleWidget');sliderApi=$tuggerTrainConsultantMainInner.slick({autoplay:false,speed:300,swipe:false,draggable:false,touchMove:false,fade:true,dots:false,slidesToShow:1,slidesToScroll:1,arrows:false,waitForAnimate:false,adaptiveHeight:true,mobileFirst:true,responsive:[{breakpoint:767,settings:{adaptiveHeight:false}}]}).slick('getSlick');if($tuggerTrainConsultant.closest('.content-splash-teaser').length)$tuggerTrainConsultant.closest('.content-splash-teaser').on('afterShow.contentSplashTeaser',function(){setTimeout(function(){sliderApi.refresh()},300)})}());(function(){$tuggerTrainConsultant.on('click.'+NAMESPACE,'.tugger-train-consultant-main__step-indication-item',function(event){currentStepIdx=$(this).index();api.renderSurvey();api.renderStepIndication()});$tuggerTrainConsultant.on('click.'+NAMESPACE,'.tugger-train-consultant-main__item--question .tugger-train-consultant-main__item-btn--answer',function(event){var $btn=$(this),answerIdx=$btn.index(),$item=$btn.closest('.tugger-train-consultant-main__item--question'),itemData=api.getDOMItemData($item),pathItemData=getPathItemData(pathState,itemData.id)||createPathItem(itemData.id),pathItemIsFinished=pathItemData.finished===true;if(itemData.multipleChoice===false)pathItemData.chosenAnswers=[];if($btn.hasClass('tugger-train-consultant-main__item-btn--active')){if(pathItemData.chosenAnswers.indexOf(answerIdx)!==-1)pathItemData.chosenAnswers.splice(pathItemData.chosenAnswers.indexOf(answerIdx),1)}else pathItemData.chosenAnswers.push(answerIdx);pathState=pathState.slice(0,_.findIndex(pathState,function(item){return item.id===pathItemData.id}));if(itemData.multipleChoice===false&&pathItemData.chosenAnswers.length===1){pathItemData.finished=true;updatePathItem(pathState,pathItemData);goToNextItem();var domItemContent=getDOMItemContent(pathState,$items,itemData.id);if(trackingApi&&!pathItemIsFinished)trackingApi.gtmPush({event:'tuggerTrainConsultantStepFinished',question:domItemContent.question,answers:domItemContent.answers.join(', ')})}else updatePathItem(pathState,pathItemData);api.renderSurvey();api.renderStepIndication()});$tuggerTrainConsultant.on('click.'+NAMESPACE,'.tugger-train-consultant-main__item--question .tugger-train-consultant-main__item-btn--next',function(event){var $btn=$(this),$item=$btn.closest('.tugger-train-consultant-main__item--question'),itemData=api.getDOMItemData($item),pathItemData=getPathItemData(pathState,itemData.id)||createPathItem(itemData.id),pathItemIsFinished=pathItemData.finished===true;pathItemData.finished=true;updatePathItem(pathState,pathItemData);goToNextItem();var domItemContent=getDOMItemContent(pathState,$items,itemData.id);if(trackingApi&&!pathItemIsFinished)trackingApi.gtmPush({event:'tuggerTrainConsultantStepFinished',question:domItemContent.question,answers:domItemContent.answers.join(', ')});api.renderSurvey();api.renderStepIndication();api.scrollToTopIfMobile()});$tuggerTrainConsultant.find('.tugger-train-consultant-main__footer-content .toggle-widget').off('beforeOpen.toggleWidget.contentRow').eq(0).on('beforeClose.toggleWidget',function(event){$mainFooterToggleTrigger1.removeClass('tugger-train-consultant-main__item-toggle-trigger--active')});$mainFooterToggleTrigger1.on('click.'+NAMESPACE,function(event){$mainFooterToggleTrigger1.addClass('tugger-train-consultant-main__item-toggle-trigger--active');mainFooterToggleWidgetApi1.open()})}());api={renderSurvey:function(){var currentPathItemData=getPathItemData(pathState,pathState[currentStepIdx].id),$currentItem=getDOMItemByPathItemId($items,currentPathItemData.id),currentItemData=this.getDOMItemData($currentItem);if(!currentItemData){console.error('data for current item missing:',$currentItem);return this};if(currentItemData.type===ITEM_TYPE_RESULT){updateResultsInput(pathState);updateResultsList(pathState)}else if(currentItemData.type===ITEM_TYPE_QUESTION){$currentItem.find('.tugger-train-consultant-main__item-btn--answer').each(function(idx){$(this).toggleClass('tugger-train-consultant-main__item-btn--active',currentPathItemData.chosenAnswers.indexOf(idx)!==-1)});$currentItem.find('.tugger-train-consultant-main__item-btn--next').attr('disabled',currentItemData.required===true?currentPathItemData.chosenAnswers.length===0:false)};sliderApi.goTo(currentPathItemData.id);return this},renderStepIndication:function(){var $lastItem=getDOMItemByPathItemId($items,pathState[pathState.length-1].id),lastItemData=this.getDOMItemData($lastItem),lastStepIsResult=(function(){return lastItemData.type===ITEM_TYPE_RESULT}());$stepIndication.html(stepIndicationTpl({numberOfSteps:pathState.length,currentStepIndex:currentStepIdx,lastStepIsResult:lastStepIsResult}));return this},scrollToTopIfMobile:function(force){if(force===true||viewportIsMobile)app.scrollHelper.scrollTo($tuggerTrainConsultant.offset().top);return this},getNextDOMItemAtPath:function(path){if(!_.isArray(path))throw'path must be array: '+path;var self=this,lastItemInPath=path[path.length-1],targetItemIdx=null;if(path.length===0){targetItemIdx=0}else if(lastItemInPath.finished===true){$items.slice(lastItemInPath.id+1).each(function(){var itemData=self.getDOMItemData($(this)),answersToMatch=itemData.parents[lastItemInPath.id];if(!answersToMatch)return;if(answersToMatch.length===0||(answersToMatch&&_.intersection(lastItemInPath.chosenAnswers,answersToMatch).length)){targetItemIdx=itemData.id;return false}})}else targetItemIdx=lastItemInPath.id;if(targetItemIdx===null)return false;return getDOMItemByPathItemId($items,targetItemIdx)},getDOMItemData:function($item){var data={required:false,multipleChoice:false};if(!$item.length)return;var type=$item.attr('class').match(/tugger-train-consultant-main__item--(question|result)/i);if(type===null)throw'type not retrievable, not matching expression - class syntax faulty';type=type[1];if(type===ITEM_TYPE_QUESTION)data=$.extend(data,{required:$item.data('required'),multipleChoice:$item.data('multipleChoice')});return $.extend(data,{id:$items.index($item),type:type,parents:$item.data('parents')})}};pathState.push(createPathItem(0));api.renderSurvey();api.renderStepIndication();return api
function updateResultsInput(state){state=_.reject(state,function(item){return item.finished!==true});var mappedState=_.map(state,function(item){return getDOMItemContent(state,$items,item.id)});mappedState=_.reduce(mappedState,function(memo,item){return memo+item.question+': '+item.answers.join(', ')+' | '},'');$chosenAnswersInput.val(mappedState)}
function updateResultsList(state){state=_.reject(state,function(item){return item.finished!==true});var mappedState=_.map(state,function(item){return getDOMItemContent(state,$items,item.id)});$resultsList.html(resultsListTpl({items:mappedState}));$tuggerTrainConsultantMainInner.one('afterChange',function(){setTimeout(function(){sliderApi.setPosition()},100)})}
function goToNextItem(){var $nextItem=api.getNextDOMItemAtPath(pathState);if($nextItem===false)throw'Could not determine next DOM item for path. Make sure to define proper parent-child relations';var nextItemData=api.getDOMItemData($nextItem);pathState.push(createPathItem(nextItemData.id));currentStepIdx+=1}},TuggerTrainConsultant=function(options){var $targetElem=$(options.targetElem),apiProto=ApiProto(options);if(!apiProto)return;var api=Object.create(apiProto);_.extend(api,{});$targetElem.data(NAMESPACE,api);return api}
function createPathItem(id){if(isNaN(id))return;return $.extend(true,{},pathItemPrototype,{id:id})}
function getPathItemData(path,id){var targetItem=_.findWhere(path,{id:id});if(!targetItem)return false;return app.deepCopy(targetItem)}
function getDOMItemByPathItemId($items,itemId){return $items.eq(itemId)}
function getDOMItemContent(pathState,$items,itemId){var $targetItem=getDOMItemByPathItemId($items,itemId);if(!$targetItem.length)return false;var pathItem=getPathItemData(pathState,itemId);if(!pathItem)return false;var question=$.trim($targetItem.find('.tugger-train-consultant-main__item-headline').text()),answers=_.map(pathItem.chosenAnswers,function(btnIdx){return $.trim($targetItem.find('.tugger-train-consultant-main__item-btn').eq(btnIdx).text())});return{question:question,answers:answers}}
function updatePathItem(path,pathItemData){var targetItemIdx=_.findIndex(path,function(item){return item.id===pathItemData.id});if(targetItemIdx!==-1){path.splice(targetItemIdx,1,pathItemData)}else path.push(pathItemData)}
function pathsAreEqual(pathA,pathB){if(pathA.length!==pathB.length)return false;return _.every(pathA,function(itemA,keyA){return _.isEqual(itemA,pathB[keyA])})}}(app));
(function(app){var NAMESPACE='sparepartsToggle',defaults={selector:'.page-content .spareparts-toggle'},conf,$=app.$;app.ready(function(){conf=_.defaults({},app.getConfig(NAMESPACE),defaults);if(!$.fn.toggleWidget)throw'jQuery toggleWidget plugin missing';var $toggle=$(conf.selector);if(!$toggle.length)return;$toggle.toggleWidget()})}(app));
(function(app){var NAMESPACE='serviceInquiry',defaults={selector:'.page-content .service-inquiry'},conf,$=app.$;app.ready(function(){conf=_.defaults({},app.getConfig(NAMESPACE),defaults);if(!$.fn.toggleWidget)throw'jQuery toggleWidget plugin missing';var $serviceInquiry=$(conf.selector);if(!$serviceInquiry.length)return;$serviceInquiry.toggleWidget({toggleBtnSelector:'.service-inquiry__trigger-btn',toggleContentSelector:'.service-inquiry__content',openClass:'service-inquiry--toggle-open'});var $serviceInquiryTriggerBtn=$serviceInquiry.find('.service-inquiry__trigger-btn'),$serviceInquiryServiceType=$serviceInquiry.find('.service-inquiry__service-type');if(!$serviceInquiryTriggerBtn.length||!$serviceInquiryServiceType.length)return;$serviceInquiryServiceType.on('change',selectChangeHandler);selectChangeHandler()
function selectChangeHandler(){$serviceInquiryTriggerBtn.attr('disabled',$serviceInquiryServiceType.val()===''?'disabled':null)}})}(app));
(function(app){var NAMESPACE='cSlider',defaults={autoStart:true,resizeHandler:function(event,api,$el){var viewportWidth=app.viewportHelper.getViewportState().width,topValue='';if(($el.classList.contains('c-slider--layout-0')&&viewportWidth<992)||($el.classList.contains('c-slider--layout-1')&&viewportWidth<768)){var slideImgWrapHeight=api.$slides.eq(api.currentSlide)[0].querySelector('.c-slider__slide-img-wrap').offsetHeight;topValue=slideImgWrapHeight/2};api.$prevArrow.css('top',topValue);api.$nextArrow.css('top',topValue)},defaultSlickSettings:{autoplay:false,autoplaySpeed:3e3,speed:350,infinite:true,swipe:(function(){return!!Modernizr.touchevents}()),fade:false,dots:true,dotsClass:'c-slider__dot-nav',slidesToShow:1,slidesToScroll:1,centerMode:true,centerPadding:null,variableWidth:true,arrows:true,prevArrow:'<button type="button" class="c-slider__arrow c-slider__arrow-prev" tabindex="-1"><svg class="svg-icon svg-icon--arrow"><use xlink:href="#kit--arrow"></use></svg>Prev</button>',nextArrow:'<button type="button" class="c-slider__arrow c-slider__arrow-next" tabindex="-1"><svg class="svg-icon svg-icon--arrow"><use xlink:href="#kit--arrow"></use></svg>Next</button>',mobileFirst:true,customPaging:function(api,i){return'<span class="c-slider__dot-nav-btn" data-role="none">'+i+'</span>'}}},conf,lazyElements;app.ready(function(){conf=_.defaults({},app.getConfig(NAMESPACE),defaults);if(!$)throw'jQuery missing';if(!$.fn.slick)throw'jQuery slick slider missing';if(!Modernizr||Modernizr.touchevents===undefined)throw'Modernizr or Modernizr.touchevents missing';if(!app.viewportHelper)throw'viewportHelper module missing';lazyElements=window.lazyElements||_.noop;app.register(NAMESPACE,Module);if(conf.autoStart===true)document.querySelectorAll('.c-slider').forEach(function($el){Module({$el:$el})})});var Module=function(options){options=_.extend({},conf,options);if(options.$el instanceof HTMLElement===false)throw'No root HTML element supplied';return Slider(options)},ApiProto=function(options){var api;api={};return api},Slider=function(options){var apiProto=ApiProto(options);if(!apiProto)return;var api=Object.create(apiProto),$el=options.$el;if(_.isFunction(options.resizeHandler))$($el).on('setPosition',function(){var newArgs=_.toArray(arguments);newArgs.push($el);options.resizeHandler.apply(null,newArgs)});$($el).on('init',function(event,slickApi){var slides=_.toArray($el.querySelectorAll('.c-slider__slide')),currentSlideIdx=slides.indexOf(slickApi.$slides.eq(slickApi.currentSlide)[0]);if(!slides.length)return;lazyElements(slides[currentSlideIdx].querySelectorAll('.lazy-element:not(.lazy-element--rendered)'),true);if(slides[currentSlideIdx-1])lazyElements(slides[currentSlideIdx-1].querySelectorAll('.lazy-element:not(.lazy-element--rendered)'),true);if(slides[currentSlideIdx+1])lazyElements(slides[currentSlideIdx+1].querySelectorAll('.lazy-element:not(.lazy-element--rendered)'),true)}).on('init afterChange',function(event,slickApi){var $dotNav=$el.querySelector('.c-slider__dot-nav');if(slickApi.slideCount>10&&app.viewportHelper.getViewportState().width<768){$dotNav.classList.add('c-slider__dot-nav--show-indication')}else $dotNav.classList.remove('c-slider__dot-nav--show-indication');$dotNav.dataset.totalSlides=slickApi.slideCount;$dotNav.dataset.currentSlideNumber=slickApi.currentSlide+1}).on('beforeChange',function(event,slickApi,currentSlide,nextSlide){var slides=_.toArray($el.querySelectorAll('.c-slider__slide')),direction=(function(){if(currentSlide===slickApi.slideCount-1&&nextSlide===0){return 1}else if(currentSlide===0&&nextSlide===slickApi.slideCount-1){return 0}else if(nextSlide>currentSlide){return 1}else return 0}()),currentSlideIdx=slides.indexOf(slickApi.$slides.eq(currentSlide)[0]),nextSlideIdx=direction===1?currentSlideIdx+1:currentSlideIdx-1,afterNextSlideIdx=nextSlideIdx+(direction===1?1:-1);lazyElements(slides[nextSlideIdx].querySelectorAll('.lazy-element:not(.lazy-element--rendered)'),true);lazyElements(slides[afterNextSlideIdx].querySelectorAll('.lazy-element:not(.lazy-element--rendered)'),true)});(function(){var $parentTabsEl=$($el).closest('.content-tabs');if(!$parentTabsEl.length)return;$parentTabsEl.on('tabs-activate',function(event,activatedTab){if(!activatedTab.panel.find($el).length)return;slickApi.setPosition()})}());var slickApi=$($el.querySelector('.c-slider__slide-list')).slick(_.assign({},options.defaultSlickSettings,{appendDots:$el.querySelector('.c-slider__dot-nav-wrap'),appendArrows:$el.querySelector('.c-slider__inner')})).slick('getSlick');_.assign(api,{slickApi:slickApi});return api}}(app));
(function(app){var NAMESPACE='contentDivider',defaults={selector:'.content-divider',autoStart:true,breakpoints:{hideVideoBelow:768}},conf,$=app.$;app.ready(function(){conf=_.defaults({},app.getConfig(NAMESPACE),defaults);if(!app.viewportHelper)throw'viewportHelper module missing';app.register(NAMESPACE,Module);if(conf.autoStart===true)$(conf.selector).each(function(){Module({targetElem:$(this)})})});var Module=function(options){options=_.extend({},conf,options);if($(options.targetElem).hasClass('content-divider--type-4'))return ContentMediaDivider(options)},ContentMediaDivider=function(options){var $targetElem=$(options.targetElem);if(!$targetElem.length)return;var video=$targetElem.find('.content-divider__bg-video')[0];if(!video)return;app.on('breakpointDebounced.viewportHelper',breakpointHandler);breakpointHandler();return{}
function breakpointHandler(){if(app.viewportHelper.getViewportState().width<options.breakpoints.hideVideoBelow){$targetElem.addClass('content-divider--bg-video-hidden');video.pause()}else{$targetElem.removeClass('content-divider--bg-video-hidden');video.play()}}}}(app));
/**
 * Content text image
 * Collection
 */
(function( app ) {
    /**
     * Module Namespace
     * Use to register module and events.
     */
    var NAMESPACE = 'contentTextImage';

    /**
     * Default configuration
     * Required configuration to ensure minimal functionality.
     */
    var defaults = {
        selector: '.content-text-image',
        autoStart: true
    };

    /**
     * Private variables/state
     * Variables not to be exposed, nor inherited or modified.
     * e.g. shortcuts to dependencies or variables to spare memory.
     */
    var conf;
    var $ = app.$;

    // Module startup
    // The DOM is ready to be manipulated
    app.ready(function() {
        // apply custom config if present
        conf = _.defaults({}, app.getConfig(NAMESPACE), defaults);

        // set private variables and check dependencies


        // Register Module
        app.register(NAMESPACE, Module);

        // Auto-initialize collection
        if ( conf.autoStart === true ) {
            $(conf.selector).each(function() {
                Module({
                    targetElem: $(this)
                });
            });
        }
    });

    /**
     * Module api
     * Return new instances of a prototype or plain functionality.
     * Depending on options supplied you may choose what object/functionality to run/return.
     */
    var Module = function( options ) {
        options = _.extend({}, conf, options);

        if ( $(options.targetElem).find('.content-text-image__video').length ) {
            return ContentTextVideo(options);
        }
    };

    var ContentTextVideo = function( options ) {
        var $targetElem = $(options.targetElem);
        if ( !$targetElem.length ) return;

        var video = $targetElem.find('.content-text-image__video')[0];
        if ( !video ) return;

        $targetElem.find('.content-text-image__media-wrap')
            .one('click', function( event ) {
                $(this).addClass('content-text-image__media-wrap--video-visible');
                var promise = video.play();
                if ( promise !== undefined ) {
                    // catch exception to avoid console error message
                    promise.catch(_.noop);
                }
            });

        // no methods yet
        return {};
    };

}(app));
(function(app){var NAMESPACE='countdownBar',defaults={autoStart:true},conf;app.ready(function(){conf=_.defaults({},app.getConfig(NAMESPACE),defaults);app.register(NAMESPACE,Module);if(conf.autoStart===true)document.querySelectorAll('.countdown-bar').forEach(function($el){Module({$el:$el})})});var Module=function(options){options=_.extend({},conf,options);if(options.$el instanceof HTMLElement===false)throw'No root HTML element supplied';return CountdownBar(options)},ApiProto=function(options){var api;api={};return api},CountdownBar=function(options){var apiProto=ApiProto(options);if(!apiProto)return;var api=Object.create(apiProto),$el=options.$el,$timerSeconds=$el.querySelector('.countdown-bar__timer-seconds'),countdownDate=new Date($el.dataset.countdown).getTime(),x=setInterval(function(){var now=new Date().getTime(),distance=countdownDate-now,seconds=Math.floor(distance/1e3);if($timerSeconds)$timerSeconds.innerHTML=seconds.toLocaleString('de-DE');if(distance<0)clearInterval(x)},1e3);_.extend(api,{});return api}}(app));
(function($){'use strict';var mdMql=window.matchMedia('(min-width: 768px)'),slickSettings={swipe:(function(){return!!Modernizr.touchevents}()),dots:true,dotsClass:'content-slideshow__dot-nav',prevArrow:'<button type="button" class="content-slideshow__arrow content-slideshow__arrow-prev" tabindex="-1"><svg class="svg-icon svg-icon--arrow"><use xlink:href="#kit--arrow"></use></svg>Prev</button>',nextArrow:'<button type="button" class="content-slideshow__arrow content-slideshow__arrow-next" tabindex="-1"><svg class="svg-icon svg-icon--arrow"><use xlink:href="#kit--arrow"></use></svg>Next</button>',customPaging:function(api,i){return'<span class="content-slideshow__dot-nav-btn fas-ui__item-slider-dot-nav-btn" data-role="none">'+i+'</span>'}},Toggle=function(el,options){this.el=el;this.$el=$(el);this._config=$.extend({toggleBtn:'.toggle__btn',toggleContent:'.toggle__content',toggleClass:'toggle--open'},options);this._init()};Toggle.prototype={toggle:function(silent){if(this.isOpen===true){this.close(silent)}else this.open(silent)},open:function(silent){if(this.isOpen===true)return;this.isOpen=true;this.$el.addClass(this._config.toggleClass);if(!silent)this.$el.trigger('toggle',[this.isOpen,this])},close:function(silent){if(this.isOpen===false)return;this.isOpen=false;this.$el.removeClass(this._config.toggleClass);if(!silent)this.$el.trigger('toggle',[this.isOpen,this])},_init:function(){var self=this;this.isOpen=this.$el.hasClass(this._config.toggleClass);this.$content=this.$el.find(this._config.toggleContent);this.$el.on('click',this._config.toggleBtn,function(event,silent){silent=silent!==undefined?!!silent:false;if(mdMql.matches){self.open(silent)}else self.toggle(silent)})}}
function slideOnToggle(state,toggle){state?toggle.$content.slideDown():toggle.$content.slideUp()}
function lazyLoadImagesOnToggle(e,state,toggle){if(state)lazyElements(toggle.el.querySelectorAll('.lazy-element'),true)}
function updateSlick(e,state,toggle){var sliderEl=state&&toggle.el.querySelector('.fas-ui__item-slider');if(sliderEl)if(sliderEl.slick){sliderEl.slick.refresh()}else $(sliderEl).addClass('content-slideshow--type-2').slick(slickSettings)};$(function(){$('.fas-ui').each(function(){var $root=$(this),minHeight=$root.css('min-height').replace('px',''),groups=[],items=[];$root.find('.fas-ui__group').each(function(){var $group=$(this);groups.push(new Toggle(this,{toggleBtn:'.fas-ui__group-icon',toggleContent:'.fas-ui__group-content',toggleClass:'fas-ui__group--open'}));$group.on('toggle',function(event,state,toggle){if(state)groups.forEach(function(group){if(group.el===toggle.el)return;if(group.isOpen)group.close()});slideOnToggle(state,toggle);var firstItemInGroup=items.find(function(item){return $group.find(item.$el).length});if(!firstItemInGroup.isOpen)firstItemInGroup.$el.find('.fas-ui__item-title').trigger('click')}).find('.fas-ui__item').each(function(){items.push(new Toggle(this,{toggleBtn:'.fas-ui__item-title',toggleContent:'.fas-ui__item-content',toggleClass:'fas-ui__item--open'}))}).on('toggle',function(e,state,toggle){e.stopPropagation();if(state)items.forEach(function(item){if(item.el===toggle.el)return;if(item.isOpen)item.close()});if(!mdMql.matches){slideOnToggle(state,toggle)}else{var contentHeight=toggle.$content.outerHeight(),rootHeight=$root.height();if(contentHeight>rootHeight){$root.css('min-height',toggle.$content.outerHeight())}else $root.css('min-height',Math.max(minHeight,contentHeight))}}).on('toggle',updateSlick).one('toggle',lazyLoadImagesOnToggle)});mdMql.addListener(function(){$root.removeAttr('style');items.forEach(function(item){if(item.isOpen)item.toggle(true);item.$content.removeAttr('style')})});$root.find('.fas-ui__group-icon').first().trigger('click');$root.find('.fas-ui__item-title').first().trigger('click')})})})(jQuery);
(function(app){var NAMESPACE='schedule',defaults={autoStart:true,isMobileBelow:768},conf,viewportIsMobile,TAB_ACTIVE_CLASS='schedule__tab--active',TAB_CONTENT_ACTIVE_CLASS='schedule__tab-content--active';app.ready(function(){conf=_.defaults({},app.getConfig(NAMESPACE),defaults);app.register(NAMESPACE,Module);if(conf.autoStart===true)document.querySelectorAll('.schedule').forEach(function($el){Module({$el:$el})})});var Module=function(options){options=_.extend({},conf,options);if(options.$el instanceof HTMLElement===false)throw'No root HTML element supplied';return Schedule(options)},ApiProto=function(options){var api;api={};return api},Schedule=function(options){var apiProto=ApiProto(options);if(!apiProto)return;var api=Object.create(apiProto),$el=options.$el,$tabSelect=$el.querySelector('.schedule__tab-select'),$tabLinks=$el.querySelectorAll('.schedule__tab-link'),$tabContents=$el.querySelectorAll('.schedule__tab-content');$tabSelect.addEventListener('change',function(event){api.showTab($tabSelect.selectedIndex)});$tabLinks.forEach(function($tabLink){$tabLink.addEventListener('click',function(event){event.preventDefault();var tabIdx=Array.from($tabLinks).indexOf(event.target);api.showTab(tabIdx)})});$el.querySelectorAll('.schedule__dates-footer-btn').forEach(function($footerBtn){var $list=$footerBtn.closest('.schedule__dates').querySelector('.schedule__dates-list'),scheduleToggleList=ScheduleToggleList({$list:$list,$listInner:$list.querySelector('.schedule__dates-list-inner')});$footerBtn.addEventListener('click',function(event){scheduleToggleList.toggle()})});_.extend(api,{showTab:function(tabIdx){if(!$tabContents[tabIdx])return api;$tabLinks.forEach(function($tabLink){$tabLink.parentElement.classList.remove(TAB_ACTIVE_CLASS)});$tabLinks[tabIdx].parentElement.classList.add(TAB_ACTIVE_CLASS);$tabContents.forEach(function($tabContent){$tabContent.classList.remove(TAB_CONTENT_ACTIVE_CLASS)});$tabContents[tabIdx].classList.add(TAB_CONTENT_ACTIVE_CLASS)}});return api},ScheduleToggleList=function(options){var $list=options.$list,$listInner=options.$listInner,listIsExpanded=false;return{show:function(){if(listIsExpanded===true)return this;var listInnerHeight=$listInner.getBoundingClientRect().height;$list.addEventListener('transitionend',transitionEndHandler);$list.style.height=listInnerHeight+'px';listIsExpanded=true;return this},hide:function(){if(listIsExpanded===false)return this;var listInnerHeight=$listInner.getBoundingClientRect().height;$list.removeEventListener('transitionend',transitionEndHandler);$list.style.height=listInnerHeight+'px';$list.offsetHeight;$list.style.height='';listIsExpanded=false;return this},toggle:function(){if(listIsExpanded===false){return this.show()}else return this.hide()}}
function transitionEndHandler(event){if(event.target!==$list)return;$list.style.height='auto';$list.removeEventListener('transitionend',transitionEndHandler)}}}(app));
(function(app){var NAMESPACE='oneMap.Models.Location',defaults={},api=Backbone.Model.extend({defaults:{name:null,types:[],contacts:[],files:[],coordinates:{lat:null,lng:null},address1:null,postCode:null,city:null,country:null,phone:null,fax:null,url:null,email:null,routeLink:null},idAttribute:'uid'});app.register(NAMESPACE,api)}(app));
(function(app){var NAMESPACE='oneMap.Models.SalesRegion',defaults={},api=Backbone.Model.extend({defaults:{postCodes:[],mainLocationUid:null,country:null,contacts:[]},idAttribute:'uid'});app.register(NAMESPACE,api)}(app));
(function(app){var NAMESPACE='oneMap.Models.BranchRegion',defaults={},api=Backbone.Model.extend({defaults:{salesRegionUids:[],locationUids:[],mainLocationUid:null},idAttribute:'uid'});app.register(NAMESPACE,api)}(app));
(function(app){var NAMESPACE='oneMap.Collections.Locations',defaults={sortByCountryUid:2},$=app.$,mediator,integerKeys=['uid','country'],floatKeys=[],stringKeys=['name','imagePath','address1','postCode','city','phone','fax','url','email'],numberArrayKeys=['types'],stringArrayKeys=[],booleanKeys=[],currentBounds,activeLocationFilters=[4,9,3,15,2,1],locationTypeSortingOrder=[4,9,2,3,15,1],oneMapData,api=Backbone.Collection.extend({initialize:function(locations,options){this.conf=_.extend({},defaults,options);mediator=this.conf.mediator;oneMapData=this.conf.oneMapData;this.on('invalid',function(list,err){throw'Locations collection - invalid model: '+err});this.on('reset',function(){var allLocations=this.toJSONDeep();if(!allLocations.length)return;var filteredLocations=this.getFilteredLocations(),filteredLocationsMapped=_.map(filteredLocations,this.mapAttributesToFullData);mediator.trigger('locationsChange',{locations:allLocations});mediator.trigger('visibleLocationsChange',{locations:filteredLocations,locationsMapped:filteredLocationsMapped})});mediator.on('locationFiltersChange',function(data){activeLocationFilters=data.filters;var filteredLocations=this.getFilteredLocations(),filteredLocationsMapped=_.map(filteredLocations,this.mapAttributesToFullData);mediator.trigger('visibleLocationsChange',{locations:filteredLocations,locationsMapped:filteredLocationsMapped})},this);mediator.on('mapViewChange',function(mapData){currentBounds=mapData.newBounds;var filteredLocations=this.getFilteredLocations(),filteredLocationsMapped=_.map(filteredLocations,this.mapAttributesToFullData);mediator.trigger('visibleLocationsChange',{locations:filteredLocations,locationsMapped:filteredLocationsMapped})},this);mediator.on('requestLocationData',function(data){data.error=_.isFunction(data.error)?data.error:_.noop;data.uid=parseInt(data.uid);var targetModel=this.get(data.uid),targetModelAttributes;if(!targetModel){data.error();return};targetModelAttributes=app.deepCopy(targetModel.toJSON());data.success({raw:targetModelAttributes,mapped:this.mapAttributesToFullData(targetModelAttributes)})},this);mediator.on('appReady',function(){if(!locations||!locations.length);else this.trigger('reset')},this)},toJSONDeep:function(){return _.map(this.toJSON(),app.deepCopy)},parse:function(response,options){response=_.map(response,function(attributes,key){var attributesAreValidResult;if(attributes.uid===undefined){console.info('Locations Collection: uid missing (name: '+attributes.name+')');return false};if(attributes.coordinates===undefined){console.info('Locations Collection: coordinates missing (uid: '+attributes.uid+')');return false};if((attributes.coordinates.lat===-1&&attributes.coordinates.lng===-1)||(attributes.coordinates.lat===0&&attributes.coordinates.lng===0)){console.info('Locations Collection: coordinates not properly set (uid: '+attributes.uid+')');return false};if((attributes.postCode===undefined||!attributes.postCode.length)&&attributes.country===2){console.info('Locations Collection: postCode in german location missing (uid: '+attributes.uid+')');return false};if(attributes.contacts!==undefined)attributes.contacts=_.map(attributes.contacts,function(contact){if(contact.employeeUid===undefined){console.info('Locations Collection: employee uid missing in custom contact (uid: '+contact.uid+')');return false};if(contact.department===undefined)console.info('Locations Collection: department missing in custom contact (uid: '+contact.uid+', employeeUid: '+contact.employeeUid+')');if(oneMapData.departments[contact.department]===undefined)console.info('Locations Collection: department not assignable in custom contact (department: '+contact.department+', employeeUid: '+contact.employeeUid+')');contact=_.omit(contact,function(value,key){return value===''||value===null||key==='uid'||key==='name'});return contact});attributes=sanitizePrimitiveAttributes(attributes);attributesAreValidResult=attributesAreValid(attributes);if(attributesAreValidResult!==true){console.info(attributesAreValidResult[1]);return false};if(!attributes.routeLink)attributes.routeLink=buildRouteLink(attributes);if(attributes.url&&!/^https?:\/\//.test(attributes.url))attributes.url='https://'+attributes.url;return attributes});response=_.compact(response);return response},comparator:function(modelA,modelB){var self=this,attrLocationA=modelA.attributes,attrLocationB=modelB.attributes,resultByCountry=sortByCountry(attrLocationA,attrLocationB);if(resultByCountry===0){return sortByTypes(attrLocationA,attrLocationB)}else return resultByCountry
function sortByCountry(locationA,locationB){var locationACountry=locationA.country,locationBCountry=locationB.country;if(locationACountry===locationBCountry){return 0}else if(locationACountry===self.conf.sortByCountryUid){return-1}else return 1}
function sortByTypes(locationA,locationB){return sortByType(locationTypeSortingOrder[0])
function sortByType(type,idx){if(type===undefined)return 0;idx=idx===undefined?0:idx;var locationAHasType=locationA.types.indexOf(type)!==-1,locationBHasType=locationB.types.indexOf(type)!==-1;if(!locationAHasType&&!locationBHasType){idx+=1;return sortByType(locationTypeSortingOrder[idx],idx)}else if(locationAHasType){return-1}else return 1}}},getFilteredLocations:function(){return filterLocations(this.toJSONDeep(),currentBounds,activeLocationFilters)},mapAttributesToFullData:function(attributes){attributes=app.deepCopy(attributes);if(attributes.country!==null)attributes.country=oneMapData.countryCodes[attributes.country];attributes.types=_.map(attributes.types,function(locationTypeId){return oneMapData.locationTypes[locationTypeId]});return attributes},requestLocationData:function(){return this.fetch({reset:true,url:'typo3conf/ext/stillcontacts/Resources/Public/locationData.html',cache:false,dataType:'json',error:function(){console.error('locationData response error')}})}})
function filterLocations(locations,bounds,locationFilters){if(bounds===undefined)return locations;return _.filter(locations,function(location){var locationIsFiltered=_.intersection(location.types,locationFilters).length===0;if(locationIsFiltered)return false;return bounds.contains(new google.maps.LatLng(location.coordinates))})}
function buildRouteLink(locationData){if(!locationData)return;return'http://maps.google.com/maps?ll='+locationData.coordinates.lat+','+locationData.coordinates.lng+'&z=14&t=m&daddr='+locationData.address1+' '+locationData.city}
function sanitizePrimitiveAttributes(attributes,skipNull){attributes=app.deepCopy(attributes);return _.mapObject(attributes,function(value,key){if(skipNull===true&&value===null)return value;if(integerKeys.indexOf(key)!==-1)return parseInt(value);if(floatKeys.indexOf(key)!==-1)return parseFloat(value);if(stringKeys.indexOf(key)!==-1&&value!==null&&value!==undefined)return value.toString();if(numberArrayKeys.indexOf(key)!==-1)return _.map(value,function(value){return parseInt(value)});if(stringArrayKeys.indexOf(key)!==-1)return _.map(value,function(value){return value.toString()});if(booleanKeys.indexOf(key)!==-1){value=value==='true'?true:value;value=value==='false'?false:value;value=value===1?true:value;value=value===0?false:value};return value})}
function attributesAreValid(attributes){var errMsg,areValid=_.every(attributes,function(value,key,list){if(integerKeys.indexOf(key)!==-1&&isNaN(value)){errMsg=[key,key+' given, but not a number (uid: '+list.uid+')']}else if(floatKeys.indexOf(key)!==-1&&isNaN(value)){errMsg=[key,key+' given, but not a number (uid: '+list.uid+')']}else if(stringKeys.indexOf(key)!==-1&&!_.isString(value)){errMsg=[key,key+' given, but not a string (uid: '+list.uid+')']}else if(numberArrayKeys.indexOf(key)!==-1){if(!_.isArray(value)){errMsg=[key,key+' given, but not an array (uid: '+list.uid+')']}else _.every(value,function(valueArr,keyArr){if(isNaN(valueArr))errMsg=[key,key+' given, but item '+keyArr+' is not a number (uid: '+list.uid+')'];return errMsg===undefined})}else if(stringArrayKeys.indexOf(key)!==-1&&!_.isArray(value)){if(!_.isArray(value)){errMsg=[key,key+' given, but not an array (uid: '+list.uid+')']}else _.every(value,function(valueArr,keyArr){if(!_.isString(valueArr))errMsg=[key,key+' given, but item '+keyArr+' is not a number (uid: '+list.uid+')'];return errMsg===undefined})}else if(booleanKeys.indexOf(key)!==-1&&!_.isBoolean(value))errMsg=[key,key+' given, but not a boolean (uid: '+list.uid+')'];return errMsg===undefined});return areValid===true?true:errMsg};app.register(NAMESPACE,api)}(app));
(function(app){var NAMESPACE='oneMap.Collections.SalesRegions',defaults={},$=app.$,mediator,integerKeys=['uid','mainLocationUid','country'],floatKeys=[],stringKeys=[],numberArrayKeys=[],stringArrayKeys=['postCodes'],booleanKeys=[],oneMapData,api=Backbone.Collection.extend({initialize:function(salesRegions,options){this.conf=_.extend({},defaults,options);mediator=this.conf.mediator;oneMapData=this.conf.oneMapData;this.on('invalid',function(list,err){throw'SalesRegions collection - invalid model: '+err});this.on('reset',function(){var salesRegions=this.toJSONDeep();if(!salesRegions.length)return;mediator.trigger('salesRegionsChange',{salesRegions:salesRegions})});mediator.on('requestSalesRegionData',function(data){data.error=_.isFunction(data.error)?data.error:_.noop;data.uid=parseInt(data.uid);var countryCodeRaw=data.countryCode||_.findKey(oneMapData.countryCodes,function(value,key){return value===data.countryCodeMapped});countryCodeRaw=parseInt(countryCodeRaw);var targetModel;if(!isNaN(data.uid)){targetModel=this.get(data.uid)}else if(data.postCode!==undefined&&(data.countryCode!==undefined||data.countryCodeMapped!==undefined))targetModel=this.find(function(salesRegionModel){return salesRegionModel.attributes.postCodes.indexOf(data.postCode)!==-1&&salesRegionModel.attributes.country===countryCodeRaw});if(!targetModel){data.error()}else data.success(app.deepCopy(targetModel.toJSON()))},this);mediator.on('appReady',function(){if(!salesRegions||!salesRegions.length);else this.trigger('reset')},this)},toJSONDeep:function(){return _.map(this.toJSON(),app.deepCopy)},parse:function(response,options){response=_.map(response,function(attributes,key){var attributesAreValidResult;attributes.mainLocationUid=attributes.mainLocationUid||attributes.mainLocationId;delete attributes.mainLocationId;if(attributes.uid===undefined){console.info('SalesRegions Collection: uid missing in some sales region');return false};if(attributes.postCodes===undefined){console.info('SalesRegions Collection: postCodes missing ('+attributes.uid+')');return false};if(attributes.mainLocationUid===undefined){console.info('SalesRegions Collection: mainLocationUid missing ('+attributes.uid+')');return false};if(attributes.contacts===undefined||!attributes.contacts.length){console.info('SalesRegions Collection: contacts missing or empty ('+attributes.uid+')');return false};attributes.contacts=_.map(attributes.contacts,function(contact){if(contact.employeeUid===undefined){console.info('Contacts Collection: employee uid missing in custom contact (uid: '+contact.uid+')');return false};contact=_.omit(contact,function(value,key){return value===''||value===null||['uid','isMainContact'].indexOf(key)!==-1});return contact});if(typeof attributes.postCodes==='string')attributes.postCodes=attributes.postCodes.split(',');attributes=sanitizePrimitiveAttributes(attributes);attributesAreValidResult=attributesAreValid(attributes);if(attributesAreValidResult!==true){console.info(attributesAreValidResult[1]);return false};return attributes});response=_.compact(response);return response},requestSalesRegionData:function(){return this.fetch({reset:true,url:'typo3conf/ext/stillcontacts/Resources/Public/salesRegionData.html',cache:false,dataType:'json',error:function(){console.error('salesRegionsData response error')}})}})
function sanitizePrimitiveAttributes(attributes,skipNull){attributes=app.deepCopy(attributes);return _.mapObject(attributes,function(value,key){if(skipNull===true&&value===null)return value;if(integerKeys.indexOf(key)!==-1)return parseInt(value);if(floatKeys.indexOf(key)!==-1)return parseFloat(value);if(stringKeys.indexOf(key)!==-1&&value!==null&&value!==undefined)return value.toString();if(numberArrayKeys.indexOf(key)!==-1)return _.map(value,function(value){return parseInt(value)});if(stringArrayKeys.indexOf(key)!==-1)return _.map(value,function(value){return value.toString()});if(booleanKeys.indexOf(key)!==-1){value=value==='true'?true:value;value=value==='false'?false:value;value=value===1?true:value;value=value===0?false:value};return value})}
function attributesAreValid(attributes){var errMsg,areValid=_.every(attributes,function(value,key,list){if(integerKeys.indexOf(key)!==-1&&isNaN(value)){errMsg=[key,key+' given, but not a number (uid: '+list.uid+')']}else if(floatKeys.indexOf(key)!==-1&&isNaN(value)){errMsg=[key,key+' given, but not a number (uid: '+list.uid+')']}else if(stringKeys.indexOf(key)!==-1&&!_.isString(value)){errMsg=[key,key+' given, but not a string (uid: '+list.uid+')']}else if(numberArrayKeys.indexOf(key)!==-1){if(!_.isArray(value)){errMsg=[key,key+' given, but not an array (uid: '+list.uid+')']}else _.every(value,function(valueArr,keyArr){if(isNaN(valueArr))errMsg=[key,key+' given, but item '+keyArr+' is not a number (uid: '+list.uid+')'];return errMsg===undefined})}else if(stringArrayKeys.indexOf(key)!==-1&&!_.isArray(value)){if(!_.isArray(value)){errMsg=[key,key+' given, but not an array (uid: '+list.uid+')']}else _.every(value,function(valueArr,keyArr){if(!_.isString(valueArr))errMsg=[key,key+' given, but item '+keyArr+' is not a number (uid: '+list.uid+')'];return errMsg===undefined})}else if(booleanKeys.indexOf(key)!==-1&&!_.isBoolean(value))errMsg=[key,key+' given, but not a boolean (uid: '+list.uid+')'];return errMsg===undefined});return areValid===true?true:errMsg};app.register(NAMESPACE,api)}(app));
(function(app){var NAMESPACE='oneMap.Collections.BranchRegions',defaults={},$=app.$,mediator,integerKeys=['mainLocationUid'],floatKeys=[],stringKeys=[],numberArrayKeys=['salesRegionUids','locationUids'],stringArrayKeys=[],booleanKeys=[],api=Backbone.Collection.extend({initialize:function(branchRegions,options){this.conf=_.extend({},defaults,options);mediator=this.conf.mediator;var self=this;this.on('invalid',function(list,err){throw'BranchRegions collection - invalid model: '+err});this.on('reset',function(){var branchRegions=this.toJSONDeep();if(!branchRegions.length)return;mediator.trigger('branchRegionsChange',{branchRegions:branchRegions})});mediator.on('requestBranchRegionData',function(data){data.error=_.isFunction(data.error)?data.error:_.noop;data.uid=parseInt(data.uid);var self=this,targetModel;if(!isNaN(data.uid)){targetModel=this.get(data.uid);if(!targetModel){data.error()}else data.success(app.deepCopy(targetModel.toJSON()))}else if(data.postCode&&data.countryCodeMapped)mediator.trigger('requestSalesRegionData',{postCode:data.postCode,countryCodeMapped:data.countryCodeMapped,success:function(salesRegionData){targetModel=self.findWhere({mainLocationUid:salesRegionData.mainLocationUid});if(!targetModel){data.error()}else data.success(app.deepCopy(targetModel.toJSON()))},error:function(){data.error()}})},this)},toJSONDeep:function(){return _.map(this.toJSON(),app.deepCopy)},parse:function(response,options){response=_.map(response,function(attributes,key){var attributesAreValidResult;if(attributes.mainLocationUid===undefined){console.info('BranchRegions Collection: mainLocationUid missing');return false};attributes=sanitizePrimitiveAttributes(attributes);attributesAreValidResult=attributesAreValid(attributes);if(attributesAreValidResult!==true){console.info(attributesAreValidResult[1]);return false};return attributes});response=_.compact(response);return response}})
function sanitizePrimitiveAttributes(attributes,skipNull){attributes=app.deepCopy(attributes);return _.mapObject(attributes,function(value,key){if(skipNull===true&&value===null)return value;if(integerKeys.indexOf(key)!==-1)return parseInt(value);if(floatKeys.indexOf(key)!==-1)return parseFloat(value);if(stringKeys.indexOf(key)!==-1&&value!==null&&value!==undefined)return value.toString();if(numberArrayKeys.indexOf(key)!==-1)return _.map(value,function(value){return parseInt(value)});if(stringArrayKeys.indexOf(key)!==-1)return _.map(value,function(value){return value.toString()});if(booleanKeys.indexOf(key)!==-1){value=value==='true'?true:value;value=value==='false'?false:value;value=value===1?true:value;value=value===0?false:value};return value})}
function attributesAreValid(attributes){var errMsg,areValid=_.every(attributes,function(value,key,list){if(integerKeys.indexOf(key)!==-1&&isNaN(value)){errMsg=[key,key+' given, but not a number (uid: '+list.uid+')']}else if(floatKeys.indexOf(key)!==-1&&isNaN(value)){errMsg=[key,key+' given, but not a number (uid: '+list.uid+')']}else if(stringKeys.indexOf(key)!==-1&&!_.isString(value)){errMsg=[key,key+' given, but not a string (uid: '+list.uid+')']}else if(numberArrayKeys.indexOf(key)!==-1){if(!_.isArray(value)){errMsg=[key,key+' given, but not an array (uid: '+list.uid+')']}else _.every(value,function(valueArr,keyArr){if(isNaN(valueArr))errMsg=[key,key+' given, but item '+keyArr+' is not a number (uid: '+list.uid+')'];return errMsg===undefined})}else if(stringArrayKeys.indexOf(key)!==-1&&!_.isArray(value)){if(!_.isArray(value)){errMsg=[key,key+' given, but not an array (uid: '+list.uid+')']}else _.every(value,function(valueArr,keyArr){if(!_.isString(valueArr))errMsg=[key,key+' given, but item '+keyArr+' is not a number (uid: '+list.uid+')'];return errMsg===undefined})}else if(booleanKeys.indexOf(key)!==-1&&!_.isBoolean(value))errMsg=[key,key+' given, but not a boolean (uid: '+list.uid+')'];return errMsg===undefined});return areValid===true?true:errMsg};app.register(NAMESPACE,api)}(app));
